@twobirds/microcomponents 0.0.37 → 0.0.41
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/my-tag.css +10 -2
- package/assets/test.html +21 -12
- package/dist/MC.d.ts +1 -1
- package/dist/MC.d.ts.map +1 -1
- package/dist/MC.min.js +49 -28
- package/dist/MC.ts +69 -32
- package/dist/elements.min.js +1 -1
- package/dist/microcomponents.min.js +1 -1
- package/dist/observables.d.ts.map +1 -1
- package/dist/observables.min.js +1 -1
- package/dist/observables.ts +21 -14
- package/dist/test.ts +25 -17
- package/package.json +1 -1
- package/public/MC.js +49 -28
- package/public/MC.js.map +1 -1
- package/public/MC.min.js +49 -28
- package/public/assets/search.js +1 -1
- package/public/classes/MC.DC.html +13 -13
- package/public/classes/MC.MC.html +14 -12
- package/public/classes/MC.McBase.html +4 -4
- package/public/classes/MC.McEvent.html +13 -13
- package/public/elements.min.js +1 -1
- package/public/functions/MC.addListener.html +1 -1
- package/public/functions/MC.removeListener.html +1 -1
- package/public/functions/elements.defineCE.html +1 -1
- package/public/functions/elements.getCE.html +1 -1
- package/public/functions/formValues.formValues.html +1 -1
- package/public/functions/observables.observe.html +1 -1
- package/public/functions/selectors._d.html +1 -1
- package/public/functions/selectors._t.html +1 -1
- package/public/interfaces/MC.HTMLMcElement.html +2 -2
- package/public/interfaces/selectors.DSelector.html +55 -55
- package/public/interfaces/selectors.TSelector.html +37 -37
- package/public/microcomponents.min.js +1 -1
- package/public/modules/MC.html +1 -1
- package/public/modules/elements.html +1 -1
- package/public/modules/formValues.html +1 -1
- package/public/modules/observables.html +1 -1
- package/public/modules/selectors.html +1 -1
- package/public/my-tag.css +10 -2
- package/public/observables.js +20 -9
- package/public/observables.js.map +1 -1
- package/public/observables.min.js +1 -1
- package/public/src/MC.ts +69 -32
- package/public/src/observables.ts +21 -14
- package/public/src/test.ts +25 -17
- package/public/test.html +21 -12
- package/public/test.js +18 -25
- package/public/test.js.map +1 -1
- package/public/types/observables.Observable.html +5 -5
- package/public/types/selectors.selection.html +1 -1
- package/public/types/selectors.singleSelector.html +1 -1
- package/src/MC.ts +69 -32
- package/src/observables.ts +21 -14
- package/src/test.ts +25 -17
package/dist/observables.ts
CHANGED
|
@@ -18,16 +18,15 @@ function isObservableObject(value: any): boolean {
|
|
|
18
18
|
type Callback = (value: any) => void;
|
|
19
19
|
|
|
20
20
|
function getPlaceholders(target: HTMLElement): string[] {
|
|
21
|
-
let placeholders: Set<string> = new Set()
|
|
21
|
+
let placeholders: Set<string> = new Set(),
|
|
22
|
+
regEx = /\{[^\{\}]*\}/g;
|
|
22
23
|
|
|
23
24
|
// scan attributes
|
|
24
25
|
target
|
|
25
26
|
.getAttributeNames()
|
|
26
|
-
.filter((attr) => target.getAttribute(attr)?.match(
|
|
27
|
+
.filter((attr) => target.getAttribute(attr)?.match(regEx)) // extract placeholder(s)
|
|
27
28
|
.forEach((attr) => {
|
|
28
|
-
let phs: Set<string> = new Set(
|
|
29
|
-
target.getAttribute(attr)?.match(/\{[^\{\}]*\}/g)
|
|
30
|
-
);
|
|
29
|
+
let phs: Set<string> = new Set(target.getAttribute(attr)?.match(regEx));
|
|
31
30
|
phs.forEach((placeholder) =>
|
|
32
31
|
placeholders.add(placeholder.replace(/[\{\}]/g, ''))
|
|
33
32
|
);
|
|
@@ -39,12 +38,12 @@ function getPlaceholders(target: HTMLElement): string[] {
|
|
|
39
38
|
return (
|
|
40
39
|
// is text node and has placeholders
|
|
41
40
|
childNode.nodeType === 3 &&
|
|
42
|
-
((childNode as any).nodeValue || '').match(
|
|
41
|
+
((childNode as any).nodeValue || '').match(regEx)
|
|
43
42
|
);
|
|
44
43
|
})
|
|
45
44
|
.forEach((childNode) => {
|
|
46
45
|
((childNode as any).nodeValue || '')
|
|
47
|
-
.match(
|
|
46
|
+
.match(regEx)
|
|
48
47
|
.forEach((placeholder: string) => {
|
|
49
48
|
placeholders.add(placeholder.replace(/[\{\}]/g, ''));
|
|
50
49
|
});
|
|
@@ -150,7 +149,9 @@ class Placeholders extends DC {
|
|
|
150
149
|
function getPlaceholderElements(
|
|
151
150
|
target: HTMLElement | DocumentFragment | ShadowRoot
|
|
152
151
|
): HTMLElement[] {
|
|
153
|
-
let elements: Array<HTMLElement
|
|
152
|
+
let elements: Array<HTMLElement> = (
|
|
153
|
+
target instanceof HTMLElement ? [target] : []
|
|
154
|
+
)
|
|
154
155
|
.concat([...(target.querySelectorAll('*') as unknown as HTMLElement[])])
|
|
155
156
|
.filter((e) => !!getPlaceholders(e as HTMLElement).length);
|
|
156
157
|
return elements as HTMLElement[];
|
|
@@ -159,9 +160,10 @@ function getPlaceholderElements(
|
|
|
159
160
|
function makePlaceHolders(
|
|
160
161
|
element: HTMLElement | DocumentFragment | ShadowRoot
|
|
161
162
|
): void {
|
|
162
|
-
getPlaceholderElements(element).forEach((e) =>
|
|
163
|
-
|
|
164
|
-
|
|
163
|
+
getPlaceholderElements(element).forEach((e: HTMLElement) => {
|
|
164
|
+
if ((e as HTMLMcElement)?._mc?._placeholders) return;
|
|
165
|
+
DC.add(e, '_placeholders', new Placeholders(e));
|
|
166
|
+
});
|
|
165
167
|
}
|
|
166
168
|
|
|
167
169
|
export type Observable = {
|
|
@@ -225,14 +227,19 @@ export const observe = (target: LooseObject, propertyName?: string) => {
|
|
|
225
227
|
|
|
226
228
|
bind(target: HTMLElement | DocumentFragment | ShadowRoot) {
|
|
227
229
|
const that = this,
|
|
228
|
-
iso = isObservableObject(that.valueOf())
|
|
229
|
-
bound = (that.constructor as any).bound;
|
|
230
|
+
iso = isObservableObject(that.valueOf());
|
|
230
231
|
//console.log('bind', iso, target);
|
|
231
232
|
|
|
232
233
|
if (iso) {
|
|
233
234
|
makePlaceHolders(target);
|
|
234
235
|
(this.constructor as any).callbacks.push((data: LooseObject) => {
|
|
235
|
-
|
|
236
|
+
// avoid bubbling for speed
|
|
237
|
+
new DC(target as HTMLMcElement)
|
|
238
|
+
.descendants('_placeholders')
|
|
239
|
+
.forEach((e) => {
|
|
240
|
+
if (!e) return;
|
|
241
|
+
e.trigger('data', flattenObject(data));
|
|
242
|
+
});
|
|
236
243
|
});
|
|
237
244
|
that.notify();
|
|
238
245
|
} else {
|
package/dist/test.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
import {
|
|
4
|
-
HTMLMcElement,
|
|
5
4
|
LooseObject,
|
|
6
5
|
MC,
|
|
7
6
|
DC,
|
|
@@ -48,13 +47,15 @@ class Translator extends DC {
|
|
|
48
47
|
}
|
|
49
48
|
});
|
|
50
49
|
|
|
51
|
-
(that.Translation as Observable).bind(
|
|
50
|
+
(that.Translation as Observable).bind(translationTargetObject);
|
|
52
51
|
|
|
53
52
|
this.target.setAttribute('language', 'en');
|
|
53
|
+
|
|
54
|
+
(this.Language as Observable).notify();
|
|
54
55
|
}
|
|
55
56
|
|
|
56
57
|
oneInit() {
|
|
57
|
-
(this.Language as Observable).notify(); // trigger translation
|
|
58
|
+
//(this.Language as Observable).notify(); // trigger translation
|
|
58
59
|
}
|
|
59
60
|
|
|
60
61
|
onAttributeChanged(ev: McEvent) {
|
|
@@ -74,7 +75,7 @@ defineCE(
|
|
|
74
75
|
// equivalent to custom element registry .define()
|
|
75
76
|
'my-tag',
|
|
76
77
|
class MyTag extends DC {
|
|
77
|
-
#template: string = '{lang.click} {counter}';
|
|
78
|
+
#template: string = '<button>{lang.click} {counter}</button>';
|
|
78
79
|
|
|
79
80
|
#languages = {
|
|
80
81
|
en: {
|
|
@@ -92,6 +93,9 @@ defineCE(
|
|
|
92
93
|
|
|
93
94
|
let that = this; // minifier help
|
|
94
95
|
|
|
96
|
+
// hide
|
|
97
|
+
target.setAttribute('style', 'display:none');
|
|
98
|
+
|
|
95
99
|
// render
|
|
96
100
|
target.innerHTML = this.#template;
|
|
97
101
|
|
|
@@ -114,6 +118,9 @@ defineCE(
|
|
|
114
118
|
|
|
115
119
|
// bind Dom to target
|
|
116
120
|
(that.Dom as Observable).bind(that.target);
|
|
121
|
+
|
|
122
|
+
// show
|
|
123
|
+
setTimeout(() => that.target.removeAttribute('style'), 100);
|
|
117
124
|
}
|
|
118
125
|
|
|
119
126
|
onAttributeChanged(ev: McEvent) {
|
|
@@ -122,7 +129,13 @@ defineCE(
|
|
|
122
129
|
}
|
|
123
130
|
|
|
124
131
|
onClick(ev: McEvent) {
|
|
125
|
-
this
|
|
132
|
+
const that = this,
|
|
133
|
+
c = this.Dom.counter++;
|
|
134
|
+
(ev.data as PointerEvent).stopPropagation();
|
|
135
|
+
(this.target as HTMLElement).classList.remove('clicked');
|
|
136
|
+
(this.target as HTMLElement).classList.add(
|
|
137
|
+
that.Dom.counter > 9 ? 'overClicked' : 'clicked'
|
|
138
|
+
);
|
|
126
139
|
}
|
|
127
140
|
},
|
|
128
141
|
['language']
|
|
@@ -135,13 +148,11 @@ let MyTag: CustomElementConstructor = getCE('my-tag')!,
|
|
|
135
148
|
stress test
|
|
136
149
|
*/
|
|
137
150
|
|
|
138
|
-
/*
|
|
139
151
|
let start = new Date().getTime();
|
|
140
152
|
|
|
141
|
-
// create
|
|
142
|
-
for (let x = 0; x <
|
|
143
|
-
|
|
144
|
-
fragment.append(mt);
|
|
153
|
+
// create 100 elements
|
|
154
|
+
for (let x = 0; x < 100; x++) {
|
|
155
|
+
fragment.append(new MyTag());
|
|
145
156
|
}
|
|
146
157
|
|
|
147
158
|
let end = new Date().getTime();
|
|
@@ -149,8 +160,7 @@ let end = new Date().getTime();
|
|
|
149
160
|
// and put them into the DOM
|
|
150
161
|
document.body.appendChild(fragment);
|
|
151
162
|
|
|
152
|
-
document.querySelectorAll('my-tag').forEach((e) => e.remove());
|
|
153
|
-
*/
|
|
163
|
+
//document.querySelectorAll('my-tag').forEach((e) => e.remove());
|
|
154
164
|
|
|
155
165
|
/*
|
|
156
166
|
console test
|
|
@@ -159,15 +169,13 @@ console test
|
|
|
159
169
|
setTimeout(() => {
|
|
160
170
|
console.clear();
|
|
161
171
|
|
|
162
|
-
/*
|
|
163
172
|
console.log(
|
|
164
|
-
'%c \n\nStress Test:\n\n %cInstancing
|
|
173
|
+
'%c \n\nStress Test:\n\n %cInstancing 100 web components: %c %s ms.',
|
|
165
174
|
'font-weight: bold; color: black;',
|
|
166
175
|
'font-weight: normal;',
|
|
167
176
|
'font-weight: bold; color: blue;',
|
|
168
|
-
|
|
177
|
+
end - start
|
|
169
178
|
);
|
|
170
|
-
*/
|
|
171
179
|
|
|
172
180
|
document.body.appendChild(new MyTag());
|
|
173
181
|
|
|
@@ -184,4 +192,4 @@ setTimeout(() => {
|
|
|
184
192
|
|
|
185
193
|
// will trigger the event on all micro components contained in <my-tag>
|
|
186
194
|
DC.trigger(element, 'doSomething');
|
|
187
|
-
},
|
|
195
|
+
}, 500);
|
package/package.json
CHANGED
package/public/MC.js
CHANGED
|
@@ -101,16 +101,22 @@ function remove(target, key) {
|
|
|
101
101
|
return;
|
|
102
102
|
}
|
|
103
103
|
// trigger an event
|
|
104
|
-
function trigger(target, ev, data = {}) {
|
|
104
|
+
function trigger(target, ev, data = {}, bubble = 'l') {
|
|
105
105
|
let _mc = target?._mc;
|
|
106
106
|
if (!_mc)
|
|
107
107
|
return;
|
|
108
|
+
let event = ev instanceof McEvent
|
|
109
|
+
? new McEvent(ev.type, ev.data, 'l')
|
|
110
|
+
: new McEvent(ev, data, 'l'), mcEvent = typeof ev !== 'string' ? ev : new McEvent(ev, data, bubble);
|
|
108
111
|
[...Object.values(_mc)].forEach((mc) => {
|
|
109
112
|
//console.log( 'mc [', mc.constructor.name, ']', mc.constructor.prototype?.oneInit );
|
|
110
113
|
if (mc?.trigger && typeof mc?.trigger === 'function') {
|
|
111
|
-
mc?.trigger(
|
|
114
|
+
mc?.trigger(event);
|
|
112
115
|
}
|
|
113
116
|
});
|
|
117
|
+
if (/[ud]/.test(mcEvent.bubble)) {
|
|
118
|
+
bubbleEvent(target, mcEvent);
|
|
119
|
+
}
|
|
114
120
|
return;
|
|
115
121
|
}
|
|
116
122
|
// run the "init" lifecycle event on the complete _mc structure
|
|
@@ -168,6 +174,34 @@ function autoAttachListeners(element) {
|
|
|
168
174
|
});
|
|
169
175
|
}
|
|
170
176
|
}
|
|
177
|
+
function bubbleEvent(target, ev) {
|
|
178
|
+
// at this point, either 'u' or 'd' bubbling should be indicated
|
|
179
|
+
// mcEvent bubbling is asynchronous, and the order of target MC execution in case of multiple matches is not guaranteed!
|
|
180
|
+
if (/[ud]/.test(ev.bubble)) {
|
|
181
|
+
setTimeout(() => {
|
|
182
|
+
// bubbling must include 'l' for local, or else no handlers are executed'
|
|
183
|
+
if (ev.bubble.indexOf('l') === -1) {
|
|
184
|
+
ev.bubble += 'l';
|
|
185
|
+
}
|
|
186
|
+
// bubble up towards root
|
|
187
|
+
if (ev.bubble.indexOf('u') > -1) {
|
|
188
|
+
let parent = traverseNodes(target, '', true)?.[0].target;
|
|
189
|
+
if (parent)
|
|
190
|
+
DC.trigger(parent, ev);
|
|
191
|
+
}
|
|
192
|
+
// bubble down
|
|
193
|
+
if (ev.bubble.indexOf('d') > -1) {
|
|
194
|
+
let targets = new Set(target._mc
|
|
195
|
+
.children()
|
|
196
|
+
.map((c) => c?.target));
|
|
197
|
+
targets.forEach((target) => {
|
|
198
|
+
if (target)
|
|
199
|
+
DC.trigger(target, ev);
|
|
200
|
+
});
|
|
201
|
+
}
|
|
202
|
+
}, 0);
|
|
203
|
+
}
|
|
204
|
+
}
|
|
171
205
|
class McBase {
|
|
172
206
|
#target; // avoid circular reference
|
|
173
207
|
constructor(target, debug = false) {
|
|
@@ -186,18 +220,25 @@ class MC extends McBase {
|
|
|
186
220
|
super(target);
|
|
187
221
|
}
|
|
188
222
|
static trigger = trigger;
|
|
189
|
-
trigger(ev, data = {}, bubble) {
|
|
223
|
+
trigger(ev, data = {}, bubble = 'l') {
|
|
190
224
|
let that = this;
|
|
191
225
|
//console.log( that, '.trigger(', ev, data, bubble, ')' );
|
|
192
|
-
bubble = bubble || 'l';
|
|
193
226
|
// run all triggers
|
|
194
227
|
if (that.constructor === MC || that.constructor === DC) {
|
|
228
|
+
let event = ev instanceof McEvent
|
|
229
|
+
? new McEvent(ev.type, ev.data, 'l')
|
|
230
|
+
: new McEvent(ev, data, 'l'), mcEvent = typeof ev !== 'string'
|
|
231
|
+
? ev
|
|
232
|
+
: new McEvent(ev, data, bubble);
|
|
195
233
|
[...Object.getOwnPropertyNames(that)].forEach((mc) => {
|
|
196
234
|
if (that[mc]?.trigger &&
|
|
197
235
|
typeof that[mc]?.trigger === 'function') {
|
|
198
|
-
that[mc]?.trigger(
|
|
236
|
+
that[mc]?.trigger(event);
|
|
199
237
|
}
|
|
200
238
|
});
|
|
239
|
+
if (/[ud]/.test(mcEvent.bubble)) {
|
|
240
|
+
bubbleEvent(that.target, mcEvent);
|
|
241
|
+
}
|
|
201
242
|
return; // must return here!
|
|
202
243
|
}
|
|
203
244
|
// only this instance
|
|
@@ -221,29 +262,9 @@ class MC extends McBase {
|
|
|
221
262
|
if (mcEvent.stopped || mcEvent.bubble === 'l') {
|
|
222
263
|
return that;
|
|
223
264
|
}
|
|
224
|
-
//
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
/[ud]/.test(mcEvent.bubble) &&
|
|
228
|
-
that instanceof MC) {
|
|
229
|
-
setTimeout(() => {
|
|
230
|
-
// bubbling must include 'l' for local, or else no handlers are executed'
|
|
231
|
-
if (mcEvent.bubble.indexOf('l') === -1) {
|
|
232
|
-
mcEvent.bubble += 'l';
|
|
233
|
-
}
|
|
234
|
-
// bubble up towards root
|
|
235
|
-
if (mcEvent.bubble.indexOf('u') > -1) {
|
|
236
|
-
that.parent().forEach((mc) => {
|
|
237
|
-
mc instanceof MC ? mc.trigger(mcEvent) : null;
|
|
238
|
-
});
|
|
239
|
-
}
|
|
240
|
-
// bubble down
|
|
241
|
-
if (mcEvent.bubble.indexOf('d') > -1) {
|
|
242
|
-
that.children().forEach((mc) => {
|
|
243
|
-
mc instanceof MC ? mc.trigger(mcEvent) : null;
|
|
244
|
-
});
|
|
245
|
-
}
|
|
246
|
-
}, 0);
|
|
265
|
+
//console.log('bubble', mcEvent);
|
|
266
|
+
if (/[ud]/.test(mcEvent.bubble)) {
|
|
267
|
+
bubbleEvent(that.target, mcEvent);
|
|
247
268
|
}
|
|
248
269
|
}
|
|
249
270
|
}
|
package/public/MC.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MC.js","sourceRoot":"","sources":["../src/MC.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MC.js","sourceRoot":"","sources":["../src/MC.ts"],"names":[],"mappings":"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"}
|
package/public/MC.min.js
CHANGED
|
@@ -237,16 +237,22 @@ function remove(target, key) {
|
|
|
237
237
|
return;
|
|
238
238
|
}
|
|
239
239
|
// trigger an event
|
|
240
|
-
function trigger(target, ev, data = {}) {
|
|
240
|
+
function trigger(target, ev, data = {}, bubble = 'l') {
|
|
241
241
|
let _mc = target?._mc;
|
|
242
242
|
if (!_mc)
|
|
243
243
|
return;
|
|
244
|
+
let event = ev instanceof McEvent
|
|
245
|
+
? new McEvent(ev.type, ev.data, 'l')
|
|
246
|
+
: new McEvent(ev, data, 'l'), mcEvent = typeof ev !== 'string' ? ev : new McEvent(ev, data, bubble);
|
|
244
247
|
[...Object.values(_mc)].forEach((mc) => {
|
|
245
248
|
//console.log( 'mc [', mc.constructor.name, ']', mc.constructor.prototype?.oneInit );
|
|
246
249
|
if (mc?.trigger && typeof mc?.trigger === 'function') {
|
|
247
|
-
mc?.trigger(
|
|
250
|
+
mc?.trigger(event);
|
|
248
251
|
}
|
|
249
252
|
});
|
|
253
|
+
if (/[ud]/.test(mcEvent.bubble)) {
|
|
254
|
+
bubbleEvent(target, mcEvent);
|
|
255
|
+
}
|
|
250
256
|
return;
|
|
251
257
|
}
|
|
252
258
|
// run the "init" lifecycle event on the complete _mc structure
|
|
@@ -304,6 +310,34 @@ function autoAttachListeners(element) {
|
|
|
304
310
|
});
|
|
305
311
|
}
|
|
306
312
|
}
|
|
313
|
+
function bubbleEvent(target, ev) {
|
|
314
|
+
// at this point, either 'u' or 'd' bubbling should be indicated
|
|
315
|
+
// mcEvent bubbling is asynchronous, and the order of target MC execution in case of multiple matches is not guaranteed!
|
|
316
|
+
if (/[ud]/.test(ev.bubble)) {
|
|
317
|
+
setTimeout(() => {
|
|
318
|
+
// bubbling must include 'l' for local, or else no handlers are executed'
|
|
319
|
+
if (ev.bubble.indexOf('l') === -1) {
|
|
320
|
+
ev.bubble += 'l';
|
|
321
|
+
}
|
|
322
|
+
// bubble up towards root
|
|
323
|
+
if (ev.bubble.indexOf('u') > -1) {
|
|
324
|
+
let parent = MC_traverseNodes(target, '', true)?.[0].target;
|
|
325
|
+
if (parent)
|
|
326
|
+
DC.trigger(parent, ev);
|
|
327
|
+
}
|
|
328
|
+
// bubble down
|
|
329
|
+
if (ev.bubble.indexOf('d') > -1) {
|
|
330
|
+
let targets = new Set(target._mc
|
|
331
|
+
.children()
|
|
332
|
+
.map((c) => c?.target));
|
|
333
|
+
targets.forEach((target) => {
|
|
334
|
+
if (target)
|
|
335
|
+
DC.trigger(target, ev);
|
|
336
|
+
});
|
|
337
|
+
}
|
|
338
|
+
}, 0);
|
|
339
|
+
}
|
|
340
|
+
}
|
|
307
341
|
class McBase {
|
|
308
342
|
#target; // avoid circular reference
|
|
309
343
|
constructor(target, debug = false) {
|
|
@@ -322,18 +356,25 @@ class MC extends McBase {
|
|
|
322
356
|
super(target);
|
|
323
357
|
}
|
|
324
358
|
static trigger = trigger;
|
|
325
|
-
trigger(ev, data = {}, bubble) {
|
|
359
|
+
trigger(ev, data = {}, bubble = 'l') {
|
|
326
360
|
let that = this;
|
|
327
361
|
//console.log( that, '.trigger(', ev, data, bubble, ')' );
|
|
328
|
-
bubble = bubble || 'l';
|
|
329
362
|
// run all triggers
|
|
330
363
|
if (that.constructor === MC || that.constructor === DC) {
|
|
364
|
+
let event = ev instanceof McEvent
|
|
365
|
+
? new McEvent(ev.type, ev.data, 'l')
|
|
366
|
+
: new McEvent(ev, data, 'l'), mcEvent = typeof ev !== 'string'
|
|
367
|
+
? ev
|
|
368
|
+
: new McEvent(ev, data, bubble);
|
|
331
369
|
[...Object.getOwnPropertyNames(that)].forEach((mc) => {
|
|
332
370
|
if (that[mc]?.trigger &&
|
|
333
371
|
typeof that[mc]?.trigger === 'function') {
|
|
334
|
-
that[mc]?.trigger(
|
|
372
|
+
that[mc]?.trigger(event);
|
|
335
373
|
}
|
|
336
374
|
});
|
|
375
|
+
if (/[ud]/.test(mcEvent.bubble)) {
|
|
376
|
+
bubbleEvent(that.target, mcEvent);
|
|
377
|
+
}
|
|
337
378
|
return; // must return here!
|
|
338
379
|
}
|
|
339
380
|
// only this instance
|
|
@@ -357,29 +398,9 @@ class MC extends McBase {
|
|
|
357
398
|
if (mcEvent.stopped || mcEvent.bubble === 'l') {
|
|
358
399
|
return that;
|
|
359
400
|
}
|
|
360
|
-
//
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
/[ud]/.test(mcEvent.bubble) &&
|
|
364
|
-
that instanceof MC) {
|
|
365
|
-
setTimeout(() => {
|
|
366
|
-
// bubbling must include 'l' for local, or else no handlers are executed'
|
|
367
|
-
if (mcEvent.bubble.indexOf('l') === -1) {
|
|
368
|
-
mcEvent.bubble += 'l';
|
|
369
|
-
}
|
|
370
|
-
// bubble up towards root
|
|
371
|
-
if (mcEvent.bubble.indexOf('u') > -1) {
|
|
372
|
-
that.parent().forEach((mc) => {
|
|
373
|
-
mc instanceof MC ? mc.trigger(mcEvent) : null;
|
|
374
|
-
});
|
|
375
|
-
}
|
|
376
|
-
// bubble down
|
|
377
|
-
if (mcEvent.bubble.indexOf('d') > -1) {
|
|
378
|
-
that.children().forEach((mc) => {
|
|
379
|
-
mc instanceof MC ? mc.trigger(mcEvent) : null;
|
|
380
|
-
});
|
|
381
|
-
}
|
|
382
|
-
}, 0);
|
|
401
|
+
//console.log('bubble', mcEvent);
|
|
402
|
+
if (/[ud]/.test(mcEvent.bubble)) {
|
|
403
|
+
bubbleEvent(that.target, mcEvent);
|
|
383
404
|
}
|
|
384
405
|
}
|
|
385
406
|
}
|