mirror of
https://hk.gh-proxy.com/https://github.com/NodeBB/nodebb-plugin-composer-default.git
synced 2025-10-03 04:31:23 +08:00
feat: cancel scheduling button
This commit is contained in:
parent
60ee62eef3
commit
e116e36bd6
2 changed files with 27 additions and 2 deletions
|
@ -1,6 +1,11 @@
|
|||
'use strict';
|
||||
|
||||
define('composer/scheduler', ['benchpress', 'bootbox', 'alerts'], function (Benchpress, bootbox, alerts) {
|
||||
define('composer/scheduler', ['benchpress', 'bootbox', 'alerts', 'translator'], function (
|
||||
Benchpress,
|
||||
bootbox,
|
||||
alerts,
|
||||
translator
|
||||
) {
|
||||
const scheduler = {};
|
||||
const state = {
|
||||
timestamp: 0,
|
||||
|
@ -10,9 +15,16 @@ define('composer/scheduler', ['benchpress', 'bootbox', 'alerts'], function (Benc
|
|||
};
|
||||
let displayBtnCons = [];
|
||||
let displayBtns;
|
||||
let cancelBtn;
|
||||
let submitContainer;
|
||||
let submitOptionsCon;
|
||||
|
||||
const dropdownDisplayBtn = {
|
||||
el: null,
|
||||
defaultText: '',
|
||||
activeText: '',
|
||||
};
|
||||
|
||||
const submitBtn = {
|
||||
el: null,
|
||||
icon: null,
|
||||
|
@ -28,8 +40,15 @@ define('composer/scheduler', ['benchpress', 'bootbox', 'alerts'], function (Benc
|
|||
state.timestamp = 0;
|
||||
state.posts = posts;
|
||||
|
||||
translator.translateKeys(['[[topic:composer.post-later]]', '[[modules:composer.change-schedule-date]]']).then((translated) => {
|
||||
dropdownDisplayBtn.defaultText = translated[0];
|
||||
dropdownDisplayBtn.activeText = translated[1];
|
||||
});
|
||||
|
||||
displayBtnCons = $postContainer[0].querySelectorAll('.display-scheduler');
|
||||
displayBtns = $postContainer[0].querySelectorAll('.display-scheduler i');
|
||||
dropdownDisplayBtn.el = $postContainer[0].querySelector('.dropdown-item.display-scheduler');
|
||||
cancelBtn = $postContainer[0].querySelector('.dropdown-item.cancel-scheduling');
|
||||
submitContainer = $postContainer.find('[component="composer/submit/container"]');
|
||||
submitOptionsCon = $postContainer.find('[component="composer/submit/options/container"]');
|
||||
|
||||
|
@ -38,6 +57,7 @@ define('composer/scheduler', ['benchpress', 'bootbox', 'alerts'], function (Benc
|
|||
submitBtn.defaultText = submitBtn.el.lastChild.textContent;
|
||||
submitBtn.activeText = submitBtn.el.getAttribute('data-text-variant');
|
||||
|
||||
cancelBtn.addEventListener('click', cancelScheduling);
|
||||
displayBtnCons.forEach(el => el.addEventListener('click', openModal));
|
||||
};
|
||||
|
||||
|
@ -165,6 +185,10 @@ define('composer/scheduler', ['benchpress', 'bootbox', 'alerts'], function (Benc
|
|||
submitBtn.icon.classList.toggle('fa-check', !active);
|
||||
submitBtn.icon.classList.toggle('fa-clock-o', active);
|
||||
}
|
||||
if (dropdownDisplayBtn.el) {
|
||||
dropdownDisplayBtn.el.textContent = active ? dropdownDisplayBtn.activeText : dropdownDisplayBtn.defaultText;
|
||||
cancelBtn.classList.toggle('hidden', !active);
|
||||
}
|
||||
// Toggle submit button text
|
||||
submitBtn.el.lastChild.textContent = active ? submitBtn.activeText : submitBtn.defaultText;
|
||||
}
|
||||
|
|
|
@ -34,6 +34,7 @@
|
|||
</button>
|
||||
<ul class="dropdown-menu dropdown-menu-end p-1">
|
||||
<li><a class="dropdown-item rounded-1 display-scheduler {{{ if !canSchedule }}}hidden{{{ end }}}">[[topic:composer.post-later]]</a></li>
|
||||
<li><a class="dropdown-item rounded-1 cancel-scheduling hidden">[[modules:composer.cancel-scheduling]]</a></li>
|
||||
{{{ each submitOptions }}}
|
||||
<li><a class="dropdown-item rounded-1" href="#" data-action="{./action}">{./text}</a></li>
|
||||
{{{ end }}}
|
||||
|
@ -41,4 +42,4 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue