del to destroy
This commit is contained in:
Vendored
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
@@ -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
@@ -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
@@ -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'}`
|
||||||
|
|||||||
Reference in New Issue
Block a user