@twobirds/microcomponents 0.0.81 → 0.0.83
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/assets/documentation/MC.md +0 -1
- package/dist/MC.d.ts +3 -3
- package/dist/MC.d.ts.map +1 -1
- package/dist/MC.js +43 -74
- package/dist/MC.min.js +43 -74
- package/dist/MC.ts +67 -143
- package/dist/elements.d.ts +1 -1
- package/dist/elements.d.ts.map +1 -1
- package/dist/elements.js +16 -2
- package/dist/elements.min.js +1 -1
- package/dist/elements.ts +33 -3
- package/dist/formValues.min.js +1 -1
- package/dist/microcomponents.min.js +1 -1
- package/dist/observables.d.ts.map +1 -1
- package/dist/observables.js +40 -47
- package/dist/observables.min.js +1 -1
- package/dist/observables.ts +54 -59
- package/dist/selectors.d.ts +2 -4
- package/dist/selectors.d.ts.map +1 -1
- package/dist/selectors.js +2 -214
- package/dist/selectors.min.js +1 -1
- package/dist/selectors.ts +2 -367
- package/package.json +6 -5
- package/public/MC.d.ts +3 -3
- package/public/MC.d.ts.map +1 -1
- package/public/MC.js +43 -74
- package/public/MC.js.map +1 -1
- package/public/MC.min.js +43 -74
- package/public/MC.ts +67 -143
- package/public/documentation/MC.md +0 -1
- package/public/elements.d.ts +1 -1
- package/public/elements.d.ts.map +1 -1
- package/public/elements.js +16 -2
- package/public/elements.js.map +1 -1
- package/public/elements.min.js +1 -1
- package/public/elements.ts +33 -3
- package/public/formValues.min.js +1 -1
- package/public/microcomponents.min.js +1 -1
- package/public/observables.d.ts.map +1 -1
- package/public/observables.js +40 -47
- package/public/observables.js.map +1 -1
- package/public/observables.min.js +1 -1
- package/public/observables.ts +54 -59
- package/public/selectors.d.ts +2 -4
- package/public/selectors.d.ts.map +1 -1
- package/public/selectors.js +2 -214
- package/public/selectors.js.map +1 -1
- package/public/selectors.min.js +1 -1
- package/public/selectors.ts +2 -367
- package/public/src/MC.d.ts +36 -0
- package/public/src/MC.d.ts.map +1 -0
- package/public/src/MC.js +348 -0
- package/public/src/MC.js.map +1 -0
- package/public/src/MC.ts +67 -143
- package/public/src/McEvent.d.ts +15 -0
- package/public/src/McEvent.d.ts.map +1 -0
- package/public/src/McEvent.js +71 -0
- package/public/src/elements.d.ts +5 -0
- package/public/src/elements.d.ts.map +1 -0
- package/public/src/elements.js +62 -0
- package/public/src/elements.js.map +1 -0
- package/public/src/elements.ts +33 -3
- package/public/src/formValues.d.ts +3 -0
- package/public/src/formValues.d.ts.map +1 -0
- package/public/src/formValues.js +162 -0
- package/public/src/helpers.d.ts +14 -0
- package/public/src/helpers.d.ts.map +1 -0
- package/public/src/helpers.js +113 -0
- package/public/src/microcomponents.d.ts +7 -0
- package/public/src/microcomponents.d.ts.map +1 -0
- package/public/src/microcomponents.js +8 -0
- package/public/src/observables.d.ts +11 -0
- package/public/src/observables.d.ts.map +1 -0
- package/public/src/observables.js +242 -0
- package/public/src/observables.js.map +1 -0
- package/public/src/observables.ts +54 -59
- package/public/src/selectors.d.ts +106 -0
- package/public/src/selectors.d.ts.map +1 -0
- package/public/src/selectors.js +759 -0
- package/public/src/selectors.js.map +1 -0
- package/public/src/selectors.ts +2 -367
- package/public/src/test/grandparent.css +11 -0
- package/public/src/test/test/child.d.ts +2 -0
- package/public/src/test/test/child.d.ts.map +1 -0
- package/public/src/test/test/child.js +15 -0
- package/public/src/test/test/child.js.map +1 -0
- package/public/src/test/test/child.ts +21 -0
- package/public/src/test/test/grandchild.d.ts +2 -0
- package/public/src/test/test/grandchild.d.ts.map +1 -0
- package/public/src/test/test/grandchild.js +15 -0
- package/public/src/test/test/grandchild.js.map +1 -0
- package/public/src/test/test/grandchild.ts +21 -0
- package/public/src/test/test/grandparent.d.ts +2 -0
- package/public/src/test/test/grandparent.d.ts.map +1 -0
- package/public/src/test/test/grandparent.js +1 -0
- package/public/src/test/test/grandparent.js.map +1 -0
- package/public/src/test/test/grandparent.ts +21 -0
- package/public/src/test/test/greatgrandchild.d.ts +2 -0
- package/public/src/test/test/greatgrandchild.d.ts.map +1 -0
- package/public/src/test/test/greatgrandchild.js +29 -0
- package/public/src/test/test/greatgrandchild.js.map +1 -0
- package/public/src/test/test/greatgrandchild.ts +42 -0
- package/public/src/test/test/parent.d.ts +2 -0
- package/public/src/test/test/parent.d.ts.map +1 -0
- package/public/src/test/test/parent.js +15 -0
- package/public/src/test/test/parent.js.map +1 -0
- package/public/src/test/test/parent.ts +21 -0
- package/public/src/test/test/testform.d.ts +2 -0
- package/public/src/test/test/testform.d.ts.map +1 -0
- package/public/src/test/test/testform.js +1 -0
- package/public/src/test/test/testform.js.map +1 -0
- package/public/src/test/test/testform.ts +155 -0
- package/public/src/test/test/testfunction.d.ts +3 -0
- package/public/src/test/test/testfunction.d.ts.map +1 -0
- package/public/src/test/test/testfunction.js +7 -0
- package/public/src/test/test/testfunction.js.map +1 -0
- package/public/src/test/test/testfunction.ts +12 -0
- package/public/src/test/test/testmc.d.ts +3 -0
- package/public/src/test/test/testmc.d.ts.map +1 -0
- package/public/src/test/test/testmc.js +10 -0
- package/public/src/test/test/testmc.js.map +1 -0
- package/public/src/test/test/testmc.ts +16 -0
- package/public/src/test/test/testsimpleclass.d.ts +3 -0
- package/public/src/test/test/testsimpleclass.d.ts.map +1 -0
- package/public/src/test/test/testsimpleclass.js +9 -0
- package/public/src/test/test/testsimpleclass.js.map +1 -0
- package/public/src/test/test/testsimpleclass.ts +15 -0
- package/public/src/test/test.d.ts +2 -0
- package/public/src/test/test.d.ts.map +1 -0
- package/public/src/test/test.js +79 -0
- package/public/src/test/test.js.map +1 -0
- package/public/src/test/test.ts +188 -0
- package/public/src/test/testform.css +47 -0
- package/public/src/test/testform.html +56 -0
- package/public/src/test/testform.json +27 -0
- package/public/test/MC.d.ts +3 -3
- package/public/test/MC.d.ts.map +1 -1
- package/public/test/MC.js +43 -74
- package/public/test/MC.min.js +485 -0
- package/public/test/MC.ts +67 -143
- package/public/test/elements.d.ts +1 -1
- package/public/test/elements.d.ts.map +1 -1
- package/public/test/elements.js +16 -2
- package/public/test/elements.min.js +1 -0
- package/public/test/elements.ts +33 -3
- package/public/test/formValues.min.js +1 -0
- package/public/test/grandparent.css +1 -3
- package/public/test/microcomponents.min.js +1 -1
- package/public/test/observables.d.ts.map +1 -1
- package/public/test/observables.js +40 -47
- package/public/test/observables.min.js +1 -0
- package/public/test/observables.ts +54 -59
- package/public/test/selectors.d.ts +2 -4
- package/public/test/selectors.d.ts.map +1 -1
- package/public/test/selectors.js +2 -214
- package/public/test/selectors.min.js +1 -0
- package/public/test/selectors.ts +2 -367
- package/public/test/test/child.ts +21 -0
- package/public/test/test/grandchild.ts +21 -0
- package/public/test/test/grandparent.js +1 -1
- package/public/test/test/grandparent.ts +21 -0
- package/public/test/test/greatgrandchild.ts +42 -0
- package/public/test/test/parent.ts +21 -0
- package/public/test/test/testform.js +1 -1
- package/public/test/test/testform.js.map +1 -1
- package/public/test/test/testform.ts +155 -0
- package/public/test/test/testfunction.d.ts +3 -0
- package/public/test/test/testfunction.d.ts.map +1 -0
- package/public/test/test/testfunction.js +7 -0
- package/public/test/test/testfunction.js.map +1 -0
- package/public/test/test/testfunction.ts +12 -0
- package/public/test/test/testmc.d.ts +2 -5
- package/public/test/test/testmc.d.ts.map +1 -1
- package/public/test/test/testmc.js +4 -4
- package/public/test/test/testmc.js.map +1 -1
- package/public/test/test/testmc.ts +16 -0
- package/public/test/test/testsimpleclass.d.ts +3 -0
- package/public/test/test/testsimpleclass.d.ts.map +1 -0
- package/public/test/test/testsimpleclass.js +9 -0
- package/public/test/test/testsimpleclass.js.map +1 -0
- package/public/test/test/testsimpleclass.ts +15 -0
- package/public/test/test.js +0 -2
- package/public/test/test.js.map +1 -1
- package/public/test/test.ts +188 -0
- package/public/test/testform.css +47 -0
- package/public/test/testform.html +56 -0
- package/public/test/testform.json +3 -3
- package/public/typedoc/assets/navigation.js +1 -1
- package/public/typedoc/assets/search.js +1 -1
- package/public/typedoc/classes/MC.DC.html +5 -5
- package/public/typedoc/classes/MC.MC.html +5 -5
- package/public/typedoc/classes/MC.McBase.html +4 -3
- package/public/typedoc/classes/MC.McEvent.html +2 -2
- package/public/typedoc/functions/MC.addListener.html +1 -1
- package/public/typedoc/functions/MC.autoload.html +1 -1
- package/public/typedoc/functions/MC.removeListener.html +1 -1
- package/public/typedoc/functions/elements.defineCE.html +1 -1
- package/public/typedoc/functions/elements.getCE.html +1 -1
- package/public/typedoc/functions/formValues.formValues.html +1 -1
- package/public/typedoc/functions/observables.observe.html +1 -1
- package/public/typedoc/functions/selectors._d.html +1 -0
- package/public/typedoc/functions/selectors._t.html +1 -0
- package/public/typedoc/interfaces/MC.HTMLMcElement.html +2 -2
- package/public/typedoc/interfaces/selectors.DSelector.html +48 -0
- package/public/typedoc/interfaces/selectors.TSelector.html +34 -0
- package/public/typedoc/modules/MC.html +1 -1
- package/public/typedoc/modules/elements.html +1 -1
- package/public/typedoc/modules/formValues.html +1 -1
- package/public/typedoc/modules/observables.html +1 -1
- package/public/typedoc/modules/selectors.html +7 -0
- package/public/typedoc/modules.html +1 -0
- package/public/typedoc/types/observables.Observable.html +1 -1
- package/public/typedoc/types/selectors.selection.html +1 -0
- package/public/typedoc/types/selectors.singleSelector.html +1 -0
- package/src/MC.ts +67 -143
- package/src/elements.ts +33 -3
- package/src/observables.ts +54 -59
- package/src/selectors.ts +2 -367
- package/src/test/test/testform.ts +7 -3
- package/src/test/test/testfunction.ts +12 -0
- package/src/test/test/testmc.ts +13 -9
- package/src/test/test/testsimpleclass.ts +15 -0
- package/src/test/test.ts +0 -12
- package/tasks.md +36 -0
- package/typedoc.json +1 -1
- package/public/test/MC.js.map +0 -1
- package/public/test/elements.js.map +0 -1
- package/public/test/observables.js.map +0 -1
- package/public/test/selectors.js.map +0 -1
- /package/public/{test → src}/McEvent.js.map +0 -0
- /package/public/{test → src}/formValues.js.map +0 -0
- /package/public/{test → src}/helpers.js.map +0 -0
- /package/public/{test → src}/microcomponents.js.map +0 -0
package/public/observables.ts
CHANGED
|
@@ -21,12 +21,11 @@ function getPlaceholders(target: HTMLElement): string[] {
|
|
|
21
21
|
regEx = /\{[^\{\}]*\}/g;
|
|
22
22
|
|
|
23
23
|
// scan attributes
|
|
24
|
-
target
|
|
25
|
-
.getAttributeNames()
|
|
24
|
+
( !!target.getAttributeNames ? target.getAttributeNames() : [] )
|
|
26
25
|
.filter((attr) => target.getAttribute(attr)?.match(regEx)) // extract placeholder(s)
|
|
27
26
|
.forEach((attr) => {
|
|
28
|
-
let
|
|
29
|
-
|
|
27
|
+
let placeholders: Set<string> = new Set(target.getAttribute(attr)?.match(regEx));
|
|
28
|
+
placeholders.forEach((placeholder) =>
|
|
30
29
|
placeholders.add(placeholder.replace(/[\{\}]/g, ''))
|
|
31
30
|
);
|
|
32
31
|
});
|
|
@@ -62,35 +61,31 @@ class Placeholders extends DC {
|
|
|
62
61
|
|
|
63
62
|
constructor(target: HTMLElement) {
|
|
64
63
|
super(target);
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
that.#attachCallbacks();
|
|
69
|
-
delete that._mc; // cleanup, not needed
|
|
64
|
+
getPlaceholders(target).forEach((property) => (this.data[property] = ''));
|
|
65
|
+
observe(this);
|
|
66
|
+
this.#attachCallbacks();
|
|
70
67
|
}
|
|
71
68
|
|
|
72
69
|
#attachCallbacks() {
|
|
73
|
-
let
|
|
74
|
-
target = that.target,
|
|
70
|
+
let target = this.target,
|
|
75
71
|
hide: boolean = false;
|
|
76
72
|
|
|
77
|
-
//console.log('attachCallbacks',
|
|
73
|
+
//console.log('attachCallbacks', this.target);
|
|
78
74
|
|
|
79
75
|
// scan attributes
|
|
80
|
-
target
|
|
81
|
-
.getAttributeNames()
|
|
76
|
+
( !!target.getAttributeNames ? target.getAttributeNames() : [] )
|
|
82
77
|
.filter((attr: string) =>
|
|
83
78
|
target.getAttribute(attr)?.match(/\{[^\{\}]*\}/g)
|
|
84
79
|
) // extract placeholder(s)
|
|
85
80
|
.forEach((attr: string) => {
|
|
86
|
-
let
|
|
81
|
+
let placeholders: Set<string> = new Set(
|
|
87
82
|
target.getAttribute(attr)?.match(/\{[^\{\}]*\}/g)
|
|
88
83
|
);
|
|
89
84
|
// attach callback
|
|
90
|
-
|
|
85
|
+
this.data.observe(
|
|
91
86
|
((template: string) => (data: LooseObject) => {
|
|
92
87
|
let result: string = template;
|
|
93
|
-
|
|
88
|
+
placeholders.forEach((placeholder) => {
|
|
94
89
|
result = result.replace(
|
|
95
90
|
placeholder,
|
|
96
91
|
data[placeholder.replace(/[\{\}]/g, '')]
|
|
@@ -108,44 +103,48 @@ class Placeholders extends DC {
|
|
|
108
103
|
return (
|
|
109
104
|
// is text node and has placeholders
|
|
110
105
|
childNode.nodeType === 3 &&
|
|
111
|
-
((childNode as
|
|
106
|
+
((childNode as Node).nodeValue || '').match(/\{[^\{\}]*\}/g)
|
|
112
107
|
);
|
|
113
108
|
})
|
|
114
109
|
.forEach((childNode) => {
|
|
115
110
|
hide = true;
|
|
116
|
-
let
|
|
111
|
+
let placeholders: Set<string> = new Set(
|
|
117
112
|
childNode.nodeValue.match(/\{[^\{\}]*\}/g)
|
|
118
113
|
);
|
|
119
114
|
|
|
120
115
|
// attach callback
|
|
121
|
-
|
|
116
|
+
this.data.observe(
|
|
122
117
|
((template: string) => (data: LooseObject) => {
|
|
123
118
|
let result: string = template;
|
|
124
|
-
//console.log('text node "', template, '"
|
|
125
|
-
|
|
119
|
+
//console.log('text node "', template, '" callback data:', data);
|
|
120
|
+
placeholders.forEach((placeholder) => {
|
|
126
121
|
result = result.replace(
|
|
127
122
|
placeholder,
|
|
128
123
|
data[placeholder.replace(/[\{\}]/g, '')]
|
|
129
124
|
);
|
|
130
125
|
});
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
126
|
+
// TODO: find out why this doesnt work correctly ... maybe completely overhaul the whole thing
|
|
127
|
+
// TODO: check overlap with inner web components, possibly firewall them
|
|
128
|
+
// TODO: maybe include convention for plain DOM / ShadowDom handling
|
|
129
|
+
|
|
130
|
+
// if (
|
|
131
|
+
// Object.keys(data).some((key) => {
|
|
132
|
+
// return !!data[key];
|
|
133
|
+
// })
|
|
134
|
+
// ) {
|
|
135
|
+
if (!!this.oldDisplay) {
|
|
136
|
+
target.style = this.oldDisplay;
|
|
138
137
|
} else {
|
|
139
138
|
target.removeAttribute('style');
|
|
140
139
|
}
|
|
141
|
-
delete
|
|
142
|
-
}
|
|
140
|
+
delete this.oldDisplay;
|
|
141
|
+
// }
|
|
143
142
|
childNode.nodeValue = result;
|
|
144
143
|
})(childNode.nodeValue)
|
|
145
144
|
);
|
|
146
145
|
|
|
147
146
|
// hide for now
|
|
148
|
-
|
|
147
|
+
this.oldDisplay = target.getAttribute('style)') || '';
|
|
149
148
|
if (
|
|
150
149
|
hide &&
|
|
151
150
|
!inputs.includes((target as any).constructor) &&
|
|
@@ -157,26 +156,24 @@ class Placeholders extends DC {
|
|
|
157
156
|
}
|
|
158
157
|
|
|
159
158
|
onData(ev: McEvent) {
|
|
160
|
-
let
|
|
161
|
-
data: LooseObject = {};
|
|
159
|
+
let data: LooseObject = {};
|
|
162
160
|
Object.keys(ev.data).forEach((key) => {
|
|
163
|
-
if (
|
|
161
|
+
if (this.data.hasOwnProperty(key)) data[key] = ev.data[key];
|
|
164
162
|
});
|
|
165
|
-
//console.log('onData()', ev, data,
|
|
166
|
-
if (JSON.stringify(data) !== JSON.stringify(
|
|
167
|
-
Object.assign(
|
|
163
|
+
//console.log('onData()', ev, data, this.data);
|
|
164
|
+
if (JSON.stringify(data) !== JSON.stringify(this.data))
|
|
165
|
+
Object.assign(this.data, data); // will trigger callbacks
|
|
168
166
|
}
|
|
169
167
|
}
|
|
170
168
|
|
|
171
169
|
function getPlaceholderElements(
|
|
172
170
|
target: HTMLElement | DocumentFragment | ShadowRoot
|
|
173
171
|
): HTMLElement[] {
|
|
174
|
-
let elements: Array<
|
|
175
|
-
target instanceof HTMLElement ? [target] : []
|
|
176
|
-
)
|
|
172
|
+
let elements: Array<Node> = [target]
|
|
177
173
|
.concat([...(target.querySelectorAll('*') as unknown as HTMLElement[])])
|
|
178
174
|
.filter((e) => !!getPlaceholders(e as HTMLElement).length)
|
|
179
|
-
.filter((e) => e
|
|
175
|
+
.filter((e) => (e as HTMLElement)?.tagName !== 'STYLE')
|
|
176
|
+
.reverse(); // to start with inner elements
|
|
180
177
|
//console.log('getPlaceholderElements', elements);
|
|
181
178
|
return elements as HTMLElement[];
|
|
182
179
|
}
|
|
@@ -239,14 +236,13 @@ function makeObservable(val: any): Class<typeof val>{
|
|
|
239
236
|
}
|
|
240
237
|
|
|
241
238
|
bind(target: HTMLElement | DocumentFragment | ShadowRoot) {
|
|
242
|
-
const
|
|
243
|
-
iso = isObservableObject(that.valueOf());
|
|
239
|
+
const iso = isObservableObject(this.valueOf());
|
|
244
240
|
//console.log('bind', iso, target);
|
|
245
241
|
|
|
246
242
|
if (iso) {
|
|
247
243
|
makePlaceholders(target);
|
|
248
244
|
const placeholders: unknown = [
|
|
249
|
-
...target.querySelectorAll('[_mc]'),
|
|
245
|
+
target, ...target.querySelectorAll('[_mc]'),
|
|
250
246
|
].filter((e) => !!(e as LooseObject)?._mc?._placeholders);
|
|
251
247
|
//console.log('placeholders:', target, placeholders);
|
|
252
248
|
const func = function callback(data: LooseObject) {
|
|
@@ -259,13 +255,13 @@ function makeObservable(val: any): Class<typeof val>{
|
|
|
259
255
|
(e as any)._mc.trigger('data', d);
|
|
260
256
|
});
|
|
261
257
|
};
|
|
262
|
-
(
|
|
263
|
-
|
|
258
|
+
(this as any).#callbacks.push(func);
|
|
259
|
+
this.notify();
|
|
264
260
|
} else {
|
|
265
261
|
console.warn(
|
|
266
262
|
'IGNORED - cannot bind a non-Object to the dom, IS:',
|
|
267
|
-
typeof
|
|
268
|
-
|
|
263
|
+
typeof this.valueOf(),
|
|
264
|
+
this
|
|
269
265
|
);
|
|
270
266
|
}
|
|
271
267
|
|
|
@@ -273,20 +269,19 @@ function makeObservable(val: any): Class<typeof val>{
|
|
|
273
269
|
}
|
|
274
270
|
|
|
275
271
|
notify(notify?: boolean) {
|
|
276
|
-
let
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
: that.valueOf();
|
|
272
|
+
let data =
|
|
273
|
+
isObservableObject(this.valueOf()) &&
|
|
274
|
+
this.valueOf() instanceof Array === false
|
|
275
|
+
? structuredClone(Object.assign({}, this))
|
|
276
|
+
: this.valueOf();
|
|
282
277
|
|
|
283
278
|
if (notify !== undefined) {
|
|
284
|
-
|
|
279
|
+
this.#notify = notify;
|
|
285
280
|
// return;
|
|
286
281
|
}
|
|
287
282
|
|
|
288
|
-
//if (
|
|
289
|
-
(
|
|
283
|
+
//if (this.#notify) console.log('notify', this, data);
|
|
284
|
+
(this as any).#callbacks.forEach((f: Function) => {
|
|
290
285
|
// console.log(
|
|
291
286
|
// (this.constructor as any).callbacks,
|
|
292
287
|
// 'notify: exec callback',
|
|
@@ -296,7 +291,7 @@ function makeObservable(val: any): Class<typeof val>{
|
|
|
296
291
|
f(data);
|
|
297
292
|
});
|
|
298
293
|
|
|
299
|
-
return
|
|
294
|
+
return this;
|
|
300
295
|
}
|
|
301
296
|
};
|
|
302
297
|
|
package/public/selectors.d.ts
CHANGED
|
@@ -32,15 +32,13 @@ declare class DomSelector {
|
|
|
32
32
|
on(eventName: string, cb: Function, capture?: boolean, once?: boolean): Function;
|
|
33
33
|
one(eventName: string, cb: Function, capture?: boolean): Function;
|
|
34
34
|
parent(selection?: selection, rootNode?: HTMLElement): DSelector;
|
|
35
|
-
|
|
35
|
+
ancestors(selection?: selection, rootNode?: HTMLElement): DSelector;
|
|
36
36
|
prepend(selection: selection, target?: HTMLElement): DSelector;
|
|
37
37
|
prev(selection?: selection, rootNode?: HTMLElement): DSelector;
|
|
38
38
|
removeClass(...classes: string[]): DSelector;
|
|
39
39
|
text(text?: string): string | DSelector;
|
|
40
40
|
toggleClass(...classes: string[]): DSelector;
|
|
41
41
|
trigger(eventName: string, data?: any, bubbles?: boolean, cancelable?: boolean, composed?: boolean): DSelector;
|
|
42
|
-
val(p1?: any, p2?: any): any;
|
|
43
|
-
values(values?: LooseObject): LooseObject;
|
|
44
42
|
at(index: number): DSelector;
|
|
45
43
|
concat(items: DSelector | any[]): DSelector;
|
|
46
44
|
entries(): IterableIterator<[number, any]>;
|
|
@@ -79,7 +77,7 @@ declare class TbSelector {
|
|
|
79
77
|
on(name: string, cb: Function, once?: boolean): Function;
|
|
80
78
|
one(name: string, cb: Function): Function;
|
|
81
79
|
parent(nameSpace?: string): TSelector;
|
|
82
|
-
|
|
80
|
+
ancestors(nameSpace?: string): TSelector;
|
|
83
81
|
prev(nameSpace?: string): TSelector;
|
|
84
82
|
trigger(ev: string, data?: any, bubble?: string): TSelector;
|
|
85
83
|
at(index: number): TSelector;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selectors.d.ts","sourceRoot":"","sources":["../src/selectors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,EAAE,EAA8C,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"selectors.d.ts","sourceRoot":"","sources":["../src/selectors.ts"],"names":[],"mappings":"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"}
|
package/public/selectors.js
CHANGED
|
@@ -15,167 +15,6 @@ const words = (classes) => {
|
|
|
15
15
|
classes = Array.from(classSet);
|
|
16
16
|
return classes;
|
|
17
17
|
};
|
|
18
|
-
const getInputName = (e) => {
|
|
19
|
-
let ret = e instanceof HTMLInputElement
|
|
20
|
-
? 'input'
|
|
21
|
-
: e instanceof HTMLSelectElement
|
|
22
|
-
? 'select'
|
|
23
|
-
: e instanceof HTMLTextAreaElement
|
|
24
|
-
? 'textarea'
|
|
25
|
-
: '';
|
|
26
|
-
return ret;
|
|
27
|
-
};
|
|
28
|
-
const getInputHandlers = (e) => {
|
|
29
|
-
let inputList = $d('input,select,textarea', e).array, handlers = {};
|
|
30
|
-
inputList.forEach((i) => {
|
|
31
|
-
const name = i.getAttribute('name') || 'undefined';
|
|
32
|
-
if (name) {
|
|
33
|
-
let h;
|
|
34
|
-
switch (getInputName(i)) {
|
|
35
|
-
case 'input':
|
|
36
|
-
h = new InputHandler(i, e);
|
|
37
|
-
Object.defineProperty(handlers, name, {
|
|
38
|
-
enumerable: true,
|
|
39
|
-
configurable: true,
|
|
40
|
-
get: () => { return h.val; },
|
|
41
|
-
set: (value) => { h.val = value; }
|
|
42
|
-
});
|
|
43
|
-
break;
|
|
44
|
-
case 'select':
|
|
45
|
-
h = new SelectHandler(i);
|
|
46
|
-
Object.defineProperty(handlers, name, {
|
|
47
|
-
enumerable: true,
|
|
48
|
-
configurable: true,
|
|
49
|
-
get: () => { return h.val; },
|
|
50
|
-
set: (value) => { h.val = value; }
|
|
51
|
-
});
|
|
52
|
-
break;
|
|
53
|
-
case 'textarea':
|
|
54
|
-
h = new TextAreaHandler(i);
|
|
55
|
-
Object.defineProperty(handlers, name, {
|
|
56
|
-
enumerable: true,
|
|
57
|
-
configurable: true,
|
|
58
|
-
get: () => { return h.val; },
|
|
59
|
-
set: (value) => { h.val = value; }
|
|
60
|
-
});
|
|
61
|
-
break;
|
|
62
|
-
default:
|
|
63
|
-
console.warn('handler missing:', name, 'for', i);
|
|
64
|
-
break;
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
});
|
|
68
|
-
return handlers;
|
|
69
|
-
};
|
|
70
|
-
class InputBase {
|
|
71
|
-
constructor(e) {
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
class InputHandler extends InputBase {
|
|
75
|
-
#e;
|
|
76
|
-
#type;
|
|
77
|
-
#radioBase;
|
|
78
|
-
constructor(e, radioBase) {
|
|
79
|
-
super(e);
|
|
80
|
-
this.#e = e;
|
|
81
|
-
this.#type = e.type;
|
|
82
|
-
this.#radioBase = radioBase;
|
|
83
|
-
}
|
|
84
|
-
get val() {
|
|
85
|
-
let that = this, type = that.#type, ret;
|
|
86
|
-
switch (type) {
|
|
87
|
-
case 'radio':
|
|
88
|
-
const check = $d(`input[type="radio"][name="${this.#e.getAttribute('name')}"]`, this.#radioBase)
|
|
89
|
-
.filter(e => e.checked);
|
|
90
|
-
if (!check.length)
|
|
91
|
-
return '';
|
|
92
|
-
ret = check.array[0];
|
|
93
|
-
return ret.value;
|
|
94
|
-
case 'checkbox':
|
|
95
|
-
return that.#e.checked;
|
|
96
|
-
default:
|
|
97
|
-
return that.#e.value;
|
|
98
|
-
break;
|
|
99
|
-
}
|
|
100
|
-
return '';
|
|
101
|
-
}
|
|
102
|
-
set val(value) {
|
|
103
|
-
let that = this, type = that.#type, ret;
|
|
104
|
-
switch (type) {
|
|
105
|
-
case 'radio':
|
|
106
|
-
const selection = `input[type="radio"][name="${this.#e.getAttribute('name')}"]`, radios = $d(selection, this.#radioBase);
|
|
107
|
-
if (!radios.length)
|
|
108
|
-
return;
|
|
109
|
-
if (value === '') {
|
|
110
|
-
radios.forEach(r => { if (r.checked)
|
|
111
|
-
r.checked = false; });
|
|
112
|
-
return;
|
|
113
|
-
}
|
|
114
|
-
const setRadioElement = radios.filter(r => r.getAttribute('value') === value);
|
|
115
|
-
if (!setRadioElement.length)
|
|
116
|
-
return;
|
|
117
|
-
setRadioElement.array[0].checked = true;
|
|
118
|
-
return;
|
|
119
|
-
break;
|
|
120
|
-
case 'checkbox':
|
|
121
|
-
that.#e.checked = value;
|
|
122
|
-
break;
|
|
123
|
-
default:
|
|
124
|
-
that.#e.value = value;
|
|
125
|
-
break;
|
|
126
|
-
}
|
|
127
|
-
return;
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
class SelectHandler extends InputBase {
|
|
131
|
-
#e;
|
|
132
|
-
#multi = false;
|
|
133
|
-
constructor(e) {
|
|
134
|
-
super(e);
|
|
135
|
-
this.#e = e;
|
|
136
|
-
this.#multi = e.type === 'select-multiple';
|
|
137
|
-
}
|
|
138
|
-
get val() {
|
|
139
|
-
const that = this, ret = [];
|
|
140
|
-
const options = $d(that.#e.querySelectorAll('option'))
|
|
141
|
-
.filter(o => o.selected)
|
|
142
|
-
.forEach(o => { if (o.selected)
|
|
143
|
-
ret.push(o.value); });
|
|
144
|
-
if (this.#multi)
|
|
145
|
-
return ret;
|
|
146
|
-
return ret.length ? ret[0] : '';
|
|
147
|
-
}
|
|
148
|
-
set val(value) {
|
|
149
|
-
const that = this;
|
|
150
|
-
value = typeof value === 'string' ? [value] : value;
|
|
151
|
-
const options = $d(that.#e.querySelectorAll('option'))
|
|
152
|
-
.forEach(o => {
|
|
153
|
-
if (value.indexOf(o.value) > -1) {
|
|
154
|
-
o.setAttribute('selected', true);
|
|
155
|
-
o.selected = true;
|
|
156
|
-
}
|
|
157
|
-
else {
|
|
158
|
-
o.removeAttribute('selected');
|
|
159
|
-
o.selected = false;
|
|
160
|
-
}
|
|
161
|
-
});
|
|
162
|
-
return;
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
class TextAreaHandler extends InputBase {
|
|
166
|
-
#e;
|
|
167
|
-
constructor(e) {
|
|
168
|
-
super(e);
|
|
169
|
-
this.#e = e;
|
|
170
|
-
}
|
|
171
|
-
get val() {
|
|
172
|
-
return this.#e.value;
|
|
173
|
-
}
|
|
174
|
-
set val(value) {
|
|
175
|
-
this.#e.value = value;
|
|
176
|
-
return;
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
18
|
class DomSelector {
|
|
180
19
|
#set = new Set();
|
|
181
20
|
get set() {
|
|
@@ -473,7 +312,7 @@ class DomSelector {
|
|
|
473
312
|
}
|
|
474
313
|
return that;
|
|
475
314
|
}
|
|
476
|
-
|
|
315
|
+
ancestors(selection, rootNode) {
|
|
477
316
|
let that = this, set = new Set();
|
|
478
317
|
that.#set.forEach((e) => {
|
|
479
318
|
let current = e;
|
|
@@ -560,57 +399,6 @@ class DomSelector {
|
|
|
560
399
|
});
|
|
561
400
|
return that;
|
|
562
401
|
}
|
|
563
|
-
val(p1, p2) {
|
|
564
|
-
if (!this.length)
|
|
565
|
-
return this;
|
|
566
|
-
const that = this;
|
|
567
|
-
let result, handlers = getInputHandlers(that.array[0]);
|
|
568
|
-
if (!p1) {
|
|
569
|
-
result = Object.assign({}, handlers);
|
|
570
|
-
}
|
|
571
|
-
else {
|
|
572
|
-
if (isObject(p1)) {
|
|
573
|
-
Object.assign(handlers, p1);
|
|
574
|
-
result = that;
|
|
575
|
-
}
|
|
576
|
-
else if (typeof p1 === 'string') {
|
|
577
|
-
if (p2 === undefined) {
|
|
578
|
-
result = handlers[p1];
|
|
579
|
-
}
|
|
580
|
-
else {
|
|
581
|
-
handlers[p1] = p2;
|
|
582
|
-
result = that;
|
|
583
|
-
}
|
|
584
|
-
}
|
|
585
|
-
}
|
|
586
|
-
return result;
|
|
587
|
-
}
|
|
588
|
-
values(values) {
|
|
589
|
-
const that = this, holder = {};
|
|
590
|
-
let data = {};
|
|
591
|
-
if (!that.length) {
|
|
592
|
-
console.warn('no dom selection to search inputs in');
|
|
593
|
-
return {};
|
|
594
|
-
}
|
|
595
|
-
let handlers = getInputHandlers(that.array[0]);
|
|
596
|
-
Object.keys(handlers).forEach((key) => {
|
|
597
|
-
data[key] = handlers[key];
|
|
598
|
-
});
|
|
599
|
-
if (Object.keys(data).length === 0) {
|
|
600
|
-
console.warn('no inputs in this dom selection', that.array[0], data);
|
|
601
|
-
}
|
|
602
|
-
if (values) {
|
|
603
|
-
Object
|
|
604
|
-
.keys(values)
|
|
605
|
-
.forEach(key => {
|
|
606
|
-
if (handlers.hasOwnProperty(key)) {
|
|
607
|
-
console.log('key found', key);
|
|
608
|
-
handlers[key] = values[key];
|
|
609
|
-
}
|
|
610
|
-
});
|
|
611
|
-
}
|
|
612
|
-
return structuredClone(Object.assign(handlers));
|
|
613
|
-
}
|
|
614
402
|
at(index) {
|
|
615
403
|
return $d(this.array.at(index));
|
|
616
404
|
}
|
|
@@ -851,7 +639,7 @@ class TbSelector {
|
|
|
851
639
|
that.#set = set;
|
|
852
640
|
return that;
|
|
853
641
|
}
|
|
854
|
-
|
|
642
|
+
ancestors(nameSpace) {
|
|
855
643
|
let that = this, set = new Set();
|
|
856
644
|
that.#set.forEach((e) => {
|
|
857
645
|
e.parents(nameSpace).forEach((tb) => {
|