diff --git a/client/src/components/Collections/ListCollectionCreator.vue b/client/src/components/Collections/ListCollectionCreator.vue index 2f9acfc8c3e..545c8663fbb 100644 --- a/client/src/components/Collections/ListCollectionCreator.vue +++ b/client/src/components/Collections/ListCollectionCreator.vue @@ -213,13 +213,8 @@ library.add(faSortAlphaDown, faUndo); Vue.use(BootstrapVue); export default { - mixins: [mixin], - created() { - this._instanceSetUp(); - this._elementsSetUp(); - this.saveOriginalNames(); - }, components: { DatasetCollectionElementView, draggable, FontAwesomeIcon }, + mixins: [mixin], data: function () { return { state: "build", //error @@ -274,6 +269,11 @@ export default { return this.duplicateNames.length > 0; }, }, + created() { + this._instanceSetUp(); + this._elementsSetUp(); + this.saveOriginalNames(); + }, methods: { l(str) { // _l conflicts private methods of Vue internals, expose as l instead diff --git a/client/src/components/Collections/ListDatasetCollectionElementView.vue b/client/src/components/Collections/ListDatasetCollectionElementView.vue index b9638404b76..2e6d0bb1d66 100644 --- a/client/src/components/Collections/ListDatasetCollectionElementView.vue +++ b/client/src/components/Collections/ListDatasetCollectionElementView.vue @@ -11,9 +11,7 @@ import _l from "utils/localization"; import ClickToEdit from "./common/ClickToEdit"; export default { - created: function () { - this.elementName = this.element.name; - }, + components: { ClickToEdit }, props: { element: { required: true, @@ -27,7 +25,14 @@ export default { elementName: "", }; }, - components: { ClickToEdit }, + watch: { + elementName() { + this.$emit("onRename", this.elementName); + }, + }, + created: function () { + this.elementName = this.element.name; + }, methods: { l(str) { // _l conflicts private methods of Vue internals, expose as l instead @@ -41,11 +46,6 @@ export default { return "ListDatasetCollectionElementView()"; }, }, - watch: { - elementName() { - this.$emit("onRename", this.elementName); - }, - }, }; diff --git a/client/src/components/Collections/PairCollectionCreator.vue b/client/src/components/Collections/PairCollectionCreator.vue index eb3517d4393..3afefe4d07c 100644 --- a/client/src/components/Collections/PairCollectionCreator.vue +++ b/client/src/components/Collections/PairCollectionCreator.vue @@ -158,14 +158,6 @@ import BootstrapVue from "bootstrap-vue"; Vue.use(BootstrapVue); export default { mixins: [mixin], - created() { - this._elementsSetUp(); - this.initialSuggestedName = this._guessNameForPair( - this.workingElements[0], - this.workingElements[1], - this.removeExtensions - ); - }, data: function () { return { state: "build", //error @@ -201,6 +193,14 @@ export default { return this.workingElements.length == 2; }, }, + created() { + this._elementsSetUp(); + this.initialSuggestedName = this._guessNameForPair( + this.workingElements[0], + this.workingElements[1], + this.removeExtensions + ); + }, methods: { l(str) { // _l conflicts private methods of Vue internals, expose as l instead diff --git a/client/src/components/Collections/PairedElementView.vue b/client/src/components/Collections/PairedElementView.vue index a742f3eb900..22e1af316bf 100644 --- a/client/src/components/Collections/PairedElementView.vue +++ b/client/src/components/Collections/PairedElementView.vue @@ -19,16 +19,6 @@ import ClickToEdit from "./common/ClickToEdit.vue"; import _l from "utils/localization"; export default { components: { ClickToEdit }, - created: function () { - this.name = this.pair.name; - }, - data: function () { - return { - unpairButtonTitle: _l("Unpair"), - titlePairName: _l("Click to rename"), - name: "", - }; - }, props: { pair: { required: true, @@ -38,11 +28,12 @@ export default { type: Function, }, }, - methods: { - l(str) { - // _l conflicts private methods of Vue internals, expose as l instead - return _l(str); - }, + data: function () { + return { + unpairButtonTitle: _l("Unpair"), + titlePairName: _l("Click to rename"), + name: "", + }; }, watch: { pair() { @@ -52,5 +43,14 @@ export default { this.$emit("onPairRename", this.name); }, }, + created: function () { + this.name = this.pair.name; + }, + methods: { + l(str) { + // _l conflicts private methods of Vue internals, expose as l instead + return _l(str); + }, + }, }; diff --git a/client/src/components/Collections/PairedListCollectionCreator.vue b/client/src/components/Collections/PairedListCollectionCreator.vue index 36238198529..b9b9bfff122 100644 --- a/client/src/components/Collections/PairedListCollectionCreator.vue +++ b/client/src/components/Collections/PairedListCollectionCreator.vue @@ -422,15 +422,6 @@ import BootstrapVue from "bootstrap-vue"; Vue.use(BootstrapVue); export default { - mixins: [mixin], - created() { - this.strategy = this.autopairLCS; - //TODO convert to Fwd/Rev - // Setup inital filters and shallow copy the items - this.forwardFilter = this.commonFilters[this.DEFAULT_FILTERS][0]; - this.reverseFilter = this.commonFilters[this.DEFAULT_FILTERS][1]; - this._elementsSetUp(); - }, components: { UnpairedDatasetElementView, PairedElementView, @@ -438,6 +429,7 @@ export default { Pane, draggable, }, + mixins: [mixin], data: function () { return { state: "build", //error, duplicates @@ -533,6 +525,79 @@ export default { duplicatePairNames: [], }; }, + computed: { + forwardElements: { + get() { + return this.filterElements(this.workingElements, this.forwardFilter); + }, + }, + reverseElements: { + get() { + return this.filterElements(this.workingElements, this.reverseFilter); + }, + }, + pairableElements: { + get() { + var pairable = []; + this.forwardElements.forEach((elem, index) => { + if (this.reverseElements[index] && elem.id != this.reverseElements[index].id) { + pairable.push({ + forward: this.forwardElements[index], + reverse: this.reverseElements[index], + }); + } + }); + return pairable; + }, + }, + numOfUnpairedForwardElements: function () { + return this.forwardElements.length; + }, + numOfFilteredOutForwardElements: function () { + return this.workingElements.length - this.numOfUnpairedForwardElements; + }, + numOfUnpairedReverseElements: function () { + return this.reverseElements.length; + }, + numOfFilteredOutReverseElements: function () { + return this.workingElements.length - this.numOfUnpairedReverseElements; + }, + numOfPairs: function () { + return this.pairedElements.length; + }, + returnInvalidElementsLength: function () { + return this.invalidElements.length > 0; + }, + returnInvalidElements: function () { + return this.invalidElements; + }, + allElementsAreInvalid: function () { + return this.initialElements.length == this.invalidElements.length; + }, + noElementsSelected: function () { + return this.initialElements.length == 0; + }, + tooFewElementsSelected: function () { + return this.workingElements.length < 2 && this.pairedElements.length == 0; + }, + showDuplicateError() { + return this.duplicatePairNames.length > 0; + }, + noUnpairedElementsDisplayed() { + return this.numOfUnpairedForwardElements + this.numOfUnpairedReverseElements == 0; + }, + renderPairButton() { + return this; + }, + }, + created() { + this.strategy = this.autopairLCS; + //TODO convert to Fwd/Rev + // Setup inital filters and shallow copy the items + this.forwardFilter = this.commonFilters[this.DEFAULT_FILTERS][0]; + this.reverseFilter = this.commonFilters[this.DEFAULT_FILTERS][1]; + this._elementsSetUp(); + }, methods: { l(str) { // _l conflicts private methods of Vue internals, expose as l instead @@ -947,71 +1012,6 @@ export default { return name.includes(".") ? name.substring(0, name.lastIndexOf(".")) : name; }, }, - computed: { - forwardElements: { - get() { - return this.filterElements(this.workingElements, this.forwardFilter); - }, - }, - reverseElements: { - get() { - return this.filterElements(this.workingElements, this.reverseFilter); - }, - }, - pairableElements: { - get() { - var pairable = []; - this.forwardElements.forEach((elem, index) => { - if (this.reverseElements[index] && elem.id != this.reverseElements[index].id) { - pairable.push({ - forward: this.forwardElements[index], - reverse: this.reverseElements[index], - }); - } - }); - return pairable; - }, - }, - numOfUnpairedForwardElements: function () { - return this.forwardElements.length; - }, - numOfFilteredOutForwardElements: function () { - return this.workingElements.length - this.numOfUnpairedForwardElements; - }, - numOfUnpairedReverseElements: function () { - return this.reverseElements.length; - }, - numOfFilteredOutReverseElements: function () { - return this.workingElements.length - this.numOfUnpairedReverseElements; - }, - numOfPairs: function () { - return this.pairedElements.length; - }, - returnInvalidElementsLength: function () { - return this.invalidElements.length > 0; - }, - returnInvalidElements: function () { - return this.invalidElements; - }, - allElementsAreInvalid: function () { - return this.initialElements.length == this.invalidElements.length; - }, - noElementsSelected: function () { - return this.initialElements.length == 0; - }, - tooFewElementsSelected: function () { - return this.workingElements.length < 2 && this.pairedElements.length == 0; - }, - showDuplicateError() { - return this.duplicatePairNames.length > 0; - }, - noUnpairedElementsDisplayed() { - return this.numOfUnpairedForwardElements + this.numOfUnpairedReverseElements == 0; - }, - renderPairButton() { - return this; - }, - }, };