diff options
author | silverwind <me@silverwind.io> | 2021-11-22 09:19:01 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-11-22 16:19:01 +0800 |
commit | a159c3175f5f60a9de00f4d3c73787ffa6c63ddd (patch) | |
tree | db212e3f9d20eb26bba12774ff3d8fa0bac71cbc /web_src/js/features/common-issue.js | |
parent | 7743f13bed7dc5958c19603ccadd095db24c6b80 (diff) | |
download | gitea-a159c3175f5f60a9de00f4d3c73787ffa6c63ddd.tar.gz gitea-a159c3175f5f60a9de00f4d3c73787ffa6c63ddd.zip |
Add new JS linter rules (#17699)
* Add new JS linter rules
Adds a few useful rules from eslint-plugin-github. Notable changes:
- Forbid dataset usage, its camel-casing behaviour makes it hard to
grep for attributes.
- Forbid .then() and .catch(), we should generally prefer await for new
code. For rare cases where they are useful, a eslint-disable-line
directive can be set.
- Add docs js to linting
* also enable github/array-foreach
* small tweak
Co-authored-by: Andrew Thornton <art27@cantab.net>
Co-authored-by: techknowlogick <techknowlogick@gitea.io>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
Diffstat (limited to 'web_src/js/features/common-issue.js')
-rw-r--r-- | web_src/js/features/common-issue.js | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/web_src/js/features/common-issue.js b/web_src/js/features/common-issue.js index f89690abc0..07086d9e63 100644 --- a/web_src/js/features/common-issue.js +++ b/web_src/js/features/common-issue.js @@ -12,17 +12,25 @@ export function initCommonIssue() { } }); - $('.issue-action').on('click', function () { - let {action, elementId, url} = this.dataset; + $('.issue-action').on('click', async function () { + let action = this.getAttribute('data-action'); + let elementId = this.getAttribute('data-element-id'); + const url = this.getAttribute('data-url'); const issueIDs = $('.issue-checkbox').children('input:checked').map((_, el) => { - return el.dataset.issueId; + return el.getAttribute('data-issue-id'); }).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 + updateIssuesMeta( + url, + action, + issueIDs, + elementId + ).then(() => { // eslint-disable-line github/no-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 }); @@ -31,8 +39,8 @@ export function initCommonIssue() { }); }); - // NOTICE: This event trigger targets Firefox caching behaviour, as the checkboxes stay checked after reload - // trigger ckecked event, if checkboxes are checked on load + // 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'); |