You've already forked obsidian-visualiser
Try to add character editor inside the character sheet
This commit is contained in:
@@ -226,17 +226,20 @@ const iconLoadingRegistry: Map<string, Promise<Required<IconifyIcon>> | null | u
|
||||
export function icon(name: Reactive<string>, properties?: IconProperties)
|
||||
{
|
||||
const element = dom('div', { class: properties?.class, style: properties?.style });
|
||||
let timeout: NodeJS.Timeout = setTimeout(() => {}, 0);
|
||||
|
||||
const build = (icon: IconifyIcon | null | undefined) => {
|
||||
if(!icon) return element.replaceChildren();
|
||||
if(!icon) return clearTimeout(timeout) ?? element.replaceChildren();
|
||||
const built = buildIcon(icon, properties);
|
||||
const dom = svg('svg', { attributes: built.attributes });
|
||||
dom.innerHTML = built.body;
|
||||
clearTimeout(timeout);
|
||||
element.replaceChildren(dom);
|
||||
}
|
||||
reactivity(name, (name) => {
|
||||
if(!iconLoaded(name))
|
||||
{
|
||||
element.replaceChildren(loading('small'));
|
||||
timeout = setTimeout(() => { element.replaceChildren(loading('small')); }, 100);
|
||||
if(!iconLoadingRegistry.has(name)) iconLoadingRegistry.set(name, loadIcon(name));
|
||||
iconLoadingRegistry.get(name)?.then(build);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user