|
|
@ -16,6 +16,11 @@ const builder = { |
|
|
|
openedChain: {} |
|
|
|
}, |
|
|
|
|
|
|
|
componentFromHTML: function (htmlText) { |
|
|
|
let compel = new Component(new DOMParser().parseFromString(htmlText, "text/html")); |
|
|
|
return compel; |
|
|
|
}, |
|
|
|
|
|
|
|
/** |
|
|
|
* |
|
|
|
* @param {string} tag |
|
|
@ -47,82 +52,101 @@ const builder = { |
|
|
|
* @param {Map<string,string>} attr |
|
|
|
* @returns {Component} |
|
|
|
*/ |
|
|
|
input: function (attr = {}) { return builder.genTag("input", attr); }, |
|
|
|
inputTags: function (attr = {}) { |
|
|
|
return { |
|
|
|
button() { return builder.genTag("input", Object.assign(attr, { "type": "button" })) }, |
|
|
|
checkbox() { return builder.genTag("input", Object.assign(attr, { "type": "checkbox" })) }, |
|
|
|
color() { return builder.genTag("input", Object.assign(attr, { "type": "color" })) }, |
|
|
|
date() { return builder.genTag("input", Object.assign(attr, { "type": "date" })) }, |
|
|
|
datetime() { return builder.genTag("input", Object.assign(attr, { "type": "datetime" })) }, |
|
|
|
datetime_local() { return builder.genTag("input", Object.assign(attr, { "type": "datetime-local" })) }, |
|
|
|
email() { return builder.genTag("input", Object.assign(attr, { "type": "email" })) }, |
|
|
|
file() { return builder.genTag("input", Object.assign(attr, { "type": "file" })) }, |
|
|
|
image() { return builder.genTag("input", Object.assign(attr, { "type": "image" })) }, |
|
|
|
month() { return builder.genTag("input", Object.assign(attr, { "type": "month" })) }, |
|
|
|
number() { return builder.genTag("input", Object.assign(attr, { "type": "number" })) }, |
|
|
|
password() { return builder.genTag("input", Object.assign(attr, { "type": "password" })) }, |
|
|
|
radio() { return builder.genTag("input", Object.assign(attr, { "type": "radio" })) }, |
|
|
|
range() { return builder.genTag("input", Object.assign(attr, { "type": "range" })) }, |
|
|
|
reset() { return builder.genTag("input", Object.assign(attr, { "type": "reset" })) }, |
|
|
|
search() { return builder.genTag("input", Object.assign(attr, { "type": "search" })) }, |
|
|
|
submit() { return builder.genTag("input", Object.assign(attr, { "type": "submit" })) }, |
|
|
|
tel() { return builder.genTag("input", Object.assign(attr, { "type": "tel" })) }, |
|
|
|
text() { return builder.genTag("input", Object.assign(attr, { "type": "text" })) }, |
|
|
|
time() { return builder.genTag("input", Object.assign(attr, { "type": "time" })) }, |
|
|
|
url() { return builder.genTag("input", Object.assign(attr, { "type": "url" })) }, |
|
|
|
week() { return builder.genTag("input", Object.assign(attr, { "type": "week" })) } |
|
|
|
} |
|
|
|
input: function (type, attr = {}) { |
|
|
|
return new InputComponent( |
|
|
|
document.createElement("input"), |
|
|
|
Object.assign({ "type": type }, attr) |
|
|
|
) |
|
|
|
.addStyleClass(`el-input`); |
|
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
* |
|
|
|
* @param {Map<string,string>} attr |
|
|
|
* @returns {Function<Component>} |
|
|
|
*/ |
|
|
|
inputTags: Object.freeze({ |
|
|
|
button: function (attr = {}) { return builder.input("button", attr) }, |
|
|
|
checkbox: function (attr = {}) { return builder.input("checkbox", attr) }, |
|
|
|
color: function (attr = {}) { return builder.input("color", attr) }, |
|
|
|
date: function (attr = {}) { return builder.input("date", attr) }, |
|
|
|
datetime: function (attr = {}) { return builder.input("datetime", attr) }, |
|
|
|
datetime_local: function (attr = {}) { return builder.input("datetime-local", attr) }, |
|
|
|
email: function (attr = {}) { return builder.input("email", attr) }, |
|
|
|
file: function (attr = {}) { return builder.input("file", attr) }, |
|
|
|
image: function (attr = {}) { return builder.input("image", attr) }, |
|
|
|
month: function (attr = {}) { return builder.input("month", attr) }, |
|
|
|
number: function (attr = {}) { return builder.input("number", attr) }, |
|
|
|
password: function (attr = {}) { return builder.input("password", attr) }, |
|
|
|
radio: function (attr = {}) { return builder.input("radio", attr) }, |
|
|
|
range: function (attr = {}) { return builder.input("range", attr) }, |
|
|
|
reset: function (attr = {}) { return builder.input("reset", attr) }, |
|
|
|
search: function (attr = {}) { return builder.input("search", attr) }, |
|
|
|
submit: function (attr = {}) { return builder.input("submit", attr) }, |
|
|
|
tel: function (attr = {}) { return builder.input("tel", attr) }, |
|
|
|
text: function (attr = {}) { return builder.input("text", attr) }, |
|
|
|
time: function (attr = {}) { return builder.input("time", attr) }, |
|
|
|
url: function (attr = {}) { return builder.input("url", attr) }, |
|
|
|
week: function (attr = {}) { return builder.input("week", attr) } |
|
|
|
}), |
|
|
|
|
|
|
|
/** |
|
|
|
* |
|
|
|
* @param {Map<string,string>} attr |
|
|
|
* @returns {Component} |
|
|
|
*/ |
|
|
|
div: function (attr = {}) { return builder.genTag("div", attr); }, |
|
|
|
|
|
|
|
/** |
|
|
|
* |
|
|
|
* @param {Map<string,string>} attr |
|
|
|
* @returns {Component} |
|
|
|
*/ |
|
|
|
span: function (attr = {}) { return builder.genTag("span", attr); }, |
|
|
|
|
|
|
|
/** |
|
|
|
* |
|
|
|
* @param {Map<string,string>} attr |
|
|
|
* @returns {Component} |
|
|
|
*/ |
|
|
|
paragraph: function (attr = {}) { return builder.genTag("p", attr); }, |
|
|
|
|
|
|
|
/** |
|
|
|
* |
|
|
|
* @param {Map<string,string>} attr |
|
|
|
* @returns {Component} |
|
|
|
*/ |
|
|
|
header: function (sizeGroup, attr = {}) { return builder.genTag(`h${sizeGroup}`, attr); }, |
|
|
|
|
|
|
|
/** |
|
|
|
* |
|
|
|
* @param {Map<string,string>} attr |
|
|
|
* @returns {Component} |
|
|
|
*/ |
|
|
|
checkbox: function (attr = {}) { return builder.input({ "type": "checkbox" }) }, |
|
|
|
|
|
|
|
/** |
|
|
|
* |
|
|
|
* @param {Map<string,string>} attr |
|
|
|
* @returns {Component} |
|
|
|
*/ |
|
|
|
select: function (attr = {}) { return builder.genTag("select", attr); }, |
|
|
|
|
|
|
|
/** |
|
|
|
* |
|
|
|
* @param {Map<string,string>} attr |
|
|
|
* @returns {Component} |
|
|
|
*/ |
|
|
|
option: function (attr = {}) { return builder.genTag("option", attr); }, |
|
|
|
|
|
|
|
/** |
|
|
|
* |
|
|
|
* @param {Map<string,string>} attr |
|
|
|
* @returns {Component} |
|
|
|
*/ |
|
|
|
radioBtn: function (attr = {}) { return builder.genTag("radioBtn", attr); }, |
|
|
|
|
|
|
|
/** |
|
|
|
* |
|
|
|
* @param {Map<string,string>} attr |
|
|
@ -141,62 +165,90 @@ const builder = { |
|
|
|
* @param {Map<string,string>} attr |
|
|
|
* @returns {Component} |
|
|
|
*/ |
|
|
|
textarea: function (attr = {}) { return builder.genTag("textarea", attr); }, |
|
|
|
textarea: function (attr = {}) { |
|
|
|
return new InputComponentComponent( |
|
|
|
document.createElement("textarea"), |
|
|
|
attr |
|
|
|
) |
|
|
|
.addStyleClass(`el-textarea`); |
|
|
|
}, |
|
|
|
|
|
|
|
/** |
|
|
|
* |
|
|
|
* @param {Map<string,string>} attr |
|
|
|
* @returns {Component} |
|
|
|
*/ |
|
|
|
table: function (attr = {}) { return builder.genTag("table", attr) }, |
|
|
|
table: function (attr = {}) { |
|
|
|
return builder.genTag("table", attr) |
|
|
|
.chainModifier() |
|
|
|
.removeStyleRule("display") |
|
|
|
.toComponent(); |
|
|
|
}, |
|
|
|
|
|
|
|
/** |
|
|
|
* |
|
|
|
* @param {Map<string,string>} attr |
|
|
|
* @returns {Component} |
|
|
|
*/ |
|
|
|
tableRow: function (attr = {}) { return builder.genTag("tr", attr) }, |
|
|
|
tableRow: function (attr = {}) { return builder.genTag("tr", attr); }, |
|
|
|
|
|
|
|
/** |
|
|
|
* |
|
|
|
* @param {Map<string,string>} attr |
|
|
|
* @returns {Component} |
|
|
|
*/ |
|
|
|
tableCell: function (attr = {}) { return builder.genTag("td", attr) }, |
|
|
|
tableCell: function (attr = {}) { return builder.genTag("td", attr); }, |
|
|
|
|
|
|
|
/** |
|
|
|
* |
|
|
|
* @param {Map<string,string>} attr |
|
|
|
* @returns {Component} |
|
|
|
*/ |
|
|
|
tableCaption: function (attr = {}) { return builder.genTag("caption", attr) }, |
|
|
|
tableCaption: function (attr = {}) { return builder.genTag("caption", attr); }, |
|
|
|
|
|
|
|
/** |
|
|
|
* |
|
|
|
* @param {Map<string,string>} attr |
|
|
|
* @returns {Component} |
|
|
|
*/ |
|
|
|
tableHeadCell: function (attr = {}) { return builder.genTag("th", attr) }, |
|
|
|
tableHeadCell: function (attr = {}) { return builder.genTag("th", attr); }, |
|
|
|
|
|
|
|
/** |
|
|
|
* |
|
|
|
* @param {Map<string,string>} attr |
|
|
|
* @returns {Component} |
|
|
|
*/ |
|
|
|
tableBody: function (attr = {}) { return builder.genTag("tbody", attr) }, |
|
|
|
tableBody: function (attr = {}) { |
|
|
|
return builder.genTag("tbody", attr) |
|
|
|
.chainModifier() |
|
|
|
.removeStyleRule("display") |
|
|
|
.toComponent(); |
|
|
|
}, |
|
|
|
|
|
|
|
/** |
|
|
|
* |
|
|
|
* @param {Map<string,string>} attr |
|
|
|
* @returns {Component} |
|
|
|
*/ |
|
|
|
tableHead: function (attr = {}) { return builder.genTag("thead", attr) }, |
|
|
|
tableHead: function (attr = {}) { |
|
|
|
return builder.genTag("thead", attr) |
|
|
|
.chainModifier() |
|
|
|
.removeStyleRule("display") |
|
|
|
.toComponent(); |
|
|
|
}, |
|
|
|
|
|
|
|
/** |
|
|
|
* |
|
|
|
* @param {Map<string,string>} attr |
|
|
|
* @returns {Component} |
|
|
|
*/ |
|
|
|
tableFooter: function (attr = {}) { return builder.genTag("tfoot", attr) }, |
|
|
|
tableFooter: function (attr = {}) { |
|
|
|
return builder.genTag("tfoot", attr) |
|
|
|
.chainModifier() |
|
|
|
.removeStyleRule("display") |
|
|
|
.toComponent(); |
|
|
|
}, |
|
|
|
|
|
|
|
/** |
|
|
|
* |
|
|
|
* @param {Map<string,string>} attr |
|
|
|