Files
LNXSDK/leenkx/Sources/leenkx/logicnode/RenderElementNode.hx
2026-07-13 15:44:52 -07:00

64 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 html: String = inputs[2].get();
if (html == null) { return; }
element.innerHTML = html;
runOutput(0);
case "innerText":
var html: String = inputs[2].get();
if (html == null){ return; }
element.innerText = html;
runOutput(0);
case "insertAdjacentHTML":
var tarElem = js.Browser.document.querySelector(selector);
tarElem.insertAdjacentHTML(property1,element);
runOutput(0);
default:
trace('Nothing to render');
}
#end
}
}