@evlop/commons 1.0.121 → 1.0.122
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/src/hooks/index.d.ts +1 -0
- package/dist/src/hooks/index.d.ts.map +1 -1
- package/dist/src/hooks/index.js +1 -0
- package/dist/src/hooks/index.js.map +1 -1
- package/dist/src/hooks/useAction.d.ts +2 -11
- package/dist/src/hooks/useAction.d.ts.map +1 -1
- package/dist/src/hooks/useAction.js +9 -38
- package/dist/src/hooks/useAction.js.map +1 -1
- package/dist/src/hooks/useActionable.d.ts +21 -0
- package/dist/src/hooks/useActionable.d.ts.map +1 -0
- package/dist/src/hooks/useActionable.js +54 -0
- package/dist/src/hooks/useActionable.js.map +1 -0
- package/dist/src/reducers/notifications.d.ts +6 -3
- package/dist/src/reducers/notifications.d.ts.map +1 -1
- package/dist/src/reducers/notifications.js +10 -5
- package/dist/src/reducers/notifications.js.map +1 -1
- package/package.json +1 -1
@@ -21,6 +21,7 @@ export * from './useMenuItems';
|
|
21
21
|
export * from './useEditable';
|
22
22
|
export * from './usePage';
|
23
23
|
export * from './useParams';
|
24
|
+
export * from './useActionable';
|
24
25
|
export * from './useAction';
|
25
26
|
export * from './usePastePlainText';
|
26
27
|
export * from './useResponsive';
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/index.tsx"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC"}
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/index.tsx"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC"}
|
package/dist/src/hooks/index.js
CHANGED
@@ -33,6 +33,7 @@ __exportStar(require("./useMenuItems"), exports);
|
|
33
33
|
__exportStar(require("./useEditable"), exports);
|
34
34
|
__exportStar(require("./usePage"), exports);
|
35
35
|
__exportStar(require("./useParams"), exports);
|
36
|
+
__exportStar(require("./useActionable"), exports);
|
36
37
|
__exportStar(require("./useAction"), exports);
|
37
38
|
__exportStar(require("./usePastePlainText"), exports);
|
38
39
|
__exportStar(require("./useResponsive"), exports);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hooks/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,iDAA+B;AAC/B,yDAAuC;AACvC,8CAA4B;AAC5B,kDAAgC;AAChC,4CAA0B;AAC1B,6CAA2B;AAC3B,qDAAmC;AACnC,gDAA8B;AAC9B,6CAA2B;AAC3B,2CAAyB;AACzB,6CAA2B;AAC3B,6CAA2B;AAC3B,kDAAgC;AAChC,0DAAwC;AACxC,wDAAsC;AACtC,gEAA8C;AAC9C,6DAA2C;AAC3C,4DAA0C;AAC1C,oDAAkC;AAClC,iDAA+B;AAC/B,gDAA8B;AAC9B,4CAA0B;AAC1B,8CAA4B;AAC5B,8CAA4B;AAC5B,sDAAoC;AACpC,kDAAgC"}
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hooks/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,iDAA+B;AAC/B,yDAAuC;AACvC,8CAA4B;AAC5B,kDAAgC;AAChC,4CAA0B;AAC1B,6CAA2B;AAC3B,qDAAmC;AACnC,gDAA8B;AAC9B,6CAA2B;AAC3B,2CAAyB;AACzB,6CAA2B;AAC3B,6CAA2B;AAC3B,kDAAgC;AAChC,0DAAwC;AACxC,wDAAsC;AACtC,gEAA8C;AAC9C,6DAA2C;AAC3C,4DAA0C;AAC1C,oDAAkC;AAClC,iDAA+B;AAC/B,gDAA8B;AAC9B,4CAA0B;AAC1B,8CAA4B;AAC5B,kDAAgC;AAChC,8CAA4B;AAC5B,sDAAoC;AACpC,kDAAgC"}
|
@@ -1,18 +1,9 @@
|
|
1
|
+
import { Action } from './useActionable';
|
1
2
|
/**
|
2
3
|
* get a action function for
|
3
4
|
* @param action action object ot function
|
4
5
|
* @returns function
|
5
6
|
*/
|
6
|
-
|
7
|
-
link: string;
|
8
|
-
bindKey: string;
|
9
|
-
route: string;
|
10
|
-
navigate: Array<string> | string;
|
11
|
-
page: Array<string> | string;
|
12
|
-
dispatch: Object | Function;
|
13
|
-
callback: Function;
|
14
|
-
}
|
15
|
-
declare type Action = ActionObject | Function | any;
|
16
|
-
export declare const useAction: (action: Action) => (event: any) => any;
|
7
|
+
export declare const useAction: (action?: Action) => (event: any) => any;
|
17
8
|
export default useAction;
|
18
9
|
//# sourceMappingURL=useAction.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useAction.d.ts","sourceRoot":"","sources":["../../../src/hooks/useAction.tsx"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"useAction.d.ts","sourceRoot":"","sources":["../../../src/hooks/useAction.tsx"],"names":[],"mappings":"AACA,OAAsB,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAGxD;;;;GAIG;AAEH,eAAO,MAAM,SAAS,YAAa,MAAM,wBAIxC,CAAC;AAEF,eAAe,SAAS,CAAC"}
|
@@ -5,45 +5,16 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
6
|
exports.useAction = void 0;
|
7
7
|
const react_1 = require("react");
|
8
|
-
const
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
8
|
+
const useActionable_1 = __importDefault(require("./useActionable"));
|
9
|
+
// link, callback, dispatch, navigate
|
10
|
+
/**
|
11
|
+
* get a action function for
|
12
|
+
* @param action action object ot function
|
13
|
+
* @returns function
|
14
|
+
*/
|
14
15
|
const useAction = (action) => {
|
15
|
-
const
|
16
|
-
|
17
|
-
const scope = useScope_1.useScope();
|
18
|
-
const template = useTemplate_1.default();
|
19
|
-
return react_1.useCallback((event) => {
|
20
|
-
let actionToUse = action;
|
21
|
-
while (actionToUse && actionToUse.bindKey) {
|
22
|
-
actionToUse = lodash_1.get(scope, actionToUse.bindKey);
|
23
|
-
}
|
24
|
-
if (typeof actionToUse === 'function')
|
25
|
-
return actionToUse(event);
|
26
|
-
if (actionToUse) {
|
27
|
-
const { link, navigate, push, page, params, dispatch: dispatchAction, route, callback } = actionToUse;
|
28
|
-
if (link)
|
29
|
-
return navigator.openURL(template(link));
|
30
|
-
if (navigate)
|
31
|
-
return navigator.navigate(...lodash_1.castArray(JSON.parse(template(JSON.stringify(navigate)))));
|
32
|
-
if (push)
|
33
|
-
return navigator.push(...lodash_1.castArray(JSON.parse(template(JSON.stringify(navigate)))));
|
34
|
-
if (page) {
|
35
|
-
const routeParams = lodash_2.mapValues(params, (paramValue) => template(paramValue.toString()));
|
36
|
-
return navigator.openPage(page, routeParams);
|
37
|
-
}
|
38
|
-
;
|
39
|
-
if (route)
|
40
|
-
return navigator.openRoute(template(route));
|
41
|
-
if (dispatchAction)
|
42
|
-
return dispatch(dispatchAction);
|
43
|
-
if (callback)
|
44
|
-
return callback({ event, navigator, dispatch });
|
45
|
-
}
|
46
|
-
}, [action, navigator, dispatch, template, scope]);
|
16
|
+
const createActionHandeller = useActionable_1.default();
|
17
|
+
return react_1.useMemo(() => createActionHandeller(action), [action, createActionHandeller]);
|
47
18
|
};
|
48
19
|
exports.useAction = useAction;
|
49
20
|
exports.default = exports.useAction;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useAction.js","sourceRoot":"","sources":["../../../src/hooks/useAction.tsx"],"names":[],"mappings":";;;;;;AAAA,
|
1
|
+
{"version":3,"file":"useAction.js","sourceRoot":"","sources":["../../../src/hooks/useAction.tsx"],"names":[],"mappings":";;;;;;AAAA,iCAAgC;AAChC,oEAAwD;AAExD,qCAAqC;AACrC;;;;GAIG;AAEI,MAAM,SAAS,GAAG,CAAC,MAAe,EAAC,EAAE;IACxC,MAAM,qBAAqB,GAAG,uBAAa,EAAE,CAAC;IAE9C,OAAO,eAAO,CAAC,GAAE,EAAE,CAAA,qBAAqB,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC,CAAC;AACvF,CAAC,CAAC;AAJW,QAAA,SAAS,aAIpB;AAEF,kBAAe,iBAAS,CAAC"}
|
@@ -0,0 +1,21 @@
|
|
1
|
+
/**
|
2
|
+
* get a action function for
|
3
|
+
* @param action action object ot function
|
4
|
+
* @returns function
|
5
|
+
*/
|
6
|
+
export interface ActionObject {
|
7
|
+
link: string;
|
8
|
+
bindKey: string;
|
9
|
+
route: string;
|
10
|
+
navigate: Array<string> | string;
|
11
|
+
page: Array<string> | string;
|
12
|
+
dispatch: Object | Function;
|
13
|
+
callback: Function;
|
14
|
+
}
|
15
|
+
export declare type Action = ActionObject | Function | any;
|
16
|
+
/**
|
17
|
+
* @description a function to map action into action handeller function
|
18
|
+
*/
|
19
|
+
export declare const useActionable: () => (action: Action) => (event: any) => any;
|
20
|
+
export default useActionable;
|
21
|
+
//# sourceMappingURL=useActionable.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"useActionable.d.ts","sourceRoot":"","sources":["../../../src/hooks/useActionable.tsx"],"names":[],"mappings":"AASA;;;;GAIG;AAEF,MAAM,WAAW,YAAY;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;IACjC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;IAC7B,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC5B,QAAQ,EAAE,QAAQ,CAAC;CACtB;AAED,oBAAY,MAAM,GAAG,YAAY,GAAG,QAAQ,GAAG,GAAG,CAAA;AAElD;;GAEG;AACJ,eAAO,MAAM,aAAa,iBAM8B,MAAM,aAAa,GAAG,QA0B7E,CAAC;AAEF,eAAe,aAAa,CAAC"}
|
@@ -0,0 +1,54 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
+
};
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
+
exports.useActionable = void 0;
|
7
|
+
const react_1 = require("react");
|
8
|
+
const react_redux_1 = require("react-redux");
|
9
|
+
const lodash_1 = require("lodash");
|
10
|
+
const useNavigator_1 = require("./useNavigator");
|
11
|
+
const useScope_1 = require("./useScope");
|
12
|
+
const useTemplate_1 = __importDefault(require("./useTemplate"));
|
13
|
+
const lodash_2 = require("lodash");
|
14
|
+
/**
|
15
|
+
* @description a function to map action into action handeller function
|
16
|
+
*/
|
17
|
+
const useActionable = () => {
|
18
|
+
const navigator = useNavigator_1.useNavigator();
|
19
|
+
const dispatch = react_redux_1.useDispatch();
|
20
|
+
const scope = useScope_1.useScope();
|
21
|
+
const template = useTemplate_1.default();
|
22
|
+
const createActionHandeller = react_1.useCallback((action) => (event) => {
|
23
|
+
let actionToUse = action;
|
24
|
+
while (actionToUse && actionToUse.bindKey) {
|
25
|
+
actionToUse = lodash_1.get(scope, actionToUse.bindKey);
|
26
|
+
}
|
27
|
+
if (typeof actionToUse === 'function')
|
28
|
+
return actionToUse(event);
|
29
|
+
if (actionToUse) {
|
30
|
+
const { link, navigate, push, page, params, dispatch: dispatchAction, route, callback } = actionToUse;
|
31
|
+
if (link)
|
32
|
+
return navigator.openURL(template(link));
|
33
|
+
if (navigate)
|
34
|
+
return navigator.navigate(...lodash_1.castArray(JSON.parse(template(JSON.stringify(navigate)))));
|
35
|
+
if (push)
|
36
|
+
return navigator.push(...lodash_1.castArray(JSON.parse(template(JSON.stringify(navigate)))));
|
37
|
+
if (page) {
|
38
|
+
const routeParams = lodash_2.mapValues(params, (paramValue) => template(paramValue.toString()));
|
39
|
+
return navigator.openPage(page, routeParams);
|
40
|
+
}
|
41
|
+
;
|
42
|
+
if (route)
|
43
|
+
return navigator.openRoute(template(route));
|
44
|
+
if (dispatchAction)
|
45
|
+
return dispatch(dispatchAction);
|
46
|
+
if (callback)
|
47
|
+
return callback({ event, navigator, dispatch });
|
48
|
+
}
|
49
|
+
}, [navigator, dispatch, template, scope]);
|
50
|
+
return createActionHandeller;
|
51
|
+
};
|
52
|
+
exports.useActionable = useActionable;
|
53
|
+
exports.default = exports.useActionable;
|
54
|
+
//# sourceMappingURL=useActionable.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"useActionable.js","sourceRoot":"","sources":["../../../src/hooks/useActionable.tsx"],"names":[],"mappings":";;;;;;AAAA,iCAA6C;AAC7C,6CAA0C;AAC1C,mCAAwC;AACxC,iDAA4C;AAC5C,yCAAoC;AACpC,gEAAwC;AACxC,mCAAiC;AAqBhC;;GAEG;AACG,MAAM,aAAa,GAAG,GAAE,EAAE;IAC7B,MAAM,SAAS,GAAG,2BAAY,EAAE,CAAC;IACjC,MAAM,QAAQ,GAAG,yBAAW,EAAE,CAAC;IAC/B,MAAM,KAAK,GAAG,mBAAQ,EAAE,CAAC;IACzB,MAAM,QAAQ,GAAG,qBAAW,EAAE,CAAC;IAE/B,MAAM,qBAAqB,GAAI,mBAAW,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,CAAC,KAAU,EAAE,EAAE;QAC1E,IAAI,WAAW,GAAG,MAAM,CAAC;QAEzB,OAAO,WAAW,IAAI,WAAW,CAAC,OAAO,EAAC;YACtC,WAAW,GAAG,YAAG,CAAC,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;SACjD;QAED,IAAG,OAAO,WAAW,KAAK,UAAU;YAAE,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC;QAEhE,IAAG,WAAW,EAAE;YACZ,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,QAAQ,EAAC,GAAG,WAAW,CAAC;YAErG,IAAI,IAAI;gBAAE,OAAO,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;YACnD,IAAI,QAAQ;gBAAE,OAAO,SAAS,CAAC,QAAQ,CAAC,GAAG,kBAAS,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACtG,IAAI,IAAI;gBAAE,OAAO,SAAS,CAAC,IAAI,CAAC,GAAG,kBAAS,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9F,IAAI,IAAI,EAAC;gBACL,MAAM,WAAW,GAAG,kBAAS,CAAC,MAAM,EAAE,CAAC,UAAiB,EAAC,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;gBAC5F,OAAO,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;aAC/C;YAAA,CAAC;YACF,IAAI,KAAK;gBAAE,OAAO,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;YACvD,IAAI,cAAc;gBAAE,OAAO,QAAQ,CAAC,cAAc,CAAC,CAAC;YACpD,IAAI,QAAQ;gBAAE,OAAO,QAAQ,CAAC,EAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAC,CAAC,CAAC;SAC/D;IACL,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;IAE3C,OAAO,qBAAqB,CAAC;AACjC,CAAC,CAAC;AAhCW,QAAA,aAAa,iBAgCxB;AAEF,kBAAe,qBAAa,CAAC"}
|
@@ -21,7 +21,7 @@ export interface Notification {
|
|
21
21
|
/**
|
22
22
|
* @description where should the notification be displayed
|
23
23
|
*/
|
24
|
-
position: 'top' | 'top-right' | 'bottom-right' | 'bottom' | 'bottom-left' | 'top-left'
|
24
|
+
position: 'top' | 'top-right' | 'bottom-right' | 'bottom' | 'bottom-left' | 'top-left';
|
25
25
|
/**
|
26
26
|
* Action buttons for notification
|
27
27
|
*/
|
@@ -42,9 +42,12 @@ export interface Notification {
|
|
42
42
|
*/
|
43
43
|
export declare const showNotification: (notification: Notification) => {
|
44
44
|
type: string;
|
45
|
-
notification:
|
45
|
+
notification: {
|
46
46
|
id: string;
|
47
|
-
|
47
|
+
timeout: number;
|
48
|
+
type: string;
|
49
|
+
position: string;
|
50
|
+
} & Notification;
|
48
51
|
};
|
49
52
|
export declare const removeNotification: (id: any) => {
|
50
53
|
type: string;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"notifications.d.ts","sourceRoot":"","sources":["../../../src/reducers/notifications.tsx"],"names":[],"mappings":"AAEA,eAAO,MAAM,iBAAiB,sBAAsB,CAAC;AACrD,eAAO,MAAM,mBAAmB,wBAAwB,CAAC;AAEzD,MAAM,WAAW,YAAY;IACzB;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,GAAC,SAAS,GAAC,OAAO,GAAC,SAAS,CAAC;IAC1C;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,QAAQ,EAAE,KAAK,GAAC,WAAW,GAAC,cAAc,GAAC,QAAQ,GAAC,aAAa,GAAC,UAAU,
|
1
|
+
{"version":3,"file":"notifications.d.ts","sourceRoot":"","sources":["../../../src/reducers/notifications.tsx"],"names":[],"mappings":"AAEA,eAAO,MAAM,iBAAiB,sBAAsB,CAAC;AACrD,eAAO,MAAM,mBAAmB,wBAAwB,CAAC;AAEzD,MAAM,WAAW,YAAY;IACzB;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,GAAC,SAAS,GAAC,OAAO,GAAC,SAAS,CAAC;IAC1C;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,QAAQ,EAAE,KAAK,GAAC,WAAW,GAAC,cAAc,GAAC,QAAQ,GAAC,aAAa,GAAC,UAAU,CAAC;IAC7E;;OAEG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,GAAG,CAAC;KACf,CAAC,CAAA;IACF;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;CACnB;AAED;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,iBAAkB,YAAY;;;;;;;;CAGzD,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;CAG7B,CAAC;gCAIoB,MAAM,YAAY,CAAC;AAA1C,wBAgBC"}
|
@@ -11,7 +11,7 @@ exports.REMOVE_NOTIFICATION = 'notification/remove';
|
|
11
11
|
*/
|
12
12
|
const showNotification = (notification) => ({
|
13
13
|
type: exports.SHOW_NOTIFICATION,
|
14
|
-
notification: lodash_1.
|
14
|
+
notification: lodash_1.defaults(notification, { id: lodash_1.random(Number.MAX_SAFE_INTEGER).toString(36), timeout: 5000, type: 'info', position: 'bottom-right' }),
|
15
15
|
});
|
16
16
|
exports.showNotification = showNotification;
|
17
17
|
const removeNotification = (id) => ({
|
@@ -23,10 +23,15 @@ let initialState = [];
|
|
23
23
|
exports.default = (state = initialState, action) => {
|
24
24
|
switch (action.type) {
|
25
25
|
case exports.SHOW_NOTIFICATION:
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
26
|
+
const notification = action.notification;
|
27
|
+
if (lodash_1.some(state, { id: notification.id })) {
|
28
|
+
// replace notification if notification with same id already exists
|
29
|
+
return state.map(_notification => notification.id === _notification.id ? notification : _notification);
|
30
|
+
}
|
31
|
+
else {
|
32
|
+
// append notification to state
|
33
|
+
return [...state, action.notification,];
|
34
|
+
}
|
30
35
|
case exports.REMOVE_NOTIFICATION:
|
31
36
|
return state.filter(m => m.id !== action.id);
|
32
37
|
default:
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"notifications.js","sourceRoot":"","sources":["../../../src/reducers/notifications.tsx"],"names":[],"mappings":";;;AAAA,
|
1
|
+
{"version":3,"file":"notifications.js","sourceRoot":"","sources":["../../../src/reducers/notifications.tsx"],"names":[],"mappings":";;;AAAA,mCAAgE;AAEnD,QAAA,iBAAiB,GAAG,mBAAmB,CAAC;AACxC,QAAA,mBAAmB,GAAG,qBAAqB,CAAC;AAsCzD;;;;GAIG;AACI,MAAM,gBAAgB,GAAG,CAAC,YAA0B,EAAC,EAAE,CAAA,CAAC;IAC3D,IAAI,EAAE,yBAAiB;IACvB,YAAY,EAAE,iBAAQ,CAAC,YAAY,EAAE,EAAC,EAAE,EAAE,eAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC;CACnJ,CAAC,CAAC;AAHU,QAAA,gBAAgB,oBAG1B;AAEI,MAAM,kBAAkB,GAAG,CAAC,EAAE,EAAC,EAAE,CAAA,CAAC;IACrC,IAAI,EAAE,2BAAmB;IACzB,EAAE;CACL,CAAC,CAAC;AAHU,QAAA,kBAAkB,sBAG5B;AAEH,IAAI,YAAY,GAAuB,EAAE,CAAC;AAE1C,kBAAe,CAAC,QAA6B,YAAY,EAAE,MAAM,EAAC,EAAE;IAChE,QAAQ,MAAM,CAAC,IAAI,EAAE;QACjB,KAAK,yBAAiB;YAClB,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;YACzC,IAAG,aAAI,CAAC,KAAK,EAAE,EAAC,EAAE,EAAE,YAAY,CAAC,EAAE,EAAC,CAAC,EAAC;gBAClC,mEAAmE;gBACnE,OAAO,KAAK,CAAC,GAAG,CAAC,aAAa,CAAA,EAAE,CAAC,YAAY,CAAC,EAAE,KAAK,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,CAAE,CAAA;aACzG;iBAAM;gBACH,+BAA+B;gBAC/B,OAAO,CAAC,GAAG,KAAK,EAAE,MAAM,CAAC,YAAY,EAAE,CAAA;aAC1C;QACL,KAAK,2BAAmB;YACpB,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA,EAAE,CAAA,CAAC,CAAC,EAAE,KAAG,MAAM,CAAC,EAAE,CAAC,CAAC;QAC7C;YACI,OAAO,KAAK,CAAC;KACpB;AACL,CAAC,CAAA"}
|