for admin form page
This commit is contained in:
@@ -3,7 +3,7 @@
|
||||
* 提供用于创建和管理 DOM 元素的辅助函数
|
||||
*/
|
||||
|
||||
import { FIELD_TYPES } from './constants.js';
|
||||
import { FIELD_TYPES, DOM_CLASSES } from './constants.js';
|
||||
|
||||
/**
|
||||
* 从表元素中提取列宽度信息
|
||||
@@ -68,3 +68,40 @@ export const safelyAppendLabel = (targetElement, labelElement) => {
|
||||
return false;
|
||||
}
|
||||
};
|
||||
|
||||
const isRowElement = (element) => element?.classList?.contains(DOM_CLASSES.ROW_ELEMENT);
|
||||
const isFieldElement = (element) => element?.classList?.contains(DOM_CLASSES.FIELD_ELEMENT);
|
||||
|
||||
/**
|
||||
* 基于 DOM 类名判断字段类型的工具对象
|
||||
* 用于 admin 表单页面通过 DOM 元素判断字段类型
|
||||
*/
|
||||
export const FieldTypeCheckerForAdminDom = {
|
||||
isRowElement,
|
||||
isFieldElement,
|
||||
|
||||
isSubtable: (element) => {
|
||||
return !isRowElement(element) && !isFieldElement(element) &&
|
||||
element?.classList?.contains(DOM_CLASSES.SUBTABLE);
|
||||
},
|
||||
isGroup: (element) => {
|
||||
return isRowElement(element) &&
|
||||
!!element?.querySelector(`.${DOM_CLASSES.GROUP}`);
|
||||
},
|
||||
isReferenceTable: (element) => {
|
||||
return isRowElement(element) &&
|
||||
!!element?.querySelector(`.${DOM_CLASSES.REFERENCE_TABLE}`);
|
||||
},
|
||||
isSpacer: (element) => {
|
||||
return isFieldElement(element) &&
|
||||
element?.classList?.contains(DOM_CLASSES.SPACER);
|
||||
},
|
||||
isLabel: (element) => {
|
||||
return isFieldElement(element) &&
|
||||
element?.classList?.contains(DOM_CLASSES.LABEL);
|
||||
},
|
||||
isHr: (element) => {
|
||||
return isFieldElement(element) &&
|
||||
element?.classList?.contains(DOM_CLASSES.HR);
|
||||
},
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user