@shapediver/viewer.shared.services 3.2.6 → 3.2.7

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.
@@ -14,8 +14,10 @@ export declare class DomEventEngine {
14
14
  private _onPointerMove;
15
15
  private _onPointerOut;
16
16
  private _onPointerUp;
17
+ private _restrictedListenerTokens;
17
18
  constructor(canvas: HTMLCanvasElement);
18
19
  addDomEventListener(listener: IDomEventListener): string;
20
+ addRestrictedListenerToken(token: string): void;
19
21
  /**
20
22
  * Allow / disallow events.
21
23
  * This can be used to disable events for a specific viewer.
@@ -39,6 +41,7 @@ export declare class DomEventEngine {
39
41
  dispose(): void;
40
42
  removeAllDomEventListener(): void;
41
43
  removeDomEventListener(id: string): boolean;
44
+ removeRestrictedListenerToken(token: string): void;
42
45
  private addEventListeners;
43
46
  private onContextMenu;
44
47
  private onKeyDown;
@@ -1 +1 @@
1
- {"version":3,"file":"DomEventEngine.d.ts","sourceRoot":"","sources":["../../src/dom-event-engine/DomEventEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGxD,qBAAa,cAAc;IAGvB,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAE5B;IACP,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAyC;IAExE,OAAO,CAAC,eAAe,CASrB;IACF,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,uBAAuB,CAA4C;IAC3E,OAAO,CAAC,cAAc,CAA8B;IACpD,OAAO,CAAC,UAAU,CAAiC;IACnD,OAAO,CAAC,+BAA+B,CAAgC;IACvE,OAAO,CAAC,QAAQ,CAAiC;IACjD,OAAO,CAAC,aAAa,CAAyB;IAC9C,OAAO,CAAC,cAAc,CAAgC;IACtD,OAAO,CAAC,cAAc,CAAgC;IACtD,OAAO,CAAC,aAAa,CAAgC;IACrD,OAAO,CAAC,YAAY,CAAgC;gBAMxC,MAAM,EAAE,iBAAiB;IAmB9B,mBAAmB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,MAAM;IAM/D;;;;;;;;;OASG;IACI,mBAAmB,CAAC,gBAAgB,EAAE;QACzC,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,WAAW,CAAC,EAAE,OAAO,CAAC;KACzB,GAAG,IAAI;IAgFD,OAAO;IAIP,yBAAyB,IAAI,IAAI;IAKjC,sBAAsB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAYlD,OAAO,CAAC,iBAAiB;IAmBzB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,SAAS;IAKjB,OAAO,CAAC,8BAA8B;IAItC,OAAO,CAAC,OAAO;IAKf,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,oBAAoB;CAkB/B"}
1
+ {"version":3,"file":"DomEventEngine.d.ts","sourceRoot":"","sources":["../../src/dom-event-engine/DomEventEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGxD,qBAAa,cAAc;IAGvB,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAE5B;IACP,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAyC;IAExE,OAAO,CAAC,eAAe,CASrB;IACF,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,uBAAuB,CAA4C;IAC3E,OAAO,CAAC,cAAc,CAA8B;IACpD,OAAO,CAAC,UAAU,CAAiC;IACnD,OAAO,CAAC,+BAA+B,CAAgC;IACvE,OAAO,CAAC,QAAQ,CAAiC;IACjD,OAAO,CAAC,aAAa,CAAyB;IAC9C,OAAO,CAAC,cAAc,CAAgC;IACtD,OAAO,CAAC,cAAc,CAAgC;IACtD,OAAO,CAAC,aAAa,CAAgC;IACrD,OAAO,CAAC,YAAY,CAAgC;IACpD,OAAO,CAAC,yBAAyB,CAAgB;gBAMrC,MAAM,EAAE,iBAAiB;IAmB9B,mBAAmB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,MAAM;IAMxD,0BAA0B,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKtD;;;;;;;;;OASG;IACI,mBAAmB,CAAC,gBAAgB,EAAE;QACzC,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,WAAW,CAAC,EAAE,OAAO,CAAC;KACzB,GAAG,IAAI;IAgFD,OAAO;IAIP,yBAAyB,IAAI,IAAI;IAOjC,sBAAsB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAS3C,6BAA6B,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IASzD,OAAO,CAAC,iBAAiB;IAmBzB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,SAAS;IAUjB,OAAO,CAAC,8BAA8B;IAItC,OAAO,CAAC,OAAO;IAUf,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,oBAAoB;CAkB/B"}
@@ -3,10 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DomEventEngine = void 0;
4
4
  const UuidGenerator_1 = require("../uuid-generator/UuidGenerator");
5
5
  class DomEventEngine {
6
- // #endregion Properties (14)
6
+ // #endregion Properties (15)
7
7
  // #region Constructors (1)
8
8
  constructor(canvas) {
9
- // #region Properties (14)
9
+ // #region Properties (15)
10
10
  this._domEventListeners = {};
11
11
  this._uuidGenerator = UuidGenerator_1.UuidGenerator.instance;
12
12
  this._allowListeners = {
@@ -20,6 +20,7 @@ class DomEventEngine {
20
20
  contextmenu: true,
21
21
  };
22
22
  this._currentPointerPosition = { x: 0, y: 0 };
23
+ this._restrictedListenerTokens = [];
23
24
  this._canvas = canvas;
24
25
  this._onMouseWheel = this.onMouseWheel.bind(this);
25
26
  this._onPointerDown = this.onPointerDown.bind(this);
@@ -33,12 +34,17 @@ class DomEventEngine {
33
34
  this.addEventListeners();
34
35
  }
35
36
  // #endregion Constructors (1)
36
- // #region Public Methods (5)
37
+ // #region Public Methods (7)
37
38
  addDomEventListener(listener) {
38
39
  const id = this._uuidGenerator.create();
39
40
  this._domEventListeners[id] = listener;
40
41
  return id;
41
42
  }
43
+ addRestrictedListenerToken(token) {
44
+ if (this._restrictedListenerTokens.includes(token))
45
+ return;
46
+ this._restrictedListenerTokens.push(token);
47
+ }
42
48
  /**
43
49
  * Allow / disallow events.
44
50
  * This can be used to disable events for a specific viewer.
@@ -135,15 +141,22 @@ class DomEventEngine {
135
141
  removeAllDomEventListener() {
136
142
  for (const id in this._domEventListeners)
137
143
  delete this._domEventListeners[id];
144
+ this._restrictedListenerTokens = [];
138
145
  }
139
146
  removeDomEventListener(id) {
140
147
  if (this._domEventListeners[id]) {
141
148
  delete this._domEventListeners[id];
149
+ this._restrictedListenerTokens = this._restrictedListenerTokens.filter(t => t !== id);
142
150
  return true;
143
151
  }
144
152
  return false;
145
153
  }
146
- // #endregion Public Methods (5)
154
+ removeRestrictedListenerToken(token) {
155
+ const index = this._restrictedListenerTokens.indexOf(token);
156
+ if (index !== -1)
157
+ this._restrictedListenerTokens.splice(index, 1);
158
+ }
159
+ // #endregion Public Methods (7)
147
160
  // #region Private Methods (11)
148
161
  addEventListeners() {
149
162
  if (typeof window === undefined)
@@ -164,38 +177,68 @@ class DomEventEngine {
164
177
  event.preventDefault();
165
178
  }
166
179
  onKeyDown(event) {
167
- if (this._canvas === document.elementFromPoint(this._currentPointerPosition.x, this._currentPointerPosition.y))
168
- Object.values(this._domEventListeners).forEach(e => e.onKeyDown(event));
180
+ if (this._canvas === document.elementFromPoint(this._currentPointerPosition.x, this._currentPointerPosition.y)) {
181
+ Object.entries(this._domEventListeners).forEach(([key, listener]) => {
182
+ if (this._restrictedListenerTokens.length === 0 || this._restrictedListenerTokens.includes(key)) {
183
+ listener.onKeyDown(event);
184
+ }
185
+ });
186
+ }
169
187
  }
170
188
  onKeyDownPointerPositionHelper(event) {
171
189
  this._currentPointerPosition = { x: event.pageX, y: event.pageY };
172
190
  }
173
191
  onKeyUp(event) {
174
- if (this._canvas === document.elementFromPoint(this._currentPointerPosition.x, this._currentPointerPosition.y))
175
- Object.values(this._domEventListeners).forEach(e => e.onKeyUp(event));
192
+ if (this._canvas === document.elementFromPoint(this._currentPointerPosition.x, this._currentPointerPosition.y)) {
193
+ Object.entries(this._domEventListeners).forEach(([key, listener]) => {
194
+ if (this._restrictedListenerTokens.length === 0 || this._restrictedListenerTokens.includes(key)) {
195
+ listener.onKeyUp(event);
196
+ }
197
+ });
198
+ }
176
199
  }
177
200
  onMouseWheel(event) {
178
201
  event.preventDefault();
179
202
  event.stopPropagation();
180
- Object.values(this._domEventListeners).forEach(e => e.onMouseWheel(event));
203
+ Object.entries(this._domEventListeners).forEach(([key, listener]) => {
204
+ if (this._restrictedListenerTokens.length === 0 || this._restrictedListenerTokens.includes(key)) {
205
+ listener.onMouseWheel(event);
206
+ }
207
+ });
181
208
  }
182
209
  onPointerDown(event) {
183
210
  event.preventDefault();
184
- Object.values(this._domEventListeners).forEach(e => e.onPointerDown(event));
211
+ Object.entries(this._domEventListeners).forEach(([key, listener]) => {
212
+ if (this._restrictedListenerTokens.length === 0 || this._restrictedListenerTokens.includes(key)) {
213
+ listener.onPointerDown(event);
214
+ }
215
+ });
185
216
  }
186
217
  onPointerMove(event) {
187
218
  event.preventDefault();
188
- Object.values(this._domEventListeners).forEach(e => e.onPointerMove(event));
219
+ Object.entries(this._domEventListeners).forEach(([key, listener]) => {
220
+ if (this._restrictedListenerTokens.length === 0 || this._restrictedListenerTokens.includes(key)) {
221
+ listener.onPointerMove(event);
222
+ }
223
+ });
189
224
  }
190
225
  onPointerOut(event) {
191
226
  event.preventDefault();
192
- Object.values(this._domEventListeners).forEach(e => e.onPointerOut(event));
193
- Object.values(this._domEventListeners).forEach(e => e.onPointerEnd(event));
227
+ Object.entries(this._domEventListeners).forEach(([key, listener]) => {
228
+ if (this._restrictedListenerTokens.length === 0 || this._restrictedListenerTokens.includes(key)) {
229
+ listener.onPointerOut(event);
230
+ listener.onPointerEnd(event);
231
+ }
232
+ });
194
233
  }
195
234
  onPointerUp(event) {
196
235
  event.preventDefault();
197
- Object.values(this._domEventListeners).forEach(e => e.onPointerUp(event));
198
- Object.values(this._domEventListeners).forEach(e => e.onPointerEnd(event));
236
+ Object.entries(this._domEventListeners).forEach(([key, listener]) => {
237
+ if (this._restrictedListenerTokens.length === 0 || this._restrictedListenerTokens.includes(key)) {
238
+ listener.onPointerUp(event);
239
+ listener.onPointerEnd(event);
240
+ }
241
+ });
199
242
  }
200
243
  removeEventListeners() {
201
244
  if (typeof window === undefined)
@@ -1 +1 @@
1
- {"version":3,"file":"DomEventEngine.js","sourceRoot":"","sources":["../../src/dom-event-engine/DomEventEngine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DomEventEngine.js","sourceRoot":"","sources":["../../src/dom-event-engine/DomEventEngine.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shapediver/viewer.shared.services",
3
- "version": "3.2.6",
3
+ "version": "3.2.7",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "author": "Michael Oppitz <michael@shapediver.com>",
@@ -42,7 +42,7 @@
42
42
  "@ctrl/tinycolor": "^3.4.0",
43
43
  "@shapediver/sdk.geometry-api-sdk-v2": "1.10.0",
44
44
  "@shapediver/viewer.settings": "1.0.2",
45
- "@shapediver/viewer.shared.build-data": "3.2.6",
45
+ "@shapediver/viewer.shared.build-data": "3.2.7",
46
46
  "@types/dompurify": "^2.3.1",
47
47
  "@types/ua-parser-js": "^0.7.36",
48
48
  "@types/uuid": "^9.0.0",
@@ -52,5 +52,5 @@
52
52
  "ua-parser-js": "^0.7.28",
53
53
  "uuid": "^9.0.0"
54
54
  },
55
- "gitHead": "f4ca645ecf64020080a1c5fa2c2aaf9f891b1445"
55
+ "gitHead": "d21783f03fd4f64b1e44708998c55c1685f76701"
56
56
  }
@@ -2,7 +2,7 @@ import { IDomEventListener } from './IDomEventListener';
2
2
  import { UuidGenerator } from '../uuid-generator/UuidGenerator';
3
3
 
4
4
  export class DomEventEngine {
5
- // #region Properties (14)
5
+ // #region Properties (15)
6
6
 
7
7
  private readonly _domEventListeners: {
8
8
  [key: string]: IDomEventListener
@@ -30,8 +30,9 @@ export class DomEventEngine {
30
30
  private _onPointerMove: (event: PointerEvent) => void;
31
31
  private _onPointerOut: (event: PointerEvent) => void;
32
32
  private _onPointerUp: (event: PointerEvent) => void;
33
+ private _restrictedListenerTokens: string[] = [];
33
34
 
34
- // #endregion Properties (14)
35
+ // #endregion Properties (15)
35
36
 
36
37
  // #region Constructors (1)
37
38
 
@@ -52,7 +53,7 @@ export class DomEventEngine {
52
53
 
53
54
  // #endregion Constructors (1)
54
55
 
55
- // #region Public Methods (5)
56
+ // #region Public Methods (7)
56
57
 
57
58
  public addDomEventListener(listener: IDomEventListener): string {
58
59
  const id = this._uuidGenerator.create();
@@ -60,6 +61,11 @@ export class DomEventEngine {
60
61
  return id;
61
62
  }
62
63
 
64
+ public addRestrictedListenerToken(token: string): void {
65
+ if(this._restrictedListenerTokens.includes(token)) return;
66
+ this._restrictedListenerTokens.push(token);
67
+ }
68
+
63
69
  /**
64
70
  * Allow / disallow events.
65
71
  * This can be used to disable events for a specific viewer.
@@ -166,17 +172,25 @@ export class DomEventEngine {
166
172
  public removeAllDomEventListener(): void {
167
173
  for (const id in this._domEventListeners)
168
174
  delete this._domEventListeners[id];
175
+
176
+ this._restrictedListenerTokens = [];
169
177
  }
170
178
 
171
179
  public removeDomEventListener(id: string): boolean {
172
180
  if (this._domEventListeners[id]) {
173
181
  delete this._domEventListeners[id];
182
+ this._restrictedListenerTokens = this._restrictedListenerTokens.filter(t => t !== id);
174
183
  return true;
175
184
  }
176
185
  return false;
177
186
  }
178
187
 
179
- // #endregion Public Methods (5)
188
+ public removeRestrictedListenerToken(token: string): void {
189
+ const index = this._restrictedListenerTokens.indexOf(token);
190
+ if (index !== -1) this._restrictedListenerTokens.splice(index, 1);
191
+ }
192
+
193
+ // #endregion Public Methods (7)
180
194
 
181
195
  // #region Private Methods (11)
182
196
 
@@ -204,8 +218,13 @@ export class DomEventEngine {
204
218
  }
205
219
 
206
220
  private onKeyDown(event: KeyboardEvent): void {
207
- if (this._canvas === document.elementFromPoint(this._currentPointerPosition.x, this._currentPointerPosition.y))
208
- Object.values(this._domEventListeners).forEach(e => e.onKeyDown(event));
221
+ if (this._canvas === document.elementFromPoint(this._currentPointerPosition.x, this._currentPointerPosition.y)) {
222
+ Object.entries(this._domEventListeners).forEach(([key, listener]) => {
223
+ if (this._restrictedListenerTokens.length === 0 || this._restrictedListenerTokens.includes(key)) {
224
+ listener.onKeyDown(event);
225
+ }
226
+ });
227
+ }
209
228
  }
210
229
 
211
230
  private onKeyDownPointerPositionHelper(event: PointerEvent): void {
@@ -213,36 +232,61 @@ export class DomEventEngine {
213
232
  }
214
233
 
215
234
  private onKeyUp(event: KeyboardEvent): void {
216
- if (this._canvas === document.elementFromPoint(this._currentPointerPosition.x, this._currentPointerPosition.y))
217
- Object.values(this._domEventListeners).forEach(e => e.onKeyUp(event));
235
+ if (this._canvas === document.elementFromPoint(this._currentPointerPosition.x, this._currentPointerPosition.y)) {
236
+ Object.entries(this._domEventListeners).forEach(([key, listener]) => {
237
+ if (this._restrictedListenerTokens.length === 0 || this._restrictedListenerTokens.includes(key)) {
238
+ listener.onKeyUp(event);
239
+ }
240
+ });
241
+ }
218
242
  }
219
243
 
220
244
  private onMouseWheel(event: Event): void {
221
245
  event.preventDefault();
222
246
  event.stopPropagation();
223
- Object.values(this._domEventListeners).forEach(e => e.onMouseWheel(<WheelEvent>event));
247
+ Object.entries(this._domEventListeners).forEach(([key, listener]) => {
248
+ if (this._restrictedListenerTokens.length === 0 || this._restrictedListenerTokens.includes(key)) {
249
+ listener.onMouseWheel(<WheelEvent>event);
250
+ }
251
+ });
224
252
  }
225
253
 
226
254
  private onPointerDown(event: PointerEvent): void {
227
255
  event.preventDefault();
228
- Object.values(this._domEventListeners).forEach(e => e.onPointerDown(event));
256
+ Object.entries(this._domEventListeners).forEach(([key, listener]) => {
257
+ if (this._restrictedListenerTokens.length === 0 || this._restrictedListenerTokens.includes(key)) {
258
+ listener.onPointerDown(event);
259
+ }
260
+ });
229
261
  }
230
262
 
231
263
  private onPointerMove(event: PointerEvent): void {
232
264
  event.preventDefault();
233
- Object.values(this._domEventListeners).forEach(e => e.onPointerMove(event));
265
+ Object.entries(this._domEventListeners).forEach(([key, listener]) => {
266
+ if (this._restrictedListenerTokens.length === 0 || this._restrictedListenerTokens.includes(key)) {
267
+ listener.onPointerMove(event);
268
+ }
269
+ });
234
270
  }
235
271
 
236
272
  private onPointerOut(event: PointerEvent): void {
237
273
  event.preventDefault();
238
- Object.values(this._domEventListeners).forEach(e => e.onPointerOut(event));
239
- Object.values(this._domEventListeners).forEach(e => e.onPointerEnd(event));
274
+ Object.entries(this._domEventListeners).forEach(([key, listener]) => {
275
+ if (this._restrictedListenerTokens.length === 0 || this._restrictedListenerTokens.includes(key)) {
276
+ listener.onPointerOut(event);
277
+ listener.onPointerEnd(event);
278
+ }
279
+ });
240
280
  }
241
281
 
242
282
  private onPointerUp(event: PointerEvent): void {
243
283
  event.preventDefault();
244
- Object.values(this._domEventListeners).forEach(e => e.onPointerUp(event));
245
- Object.values(this._domEventListeners).forEach(e => e.onPointerEnd(event));
284
+ Object.entries(this._domEventListeners).forEach(([key, listener]) => {
285
+ if (this._restrictedListenerTokens.length === 0 || this._restrictedListenerTokens.includes(key)) {
286
+ listener.onPointerUp(event);
287
+ listener.onPointerEnd(event);
288
+ }
289
+ });
246
290
  }
247
291
 
248
292
  private removeEventListeners() {