del to destroy

This commit is contained in:
2026-05-14 14:28:07 +02:00
parent 3fe05d40e6
commit 651d9587c2
7 changed files with 13 additions and 13 deletions

2
dist/sigpro.js vendored

File diff suppressed because one or more lines are too long

2
dist/sigpro.ui.js vendored

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,6 +1,6 @@
{ {
"name": "sigpro", "name": "sigpro",
"version": "1.2.39", "version": "1.2.40",
"type": "module", "type": "module",
"license": "MIT", "license": "MIT",
"author": { "author": {

View File

@@ -173,7 +173,7 @@ export const h = (tag, prp = {}, ch = []) => {
let anc = txt(""), cur = []; el.appendChild(anc); let anc = txt(""), cur = []; el.appendChild(anc);
let e = createEffect(() => { let e = createEffect(() => {
let r = c(), nxt = (isA(r) ? r : [r]).map(toNd), ref = anc; let r = c(), nxt = (isA(r) ? r : [r]).map(toNd), ref = anc;
cur.forEach(n => { n._rt ? n._del() : clnNd(n); if (n.parentNode) n.remove(); }); cur.forEach(n => { n._rt ? n.destroy() : clnNd(n); if (n.parentNode) n.remove(); });
for (let i = nxt.length - 1; i >= 0; i--) { for (let i = nxt.length - 1; i >= 0; i--) {
let nd = nxt[i]; let nd = nxt[i];
if (nd.parentNode !== ref.parentNode) ref.parentNode?.insertBefore(nd, ref); if (nd.parentNode !== ref.parentNode) ref.parentNode?.insertBefore(nd, ref);
@@ -196,22 +196,22 @@ export const render = rFn => {
aOwn = { _c: c }; aEff = null; aOwn = { _c: c }; aEff = null;
const pRes = r => { const pRes = r => {
if (!r) return; if (!r) return;
if (r._rt) { c.add(r._del); cnt.appendChild(r._cnt); } if (r._rt) { c.add(r.destroy); cnt.appendChild(r._cnt); }
else if (isA(r)) r.forEach(pRes); else if (isA(r)) r.forEach(pRes);
else cnt.appendChild(r instanceof Node ? r : txt(r)); else cnt.appendChild(r instanceof Node ? r : txt(r));
}; };
try { pRes(rFn({ onCleanup: f => c.add(f) })); } finally { aOwn = pO; aEff = pE; } try { pRes(rFn({ onCleanup: f => c.add(f) })); } finally { aOwn = pO; aEff = pE; }
return { _rt: 1, _cnt: cnt, _del: () => { clr(c); clnNd(cnt); cnt.remove(); } }; return { _rt: 1, _cnt: cnt, destroy: () => { clr(c); clnNd(cnt); cnt.remove(); } };
}; };
const when = (c, Y, N = null) => { const when = (c, Y, N = null) => {
let anc = txt(""), rt = h("div", { style: "display:contents" }, [anc]), v; let anc = txt(""), rt = h("div", { style: "display:contents" }, [anc]), v;
watch(() => !!val(c), s => { watch(() => !!val(c), s => {
if (v) { v._del(); v = null; } if (v) { v.destroy(); v = null; }
let ct = s ? Y : N; let ct = s ? Y : N;
if (ct) { v = render(() => val(ct)); rt.insertBefore(v._cnt, anc); } if (ct) { v = render(() => val(ct)); rt.insertBefore(v._cnt, anc); }
}); });
onUnmount(() => v?._del()); return rt; onUnmount(() => v?.destroy()); return rt;
}; };
export const each = (s, fn, kF) => { export const each = (s, fn, kF) => {
@@ -223,7 +223,7 @@ export const each = (s, fn, kF) => {
if (!v) v = render(() => fn(t, i)); else cch.delete(k); if (!v) v = render(() => fn(t, i)); else cch.delete(k);
nCc.set(k, v); nOd.push(v); nCc.set(k, v); nOd.push(v);
} }
cch.forEach(v => v._del()); cch.forEach(v => v.destroy());
let ref = anc; let ref = anc;
for (let i = nOd.length - 1; i >= 0; i--) { for (let i = nOd.length - 1; i >= 0; i--) {
let nd = nOd[i]._cnt; let nd = nOd[i]._cnt;
@@ -237,7 +237,7 @@ export const each = (s, fn, kF) => {
export const mount = (c, tgt) => { export const mount = (c, tgt) => {
let t = typeof tgt == "string" ? doc.querySelector(tgt) : tgt; let t = typeof tgt == "string" ? doc.querySelector(tgt) : tgt;
if (!t) return; if (!t) return;
if (MOUNTED.has(t)) MOUNTED.get(t)._del(); if (MOUNTED.has(t)) MOUNTED.get(t).destroy();
let i = render(isF(c) ? c : () => c); let i = render(isF(c) ? c : () => c);
t.replaceChildren(i._cnt); MOUNTED.set(t, i); return i; t.replaceChildren(i._cnt); MOUNTED.set(t, i); return i;
}; };

View File

@@ -321,7 +321,7 @@ export const toast = (m, t = "alert-success", d = 3500) => {
const i = mount(() => { const i = mount(() => {
let v = $(0), l = $(0); let v = $(0), l = $(0);
E = () => l() || (l(1), clearTimeout(T), setTimeout(() => (i._del(), w.remove(), C.firstChild || C.remove()), 300)); E = () => l() || (l(1), clearTimeout(T), setTimeout(() => (i.destroy(), w.remove(), C.firstChild || C.remove()), 300));
setTimeout(() => v(1)); setTimeout(() => v(1));
return h("div", { return h("div", {
class: () => `alert alert-soft ${t} shadow-lg transition-all duration-300 inline-flex w-auto pointer-events-auto ${l() ? 'translate-x-full opacity-0' : v() ? 'translate-x-0 opacity-100' : 'translate-x-10 opacity-0'}` class: () => `alert alert-soft ${t} shadow-lg transition-all duration-300 inline-flex w-auto pointer-events-auto ${l() ? 'translate-x-full opacity-0' : v() ? 'translate-x-0 opacity-100' : 'translate-x-10 opacity-0'}`