@bigbinary/neeto-commons-frontend 4.13.83 → 4.13.84
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/README.md +2 -1
- package/dist/cjs/react-utils/index.js +6 -0
- package/dist/cjs/react-utils/index.js.map +1 -1
- package/dist/cjs/react-utils/useColumnConfig/api.js +22 -0
- package/dist/cjs/react-utils/useColumnConfig/api.js.map +1 -0
- package/dist/cjs/react-utils/useColumnConfig/constants.js +8 -0
- package/dist/cjs/react-utils/useColumnConfig/constants.js.map +1 -0
- package/dist/cjs/react-utils/useColumnConfig/index.js +20 -0
- package/dist/cjs/react-utils/useColumnConfig/index.js.map +1 -0
- package/dist/cjs/react-utils/useColumnConfig/useColumnConfig.js +51 -0
- package/dist/cjs/react-utils/useColumnConfig/useColumnConfig.js.map +1 -0
- package/dist/cjs/react-utils/useColumnConfig/useConfigApi.js +32 -0
- package/dist/cjs/react-utils/useColumnConfig/useConfigApi.js.map +1 -0
- package/dist/cjs/react-utils/useColumnConfig/utils.js +29 -0
- package/dist/cjs/react-utils/useColumnConfig/utils.js.map +1 -0
- package/dist/react-utils/index.js +5 -0
- package/dist/react-utils/index.js.map +1 -1
- package/dist/react-utils/useColumnConfig/api.js +20 -0
- package/dist/react-utils/useColumnConfig/api.js.map +1 -0
- package/dist/react-utils/useColumnConfig/constants.js +5 -0
- package/dist/react-utils/useColumnConfig/constants.js.map +1 -0
- package/dist/react-utils/useColumnConfig/index.js +14 -0
- package/dist/react-utils/useColumnConfig/index.js.map +1 -0
- package/dist/react-utils/useColumnConfig/useColumnConfig.js +49 -0
- package/dist/react-utils/useColumnConfig/useColumnConfig.js.map +1 -0
- package/dist/react-utils/useColumnConfig/useConfigApi.js +29 -0
- package/dist/react-utils/useColumnConfig/useConfigApi.js.map +1 -0
- package/dist/react-utils/useColumnConfig/utils.js +26 -0
- package/dist/react-utils/useColumnConfig/utils.js.map +1 -0
- package/package.json +1 -1
- package/react-utils.d.ts +84 -0
package/README.md
CHANGED
|
@@ -69,6 +69,7 @@ React utilities [↗](./docs/react/README.md)
|
|
|
69
69
|
- [useStateWithDependency](./docs/react/hooks/useStateWithDependency.md)
|
|
70
70
|
- [useQueryParams](./docs/react/hooks/useQueryParams.md)
|
|
71
71
|
- [useBreakpoints](./docs/react/hooks/useBreakpoints.md)
|
|
72
|
+
- [useColumnConfig](./docs/react/hooks/useColumnConfig.md)
|
|
72
73
|
- [PrivateRoute](./docs/react/components/PrivateRoute.md)
|
|
73
74
|
- [AppContainer](./docs/react/components/AppContainer.md)
|
|
74
75
|
- [QueryClientProvider](./docs/react/components/QueryClientProvider.md)
|
|
@@ -176,7 +177,7 @@ them to read more:
|
|
|
176
177
|
2. [React utilities](./docs/react/README.md)
|
|
177
178
|
3. [Web utility functions](./docs/utils/README.md)
|
|
178
179
|
4. [Default configurations](./docs/configs/README.md)
|
|
179
|
-
|
|
180
|
+
5. [Common constants](./docs/constants#common-constants)
|
|
180
181
|
|
|
181
182
|
## Other references
|
|
182
183
|
|
|
@@ -22,6 +22,7 @@ var reactUtils_useTimer_useTimer = require('./useTimer/useTimer.js');
|
|
|
22
22
|
var reactUtils_useUpdateEffect_useUpdateEffect = require('./useUpdateEffect/useUpdateEffect.js');
|
|
23
23
|
var reactUtils_useBreakpoints_index = require('./useBreakpoints/index.js');
|
|
24
24
|
var reactUtils_useRestoreScrollPosition_useRestoreScrollPosition = require('./useRestoreScrollPosition/useRestoreScrollPosition.js');
|
|
25
|
+
var reactUtils_useColumnConfig_useColumnConfig = require('./useColumnConfig/useColumnConfig.js');
|
|
25
26
|
var reactUtils_BrowserPushNotifications_pushHelper = require('./BrowserPushNotifications/pushHelper.js');
|
|
26
27
|
var reactUtils_metaClick_metaClick = require('./metaClick/metaClick.js');
|
|
27
28
|
var reactUtils_withImmutableActions_withImmutableActions = require('./withImmutableActions/withImmutableActions.js');
|
|
@@ -75,6 +76,10 @@ require('@bigbinary/neeto-time-zones');
|
|
|
75
76
|
require('ua-parser-js');
|
|
76
77
|
require('@tanstack/react-query');
|
|
77
78
|
require('./useBreakpoints/utils.js');
|
|
79
|
+
require('./useColumnConfig/useConfigApi.js');
|
|
80
|
+
require('./useColumnConfig/api.js');
|
|
81
|
+
require('./useColumnConfig/constants.js');
|
|
82
|
+
require('./useColumnConfig/utils.js');
|
|
78
83
|
require('./BrowserPushNotifications/devices.js');
|
|
79
84
|
require('./BrowserPushNotifications/registerServiceWorker.js');
|
|
80
85
|
require('../constants/index.js');
|
|
@@ -114,6 +119,7 @@ exports.useGetScrollPosition = reactUtils_useRestoreScrollPosition_useRestoreScr
|
|
|
114
119
|
exports.useRemoveScrollPosition = reactUtils_useRestoreScrollPosition_useRestoreScrollPosition.useRemoveScrollPosition;
|
|
115
120
|
exports.useRestoreScrollPosition = reactUtils_useRestoreScrollPosition_useRestoreScrollPosition.default;
|
|
116
121
|
exports.useSetScrollPosition = reactUtils_useRestoreScrollPosition_useRestoreScrollPosition.useSetScrollPosition;
|
|
122
|
+
exports.useColumnConfig = reactUtils_useColumnConfig_useColumnConfig;
|
|
117
123
|
exports.destroyBrowserSubscription = reactUtils_BrowserPushNotifications_pushHelper.destroyBrowserSubscription;
|
|
118
124
|
exports.registerBrowserNotifications = reactUtils_BrowserPushNotifications_pushHelper.registerBrowserNotifications;
|
|
119
125
|
exports.handleMetaClick = reactUtils_metaClick_metaClick.handleMetaClick;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var axios = require('axios');
|
|
4
|
+
|
|
5
|
+
var baseUrl = "api/v1/table_configurations";
|
|
6
|
+
var fetch = function fetch(tableKey) {
|
|
7
|
+
return axios.get("".concat(baseUrl, "/").concat(tableKey));
|
|
8
|
+
};
|
|
9
|
+
var update = function update(_ref) {
|
|
10
|
+
var tableKey = _ref.tableKey,
|
|
11
|
+
payload = _ref.payload;
|
|
12
|
+
return axios.patch("".concat(baseUrl, "/").concat(tableKey), {
|
|
13
|
+
tableConfiguration: payload
|
|
14
|
+
});
|
|
15
|
+
};
|
|
16
|
+
var configApi = {
|
|
17
|
+
fetch: fetch,
|
|
18
|
+
update: update
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
module.exports = configApi;
|
|
22
|
+
//# sourceMappingURL=api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.js","sources":["../../../../src/react-utils/useColumnConfig/api.js"],"sourcesContent":["import axios from \"axios\";\n\nconst baseUrl = \"api/v1/table_configurations\";\n\nconst fetch = tableKey => axios.get(`${baseUrl}/${tableKey}`);\n\nconst update = ({ tableKey, payload }) =>\n axios.patch(`${baseUrl}/${tableKey}`, { tableConfiguration: payload });\n\nconst configApi = { fetch, update };\n\nexport default configApi;\n"],"names":["baseUrl","fetch","tableKey","axios","get","concat","update","_ref","payload","patch","tableConfiguration","configApi"],"mappings":";;;;AAEA,IAAMA,OAAO,GAAG,6BAA6B;AAE7C,IAAMC,KAAK,GAAG,SAARA,KAAKA,CAAGC,QAAQ,EAAA;AAAA,EAAA,OAAIC,KAAK,CAACC,GAAG,CAAA,EAAA,CAAAC,MAAA,CAAIL,OAAO,EAAA,GAAA,CAAA,CAAAK,MAAA,CAAIH,QAAQ,CAAE,CAAC;AAAA,CAAA;AAE7D,IAAMI,MAAM,GAAG,SAATA,MAAMA,CAAAC,IAAA,EAAA;AAAA,EAAA,IAAML,QAAQ,GAAAK,IAAA,CAARL,QAAQ;IAAEM,OAAO,GAAAD,IAAA,CAAPC,OAAO;EAAA,OACjCL,KAAK,CAACM,KAAK,CAAAJ,EAAAA,CAAAA,MAAA,CAAIL,OAAO,EAAAK,GAAAA,CAAAA,CAAAA,MAAA,CAAIH,QAAQ,CAAI,EAAA;AAAEQ,IAAAA,kBAAkB,EAAEF;AAAQ,GAAC,CAAC;AAAA,CAAA;AAExE,IAAMG,SAAS,GAAG;AAAEV,EAAAA,KAAK,EAALA,KAAK;AAAEK,EAAAA,MAAM,EAANA;AAAO;;;;"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var ALLOWED_CONFIG_KEYS = ["key", "isShown", "description"];
|
|
4
|
+
var TABLE_CONFIGURATION_QUERY_KEY = "table-configuration";
|
|
5
|
+
|
|
6
|
+
exports.ALLOWED_CONFIG_KEYS = ALLOWED_CONFIG_KEYS;
|
|
7
|
+
exports.TABLE_CONFIGURATION_QUERY_KEY = TABLE_CONFIGURATION_QUERY_KEY;
|
|
8
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sources":["../../../../src/react-utils/useColumnConfig/constants.js"],"sourcesContent":["export const ALLOWED_CONFIG_KEYS = [\"key\", \"isShown\", \"description\"];\nexport const TABLE_CONFIGURATION_QUERY_KEY = \"table-configuration\";\n"],"names":["ALLOWED_CONFIG_KEYS","TABLE_CONFIGURATION_QUERY_KEY"],"mappings":";;AAAO,IAAMA,mBAAmB,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,aAAa;AAC5D,IAAMC,6BAA6B,GAAG;;;;;"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var reactUtils_useColumnConfig_useColumnConfig = require('./useColumnConfig.js');
|
|
4
|
+
require('react');
|
|
5
|
+
require('./useConfigApi.js');
|
|
6
|
+
require('@tanstack/react-query');
|
|
7
|
+
require('../useMutationWithInvalidation/useMutationWithInvalidation.js');
|
|
8
|
+
require('../../defineProperty-lChFfVqi.js');
|
|
9
|
+
require('../../typeof-D4ZZ_FlZ.js');
|
|
10
|
+
require('../../objectWithoutProperties-wSsbHFcG.js');
|
|
11
|
+
require('ramda');
|
|
12
|
+
require('./api.js');
|
|
13
|
+
require('axios');
|
|
14
|
+
require('./constants.js');
|
|
15
|
+
require('./utils.js');
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
module.exports = reactUtils_useColumnConfig_useColumnConfig;
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var react = require('react');
|
|
4
|
+
var reactUtils_useColumnConfig_useConfigApi = require('./useConfigApi.js');
|
|
5
|
+
var reactUtils_useColumnConfig_utils = require('./utils.js');
|
|
6
|
+
require('@tanstack/react-query');
|
|
7
|
+
require('../useMutationWithInvalidation/useMutationWithInvalidation.js');
|
|
8
|
+
require('../../defineProperty-lChFfVqi.js');
|
|
9
|
+
require('../../typeof-D4ZZ_FlZ.js');
|
|
10
|
+
require('../../objectWithoutProperties-wSsbHFcG.js');
|
|
11
|
+
require('ramda');
|
|
12
|
+
require('./api.js');
|
|
13
|
+
require('axios');
|
|
14
|
+
require('./constants.js');
|
|
15
|
+
|
|
16
|
+
var useColumnConfig = function useColumnConfig(_ref) {
|
|
17
|
+
var tableKey = _ref.tableKey,
|
|
18
|
+
defaultColumnData = _ref.defaultColumnData;
|
|
19
|
+
var _useFetchConfig = reactUtils_useColumnConfig_useConfigApi.useFetchConfig({
|
|
20
|
+
tableKey: tableKey
|
|
21
|
+
}),
|
|
22
|
+
isLoading = _useFetchConfig.isLoading,
|
|
23
|
+
configData = _useFetchConfig.data;
|
|
24
|
+
var _useUpdateConfig = reactUtils_useColumnConfig_useConfigApi.useUpdateConfig({
|
|
25
|
+
tableKey: tableKey
|
|
26
|
+
}),
|
|
27
|
+
updateConfig = _useUpdateConfig.mutate;
|
|
28
|
+
var configuration = configData === null || configData === void 0 ? void 0 : configData.columns;
|
|
29
|
+
var columnData = react.useMemo(function () {
|
|
30
|
+
return reactUtils_useColumnConfig_utils.mergeConfig(defaultColumnData, configuration);
|
|
31
|
+
}, [configuration]);
|
|
32
|
+
var onUpdateColumns = function onUpdateColumns(columnsOrCallback) {
|
|
33
|
+
var columns = typeof columnsOrCallback === "function" ? columnsOrCallback(columnData) : columnsOrCallback;
|
|
34
|
+
var payload = {
|
|
35
|
+
tableKey: tableKey,
|
|
36
|
+
columns: reactUtils_useColumnConfig_utils.packConfig(columns)
|
|
37
|
+
};
|
|
38
|
+
updateConfig({
|
|
39
|
+
tableKey: tableKey,
|
|
40
|
+
payload: payload
|
|
41
|
+
});
|
|
42
|
+
};
|
|
43
|
+
return {
|
|
44
|
+
isLoading: isLoading,
|
|
45
|
+
columnData: columnData,
|
|
46
|
+
onUpdateColumns: onUpdateColumns
|
|
47
|
+
};
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
module.exports = useColumnConfig;
|
|
51
|
+
//# sourceMappingURL=useColumnConfig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useColumnConfig.js","sources":["../../../../src/react-utils/useColumnConfig/useColumnConfig.js"],"sourcesContent":["import { useMemo } from \"react\";\n\nimport { useFetchConfig, useUpdateConfig } from \"./useConfigApi\";\nimport { mergeConfig, packConfig } from \"./utils\";\n\nconst useColumnConfig = ({ tableKey, defaultColumnData }) => {\n const { isLoading, data: configData } = useFetchConfig({ tableKey });\n const { mutate: updateConfig } = useUpdateConfig({ tableKey });\n\n const configuration = configData?.columns;\n const columnData = useMemo(\n () => mergeConfig(defaultColumnData, configuration),\n [configuration]\n );\n\n const onUpdateColumns = columnsOrCallback => {\n const columns =\n typeof columnsOrCallback === \"function\"\n ? columnsOrCallback(columnData)\n : columnsOrCallback;\n const payload = { tableKey, columns: packConfig(columns) };\n updateConfig({ tableKey, payload });\n };\n\n return { isLoading, columnData, onUpdateColumns };\n};\n\nexport default useColumnConfig;\n"],"names":["useColumnConfig","_ref","tableKey","defaultColumnData","_useFetchConfig","useFetchConfig","isLoading","configData","data","_useUpdateConfig","useUpdateConfig","updateConfig","mutate","configuration","columns","columnData","useMemo","mergeConfig","onUpdateColumns","columnsOrCallback","payload","packConfig"],"mappings":";;;;;;;;;;;;;;;AAKA,IAAMA,eAAe,GAAG,SAAlBA,eAAeA,CAAAC,IAAA,EAAwC;AAAA,EAAA,IAAlCC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IAAEC,iBAAiB,GAAAF,IAAA,CAAjBE,iBAAiB;EACpD,IAAAC,eAAA,GAAwCC,sDAAc,CAAC;AAAEH,MAAAA,QAAQ,EAARA;AAAS,KAAC,CAAC;IAA5DI,SAAS,GAAAF,eAAA,CAATE,SAAS;IAAQC,UAAU,GAAAH,eAAA,CAAhBI,IAAI;EACvB,IAAAC,gBAAA,GAAiCC,uDAAe,CAAC;AAAER,MAAAA,QAAQ,EAARA;AAAS,KAAC,CAAC;IAA9CS,YAAY,GAAAF,gBAAA,CAApBG,MAAM;EAEd,IAAMC,aAAa,GAAGN,UAAU,KAAA,IAAA,IAAVA,UAAU,KAAVA,MAAAA,GAAAA,MAAAA,GAAAA,UAAU,CAAEO,OAAO;EACzC,IAAMC,UAAU,GAAGC,aAAO,CACxB,YAAA;AAAA,IAAA,OAAMC,4CAAW,CAACd,iBAAiB,EAAEU,aAAa,CAAC;GACnD,EAAA,CAACA,aAAa,CAChB,CAAC;AAED,EAAA,IAAMK,eAAe,GAAG,SAAlBA,eAAeA,CAAGC,iBAAiB,EAAI;AAC3C,IAAA,IAAML,OAAO,GACX,OAAOK,iBAAiB,KAAK,UAAU,GACnCA,iBAAiB,CAACJ,UAAU,CAAC,GAC7BI,iBAAiB;AACvB,IAAA,IAAMC,OAAO,GAAG;AAAElB,MAAAA,QAAQ,EAARA,QAAQ;MAAEY,OAAO,EAAEO,2CAAU,CAACP,OAAO;KAAG;AAC1DH,IAAAA,YAAY,CAAC;AAAET,MAAAA,QAAQ,EAARA,QAAQ;AAAEkB,MAAAA,OAAO,EAAPA;AAAQ,KAAC,CAAC;GACpC;EAED,OAAO;AAAEd,IAAAA,SAAS,EAATA,SAAS;AAAES,IAAAA,UAAU,EAAVA,UAAU;AAAEG,IAAAA,eAAe,EAAfA;GAAiB;AACnD;;;;"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var reactQuery = require('@tanstack/react-query');
|
|
4
|
+
var reactUtils_useMutationWithInvalidation_useMutationWithInvalidation = require('../useMutationWithInvalidation/useMutationWithInvalidation.js');
|
|
5
|
+
var reactUtils_useColumnConfig_api = require('./api.js');
|
|
6
|
+
var reactUtils_useColumnConfig_constants = require('./constants.js');
|
|
7
|
+
require('../../defineProperty-lChFfVqi.js');
|
|
8
|
+
require('../../typeof-D4ZZ_FlZ.js');
|
|
9
|
+
require('../../objectWithoutProperties-wSsbHFcG.js');
|
|
10
|
+
require('ramda');
|
|
11
|
+
require('axios');
|
|
12
|
+
|
|
13
|
+
var useFetchConfig = function useFetchConfig(_ref) {
|
|
14
|
+
var tableKey = _ref.tableKey;
|
|
15
|
+
return reactQuery.useQuery({
|
|
16
|
+
queryKey: [reactUtils_useColumnConfig_constants.TABLE_CONFIGURATION_QUERY_KEY, tableKey],
|
|
17
|
+
enabled: !!tableKey,
|
|
18
|
+
queryFn: function queryFn() {
|
|
19
|
+
return reactUtils_useColumnConfig_api.fetch(tableKey);
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
var useUpdateConfig = function useUpdateConfig(_ref2) {
|
|
24
|
+
var tableKey = _ref2.tableKey;
|
|
25
|
+
return reactUtils_useMutationWithInvalidation_useMutationWithInvalidation(reactUtils_useColumnConfig_api.update, {
|
|
26
|
+
keysToInvalidate: [[reactUtils_useColumnConfig_constants.TABLE_CONFIGURATION_QUERY_KEY, tableKey]]
|
|
27
|
+
});
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
exports.useFetchConfig = useFetchConfig;
|
|
31
|
+
exports.useUpdateConfig = useUpdateConfig;
|
|
32
|
+
//# sourceMappingURL=useConfigApi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useConfigApi.js","sources":["../../../../src/react-utils/useColumnConfig/useConfigApi.js"],"sourcesContent":["import { useQuery } from \"@tanstack/react-query\";\nimport useMutationWithInvalidation from \"react-utils/useMutationWithInvalidation\";\n\nimport configApi from \"./api\";\nimport { TABLE_CONFIGURATION_QUERY_KEY } from \"./constants\";\n\nconst useFetchConfig = ({ tableKey }) =>\n useQuery({\n queryKey: [TABLE_CONFIGURATION_QUERY_KEY, tableKey],\n enabled: !!tableKey,\n queryFn: () => configApi.fetch(tableKey),\n });\n\nconst useUpdateConfig = ({ tableKey }) =>\n useMutationWithInvalidation(configApi.update, {\n keysToInvalidate: [[TABLE_CONFIGURATION_QUERY_KEY, tableKey]],\n });\n\nexport { useFetchConfig, useUpdateConfig };\n"],"names":["useFetchConfig","_ref","tableKey","useQuery","queryKey","TABLE_CONFIGURATION_QUERY_KEY","enabled","queryFn","configApi","fetch","useUpdateConfig","_ref2","useMutationWithInvalidation","update","keysToInvalidate"],"mappings":";;;;;;;;;;;;AAMA,IAAMA,cAAc,GAAG,SAAjBA,cAAcA,CAAAC,IAAA,EAAA;AAAA,EAAA,IAAMC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;AAAA,EAAA,OAChCC,mBAAQ,CAAC;AACPC,IAAAA,QAAQ,EAAE,CAACC,kEAA6B,EAAEH,QAAQ,CAAC;IACnDI,OAAO,EAAE,CAAC,CAACJ,QAAQ;IACnBK,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,MAAA,OAAQC,8BAAS,CAACC,KAAK,CAACP,QAAQ,CAAC;AAAA;AAC1C,GAAC,CAAC;AAAA;AAEJ,IAAMQ,eAAe,GAAG,SAAlBA,eAAeA,CAAAC,KAAA,EAAA;AAAA,EAAA,IAAMT,QAAQ,GAAAS,KAAA,CAART,QAAQ;AAAA,EAAA,OACjCU,kEAA2B,CAACJ,8BAAS,CAACK,MAAM,EAAE;AAC5CC,IAAAA,gBAAgB,EAAE,CAAC,CAACT,kEAA6B,EAAEH,QAAQ,CAAC;AAC9D,GAAC,CAAC;AAAA;;;;;"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var defineProperty = require('../../defineProperty-lChFfVqi.js');
|
|
4
|
+
var ramda = require('ramda');
|
|
5
|
+
var reactUtils_useColumnConfig_constants = require('./constants.js');
|
|
6
|
+
require('../../typeof-D4ZZ_FlZ.js');
|
|
7
|
+
|
|
8
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
9
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), true).forEach(function (r) { defineProperty._defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
10
|
+
var mergeConfig = function mergeConfig(columnData) {
|
|
11
|
+
var configuration = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
12
|
+
var columnMap = new Map(); // Using Map for correct ordering of columns.
|
|
13
|
+
|
|
14
|
+
configuration.forEach(function (config) {
|
|
15
|
+
columnMap.set(config.key, config);
|
|
16
|
+
});
|
|
17
|
+
columnData.forEach(function (column) {
|
|
18
|
+
var _col$hidden;
|
|
19
|
+
var col = _objectSpread(_objectSpread({}, column), columnMap.get(column.key));
|
|
20
|
+
col.hidden = (_col$hidden = col.hidden) !== null && _col$hidden !== void 0 ? _col$hidden : col.isShown === false;
|
|
21
|
+
columnMap.set(column.key, col);
|
|
22
|
+
});
|
|
23
|
+
return Array.from(columnMap.values());
|
|
24
|
+
};
|
|
25
|
+
var packConfig = ramda.map(ramda.pick(reactUtils_useColumnConfig_constants.ALLOWED_CONFIG_KEYS));
|
|
26
|
+
|
|
27
|
+
exports.mergeConfig = mergeConfig;
|
|
28
|
+
exports.packConfig = packConfig;
|
|
29
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../../../src/react-utils/useColumnConfig/utils.js"],"sourcesContent":["import { map, pick } from \"ramda\";\nimport { ALLOWED_CONFIG_KEYS } from \"./constants\";\n\nexport const mergeConfig = (columnData, configuration = []) => {\n const columnMap = new Map(); // Using Map for correct ordering of columns.\n\n configuration.forEach(config => {\n columnMap.set(config.key, config);\n });\n\n columnData.forEach(column => {\n const col = { ...column, ...columnMap.get(column.key) };\n col.hidden = col.hidden ?? col.isShown === false;\n columnMap.set(column.key, col);\n });\n\n return Array.from(columnMap.values());\n};\n\nexport const packConfig = map(pick(ALLOWED_CONFIG_KEYS));\n"],"names":["mergeConfig","columnData","configuration","arguments","length","undefined","columnMap","Map","forEach","config","set","key","column","_col$hidden","col","_objectSpread","get","hidden","isShown","Array","from","values","packConfig","map","pick","ALLOWED_CONFIG_KEYS"],"mappings":";;;;;;;;;IAGaA,WAAW,GAAG,SAAdA,WAAWA,CAAIC,UAAU,EAAyB;AAAA,EAAA,IAAvBC,aAAa,GAAAC,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG,EAAE;AACxD,EAAA,IAAMG,SAAS,GAAG,IAAIC,GAAG,EAAE,CAAC;;AAE5BL,EAAAA,aAAa,CAACM,OAAO,CAAC,UAAAC,MAAM,EAAI;IAC9BH,SAAS,CAACI,GAAG,CAACD,MAAM,CAACE,GAAG,EAAEF,MAAM,CAAC;AACnC,GAAC,CAAC;AAEFR,EAAAA,UAAU,CAACO,OAAO,CAAC,UAAAI,MAAM,EAAI;AAAA,IAAA,IAAAC,WAAA;AAC3B,IAAA,IAAMC,GAAG,GAAAC,aAAA,CAAAA,aAAA,KAAQH,MAAM,CAAA,EAAKN,SAAS,CAACU,GAAG,CAACJ,MAAM,CAACD,GAAG,CAAC,CAAE;AACvDG,IAAAA,GAAG,CAACG,MAAM,GAAA,CAAAJ,WAAA,GAAGC,GAAG,CAACG,MAAM,MAAAJ,IAAAA,IAAAA,WAAA,cAAAA,WAAA,GAAIC,GAAG,CAACI,OAAO,KAAK,KAAK;IAChDZ,SAAS,CAACI,GAAG,CAACE,MAAM,CAACD,GAAG,EAAEG,GAAG,CAAC;AAChC,GAAC,CAAC;EAEF,OAAOK,KAAK,CAACC,IAAI,CAACd,SAAS,CAACe,MAAM,EAAE,CAAC;AACvC;AAEO,IAAMC,UAAU,GAAGC,SAAG,CAACC,UAAI,CAACC,wDAAmB,CAAC;;;;;"}
|
|
@@ -20,6 +20,7 @@ export { default as useTimer } from './useTimer/useTimer.js';
|
|
|
20
20
|
export { default as useUpdateEffect } from './useUpdateEffect/useUpdateEffect.js';
|
|
21
21
|
export { default as useBreakpoints } from './useBreakpoints/index.js';
|
|
22
22
|
export { useGetScrollPosition, useRemoveScrollPosition, default as useRestoreScrollPosition, useSetScrollPosition } from './useRestoreScrollPosition/useRestoreScrollPosition.js';
|
|
23
|
+
export { default as useColumnConfig } from './useColumnConfig/useColumnConfig.js';
|
|
23
24
|
export { destroyBrowserSubscription, registerBrowserNotifications } from './BrowserPushNotifications/pushHelper.js';
|
|
24
25
|
export { handleMetaClick, isMetaKeyPressed } from './metaClick/metaClick.js';
|
|
25
26
|
export { default as withImmutableActions } from './withImmutableActions/withImmutableActions.js';
|
|
@@ -73,6 +74,10 @@ import '@bigbinary/neeto-time-zones';
|
|
|
73
74
|
import 'ua-parser-js';
|
|
74
75
|
import '@tanstack/react-query';
|
|
75
76
|
import './useBreakpoints/utils.js';
|
|
77
|
+
import './useColumnConfig/useConfigApi.js';
|
|
78
|
+
import './useColumnConfig/api.js';
|
|
79
|
+
import './useColumnConfig/constants.js';
|
|
80
|
+
import './useColumnConfig/utils.js';
|
|
76
81
|
import './BrowserPushNotifications/devices.js';
|
|
77
82
|
import './BrowserPushNotifications/registerServiceWorker.js';
|
|
78
83
|
import '../constants/index.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import axios from 'axios';
|
|
2
|
+
|
|
3
|
+
var baseUrl = "api/v1/table_configurations";
|
|
4
|
+
var fetch = function fetch(tableKey) {
|
|
5
|
+
return axios.get("".concat(baseUrl, "/").concat(tableKey));
|
|
6
|
+
};
|
|
7
|
+
var update = function update(_ref) {
|
|
8
|
+
var tableKey = _ref.tableKey,
|
|
9
|
+
payload = _ref.payload;
|
|
10
|
+
return axios.patch("".concat(baseUrl, "/").concat(tableKey), {
|
|
11
|
+
tableConfiguration: payload
|
|
12
|
+
});
|
|
13
|
+
};
|
|
14
|
+
var configApi = {
|
|
15
|
+
fetch: fetch,
|
|
16
|
+
update: update
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
export { configApi as default };
|
|
20
|
+
//# sourceMappingURL=api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.js","sources":["../../../src/react-utils/useColumnConfig/api.js"],"sourcesContent":["import axios from \"axios\";\n\nconst baseUrl = \"api/v1/table_configurations\";\n\nconst fetch = tableKey => axios.get(`${baseUrl}/${tableKey}`);\n\nconst update = ({ tableKey, payload }) =>\n axios.patch(`${baseUrl}/${tableKey}`, { tableConfiguration: payload });\n\nconst configApi = { fetch, update };\n\nexport default configApi;\n"],"names":["baseUrl","fetch","tableKey","axios","get","concat","update","_ref","payload","patch","tableConfiguration","configApi"],"mappings":";;AAEA,IAAMA,OAAO,GAAG,6BAA6B;AAE7C,IAAMC,KAAK,GAAG,SAARA,KAAKA,CAAGC,QAAQ,EAAA;AAAA,EAAA,OAAIC,KAAK,CAACC,GAAG,CAAA,EAAA,CAAAC,MAAA,CAAIL,OAAO,EAAA,GAAA,CAAA,CAAAK,MAAA,CAAIH,QAAQ,CAAE,CAAC;AAAA,CAAA;AAE7D,IAAMI,MAAM,GAAG,SAATA,MAAMA,CAAAC,IAAA,EAAA;AAAA,EAAA,IAAML,QAAQ,GAAAK,IAAA,CAARL,QAAQ;IAAEM,OAAO,GAAAD,IAAA,CAAPC,OAAO;EAAA,OACjCL,KAAK,CAACM,KAAK,CAAAJ,EAAAA,CAAAA,MAAA,CAAIL,OAAO,EAAAK,GAAAA,CAAAA,CAAAA,MAAA,CAAIH,QAAQ,CAAI,EAAA;AAAEQ,IAAAA,kBAAkB,EAAEF;AAAQ,GAAC,CAAC;AAAA,CAAA;AAExE,IAAMG,SAAS,GAAG;AAAEV,EAAAA,KAAK,EAALA,KAAK;AAAEK,EAAAA,MAAM,EAANA;AAAO;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sources":["../../../src/react-utils/useColumnConfig/constants.js"],"sourcesContent":["export const ALLOWED_CONFIG_KEYS = [\"key\", \"isShown\", \"description\"];\nexport const TABLE_CONFIGURATION_QUERY_KEY = \"table-configuration\";\n"],"names":["ALLOWED_CONFIG_KEYS","TABLE_CONFIGURATION_QUERY_KEY"],"mappings":"AAAO,IAAMA,mBAAmB,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,aAAa;AAC5D,IAAMC,6BAA6B,GAAG;;;;"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export { default } from './useColumnConfig.js';
|
|
2
|
+
import 'react';
|
|
3
|
+
import './useConfigApi.js';
|
|
4
|
+
import '@tanstack/react-query';
|
|
5
|
+
import '../useMutationWithInvalidation/useMutationWithInvalidation.js';
|
|
6
|
+
import '../../defineProperty-CrCYjjU3.js';
|
|
7
|
+
import '../../typeof-D-UKOauR.js';
|
|
8
|
+
import '../../objectWithoutProperties-DN7d1SzH.js';
|
|
9
|
+
import 'ramda';
|
|
10
|
+
import './api.js';
|
|
11
|
+
import 'axios';
|
|
12
|
+
import './constants.js';
|
|
13
|
+
import './utils.js';
|
|
14
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { useMemo } from 'react';
|
|
2
|
+
import { useFetchConfig, useUpdateConfig } from './useConfigApi.js';
|
|
3
|
+
import { mergeConfig, packConfig } from './utils.js';
|
|
4
|
+
import '@tanstack/react-query';
|
|
5
|
+
import '../useMutationWithInvalidation/useMutationWithInvalidation.js';
|
|
6
|
+
import '../../defineProperty-CrCYjjU3.js';
|
|
7
|
+
import '../../typeof-D-UKOauR.js';
|
|
8
|
+
import '../../objectWithoutProperties-DN7d1SzH.js';
|
|
9
|
+
import 'ramda';
|
|
10
|
+
import './api.js';
|
|
11
|
+
import 'axios';
|
|
12
|
+
import './constants.js';
|
|
13
|
+
|
|
14
|
+
var useColumnConfig = function useColumnConfig(_ref) {
|
|
15
|
+
var tableKey = _ref.tableKey,
|
|
16
|
+
defaultColumnData = _ref.defaultColumnData;
|
|
17
|
+
var _useFetchConfig = useFetchConfig({
|
|
18
|
+
tableKey: tableKey
|
|
19
|
+
}),
|
|
20
|
+
isLoading = _useFetchConfig.isLoading,
|
|
21
|
+
configData = _useFetchConfig.data;
|
|
22
|
+
var _useUpdateConfig = useUpdateConfig({
|
|
23
|
+
tableKey: tableKey
|
|
24
|
+
}),
|
|
25
|
+
updateConfig = _useUpdateConfig.mutate;
|
|
26
|
+
var configuration = configData === null || configData === void 0 ? void 0 : configData.columns;
|
|
27
|
+
var columnData = useMemo(function () {
|
|
28
|
+
return mergeConfig(defaultColumnData, configuration);
|
|
29
|
+
}, [configuration]);
|
|
30
|
+
var onUpdateColumns = function onUpdateColumns(columnsOrCallback) {
|
|
31
|
+
var columns = typeof columnsOrCallback === "function" ? columnsOrCallback(columnData) : columnsOrCallback;
|
|
32
|
+
var payload = {
|
|
33
|
+
tableKey: tableKey,
|
|
34
|
+
columns: packConfig(columns)
|
|
35
|
+
};
|
|
36
|
+
updateConfig({
|
|
37
|
+
tableKey: tableKey,
|
|
38
|
+
payload: payload
|
|
39
|
+
});
|
|
40
|
+
};
|
|
41
|
+
return {
|
|
42
|
+
isLoading: isLoading,
|
|
43
|
+
columnData: columnData,
|
|
44
|
+
onUpdateColumns: onUpdateColumns
|
|
45
|
+
};
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
export { useColumnConfig as default };
|
|
49
|
+
//# sourceMappingURL=useColumnConfig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useColumnConfig.js","sources":["../../../src/react-utils/useColumnConfig/useColumnConfig.js"],"sourcesContent":["import { useMemo } from \"react\";\n\nimport { useFetchConfig, useUpdateConfig } from \"./useConfigApi\";\nimport { mergeConfig, packConfig } from \"./utils\";\n\nconst useColumnConfig = ({ tableKey, defaultColumnData }) => {\n const { isLoading, data: configData } = useFetchConfig({ tableKey });\n const { mutate: updateConfig } = useUpdateConfig({ tableKey });\n\n const configuration = configData?.columns;\n const columnData = useMemo(\n () => mergeConfig(defaultColumnData, configuration),\n [configuration]\n );\n\n const onUpdateColumns = columnsOrCallback => {\n const columns =\n typeof columnsOrCallback === \"function\"\n ? columnsOrCallback(columnData)\n : columnsOrCallback;\n const payload = { tableKey, columns: packConfig(columns) };\n updateConfig({ tableKey, payload });\n };\n\n return { isLoading, columnData, onUpdateColumns };\n};\n\nexport default useColumnConfig;\n"],"names":["useColumnConfig","_ref","tableKey","defaultColumnData","_useFetchConfig","useFetchConfig","isLoading","configData","data","_useUpdateConfig","useUpdateConfig","updateConfig","mutate","configuration","columns","columnData","useMemo","mergeConfig","onUpdateColumns","columnsOrCallback","payload","packConfig"],"mappings":";;;;;;;;;;;;;AAKA,IAAMA,eAAe,GAAG,SAAlBA,eAAeA,CAAAC,IAAA,EAAwC;AAAA,EAAA,IAAlCC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IAAEC,iBAAiB,GAAAF,IAAA,CAAjBE,iBAAiB;EACpD,IAAAC,eAAA,GAAwCC,cAAc,CAAC;AAAEH,MAAAA,QAAQ,EAARA;AAAS,KAAC,CAAC;IAA5DI,SAAS,GAAAF,eAAA,CAATE,SAAS;IAAQC,UAAU,GAAAH,eAAA,CAAhBI,IAAI;EACvB,IAAAC,gBAAA,GAAiCC,eAAe,CAAC;AAAER,MAAAA,QAAQ,EAARA;AAAS,KAAC,CAAC;IAA9CS,YAAY,GAAAF,gBAAA,CAApBG,MAAM;EAEd,IAAMC,aAAa,GAAGN,UAAU,KAAA,IAAA,IAAVA,UAAU,KAAVA,MAAAA,GAAAA,MAAAA,GAAAA,UAAU,CAAEO,OAAO;EACzC,IAAMC,UAAU,GAAGC,OAAO,CACxB,YAAA;AAAA,IAAA,OAAMC,WAAW,CAACd,iBAAiB,EAAEU,aAAa,CAAC;GACnD,EAAA,CAACA,aAAa,CAChB,CAAC;AAED,EAAA,IAAMK,eAAe,GAAG,SAAlBA,eAAeA,CAAGC,iBAAiB,EAAI;AAC3C,IAAA,IAAML,OAAO,GACX,OAAOK,iBAAiB,KAAK,UAAU,GACnCA,iBAAiB,CAACJ,UAAU,CAAC,GAC7BI,iBAAiB;AACvB,IAAA,IAAMC,OAAO,GAAG;AAAElB,MAAAA,QAAQ,EAARA,QAAQ;MAAEY,OAAO,EAAEO,UAAU,CAACP,OAAO;KAAG;AAC1DH,IAAAA,YAAY,CAAC;AAAET,MAAAA,QAAQ,EAARA,QAAQ;AAAEkB,MAAAA,OAAO,EAAPA;AAAQ,KAAC,CAAC;GACpC;EAED,OAAO;AAAEd,IAAAA,SAAS,EAATA,SAAS;AAAES,IAAAA,UAAU,EAAVA,UAAU;AAAEG,IAAAA,eAAe,EAAfA;GAAiB;AACnD;;;;"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { useQuery } from '@tanstack/react-query';
|
|
2
|
+
import useMutationWithInvalidation from '../useMutationWithInvalidation/useMutationWithInvalidation.js';
|
|
3
|
+
import configApi from './api.js';
|
|
4
|
+
import { TABLE_CONFIGURATION_QUERY_KEY } from './constants.js';
|
|
5
|
+
import '../../defineProperty-CrCYjjU3.js';
|
|
6
|
+
import '../../typeof-D-UKOauR.js';
|
|
7
|
+
import '../../objectWithoutProperties-DN7d1SzH.js';
|
|
8
|
+
import 'ramda';
|
|
9
|
+
import 'axios';
|
|
10
|
+
|
|
11
|
+
var useFetchConfig = function useFetchConfig(_ref) {
|
|
12
|
+
var tableKey = _ref.tableKey;
|
|
13
|
+
return useQuery({
|
|
14
|
+
queryKey: [TABLE_CONFIGURATION_QUERY_KEY, tableKey],
|
|
15
|
+
enabled: !!tableKey,
|
|
16
|
+
queryFn: function queryFn() {
|
|
17
|
+
return configApi.fetch(tableKey);
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
};
|
|
21
|
+
var useUpdateConfig = function useUpdateConfig(_ref2) {
|
|
22
|
+
var tableKey = _ref2.tableKey;
|
|
23
|
+
return useMutationWithInvalidation(configApi.update, {
|
|
24
|
+
keysToInvalidate: [[TABLE_CONFIGURATION_QUERY_KEY, tableKey]]
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
export { useFetchConfig, useUpdateConfig };
|
|
29
|
+
//# sourceMappingURL=useConfigApi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useConfigApi.js","sources":["../../../src/react-utils/useColumnConfig/useConfigApi.js"],"sourcesContent":["import { useQuery } from \"@tanstack/react-query\";\nimport useMutationWithInvalidation from \"react-utils/useMutationWithInvalidation\";\n\nimport configApi from \"./api\";\nimport { TABLE_CONFIGURATION_QUERY_KEY } from \"./constants\";\n\nconst useFetchConfig = ({ tableKey }) =>\n useQuery({\n queryKey: [TABLE_CONFIGURATION_QUERY_KEY, tableKey],\n enabled: !!tableKey,\n queryFn: () => configApi.fetch(tableKey),\n });\n\nconst useUpdateConfig = ({ tableKey }) =>\n useMutationWithInvalidation(configApi.update, {\n keysToInvalidate: [[TABLE_CONFIGURATION_QUERY_KEY, tableKey]],\n });\n\nexport { useFetchConfig, useUpdateConfig };\n"],"names":["useFetchConfig","_ref","tableKey","useQuery","queryKey","TABLE_CONFIGURATION_QUERY_KEY","enabled","queryFn","configApi","fetch","useUpdateConfig","_ref2","useMutationWithInvalidation","update","keysToInvalidate"],"mappings":";;;;;;;;;;AAMA,IAAMA,cAAc,GAAG,SAAjBA,cAAcA,CAAAC,IAAA,EAAA;AAAA,EAAA,IAAMC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;AAAA,EAAA,OAChCC,QAAQ,CAAC;AACPC,IAAAA,QAAQ,EAAE,CAACC,6BAA6B,EAAEH,QAAQ,CAAC;IACnDI,OAAO,EAAE,CAAC,CAACJ,QAAQ;IACnBK,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,MAAA,OAAQC,SAAS,CAACC,KAAK,CAACP,QAAQ,CAAC;AAAA;AAC1C,GAAC,CAAC;AAAA;AAEJ,IAAMQ,eAAe,GAAG,SAAlBA,eAAeA,CAAAC,KAAA,EAAA;AAAA,EAAA,IAAMT,QAAQ,GAAAS,KAAA,CAART,QAAQ;AAAA,EAAA,OACjCU,2BAA2B,CAACJ,SAAS,CAACK,MAAM,EAAE;AAC5CC,IAAAA,gBAAgB,EAAE,CAAC,CAACT,6BAA6B,EAAEH,QAAQ,CAAC;AAC9D,GAAC,CAAC;AAAA;;;;"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { _ as _defineProperty } from '../../defineProperty-CrCYjjU3.js';
|
|
2
|
+
import { map, pick } from 'ramda';
|
|
3
|
+
import { ALLOWED_CONFIG_KEYS } from './constants.js';
|
|
4
|
+
import '../../typeof-D-UKOauR.js';
|
|
5
|
+
|
|
6
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
7
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
8
|
+
var mergeConfig = function mergeConfig(columnData) {
|
|
9
|
+
var configuration = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
10
|
+
var columnMap = new Map(); // Using Map for correct ordering of columns.
|
|
11
|
+
|
|
12
|
+
configuration.forEach(function (config) {
|
|
13
|
+
columnMap.set(config.key, config);
|
|
14
|
+
});
|
|
15
|
+
columnData.forEach(function (column) {
|
|
16
|
+
var _col$hidden;
|
|
17
|
+
var col = _objectSpread(_objectSpread({}, column), columnMap.get(column.key));
|
|
18
|
+
col.hidden = (_col$hidden = col.hidden) !== null && _col$hidden !== void 0 ? _col$hidden : col.isShown === false;
|
|
19
|
+
columnMap.set(column.key, col);
|
|
20
|
+
});
|
|
21
|
+
return Array.from(columnMap.values());
|
|
22
|
+
};
|
|
23
|
+
var packConfig = map(pick(ALLOWED_CONFIG_KEYS));
|
|
24
|
+
|
|
25
|
+
export { mergeConfig, packConfig };
|
|
26
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../../src/react-utils/useColumnConfig/utils.js"],"sourcesContent":["import { map, pick } from \"ramda\";\nimport { ALLOWED_CONFIG_KEYS } from \"./constants\";\n\nexport const mergeConfig = (columnData, configuration = []) => {\n const columnMap = new Map(); // Using Map for correct ordering of columns.\n\n configuration.forEach(config => {\n columnMap.set(config.key, config);\n });\n\n columnData.forEach(column => {\n const col = { ...column, ...columnMap.get(column.key) };\n col.hidden = col.hidden ?? col.isShown === false;\n columnMap.set(column.key, col);\n });\n\n return Array.from(columnMap.values());\n};\n\nexport const packConfig = map(pick(ALLOWED_CONFIG_KEYS));\n"],"names":["mergeConfig","columnData","configuration","arguments","length","undefined","columnMap","Map","forEach","config","set","key","column","_col$hidden","col","_objectSpread","get","hidden","isShown","Array","from","values","packConfig","map","pick","ALLOWED_CONFIG_KEYS"],"mappings":";;;;;;;IAGaA,WAAW,GAAG,SAAdA,WAAWA,CAAIC,UAAU,EAAyB;AAAA,EAAA,IAAvBC,aAAa,GAAAC,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG,EAAE;AACxD,EAAA,IAAMG,SAAS,GAAG,IAAIC,GAAG,EAAE,CAAC;;AAE5BL,EAAAA,aAAa,CAACM,OAAO,CAAC,UAAAC,MAAM,EAAI;IAC9BH,SAAS,CAACI,GAAG,CAACD,MAAM,CAACE,GAAG,EAAEF,MAAM,CAAC;AACnC,GAAC,CAAC;AAEFR,EAAAA,UAAU,CAACO,OAAO,CAAC,UAAAI,MAAM,EAAI;AAAA,IAAA,IAAAC,WAAA;AAC3B,IAAA,IAAMC,GAAG,GAAAC,aAAA,CAAAA,aAAA,KAAQH,MAAM,CAAA,EAAKN,SAAS,CAACU,GAAG,CAACJ,MAAM,CAACD,GAAG,CAAC,CAAE;AACvDG,IAAAA,GAAG,CAACG,MAAM,GAAA,CAAAJ,WAAA,GAAGC,GAAG,CAACG,MAAM,MAAAJ,IAAAA,IAAAA,WAAA,cAAAA,WAAA,GAAIC,GAAG,CAACI,OAAO,KAAK,KAAK;IAChDZ,SAAS,CAACI,GAAG,CAACE,MAAM,CAACD,GAAG,EAAEG,GAAG,CAAC;AAChC,GAAC,CAAC;EAEF,OAAOK,KAAK,CAACC,IAAI,CAACd,SAAS,CAACe,MAAM,EAAE,CAAC;AACvC;AAEO,IAAMC,UAAU,GAAGC,GAAG,CAACC,IAAI,CAACC,mBAAmB,CAAC;;;;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bigbinary/neeto-commons-frontend",
|
|
3
|
-
"version": "4.13.
|
|
3
|
+
"version": "4.13.84",
|
|
4
4
|
"description": "A package encapsulating common code across neeto projects including initializers, utility functions, common components and hooks and so on.",
|
|
5
5
|
"repository": "git@github.com:bigbinary/neeto-commons-frontend.git",
|
|
6
6
|
"author": "Amaljith K <amaljith.k@bigbinary.com>",
|
package/react-utils.d.ts
CHANGED
|
@@ -1820,4 +1820,88 @@ type Breakpoints = { [key in BreakpointKeys]: boolean };
|
|
|
1820
1820
|
export function useBreakpoints<T extends {}>(breakpointOverrides?: (window: Window) => Partial<T & Breakpoints>): {
|
|
1821
1821
|
currentSize: BreakpointKeys | keyof T;
|
|
1822
1822
|
isSize: (size: BreakpointKeys | keyof T) => boolean;
|
|
1823
|
+
};
|
|
1824
|
+
/**
|
|
1825
|
+
*
|
|
1826
|
+
* The useColumnConfig hook is used to manage attributes of table columns and
|
|
1827
|
+
*
|
|
1828
|
+
* their updates. This hook provides functionality to fetch, merge, and persist
|
|
1829
|
+
*
|
|
1830
|
+
* column configurations for data tables. The changes made to column configurations
|
|
1831
|
+
*
|
|
1832
|
+
* are automatically saved to the database, ensuring that user preferences for
|
|
1833
|
+
*
|
|
1834
|
+
* table layouts are preserved across sessions.
|
|
1835
|
+
*
|
|
1836
|
+
* The hook handles merging default column data with user-saved configurations.
|
|
1837
|
+
*
|
|
1838
|
+
* This hook returns an object with the following properties:
|
|
1839
|
+
*
|
|
1840
|
+
* The following code snippet demonstrates how to use useColumnConfig in a table
|
|
1841
|
+
*
|
|
1842
|
+
* component:
|
|
1843
|
+
*
|
|
1844
|
+
* @example
|
|
1845
|
+
*
|
|
1846
|
+
* import { useColumnConfig } from "@bigbinary/neeto-commons-frontend/react-utils";
|
|
1847
|
+
*
|
|
1848
|
+
* const defaultColumns = [
|
|
1849
|
+
* { key: "name", isShown: true, description: "User Name" },
|
|
1850
|
+
* { key: "email", isShown: true, description: "Email Address" },
|
|
1851
|
+
* { key: "created_at", isShown: false, description: "Created Date" },
|
|
1852
|
+
* { key: "updated_at", isShown: false, description: "Last Updated" },
|
|
1853
|
+
* ];
|
|
1854
|
+
*
|
|
1855
|
+
* const MyTable = () => {
|
|
1856
|
+
* const { columnData, onUpdateColumns } = useColumnConfig({
|
|
1857
|
+
* tableKey: "users_table",
|
|
1858
|
+
* defaultColumnData: defaultColumns,
|
|
1859
|
+
* });
|
|
1860
|
+
*
|
|
1861
|
+
* const handleColumnToggle = columnKey => {
|
|
1862
|
+
* onUpdateColumns(columns =>
|
|
1863
|
+
* columns.map(column =>
|
|
1864
|
+
* column.key === columnKey
|
|
1865
|
+
* ? { ...column, isShown: !column.isShown }
|
|
1866
|
+
* : column
|
|
1867
|
+
* )
|
|
1868
|
+
* );
|
|
1869
|
+
* };
|
|
1870
|
+
*
|
|
1871
|
+
* const handleColumnReorder = newColumnOrder => {
|
|
1872
|
+
* onUpdateColumns(newColumnOrder);
|
|
1873
|
+
* };
|
|
1874
|
+
*
|
|
1875
|
+
* return (
|
|
1876
|
+
* <div>
|
|
1877
|
+
* {columnData.map(column => (
|
|
1878
|
+
* <div key={column.key}>
|
|
1879
|
+
* <label>
|
|
1880
|
+
* <input
|
|
1881
|
+
* type="checkbox"
|
|
1882
|
+
* checked={column.isShown}
|
|
1883
|
+
* onChange={() => handleColumnToggle(column.key)}
|
|
1884
|
+
* />
|
|
1885
|
+
* {column.description}
|
|
1886
|
+
* </label>
|
|
1887
|
+
* </div>
|
|
1888
|
+
* ))}
|
|
1889
|
+
* </div>
|
|
1890
|
+
* );
|
|
1891
|
+
* };
|
|
1892
|
+
* @endexample
|
|
1893
|
+
* Each column object in the configuration can contain the following properties:
|
|
1894
|
+
*
|
|
1895
|
+
* Currently, only these properties are persisted to the database
|
|
1896
|
+
*
|
|
1897
|
+
*/
|
|
1898
|
+
export function useColumnConfig<ColumnData>({
|
|
1899
|
+
tableKey,
|
|
1900
|
+
defaultColumnData
|
|
1901
|
+
}: {
|
|
1902
|
+
tableKey: string;
|
|
1903
|
+
defaultColumnData: ColumnData[];
|
|
1904
|
+
}): {
|
|
1905
|
+
columnData: ColumnData[];
|
|
1906
|
+
onUpdateColumns: (columnsOrCallback: ColumnData[] | ((columnData: ColumnData[]) => ColumnData[])) => void;
|
|
1823
1907
|
};
|