Split index.js
to separate files (#17315)
* split `index.js` to separate files * tune clipboard * fix promise * fix document * remove intermediate empty file * fix async event listener * use `export function` instead of `export {}`, add more comments Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com> Co-authored-by: 6543 <6543@obermui.de>
This commit is contained in:
parent
3728f1daa0
commit
1a7473ff45
42 changed files with 3686 additions and 3501 deletions
40
web_src/js/features/common-issue.js
Normal file
40
web_src/js/features/common-issue.js
Normal file
|
@ -0,0 +1,40 @@
|
|||
import {updateIssuesMeta} from './repo-issue.js';
|
||||
|
||||
export function initCommonIssue() {
|
||||
$('.issue-checkbox').on('click', () => {
|
||||
const numChecked = $('.issue-checkbox').children('input:checked').length;
|
||||
if (numChecked > 0) {
|
||||
$('#issue-filters').addClass('hide');
|
||||
$('#issue-actions').removeClass('hide');
|
||||
} else {
|
||||
$('#issue-filters').removeClass('hide');
|
||||
$('#issue-actions').addClass('hide');
|
||||
}
|
||||
});
|
||||
|
||||
$('.issue-action').on('click', function () {
|
||||
let {action, elementId, url} = this.dataset;
|
||||
const issueIDs = $('.issue-checkbox').children('input:checked').map((_, el) => {
|
||||
return el.dataset.issueId;
|
||||
}).get().join(',');
|
||||
if (elementId === '0' && url.substr(-9) === '/assignee') {
|
||||
elementId = '';
|
||||
action = 'clear';
|
||||
}
|
||||
updateIssuesMeta(url, action, issueIDs, elementId, '').then(() => {
|
||||
// NOTICE: This reset of checkbox state targets Firefox caching behaviour, as the checkboxes stay checked after reload
|
||||
if (action === 'close' || action === 'open') {
|
||||
// uncheck all checkboxes
|
||||
$('.issue-checkbox input[type="checkbox"]').each((_, e) => { e.checked = false });
|
||||
}
|
||||
window.location.reload();
|
||||
});
|
||||
});
|
||||
|
||||
// NOTICE: This event trigger targets Firefox caching behaviour, as the checkboxes stay checked after reload
|
||||
// trigger ckecked event, if checkboxes are checked on load
|
||||
$('.issue-checkbox input[type="checkbox"]:checked').first().each((_, e) => {
|
||||
e.checked = false;
|
||||
$(e).trigger('click');
|
||||
});
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue