This commit is contained in:
2023-05-05 15:35:58 +08:00
parent 9bf9e7da27
commit 8dafc1c5f4
5 changed files with 88 additions and 82 deletions

View File

@ -1,9 +1,9 @@
import { global } from "../../utility";
import { nullOrEmpty } from "../../utility/strings";
// import { nullOrEmpty } from "../../utility/strings";
import { createElement } from "../../functions";
import { createIcon } from "../icon";
import { createCheckbox } from "../checkbox";
import { setTooltip } from "../tooltip";
// import { setTooltip } from "../tooltip";
import Dropdown from "../dropdown";
class GridColumn {
@ -20,6 +20,13 @@ class GridColumn {
element.style.setProperty(css[0], css[1]);
}
}
static setEnabled(element, enabled) {
const tooltip = element.querySelector('.ui-tooltip-wrapper');
if (tooltip != null) {
tooltip.style.display = enabled === false ? 'none' : '';
}
}
}
class GridInputColumn extends GridColumn {
@ -54,6 +61,7 @@ class GridInputColumn extends GridColumn {
static getValue(e) { return e.target.value }
static setEnabled(element, enabled) {
super.setEnabled(element , enabled);
element.disabled = enabled === false;
}
}
@ -162,6 +170,7 @@ class GridDropdownColumn extends GridColumn {
}
static setEnabled(element, enabled) {
super.setEnabled(element , enabled);
const drop = this.#getDrop(element);
if (drop == null) {
return;
@ -185,6 +194,7 @@ class GridCheckboxColumn extends GridColumn {
static getValue(e) { return e.target.checked }
static setEnabled(element, enabled) {
super.setEnabled(element , enabled);
element.querySelector('input').disabled = enabled === false;
}
}
@ -211,22 +221,19 @@ class GridIconColumn extends GridColumn {
const icon = createIcon(type, val);
// const layer = element.children[0];
element.replaceChildren(icon);
!nullOrEmpty(col.tooltip) && setTooltip(element, col.tooltip, false, grid.element);
// !nullOrEmpty(col.tooltip) && setTooltip(element, col.tooltip, false, grid.element);
element.dataset.type = type;
element.dataset.icon = val;
}
}
static setEnabled(element, enabled) {
super.setEnabled(element , enabled);
if (enabled === false) {
element.classList.add('disabled');
} else {
element.classList.remove('disabled');
}
const tooltip = element.querySelector('.ui-tooltip-wrapper');
if (tooltip != null) {
tooltip.style.display = enabled === false ? 'none' : '';
}
}
}