Files
LNXSDK/leenkx/Sources/leenkx/logicnode/RenderElementNode.hx
2025-01-22 16:18:30 +01:00

62 lines
1.6 KiB
Haxe

package leenkx.logicnode;
class RenderElementNode extends LogicNode {
public var property0: String;
public var property1: String;
public function new(tree:LogicTree) {
super(tree);
}
override function run(from:Int) {
#if js
var element: Dynamic = inputs[1].get();
if (element == null){ return; }
var selector: String = inputs[2].get();
switch (property0) {
case "append":
var tarElem = js.Browser.document.querySelector(selector);
tarElem.append(element);
runOutput(0);
case "appendChild":
var tarElem = js.Browser.document.querySelector(selector);
tarElem.append(element);
runOutput(0);
case "appendTorrent":
element.appendTo(selector);
runOutput(0);
case "prepend":
var tarElem = js.Browser.document.querySelector(selector);
tarElem.prepend(element);
runOutput(0);
case "prependChild":
var tarElem = js.Browser.document.querySelector(selector);
tarElem.prepend(element);
runOutput(0);
case "innerHTML":
var tarElem = js.Browser.document.querySelector(selector);
tarElem.innerHTML = element.innerHTML;
runOutput(0);
case "innerText":
var tarElem = js.Browser.document.querySelector(selector);
tarElem.innerText = element.innerText;
runOutput(0);
case "insertAdjacentHTML":
var tarElem = js.Browser.document.querySelector(selector);
tarElem.insertAdjacentHTML(property1,element);
runOutput(0);
default:
trace('Nothing to render');
}
#end
}
}