forked from LeenkxTeam/LNXSDK
108 lines
3.2 KiB
Haxe
108 lines
3.2 KiB
Haxe
package leenkx.logicnode;
|
|
|
|
|
|
class CreateElementNode extends LogicNode {
|
|
public var property0: String;
|
|
public var element: Dynamic;
|
|
public var html: String;
|
|
|
|
public function new(tree:LogicTree) {
|
|
super(tree);
|
|
}
|
|
|
|
override function get(from: Int): Dynamic {
|
|
|
|
return switch (from) {
|
|
case 0:
|
|
switch (property0) {
|
|
#if js
|
|
case "a":
|
|
var element:Dynamic = js.Browser.document.createElement(property0);
|
|
element.id = inputs[1].get();
|
|
var classes: Array<String> = inputs[2].get().split(" ");
|
|
if(classes.length > 0){
|
|
for (i in 0...classes.length){
|
|
if(classes[i].length > 0){
|
|
element.classList.add(classes[i]);
|
|
}
|
|
}
|
|
}
|
|
element.href = inputs[2].get();
|
|
element.innerHTML = inputs[0].get();
|
|
element;
|
|
case "link":
|
|
var element:Dynamic = js.Browser.document.createElement(property0);
|
|
element.href = inputs[4].get();
|
|
element.type = "text/css";
|
|
element;
|
|
case "script":
|
|
var element:Dynamic = js.Browser.document.createElement(property0);
|
|
element.src = inputs[5].get();
|
|
element;
|
|
case "img":
|
|
var element:Dynamic = js.Browser.document.createElement(property0);
|
|
element.id = inputs[1].get();
|
|
var classes: Array<String> = inputs[2].get().split(" ");
|
|
if(classes.length > 0){
|
|
for (i in 0...classes.length){
|
|
if(classes[i].length > 0){
|
|
element.classList.add(classes[i]);
|
|
}
|
|
}
|
|
}
|
|
element.src = inputs[4].get();
|
|
element.innerHTML = inputs[0].get();
|
|
element;
|
|
default:
|
|
var element:Dynamic = js.Browser.document.createElement(property0);
|
|
element.id = inputs[1].get();
|
|
var classes: Array<String> = inputs[2].get().split(" ");
|
|
if(classes.length > 0){
|
|
for (i in 0...classes.length){
|
|
if(classes[i].length > 0){
|
|
element.classList.add(classes[i]);
|
|
}
|
|
}
|
|
}
|
|
if(inputs[3].get() != null){
|
|
trace("Inline data is only for html type for now.");
|
|
}
|
|
element.innerHTML = inputs[0].get();
|
|
element;
|
|
#else
|
|
default: null;
|
|
#end
|
|
}
|
|
case 1:
|
|
switch (property0) {
|
|
case "a":
|
|
var id = inputs[1].get();
|
|
var cls = inputs[2].get();
|
|
var href = inputs[4].get();
|
|
var content = inputs[0].get();
|
|
html = "<" + property0 + " id='" + id + "' class='" + cls + "' href='" + href + "'>" + content + "</" + property0 + ">";
|
|
html;
|
|
case "script":
|
|
var src = inputs[5].get();
|
|
html = "<" + property0 + " src='" + src + "' type='text/javascript'>";
|
|
html;
|
|
case "img":
|
|
var id = inputs[0].get();
|
|
var src = inputs[1].get();
|
|
var cls = inputs[2].get();
|
|
var inl = inputs[3].get();
|
|
html = "<" + property0 + " id='" + id + "' class='" + cls + "' src='" + src + "' " + inl + ">";
|
|
html;
|
|
default:
|
|
var id = inputs[1].get();
|
|
var cls = inputs[2].get();
|
|
var inl = inputs[3].get();
|
|
var content = inputs[0].get();
|
|
html = "<" + property0 + " id='" + id + "' class='" + cls + "' style='" + inl + "'>" + content + "</" + property0 + ">";
|
|
html;
|
|
}
|
|
default: html;
|
|
}
|
|
}
|
|
}
|