From 257e9f506e50690176d071ad43a27ddc66fbd21d Mon Sep 17 00:00:00 2001 From: sandeepsajan0 <sandeepsajan0@gmail.com> Date: Tue, 10 May 2022 16:36:41 +0530 Subject: [PATCH] Update determination-template script with streamform compatibility --- .../templates/determinations/base_determination_form.html | 1 + hypha/apply/determinations/views.py | 5 +++++ .../src/javascript/apply/determination-template.js | 6 ++++-- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/hypha/apply/determinations/templates/determinations/base_determination_form.html b/hypha/apply/determinations/templates/determinations/base_determination_form.html index 947c1fe4e..510c1d553 100644 --- a/hypha/apply/determinations/templates/determinations/base_determination_form.html +++ b/hypha/apply/determinations/templates/determinations/base_determination_form.html @@ -60,5 +60,6 @@ {% endblock %} {% block extra_js %} + {{ field_blocks_ids|json_script:"block-ids" }} <script src="{% static 'js/apply/determination-template.js' %}"></script> {% endblock %} diff --git a/hypha/apply/determinations/views.py b/hypha/apply/determinations/views.py index c75fd1195..f325371ce 100644 --- a/hypha/apply/determinations/views.py +++ b/hypha/apply/determinations/views.py @@ -308,9 +308,14 @@ class DeterminationCreateOrUpdateView(BaseStreamForm, CreateOrUpdateView): site = Site.find_for_request(self.request) determination_messages = DeterminationMessageSettings.for_site(site) + field_blocks_ids = {} + for field_block in self.get_defined_fields(): + field_blocks_ids[field_block.block_type] = field_block.id + return super().get_context_data( submission=self.submission, message_templates=determination_messages.get_for_stage(self.submission.stage.name), + field_blocks_ids=field_blocks_ids, **kwargs ) diff --git a/hypha/static_src/src/javascript/apply/determination-template.js b/hypha/static_src/src/javascript/apply/determination-template.js index 092e2ce55..a243faa3d 100644 --- a/hypha/static_src/src/javascript/apply/determination-template.js +++ b/hypha/static_src/src/javascript/apply/determination-template.js @@ -1,10 +1,11 @@ (function ($) { 'use strict'; + const field_blocks_ids = JSON.parse(document.getElementById('block-ids').textContent); let DeterminationCopy = class { static selector() { - return '#id_outcome'; + return ('#id_' + field_blocks_ids['determination']); } constructor(node) { @@ -32,7 +33,8 @@ } updateTextArea(text) { - window.tinyMCE.get('id_message').setContent(text); + this.message_box = document.querySelector('#id_' + field_blocks_ids['message'] + '_ifr'); + this.message_box.contentDocument.getElementsByTagName('body')[0].innerHTML = text; } }; -- GitLab