]> source.dussan.org Git - gitea.git/commitdiff
Remove jQuery .map() and enable eslint rules for it (#29272)
authorsilverwind <me@silverwind.io>
Wed, 21 Feb 2024 00:05:17 +0000 (01:05 +0100)
committerGitHub <noreply@github.com>
Wed, 21 Feb 2024 00:05:17 +0000 (00:05 +0000)
- Use case in `repo-commit` was tested until the point where the POST
request was sent with the same payload.
- Use case in `repo-legacy` was tested completely with comment editing.
- `jquery/no-fade` was disabled as well to stay in sync with
`no-jquery/no-fade`, had no violations.

.eslintrc.yaml
web_src/js/features/repo-commit.js
web_src/js/features/repo-legacy.js

index ab9c218849db109bf91cb689fe02d5c8c8b55098..e9991c02baed24ea781e57adeb8e1f06551615ed 100644 (file)
@@ -296,7 +296,7 @@ rules:
   jquery/no-delegate: [2]
   jquery/no-each: [0]
   jquery/no-extend: [2]
-  jquery/no-fade: [0]
+  jquery/no-fade: [2]
   jquery/no-filter: [0]
   jquery/no-find: [0]
   jquery/no-global-eval: [2]
@@ -309,7 +309,7 @@ rules:
   jquery/no-is-function: [2]
   jquery/no-is: [0]
   jquery/no-load: [2]
-  jquery/no-map: [0]
+  jquery/no-map: [2]
   jquery/no-merge: [2]
   jquery/no-param: [2]
   jquery/no-parent: [0]
@@ -451,7 +451,7 @@ rules:
   no-jquery/no-load: [2]
   no-jquery/no-map-collection: [0]
   no-jquery/no-map-util: [2]
-  no-jquery/no-map: [0]
+  no-jquery/no-map: [2]
   no-jquery/no-merge: [2]
   no-jquery/no-node-name: [2]
   no-jquery/no-noop: [2]
index 76b34d20777199bbc0f985e079ca3afd264c012f..fc70ba41e4c36b1b2b327167c13968b161f9663e 100644 (file)
@@ -14,17 +14,15 @@ export function initRepoEllipsisButton() {
 }
 
 export function initRepoCommitLastCommitLoader() {
-  const entryMap = {};
-
-  const entries = $('table#repo-files-table tr.notready')
-    .map((_, v) => {
-      entryMap[$(v).attr('data-entryname')] = $(v);
-      return $(v).attr('data-entryname');
-    })
-    .get();
+  const notReadyEls = document.querySelectorAll('table#repo-files-table tr.notready');
+  if (!notReadyEls.length) return;
 
-  if (entries.length === 0) {
-    return;
+  const entryMap = {};
+  const entries = [];
+  for (const el of notReadyEls) {
+    const entryname = el.getAttribute('data-entryname');
+    entryMap[entryname] = $(el);
+    entries.push(entryname);
   }
 
   const lastCommitLoaderURL = $('table#repo-files-table').data('lastCommitLoaderUrl');
index ce1bff11a2f5caf2402a91f1bf38c33f61447628..10ad83679733d2b0c7a793fb7aa181ab87b74792 100644 (file)
@@ -398,17 +398,14 @@ async function onEditContent(event) {
     }
   };
 
-  const saveAndRefresh = (dz, $dropzone) => {
+  const saveAndRefresh = (dz) => {
     showElem($renderContent);
     hideElem($editContentZone);
-    const $attachments = $dropzone.find('.files').find('[name=files]').map(function () {
-      return $(this).val();
-    }).get();
     $.post($editContentZone.attr('data-update-url'), {
       _csrf: csrfToken,
       content: comboMarkdownEditor.value(),
       context: $editContentZone.attr('data-context'),
-      files: $attachments,
+      files: dz.files.map((file) => file.uuid),
     }, (data) => {
       if (!data.content) {
         $renderContent.html($('#no-content').html());
@@ -452,7 +449,7 @@ async function onEditContent(event) {
     });
     $editContentZone.find('.save.button').on('click', (e) => {
       e.preventDefault();
-      saveAndRefresh(dz, $dropzone);
+      saveAndRefresh(dz);
     });
   } else {
     comboMarkdownEditor = getComboMarkdownEditor($editContentZone.find('.combo-markdown-editor'));