) {
COMPONENTS.forEach((node) => {
const { desc, image, imageStyle } = this._attrs(node);
const footerElm = node.firstElementChild;
this._setMainTemplate(node, desc, image, imageStyle);
this._setFooter(node, footerElm);
removeAttrs(node, ['desc', 'image', 'image-style']);
});
}
private _setMainTemplate(node: Element, desc: string, image: string, imageStyle: string): void {
const template = `
${desc == 'false' ? '' : desc}
`;
setHtml(node, template);
}
private _setFooter(node: Element, footerElm: Element | null): void {
if (!footerElm) return;
const footerTpl = ``;
node.insertAdjacentHTML('beforeend', footerTpl);
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
node.querySelector(`.${PREFIX.empty}-footer`)!.appendChild(footerElm);
}
private _attrs(node: Element) {
return {
desc: getStrTypeAttr(node, 'desc', '暂无数据'),
image: getStrTypeAttr(node, 'image', `${DefaultImage}`),
imageStyle: getStrTypeAttr(node, 'image-style', '')
};
}
}
export default Empty;