domelemjs 1.1.2 → 1.1.5
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 -20
- package/index.min.js +1 -1
- package/index.min.js.map +5 -2
- package/package.json +1 -1
- package/test/createDOMElem.html +5 -1
package/index.js
CHANGED
|
@@ -26,6 +26,8 @@ const createDOMElem = ({
|
|
|
26
26
|
* add all the attributes they want
|
|
27
27
|
*/
|
|
28
28
|
|
|
29
|
+
const noSpecChAttrs = ["class", "id"];
|
|
30
|
+
|
|
29
31
|
attrs &&
|
|
30
32
|
makeThatArray(attrs).forEach((atts) =>
|
|
31
33
|
Object.keys(atts).forEach((attr) => {
|
|
@@ -35,15 +37,13 @@ const createDOMElem = ({
|
|
|
35
37
|
makeThatArray(atts[attr]).map((data) =>
|
|
36
38
|
Object.keys(data).forEach((d) => (elem.dataset[d] = data[d]))
|
|
37
39
|
);
|
|
38
|
-
} else
|
|
40
|
+
} else {
|
|
39
41
|
elem.setAttribute(
|
|
40
42
|
attr,
|
|
41
43
|
makeThatArray(atts[attr])
|
|
42
|
-
.map((a) => noSpecChars(a))
|
|
44
|
+
.map((a) => (noSpecChAttrs.includes(attr) ? noSpecChars(a) : a))
|
|
43
45
|
.join(" ")
|
|
44
46
|
);
|
|
45
|
-
} else {
|
|
46
|
-
elem.setAttribute(attr, makeThatArray(atts[attr]).join(" "));
|
|
47
47
|
}
|
|
48
48
|
})
|
|
49
49
|
);
|
|
@@ -77,9 +77,9 @@ const createDOMElem = ({
|
|
|
77
77
|
|
|
78
78
|
children &&
|
|
79
79
|
makeThatArray(children).map((child) => {
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
80
|
+
elem.appendChild(
|
|
81
|
+
typeof child === "object" ? createDOMElem(child) : child
|
|
82
|
+
);
|
|
83
83
|
});
|
|
84
84
|
|
|
85
85
|
/*
|
|
@@ -157,24 +157,24 @@ const noSpecChars = (text, lowercase = false) => {
|
|
|
157
157
|
Ű: "U",
|
|
158
158
|
Í: "I",
|
|
159
159
|
" ": "-",
|
|
160
|
-
"/": "
|
|
161
|
-
":": "
|
|
162
|
-
";": "
|
|
163
|
-
"=": "
|
|
160
|
+
"/": "",
|
|
161
|
+
":": "",
|
|
162
|
+
";": "",
|
|
163
|
+
"=": "",
|
|
164
|
+
"*": "",
|
|
165
|
+
"?": "",
|
|
164
166
|
};
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
167
|
+
|
|
168
|
+
Object.keys(specialChars).forEach(
|
|
169
|
+
(char) => (text = replaceAll(text, char, specialChars[char]))
|
|
170
|
+
);
|
|
171
|
+
|
|
168
172
|
return lowercase ? text.toLowerCase() : text;
|
|
169
173
|
};
|
|
170
174
|
|
|
171
|
-
/* check is it is array do nothing, if not
|
|
175
|
+
/* check is it is array do nothing, if not make it array */
|
|
172
176
|
const makeThatArray = (arr) => {
|
|
173
|
-
|
|
174
|
-
return arr;
|
|
175
|
-
} else {
|
|
176
|
-
return [arr];
|
|
177
|
-
}
|
|
177
|
+
return Array.isArray(arr) ? arr : [arr];
|
|
178
178
|
};
|
|
179
179
|
|
|
180
180
|
/* removing the "-" symbol form the string adn makind the afterward word to uppercase, that is named as camelCase */
|
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);
|
|
1
|
+
const createDOMElem=({tag:tag,content:content,text:text,attrs:attrs,style:style,children:children,parent:parent,handleEvent:handleEvent})=>{let elem=document.createElement(tag);content&&(elem.innerHTML=content),text&&(elem.textContent=text);const noSpecChAttrs=["class","id"];return 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])):elem.setAttribute(attr,makeThatArray(atts[attr]).map(a=>noSpecChAttrs.includes(attr)?noSpecChars(a):a).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=>{elem.appendChild("object"==typeof child?createDOMElem(child):child)}),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"," ":"-","/":"",":":"",";":"","=":"","*":"","?":""};return Object.keys(specialChars).forEach(char=>text=replaceAll(text,char,specialChars[char])),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,6 +18,7 @@
|
|
|
18
18
|
"createElement",
|
|
19
19
|
"innerHTML",
|
|
20
20
|
"textContent",
|
|
21
|
+
"noSpecChAttrs",
|
|
21
22
|
"makeThatArray",
|
|
22
23
|
"forEach",
|
|
23
24
|
"atts",
|
|
@@ -31,6 +32,7 @@
|
|
|
31
32
|
"dataset",
|
|
32
33
|
"setAttribute",
|
|
33
34
|
"a",
|
|
35
|
+
"includes",
|
|
34
36
|
"noSpecChars",
|
|
35
37
|
"join",
|
|
36
38
|
"styleElem",
|
|
@@ -42,7 +44,6 @@
|
|
|
42
44
|
"trim",
|
|
43
45
|
"makeCamelCase",
|
|
44
46
|
"child",
|
|
45
|
-
"childElem",
|
|
46
47
|
"appendChild",
|
|
47
48
|
"newEvent",
|
|
48
49
|
"addEventListener",
|
|
@@ -83,6 +84,8 @@
|
|
|
83
84
|
":",
|
|
84
85
|
";",
|
|
85
86
|
"=",
|
|
87
|
+
"*",
|
|
88
|
+
"?",
|
|
86
89
|
"char",
|
|
87
90
|
"toLowerCase",
|
|
88
91
|
"arr",
|
|
@@ -95,6 +98,6 @@
|
|
|
95
98
|
"toUpperCase",
|
|
96
99
|
"slice"
|
|
97
100
|
],
|
|
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,
|
|
101
|
+
"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,KAKlCC,UAAYO,KAAKG,UAAYV,SAI7BC,OAASM,KAAKI,YAAcV,MAM5B,MAAMW,cAAgB,CAAC,QAAS,MA6FhC,OA3FAV,OACEW,cAAcX,OAAOY,QAASC,MAC5BC,OAAOC,KAAKF,MAAMD,QAASI,OACZ,YAATA,KACFX,KAAKY,QAAUJ,KAAKG,MACF,YAATA,KACTL,cAAcE,KAAKG,OAAOE,IAAKC,MAC7BL,OAAOC,KAAKI,MAAMP,QAASQ,GAAOf,KAAKgB,QAAQD,GAAKD,KAAKC,KAG3Df,KAAKiB,aACHN,KACAL,cAAcE,KAAKG,OAChBE,IAAKK,GAAOb,cAAcc,SAASR,MAAQS,YAAYF,GAAKA,GAC5DG,KAAK,SAelBzB,OACEU,cAAcV,OACXiB,IAAKS,WACqB,iBAAdA,UACFb,OAAOC,KAAKY,WAChBT,IAAKU,UAAa,GAAGA,aAAaD,UAAUC,aAC5CF,KAAK,MAEDf,cAAcgB,WAAWD,KAAK,OAGxCA,KAAK,MACLG,MAAM,KACNjB,QAASkB,YACR,IAAKF,SAAUG,KAAOD,UAAUD,MAAM,KAAKX,IAAKc,GAAMA,EAAEC,QACxD5B,KAAKJ,MAAMiC,cAAcN,WAAaG,MAG5C7B,UACES,cAAcT,UAAUgB,IAAKiB,QAC3B9B,KAAK+B,YACc,iBAAVD,MAAqBvC,cAAcuC,OAASA,SAUzD/B,aACEO,cAAcP,aAAaQ,QAASyB,WAClChC,KAAKiC,iBAAiBD,SAASE,MAAOF,SAASG,MAY/CrC,OACoB,iBAAXA,SACTA,OAAS,CAAC,IAAK,KACZe,IAAKuB,MACGnC,SAASoC,cAAcD,KAAOtC,SAEtCwC,OAAQC,IACO,OAAPA,IACN,IAEFzC,OAASG,SAASoC,cAAc,QAEvCvC,OAAOiC,YAAY/B,MAKZA,MAIHwC,QAAU,CACdC,OAAQlD,eAQJ6B,YAAc,CAAC1B,KAAMgD,WAAY,KACrC,SAASC,WAAWC,OAAQC,OAAQC,SAClC,OAAOF,OAAOpB,MAAMqB,QAAQxB,KAAKyB,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,GACLC,IAAK,GACLC,IAAK,GACLC,IAAK,GACLC,IAAK,GACLC,IAAK,IAOP,OAJA/D,OAAOC,KAAKqC,cAAcxC,QACvBkE,MAAU/E,KAAOiD,WAAWjD,KAAM+E,KAAM1B,aAAa0B,QAGjD/B,UAAYhD,KAAKgF,cAAgBhF,MAIpCY,cAAiBqE,KACdC,MAAMC,QAAQF,KAAOA,IAAM,CAACA,KAIrC,SAAS9C,cAAciD,GACrB,OAAOA,EACJtD,MAAM,KACNX,IAAI,CAACkE,GAAIC,IACDA,EAAI,EAAID,GAAGE,OAAO,GAAGC,cAAgBH,GAAGI,MAAM,GAAKJ,IAE3D1D,KAAK",
|
|
99
102
|
"file": "index.js"
|
|
100
103
|
}
|
package/package.json
CHANGED
package/test/createDOMElem.html
CHANGED
|
@@ -20,7 +20,11 @@
|
|
|
20
20
|
text: "Hello World!",
|
|
21
21
|
parent: app,
|
|
22
22
|
style: "color: red; background-color: green",
|
|
23
|
-
attrs: {
|
|
23
|
+
attrs: {
|
|
24
|
+
id: "title1",
|
|
25
|
+
class: "áéőúóüűöí/*-",
|
|
26
|
+
dataset: { text: "redText" },
|
|
27
|
+
},
|
|
24
28
|
});
|
|
25
29
|
createDOMElem({
|
|
26
30
|
tag: "h2",
|