@alexgyver/component 1.0.14 → 1.0.16
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/component.js +8 -3
- package/package.json +1 -1
package/component.js
CHANGED
|
@@ -75,6 +75,8 @@ export class Component {
|
|
|
75
75
|
context {object} контекст для параметра 'var' и вызовов 'also'
|
|
76
76
|
text {string} добавить в textContent
|
|
77
77
|
html {string} добавить в innerHTML
|
|
78
|
+
attrs {object} добавить аттрибуты
|
|
79
|
+
props {object} добавить свойства
|
|
78
80
|
class {string} добавить в className
|
|
79
81
|
also {function} - вызвать с текущим компонентом: { ... , also(el) { console.log(el); }, }
|
|
80
82
|
export {array} - положить в 0 ячейку указанного массива
|
|
@@ -83,6 +85,7 @@ export class Component {
|
|
|
83
85
|
parent - {Element} добавляет компонент к указанному элементу (имеет смысл только для корневого компонента)
|
|
84
86
|
style {string | object} объект в виде { padding: '0px', ... } или строка css стилей
|
|
85
87
|
children - массив DOM, Component, object, html string
|
|
88
|
+
всё остальное будет добавлено как property
|
|
86
89
|
*/
|
|
87
90
|
/**
|
|
88
91
|
* Создать компонент
|
|
@@ -111,11 +114,13 @@ export class Component {
|
|
|
111
114
|
case 'also': if (context) val.call(context, $el); break;
|
|
112
115
|
case 'export': val[0] = $el; break;
|
|
113
116
|
case 'var': if (context) context['$' + val] = $el; break;
|
|
114
|
-
case 'events': for (
|
|
117
|
+
case 'events': for (let ev in val) if (val[ev]) $el.addEventListener(ev, val[ev].bind(context)); break;
|
|
115
118
|
case 'parent': if (val instanceof Element) val.append($el); break;
|
|
119
|
+
case 'attrs': for (let attr in val) $el.setAttribute(attr, val[attr]); break;
|
|
120
|
+
case 'props': for (let prop in val) $el[prop] = val[prop]; break;
|
|
116
121
|
case 'style':
|
|
117
122
|
if (typeof val === 'string') $el.style = val + ';';
|
|
118
|
-
else for (
|
|
123
|
+
else for (let st in val) $el.style[st] = val[st];
|
|
119
124
|
break;
|
|
120
125
|
case 'children':
|
|
121
126
|
for (const obj of val) {
|
|
@@ -130,7 +135,7 @@ export class Component {
|
|
|
130
135
|
}
|
|
131
136
|
}
|
|
132
137
|
break;
|
|
133
|
-
default: $el
|
|
138
|
+
default: $el[key] = val; break;
|
|
134
139
|
}
|
|
135
140
|
}
|
|
136
141
|
return $el;
|