Remove fomantic checkbox module (#30162)

CSS is pretty slim already and the `.ui.toggle.checkbox` sliders on
admin page also still work. The only necessary JS is the one that links
`input` and `label` so that it can be toggled via label. All checkboxes
except the markdown ones render at `--checkbox-size: 16px` now.

<img width="174" alt="Screenshot 2024-03-28 at 22 15 10"
src="3455c1bb-166b-47e4-9847-2d20dd1f04db">

<img width="499" alt="Screenshot 2024-03-28 at 21 00 07"
src="412be2b3-d5a0-478a-b17b-43e6bc12e8ce">

<img width="83" alt="Screenshot 2024-03-28 at 22 14 34"
src="d8c89838-a420-4723-8c49-89405bb39474">

---------

Co-authored-by: delvh <dev.lh@web.de>
(cherry picked from commit 8fd15990c5c8980caf2b9ffefc0b3427efacdc04)
This commit is contained in:
silverwind 2024-03-29 05:56:01 +01:00 committed by Gergely Nagy
parent 2e542f17a3
commit 66f9a4ee68
No known key found for this signature in database
18 changed files with 180 additions and 1729 deletions

View file

@ -218,17 +218,24 @@ export function initAdminCommon() {
});
// Select actions
const $checkboxes = $('.select.table .ui.checkbox');
const checkboxes = document.querySelectorAll('.select.table .ui.checkbox input');
$('.select.action').on('click', function () {
switch ($(this).data('action')) {
case 'select-all':
$checkboxes.checkbox('check');
for (const checkbox of checkboxes) {
checkbox.checked = true;
}
break;
case 'deselect-all':
$checkboxes.checkbox('uncheck');
for (const checkbox of checkboxes) {
checkbox.checked = false;
}
break;
case 'inverse':
$checkboxes.checkbox('toggle');
for (const checkbox of checkboxes) {
checkbox.checked = !checkbox.checked;
}
break;
}
});
@ -236,11 +243,11 @@ export function initAdminCommon() {
e.preventDefault();
this.classList.add('is-loading', 'disabled');
const data = new FormData();
$checkboxes.each(function () {
if ($(this).checkbox('is checked')) {
data.append('ids[]', this.getAttribute('data-id'));
for (const checkbox of checkboxes) {
if (checkbox.checked) {
data.append('ids[]', checkbox.closest('.ui.checkbox').getAttribute('data-id'));
}
});
}
await POST(this.getAttribute('data-link'), {data});
window.location.href = this.getAttribute('data-redirect');
});