From 3eeaaaad18fb00b3b61a7875bae103400a263978 Mon Sep 17 00:00:00 2001 From: dcz <dcz@ipipan.waw.pl> Date: Thu, 30 Jun 2022 07:28:14 +0200 Subject: [PATCH] List element selection --- .../entries/js/components/LexicalUnitEdit.js | 4 ++- .../js/components/UnificationRightPane.js | 25 +++++++++++++------ entries/static/entries/js/components/main.js | 12 +++++++-- 3 files changed, 31 insertions(+), 10 deletions(-) diff --git a/entries/static/entries/js/components/LexicalUnitEdit.js b/entries/static/entries/js/components/LexicalUnitEdit.js index c7e26ff..e84294f 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 0b3a52d..fd35468 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 5804914..6b4387b 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> ` }; -- GitLab