del to destroy
This commit is contained in:
2
dist/sigpro.js
vendored
2
dist/sigpro.js
vendored
File diff suppressed because one or more lines are too long
2
dist/sigpro.ui.js
vendored
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
@@ -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": {
|
||||||
|
|||||||
@@ -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;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -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