From 29d353f3a7af6fbbeed1bf8691f00288df907223 Mon Sep 17 00:00:00 2001 From: Bart van der Braak Date: Thu, 24 Jul 2025 21:23:33 +0200 Subject: [PATCH 1/6] Only hide dropzone when no files have been uploaded --- web_src/js/features/repo-issue.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/web_src/js/features/repo-issue.ts b/web_src/js/features/repo-issue.ts index 49e8fc40a23a2..986b3fa667268 100644 --- a/web_src/js/features/repo-issue.ts +++ b/web_src/js/features/repo-issue.ts @@ -542,7 +542,11 @@ function initIssueTemplateCommentEditors(commentForm: HTMLFormElement) { // deactivate all markdown editors showElem(commentForm.querySelectorAll('.combo-editor-dropzone .form-field-real')); hideElem(commentForm.querySelectorAll('.combo-editor-dropzone .combo-markdown-editor')); - hideElem(commentForm.querySelectorAll('.combo-editor-dropzone .form-field-dropzone')); + queryElems(commentForm, '.combo-editor-dropzone .form-field-dropzone', (dropzoneContainer) => { + const dropzone = dropzoneContainer.closest('.combo-editor-dropzone')?.querySelector('.dropzone'); + const hasUploadedFiles = dropzone?.querySelector('.dz-preview') !== null; + if (!hasUploadedFiles) hideElem(dropzoneContainer); + }); // activate this markdown editor hideElem(fieldTextarea); From 7e55d4dc1fd6a6631530e4ae25f4b00971489b75 Mon Sep 17 00:00:00 2001 From: Bart van der Braak Date: Fri, 25 Jul 2025 11:46:35 +0200 Subject: [PATCH 2/6] Replace fragile selectors with direct options from Dropzone --- web_src/js/features/repo-issue.ts | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/web_src/js/features/repo-issue.ts b/web_src/js/features/repo-issue.ts index 986b3fa667268..c30f78a70d774 100644 --- a/web_src/js/features/repo-issue.ts +++ b/web_src/js/features/repo-issue.ts @@ -543,9 +543,12 @@ function initIssueTemplateCommentEditors(commentForm: HTMLFormElement) { showElem(commentForm.querySelectorAll('.combo-editor-dropzone .form-field-real')); hideElem(commentForm.querySelectorAll('.combo-editor-dropzone .combo-markdown-editor')); queryElems(commentForm, '.combo-editor-dropzone .form-field-dropzone', (dropzoneContainer) => { - const dropzone = dropzoneContainer.closest('.combo-editor-dropzone')?.querySelector('.dropzone'); - const hasUploadedFiles = dropzone?.querySelector('.dz-preview') !== null; - if (!hasUploadedFiles) hideElem(dropzoneContainer); + const dropzoneEl = dropzoneContainer.closest('.combo-editor-dropzone')?.querySelector('.dropzone'); + const dzInstance = dropzoneEl?.dropzone; + + if (dzInstance && dzInstance.files.length === 0) { + hideElem(dropzoneContainer); + } }); // activate this markdown editor From 7f65e6fd2daf84123d2e7772262d7f1c8b1e8e14 Mon Sep 17 00:00:00 2001 From: wxiaoguang Date: Fri, 25 Jul 2025 19:02:36 +0800 Subject: [PATCH 3/6] Apply suggestion Signed-off-by: wxiaoguang --- web_src/js/features/repo-issue.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web_src/js/features/repo-issue.ts b/web_src/js/features/repo-issue.ts index c30f78a70d774..aafa73727b337 100644 --- a/web_src/js/features/repo-issue.ts +++ b/web_src/js/features/repo-issue.ts @@ -543,7 +543,7 @@ function initIssueTemplateCommentEditors(commentForm: HTMLFormElement) { showElem(commentForm.querySelectorAll('.combo-editor-dropzone .form-field-real')); hideElem(commentForm.querySelectorAll('.combo-editor-dropzone .combo-markdown-editor')); queryElems(commentForm, '.combo-editor-dropzone .form-field-dropzone', (dropzoneContainer) => { - const dropzoneEl = dropzoneContainer.closest('.combo-editor-dropzone')?.querySelector('.dropzone'); + const dropzoneEl = dropzoneContainer.closest('.combo-editor-dropzone').querySelector('.dropzone'); const dzInstance = dropzoneEl?.dropzone; if (dzInstance && dzInstance.files.length === 0) { From c6068328e218188b65b59641e06f2dd0076ff371 Mon Sep 17 00:00:00 2001 From: wxiaoguang Date: Fri, 25 Jul 2025 19:02:45 +0800 Subject: [PATCH 4/6] Apply suggestion Signed-off-by: wxiaoguang --- web_src/js/features/repo-issue.ts | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/web_src/js/features/repo-issue.ts b/web_src/js/features/repo-issue.ts index aafa73727b337..3cc7f99e23cbe 100644 --- a/web_src/js/features/repo-issue.ts +++ b/web_src/js/features/repo-issue.ts @@ -545,10 +545,8 @@ function initIssueTemplateCommentEditors(commentForm: HTMLFormElement) { queryElems(commentForm, '.combo-editor-dropzone .form-field-dropzone', (dropzoneContainer) => { const dropzoneEl = dropzoneContainer.closest('.combo-editor-dropzone').querySelector('.dropzone'); const dzInstance = dropzoneEl?.dropzone; - - if (dzInstance && dzInstance.files.length === 0) { - hideElem(dropzoneContainer); - } + const hasUploadedFiles = Boolean(dzInstance?.files.length); + toggleElem(dropzoneContainer, hasUploadedFiles); }); // activate this markdown editor From 0e949d45af72d9a4281da5a5f75f697de23a7690 Mon Sep 17 00:00:00 2001 From: wxiaoguang Date: Fri, 25 Jul 2025 19:09:56 +0800 Subject: [PATCH 5/6] Apply suggestion Signed-off-by: wxiaoguang --- web_src/js/features/repo-issue.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/web_src/js/features/repo-issue.ts b/web_src/js/features/repo-issue.ts index 3cc7f99e23cbe..0947d2ce0ef57 100644 --- a/web_src/js/features/repo-issue.ts +++ b/web_src/js/features/repo-issue.ts @@ -543,9 +543,9 @@ function initIssueTemplateCommentEditors(commentForm: HTMLFormElement) { showElem(commentForm.querySelectorAll('.combo-editor-dropzone .form-field-real')); hideElem(commentForm.querySelectorAll('.combo-editor-dropzone .combo-markdown-editor')); queryElems(commentForm, '.combo-editor-dropzone .form-field-dropzone', (dropzoneContainer) => { - const dropzoneEl = dropzoneContainer.closest('.combo-editor-dropzone').querySelector('.dropzone'); - const dzInstance = dropzoneEl?.dropzone; - const hasUploadedFiles = Boolean(dzInstance?.files.length); + // if "form-field-dropzone" exists, then "dropzone" must also exist + const dropzone = dropzoneContainer.querySelector('.dropzone').dropzone; + const hasUploadedFiles = dropzone.files.length !== 0; toggleElem(dropzoneContainer, hasUploadedFiles); }); From 86e09329701df9a20af64d75b78f8f518e2d804c Mon Sep 17 00:00:00 2001 From: wxiaoguang Date: Fri, 25 Jul 2025 19:12:28 +0800 Subject: [PATCH 6/6] Apply suggestion Signed-off-by: wxiaoguang --- web_src/js/features/repo-issue.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web_src/js/features/repo-issue.ts b/web_src/js/features/repo-issue.ts index 0947d2ce0ef57..b330b4869ba8f 100644 --- a/web_src/js/features/repo-issue.ts +++ b/web_src/js/features/repo-issue.ts @@ -544,7 +544,7 @@ function initIssueTemplateCommentEditors(commentForm: HTMLFormElement) { hideElem(commentForm.querySelectorAll('.combo-editor-dropzone .combo-markdown-editor')); queryElems(commentForm, '.combo-editor-dropzone .form-field-dropzone', (dropzoneContainer) => { // if "form-field-dropzone" exists, then "dropzone" must also exist - const dropzone = dropzoneContainer.querySelector('.dropzone').dropzone; + const dropzone = dropzoneContainer.querySelector('.dropzone').dropzone; const hasUploadedFiles = dropzone.files.length !== 0; toggleElem(dropzoneContainer, hasUploadedFiles); });