diff --git a/entries/static/entries/js/components/LexicalUnitDisplay.js b/entries/static/entries/js/components/LexicalUnitDisplay.js index da0ec6bfa9be2052d582050b9600218f7f060e4e..6905a4d674184df7dd9811b71025928f286f65ce 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 cf67c467916e66d7bb8b0986efaca05fa9f3bb70..b79487c515f6019e8b79668597dd22481167c7d2 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 fd35468206879e80858fe742d0d12cc42485a703..3e635049d3bacc5ee08f58ebad1e8b5bc7b00a63 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 1bbaad713ed26d0f6271e43fe2f222dfbfc4be7f..afb2f1155386f166c2783a79928ca130d7d8ce71 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 349d0b23fca215ee5f08472cf62c5c56a02a7b96..9bf5d2f6057437c72c936c72f352e3de732ada71 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 8bafae57aea97f2f9ddde4d4132ad8732cb7f7a4..d69fd47df7de846184a42605632d4446d63c52ad 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)