aboutsummaryrefslogtreecommitdiffstats
path: root/web_src/js/features/common-issue.js
diff options
context:
space:
mode:
Diffstat (limited to 'web_src/js/features/common-issue.js')
-rw-r--r--web_src/js/features/common-issue.js59
1 files changed, 0 insertions, 59 deletions
diff --git a/web_src/js/features/common-issue.js b/web_src/js/features/common-issue.js
deleted file mode 100644
index 25d41edde3..0000000000
--- a/web_src/js/features/common-issue.js
+++ /dev/null
@@ -1,59 +0,0 @@
-import $ from 'jquery';
-import {updateIssuesMeta} from './repo-issue.js';
-import {toggleElem} from '../utils/dom.js';
-
-export function initCommonIssue() {
- const $issueSelectAll = $('.issue-checkbox-all');
- const $issueCheckboxes = $('.issue-checkbox');
-
- const syncIssueSelectionState = () => {
- const $checked = $issueCheckboxes.filter(':checked');
- const anyChecked = $checked.length !== 0;
- const allChecked = anyChecked && $checked.length === $issueCheckboxes.length;
-
- if (allChecked) {
- $issueSelectAll.prop({'checked': true, 'indeterminate': false});
- } else if (anyChecked) {
- $issueSelectAll.prop({'checked': false, 'indeterminate': true});
- } else {
- $issueSelectAll.prop({'checked': false, 'indeterminate': false});
- }
- // if any issue is selected, show the action panel, otherwise show the filter panel
- toggleElem($('#issue-filters'), !anyChecked);
- toggleElem($('#issue-actions'), anyChecked);
- // there are two panels but only one select-all checkbox, so move the checkbox to the visible panel
- $('#issue-filters, #issue-actions').filter(':visible').find('.column:first').prepend($issueSelectAll);
- };
-
- $issueCheckboxes.on('change', syncIssueSelectionState);
-
- $issueSelectAll.on('change', () => {
- $issueCheckboxes.prop('checked', $issueSelectAll.is(':checked'));
- syncIssueSelectionState();
- });
-
- $('.issue-action').on('click', async function (e) {
- e.preventDefault();
- let action = this.getAttribute('data-action');
- let elementId = this.getAttribute('data-element-id');
- const url = this.getAttribute('data-url');
- const issueIDs = $('.issue-checkbox:checked').map((_, el) => {
- return el.getAttribute('data-issue-id');
- }).get().join(',');
- if (elementId === '0' && url.slice(-9) === '/assignee') {
- elementId = '';
- action = 'clear';
- }
- if (action === 'toggle' && e.altKey) {
- action = 'toggle-alt';
- }
- updateIssuesMeta(
- url,
- action,
- issueIDs,
- elementId
- ).then(() => {
- window.location.reload();
- });
- });
-}