diff --git a/entries/static/entries/js/components/LexicalUnitEdit.js b/entries/static/entries/js/components/LexicalUnitEdit.js index c7e26ff230c032ee876958ad3d65b3df63f288b6..e84294f8dea075482d532a0e84c368a62dd53897 100644 --- a/entries/static/entries/js/components/LexicalUnitEdit.js +++ b/entries/static/entries/js/components/LexicalUnitEdit.js @@ -721,7 +721,9 @@ Object.assign(LexicalUnitEdit, { }, }); } - this.loadFrame(); + if(this.unifiedFrameId) { + this.loadFrame(); + } }, template: ` <div class="col h-100 px-1 pt-0 pb-0 overflow-auto" id="semantics-frames-pane"> diff --git a/entries/static/entries/js/components/UnificationRightPane.js b/entries/static/entries/js/components/UnificationRightPane.js index 0b3a52d1d00508f8a2bed7d99097409aed65c4f2..fd35468206879e80858fe742d0d12cc42485a703 100644 --- a/entries/static/entries/js/components/UnificationRightPane.js +++ b/entries/static/entries/js/components/UnificationRightPane.js @@ -6,6 +6,8 @@ export default { props: { entryId: Number, lexicalUnitId: Number, + initialUnifiedFrameId: Number, + initialIsEdit: false, }, data () { return this.getInitialData(); @@ -13,9 +15,10 @@ export default { methods: { getInitialData () { return { - isEdit: false, + isEdit: this.initialIsEdit, key: this.lexicalUnitId, - unifiedFrameId: null, + entryIdLocal: this.entryId, + unifiedFrameId: this.initialUnifiedFrameId, previewedUnifiedFrameId: null }; }, @@ -40,21 +43,29 @@ export default { } }, watch: { + initialIsEdit () { + Object.assign(this, this.getInitialData()); + }, lexicalUnitId () { Object.assign(this, this.getInitialData()); + }, + initialUnifiedFrameId () { + Object.assign(this, this.getInitialData()); } }, template: ` - <div v-if="key" :key="key" class="row h-100 m-0 p-0 overflow-auto" id="semantics-top-pane"> + <div v-if="key || unifiedFrameId" :key="(key, entryIdLocal, unifiedFrameId, isEdit)" class="row h-100 m-0 p-0 overflow-auto" id="semantics-top-pane"> <lexical-unit-display - v-if="lexicalUnitId && !isEdit" - :entryId="entryId" - :lexicalUnitId="lexicalUnitId" + v-if="key && !isEdit" + :key="key" + :entryId="entryIdLocal" + :lexicalUnitId="key" @go-to-edit="goToEdit" @refresh="refresh" /> <lexical-unit-edit - v-if="isEdit" + v-if="unifiedFrameId && isEdit" + :key="unifiedFrameId" :readOnly="false" :unifiedFrameId="unifiedFrameId" :previewedUnifiedFrameId="previewedUnifiedFrameId" diff --git a/entries/static/entries/js/components/main.js b/entries/static/entries/js/components/main.js index 580491420577cd6125b7fb213ca3e65173842ad9..6b4387b46de8a82c1cacc1fe1ae30f0fcc80743e 100644 --- a/entries/static/entries/js/components/main.js +++ b/entries/static/entries/js/components/main.js @@ -6,6 +6,8 @@ export default { return { entryId: null, lexicalUnitId: null, + unifiedFrameId: null, + isEdit: false }; }, components: {UnificationSwitchableList, UnificationRightPane}, @@ -13,9 +15,11 @@ export default { lexicalUnitSelected (entryId, lexicalUnitId) { this.entryId = entryId; this.lexicalUnitId = lexicalUnitId; + this.isEdit = false; }, unifiedFrameSelected (unifiedFrameId) { - alert("Wybrano ramÄ™ " + unifiedFrameId); + this.unifiedFrameId = unifiedFrameId; + this.isEdit = true; } }, template: ` @@ -28,7 +32,11 @@ export default { </div> </div> <div id="entry-display" class="col h-100 p-0"> - <unification-right-pane :entryId="entryId" :lexicalUnitId="lexicalUnitId" /> + <unification-right-pane + :entryId="entryId" + :lexicalUnitId="lexicalUnitId" + :initialUnifiedFrameId="unifiedFrameId" + :initialIsEdit="isEdit" /> </div> ` };