domelemjs 1.1.1 → 1.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.js +20 -18
- package/index.min.js +1 -1
- package/index.min.js.map +4 -3
- package/package.json +1 -1
- package/test/createDOMElem.html +8 -4
package/index.js
CHANGED
|
@@ -27,24 +27,26 @@ const createDOMElem = ({
|
|
|
27
27
|
*/
|
|
28
28
|
|
|
29
29
|
attrs &&
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
30
|
+
makeThatArray(attrs).forEach((atts) =>
|
|
31
|
+
Object.keys(atts).forEach((attr) => {
|
|
32
|
+
if (attr === "checked") {
|
|
33
|
+
elem.checked = atts[attr];
|
|
34
|
+
} else if (attr === "dataset") {
|
|
35
|
+
makeThatArray(atts[attr]).map((data) =>
|
|
36
|
+
Object.keys(data).forEach((d) => (elem.dataset[d] = data[d]))
|
|
37
|
+
);
|
|
38
|
+
} else if (attr === "class" || attr === "id") {
|
|
39
|
+
elem.setAttribute(
|
|
40
|
+
attr,
|
|
41
|
+
makeThatArray(atts[attr])
|
|
42
|
+
.map((a) => noSpecChars(a))
|
|
43
|
+
.join(" ")
|
|
44
|
+
);
|
|
45
|
+
} else {
|
|
46
|
+
elem.setAttribute(attr, makeThatArray(atts[attr]).join(" "));
|
|
47
|
+
}
|
|
48
|
+
})
|
|
49
|
+
);
|
|
48
50
|
|
|
49
51
|
/*
|
|
50
52
|
* Adding stye is possible as:
|
package/index.min.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const createDOMElem=({tag:tag,content:content,text:text,attrs:attrs,style:style,children:children,parent:parent,handleEvent:handleEvent})=>{let elem=document.createElement(tag);return content&&(elem.innerHTML=content),text&&(elem.textContent=text),attrs&&Object.keys(
|
|
1
|
+
const createDOMElem=({tag:tag,content:content,text:text,attrs:attrs,style:style,children:children,parent:parent,handleEvent:handleEvent})=>{let elem=document.createElement(tag);return content&&(elem.innerHTML=content),text&&(elem.textContent=text),attrs&&makeThatArray(attrs).forEach(atts=>Object.keys(atts).forEach(attr=>{"checked"===attr?elem.checked=atts[attr]:"dataset"===attr?makeThatArray(atts[attr]).map(data=>Object.keys(data).forEach(d=>elem.dataset[d]=data[d])):"class"===attr||"id"===attr?elem.setAttribute(attr,makeThatArray(atts[attr]).map(a=>noSpecChars(a)).join(" ")):elem.setAttribute(attr,makeThatArray(atts[attr]).join(" "))})),style&&makeThatArray(style).map(styleElem=>"object"==typeof styleElem?Object.keys(styleElem).map(styleTxt=>`${styleTxt}: ${styleElem[styleTxt]}`).join("; "):makeThatArray(styleElem).join("; ")).join("; ").split(";").forEach(styleTxts=>{let[styleTxt,val]=styleTxts.split(":").map(c=>c.trim());elem.style[makeCamelCase(styleTxt)]=val}),children&&makeThatArray(children).map(child=>{let childElem=child;"object"==typeof child&&(childElem=createDOMElem(child)),elem.appendChild(childElem)}),handleEvent&&makeThatArray(handleEvent).forEach(newEvent=>{elem.addEventListener(newEvent.event,newEvent.cb)}),parent?"string"==typeof parent&&(parent=[".","#"].map(prep=>document.querySelector(prep+parent)).filter(pe=>null!==pe)[0]):parent=document.querySelector("body"),parent.appendChild(elem),elem},DOMElem={Create:createDOMElem},noSpecChars=(text,lowercase=!1)=>{function replaceAll(string,search,replace){return string.split(search).join(replace)}let specialChars={"é":"e","á":"a","ó":"o","ö":"o","ő":"o","ú":"u","ü":"u","ű":"u","í":"i","É":"E","Á":"A","Ó":"O","Ö":"O","Ő":"O","Ú":"U","Ü":"U","Ű":"U","Í":"I"," ":"-","/":"-",":":"-",";":"-","=":"-"};for(let char in specialChars)text=replaceAll(text,char,specialChars[char]);return lowercase?text.toLowerCase():text},makeThatArray=arr=>Array.isArray(arr)?arr:[arr];function makeCamelCase(s){return s.split("-").map((ss,i)=>i>0?ss.charAt(0).toUpperCase()+ss.slice(1):ss).join("")}
|
|
2
2
|
//# sourceMappingURL=index.min.js.map
|
package/index.min.js.map
CHANGED
|
@@ -18,12 +18,13 @@
|
|
|
18
18
|
"createElement",
|
|
19
19
|
"innerHTML",
|
|
20
20
|
"textContent",
|
|
21
|
+
"makeThatArray",
|
|
22
|
+
"forEach",
|
|
23
|
+
"atts",
|
|
21
24
|
"Object",
|
|
22
25
|
"keys",
|
|
23
|
-
"forEach",
|
|
24
26
|
"attr",
|
|
25
27
|
"checked",
|
|
26
|
-
"makeThatArray",
|
|
27
28
|
"map",
|
|
28
29
|
"data",
|
|
29
30
|
"d",
|
|
@@ -94,6 +95,6 @@
|
|
|
94
95
|
"toUpperCase",
|
|
95
96
|
"slice"
|
|
96
97
|
],
|
|
97
|
-
"mappings": "AAAA,MAAMA,cAAgB,EACpBC,IAAAA,IACAC,QAAAA,QACAC,KAAAA,KACAC,MAAAA,MACAC,MAAAA,MACAC,SAAAA,SACAC,OAAAA,OACAC,YAAAA,gBAKA,IAAIC,KAAOC,SAASC,cAAcV,
|
|
98
|
+
"mappings": "AAAA,MAAMA,cAAgB,EACpBC,IAAAA,IACAC,QAAAA,QACAC,KAAAA,KACAC,MAAAA,MACAC,MAAAA,MACAC,SAAAA,SACAC,OAAAA,OACAC,YAAAA,gBAKA,IAAIC,KAAOC,SAASC,cAAcV,KA4GlC,OAvGAC,UAAYO,KAAKG,UAAYV,SAI7BC,OAASM,KAAKI,YAAcV,MAM5BC,OACEU,cAAcV,OAAOW,QAASC,MAC5BC,OAAOC,KAAKF,MAAMD,QAASI,OACZ,YAATA,KACFV,KAAKW,QAAUJ,KAAKG,MACF,YAATA,KACTL,cAAcE,KAAKG,OAAOE,IAAKC,MAC7BL,OAAOC,KAAKI,MAAMP,QAASQ,GAAOd,KAAKe,QAAQD,GAAKD,KAAKC,KAEzC,UAATJ,MAA6B,OAATA,KAC7BV,KAAKgB,aACHN,KACAL,cAAcE,KAAKG,OAChBE,IAAKK,GAAMC,YAAYD,IACvBE,KAAK,MAGVnB,KAAKgB,aAAaN,KAAML,cAAcE,KAAKG,OAAOS,KAAK,SAc/DvB,OACES,cAAcT,OACXgB,IAAKQ,WACqB,iBAAdA,UACFZ,OAAOC,KAAKW,WAChBR,IAAKS,UAAa,GAAGA,aAAaD,UAAUC,aAC5CF,KAAK,MAEDd,cAAce,WAAWD,KAAK,OAGxCA,KAAK,MACLG,MAAM,KACNhB,QAASiB,YACR,IAAKF,SAAUG,KAAOD,UAAUD,MAAM,KAAKV,IAAKa,GAAMA,EAAEC,QACxD1B,KAAKJ,MAAM+B,cAAcN,WAAaG,MAG5C3B,UACEQ,cAAcR,UAAUe,IAAKgB,QAC3B,IAAIC,UAAYD,MACK,iBAAVA,QAAoBC,UAAYtC,cAAcqC,QACzD5B,KAAK8B,YAAYD,aASrB9B,aACEM,cAAcN,aAAaO,QAASyB,WAClC/B,KAAKgC,iBAAiBD,SAASE,MAAOF,SAASG,MAY/CpC,OACoB,iBAAXA,SACTA,OAAS,CAAC,IAAK,KACZc,IAAKuB,MACGlC,SAASmC,cAAcD,KAAOrC,SAEtCuC,OAAQC,IACO,OAAPA,IACN,IAEFxC,OAASG,SAASmC,cAAc,QAEvCtC,OAAOgC,YAAY9B,MAKZA,MAIHuC,QAAU,CACdC,OAAQjD,eAQJ2B,YAAc,CAACxB,KAAM+C,WAAY,KACrC,SAASC,WAAWC,OAAQC,OAAQC,SAClC,OAAOF,OAAOrB,MAAMsB,QAAQzB,KAAK0B,SAGnC,IAAIC,aAAe,CACjBC,IAAG,IACHC,IAAG,IACHC,IAAG,IACHC,IAAG,IACHC,IAAG,IACHC,IAAG,IACHC,IAAG,IACHC,IAAG,IACHC,IAAG,IACHC,IAAG,IACHC,IAAG,IACHC,IAAG,IACHC,IAAG,IACHC,IAAG,IACHC,IAAG,IACHC,IAAG,IACHC,IAAG,IACHC,IAAG,IACHC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KAEP,IAAK,IAAIC,QAAQxB,aACfpD,KAAOgD,WAAWhD,KAAM4E,KAAMxB,aAAawB,OAE7C,OAAO7B,UAAY/C,KAAK6E,cAAgB7E,MAIpCW,cAAiBmE,KACjBC,MAAMC,QAAQF,KACTA,IAEA,CAACA,KAKZ,SAAS7C,cAAcgD,GACrB,OAAOA,EACJrD,MAAM,KACNV,IAAI,CAACgE,GAAIC,IACDA,EAAI,EAAID,GAAGE,OAAO,GAAGC,cAAgBH,GAAGI,MAAM,GAAKJ,IAE3DzD,KAAK",
|
|
98
99
|
"file": "index.js"
|
|
99
100
|
}
|
package/package.json
CHANGED
package/test/createDOMElem.html
CHANGED
|
@@ -27,10 +27,14 @@
|
|
|
27
27
|
text: "It's amazing",
|
|
28
28
|
parent: app,
|
|
29
29
|
style: { color: "red", backgroundColor: "pink" },
|
|
30
|
-
attrs:
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
30
|
+
attrs: [
|
|
31
|
+
{
|
|
32
|
+
id: "title2",
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
dataset: [{ text: "redText" }, { bg: "greenBG" }],
|
|
36
|
+
},
|
|
37
|
+
],
|
|
34
38
|
});
|
|
35
39
|
createDOMElem({
|
|
36
40
|
tag: "h3",
|