jpf 5.0.41 → 5.0.42

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,22 +1,26 @@
1
- export type EventType = typeof Event | typeof KeyboardEvent | typeof PointerEvent;
2
- export type PointerEventType = "pointerdown" | "pointerup" | "pointermove";
1
+ export type EventType = typeof Event | typeof UIEvent | typeof KeyboardEvent | typeof PointerEvent | typeof TouchEvent | typeof MouseEvent;
2
+ export type UiEventType = "load" | "unload" | "abort" | "error" | "select";
3
3
  export type KeyboardEventType = "keydown" | "keyup" | "keypress";
4
- export type GlobalEventType = "load";
4
+ export type PointerEventType = "click" | "pointerdown" | "pointerup" | "pointermove";
5
+ export type TouchEventType = "touchstart" | "touchend" | "touchmove" | "touchcancel";
6
+ export type MouseEventType = "contextmenu" | "dblclick" | "mousedown" | "mouseenter" | "mouseleave" | "mousemove" | "mouseout" | "mouseover" | "mouseup";
5
7
  export interface IEventListener extends AddEventListenerOptions, KeyboardEventInit {
6
8
  type: EventType;
7
9
  name: string;
8
10
  handler: (event: any) => void;
9
11
  }
10
- export declare function createEvent<TEvent>(name: string, handler: (event: TEvent) => void): IEventListener;
12
+ export declare function createEvent<TEvent>(type: EventType, name: string, handler: (event: TEvent) => void): IEventListener;
13
+ export declare function createUiEvent(name: UiEventType, handler: (event: UIEvent) => void): IEventListener;
14
+ export declare function createKeyBoardEvent(name: KeyboardEventType, handler: (event: KeyboardEvent) => void): IEventListener;
11
15
  export declare function createPointerEvent(name: PointerEventType, handler: (event: PointerEvent) => void): IEventListener;
12
16
  export declare function createClickEvent(handler: (event: PointerEvent) => void): IEventListener;
13
- export declare function createKeyBoardEvent(name: KeyboardEventType, handler: (event: KeyboardEvent) => void): IEventListener;
14
- export declare function createGlobalEvent(name: GlobalEventType, handler: (event: Event) => void): IEventListener;
17
+ export declare function createTouchEvent(name: TouchEventType, handler: (event: TouchEvent) => void): IEventListener;
18
+ export declare function createMouseEvent(name: MouseEventType, handler: (event: MouseEvent) => void): IEventListener;
15
19
  interface ISwipeEventOptions {
16
- leftHandler?: (event: PointerEvent) => void;
17
- rightHandler?: (event: PointerEvent) => void;
18
- upHandler?: (event: PointerEvent) => void;
19
- downHandler?: (event: PointerEvent) => void;
20
+ leftHandler?: (event: TouchEvent) => void;
21
+ rightHandler?: (event: TouchEvent) => void;
22
+ upHandler?: (event: TouchEvent) => void;
23
+ downHandler?: (event: TouchEvent) => void;
20
24
  distance?: number;
21
25
  }
22
26
  export declare function createSwipeEvent(options: ISwipeEventOptions): Array<IEventListener>;
@@ -5,20 +5,26 @@ function createEventListener(type, name, handler) {
5
5
  handler: handler
6
6
  };
7
7
  }
8
- export function createEvent(name, handler) {
9
- return createEventListener(Event, name, handler);
8
+ export function createEvent(type, name, handler) {
9
+ return createEventListener(type, name, handler);
10
+ }
11
+ export function createUiEvent(name, handler) {
12
+ return createEventListener(UIEvent, name, handler);
13
+ }
14
+ export function createKeyBoardEvent(name, handler) {
15
+ return createEventListener(KeyboardEvent, name, handler);
10
16
  }
11
17
  export function createPointerEvent(name, handler) {
12
18
  return createEventListener(PointerEvent, name, handler);
13
19
  }
14
20
  export function createClickEvent(handler) {
15
- return createPointerEvent("pointerdown", handler);
21
+ return createPointerEvent("click", handler);
16
22
  }
17
- export function createKeyBoardEvent(name, handler) {
18
- return createEventListener(KeyboardEvent, name, handler);
23
+ export function createTouchEvent(name, handler) {
24
+ return createEventListener(TouchEvent, name, handler);
19
25
  }
20
- export function createGlobalEvent(name, handler) {
21
- return createEventListener(Event, name, handler);
26
+ export function createMouseEvent(name, handler) {
27
+ return createEventListener(MouseEvent, name, handler);
22
28
  }
23
29
  export function createSwipeEvent(options) {
24
30
  let startX = 0;
@@ -27,13 +33,15 @@ export function createSwipeEvent(options) {
27
33
  let endY = 0;
28
34
  const distance = options.distance || 50;
29
35
  return [
30
- createPointerEvent("pointerdown", (event) => {
31
- startX = event.clientX;
32
- startY = event.clientY;
36
+ createEvent(TouchEvent, "touchstart", (event) => {
37
+ const touch = event.touches[0];
38
+ startX = touch.clientX;
39
+ startY = touch.clientY;
33
40
  }),
34
- createPointerEvent("pointerup", (event) => {
35
- endX = event.clientX;
36
- endY = event.clientY;
41
+ createEvent(TouchEvent, "touchend", (event) => {
42
+ const touch = event.changedTouches[0];
43
+ endX = touch.clientX;
44
+ endY = touch.clientY;
37
45
  if (startX > endX + distance) {
38
46
  if (options.leftHandler) {
39
47
  options.leftHandler(event);
@@ -1 +1 @@
1
- {"version":3,"file":"event.js","sourceRoot":"","sources":["../../src/framework/event.ts"],"names":[],"mappings":"AAaA,SAAS,mBAAmB,CAAS,IAAe,EAAE,IAAY,EAAE,OAAgC;IAChG,OAAO;QACH,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,OAAO;KACnB,CAAC;AACN,CAAC;AAGD,MAAM,UAAU,WAAW,CAAS,IAAY,EAAE,OAAgC;IAC9E,OAAO,mBAAmB,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AACrD,CAAC;AAGD,MAAM,UAAU,kBAAkB,CAAC,IAAsB,EAAE,OAAsC;IAC7F,OAAO,mBAAmB,CAAC,YAAY,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AAC5D,CAAC;AAGD,MAAM,UAAU,gBAAgB,CAAC,OAAsC;IACnE,OAAO,kBAAkB,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;AACtD,CAAC;AAGD,MAAM,UAAU,mBAAmB,CAAC,IAAuB,EAAE,OAAuC;IAChG,OAAO,mBAAmB,CAAC,aAAa,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AAC7D,CAAC;AAGD,MAAM,UAAU,iBAAiB,CAAC,IAAqB,EAAE,OAA+B;IACpF,OAAO,mBAAmB,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AACrD,CAAC;AAWD,MAAM,UAAU,gBAAgB,CAAC,OAA2B;IACxD,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;IACxC,OAAO;QACH,kBAAkB,CACd,aAAa,EACb,CAAC,KAAmB,EAAE,EAAE;YACpB,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC;YACvB,MAAM,GAAG,KAAK,CAAC,OAAO,CAAA;QAC1B,CAAC,CACJ;QACD,kBAAkB,CAAC,WAAW,EAAE,CAAC,KAAmB,EAAE,EAAE;YACpD,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC;YACrB,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC;YACrB,IAAI,MAAM,GAAG,IAAI,GAAG,QAAQ,EAAE,CAAC;gBAC3B,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;oBACtB,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBAC/B,CAAC;YACL,CAAC;iBAAM,IAAI,IAAI,GAAG,MAAM,GAAG,QAAQ,EAAE,CAAC;gBAClC,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;oBACvB,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;gBAChC,CAAC;YACL,CAAC;iBAAM,IAAI,MAAM,GAAG,IAAI,GAAG,QAAQ,EAAE,CAAC;gBAClC,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;oBACpB,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;gBAC7B,CAAC;YACL,CAAC;iBAAM,IAAI,IAAI,GAAG,MAAM,GAAG,QAAQ,EAAE,CAAC;gBAClC,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;oBACtB,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBAC/B,CAAC;YACL,CAAC;QACL,CAAC,CAAC;KACL,CAAA;AACL,CAAC"}
1
+ {"version":3,"file":"event.js","sourceRoot":"","sources":["../../src/framework/event.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.41",
3
+ "version": "5.0.42",
4
4
  "description": "Javascript Presentation Foundation base classes and interfaces",
5
5
  "keywords": [
6
6
  "mvvm",
@@ -1,9 +1,14 @@
1
1
  import { key } from "../utilities";
2
2
 
3
- export type EventType = typeof Event | typeof KeyboardEvent | typeof PointerEvent;
4
- export type PointerEventType = "pointerdown" | "pointerup" | "pointermove";
3
+ export type EventType = typeof Event | typeof UIEvent | typeof KeyboardEvent | typeof PointerEvent | typeof TouchEvent | typeof MouseEvent;
4
+
5
+ export type UiEventType = "load" | "unload" | "abort" | "error" | "select";
5
6
  export type KeyboardEventType = "keydown" | "keyup" | "keypress";
6
- export type GlobalEventType = "load";
7
+ export type PointerEventType = "click" | "pointerdown" | "pointerup" | "pointermove";
8
+ export type TouchEventType = "touchstart" | "touchend" | "touchmove" | "touchcancel";
9
+ export type MouseEventType = "contextmenu" | "dblclick" | "mousedown" | "mouseenter" | "mouseleave" | "mousemove" | "mouseout" | "mouseover" | "mouseup";
10
+
11
+
7
12
 
8
13
  export interface IEventListener extends AddEventListenerOptions, KeyboardEventInit {
9
14
  type: EventType;
@@ -19,36 +24,45 @@ function createEventListener<TEvent>(type: EventType, name: string, handler: (ev
19
24
  };
20
25
  }
21
26
 
22
- // Generic event creator
23
- export function createEvent<TEvent>(name: string, handler: (event: TEvent) => void): IEventListener {
24
- return createEventListener(Event, name, handler);
27
+ //Event creator
28
+ export function createEvent<TEvent>(type: EventType, name: string, handler: (event: TEvent) => void): IEventListener {
29
+ return createEventListener(type, name, handler);
30
+ }
31
+
32
+ //UiEvent creator
33
+ export function createUiEvent(name: UiEventType, handler: (event: UIEvent) => void): IEventListener {
34
+ return createEventListener(UIEvent, name, handler);
25
35
  }
26
36
 
27
- //Pointer event creator
37
+ // KeyBoard event creator
38
+ export function createKeyBoardEvent(name: KeyboardEventType, handler: (event: KeyboardEvent) => void): IEventListener {
39
+ return createEventListener(KeyboardEvent, name, handler);
40
+ }
41
+
42
+ //PointerEvent creator
28
43
  export function createPointerEvent(name: PointerEventType, handler: (event: PointerEvent) => void): IEventListener {
29
44
  return createEventListener(PointerEvent, name, handler);
30
45
  }
31
46
 
32
47
  // Click event creator for convenience
33
48
  export function createClickEvent(handler: (event: PointerEvent) => void): IEventListener {
34
- return createPointerEvent("pointerdown", handler);
49
+ return createPointerEvent("click", handler);
35
50
  }
36
51
 
37
- // KeyBoard event creator
38
- export function createKeyBoardEvent(name: KeyboardEventType, handler: (event: KeyboardEvent) => void): IEventListener {
39
- return createEventListener(KeyboardEvent, name, handler);
52
+ export function createTouchEvent(name: TouchEventType, handler: (event: TouchEvent) => void): IEventListener {
53
+ return createEventListener(TouchEvent, name, handler);
40
54
  }
41
55
 
42
- // Global event creator
43
- export function createGlobalEvent(name: GlobalEventType, handler: (event: Event) => void): IEventListener {
44
- return createEventListener(Event, name, handler);
56
+ export function createMouseEvent(name: MouseEventType, handler: (event: MouseEvent) => void): IEventListener {
57
+ return createEventListener(MouseEvent, name, handler);
45
58
  }
46
59
 
60
+
47
61
  interface ISwipeEventOptions {
48
- leftHandler?: (event: PointerEvent) => void;
49
- rightHandler?: (event: PointerEvent) => void;
50
- upHandler?: (event: PointerEvent) => void;
51
- downHandler?: (event: PointerEvent) => void;
62
+ leftHandler?: (event: TouchEvent) => void;
63
+ rightHandler?: (event: TouchEvent) => void;
64
+ upHandler?: (event: TouchEvent) => void;
65
+ downHandler?: (event: TouchEvent) => void;
52
66
  distance?: number;
53
67
  }
54
68
 
@@ -60,33 +74,40 @@ export function createSwipeEvent(options: ISwipeEventOptions): Array<IEventListe
60
74
  let endY = 0;
61
75
  const distance = options.distance || 50;
62
76
  return [
63
- createPointerEvent(
64
- "pointerdown",
65
- (event: PointerEvent) => {
66
- startX = event.clientX;
67
- startY = event.clientY
77
+ createEvent(
78
+ TouchEvent,
79
+ "touchstart",
80
+ (event: TouchEvent) => {
81
+ const touch = event.touches[0];
82
+ startX = touch.clientX;
83
+ startY = touch.clientY;
68
84
  }
69
85
  ),
70
- createPointerEvent("pointerup", (event: PointerEvent) => {
71
- endX = event.clientX;
72
- endY = event.clientY;
73
- if (startX > endX + distance) {
74
- if (options.leftHandler) {
75
- options.leftHandler(event);
76
- }
77
- } else if (endX > startX + distance) {
78
- if (options.rightHandler) {
79
- options.rightHandler(event);
80
- }
81
- } else if (startY > endY + distance) {
82
- if (options.upHandler) {
83
- options.upHandler(event);
84
- }
85
- } else if (endY > startY + distance) {
86
- if (options.downHandler) {
87
- options.downHandler(event);
86
+ createEvent(
87
+ TouchEvent,
88
+ "touchend",
89
+ (event: TouchEvent) => {
90
+ const touch = event.changedTouches[0];
91
+ endX = touch.clientX;
92
+ endY = touch.clientY;
93
+ if (startX > endX + distance) {
94
+ if (options.leftHandler) {
95
+ options.leftHandler(event);
96
+ }
97
+ } else if (endX > startX + distance) {
98
+ if (options.rightHandler) {
99
+ options.rightHandler(event);
100
+ }
101
+ } else if (startY > endY + distance) {
102
+ if (options.upHandler) {
103
+ options.upHandler(event);
104
+ }
105
+ } else if (endY > startY + distance) {
106
+ if (options.downHandler) {
107
+ options.downHandler(event);
108
+ }
88
109
  }
89
110
  }
90
- })
111
+ )
91
112
  ]
92
113
  }