From 17714c542b39b67ad5b061bfbb64d2c000fcd64c Mon Sep 17 00:00:00 2001 From: Hugo Zilliox Date: Tue, 27 Dec 2022 23:58:11 +0100 Subject: [PATCH] JSToolbar fixed (#100) --- README.md | 1 + assets/javascripts/issue_dynamic_edit.js | 9 +++++++-- assets/stylesheets/issue_dynamic_edit.css | 2 ++ lib/details_issue_hooks.rb | 8 +++++--- 4 files changed, 15 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 7523565..1caa06f 100644 --- a/README.md +++ b/README.md @@ -37,6 +37,7 @@ Feel free to edit `assets/stylesheets/issue_dynamic_edit.css` to update the look ### 🆕 Changelog +* **v 0.9.2** : JSToolbar fixed (#100) * **v 0.9.1** : Check version improved (avoiding update conflicts) : using [Redmine REST API](https://www.redmine.org/projects/redmine/wiki/rest_issues) and disabling check when tab is not focused (#97) * **v 0.9.0** : JS rewritten to remove jQuery code * **v 0.8.1** : fixed Github issue #89 : Issue version check (AJAX call) may give glitch while editing text + disable global event listener on ajaxSend diff --git a/assets/javascripts/issue_dynamic_edit.js b/assets/javascripts/issue_dynamic_edit.js index ba21433..21bf318 100644 --- a/assets/javascripts/issue_dynamic_edit.js +++ b/assets/javascripts/issue_dynamic_edit.js @@ -180,7 +180,10 @@ const cloneEditForm = function(){ cfg.height = 100; CKEDITOR.replace("issue_description_dynamic", cfg) }else if (typeof(jsToolBar) === typeof(Function)) { - const wikiToolbar = new jsToolBar(document.querySelector('#issue_description_dynamic')); wikiToolbar.draw(); + const DynamicDescriptionToolbar = new jsToolBar(document.querySelector('#issue_description_dynamic')); + DynamicDescriptionToolbar.setHelpLink('/help/en/wiki_syntax_common_mark.html'); + DynamicDescriptionToolbar.setPreviewUrl('/issues/preview?issue_id=' + _ISSUE_ID + '&project_id=' + _PROJECT_ID); + DynamicDescriptionToolbar.draw(); } } @@ -319,7 +322,6 @@ const checkVersion = function(callback){ } if(callback) getVersion(callback); } else { - if(document.querySelector('#content .conflict')) document.querySelector('#content .conflict').remove(); if(callback) callback(parseInt(document.querySelector('#issue_lock_version').value)); } } catch (e) { @@ -423,6 +425,9 @@ let sendData = function(serialized_data){ setCSRFTokenInput(doc.querySelector('input[name="authenticity_token"]').value); updateCSRFToken(doc.querySelector('input[name="authenticity_token"]').value); + + /* Once we've updated our issue, we have to reset the loadedDate to now to be up to date with the check version */ + loadedDate = new Date(); setCheckVersionInterval(true); } else { callError(this.status); diff --git a/assets/stylesheets/issue_dynamic_edit.css b/assets/stylesheets/issue_dynamic_edit.css index f4573af..583a0e9 100644 --- a/assets/stylesheets/issue_dynamic_edit.css +++ b/assets/stylesheets/issue_dynamic_edit.css @@ -78,6 +78,8 @@ body.controller-issues.action-show .dynamicEditField.open { opacity: 1; z-index: 999; pointer-events: auto; + resize: horizontal; + overflow: auto; } body.controller-issues.action-show #TitleInput.dynamicEditField { diff --git a/lib/details_issue_hooks.rb b/lib/details_issue_hooks.rb index 91a7566..bcab8bf 100644 --- a/lib/details_issue_hooks.rb +++ b/lib/details_issue_hooks.rb @@ -26,9 +26,11 @@ class DetailsIssueHooks < Redmine::Hook::ViewListener def view_issues_show_details_bottom(context) content = "\n" content << "