@evlop/commons 1.0.119 → 1.0.122
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/src/data-sources/scopeDataSource.d.ts.map +1 -1
- package/dist/src/data-sources/scopeDataSource.js +1 -14
- package/dist/src/data-sources/scopeDataSource.js.map +1 -1
- 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/hooks/useDataSource.d.ts +4 -2
- package/dist/src/hooks/useDataSource.d.ts.map +1 -1
- package/dist/src/hooks/useDataSource.js +25 -20
- package/dist/src/hooks/useDataSource.js.map +1 -1
- package/dist/src/reducers/index.d.ts +2 -0
- package/dist/src/reducers/index.d.ts.map +1 -1
- package/dist/src/reducers/index.js +3 -0
- package/dist/src/reducers/index.js.map +1 -1
- package/dist/src/reducers/notifications.d.ts +58 -0
- package/dist/src/reducers/notifications.d.ts.map +1 -0
- package/dist/src/reducers/notifications.js +41 -0
- package/dist/src/reducers/notifications.js.map +1 -0
- package/package.json +1 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"scopeDataSource.d.ts","sourceRoot":"","sources":["../../../src/data-sources/scopeDataSource.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;
|
1
|
+
{"version":3,"file":"scopeDataSource.d.ts","sourceRoot":"","sources":["../../../src/data-sources/scopeDataSource.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG1C,QAAA,MAAM,eAAe,EAAE,WAEtB,CAAC;AAWF,eAAe,eAAe,CAAC"}
|
@@ -1,23 +1,10 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
const lodash_1 = require("lodash");
|
4
|
-
const uuid_1 = require("uuid");
|
5
|
-
const constants_1 = require("../constants");
|
6
4
|
const scopeDataSource = (options, { scope }) => {
|
7
5
|
return lodash_1.get(scope, lodash_1.get(options, 'path'));
|
8
6
|
};
|
9
|
-
scopeDataSource.keyExtractor = (
|
10
|
-
const path = lodash_1.get(options, 'path', '');
|
11
|
-
const scopeValue = lodash_1.get(scope, lodash_1.get(options, 'path'));
|
12
|
-
return uuid_1.v5([
|
13
|
-
path,
|
14
|
-
JSON.stringify(scopeValue),
|
15
|
-
// to detect change in collection
|
16
|
-
lodash_1.get(scopeValue, 'page', ''),
|
17
|
-
lodash_1.get(scopeValue, 'isLoading', ''),
|
18
|
-
lodash_1.get(scopeValue, 'hasMore', ''),
|
19
|
-
].join(':'), constants_1.DATA_SOURCE_KEY_NAMESPACE);
|
20
|
-
};
|
7
|
+
scopeDataSource.keyExtractor = () => 'scope';
|
21
8
|
scopeDataSource.displayName = 'Scope';
|
22
9
|
scopeDataSource.identifier = 'scope';
|
23
10
|
scopeDataSource.type = 'Object';
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"scopeDataSource.js","sourceRoot":"","sources":["../../../src/data-sources/scopeDataSource.ts"],"names":[],"mappings":";;AAAA,mCAA6B;
|
1
|
+
{"version":3,"file":"scopeDataSource.js","sourceRoot":"","sources":["../../../src/data-sources/scopeDataSource.ts"],"names":[],"mappings":";;AAAA,mCAA6B;AAI7B,MAAM,eAAe,GAAgB,CAAC,OAAO,EAAE,EAAC,KAAK,EAAC,EAAC,EAAE;IACjD,OAAO,YAAG,CAAC,KAAK,EAAC,YAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAA;AAC9C,CAAC,CAAC;AAEF,eAAe,CAAC,YAAY,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC;AAC7C,eAAe,CAAC,WAAW,GAAG,OAAO,CAAC;AACtC,eAAe,CAAC,UAAU,GAAG,OAAO,CAAC;AACrC,eAAe,CAAC,IAAI,GAAG,QAAQ,CAAC;AAChC,eAAe,CAAC,oBAAoB,GAAG;IACnC,EAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,EAAG,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAC;CAEjG,CAAC;AAEF,kBAAe,eAAe,CAAC"}
|
@@ -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"}
|
@@ -1,10 +1,12 @@
|
|
1
1
|
import { Collection } from '../classes';
|
2
|
+
declare type DataSourceName = 'static' | 'collection' | 'url' | 'scope' | any;
|
2
3
|
interface DataSourceOptions {
|
3
|
-
type
|
4
|
-
|
4
|
+
type?: DataSourceName;
|
5
|
+
memoize?: boolean;
|
5
6
|
params?: string;
|
6
7
|
transformer?: string;
|
7
8
|
data?: Object;
|
9
|
+
[key: string]: any;
|
8
10
|
}
|
9
11
|
declare type Data = Collection | Object;
|
10
12
|
export declare const useDataSource: (source: string | DataSourceOptions, options?: DataSourceOptions) => Data;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useDataSource.d.ts","sourceRoot":"","sources":["../../../src/hooks/useDataSource.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;
|
1
|
+
{"version":3,"file":"useDataSource.d.ts","sourceRoot":"","sources":["../../../src/hooks/useDataSource.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAKxC,aAAK,cAAc,GAAG,QAAQ,GAAG,YAAY,GAAG,KAAK,GAAG,OAAO,GAAG,GAAG,CAAC;AACtE,UAAU,iBAAiB;IACvB,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAE;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,CAAC,GAAG,EAAC,MAAM,GAAG,GAAG,CAAC;CACrB;AAED,aAAK,IAAI,GAAG,UAAU,GAAG,MAAM,CAAC;AAIhC,eAAO,MAAM,aAAa,WAAa,MAAM,GAAG,iBAAiB,YAAa,iBAAiB,KAAI,IA4GlG,CAAC"}
|
@@ -11,30 +11,27 @@ const classes_1 = require("../classes");
|
|
11
11
|
const reducers_1 = require("../reducers");
|
12
12
|
const useScope_1 = require("./useScope");
|
13
13
|
const useTemplate_1 = __importDefault(require("./useTemplate"));
|
14
|
+
const defaultDatasourceOptions = { memoize: true };
|
14
15
|
const useDataSource = (source, options) => {
|
15
16
|
const dispatch = react_redux_1.useDispatch();
|
16
17
|
const template = useTemplate_1.default();
|
17
18
|
const scope = useScope_1.useScope();
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
}
|
19
|
+
const { dataSourceName, options: _dataSourceOptions } = react_1.useMemo(() => {
|
20
|
+
if (typeof source === 'object') {
|
21
|
+
return { dataSourceName: source.type, options: lodash_1.defaults(lodash_1.omit(source, ['type']), defaultDatasourceOptions) };
|
22
|
+
}
|
23
|
+
else {
|
24
|
+
return { dataSourceName: source, options: lodash_1.defaults(options, defaultDatasourceOptions) };
|
25
|
+
}
|
26
|
+
}, [source, options]);
|
27
27
|
const dataSource = react_redux_1.useSelector(state => state.dataSource.dataSources[dataSourceName]);
|
28
|
-
|
28
|
+
// prepare datasource options by filling values from scope using template
|
29
|
+
const dataSourceOptions = react_1.useMemo(() => {
|
29
30
|
const paramNames = lodash_1.sortedUniq(lodash_1.map(lodash_1.get(dataSource, 'configurationOptions'), 'name'));
|
30
31
|
const templatedValues = lodash_1.reduce(paramNames, (acc, paramName) => (Object.assign(Object.assign({}, acc), { [paramName]: template(lodash_1.get(_dataSourceOptions, paramName)) })), {});
|
31
|
-
|
32
|
-
// to refresh value when scope changes for scoope data source
|
33
|
-
if (dataSourceName === 'scope' && templatedValues['path']) {
|
34
|
-
dependencies.push(lodash_1.get(scope, templatedValues['path']));
|
35
|
-
}
|
36
|
-
return { dependencies, dataSourceOptions: lodash_1.defaults(templatedValues, _dataSourceOptions) };
|
32
|
+
return lodash_1.defaults(templatedValues, _dataSourceOptions);
|
37
33
|
}, [scope, template, dataSourceName, dataSource, _dataSourceOptions]);
|
34
|
+
const { memoize } = dataSourceOptions;
|
38
35
|
const key = dataSource && dataSource.keyExtractor(dataSourceOptions, { scope, dispatch });
|
39
36
|
const currentValue = react_redux_1.useSelector(state => state.dataSource.data[key]);
|
40
37
|
const loadData = react_1.useCallback((params) => {
|
@@ -77,11 +74,15 @@ const useDataSource = (source, options) => {
|
|
77
74
|
});
|
78
75
|
}, [loadData, dataSourceOptions, scope, key]);
|
79
76
|
react_1.useEffect(() => {
|
80
|
-
if (
|
77
|
+
if (dataSourceName === 'scope')
|
78
|
+
return;
|
79
|
+
if (!currentValue || !memoize) {
|
81
80
|
loadData();
|
82
81
|
}
|
83
|
-
}, [key]);
|
84
|
-
|
82
|
+
}, [dataSourceName, key, memoize]);
|
83
|
+
const value = react_1.useMemo(() => {
|
84
|
+
if (dataSourceName === 'scope')
|
85
|
+
return;
|
85
86
|
if (lodash_1.get(dataSource, 'type') === 'Array') {
|
86
87
|
let items = lodash_1.get(currentValue, 'items');
|
87
88
|
items = Array.isArray(items) ? items : [];
|
@@ -102,7 +103,11 @@ const useDataSource = (source, options) => {
|
|
102
103
|
});
|
103
104
|
}
|
104
105
|
return currentValue || { isLoading: true };
|
105
|
-
}, [currentValue, dataSource]);
|
106
|
+
}, [dataSourceName, currentValue, dataSource]);
|
107
|
+
if (dataSourceName === 'scope') {
|
108
|
+
return lodash_1.get(scope, dataSourceOptions.path);
|
109
|
+
}
|
110
|
+
return value;
|
106
111
|
};
|
107
112
|
exports.useDataSource = useDataSource;
|
108
113
|
//# sourceMappingURL=useDataSource.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useDataSource.js","sourceRoot":"","sources":["../../../src/hooks/useDataSource.tsx"],"names":[],"mappings":";;;;;;AAAA,mCAAiG;AACjG,iCAAwD;AACxD,6CAAuD;AACvD,wCAAwC;AACxC,0CAAmK;AACnK,yCAAsC;AACtC,gEAAwC;
|
1
|
+
{"version":3,"file":"useDataSource.js","sourceRoot":"","sources":["../../../src/hooks/useDataSource.tsx"],"names":[],"mappings":"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"}
|
@@ -34,6 +34,7 @@ export declare const reducers: {
|
|
34
34
|
};
|
35
35
|
routes: (state: any, action: any) => any;
|
36
36
|
modals: (state: any, action: any) => any;
|
37
|
+
notifications: (state: import("./notifications").Notification[], action: any) => any[];
|
37
38
|
files: (state: any, action: any) => any;
|
38
39
|
};
|
39
40
|
export * from './adminMenus';
|
@@ -47,6 +48,7 @@ export * from './fonts';
|
|
47
48
|
export * from './pages';
|
48
49
|
export * from './icons';
|
49
50
|
export * from './modals';
|
51
|
+
export * from './notifications';
|
50
52
|
export * from './routes';
|
51
53
|
export * from './user';
|
52
54
|
export default reducers;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/reducers/index.tsx"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/reducers/index.tsx"],"names":[],"mappings":"AAmBA,eAAO,MAAM,eAAe,KAAyB,CAAC;AACtD,eAAO,MAAM,iBAAiB,KAA2B,CAAC;AAC1D,eAAO,MAAM,qBAAqB,KAAgC,CAAC;AACnE,eAAO,MAAM,eAAe,KAAyB,CAAC;AACtD,eAAO,MAAM,iBAAiB,KAA2B,CAAC;AAC1D,eAAO,MAAM,gBAAgB,KAA2B,CAAC;AAEzD,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoBpB,CAAC;AAEF,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AAEvB,eAAe,QAAQ,CAAC"}
|
@@ -23,6 +23,7 @@ const user_1 = __importDefault(require("./user"));
|
|
23
23
|
const routes_1 = __importDefault(require("./routes"));
|
24
24
|
const icons_1 = __importDefault(require("./icons"));
|
25
25
|
const modals_1 = __importDefault(require("./modals"));
|
26
|
+
const notifications_1 = __importDefault(require("./notifications"));
|
26
27
|
const files_1 = __importDefault(require("./files"));
|
27
28
|
const fonts_1 = __importDefault(require("./fonts"));
|
28
29
|
const pages_1 = __importDefault(require("./pages"));
|
@@ -54,6 +55,7 @@ exports.reducers = {
|
|
54
55
|
config: config_1.default,
|
55
56
|
routes: routes_1.default,
|
56
57
|
modals: modals_1.default,
|
58
|
+
notifications: notifications_1.default,
|
57
59
|
files: files_1.default,
|
58
60
|
};
|
59
61
|
__exportStar(require("./adminMenus"), exports);
|
@@ -67,6 +69,7 @@ __exportStar(require("./fonts"), exports);
|
|
67
69
|
__exportStar(require("./pages"), exports);
|
68
70
|
__exportStar(require("./icons"), exports);
|
69
71
|
__exportStar(require("./modals"), exports);
|
72
|
+
__exportStar(require("./notifications"), exports);
|
70
73
|
__exportStar(require("./routes"), exports);
|
71
74
|
__exportStar(require("./user"), exports);
|
72
75
|
exports.default = exports.reducers;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/reducers/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAkD;AAClD,qDAAuD;AACvD,sDAA8B;AAC9B,8DAAsC;AACtC,wDAAgC;AAChC,kDAA0B;AAC1B,sDAA8B;AAC9B,oDAA4B;AAC5B,sDAA8B;AAC9B,oDAA4B;AAC5B,oDAA4B;AAC5B,oDAA4B;AAC5B,8DAAsC;AACtC,8DAAsC;AACtC,8DAAsC;AAEtC,MAAM,cAAc,GAAG,8BAAiB,CAAC;AAE5B,QAAA,eAAe,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;AACzC,QAAA,iBAAiB,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;AAC7C,QAAA,qBAAqB,GAAG,cAAc,CAAC,aAAa,CAAC,CAAC;AACtD,QAAA,eAAe,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;AACzC,QAAA,iBAAiB,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;AAC7C,QAAA,gBAAgB,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;AAE5C,QAAA,QAAQ,GAAG;IACpB,KAAK,EAAL,eAAK;IACL,KAAK,EAAE,uBAAe,CAAC,OAAO;IAC9B,OAAO,EAAE,yBAAiB,CAAC,OAAO;IAClC,OAAO,EAAE,wBAAgB,CAAC,OAAO;IACjC,OAAO,EAAE,yBAAiB,CAAC,OAAO;IAClC,UAAU,EAAV,oBAAU;IACV,IAAI,EAAE,oBAAW;IACjB,IAAI,EAAJ,cAAI;IACJ,OAAO,EAAP,iBAAO;IACP,UAAU,EAAV,oBAAU;IACV,UAAU,EAAV,oBAAU;IACV,UAAU,EAAV,oBAAU;IACV,KAAK,EAAL,eAAK;IACL,KAAK,EAAL,eAAK;IACL,MAAM,EAAN,gBAAM;IACN,MAAM,EAAN,gBAAM;IACN,MAAM,EAAN,gBAAM;IACN,KAAK,EAAL,eAAK;CACR,CAAC;AAEF,+CAA6B;AAC7B,+CAA6B;AAC7B,+CAA6B;AAC7B,+CAA6B;AAC7B,2CAAyB;AACzB,4CAA0B;AAC1B,0CAAwB;AACxB,0CAAwB;AACxB,0CAAwB;AACxB,0CAAwB;AACxB,2CAAyB;AACzB,2CAAyB;AACzB,yCAAuB;AAEvB,kBAAe,gBAAQ,CAAC"}
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/reducers/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAkD;AAClD,qDAAuD;AACvD,sDAA8B;AAC9B,8DAAsC;AACtC,wDAAgC;AAChC,kDAA0B;AAC1B,sDAA8B;AAC9B,oDAA4B;AAC5B,sDAA8B;AAC9B,oEAA4C;AAC5C,oDAA4B;AAC5B,oDAA4B;AAC5B,oDAA4B;AAC5B,8DAAsC;AACtC,8DAAsC;AACtC,8DAAsC;AAEtC,MAAM,cAAc,GAAG,8BAAiB,CAAC;AAE5B,QAAA,eAAe,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;AACzC,QAAA,iBAAiB,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;AAC7C,QAAA,qBAAqB,GAAG,cAAc,CAAC,aAAa,CAAC,CAAC;AACtD,QAAA,eAAe,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;AACzC,QAAA,iBAAiB,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;AAC7C,QAAA,gBAAgB,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;AAE5C,QAAA,QAAQ,GAAG;IACpB,KAAK,EAAL,eAAK;IACL,KAAK,EAAE,uBAAe,CAAC,OAAO;IAC9B,OAAO,EAAE,yBAAiB,CAAC,OAAO;IAClC,OAAO,EAAE,wBAAgB,CAAC,OAAO;IACjC,OAAO,EAAE,yBAAiB,CAAC,OAAO;IAClC,UAAU,EAAV,oBAAU;IACV,IAAI,EAAE,oBAAW;IACjB,IAAI,EAAJ,cAAI;IACJ,OAAO,EAAP,iBAAO;IACP,UAAU,EAAV,oBAAU;IACV,UAAU,EAAV,oBAAU;IACV,UAAU,EAAV,oBAAU;IACV,KAAK,EAAL,eAAK;IACL,KAAK,EAAL,eAAK;IACL,MAAM,EAAN,gBAAM;IACN,MAAM,EAAN,gBAAM;IACN,MAAM,EAAN,gBAAM;IACN,aAAa,EAAb,uBAAa;IACb,KAAK,EAAL,eAAK;CACR,CAAC;AAEF,+CAA6B;AAC7B,+CAA6B;AAC7B,+CAA6B;AAC7B,+CAA6B;AAC7B,2CAAyB;AACzB,4CAA0B;AAC1B,0CAAwB;AACxB,0CAAwB;AACxB,0CAAwB;AACxB,0CAAwB;AACxB,2CAAyB;AACzB,kDAAgC;AAChC,2CAAyB;AACzB,yCAAuB;AAEvB,kBAAe,gBAAQ,CAAC"}
|
@@ -0,0 +1,58 @@
|
|
1
|
+
export declare const SHOW_NOTIFICATION = "notification/show";
|
2
|
+
export declare const REMOVE_NOTIFICATION = "notification/remove";
|
3
|
+
export interface Notification {
|
4
|
+
/**
|
5
|
+
* @description notification id
|
6
|
+
*/
|
7
|
+
id?: string;
|
8
|
+
/**
|
9
|
+
* @description notification title
|
10
|
+
*/
|
11
|
+
title: string;
|
12
|
+
/**
|
13
|
+
* @description notification message
|
14
|
+
*/
|
15
|
+
message?: string;
|
16
|
+
type?: 'info' | 'success' | 'error' | 'warning';
|
17
|
+
/**
|
18
|
+
* @description icon for notification
|
19
|
+
*/
|
20
|
+
icon?: string;
|
21
|
+
/**
|
22
|
+
* @description where should the notification be displayed
|
23
|
+
*/
|
24
|
+
position: 'top' | 'top-right' | 'bottom-right' | 'bottom' | 'bottom-left' | 'top-left';
|
25
|
+
/**
|
26
|
+
* Action buttons for notification
|
27
|
+
*/
|
28
|
+
buttons?: Array<{
|
29
|
+
title: string;
|
30
|
+
action: any;
|
31
|
+
}>;
|
32
|
+
/**
|
33
|
+
* @description for how long should the notification be displayed (in millisseconds)
|
34
|
+
* @default 5000
|
35
|
+
*/
|
36
|
+
timeout: number;
|
37
|
+
}
|
38
|
+
/**
|
39
|
+
* @description show in-app notification to user
|
40
|
+
* @param notification notification tp be displayed
|
41
|
+
* @returns redux action to show notification
|
42
|
+
*/
|
43
|
+
export declare const showNotification: (notification: Notification) => {
|
44
|
+
type: string;
|
45
|
+
notification: {
|
46
|
+
id: string;
|
47
|
+
timeout: number;
|
48
|
+
type: string;
|
49
|
+
position: string;
|
50
|
+
} & Notification;
|
51
|
+
};
|
52
|
+
export declare const removeNotification: (id: any) => {
|
53
|
+
type: string;
|
54
|
+
id: any;
|
55
|
+
};
|
56
|
+
declare const _default: (state: Array<Notification>, action: any) => any[];
|
57
|
+
export default _default;
|
58
|
+
//# sourceMappingURL=notifications.d.ts.map
|
@@ -0,0 +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,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"}
|
@@ -0,0 +1,41 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.removeNotification = exports.showNotification = exports.REMOVE_NOTIFICATION = exports.SHOW_NOTIFICATION = void 0;
|
4
|
+
const lodash_1 = require("lodash");
|
5
|
+
exports.SHOW_NOTIFICATION = 'notification/show';
|
6
|
+
exports.REMOVE_NOTIFICATION = 'notification/remove';
|
7
|
+
/**
|
8
|
+
* @description show in-app notification to user
|
9
|
+
* @param notification notification tp be displayed
|
10
|
+
* @returns redux action to show notification
|
11
|
+
*/
|
12
|
+
const showNotification = (notification) => ({
|
13
|
+
type: exports.SHOW_NOTIFICATION,
|
14
|
+
notification: lodash_1.defaults(notification, { id: lodash_1.random(Number.MAX_SAFE_INTEGER).toString(36), timeout: 5000, type: 'info', position: 'bottom-right' }),
|
15
|
+
});
|
16
|
+
exports.showNotification = showNotification;
|
17
|
+
const removeNotification = (id) => ({
|
18
|
+
type: exports.REMOVE_NOTIFICATION,
|
19
|
+
id,
|
20
|
+
});
|
21
|
+
exports.removeNotification = removeNotification;
|
22
|
+
let initialState = [];
|
23
|
+
exports.default = (state = initialState, action) => {
|
24
|
+
switch (action.type) {
|
25
|
+
case exports.SHOW_NOTIFICATION:
|
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
|
+
}
|
35
|
+
case exports.REMOVE_NOTIFICATION:
|
36
|
+
return state.filter(m => m.id !== action.id);
|
37
|
+
default:
|
38
|
+
return state;
|
39
|
+
}
|
40
|
+
};
|
41
|
+
//# sourceMappingURL=notifications.js.map
|
@@ -0,0 +1 @@
|
|
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"}
|