nodebb-plugin-composer-default 10.0.47 → 10.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nodebb-plugin-composer-default",
3
- "version": "10.0.47",
3
+ "version": "10.1.0",
4
4
  "description": "Default composer for NodeBB",
5
5
  "main": "library.js",
6
6
  "repository": {
Binary file
Binary file
@@ -1,6 +1,11 @@
1
1
  'use strict';
2
2
 
3
- define('composer/scheduler', ['benchpress', 'bootbox', 'alerts'], function (Benchpress, bootbox, alerts) {
3
+ define('composer/scheduler', ['benchpress', 'bootbox', 'alerts', 'translator'], function (
4
+ Benchpress,
5
+ bootbox,
6
+ alerts,
7
+ translator
8
+ ) {
4
9
  const scheduler = {};
5
10
  const state = {
6
11
  timestamp: 0,
@@ -10,9 +15,16 @@ define('composer/scheduler', ['benchpress', 'bootbox', 'alerts'], function (Benc
10
15
  };
11
16
  let displayBtnCons = [];
12
17
  let displayBtns;
18
+ let cancelBtn;
13
19
  let submitContainer;
14
20
  let submitOptionsCon;
15
21
 
22
+ const dropdownDisplayBtn = {
23
+ el: null,
24
+ defaultText: '',
25
+ activeText: '',
26
+ };
27
+
16
28
  const submitBtn = {
17
29
  el: null,
18
30
  icon: null,
@@ -28,8 +40,15 @@ define('composer/scheduler', ['benchpress', 'bootbox', 'alerts'], function (Benc
28
40
  state.timestamp = 0;
29
41
  state.posts = posts;
30
42
 
43
+ translator.translateKeys(['[[topic:composer.post-later]]', '[[modules:composer.change-schedule-date]]']).then((translated) => {
44
+ dropdownDisplayBtn.defaultText = translated[0];
45
+ dropdownDisplayBtn.activeText = translated[1];
46
+ });
47
+
31
48
  displayBtnCons = $postContainer[0].querySelectorAll('.display-scheduler');
32
49
  displayBtns = $postContainer[0].querySelectorAll('.display-scheduler i');
50
+ dropdownDisplayBtn.el = $postContainer[0].querySelector('.dropdown-item.display-scheduler');
51
+ cancelBtn = $postContainer[0].querySelector('.dropdown-item.cancel-scheduling');
33
52
  submitContainer = $postContainer.find('[component="composer/submit/container"]');
34
53
  submitOptionsCon = $postContainer.find('[component="composer/submit/options/container"]');
35
54
 
@@ -38,6 +57,7 @@ define('composer/scheduler', ['benchpress', 'bootbox', 'alerts'], function (Benc
38
57
  submitBtn.defaultText = submitBtn.el.lastChild.textContent;
39
58
  submitBtn.activeText = submitBtn.el.getAttribute('data-text-variant');
40
59
 
60
+ cancelBtn.addEventListener('click', cancelScheduling);
41
61
  displayBtnCons.forEach(el => el.addEventListener('click', openModal));
42
62
  };
43
63
 
@@ -165,6 +185,10 @@ define('composer/scheduler', ['benchpress', 'bootbox', 'alerts'], function (Benc
165
185
  submitBtn.icon.classList.toggle('fa-check', !active);
166
186
  submitBtn.icon.classList.toggle('fa-clock-o', active);
167
187
  }
188
+ if (dropdownDisplayBtn.el) {
189
+ dropdownDisplayBtn.el.textContent = active ? dropdownDisplayBtn.activeText : dropdownDisplayBtn.defaultText;
190
+ cancelBtn.classList.toggle('hidden', !active);
191
+ }
168
192
  // Toggle submit button text
169
193
  submitBtn.el.lastChild.textContent = active ? submitBtn.activeText : submitBtn.defaultText;
170
194
  }
@@ -464,6 +464,7 @@ define('composer', [
464
464
  maximumPostLength: config.maximumPostLength,
465
465
  minimumTagLength: config.minimumTagLength,
466
466
  maximumTagLength: config.maximumTagLength,
467
+ 'composer:showHelpTab': config['composer:showHelpTab'],
467
468
  isTopic: isTopic,
468
469
  isEditing: isEditing,
469
470
  canSchedule: !!(isMain && privileges &&
@@ -43,10 +43,12 @@
43
43
  <span class="d-none d-md-inline show-text">[[modules:composer.show_preview]]</span>
44
44
  <span class="d-none d-md-inline hide-text">[[modules:composer.hide_preview]]</span>
45
45
  </button>
46
+ {{{ if composer:showHelpTab }}}
46
47
  <button class="btn btn-sm btn-link py-2 text-body fw-semibold text-nowrap" data-action="help">
47
48
  <i class="fa fa-question"></i>
48
49
  <span class="d-none d-md-inline">[[modules:composer.help]]</span>
49
50
  </button>
51
+ {{{ end }}}
50
52
  </div>
51
53
  </div>
52
54
 
@@ -34,6 +34,7 @@
34
34
  </button>
35
35
  <ul class="dropdown-menu dropdown-menu-end p-1">
36
36
  <li><a class="dropdown-item rounded-1 display-scheduler {{{ if !canSchedule }}}hidden{{{ end }}}">[[topic:composer.post-later]]</a></li>
37
+ <li><a class="dropdown-item rounded-1 cancel-scheduling hidden">[[modules:composer.cancel-scheduling]]</a></li>
37
38
  {{{ each submitOptions }}}
38
39
  <li><a class="dropdown-item rounded-1" href="#" data-action="{./action}">{./text}</a></li>
39
40
  {{{ end }}}
@@ -41,4 +42,4 @@
41
42
  </div>
42
43
  </div>
43
44
  </div>
44
- </div>
45
+ </div>