2024-04-29 22:49:50 +08:00
|
|
|
import $ from 'jquery';
|
2024-07-07 23:32:30 +08:00
|
|
|
import {queryElemChildren} from '../../utils/dom.ts';
|
2024-04-29 22:49:50 +08:00
|
|
|
|
|
|
|
export function initFomanticDimmer() {
|
|
|
|
// stand-in for removed dimmer module
|
2024-11-21 21:57:42 +08:00
|
|
|
$.fn.dimmer = function (arg0: string, arg1: any) {
|
2024-04-29 22:49:50 +08:00
|
|
|
if (arg0 === 'add content') {
|
2024-05-03 09:48:24 +08:00
|
|
|
const $el = arg1;
|
2024-04-29 22:49:50 +08:00
|
|
|
const existingDimmer = document.querySelector('body > .ui.dimmer');
|
|
|
|
if (existingDimmer) {
|
2024-05-03 09:48:24 +08:00
|
|
|
queryElemChildren(existingDimmer, '*', (el) => el.classList.add('hidden'));
|
2024-04-29 22:49:50 +08:00
|
|
|
this._dimmer = existingDimmer;
|
|
|
|
} else {
|
|
|
|
this._dimmer = document.createElement('div');
|
|
|
|
this._dimmer.classList.add('ui', 'dimmer');
|
|
|
|
document.body.append(this._dimmer);
|
|
|
|
}
|
|
|
|
this._dimmer.append($el[0]);
|
|
|
|
} else if (arg0 === 'get dimmer') {
|
|
|
|
return $(this._dimmer);
|
|
|
|
} else if (arg0 === 'show') {
|
|
|
|
this._dimmer.classList.add('active');
|
|
|
|
document.body.classList.add('tw-overflow-hidden');
|
|
|
|
} else if (arg0 === 'hide') {
|
2024-05-03 09:48:24 +08:00
|
|
|
const cb = arg1;
|
2024-04-29 22:49:50 +08:00
|
|
|
this._dimmer.classList.remove('active');
|
|
|
|
document.body.classList.remove('tw-overflow-hidden');
|
2024-05-03 09:48:24 +08:00
|
|
|
cb();
|
2024-04-29 22:49:50 +08:00
|
|
|
}
|
|
|
|
return this;
|
|
|
|
};
|
|
|
|
}
|