@creative-web-solution/front-library 7.1.24 → 7.1.25

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/CHANGELOG.md CHANGED
@@ -1,5 +1,15 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## 7.1.26
4
+
5
+ * Use $target instead of e.target in EventManager callbacks
6
+
7
+
8
+ ## 7.1.25
9
+
10
+ * [Defer] Fix type
11
+
12
+
3
13
  ## 7.1.24
4
14
 
5
15
  * [Gesture] Fix currentTarget
@@ -64,7 +64,7 @@ export default class KeyboardHandler {
64
64
  }
65
65
 
66
66
 
67
- #onKeypress = ( e: KeyboardEvent ): void => {
67
+ #onKeypress = ( e: KeyboardEvent, $target: HTMLElement ): void => {
68
68
  const key = e.key;
69
69
 
70
70
  // Block all key except tab, CTRL R, CMD R or F5
@@ -78,12 +78,12 @@ export default class KeyboardHandler {
78
78
  e.preventDefault();
79
79
  }
80
80
 
81
- this.#handleCallbacks( e, e.target, [ 'onKey' ] );
81
+ this.#handleCallbacks( e, $target, [ 'onKey' ] );
82
82
 
83
83
  const FNC = this.#eventsName.get( key );
84
84
 
85
85
  if ( FNC ) {
86
- this.#handleCallbacks( e, e.target, FNC( e ) );
86
+ this.#handleCallbacks( e, $target, FNC( e ) );
87
87
  }
88
88
  }
89
89
 
package/Helpers/Defer.ts CHANGED
@@ -1,32 +1,34 @@
1
+ export type DeferredPromise<T> = Promise<T | undefined> & { resolve: ( a?: T | PromiseLike<T> ) => void; reject: ( a?: T | PromiseLike<T> ) => void; }
2
+
1
3
  /**
2
4
  * Deferred promise
3
5
  *
4
6
  * @example
5
- * let dfd = defer()
7
+ * let prom = defer()
6
8
  *
7
9
  * // To resolve:
8
- * dfd.resolve()
10
+ * prom.resolve()
9
11
  *
10
12
  * // To reject:
11
- * dfd.reject()
13
+ * prom.reject()
12
14
  *
13
15
  * @returns - a promise with a resolve and reject function
14
16
  */
15
- export function defer(): Promise<any> & { resolve: ( a?: any ) => void; reject: ( a?: any ) => void; } {
16
- let res: (a: any ) => void,
17
- rej: (a: any ) => void;
17
+ export function defer<T>(): DeferredPromise<T> {
18
+ let res: (a?: T | PromiseLike<T> ) => void,
19
+ rej: (a?: T | PromiseLike<T> ) => void;
18
20
 
19
- const promise = new Promise( ( resolve, reject ) => {
21
+ const promise = new Promise<T | undefined>( ( resolve, reject ) => {
20
22
  res = resolve;
21
23
  rej = reject;
22
- } ) as Promise<any> & { resolve: ( a?: any ) => void; reject: ( a?: any ) => void; } ;
24
+ } ) as DeferredPromise<T>;
23
25
 
24
- promise.resolve = ( a: any ) => {
26
+ promise.resolve = ( a?: T | PromiseLike<T> ) => {
25
27
  res( a );
26
28
  return promise;
27
29
  };
28
30
 
29
- promise.reject = ( a : any )=> {
31
+ promise.reject = ( a?: T | PromiseLike<T> )=> {
30
32
  rej( a );
31
33
  return promise;
32
34
  };
@@ -399,15 +399,13 @@ export default class Popin {
399
399
  }
400
400
 
401
401
 
402
- #openPopinHandler = ( e: Event ): void => {
402
+ #openPopinHandler = ( e: Event, $target: HTMLElement ): void => {
403
403
  e.preventDefault();
404
404
 
405
405
  if ( this.#loadingPromise ) {
406
406
  return;
407
407
  }
408
408
 
409
- const $target = e.target as HTMLElement;
410
-
411
409
  if ( $target.nodeName === 'FORM' ) {
412
410
  this.#_loadForm( $target as HTMLFormElement );
413
411
  return;
@@ -104,10 +104,10 @@ export default class PopinController implements FLib.Popin.Controller {
104
104
 
105
105
 
106
106
 
107
- #openPopinHandler = ( e: Event): void => {
107
+ #openPopinHandler = ( e: Event, $target: HTMLElement): void => {
108
108
  e.preventDefault();
109
109
 
110
- this.#parseElement( e.target as HTMLElement );
110
+ this.#parseElement( $target );
111
111
  }
112
112
 
113
113
 
@@ -457,11 +457,11 @@ export default class SkinSelect implements FLib.SkinSelect.SkinSelect {
457
457
 
458
458
 
459
459
  // Handle click on the skinned ul>li list
460
- #fakeOptionsClickHandler = ( e: MouseEvent ): void => {
461
- if ( !(e.target as HTMLElement).matches( '.' + this.#options.itemClassName ) ) {
460
+ #fakeOptionsClickHandler = ( e: MouseEvent, $target: HTMLElement ): void => {
461
+ if ( !$target.matches( '.' + this.#options.itemClassName ) ) {
462
462
  return;
463
463
  }
464
- this.selectByOption( e.target as HTMLElement );
464
+ this.selectByOption( $target );
465
465
  }
466
466
 
467
467
 
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Front Library
2
2
 
3
- @version: 7.1.24
3
+ @version: 7.1.25
4
4
 
5
5
 
6
6
  ## Use
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@creative-web-solution/front-library",
3
3
  "title": "Frontend library",
4
4
  "description": "Frontend functions and modules",
5
- "version": "7.1.24",
5
+ "version": "7.1.25",
6
6
  "homepage": "https://github.com/creative-web-solution/front-library",
7
7
  "author": "Creative Web Solution <contact@cws-studio.com> (https://www.cws-studio.com)",
8
8
  "keywords": [],