[TikiWiki-commits] [Git][tikiwiki/tiki][28.x] [BP][FIX] tracker(list page): Add client-side validation for batch item deletion
"Baraka Kinywa \(@bkinywa24\) via TikiWiki-cvs" <[email protected]>
| Newsgroups | gmane.comp.cms.tiki.cvs |
|---|---|
| Message-ID | <689519e25ddf1_2cd5c8c253bf@gitlab-sidekiq-low-urgency-cpu-bound-v2-54bd675fbf-lngsd.mail> |
Baraka Kinywa pushed to branch 28.x at Tiki Wiki CMS Groupware / Tiki
Commits:
2d59b596 by MAGENE Sem Joel at 2025-08-08T00:19:10+03:00
[BP][FIX] tracker(list page): Add client-side validation for batch item deletion
---
* [BP][FIX] tracker(list page): Add client-side validation for batch item deletion
---
* [FIX] tracker(list page): Add client-side validation for batch item deletion
---
* [FIX] tracker(list page): Add client-side validation for batch item deletion
See merge request tikiwiki/tiki!8016
See merge request tikiwiki/tiki!8220
See merge request tikiwiki/tiki!8222
- - - - -
1 changed file:
- templates/tiki-view_tracker.tpl
Changes:
=====================================
templates/tiki-view_tracker.tpl
=====================================
@@ -329,7 +329,7 @@
</select>
{ticket}
<input type="hidden" name="trackerId" value="{$trackerId}">
- <input type="submit" class="btn btn-primary" onclick="if($('select.trackerbatchaction').children('option:selected').val() == 'delete')confirmPopup('{tr}Are you sure you want to delete the selected items?{/tr}')" name="act" value="{tr}OK{/tr}">
+ <input type="submit" class="btn btn-primary js-confirm-delete" name="act" value="{tr}OK{/tr}">
</div>
</div>
{/if}
@@ -458,3 +458,29 @@
{/tab}
{/if}
{/tabset}
+
+{jq}
+ const confirmDeleteMsg = '{tr}Are you sure you want to delete the selected items?{/tr}';
+ const selectItemMsg = '{tr}Please select at least one item.{/tr}';
+ // Target the batch delete button to add validation.
+ $('.js-confirm-delete').on('click', function(event) {
+ const form = $(this).closest('form');
+ const batchAction = form.find('select.trackerbatchaction').val();
+
+ // For any other action, the form submits normally without interference.
+ if (batchAction === 'delete') {
+ // Stop the default form submission to perform our checks.
+ event.preventDefault();
+
+ const itemsSelected = form.find('input[name="action[]"]:checked').length;
+
+ if (itemsSelected > 0) {
+ // Validation passed: proceed with the confirmation popup.
+ confirmPopup.call({event: event}, confirmDeleteMsg);
+ } else {
+ // Validation failed: show an feedback and do nothing else.
+ feedback(selectItemMsg,'warning');
+ }
+ }
+ });
+{/jq}
View it on GitLab: https://gitlab.com/tikiwiki/tiki/-/commit/2d59b596950866fa573bb2e02699898ef80ee903
--
View it on GitLab: https://gitlab.com/tikiwiki/tiki/-/commit/2d59b596950866fa573bb2e02699898ef80ee903
You're receiving this email because of your account on gitlab.com.
_______________________________________________
TikiWiki-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tikiwiki-cvs