@whitesev/pops
Version:
弹窗库
56 lines (54 loc) • 1.55 kB
text/typescript
import type { PopsPanelFormsDetails } from "./formsType";
import { PopsPanelFormsTotalDetails } from "./indexType";
/**
* 右侧容器的配置
*/
export interface PopsPanelRightAsideContainerOptions {
/** 当前的<li>元素 */
target: HTMLLIElement | undefined;
/** 当前的<li>元素的父<ul>元素 */
ulElement: HTMLUListElement;
/** 当前的<li>元素所在的统一的<ul>元素 */
sectionContainerULElement?: HTMLUListElement;
/** */
formContainerListElement?: HTMLLIElement;
/** */
formHeaderDivElement?: HTMLElement | HTMLDivElement;
}
/**
* 通用配置
*/
export interface PopsPanelCommonDetails<
T extends PopsPanelFormsTotalDetails | PopsPanelFormsDetails
> {
/**
* 在添加到<ul>元素后触发该回调
* @param formConfig 配置
* @param container 右侧容器的元素
* @example
* // 例如在type为own时
* afterAddToUListCallBack(formConfig, container) {
* DOMUtils.on(
container.formHeaderDivElement.querySelector(
"a"
),
"click",
void 0,
() => {
PopsPanel.deleteValue("xxxx");
container.ulElement.querySelector(
"textarea"
).value = xxxxx.defaultValue;
Qmsg.success("已重置");
}
);
* }
*
* // 例如在type为forms时
* container内只有container.ulElement这个属性
*/
afterAddToUListCallBack?: (
formConfig: T,
container: PopsPanelRightAsideContainerOptions
) => void;
}