From 47fa6f68ff9a15c91c8bff11b16b9d3d1ebb3509 Mon Sep 17 00:00:00 2001 From: yp05327 <576951401@qq.com> Date: Wed, 19 Apr 2023 06:02:12 +0000 Subject: [PATCH 1/3] add no-jquery/no-event-shorthand --- .eslintrc.yaml | 2 ++ package-lock.json | 10 ++++++++++ package.json | 1 + 3 files changed, 13 insertions(+) diff --git a/.eslintrc.yaml b/.eslintrc.yaml index 81b3a10f30eab..ae7638fe2418d 100644 --- a/.eslintrc.yaml +++ b/.eslintrc.yaml @@ -12,6 +12,7 @@ plugins: - eslint-plugin-unicorn - eslint-plugin-import - eslint-plugin-jquery + - eslint-plugin-no-jquery - eslint-plugin-sonarjs - eslint-plugin-custom-elements @@ -192,6 +193,7 @@ rules: jquery/no-val: [0] jquery/no-when: [2] jquery/no-wrap: [2] + no-jquery/no-event-shorthand: [3.5] key-spacing: [2] keyword-spacing: [2] line-comment-position: [0] diff --git a/package-lock.json b/package-lock.json index 376689804391c..72728f3ab9719 100644 --- a/package-lock.json +++ b/package-lock.json @@ -64,6 +64,7 @@ "eslint-plugin-custom-elements": "0.0.7", "eslint-plugin-import": "2.27.5", "eslint-plugin-jquery": "1.5.1", + "eslint-plugin-no-jquery": "2.7.0", "eslint-plugin-sonarjs": "0.19.0", "eslint-plugin-unicorn": "46.0.0", "eslint-plugin-vue": "9.10.0", @@ -4573,6 +4574,15 @@ "eslint": ">=5.4.0" } }, + "node_modules/eslint-plugin-no-jquery": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-no-jquery/-/eslint-plugin-no-jquery-2.7.0.tgz", + "integrity": "sha512-Aeg7dA6GTH1AcWLlBtWNzOU9efK5KpNi7b0EhBO0o0M+awyzguUUo8gF6hXGjQ9n5h8/uRtYv9zOqQkeC5CG0w==", + "dev": true, + "peerDependencies": { + "eslint": ">=2.3.0" + } + }, "node_modules/eslint-plugin-sonarjs": { "version": "0.19.0", "resolved": "https://registry.npmjs.org/eslint-plugin-sonarjs/-/eslint-plugin-sonarjs-0.19.0.tgz", diff --git a/package.json b/package.json index 57dcfc2f7f54f..bc6d6beed1557 100644 --- a/package.json +++ b/package.json @@ -64,6 +64,7 @@ "eslint-plugin-custom-elements": "0.0.7", "eslint-plugin-import": "2.27.5", "eslint-plugin-jquery": "1.5.1", + "eslint-plugin-no-jquery": "2.7.0", "eslint-plugin-sonarjs": "0.19.0", "eslint-plugin-unicorn": "46.0.0", "eslint-plugin-vue": "9.10.0", From 9aec16b90baa5f1c846585e82e3328bc62838ab7 Mon Sep 17 00:00:00 2001 From: yp05327 <576951401@qq.com> Date: Wed, 19 Apr 2023 16:01:01 +0900 Subject: [PATCH 2/3] Update .eslintrc.yaml Co-authored-by: silverwind --- .eslintrc.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.eslintrc.yaml b/.eslintrc.yaml index ae7638fe2418d..46e4538f61e10 100644 --- a/.eslintrc.yaml +++ b/.eslintrc.yaml @@ -193,7 +193,7 @@ rules: jquery/no-val: [0] jquery/no-when: [2] jquery/no-wrap: [2] - no-jquery/no-event-shorthand: [3.5] + no-jquery/no-event-shorthand: [2] key-spacing: [2] keyword-spacing: [2] line-comment-position: [0] From 11a019c02632a09939d0ba375ba9ba1d55ce3bd2 Mon Sep 17 00:00:00 2001 From: yp05327 <576951401@qq.com> Date: Thu, 20 Apr 2023 02:53:17 +0000 Subject: [PATCH 3/3] fix lint --- web_src/js/features/admin/common.js | 4 ++-- web_src/js/features/admin/users.js | 8 ++++---- web_src/js/features/citation.js | 2 +- web_src/js/features/common-global.js | 2 +- web_src/js/features/repo-common.js | 2 +- web_src/js/features/repo-issue.js | 4 ++-- web_src/js/features/repo-legacy.js | 2 +- web_src/js/features/repo-projects.js | 4 ++-- web_src/js/features/user-auth.js | 2 +- 9 files changed, 15 insertions(+), 15 deletions(-) diff --git a/web_src/js/features/admin/common.js b/web_src/js/features/admin/common.js index 8f895152c77b0..84fd35e081046 100644 --- a/web_src/js/features/admin/common.js +++ b/web_src/js/features/admin/common.js @@ -21,7 +21,7 @@ export function initAdminCommon() { $('#login_name').removeAttr('required'); hideElem($('.non-local')); showElem($('.local')); - $('#user_name').focus(); + $('#user_name').trigger('focus'); if ($(this).data('password') === 'required') { $('#password').attr('required', 'required'); @@ -33,7 +33,7 @@ export function initAdminCommon() { $('#login_name').attr('required', 'required'); showElem($('.non-local')); hideElem($('.local')); - $('#login_name').focus(); + $('#login_name').trigger('focus'); $('#password').removeAttr('required'); } diff --git a/web_src/js/features/admin/users.js b/web_src/js/features/admin/users.js index 2221fc492960b..c8edaab549322 100644 --- a/web_src/js/features/admin/users.js +++ b/web_src/js/features/admin/users.js @@ -16,19 +16,19 @@ export function initAdminUserListSearchForm() { } } - $form.find(`input[type=radio]`).click(() => { - $form.submit(); + $form.find(`input[type=radio]`).on('click', () => { + $form.trigger('submit'); return false; }); - $form.find('.j-reset-status-filter').click(() => { + $form.find('.j-reset-status-filter').on('click', () => { $form.find(`input[type=radio]`).each((_, e) => { const $e = $(e); if ($e.attr('name').startsWith('status_filter[')) { $e.prop('checked', false); } }); - $form.submit(); + $form.trigger('submit'); return false; }); } diff --git a/web_src/js/features/citation.js b/web_src/js/features/citation.js index c40b1adddd148..65666864f6956 100644 --- a/web_src/js/features/citation.js +++ b/web_src/js/features/citation.js @@ -51,7 +51,7 @@ export function initCitationFileCopyContent() { }); $inputContent.on('click', () => { - $inputContent.select(); + $inputContent.trigger('select'); }); $('#cite-repo-button').on('click', () => { diff --git a/web_src/js/features/common-global.js b/web_src/js/features/common-global.js index 89e277ac84c66..b0c2cbbb21b01 100644 --- a/web_src/js/features/common-global.js +++ b/web_src/js/features/common-global.js @@ -68,7 +68,7 @@ export function initGlobalButtonClickOnEnter() { export function initGlobalCommon() { // Undo Safari emoji glitch fix at high enough zoom levels if (navigator.userAgent.match('Safari')) { - $(window).resize(() => { + $(window).on('resize', () => { const px = mqBinarySearch('width', 0, 4096, 1, 'px'); const em = mqBinarySearch('width', 0, 1024, 0.01, 'em'); if (em * 16 * 1.25 - px <= -1) { diff --git a/web_src/js/features/repo-common.js b/web_src/js/features/repo-common.js index 1a32d7cb64422..d99a1a8da08c0 100644 --- a/web_src/js/features/repo-common.js +++ b/web_src/js/features/repo-common.js @@ -69,7 +69,7 @@ export function initRepoCloneLink() { }); $inputLink.on('focus', () => { - $inputLink.select(); + $inputLink.trigger('select'); }); } diff --git a/web_src/js/features/repo-issue.js b/web_src/js/features/repo-issue.js index a6105f7b24193..63fae3a37cb47 100644 --- a/web_src/js/features/repo-issue.js +++ b/web_src/js/features/repo-issue.js @@ -313,7 +313,7 @@ export function initRepoIssueWipTitle() { e.preventDefault(); const $issueTitle = $('#issue_title'); - $issueTitle.focus(); + $issueTitle.trigger('focus'); const value = $issueTitle.val().trim().toUpperCase(); const wipPrefixes = $('.title_wip_desc').data('wip-prefixes'); @@ -573,7 +573,7 @@ export function initRepoIssueTitleEdit() { toggleElem($('#pull-desc-edit')); toggleElem($('.in-edit')); $('#issue-title-wrapper').toggleClass('edit-active'); - $editInput.focus(); + $editInput.trigger('focus'); return false; }; diff --git a/web_src/js/features/repo-legacy.js b/web_src/js/features/repo-legacy.js index 2e39d3762fcfe..51be7fece3d5c 100644 --- a/web_src/js/features/repo-legacy.js +++ b/web_src/js/features/repo-legacy.js @@ -57,7 +57,7 @@ export function initRepoCommentForm() { const $selectBranch = $('.ui.select-branch'); const $branchMenu = $selectBranch.find('.reference-list-menu'); const $isNewIssue = $branchMenu.hasClass('new-issue'); - $branchMenu.find('.item:not(.no-select)').click(function () { + $branchMenu.find('.item:not(.no-select)').on('click', function () { const selectedValue = $(this).data('id'); const editMode = $('#editing_mode').val(); $($(this).data('id-selector')).val(selectedValue); diff --git a/web_src/js/features/repo-projects.js b/web_src/js/features/repo-projects.js index a1e177e4617c3..4e64f6bdbe656 100644 --- a/web_src/js/features/repo-projects.js +++ b/web_src/js/features/repo-projects.js @@ -142,7 +142,7 @@ export function initRepoProject() { }); $('.delete-project-board').each(function () { - $(this).click(function (e) { + $(this).on('click', function (e) { e.preventDefault(); $.ajax({ @@ -158,7 +158,7 @@ export function initRepoProject() { }); }); - $('#new_board_submit').click(function (e) { + $('#new_board_submit').on('click', function (e) { e.preventDefault(); const boardTitle = $('#new_board'); diff --git a/web_src/js/features/user-auth.js b/web_src/js/features/user-auth.js index 34e773fe7db4a..60ea14dfaa54a 100644 --- a/web_src/js/features/user-auth.js +++ b/web_src/js/features/user-auth.js @@ -5,7 +5,7 @@ export function initUserAuthOauth2() { const $oauth2LoginNav = $('#oauth2-login-navigator'); if ($oauth2LoginNav.length === 0) return; - $oauth2LoginNav.find('.oauth-login-image').click(() => { + $oauth2LoginNav.find('.oauth-login-image').on('click', () => { const oauthLoader = $('#oauth2-login-loader'); const oauthNav = $('#oauth2-login-navigator');