mirror of
https://github.com/mickael-kerjean/filestash
synced 2025-12-15 21:04:46 +01:00
31 lines
1.3 KiB
JavaScript
31 lines
1.3 KiB
JavaScript
import rxjs from "./index.js";
|
|
|
|
export function textContent($node, selector = "") {
|
|
if (selector) $node = $node.querySelector(selector);
|
|
if (!$node) throw new Error("dom not found for '" + selector + "'");
|
|
return rxjs.tap((val) => $node.textContent = val);
|
|
}
|
|
|
|
export function htmlContent($node, selector = "") {
|
|
if (selector) $node = $node.querySelector(selector);
|
|
if (!$node) throw new Error("dom not found for '" + selector + "'");
|
|
return rxjs.tap((val) => $node.innerHTML = val);
|
|
}
|
|
|
|
export function setAttribute($node, selector = "", attr = "") {
|
|
if (selector) $node = $node.querySelector(selector);
|
|
if (!$node) throw new Error("dom not found for '" + selector + "'");
|
|
return rxjs.tap((val) => ($node.getAttribute(attr) != val) && $node.setAttribute(attr, val));
|
|
}
|
|
|
|
export function removeAttribute($node, selector = "", attr = "") {
|
|
if (selector) $node = $node.querySelector(selector);
|
|
if (!$node) throw new Error("dom not found for '" + selector + "'");
|
|
return rxjs.tap(() => $node.removeAttribute(attr));
|
|
}
|
|
|
|
export function getAttribute($node, selector = "", attr = "") {
|
|
if (selector) $node = $node.querySelector(selector);
|
|
if (!$node) throw new Error("dom not found for '" + selector + "'");
|
|
return rxjs.map(() => $node.getAttribute(attr))
|
|
}
|