From e8e009bde05a75369e0ce50727e927871ea0454a Mon Sep 17 00:00:00 2001 From: dcz2 <dcz@ipipan.waw.pl> Date: Fri, 1 Jul 2022 21:31:12 +0200 Subject: [PATCH] Redirection from the display to the edit page --- .../entries/js/components/LexicalUnitDisplay.js | 11 +++++++---- entries/static/entries/js/components/Unification.js | 10 ++++++++-- .../entries/js/components/UnificationRightPane.js | 6 ------ entries/static/entries/js/entries.js | 2 +- entries/templates/unification.html | 8 ++++++++ entries/views.py | 1 + 6 files changed, 25 insertions(+), 13 deletions(-) diff --git a/entries/static/entries/js/components/LexicalUnitDisplay.js b/entries/static/entries/js/components/LexicalUnitDisplay.js index da0ec6b..6905a4d 100644 --- a/entries/static/entries/js/components/LexicalUnitDisplay.js +++ b/entries/static/entries/js/components/LexicalUnitDisplay.js @@ -9,8 +9,11 @@ export default { data() { return { frame: null, unifiedFrame: undefined, gettext: window.gettext, hasPermission: window.has_permission } }, - emits: ['goToEdit', 'refresh'], + emits: ['refresh'], methods: { + goToEdit (unifiedFrameId) { + window.location = `/${lang}/entries/unification?unified_frame_id=${unifiedFrameId}`; + }, markAsInvalid () { $.ajax({ type: 'post', @@ -27,7 +30,7 @@ export default { timeout : 60000, success: function (response) { show_info('Rama została stworzona oraz przypisana użytkownikowi.'); - this.$emit('goToEdit', response.unified_frame_id); + this.goToEdit(response.unified_frame_id); }.bind(this), error: function (request, errorType, errorMessage) { show_error(errorType + ' (' + errorMessage + ')'); @@ -99,14 +102,14 @@ export default { <a class="btn btn-sm btn-outline-dark mr-2" v-if="isReadyToProcess()" - @click="$emit('goToEdit', this.unifiedFrame.pk)" + @click="goToEdit(this.unifiedFrame.pk)" > {{ isLeksykograf() ? gettext('Obrabiaj') : gettext('Sprawdź') }} </a> <a class="btn btn-sm btn-outline-dark mr-2" v-if="frame?.status === 'S' && unifiedFrame?.status === 'S'" - @click="$emit('goToEdit', this.unifiedFrame.pk)" + @click="goToEdit(this.unifiedFrame.pk)" > {{ gettext('Obejrzyj') }} </a> diff --git a/entries/static/entries/js/components/Unification.js b/entries/static/entries/js/components/Unification.js index cf67c46..b79487c 100644 --- a/entries/static/entries/js/components/Unification.js +++ b/entries/static/entries/js/components/Unification.js @@ -19,8 +19,13 @@ export default { this.isEdit = false; }, unifiedFrameSelected (unifiedFrameId) { - this.unifiedFrameId = unifiedFrameId; this.isEdit = true; + this.unifiedFrameId = unifiedFrameId; + }, + }, + mounted () { + if (window.initialUnifiedFrameId) { + setTimeout(() => { this.unifiedFrameSelected(window.initialUnifiedFrameId); }, 1000); } }, template: ` @@ -37,7 +42,8 @@ export default { :entryId="entryId" :lexicalUnitId="lexicalUnitId" :initialUnifiedFrameId="unifiedFrameId" - :initialIsEdit="isEdit" /> + :initialIsEdit="isEdit" + /> </div> ` }; diff --git a/entries/static/entries/js/components/UnificationRightPane.js b/entries/static/entries/js/components/UnificationRightPane.js index fd35468..3e63504 100644 --- a/entries/static/entries/js/components/UnificationRightPane.js +++ b/entries/static/entries/js/components/UnificationRightPane.js @@ -22,11 +22,6 @@ export default { previewedUnifiedFrameId: null }; }, - goToEdit (unifiedFrameId) { - this.isEdit = true; - this.unifiedFrameId = unifiedFrameId; - this.previewedUnifiedFrameId = -1; - }, goToDisplay () { this.isEdit = false; this.unifiedFrameId = null; @@ -60,7 +55,6 @@ export default { :key="key" :entryId="entryIdLocal" :lexicalUnitId="key" - @go-to-edit="goToEdit" @refresh="refresh" /> <lexical-unit-edit diff --git a/entries/static/entries/js/entries.js b/entries/static/entries/js/entries.js index 1bbaad7..afb2f11 100644 --- a/entries/static/entries/js/entries.js +++ b/entries/static/entries/js/entries.js @@ -1109,7 +1109,7 @@ $(document).ready(function() { }, }); - $('#semantics-top-pane').length && Split(['#semantics-top-pane', '#semantics-examples-pane'], { + $('#semantics-top-pane').length && $('#semantics-examples-pane').length && Split(['#semantics-top-pane', '#semantics-examples-pane'], { direction: 'vertical', sizes: [75, 25], gutterSize: 4, diff --git a/entries/templates/unification.html b/entries/templates/unification.html index 349d0b2..9bf5d2f 100644 --- a/entries/templates/unification.html +++ b/entries/templates/unification.html @@ -15,9 +15,17 @@ <script src="{% static 'entries/js/selectional_preference.js' %}"></script> <script src="{% static 'entries/js/jquery-impromptu.min.js' %}"></script> <script src="https://unpkg.com/vue@3"></script> + <script> + window.initialUnifiedFrameId = {{ unified_frame_id|default:'null' }}; + </script> <script type="module" src="{% static 'entries/js/unification_index.js' %}"></script> {% endblock %} +{% block left_pane %}<div id="unification-left-pane"></div>{% endblock %} + +{% block right_pane %}{% include "unification_lexical_unit_display.html" %}{% endblock %} + + {% block content %} <div id="lexical-unit-notes-template" class="d-none">{% include 'notes.html' %}</div> <div id="vue-app" class="row h-100 m-0 p-0 bg-secondary"></div> diff --git a/entries/views.py b/entries/views.py index 8bafae5..d69fd47 100644 --- a/entries/views.py +++ b/entries/views.py @@ -76,6 +76,7 @@ def unification(request): request, 'unification.html', { + 'unified_frame_id': request.GET.get("unified_frame_id"), 'entries_form' : EntryForm(), 'frames_form': FrameFormFactory.get_form(as_subform=False), 'schemata_form': SchemaFormFactory.get_form(as_subform=False) -- GitLab