@creative-web-solution/front-library 7.1.24 → 7.1.26
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 +12 -0
- package/Events/KeyboardHandler.ts +3 -3
- package/Helpers/Defer.ts +12 -10
- package/Helpers/Insert.ts +9 -9
- package/Modules/Popin/Popin.ts +1 -3
- package/Modules/Popin/PopinController.ts +2 -2
- package/Modules/SkinSelect.ts +3 -3
- package/README.md +1 -1
- package/Types/Global.d.ts +0 -20
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -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,
|
|
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,
|
|
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
|
|
7
|
+
* let prom = defer()
|
|
6
8
|
*
|
|
7
9
|
* // To resolve:
|
|
8
|
-
*
|
|
10
|
+
* prom.resolve()
|
|
9
11
|
*
|
|
10
12
|
* // To reject:
|
|
11
|
-
*
|
|
13
|
+
* prom.reject()
|
|
12
14
|
*
|
|
13
15
|
* @returns - a promise with a resolve and reject function
|
|
14
16
|
*/
|
|
15
|
-
export function defer():
|
|
16
|
-
let res: (a
|
|
17
|
-
rej: (a
|
|
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
|
|
24
|
+
} ) as DeferredPromise<T>;
|
|
23
25
|
|
|
24
|
-
promise.resolve = ( a
|
|
26
|
+
promise.resolve = ( a?: T | PromiseLike<T> ) => {
|
|
25
27
|
res( a );
|
|
26
28
|
return promise;
|
|
27
29
|
};
|
|
28
30
|
|
|
29
|
-
promise.reject = ( a
|
|
31
|
+
promise.reject = ( a?: T | PromiseLike<T> )=> {
|
|
30
32
|
rej( a );
|
|
31
33
|
return promise;
|
|
32
34
|
};
|
package/Helpers/Insert.ts
CHANGED
|
@@ -9,24 +9,24 @@
|
|
|
9
9
|
*
|
|
10
10
|
* @returns New modified array
|
|
11
11
|
*/
|
|
12
|
-
export function insert(
|
|
12
|
+
export function insert(list: any[], what: any, indexWhere: number): any[] {
|
|
13
13
|
const listLength = list.length;
|
|
14
14
|
|
|
15
|
-
if (
|
|
16
|
-
return
|
|
15
|
+
if (!listLength) {
|
|
16
|
+
return [what];
|
|
17
17
|
}
|
|
18
18
|
|
|
19
|
-
if (
|
|
20
|
-
return [
|
|
19
|
+
if (indexWhere <= 0) {
|
|
20
|
+
return [what, ...list];
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
-
if (
|
|
24
|
-
return [
|
|
23
|
+
if (indexWhere >= listLength) {
|
|
24
|
+
return [...list, what];
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
return [
|
|
28
|
-
...list.slice(
|
|
28
|
+
...list.slice(0, indexWhere),
|
|
29
29
|
what,
|
|
30
|
-
...list.slice(
|
|
30
|
+
...list.slice(indexWhere, list.length),
|
|
31
31
|
];
|
|
32
32
|
}
|
package/Modules/Popin/Popin.ts
CHANGED
|
@@ -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(
|
|
110
|
+
this.#parseElement( $target );
|
|
111
111
|
}
|
|
112
112
|
|
|
113
113
|
|
package/Modules/SkinSelect.ts
CHANGED
|
@@ -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 (
|
|
460
|
+
#fakeOptionsClickHandler = ( e: MouseEvent, $target: HTMLElement ): void => {
|
|
461
|
+
if ( !$target.matches( '.' + this.#options.itemClassName ) ) {
|
|
462
462
|
return;
|
|
463
463
|
}
|
|
464
|
-
this.selectByOption(
|
|
464
|
+
this.selectByOption( $target );
|
|
465
465
|
}
|
|
466
466
|
|
|
467
467
|
|
package/README.md
CHANGED
package/Types/Global.d.ts
CHANGED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
type RequestIdleCallbackHandle = any;
|
|
2
|
-
type RequestIdleCallbackOptions = {
|
|
3
|
-
timeout: number;
|
|
4
|
-
};
|
|
5
|
-
type RequestIdleCallbackDeadline = {
|
|
6
|
-
readonly didTimeout: boolean;
|
|
7
|
-
timeRemaining: ( () => number );
|
|
8
|
-
};
|
|
9
|
-
|
|
10
|
-
interface Window {
|
|
11
|
-
MSPointerEvent: any;
|
|
12
|
-
$$DEBUG$$: any;
|
|
13
|
-
requestIdleCallback: (
|
|
14
|
-
(
|
|
15
|
-
callback: (( deadline: RequestIdleCallbackDeadline ) => void ),
|
|
16
|
-
opts?: RequestIdleCallbackOptions,
|
|
17
|
-
) => RequestIdleCallbackHandle
|
|
18
|
-
);
|
|
19
|
-
cancelIdleCallback: (( handle: RequestIdleCallbackHandle ) => void );
|
|
20
|
-
}
|
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.
|
|
5
|
+
"version": "7.1.26",
|
|
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": [],
|