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
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
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": {
+7 -7
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;
}; };
+1 -1
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'}`