@brandup/ui 1.0.21 → 1.0.23

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/README.md CHANGED
@@ -43,7 +43,7 @@ abstract class UIElement {
43
43
  }
44
44
  ```
45
45
 
46
- ## Command handling
46
+ ## UI commands
47
47
 
48
48
  Класс UIElement позволяет регистрировать обработчики комманд, которые определяются в разметке HTML элемента.
49
49
 
@@ -53,7 +53,7 @@ abstract class UIElement {
53
53
  this.registerCommand("send", (context: CommandContext) => { context.target.innerHTML = "ok"; });
54
54
  ```
55
55
 
56
- Так же можно регистрировать асинхронные команды:
56
+ Так же можно регистрировать асинхронные обработчики комманд:
57
57
 
58
58
  ```
59
59
  this.registerCommand("command1-async", (context: CommandContext) => {
@@ -69,4 +69,8 @@ this.registerCommand("command1-async", (context: CommandContext) => {
69
69
 
70
70
  Команды срабатывают по событию `click`.
71
71
 
72
- Во время выполнения команды, у элемента добавляется стиль **executing**.
72
+ Во время выполнения команды, у элемента добавляется стиль **executing**.
73
+
74
+ ## UI Events
75
+
76
+ `UIElement` extends class of `EveentEmmiter`.
package/dist/cjs/index.js CHANGED
@@ -1,5 +1,144 @@
1
1
  'use strict';
2
2
 
3
+ let ListenCounter = 1;
4
+ class EventEmitter {
5
+ _events;
6
+ _listenId;
7
+ _listeningTo;
8
+ on(eventName, callback, context) {
9
+ const events = this._getOrCreateEvents(eventName);
10
+ events.push({ callback, context: context || undefined, ctx: context || this });
11
+ return this;
12
+ }
13
+ once(eventName, callback, context) {
14
+ this.on(eventName, (...args) => {
15
+ callback.apply(context || this, args);
16
+ this.off(eventName, callback, context);
17
+ }, context);
18
+ }
19
+ off(eventName, callback, context) {
20
+ if (!eventName && !callback && !context)
21
+ throw new Error("Require off arguments.");
22
+ const events = this._events;
23
+ if (!events)
24
+ return this;
25
+ callback = callback || undefined;
26
+ context = context || undefined;
27
+ const eventNames = eventName ? [eventName.toLowerCase()] : Object.keys(events);
28
+ for (let i = 0; i < eventNames.length; i++) {
29
+ const name = eventNames[i];
30
+ const currentCallbacks = events[name];
31
+ if (!currentCallbacks)
32
+ continue;
33
+ // reset callback list
34
+ const newCallbacks = events[name] = [];
35
+ if (callback || context) {
36
+ currentCallbacks.forEach(c => {
37
+ if ((callback && c.callback === callback) || (!callback && !c.callback))
38
+ return;
39
+ if ((context && c.context === context) || (!context && !c.context))
40
+ return;
41
+ newCallbacks.push(c);
42
+ });
43
+ }
44
+ if (!newCallbacks.length)
45
+ delete events[name];
46
+ }
47
+ return this;
48
+ }
49
+ listenTo(source, eventName, callback) {
50
+ this._addListeningTo(source, eventName);
51
+ source.on(eventName, callback, this);
52
+ return this;
53
+ }
54
+ listenToOnce(source, eventName, callback) {
55
+ this._addListeningTo(source, eventName);
56
+ source.once(eventName, callback, this);
57
+ return this;
58
+ }
59
+ stopListening(source, eventName, callback) {
60
+ if (!this._listeningTo)
61
+ return this;
62
+ let sourceListening;
63
+ if (source) {
64
+ if (!source._listenId)
65
+ throw new Error("Emmiter is not set id.");
66
+ sourceListening = this._listeningTo[source._listenId];
67
+ }
68
+ const sources = sourceListening ? [sourceListening] : Object.values(this._listeningTo);
69
+ sources.forEach(source => {
70
+ const removeEventNames = eventName ? [eventName] : source.events;
71
+ removeEventNames.forEach(eventName => {
72
+ source.emmiter.off(eventName, callback, this);
73
+ const index = source.events.indexOf(eventName);
74
+ if (index >= 0)
75
+ source.events.splice(index, 1);
76
+ });
77
+ if (!source.events.length && source.emmiter._listenId && this._listeningTo)
78
+ delete this._listeningTo[source.emmiter._listenId];
79
+ });
80
+ if (!this._listeningTo || Object.keys(this._listeningTo).length === 0)
81
+ delete this._listeningTo;
82
+ }
83
+ _addListeningTo(source, eventName) {
84
+ const listeningTo = this._listeningTo || (this._listeningTo = {});
85
+ const listenId = source._listenId || (source._listenId = `l${ListenCounter++}`);
86
+ const listenTo = listeningTo[listenId] || (listeningTo[listenId] = { emmiter: source, events: [] });
87
+ eventName = eventName.toLowerCase();
88
+ if (listenTo.events.indexOf(eventName) !== -1)
89
+ throw new Error(`Event ${eventName} already listening.`);
90
+ listenTo.events.push(eventName);
91
+ }
92
+ stopAllListeners() {
93
+ if (!this._events)
94
+ return;
95
+ Object.values(this._events).forEach(callbacks => {
96
+ callbacks.forEach(callback => {
97
+ if (callback.context instanceof EventEmitter)
98
+ callback.context.stopListening(this);
99
+ });
100
+ });
101
+ delete this._events;
102
+ }
103
+ trigger(eventName, ...args) {
104
+ eventName = eventName.toLowerCase();
105
+ if (eventName === "all")
106
+ throw new Error('Not allow trigger all event.');
107
+ if (!this._events)
108
+ return this;
109
+ const events = this._getEvents(eventName);
110
+ const allEvents = this._getEvents("all");
111
+ this._triggerEvent(events, ...args);
112
+ this._triggerEvent(allEvents, ...args);
113
+ return this;
114
+ }
115
+ _triggerEvent(events, ...args) {
116
+ if (!events || !events.length)
117
+ return;
118
+ for (let i = 0; i < events.length; i++) {
119
+ const event = events[i];
120
+ event.callback.apply(event.ctx, args);
121
+ }
122
+ }
123
+ _getOrCreateEvents(eventName) {
124
+ eventName = eventName.toLowerCase();
125
+ const events = this._events || (this._events = {});
126
+ return events[eventName] || (events[eventName] = []);
127
+ }
128
+ _getEvents(eventName) {
129
+ if (!eventName)
130
+ return;
131
+ const events = this._events;
132
+ if (!events)
133
+ return;
134
+ return events[eventName];
135
+ }
136
+ stopEvents() {
137
+ this.stopListening();
138
+ this.stopAllListeners();
139
+ }
140
+ }
141
+
3
142
  const constants = {
4
143
  ElemAttributeName: "uiElement",
5
144
  ElemPropertyName: "uielement",
@@ -13,77 +152,48 @@ var constants$1 = /*#__PURE__*/Object.freeze({
13
152
  default: constants
14
153
  });
15
154
 
16
- class UIElement {
155
+ class UIElement extends EventEmitter {
17
156
  __element;
18
157
  __events;
19
158
  __commands;
20
- __destroyCallbacks;
159
+ __destroyed;
21
160
  // Element members
22
161
  get element() { return this.__element; }
23
162
  setElement(elem) {
24
163
  if (!elem)
25
- throw "Not set value elem.";
164
+ throw new Error("Not set value elem.");
26
165
  if (this.__element || UIElement.hasElement(elem))
27
- throw "UIElement already defined";
166
+ throw new Error("UIElement already defined");
28
167
  this.__element = elem;
29
168
  elem[constants.ElemPropertyName] = this;
30
169
  elem.dataset[constants.ElemAttributeName] = this.typeName;
31
- this.defineEvent(constants.CommandEventName, { cancelable: false, bubbles: true });
32
170
  this._onRenderElement(elem);
33
171
  }
34
172
  // static members
35
173
  static hasElement(elem) {
36
174
  return !!elem.dataset[constants.ElemAttributeName];
37
175
  }
38
- // HTMLElement event members
39
- defineEvent(eventName, eventOptions) {
40
- if (!this.__events)
41
- this.__events = {};
42
- this.__events[eventName] = eventOptions ? eventOptions : null;
43
- }
44
- raiseEvent(eventName, eventArgs) {
45
- if (!this.__events || !(eventName in this.__events))
46
- throw new Error(`Not found event "${eventName}".`);
47
- const eventOptions = this.__events[eventName];
48
- const eventInit = {};
49
- if (eventOptions) {
50
- eventInit.bubbles = eventOptions.bubbles;
51
- eventInit.cancelable = eventOptions.cancelable;
52
- eventInit.composed = eventOptions.composed;
53
- }
54
- eventInit.detail = eventArgs;
55
- return this.dispatchEvent(new CustomEvent(eventName, eventInit));
56
- }
57
- addEventListener(type, listener, options) {
58
- this.__element?.addEventListener(type, listener, options);
59
- }
60
- removeEventListener(type, listener, options) {
61
- this.__element?.removeEventListener(type, listener, options);
62
- }
63
- dispatchEvent(event) {
64
- if (!this.__element)
65
- throw new Error("HTMLElement is not defined.");
66
- return this.__element.dispatchEvent(event);
67
- }
68
176
  // Command members
69
177
  registerCommand(name, execute, canExecute) {
70
- if (!this.__commands)
71
- this.__commands = {};
178
+ if (this.__destroyed)
179
+ return this;
180
+ const commands = this.__commands || (this.__commands = {});
72
181
  const nornalizedName = name.toLowerCase();
73
- if (nornalizedName in this.__commands)
182
+ if (nornalizedName in commands)
74
183
  throw new Error(`Command "${name}" already registered.`);
75
- this.__commands[nornalizedName] = {
184
+ commands[nornalizedName] = {
76
185
  name: name,
77
186
  execute,
78
187
  canExecute
79
188
  };
189
+ return this;
80
190
  }
81
191
  hasCommand(name) {
82
192
  return this.__commands && name.toLowerCase() in this.__commands;
83
193
  }
84
194
  /** @internal */
85
195
  __execCommand(name, target) {
86
- if (!this.__element || !this.__commands)
196
+ if (this.__destroyed || !this.__element || !this.__commands)
87
197
  throw new Error("UIElement is not set HTMLElement.");
88
198
  const key = name.toLowerCase();
89
199
  const command = this.__commands[key];
@@ -104,11 +214,7 @@ class UIElement {
104
214
  delete command.isExecuting;
105
215
  return { status: "disallow", context };
106
216
  }
107
- this.raiseEvent(constants.CommandEventName, {
108
- name: command.name,
109
- uiElem: this,
110
- elem: this.__element
111
- });
217
+ this.trigger("command", { element: this, name: command.name });
112
218
  let isAsync;
113
219
  try {
114
220
  const commandResult = command.execute(context);
@@ -135,40 +241,30 @@ class UIElement {
135
241
  onDestroy(callback) {
136
242
  if (!this.__element || !callback)
137
243
  return;
138
- if (!this.__destroyCallbacks)
139
- this.__destroyCallbacks = [];
140
244
  if (callback instanceof UIElement)
141
- this.__destroyCallbacks.push(() => callback.destroy());
245
+ callback.listenTo(this, "destroy", () => callback.destroy());
142
246
  else if (callback instanceof Element)
143
- this.__destroyCallbacks.push(() => callback.remove());
247
+ this.on("destroy", () => callback.remove());
144
248
  else if (typeof callback === "function")
145
- this.__destroyCallbacks.push(callback);
249
+ this.on("destroy", () => callback());
146
250
  else
147
251
  throw new Error("Unsupported callback type.");
148
252
  }
149
- toString() {
150
- return this.typeName;
151
- }
253
+ toString() { return this.typeName; }
152
254
  destroy() {
153
- const elem = this.__element;
154
- if (!elem)
255
+ if (this.__destroyed)
155
256
  return;
156
- delete elem.dataset[constants.ElemAttributeName];
157
- delete elem[constants.ElemPropertyName];
257
+ this.__destroyed = true;
258
+ this.trigger("destroy", this);
259
+ super.stopEvents();
260
+ const elem = this.__element;
261
+ if (elem) {
262
+ delete elem.dataset[constants.ElemAttributeName];
263
+ delete elem[constants.ElemPropertyName];
264
+ }
158
265
  delete this.__element;
159
266
  delete this.__events;
160
267
  delete this.__commands;
161
- if (this.__destroyCallbacks) {
162
- this.__destroyCallbacks.map(callback => {
163
- try {
164
- callback();
165
- }
166
- catch (reason) {
167
- console.error(`Error in call "${this.typeName}" destroy callback.`);
168
- }
169
- });
170
- delete this.__destroyCallbacks;
171
- }
172
268
  }
173
269
  }
174
270
  const fundUiElementByCommand = (elem, commandName) => {
@@ -220,6 +316,7 @@ HTMLElement.prototype.ui = function (factory) {
220
316
  return this;
221
317
  };
222
318
 
319
+ exports.EventEmitter = EventEmitter;
223
320
  exports.UICONSTANTS = constants$1;
224
321
  exports.UIElement = UIElement;
225
322
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../source/constants.ts","../../../source/element.ts","../../../source/ext.ts"],"sourcesContent":[null,null,null],"names":["UICONSTANTS"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../source/events.ts","../../../source/constants.ts","../../../source/element.ts","../../../source/ext.ts"],"sourcesContent":[null,null,null,null],"names":["UICONSTANTS"],"mappings":";;AAAA,IAAI,aAAa,GAAG,CAAC,CAAC;MAET,YAAY,CAAA;AAChB,IAAA,OAAO,CAAyC;AAChD,IAAA,SAAS,CAAU;AACnB,IAAA,YAAY,CAAoC;AAExD,IAAA,EAAE,CAAC,SAAoB,EAAE,QAA2B,EAAE,OAA0B,EAAA;QAC/E,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;AAClD,QAAA,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,GAAG,EAAE,OAAO,IAAI,IAAI,EAAE,CAAC,CAAC;AAC/E,QAAA,OAAO,IAAI,CAAC;KACZ;AAED,IAAA,IAAI,CAAC,SAAoB,EAAE,QAA2B,EAAE,OAA0B,EAAA;QACjF,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,GAAG,IAAW,KAAI;YACrC,QAAQ,CAAC,KAAK,CAAC,OAAO,IAAI,IAAI,EAAE,IAAI,CAAC,CAAC;YACtC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;SACvC,EAAE,OAAO,CAAC,CAAC;KACZ;AAED,IAAA,GAAG,CAAC,SAA4B,EAAE,QAAmC,EAAE,OAAiC,EAAA;AACvG,QAAA,IAAI,CAAC,SAAS,IAAI,CAAC,QAAQ,IAAI,CAAC,OAAO;AACtC,YAAA,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;AAE3C,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;AAC5B,QAAA,IAAI,CAAC,MAAM;AACV,YAAA,OAAO,IAAI,CAAC;AAEb,QAAA,QAAQ,GAAG,QAAQ,IAAI,SAAS,CAAC;AACjC,QAAA,OAAO,GAAG,OAAO,IAAI,SAAS,CAAC;QAE/B,MAAM,UAAU,GAAG,SAAS,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC/E,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC3C,YAAA,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;AAC3B,YAAA,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AACtC,YAAA,IAAI,CAAC,gBAAgB;gBACpB,SAAS;;YAGV,MAAM,YAAY,GAAoB,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;AAExD,YAAA,IAAI,QAAQ,IAAI,OAAO,EAAE;AACxB,gBAAA,gBAAgB,CAAC,OAAO,CAAC,CAAC,IAAG;AAC5B,oBAAA,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;wBACtE,OAAO;AACR,oBAAA,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,KAAK,OAAO,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;wBACjE,OAAO;AAER,oBAAA,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACtB,iBAAC,CAAC,CAAC;aACH;YAED,IAAI,CAAC,YAAY,CAAC,MAAM;AACvB,gBAAA,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;SACrB;AAED,QAAA,OAAO,IAAI,CAAC;KACZ;AAES,IAAA,QAAQ,CAAC,MAAoB,EAAE,SAAoB,EAAE,QAA2B,EAAA;AACzF,QAAA,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACxC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;AACrC,QAAA,OAAO,IAAI,CAAC;KACZ;AAES,IAAA,YAAY,CAAC,MAAoB,EAAE,SAAoB,EAAE,QAA2B,EAAA;AAC7F,QAAA,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;AACvC,QAAA,OAAO,IAAI,CAAC;KACZ;AAES,IAAA,aAAa,CAAC,MAAqB,EAAE,SAAqB,EAAE,QAA4B,EAAA;QACjG,IAAI,CAAC,IAAI,CAAC,YAAY;AACrB,YAAA,OAAO,IAAI,CAAC;AAEb,QAAA,IAAI,eAA2C,CAAC;QAChD,IAAI,MAAM,EAAE;YACX,IAAI,CAAC,MAAM,CAAC,SAAS;AACpB,gBAAA,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;YAC3C,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;SACtD;QAED,MAAM,OAAO,GAAG,eAAe,GAAG,CAAC,eAAe,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AACvF,QAAA,OAAO,CAAC,OAAO,CAAC,MAAM,IAAG;AACxB,YAAA,MAAM,gBAAgB,GAAG,SAAS,GAAG,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;AACjE,YAAA,gBAAgB,CAAC,OAAO,CAAC,SAAS,IAAG;gBACpC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;gBAE9C,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBAC/C,IAAI,KAAK,IAAI,CAAC;oBACb,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AACjC,aAAC,CAAC,CAAC;AAEH,YAAA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,YAAY;gBACzE,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AACrD,SAAC,CAAC,CAAC;AAEH,QAAA,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,KAAK,CAAC;YACpE,OAAO,IAAI,CAAC,YAAY,CAAC;KAC1B;IAEO,eAAe,CAAC,MAAoB,EAAE,SAAoB,EAAA;AACjE,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC,CAAC;AAClE,QAAA,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,KAAK,MAAM,CAAC,SAAS,GAAG,CAAI,CAAA,EAAA,aAAa,EAAE,CAAA,CAAE,CAAC,CAAC;QAEhF,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,KAAK,WAAW,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;AAEpG,QAAA,SAAS,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;QACpC,IAAI,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAC5C,YAAA,MAAM,IAAI,KAAK,CAAC,SAAS,SAAS,CAAA,mBAAA,CAAqB,CAAC,CAAC;AAE1D,QAAA,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;KAChC;IAEO,gBAAgB,GAAA;QACvB,IAAI,CAAC,IAAI,CAAC,OAAO;YAChB,OAAO;AAER,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,SAAS,IAAG;AAC/C,YAAA,SAAS,CAAC,OAAO,CAAC,QAAQ,IAAG;AAC5B,gBAAA,IAAI,QAAQ,CAAC,OAAO,YAAY,YAAY;AAC3C,oBAAA,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;AACvC,aAAC,CAAC,CAAC;AACJ,SAAC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,OAAO,CAAC;KACpB;AAES,IAAA,OAAO,CAAC,SAAiB,EAAE,GAAG,IAAW,EAAA;AAClD,QAAA,SAAS,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;QAEpC,IAAI,SAAS,KAAK,KAAK;AACtB,YAAA,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QACjD,IAAI,CAAC,IAAI,CAAC,OAAO;AAChB,YAAA,OAAO,IAAI,CAAC;QAEb,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACzC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC;AAEvC,QAAA,OAAO,IAAI,CAAC;KACZ;AAEO,IAAA,aAAa,CAAC,MAAmC,EAAE,GAAG,IAAW,EAAA;AACxE,QAAA,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM;YAC5B,OAAO;AAER,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACvC,YAAA,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACxB,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;SACtC;KACD;AAEO,IAAA,kBAAkB,CAAC,SAAiB,EAAA;AAC3C,QAAA,SAAS,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;AACpC,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;AACnD,QAAA,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC;KACrD;AAEO,IAAA,UAAU,CAAC,SAAoB,EAAA;AACtC,QAAA,IAAI,CAAC,SAAS;YACb,OAAO;AACR,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;AAC5B,QAAA,IAAI,CAAC,MAAM;YACV,OAAO;AAER,QAAA,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC;KACzB;IAES,UAAU,GAAA;QACnB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,gBAAgB,EAAE,CAAC;KACxB;AACD;;ACtKD,MAAM,SAAS,GAAgB;AAC9B,IAAA,iBAAiB,EAAE,WAAW;AAC9B,IAAA,gBAAgB,EAAE,WAAW;AAC7B,IAAA,oBAAoB,EAAE,SAAS;AAC/B,IAAA,4BAA4B,EAAE,WAAW;AACzC,IAAA,gBAAgB,EAAE,WAAW;CAC7B;;;;;;;ACXK,MAAgB,SAAU,SAAQ,YAAY,CAAA;AAC3C,IAAA,SAAS,CAAe;AACxB,IAAA,QAAQ,CAAuC;AAC/C,IAAA,UAAU,CAAkC;AAC5C,IAAA,WAAW,CAAW;;IAM9B,IAAI,OAAO,KAA8B,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE;AAEvD,IAAA,UAAU,CAAC,IAAiB,EAAA;AACrC,QAAA,IAAI,CAAC,IAAI;AACR,YAAA,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QAExC,IAAI,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC;AAC/C,YAAA,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;AAE9C,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;AAEhB,QAAA,IAAK,CAACA,SAAW,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC;QACjD,IAAI,CAAC,OAAO,CAACA,SAAW,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAE5D,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;KAC5B;;IAID,OAAO,UAAU,CAAC,IAAiB,EAAA;QAClC,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAACA,SAAW,CAAC,iBAAiB,CAAC,CAAC;KACrD;;AAID,IAAA,eAAe,CAAC,IAAY,EAAE,OAA+B,EAAE,UAAsC,EAAA;QACpG,IAAI,IAAI,CAAC,WAAW;AACnB,YAAA,OAAO,IAAI,CAAC;AAEb,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC;AAE3D,QAAA,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAC1C,IAAI,cAAc,IAAI,QAAQ;AAC7B,YAAA,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,CAAA,qBAAA,CAAuB,CAAC,CAAC;QAE1D,QAAQ,CAAC,cAAc,CAAC,GAAG;AAC1B,YAAA,IAAI,EAAE,IAAI;YACV,OAAO;YACP,UAAU;SACV,CAAC;AAEF,QAAA,OAAO,IAAI,CAAC;KACZ;AAED,IAAA,UAAU,CAAC,IAAY,EAAA;AACtB,QAAA,OAAO,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,WAAW,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC;KAChE;;IAGD,aAAa,CAAC,IAAY,EAAE,MAAmB,EAAA;AAC9C,QAAA,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,UAAU;AAC1D,YAAA,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;AAEtD,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AACrC,QAAA,IAAI,CAAC,OAAO;AACX,YAAA,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,CAAA,oBAAA,CAAsB,CAAC,CAAC;AAEzD,QAAA,MAAM,OAAO,GAAmB;YAC/B,MAAM;AACN,YAAA,MAAM,EAAE,IAAI;SACZ,CAAC;QAEF,IAAI,OAAO,CAAC,WAAW;AACtB,YAAA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;AACvC,QAAA,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;QAE3B,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE;YAC1C,OAAO,OAAO,CAAC,WAAW,CAAC;AAC3B,YAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;SACvC;AAED,QAAA,IAAI,OAAO,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;YACvD,OAAO,OAAO,CAAC,WAAW,CAAC;AAC3B,YAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;SACvC;AAED,QAAA,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;AAE/D,QAAA,IAAI,OAA4B,CAAC;AACjC,QAAA,IAAI;YACH,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AAE/C,YAAA,IAAI,aAAa,IAAI,aAAa,YAAY,OAAO,EAAE;gBACtD,OAAO,GAAG,IAAI,CAAC;gBAEf,MAAM,CAAC,SAAS,CAAC,GAAG,CAACA,SAAW,CAAC,4BAA4B,CAAC,CAAC;gBAC/D,aAAa;qBACX,OAAO,CAAC,MAAK;oBACb,MAAM,CAAC,SAAS,CAAC,MAAM,CAACA,SAAW,CAAC,4BAA4B,CAAC,CAAC;oBAClE,OAAO,OAAO,CAAC,WAAW,CAAC;AAC5B,iBAAC,CAAC,CAAC;aACJ;SACD;gBACO;AACP,YAAA,IAAI,CAAC,OAAO;gBACX,OAAO,OAAO,CAAC,WAAW,CAAC;SAC5B;QAED,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;KAC/C;IAES,gBAAgB,CAAC,KAAkB,EAAA,GAAK;IAExC,iBAAiB,CAAC,KAAa,EAAE,KAAkB,EAAA;AAC5D,QAAA,OAAO,IAAI,CAAC;KACZ;AAED,IAAA,SAAS,CAAC,QAA4C,EAAA;AACrD,QAAA,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,QAAQ;YAC/B,OAAO;QAER,IAAI,QAAQ,YAAY,SAAS;AAChC,YAAA,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;aACzD,IAAI,QAAQ,YAAY,OAAO;AACnC,YAAA,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;aACxC,IAAI,OAAO,QAAQ,KAAK,UAAU;YACtC,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,QAAQ,EAAE,CAAC,CAAC;;AAErC,YAAA,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;KAC/C;AAED,IAAA,QAAQ,KAAa,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE;IAE5C,OAAO,GAAA;QACN,IAAI,IAAI,CAAC,WAAW;YACnB,OAAO;AACR,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;AAExB,QAAA,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAC9B,KAAK,CAAC,UAAU,EAAE,CAAC;AAEnB,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;QAC5B,IAAI,IAAI,EAAE;YACT,OAAO,IAAI,CAAC,OAAO,CAACA,SAAW,CAAC,iBAAiB,CAAC,CAAC;AACnD,YAAA,OAAa,IAAK,CAACA,SAAW,CAAC,gBAAgB,CAAC,CAAC;SACjD;QAED,OAAO,IAAI,CAAC,SAAS,CAAC;QACtB,OAAO,IAAI,CAAC,QAAQ,CAAC;QACrB,OAAO,IAAI,CAAC,UAAU,CAAC;KACvB;AACD,CAAA;AAED,MAAM,sBAAsB,GAAG,CAAC,IAAiB,EAAE,WAAmB,KAAsB;IAC3F,OAAO,IAAI,EAAE;QACZ,IAAI,IAAI,CAAC,OAAO,CAACA,SAAW,CAAC,iBAAiB,CAAC,EAAE;YAChD,MAAM,MAAM,GAAoB,IAAK,CAACA,SAAW,CAAC,gBAAgB,CAAC,CAAC;AACpE,YAAA,IAAI,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC;AACjC,gBAAA,OAAO,MAAM,CAAC;SACf;AAED,QAAA,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW;AAC5C,YAAA,IAAI,GAAG,IAAI,CAAC,UAAyB,CAAC;aAClC,IAAI,IAAI,CAAC,aAAa;AAC1B,YAAA,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC;;YAE1B,MAAM;KACP;AAED,IAAA,OAAO,IAAI,CAAC;AACb,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,CAAa,KAAI;AAC7C,IAAA,IAAI,WAAW,GAAuB,CAAC,CAAC,MAAqB,CAAC;IAC9D,OAAO,WAAW,EAAE;AACnB,QAAA,IAAI,WAAW,CAAC,OAAO,CAACA,SAAW,CAAC,oBAAoB,CAAC;YACxD,MAAM;AAEP,QAAA,IAAI,WAAW,KAAK,CAAC,CAAC,aAAa;YAClC,OAAO;AAER,QAAA,WAAW,GAAG,WAAW,CAAC,aAAa,CAAC;KACxC;AAED,IAAA,IAAI,CAAC,WAAW;QACf,OAAO;IAER,MAAM,WAAW,GAAG,WAAW,CAAC,OAAO,CAACA,SAAW,CAAC,oBAAoB,CAAC,CAAC;AAC1E,IAAA,IAAI,CAAC,WAAW;AACf,QAAA,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAE9D,MAAM,MAAM,GAAG,sBAAsB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IAChE,IAAI,MAAM,EAAE;QACX,MAAM,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAC9D,IAAI,MAAM,CAAC,MAAM,IAAI,SAAS,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW;YAC3D,OAAO;KACR;;AAEA,QAAA,OAAO,CAAC,IAAI,CAAC,iCAAiC,WAAW,CAAA,EAAA,CAAI,CAAC,CAAC;IAEhE,CAAC,CAAC,cAAc,EAAE,CAAC;IACnB,CAAC,CAAC,eAAe,EAAE,CAAC;IACpB,CAAC,CAAC,wBAAwB,EAAE,CAAC;AAC9B,CAAC,CAAA;AAED,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,mBAAmB,EAAE,KAAK,CAAC;;ACjM5D,WAAW,CAAC,SAAS,CAAC,EAAE,GAAG,UAAU,OAAyC,EAAA;IAC7E,OAAO,CAAC,IAAI,CAAC,CAAC;AACd,IAAA,OAAO,IAAI,CAAC;AACb,CAAC;;;;;;"}
package/dist/mjs/index.js CHANGED
@@ -1,3 +1,142 @@
1
+ let ListenCounter = 1;
2
+ class EventEmitter {
3
+ _events;
4
+ _listenId;
5
+ _listeningTo;
6
+ on(eventName, callback, context) {
7
+ const events = this._getOrCreateEvents(eventName);
8
+ events.push({ callback, context: context || undefined, ctx: context || this });
9
+ return this;
10
+ }
11
+ once(eventName, callback, context) {
12
+ this.on(eventName, (...args) => {
13
+ callback.apply(context || this, args);
14
+ this.off(eventName, callback, context);
15
+ }, context);
16
+ }
17
+ off(eventName, callback, context) {
18
+ if (!eventName && !callback && !context)
19
+ throw new Error("Require off arguments.");
20
+ const events = this._events;
21
+ if (!events)
22
+ return this;
23
+ callback = callback || undefined;
24
+ context = context || undefined;
25
+ const eventNames = eventName ? [eventName.toLowerCase()] : Object.keys(events);
26
+ for (let i = 0; i < eventNames.length; i++) {
27
+ const name = eventNames[i];
28
+ const currentCallbacks = events[name];
29
+ if (!currentCallbacks)
30
+ continue;
31
+ // reset callback list
32
+ const newCallbacks = events[name] = [];
33
+ if (callback || context) {
34
+ currentCallbacks.forEach(c => {
35
+ if ((callback && c.callback === callback) || (!callback && !c.callback))
36
+ return;
37
+ if ((context && c.context === context) || (!context && !c.context))
38
+ return;
39
+ newCallbacks.push(c);
40
+ });
41
+ }
42
+ if (!newCallbacks.length)
43
+ delete events[name];
44
+ }
45
+ return this;
46
+ }
47
+ listenTo(source, eventName, callback) {
48
+ this._addListeningTo(source, eventName);
49
+ source.on(eventName, callback, this);
50
+ return this;
51
+ }
52
+ listenToOnce(source, eventName, callback) {
53
+ this._addListeningTo(source, eventName);
54
+ source.once(eventName, callback, this);
55
+ return this;
56
+ }
57
+ stopListening(source, eventName, callback) {
58
+ if (!this._listeningTo)
59
+ return this;
60
+ let sourceListening;
61
+ if (source) {
62
+ if (!source._listenId)
63
+ throw new Error("Emmiter is not set id.");
64
+ sourceListening = this._listeningTo[source._listenId];
65
+ }
66
+ const sources = sourceListening ? [sourceListening] : Object.values(this._listeningTo);
67
+ sources.forEach(source => {
68
+ const removeEventNames = eventName ? [eventName] : source.events;
69
+ removeEventNames.forEach(eventName => {
70
+ source.emmiter.off(eventName, callback, this);
71
+ const index = source.events.indexOf(eventName);
72
+ if (index >= 0)
73
+ source.events.splice(index, 1);
74
+ });
75
+ if (!source.events.length && source.emmiter._listenId && this._listeningTo)
76
+ delete this._listeningTo[source.emmiter._listenId];
77
+ });
78
+ if (!this._listeningTo || Object.keys(this._listeningTo).length === 0)
79
+ delete this._listeningTo;
80
+ }
81
+ _addListeningTo(source, eventName) {
82
+ const listeningTo = this._listeningTo || (this._listeningTo = {});
83
+ const listenId = source._listenId || (source._listenId = `l${ListenCounter++}`);
84
+ const listenTo = listeningTo[listenId] || (listeningTo[listenId] = { emmiter: source, events: [] });
85
+ eventName = eventName.toLowerCase();
86
+ if (listenTo.events.indexOf(eventName) !== -1)
87
+ throw new Error(`Event ${eventName} already listening.`);
88
+ listenTo.events.push(eventName);
89
+ }
90
+ stopAllListeners() {
91
+ if (!this._events)
92
+ return;
93
+ Object.values(this._events).forEach(callbacks => {
94
+ callbacks.forEach(callback => {
95
+ if (callback.context instanceof EventEmitter)
96
+ callback.context.stopListening(this);
97
+ });
98
+ });
99
+ delete this._events;
100
+ }
101
+ trigger(eventName, ...args) {
102
+ eventName = eventName.toLowerCase();
103
+ if (eventName === "all")
104
+ throw new Error('Not allow trigger all event.');
105
+ if (!this._events)
106
+ return this;
107
+ const events = this._getEvents(eventName);
108
+ const allEvents = this._getEvents("all");
109
+ this._triggerEvent(events, ...args);
110
+ this._triggerEvent(allEvents, ...args);
111
+ return this;
112
+ }
113
+ _triggerEvent(events, ...args) {
114
+ if (!events || !events.length)
115
+ return;
116
+ for (let i = 0; i < events.length; i++) {
117
+ const event = events[i];
118
+ event.callback.apply(event.ctx, args);
119
+ }
120
+ }
121
+ _getOrCreateEvents(eventName) {
122
+ eventName = eventName.toLowerCase();
123
+ const events = this._events || (this._events = {});
124
+ return events[eventName] || (events[eventName] = []);
125
+ }
126
+ _getEvents(eventName) {
127
+ if (!eventName)
128
+ return;
129
+ const events = this._events;
130
+ if (!events)
131
+ return;
132
+ return events[eventName];
133
+ }
134
+ stopEvents() {
135
+ this.stopListening();
136
+ this.stopAllListeners();
137
+ }
138
+ }
139
+
1
140
  const constants = {
2
141
  ElemAttributeName: "uiElement",
3
142
  ElemPropertyName: "uielement",
@@ -11,77 +150,48 @@ var constants$1 = /*#__PURE__*/Object.freeze({
11
150
  default: constants
12
151
  });
13
152
 
14
- class UIElement {
153
+ class UIElement extends EventEmitter {
15
154
  __element;
16
155
  __events;
17
156
  __commands;
18
- __destroyCallbacks;
157
+ __destroyed;
19
158
  // Element members
20
159
  get element() { return this.__element; }
21
160
  setElement(elem) {
22
161
  if (!elem)
23
- throw "Not set value elem.";
162
+ throw new Error("Not set value elem.");
24
163
  if (this.__element || UIElement.hasElement(elem))
25
- throw "UIElement already defined";
164
+ throw new Error("UIElement already defined");
26
165
  this.__element = elem;
27
166
  elem[constants.ElemPropertyName] = this;
28
167
  elem.dataset[constants.ElemAttributeName] = this.typeName;
29
- this.defineEvent(constants.CommandEventName, { cancelable: false, bubbles: true });
30
168
  this._onRenderElement(elem);
31
169
  }
32
170
  // static members
33
171
  static hasElement(elem) {
34
172
  return !!elem.dataset[constants.ElemAttributeName];
35
173
  }
36
- // HTMLElement event members
37
- defineEvent(eventName, eventOptions) {
38
- if (!this.__events)
39
- this.__events = {};
40
- this.__events[eventName] = eventOptions ? eventOptions : null;
41
- }
42
- raiseEvent(eventName, eventArgs) {
43
- if (!this.__events || !(eventName in this.__events))
44
- throw new Error(`Not found event "${eventName}".`);
45
- const eventOptions = this.__events[eventName];
46
- const eventInit = {};
47
- if (eventOptions) {
48
- eventInit.bubbles = eventOptions.bubbles;
49
- eventInit.cancelable = eventOptions.cancelable;
50
- eventInit.composed = eventOptions.composed;
51
- }
52
- eventInit.detail = eventArgs;
53
- return this.dispatchEvent(new CustomEvent(eventName, eventInit));
54
- }
55
- addEventListener(type, listener, options) {
56
- this.__element?.addEventListener(type, listener, options);
57
- }
58
- removeEventListener(type, listener, options) {
59
- this.__element?.removeEventListener(type, listener, options);
60
- }
61
- dispatchEvent(event) {
62
- if (!this.__element)
63
- throw new Error("HTMLElement is not defined.");
64
- return this.__element.dispatchEvent(event);
65
- }
66
174
  // Command members
67
175
  registerCommand(name, execute, canExecute) {
68
- if (!this.__commands)
69
- this.__commands = {};
176
+ if (this.__destroyed)
177
+ return this;
178
+ const commands = this.__commands || (this.__commands = {});
70
179
  const nornalizedName = name.toLowerCase();
71
- if (nornalizedName in this.__commands)
180
+ if (nornalizedName in commands)
72
181
  throw new Error(`Command "${name}" already registered.`);
73
- this.__commands[nornalizedName] = {
182
+ commands[nornalizedName] = {
74
183
  name: name,
75
184
  execute,
76
185
  canExecute
77
186
  };
187
+ return this;
78
188
  }
79
189
  hasCommand(name) {
80
190
  return this.__commands && name.toLowerCase() in this.__commands;
81
191
  }
82
192
  /** @internal */
83
193
  __execCommand(name, target) {
84
- if (!this.__element || !this.__commands)
194
+ if (this.__destroyed || !this.__element || !this.__commands)
85
195
  throw new Error("UIElement is not set HTMLElement.");
86
196
  const key = name.toLowerCase();
87
197
  const command = this.__commands[key];
@@ -102,11 +212,7 @@ class UIElement {
102
212
  delete command.isExecuting;
103
213
  return { status: "disallow", context };
104
214
  }
105
- this.raiseEvent(constants.CommandEventName, {
106
- name: command.name,
107
- uiElem: this,
108
- elem: this.__element
109
- });
215
+ this.trigger("command", { element: this, name: command.name });
110
216
  let isAsync;
111
217
  try {
112
218
  const commandResult = command.execute(context);
@@ -133,40 +239,30 @@ class UIElement {
133
239
  onDestroy(callback) {
134
240
  if (!this.__element || !callback)
135
241
  return;
136
- if (!this.__destroyCallbacks)
137
- this.__destroyCallbacks = [];
138
242
  if (callback instanceof UIElement)
139
- this.__destroyCallbacks.push(() => callback.destroy());
243
+ callback.listenTo(this, "destroy", () => callback.destroy());
140
244
  else if (callback instanceof Element)
141
- this.__destroyCallbacks.push(() => callback.remove());
245
+ this.on("destroy", () => callback.remove());
142
246
  else if (typeof callback === "function")
143
- this.__destroyCallbacks.push(callback);
247
+ this.on("destroy", () => callback());
144
248
  else
145
249
  throw new Error("Unsupported callback type.");
146
250
  }
147
- toString() {
148
- return this.typeName;
149
- }
251
+ toString() { return this.typeName; }
150
252
  destroy() {
151
- const elem = this.__element;
152
- if (!elem)
253
+ if (this.__destroyed)
153
254
  return;
154
- delete elem.dataset[constants.ElemAttributeName];
155
- delete elem[constants.ElemPropertyName];
255
+ this.__destroyed = true;
256
+ this.trigger("destroy", this);
257
+ super.stopEvents();
258
+ const elem = this.__element;
259
+ if (elem) {
260
+ delete elem.dataset[constants.ElemAttributeName];
261
+ delete elem[constants.ElemPropertyName];
262
+ }
156
263
  delete this.__element;
157
264
  delete this.__events;
158
265
  delete this.__commands;
159
- if (this.__destroyCallbacks) {
160
- this.__destroyCallbacks.map(callback => {
161
- try {
162
- callback();
163
- }
164
- catch (reason) {
165
- console.error(`Error in call "${this.typeName}" destroy callback.`);
166
- }
167
- });
168
- delete this.__destroyCallbacks;
169
- }
170
266
  }
171
267
  }
172
268
  const fundUiElementByCommand = (elem, commandName) => {
@@ -218,5 +314,5 @@ HTMLElement.prototype.ui = function (factory) {
218
314
  return this;
219
315
  };
220
316
 
221
- export { constants$1 as UICONSTANTS, UIElement };
317
+ export { EventEmitter, constants$1 as UICONSTANTS, UIElement };
222
318
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../source/constants.ts","../../../source/element.ts","../../../source/ext.ts"],"sourcesContent":[null,null,null],"names":["UICONSTANTS"],"mappings":"AAQA,MAAM,SAAS,GAAgB;AAC9B,IAAA,iBAAiB,EAAE,WAAW;AAC9B,IAAA,gBAAgB,EAAE,WAAW;AAC7B,IAAA,oBAAoB,EAAE,SAAS;AAC/B,IAAA,4BAA4B,EAAE,WAAW;AACzC,IAAA,gBAAgB,EAAE,WAAW;CAC7B;;;;;;;MCZqB,SAAS,CAAA;AACtB,IAAA,SAAS,CAAe;AACxB,IAAA,QAAQ,CAAuC;AAC/C,IAAA,UAAU,CAAkC;AAC5C,IAAA,kBAAkB,CAAuB;;IAMjD,IAAI,OAAO,KAA8B,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE;AAEvD,IAAA,UAAU,CAAC,IAAiB,EAAA;AACrC,QAAA,IAAI,CAAC,IAAI;AACR,YAAA,MAAM,qBAAqB,CAAC;QAE7B,IAAI,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC;AAC/C,YAAA,MAAM,2BAA2B,CAAC;AAEnC,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;AAEhB,QAAA,IAAK,CAACA,SAAW,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC;QACjD,IAAI,CAAC,OAAO,CAACA,SAAW,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAE5D,QAAA,IAAI,CAAC,WAAW,CAACA,SAAW,CAAC,gBAAgB,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AAErF,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;KAC5B;;IAID,OAAO,UAAU,CAAC,IAAiB,EAAA;QAClC,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAACA,SAAW,CAAC,iBAAiB,CAAC,CAAC;KACrD;;IAIS,WAAW,CAAC,SAAiB,EAAE,YAAwB,EAAA;QAChE,IAAI,CAAC,IAAI,CAAC,QAAQ;AACjB,YAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;AACpB,QAAA,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,YAAY,GAAG,YAAY,GAAG,IAAI,CAAC;KAC9D;IAES,UAAU,CAAS,SAAiB,EAAE,SAAa,EAAA;AAC5D,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC;AAClD,YAAA,MAAM,IAAI,KAAK,CAAC,oBAAoB,SAAS,CAAA,EAAA,CAAI,CAAC,CAAC;QAEpD,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAE9C,MAAM,SAAS,GAAuB,EAAE,CAAC;QACzC,IAAI,YAAY,EAAE;AACjB,YAAA,SAAS,CAAC,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC;AACzC,YAAA,SAAS,CAAC,UAAU,GAAG,YAAY,CAAC,UAAU,CAAC;AAC/C,YAAA,SAAS,CAAC,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC;SAC3C;AACD,QAAA,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC;AAE7B,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAI,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;KACpE;AAED,IAAA,gBAAgB,CAAC,IAAY,EAAE,QAA4C,EAAE,OAA2C,EAAA;QACvH,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;KAC1D;AAED,IAAA,mBAAmB,CAAC,IAAY,EAAE,QAA4C,EAAE,OAAwC,EAAA;QACvH,IAAI,CAAC,SAAS,EAAE,mBAAmB,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;KAC7D;AAED,IAAA,aAAa,CAAC,KAAY,EAAA;QACzB,IAAI,CAAC,IAAI,CAAC,SAAS;AAClB,YAAA,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QAEhD,OAAO,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;KAC3C;;AAID,IAAA,eAAe,CAAC,IAAY,EAAE,OAA+B,EAAE,UAAsC,EAAA;QACpG,IAAI,CAAC,IAAI,CAAC,UAAU;AACnB,YAAA,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;AAEtB,QAAA,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;AAC1C,QAAA,IAAI,cAAc,IAAI,IAAI,CAAC,UAAU;AACpC,YAAA,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,CAAA,qBAAA,CAAuB,CAAC,CAAC;AAE1D,QAAA,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG;AACjC,YAAA,IAAI,EAAE,IAAI;YACV,OAAO;YACP,UAAU;SACV,CAAC;KACF;AAED,IAAA,UAAU,CAAC,IAAY,EAAA;AACtB,QAAA,OAAO,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,WAAW,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC;KAChE;;IAGD,aAAa,CAAC,IAAY,EAAE,MAAmB,EAAA;QAC9C,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,UAAU;AACtC,YAAA,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;AAEtD,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AACrC,QAAA,IAAI,CAAC,OAAO;AACX,YAAA,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,CAAA,oBAAA,CAAsB,CAAC,CAAC;AAEzD,QAAA,MAAM,OAAO,GAAmB;YAC/B,MAAM;AACN,YAAA,MAAM,EAAE,IAAI;SACZ,CAAC;QAEF,IAAI,OAAO,CAAC,WAAW;AACtB,YAAA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;AACvC,QAAA,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;QAE3B,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE;YAC1C,OAAO,OAAO,CAAC,WAAW,CAAC;AAC3B,YAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;SACvC;AAED,QAAA,IAAI,OAAO,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;YACvD,OAAO,OAAO,CAAC,WAAW,CAAC;AAC3B,YAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;SACvC;AAED,QAAA,IAAI,CAAC,UAAU,CAAmBA,SAAW,CAAC,gBAAgB,EAAE;YAC/D,IAAI,EAAE,OAAO,CAAC,IAAI;AAClB,YAAA,MAAM,EAAE,IAAI;YACZ,IAAI,EAAE,IAAI,CAAC,SAAS;AACpB,SAAA,CAAC,CAAC;AAEH,QAAA,IAAI,OAA4B,CAAC;AACjC,QAAA,IAAI;YACH,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AAE/C,YAAA,IAAI,aAAa,IAAI,aAAa,YAAY,OAAO,EAAE;gBACtD,OAAO,GAAG,IAAI,CAAC;gBAEf,MAAM,CAAC,SAAS,CAAC,GAAG,CAACA,SAAW,CAAC,4BAA4B,CAAC,CAAC;gBAC/D,aAAa;qBACX,OAAO,CAAC,MAAK;oBACb,MAAM,CAAC,SAAS,CAAC,MAAM,CAACA,SAAW,CAAC,4BAA4B,CAAC,CAAC;oBAClE,OAAO,OAAO,CAAC,WAAW,CAAC;AAC5B,iBAAC,CAAC,CAAC;aACJ;SACD;gBACO;AACP,YAAA,IAAI,CAAC,OAAO;gBACX,OAAO,OAAO,CAAC,WAAW,CAAC;SAC5B;QAED,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;KAC/C;IAES,gBAAgB,CAAC,KAAkB,EAAA,GAAK;IAExC,iBAAiB,CAAC,KAAa,EAAE,KAAkB,EAAA;AAC5D,QAAA,OAAO,IAAI,CAAC;KACZ;AAED,IAAA,SAAS,CAAC,QAA4C,EAAA;AACrD,QAAA,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,QAAQ;YAC/B,OAAO;QAER,IAAI,CAAC,IAAI,CAAC,kBAAkB;AAC3B,YAAA,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;QAE9B,IAAI,QAAQ,YAAY,SAAS;AAChC,YAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;aACnD,IAAI,QAAQ,YAAY,OAAO;AACnC,YAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;aAClD,IAAI,OAAO,QAAQ,KAAK,UAAU;AACtC,YAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;;AAEvC,YAAA,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;KAC/C;IAED,QAAQ,GAAA;QACP,OAAO,IAAI,CAAC,QAAQ,CAAC;KACrB;IAED,OAAO,GAAA;AACN,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;AAC5B,QAAA,IAAI,CAAC,IAAI;YACR,OAAO;QAER,OAAO,IAAI,CAAC,OAAO,CAACA,SAAW,CAAC,iBAAiB,CAAC,CAAC;AACnD,QAAA,OAAa,IAAK,CAACA,SAAW,CAAC,gBAAgB,CAAC,CAAC;QAEjD,OAAO,IAAI,CAAC,SAAS,CAAC;QACtB,OAAO,IAAI,CAAC,QAAQ,CAAC;QACrB,OAAO,IAAI,CAAC,UAAU,CAAC;AAEvB,QAAA,IAAI,IAAI,CAAC,kBAAkB,EAAE;AAC5B,YAAA,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,IAAG;AACtC,gBAAA,IAAI;AACH,oBAAA,QAAQ,EAAE,CAAC;iBACX;gBACD,OAAO,MAAM,EAAE;oBACd,OAAO,CAAC,KAAK,CAAC,CAAA,eAAA,EAAkB,IAAI,CAAC,QAAQ,CAAqB,mBAAA,CAAA,CAAC,CAAC;iBACpE;AACF,aAAC,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC,kBAAkB,CAAC;SAC/B;KACD;AACD,CAAA;AAED,MAAM,sBAAsB,GAAG,CAAC,IAAiB,EAAE,WAAmB,KAAsB;IAC3F,OAAO,IAAI,EAAE;QACZ,IAAI,IAAI,CAAC,OAAO,CAACA,SAAW,CAAC,iBAAiB,CAAC,EAAE;YAChD,MAAM,MAAM,GAAoB,IAAK,CAACA,SAAW,CAAC,gBAAgB,CAAC,CAAC;AACpE,YAAA,IAAI,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC;AACjC,gBAAA,OAAO,MAAM,CAAC;SACf;AAED,QAAA,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW;AAC5C,YAAA,IAAI,GAAG,IAAI,CAAC,UAAyB,CAAC;aAClC,IAAI,IAAI,CAAC,aAAa;AAC1B,YAAA,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC;;YAE1B,MAAM;KACP;AAED,IAAA,OAAO,IAAI,CAAC;AACb,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,CAAa,KAAI;AAC7C,IAAA,IAAI,WAAW,GAAuB,CAAC,CAAC,MAAqB,CAAC;IAC9D,OAAO,WAAW,EAAE;AACnB,QAAA,IAAI,WAAW,CAAC,OAAO,CAACA,SAAW,CAAC,oBAAoB,CAAC;YACxD,MAAM;AAEP,QAAA,IAAI,WAAW,KAAK,CAAC,CAAC,aAAa;YAClC,OAAO;AAER,QAAA,WAAW,GAAG,WAAW,CAAC,aAAa,CAAC;KACxC;AAED,IAAA,IAAI,CAAC,WAAW;QACf,OAAO;IAER,MAAM,WAAW,GAAG,WAAW,CAAC,OAAO,CAACA,SAAW,CAAC,oBAAoB,CAAC,CAAC;AAC1E,IAAA,IAAI,CAAC,WAAW;AACf,QAAA,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAE9D,MAAM,MAAM,GAAG,sBAAsB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IAChE,IAAI,MAAM,EAAE;QACX,MAAM,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAC9D,IAAI,MAAM,CAAC,MAAM,IAAI,SAAS,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW;YAC3D,OAAO;KACR;;AAEA,QAAA,OAAO,CAAC,IAAI,CAAC,iCAAiC,WAAW,CAAA,EAAA,CAAI,CAAC,CAAC;IAEhE,CAAC,CAAC,cAAc,EAAE,CAAC;IACnB,CAAC,CAAC,eAAe,EAAE,CAAC;IACpB,CAAC,CAAC,wBAAwB,EAAE,CAAC;AAC9B,CAAC,CAAA;AAED,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,mBAAmB,EAAE,KAAK,CAAC;;ACtP5D,WAAW,CAAC,SAAS,CAAC,EAAE,GAAG,UAAU,OAAyC,EAAA;IAC7E,OAAO,CAAC,IAAI,CAAC,CAAC;AACd,IAAA,OAAO,IAAI,CAAC;AACb,CAAC;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../source/events.ts","../../../source/constants.ts","../../../source/element.ts","../../../source/ext.ts"],"sourcesContent":[null,null,null,null],"names":["UICONSTANTS"],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -1,18 +1,35 @@
1
- declare abstract class UIElement {
1
+ declare class EventEmitter {
2
+ private _events?;
3
+ private _listenId?;
4
+ private _listeningTo?;
5
+ on(eventName: EventName, callback: EventCallbackFunc, context?: EventContextInit): this;
6
+ once(eventName: EventName, callback: EventCallbackFunc, context?: EventContextInit): void;
7
+ off(eventName?: EventName | null, callback?: EventCallbackFunc | null, context?: EventContextInit | null): this;
8
+ protected listenTo(source: EventEmitter, eventName: EventName, callback: EventCallbackFunc): this;
9
+ protected listenToOnce(source: EventEmitter, eventName: EventName, callback: EventCallbackFunc): this;
10
+ protected stopListening(source?: EventEmitter, eventName?: EventName, callback?: EventCallbackFunc): this | undefined;
11
+ private _addListeningTo;
12
+ private stopAllListeners;
13
+ protected trigger(eventName: string, ...args: any[]): this;
14
+ private _triggerEvent;
15
+ private _getOrCreateEvents;
16
+ private _getEvents;
17
+ protected stopEvents(): void;
18
+ }
19
+ type EventName = "all" | string;
20
+ type EventCallbackFunc = (...args: any[]) => void;
21
+ type EventContextInit = any;
22
+
23
+ declare abstract class UIElement extends EventEmitter {
2
24
  private __element?;
3
25
  private __events?;
4
26
  private __commands?;
5
- private __destroyCallbacks?;
27
+ private __destroyed?;
6
28
  abstract typeName: string;
7
29
  get element(): HTMLElement | undefined;
8
30
  protected setElement(elem: HTMLElement): void;
9
31
  static hasElement(elem: HTMLElement): boolean;
10
- protected defineEvent(eventName: string, eventOptions?: EventInit): void;
11
- protected raiseEvent<T = {}>(eventName: string, eventArgs?: T): boolean;
12
- addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
13
- removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
14
- dispatchEvent(event: Event): boolean;
15
- registerCommand(name: string, execute: CommandExecuteFunction, canExecute?: CommandCanExecuteFunction): void;
32
+ registerCommand(name: string, execute: CommandExecuteFunction, canExecute?: CommandCanExecuteFunction): this;
16
33
  hasCommand(name: string): boolean | undefined;
17
34
  protected _onRenderElement(_elem: HTMLElement): void;
18
35
  protected _onCanExecCommand(_name: string, _elem: HTMLElement): boolean;
@@ -23,9 +40,8 @@ declare abstract class UIElement {
23
40
  type CommandExecuteFunction = (context: CommandContext) => void | Promise<void | any>;
24
41
  type CommandCanExecuteFunction = (context: CommandContext) => boolean;
25
42
  interface CommandEventArgs {
43
+ element: UIElement;
26
44
  name: string;
27
- uiElem: UIElement;
28
- elem: HTMLElement;
29
45
  }
30
46
  interface CommandContext {
31
47
  /** HTMLElement on which the command is executed */
@@ -67,4 +83,4 @@ declare namespace constants$1 {
67
83
  export { type constants$1_UiConstants as UiConstants, constants as default };
68
84
  }
69
85
 
70
- export { type CommandCanExecuteFunction, type CommandContext, type CommandEventArgs, type CommandExecStatus, type CommandExecuteFunction, type CommandResult, constants$1 as UICONSTANTS, UIElement };
86
+ export { type CommandCanExecuteFunction, type CommandContext, type CommandEventArgs, type CommandExecStatus, type CommandExecuteFunction, type CommandResult, type EventCallbackFunc, type EventContextInit, EventEmitter, type EventName, constants$1 as UICONSTANTS, UIElement };
package/package.json CHANGED
@@ -22,7 +22,7 @@
22
22
  "email": "it@brandup.online"
23
23
  },
24
24
  "license": "Apache-2.0",
25
- "version": "1.0.21",
25
+ "version": "1.0.23",
26
26
  "main": "dist/cjs/index.js",
27
27
  "module": "dist/mjs/index.js",
28
28
  "types": "dist/types.d.ts",