jpf 5.0.35 → 5.0.37

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.
@@ -1,4 +1,4 @@
1
- export type EventType = "Event" | "KeyboardEvent" | "MouseEvent" | "WindowEvent";
1
+ export type EventType = typeof Event | typeof MouseEvent | typeof KeyboardEvent | typeof TouchEvent | typeof PointerEvent;
2
2
  type EventKey = "Enter" | "ArrowDown" | "ArrowUp" | "ArrowLeft" | "ArrowRight";
3
3
  export interface IEventListener extends AddEventListenerOptions, IEventListenerOptions {
4
4
  type: EventType;
@@ -30,4 +30,12 @@ export declare class BaseEvent implements IEventListener {
30
30
  export declare class ClickEvent extends BaseEvent {
31
31
  constructor(handler: (event: MouseEvent) => void, options?: IEventListenerOptions);
32
32
  }
33
+ export interface ISwipeEventOptions {
34
+ leftHandler?: (event: TouchEvent) => void;
35
+ rightHandler?: (event: TouchEvent) => void;
36
+ upHandler?: (event: TouchEvent) => void;
37
+ downHandler?: (event: TouchEvent) => void;
38
+ distance?: number;
39
+ }
40
+ export declare function getSwipeEvent(options: ISwipeEventOptions): Array<IEventListener>;
33
41
  export {};
@@ -11,7 +11,7 @@ export class BaseEvent {
11
11
  this.mouseMiddle = options?.mouseMiddle;
12
12
  this.mouseRight = options?.mouseRight;
13
13
  }
14
- type = "Event";
14
+ type;
15
15
  name;
16
16
  handler;
17
17
  eventKey;
@@ -24,7 +24,54 @@ export class BaseEvent {
24
24
  }
25
25
  export class ClickEvent extends BaseEvent {
26
26
  constructor(handler, options) {
27
- super("MouseEvent", "click", handler, options);
27
+ super(MouseEvent, "click", handler, options);
28
28
  }
29
29
  }
30
+ export function getSwipeEvent(options) {
31
+ let startX = 0;
32
+ let startY = 0;
33
+ let endX = 0;
34
+ let endY = 0;
35
+ const distance = options.distance || 50;
36
+ return [
37
+ {
38
+ type: TouchEvent,
39
+ name: "touchstart",
40
+ handler: (event) => {
41
+ const touch = event.touches[0];
42
+ startX = touch.clientX;
43
+ startY = touch.clientY;
44
+ }
45
+ },
46
+ {
47
+ type: TouchEvent,
48
+ name: "touchend",
49
+ handler: (event) => {
50
+ const touch = event.changedTouches[0];
51
+ endX = touch.clientX;
52
+ endY = touch.clientY;
53
+ if (startX > endX + distance) {
54
+ if (options.leftHandler) {
55
+ options.leftHandler(event);
56
+ }
57
+ }
58
+ else if (endX > startX + distance) {
59
+ if (options.rightHandler) {
60
+ options.rightHandler(event);
61
+ }
62
+ }
63
+ else if (startY > endY + distance) {
64
+ if (options.upHandler) {
65
+ options.upHandler(event);
66
+ }
67
+ }
68
+ else if (endY > startY + distance) {
69
+ if (options.downHandler) {
70
+ options.downHandler(event);
71
+ }
72
+ }
73
+ }
74
+ }
75
+ ];
76
+ }
30
77
  //# sourceMappingURL=event.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"event.js","sourceRoot":"","sources":["../../src/framework/event.ts"],"names":[],"mappings":"AAqBA,MAAM,OAAO,SAAS;IAClB,YAAY,IAAe,EAAE,IAAY,EAAE,OAA+B,EAAE,OAA+B;QACvG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,OAAO,EAAE,QAAQ,CAAC;QAClC,IAAI,CAAC,MAAM,GAAG,OAAO,EAAE,MAAM,CAAC;QAC9B,IAAI,CAAC,QAAQ,GAAG,OAAO,EAAE,QAAQ,CAAC;QAClC,IAAI,CAAC,OAAO,GAAG,OAAO,EAAE,OAAO,CAAC;QAChC,IAAI,CAAC,SAAS,GAAG,OAAO,EAAE,SAAS,CAAC;QACpC,IAAI,CAAC,WAAW,GAAG,OAAO,EAAE,WAAW,CAAC;QACxC,IAAI,CAAC,UAAU,GAAG,OAAO,EAAE,UAAU,CAAC;IAC1C,CAAC;IAED,IAAI,GAAc,OAAO,CAAC;IAC1B,IAAI,CAAS;IACb,OAAO,CAAyB;IAChC,QAAQ,CAAY;IACpB,MAAM,CAAW;IACjB,QAAQ,CAAW;IACnB,OAAO,CAAW;IAClB,SAAS,CAAW;IACpB,WAAW,CAAW;IACtB,UAAU,CAAW;CACxB;AAED,MAAM,OAAO,UAAW,SAAQ,SAAS;IACrC,YAAY,OAAoC,EAAE,OAA+B;QAC7E,KAAK,CAAC,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC;CACJ"}
1
+ {"version":3,"file":"event.js","sourceRoot":"","sources":["../../src/framework/event.ts"],"names":[],"mappings":"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"}
@@ -21,4 +21,4 @@ export declare function isObservableSet<TItem>(value: any): value is IObservable
21
21
  export declare function computed<TComputed>(func: () => TComputed): IComputed<TComputed>;
22
22
  export declare function observableValue<TValue, TSetter = TValue>(value?: TValue | null, setter?: (value: TSetter, observableValue: IObservableValue<TValue, TSetter>) => void): IObservableValue<TValue, TSetter>;
23
23
  export declare function isSubscribable<TValue>(value: any): value is ISubscribable<TValue>;
24
- export declare function executeHandlerOnObject(handler: (object: any) => void, object: object): void;
24
+ export declare function executeHandlerOnContext(context: object, handler: (context: any) => void, alreadyProcessedContexts?: Set<object>): void;
@@ -64,27 +64,33 @@ export function isSubscribable(value) {
64
64
  || implementations.isObservableMap(value)
65
65
  || implementations.isObservableSet(value);
66
66
  }
67
- export function executeHandlerOnObject(handler, object) {
68
- if (object.constructor === Array) {
69
- for (const arrayEntry of object) {
67
+ export function executeHandlerOnContext(context, handler, alreadyProcessedContexts) {
68
+ if (!alreadyProcessedContexts) {
69
+ alreadyProcessedContexts = new Set();
70
+ }
71
+ if (!context || typeof context !== "object" || alreadyProcessedContexts.has(context)) {
72
+ return;
73
+ }
74
+ if (Array.isArray(context)) {
75
+ for (const arrayEntry of context) {
70
76
  if (typeof arrayEntry === "object") {
71
- executeHandlerOnObject(handler, arrayEntry);
77
+ executeHandlerOnContext(arrayEntry, handler, alreadyProcessedContexts);
72
78
  }
73
79
  }
74
80
  }
75
81
  else {
76
- if (isSubscribable(object)) {
77
- const unwrapped = implementations.unwrap(object);
82
+ if (isSubscribable(context)) {
83
+ const unwrapped = unwrap(context);
78
84
  if (typeof unwrapped === "object") {
79
- executeHandlerOnObject(handler, unwrapped);
85
+ executeHandlerOnContext(unwrapped, handler, alreadyProcessedContexts);
80
86
  }
81
87
  }
82
88
  else {
83
- handler(object);
84
- for (const key in Object.keys(object)) {
85
- const property = object[key];
89
+ handler(context);
90
+ for (const key of Object.keys(context)) {
91
+ const property = context[key];
86
92
  if (property && typeof property === "object") {
87
- executeHandlerOnObject(handler, property);
93
+ executeHandlerOnContext(property, handler, alreadyProcessedContexts);
88
94
  }
89
95
  }
90
96
  }
@@ -1 +1 @@
1
- {"version":3,"file":"observablelmplementations.js","sourceRoot":"","sources":["../../src/framework/observablelmplementations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"observablelmplementations.js","sourceRoot":"","sources":["../../src/framework/observablelmplementations.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,eAAe,GAAG;IAC3B,MAAM,EAAE,CAAS,KAAqC,EAAU,EAAE;QAC9D,MAAM,2BAA2B,CAAC;IACtC,CAAC;IAED,UAAU,EAAE,CAAC,KAAK,EAA2B,EAAE;QAC3C,MAAM,+BAA+B,CAAC;IAC1C,CAAC;IAED,iBAAiB,EAAE,CAAC,KAAK,EAA6B,EAAE;QACpD,MAAM,sCAAsC,CAAC;IACjD,CAAC;IAED,iBAAiB,EAAE,CAAC,KAAK,EAA6B,EAAE;QACpD,MAAM,sCAAsC,CAAC;IACjD,CAAC;IAED,eAAe,EAAE,CAAc,KAAK,EAAwC,EAAE;QAC1E,MAAM,oCAAoC,CAAC;IAC/C,CAAC;IAED,eAAe,EAAE,CAAQ,KAAK,EAAkC,EAAE;QAC9D,MAAM,oCAAoC,CAAC;IAC/C,CAAC;IAED,QAAQ,EAAE,CAAY,IAAqB,EAAwB,EAAE;QACjE,MAAM,6BAA6B,CAAC;IACxC,CAAC;IAED,eAAe,EAAE,CAA2B,KAAqB,EAAE,MAAqF,EAAqC,EAAE;QAC3L,MAAM,oCAAoC,CAAC;IAC/C,CAAC;IAED,eAAe,EAAE,CAAsC,aAAmC,EAAE,MAAoF,EAAoC,EAAE;QAClN,MAAM,oCAAoC,CAAA;IAC9C,CAAC;IAGD,aAAa,EAAE,CAA0B,aAAc,EAA+B,EAAE;QACpF,MAAM,kCAAkC,CAAA;IAC5C,CAAC;IAED,aAAa,EAAE,CAAc,aAAa,EAAyB,EAAE;QACjE,MAAM,kCAAkC,CAAA;IAC5C,CAAC;CAEJ,CAAA;AAED,MAAM,UAAU,MAAM,CAAS,KAAqC;IAChE,OAAO,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAK;IAC5B,OAAO,eAAe,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAK;IACnC,OAAO,eAAe,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAK;IACnC,OAAO,eAAe,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,eAAe,CAAc,KAAK;IAC9C,OAAO,eAAe,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,eAAe,CAAQ,KAAK;IACxC,OAAO,eAAe,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,QAAQ,CAAY,IAAqB;IACrD,OAAO,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,eAAe,CAA2B,KAAqB,EAAE,MAAqF;IAClK,OAAO,eAAe,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,cAAc,CAAS,KAAU;IAC7C,OAAO,eAAe,CAAC,UAAU,CAAC,KAAK,CAAC;WACjC,eAAe,CAAC,iBAAiB,CAAC,KAAK,CAAC;WACxC,eAAe,CAAC,iBAAiB,CAAC,KAAK,CAAC;WACxC,eAAe,CAAC,eAAe,CAAC,KAAK,CAAC;WACtC,eAAe,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,OAAe,EAAE,OAA0B,EAAE,wBAAsC;IACvH,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAC5B,wBAAwB,GAAG,IAAI,GAAG,EAAE,CAAC;IACzC,CAAC;IAED,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,wBAAwB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QACnF,OAAO;IACX,CAAC;IAGD,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACzB,KAAK,MAAM,UAAU,IAAI,OAAyB,EAAE,CAAC;YACjD,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;gBACjC,uBAAuB,CAAC,UAAU,EAAE,OAAO,EAAE,wBAAwB,CAAC,CAAC;YAC3E,CAAC;QACL,CAAC;IACL,CAAC;SAAM,CAAC;QACJ,IAAI,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1B,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;YAClC,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;gBAChC,uBAAuB,CAAC,SAAS,EAAE,OAAO,EAAE,wBAAwB,CAAC,CAAC;YAC1E,CAAC;QACL,CAAC;aAAM,CAAC;YAEJ,OAAO,CAAC,OAAO,CAAC,CAAC;YAGjB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBACrC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC9B,IAAI,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;oBAC3C,uBAAuB,CAAC,QAAQ,EAAE,OAAO,EAAE,wBAAwB,CAAC,CAAC;gBACzE,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;AACL,CAAC"}
@@ -34,7 +34,7 @@ export declare abstract class Properties implements IProperties {
34
34
  elementType?: string;
35
35
  focused?: boolean | ISubscribable<boolean>;
36
36
  }
37
- export declare function handleWebSocketMessage(object: object, message: any): void;
37
+ export declare function handleWebSocketMessage(context: object, message: any): void;
38
38
  export declare function isNullOrUndefined(value: any): boolean;
39
39
  export declare function extendProperties<TTarget = IProperties, TOverwritingProperties = TTarget, TPreserveExistingProperties = TTarget>(target: TTarget, preserveExisting: TPreserveExistingProperties, overWriteExisting?: TOverwritingProperties): TTarget;
40
40
  export declare function applyBindings(properties: IProperties, element: HTMLElement, disposers: Array<IDisposer>): void;
@@ -1,5 +1,5 @@
1
1
  import { userAgent } from "../utilities/userAgent/userAgent";
2
- import { isSubscribable, unwrap, executeHandlerOnObject } from "./observablelmplementations";
2
+ import { isSubscribable, unwrap, executeHandlerOnContext } from "./observablelmplementations";
3
3
  export class Properties {
4
4
  setProperties(object, properties) {
5
5
  if (properties) {
@@ -21,13 +21,13 @@ export class Properties {
21
21
  elementType;
22
22
  focused;
23
23
  }
24
- export function handleWebSocketMessage(object, message) {
25
- executeHandlerOnObject((object) => {
26
- const webSocketMessageHandler = object;
24
+ export function handleWebSocketMessage(context, message) {
25
+ executeHandlerOnContext(context, (context) => {
26
+ const webSocketMessageHandler = context;
27
27
  if (webSocketMessageHandler.handleWebSocketMessage && typeof webSocketMessageHandler.handleWebSocketMessage === "function") {
28
28
  webSocketMessageHandler.handleWebSocketMessage(message);
29
29
  }
30
- }, object);
30
+ });
31
31
  }
32
32
  export function isNullOrUndefined(value) {
33
33
  return value === null || typeof value === "undefined";
@@ -126,7 +126,7 @@ export function applyBindings(properties, element, disposers) {
126
126
  }
127
127
  if (properties.userSelectable === false) {
128
128
  applyEventListenerToElement({
129
- type: "Event",
129
+ type: Event,
130
130
  name: "selectstart",
131
131
  handler: () => { return false; },
132
132
  passive: true
@@ -226,7 +226,7 @@ function applyEventListenerToElement(eventListener, element) {
226
226
  if (name === "dragstart") {
227
227
  element.setAttribute("draggable", "true");
228
228
  }
229
- if (eventListener.type === "KeyboardEvent") {
229
+ if (eventListener.type === KeyboardEvent) {
230
230
  handler = (event) => {
231
231
  if (eventListener.altKey && !event.altKey) {
232
232
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"properties.js","sourceRoot":"","sources":["../../src/framework/properties.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"properties.js","sourceRoot":"","sources":["../../src/framework/properties.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jpf",
3
- "version": "5.0.35",
3
+ "version": "5.0.37",
4
4
  "description": "Javascript Presentation Foundation base classes and interfaces",
5
5
  "keywords": [
6
6
  "mvvm",
@@ -51,7 +51,6 @@
51
51
  "json-viewer-awesome": "1.0.15",
52
52
  "leaflet": "1.9.4",
53
53
  "leaflet-arrowheads": "1.4.0",
54
- "lodash": "4.17.21",
55
54
  "simply-beautiful": "1.0.1",
56
55
  "toastr": "2.1.4",
57
56
  "tocca": "2.0.9",
@@ -1,6 +1,5 @@
1
- import { extend } from "lodash";
2
1
 
3
- export type EventType = "Event" | "KeyboardEvent" | "MouseEvent" | "WindowEvent";
2
+ export type EventType = typeof Event | typeof MouseEvent | typeof KeyboardEvent | typeof TouchEvent | typeof PointerEvent;
4
3
 
5
4
  type EventKey = "Enter" | "ArrowDown" | "ArrowUp" | "ArrowLeft" | "ArrowRight";
6
5
  export interface IEventListener extends AddEventListenerOptions, IEventListenerOptions {
@@ -33,7 +32,7 @@ export class BaseEvent implements IEventListener {
33
32
  this.mouseRight = options?.mouseRight;
34
33
  }
35
34
 
36
- type: EventType = "Event";
35
+ type: EventType;
37
36
  name: string;
38
37
  handler: (event: Event) => void;
39
38
  eventKey?: EventKey;
@@ -47,6 +46,60 @@ export class BaseEvent implements IEventListener {
47
46
 
48
47
  export class ClickEvent extends BaseEvent {
49
48
  constructor(handler: (event: MouseEvent) => void, options?: IEventListenerOptions) {
50
- super("MouseEvent", "click", handler, options);
49
+ super(MouseEvent, "click", handler, options);
51
50
  }
52
51
  }
52
+
53
+
54
+ export interface ISwipeEventOptions {
55
+ leftHandler?: (event: TouchEvent) => void;
56
+ rightHandler?: (event: TouchEvent) => void;
57
+ upHandler?: (event: TouchEvent) => void;
58
+ downHandler?: (event: TouchEvent) => void;
59
+ distance?: number;
60
+ }
61
+
62
+ export function getSwipeEvent(options: ISwipeEventOptions): Array<IEventListener> {
63
+ let startX = 0;
64
+ let startY = 0;
65
+ let endX = 0;
66
+ let endY = 0;
67
+ const distance = options.distance || 50;
68
+ return [
69
+ {
70
+ type: TouchEvent,
71
+ name: "touchstart",
72
+ handler: (event: TouchEvent) => {
73
+ const touch = event.touches[0];
74
+ startX = touch.clientX;
75
+ startY = touch.clientY
76
+ }
77
+ },
78
+ {
79
+ type: TouchEvent,
80
+ name: "touchend",
81
+ handler: (event: TouchEvent) => {
82
+ const touch = event.changedTouches[0];
83
+ endX = touch.clientX;
84
+ endY = touch.clientY;
85
+ if (startX > endX + distance) {
86
+ if (options.leftHandler) {
87
+ options.leftHandler(event);
88
+ }
89
+ } else if (endX > startX + distance) {
90
+ if (options.rightHandler) {
91
+ options.rightHandler(event);
92
+ }
93
+ } else if (startY > endY + distance) {
94
+ if (options.upHandler) {
95
+ options.upHandler(event);
96
+ }
97
+ } else if (endY > startY + distance) {
98
+ if (options.downHandler) {
99
+ options.downHandler(event);
100
+ }
101
+ }
102
+ }
103
+ }
104
+ ]
105
+ }
@@ -47,6 +47,7 @@ export const implementations = {
47
47
  }
48
48
 
49
49
  }
50
+
50
51
  export function unwrap<TValue>(value: TValue | ISubscribable<TValue>): TValue {
51
52
  return implementations.unwrap(value);
52
53
  }
@@ -87,29 +88,37 @@ export function isSubscribable<TValue>(value: any): value is ISubscribable<TValu
87
88
  || implementations.isObservableSet(value);
88
89
  }
89
90
 
90
- export function executeHandlerOnObject(handler: (object) => void, object: object,) {
91
+ export function executeHandlerOnContext(context: object, handler: (context) => void, alreadyProcessedContexts?: Set<object>) {
92
+ if (!alreadyProcessedContexts) {
93
+ alreadyProcessedContexts = new Set();
94
+ }
95
+
96
+ if (!context || typeof context !== "object" || alreadyProcessedContexts.has(context)) {
97
+ return;
98
+ }
99
+
91
100
  //Find out if the object is an array
92
- if (object.constructor === Array) {
93
- for (const arrayEntry of object as Array<any>) {
101
+ if (Array.isArray(context)) {
102
+ for (const arrayEntry of context as Array<unknown>) {
94
103
  if (typeof arrayEntry === "object") {
95
- executeHandlerOnObject(handler, arrayEntry);
104
+ executeHandlerOnContext(arrayEntry, handler, alreadyProcessedContexts);
96
105
  }
97
106
  }
98
107
  } else {
99
- if (isSubscribable(object)) {
100
- const unwrapped = implementations.unwrap(object);
108
+ if (isSubscribable(context)) {
109
+ const unwrapped = unwrap(context);
101
110
  if (typeof unwrapped === "object") {
102
- executeHandlerOnObject(handler, unwrapped);
111
+ executeHandlerOnContext(unwrapped, handler, alreadyProcessedContexts);
103
112
  }
104
113
  } else {
105
114
  //Call the handler on the object.
106
- handler(object);
115
+ handler(context);
107
116
 
108
117
  //Find out if the object has properties of type object
109
- for (const key in Object.keys(object)) {
110
- const property = object[key];
118
+ for (const key of Object.keys(context)) {
119
+ const property = context[key];
111
120
  if (property && typeof property === "object") {
112
- executeHandlerOnObject(handler, property);
121
+ executeHandlerOnContext(property, handler, alreadyProcessedContexts);
113
122
  }
114
123
  }
115
124
  }
@@ -3,9 +3,7 @@ import { IAttributes, IAttributesSubscribable } from "./attributes";
3
3
  import { IStyle as Style, IStyleSubscribable as StyleSubscribable } from "./style";
4
4
  import { userAgent } from "../utilities/userAgent/userAgent";
5
5
  import { ISubscribable, IDisposer } from "./observableInterfaces";
6
- import { isSubscribable, unwrap, executeHandlerOnObject } from "./observablelmplementations";
7
- import { forIn } from "lodash";
8
- import { event } from "..";
6
+ import { isSubscribable, unwrap, executeHandlerOnContext } from "./observablelmplementations";
9
7
 
10
8
  export interface IWebSocketMessageHandler {
11
9
  handleWebSocketMessage: (message: any) => void;
@@ -51,16 +49,16 @@ export abstract class Properties implements IProperties {
51
49
 
52
50
  //#region Properties helper functions
53
51
 
54
- export function handleWebSocketMessage(object: object, message: any) {
55
- executeHandlerOnObject(
56
- (object) => {
57
- const webSocketMessageHandler = object as IWebSocketMessageHandler;
52
+ export function handleWebSocketMessage(context: object, message: any) {
53
+ executeHandlerOnContext(
54
+ context,
55
+ (context) => {
56
+ const webSocketMessageHandler = context as IWebSocketMessageHandler;
58
57
  if (webSocketMessageHandler.handleWebSocketMessage && typeof webSocketMessageHandler.handleWebSocketMessage === "function") {
59
58
  //Call the handleWebSocketMessage method
60
59
  webSocketMessageHandler.handleWebSocketMessage(message);
61
60
  }
62
- },
63
- object
61
+ }
64
62
  );
65
63
  }
66
64
 
@@ -184,7 +182,7 @@ export function applyBindings(properties: IProperties, element: HTMLElement, dis
184
182
  //Find out if the element is none selectable
185
183
  if (properties.userSelectable === false) {
186
184
  applyEventListenerToElement({
187
- type: "Event",
185
+ type: Event,
188
186
  name: "selectstart",
189
187
  handler: () => { return false; },
190
188
  passive: true
@@ -301,7 +299,7 @@ function applyEventListenerToElement(eventListener: IEventListener, element: HTM
301
299
  element.setAttribute("draggable", "true");
302
300
  }
303
301
 
304
- if (eventListener.type === "KeyboardEvent") {
302
+ if (eventListener.type === KeyboardEvent) {
305
303
  handler = (event: KeyboardEvent) => {
306
304
  if (eventListener.altKey && !event.altKey) {
307
305
  return;