@alexgyver/component 1.1.3 → 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/Component.js +14 -11
- package/package.json +1 -1
package/Component.js
CHANGED
|
@@ -15,19 +15,21 @@ export class Component {
|
|
|
15
15
|
* @param {object} data параметры
|
|
16
16
|
* @returns {Node}
|
|
17
17
|
* @params
|
|
18
|
-
* tag {string} тег html элемента (для указания в children например)
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
18
|
+
* tag {string} - тег html элемента (для указания в children например)
|
|
19
|
+
* svg {boolean} - создавать как SVG элемент
|
|
20
|
+
* context {object} - контекст для параметра 'var' и вызовов 'also'
|
|
21
|
+
* text {string} - добавить в textContent
|
|
22
|
+
* html {string} - добавить в innerHTML
|
|
23
|
+
* attrs {object} - добавить аттрибуты
|
|
24
|
+
* props {object} - добавить свойства
|
|
25
|
+
* class {string} - добавить в className
|
|
25
26
|
* also {function} - вызвать с текущим компонентом: { ... , also(el) { console.log(el); }, }
|
|
26
27
|
* export {array} - положить в 0 ячейку указанного массива
|
|
27
|
-
*
|
|
28
|
-
*
|
|
28
|
+
* push {array} - добавить к массиву
|
|
29
|
+
* var {string} - создаёт переменную $имя в указанном контексте
|
|
30
|
+
* events {object} - добавляет addEventListener'ы {event: handler}
|
|
29
31
|
* parent - {Element} добавляет компонент к указанному элементу (имеет смысл только для корневого компонента)
|
|
30
|
-
* style {string | object} объект в виде { padding: '0px', ... } или строка css стилей
|
|
32
|
+
* style {string | object} - объект в виде { padding: '0px', ... } или строка css стилей
|
|
31
33
|
* children - массив DOM, Component, object, html string
|
|
32
34
|
* child - DOM, Component, object, html string
|
|
33
35
|
* всё остальное будет добавлено как property
|
|
@@ -114,10 +116,11 @@ export class Component {
|
|
|
114
116
|
case 'class': el.classList.add(...val.split(' ')); break;
|
|
115
117
|
case 'also': if (context) val.call(context, el); break;
|
|
116
118
|
case 'export': val[0] = el; break;
|
|
119
|
+
case 'push': val.push(el); break;
|
|
117
120
|
case 'var': if (context) context['$' + val] = el; break;
|
|
118
121
|
case 'events': for (let ev in val) if (val[ev]) el.addEventListener(ev, val[ev].bind(context)); break;
|
|
119
122
|
case 'parent': if (val instanceof Node || val instanceof DocumentFragment) val.append(el); break;
|
|
120
|
-
case 'attrs': for (let attr in val) el.setAttribute(attr, val[attr]); break;
|
|
123
|
+
case 'attrs': for (let attr in val) svg ? el.setAttributeNS(null, attr, val[attr]) : el.setAttribute(attr, val[attr]); break;
|
|
121
124
|
case 'props': for (let prop in val) el[prop] = val[prop]; break;
|
|
122
125
|
case 'child_r': el.replaceChildren();
|
|
123
126
|
case 'child': addChild(val); break;
|