@bigbinary/neeto-rules-frontend 2.5.15 → 2.5.17

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.
Files changed (52) hide show
  1. package/README.md +45 -0
  2. package/app/javascript/src/translations/en.json +38 -9
  3. package/dist/NeetoRules.js +12 -32
  4. package/dist/NeetoRules.js.map +1 -1
  5. package/dist/NeetoRulesForm.js +5104 -3434
  6. package/dist/NeetoRulesForm.js.map +1 -1
  7. package/dist/RulePreview.js +26 -19
  8. package/dist/RulePreview.js.map +1 -1
  9. package/dist/RulesReorder.js +2 -1
  10. package/dist/RulesReorder.js.map +1 -1
  11. package/dist/cjs/NeetoRules.js +19 -39
  12. package/dist/cjs/NeetoRules.js.map +1 -1
  13. package/dist/cjs/NeetoRulesForm.js +5106 -3436
  14. package/dist/cjs/NeetoRulesForm.js.map +1 -1
  15. package/dist/cjs/RulePreview.js +27 -20
  16. package/dist/cjs/RulePreview.js.map +1 -1
  17. package/dist/cjs/RulesReorder.js +2 -1
  18. package/dist/cjs/RulesReorder.js.map +1 -1
  19. package/dist/cjs/index.js +24 -19
  20. package/dist/cjs/index.js.map +1 -1
  21. package/dist/{constants-C0OOtVhT.js → constants-BkPVd-Gz.js} +10 -8
  22. package/dist/constants-BkPVd-Gz.js.map +1 -0
  23. package/dist/{constants-CB5HRjxq.js → constants-DghBXpIM.js} +10 -7
  24. package/dist/constants-DghBXpIM.js.map +1 -0
  25. package/dist/{index-CYeamuNR.js → index-DXdpXQae.js} +7 -85
  26. package/dist/index-DXdpXQae.js.map +1 -0
  27. package/dist/{index-DGlpB-_C.js → index-e15PIyUY.js} +6 -88
  28. package/dist/index-e15PIyUY.js.map +1 -0
  29. package/dist/index.js +24 -19
  30. package/dist/index.js.map +1 -1
  31. package/dist/useAutomationRulesApi-CVgffrQW.js +102 -0
  32. package/dist/useAutomationRulesApi-CVgffrQW.js.map +1 -0
  33. package/dist/useAutomationRulesApi-Dex5R8oY.js +109 -0
  34. package/dist/useAutomationRulesApi-Dex5R8oY.js.map +1 -0
  35. package/dist/useUtilityStore-BcSUEW_u.js +70 -0
  36. package/dist/useUtilityStore-BcSUEW_u.js.map +1 -0
  37. package/dist/useUtilityStore-DhJI92iM.js +74 -0
  38. package/dist/useUtilityStore-DhJI92iM.js.map +1 -0
  39. package/package.json +47 -41
  40. package/types.d.ts +14 -0
  41. package/dist/constants-C0OOtVhT.js.map +0 -1
  42. package/dist/constants-CB5HRjxq.js.map +0 -1
  43. package/dist/index-CYeamuNR.js.map +0 -1
  44. package/dist/index-DGlpB-_C.js.map +0 -1
  45. package/dist/useUtilityStore-BGuo9bko.js +0 -27
  46. package/dist/useUtilityStore-BGuo9bko.js.map +0 -1
  47. package/dist/useUtilityStore-KjKihXb0.js +0 -25
  48. package/dist/useUtilityStore-KjKihXb0.js.map +0 -1
  49. package/dist/utils-BngEaPaz.js +0 -26
  50. package/dist/utils-BngEaPaz.js.map +0 -1
  51. package/dist/utils-CvS2p6ZS.js +0 -23
  52. package/dist/utils-CvS2p6ZS.js.map +0 -1
@@ -0,0 +1,109 @@
1
+ 'use strict';
2
+
3
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
4
+ var reactQuery = require('@tanstack/react-query');
5
+ var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
6
+ var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
7
+ var axios = require('axios');
8
+ var constants = require('./index-DFwPrb81.js');
9
+
10
+ var _excluded = ["url"];
11
+ var fetch = function fetch(_ref) {
12
+ var url = _ref.url,
13
+ params = _objectWithoutProperties(_ref, _excluded);
14
+ return axios.get(url, {
15
+ params: params
16
+ });
17
+ };
18
+ var show = function show(_ref2) {
19
+ var url = _ref2.url,
20
+ id = _ref2.id;
21
+ return axios.get("".concat(url, "/").concat(id));
22
+ };
23
+ var update = function update(_ref3) {
24
+ var url = _ref3.url,
25
+ id = _ref3.id,
26
+ payload = _ref3.payload;
27
+ return axios.patch("".concat(url, "/").concat(id), payload);
28
+ };
29
+ var clone = function clone(_ref4) {
30
+ var url = _ref4.url,
31
+ id = _ref4.id;
32
+ return axios.post("".concat(url, "/").concat(id, "/clone"));
33
+ };
34
+ var destroy = function destroy(_ref5) {
35
+ var url = _ref5.url,
36
+ id = _ref5.id;
37
+ return axios["delete"]("".concat(url, "/").concat(id));
38
+ };
39
+ var reorder = function reorder(_ref6) {
40
+ var url = _ref6.url,
41
+ payload = _ref6.payload;
42
+ return axios.patch("".concat(url, "/reorder"), payload);
43
+ };
44
+ var automationRulesApi = {
45
+ fetch: fetch,
46
+ show: show,
47
+ update: update,
48
+ clone: clone,
49
+ destroy: destroy,
50
+ reorder: reorder
51
+ };
52
+
53
+ 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; }
54
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).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; }
55
+ var useFetchAutomationRules = function useFetchAutomationRules(params) {
56
+ var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
57
+ return reactQuery.useQuery(_objectSpread({
58
+ queryKey: [constants.AUTOMATION_RULES, params.url, params],
59
+ queryFn: function queryFn() {
60
+ return automationRulesApi.fetch(params);
61
+ },
62
+ staleTime: constants.STALE_TIME,
63
+ select: function select(response) {
64
+ return response.data || response;
65
+ },
66
+ placeholderData: reactQuery.keepPreviousData
67
+ }, options));
68
+ };
69
+ var useShowAutomationRule = function useShowAutomationRule(params) {
70
+ var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
71
+ return reactQuery.useQuery(_objectSpread({
72
+ queryKey: [constants.AUTOMATION_RULES, params.id, "show"],
73
+ queryFn: function queryFn() {
74
+ return automationRulesApi.show(params);
75
+ },
76
+ select: function select(response) {
77
+ return response.data || response;
78
+ }
79
+ }, options));
80
+ };
81
+ var useUpdateAutomationRule = function useUpdateAutomationRule(url) {
82
+ var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
83
+ return reactUtils.useMutationWithInvalidation(automationRulesApi.update, _objectSpread({
84
+ keysToInvalidate: [[constants.AUTOMATION_RULES, url]]
85
+ }, options));
86
+ };
87
+ var useCloneAutomationRule = function useCloneAutomationRule(url) {
88
+ return reactUtils.useMutationWithInvalidation(automationRulesApi.clone, {
89
+ keysToInvalidate: [[constants.AUTOMATION_RULES, url]]
90
+ });
91
+ };
92
+ var useDeleteAutomationRule = function useDeleteAutomationRule(url) {
93
+ return reactUtils.useMutationWithInvalidation(automationRulesApi.destroy, {
94
+ keysToInvalidate: [[constants.AUTOMATION_RULES, url]]
95
+ });
96
+ };
97
+ var useReorderAutomationRules = function useReorderAutomationRules(url) {
98
+ return reactUtils.useMutationWithInvalidation(automationRulesApi.reorder, {
99
+ keysToInvalidate: [[constants.AUTOMATION_RULES, url]]
100
+ });
101
+ };
102
+
103
+ exports.useCloneAutomationRule = useCloneAutomationRule;
104
+ exports.useDeleteAutomationRule = useDeleteAutomationRule;
105
+ exports.useFetchAutomationRules = useFetchAutomationRules;
106
+ exports.useReorderAutomationRules = useReorderAutomationRules;
107
+ exports.useShowAutomationRule = useShowAutomationRule;
108
+ exports.useUpdateAutomationRule = useUpdateAutomationRule;
109
+ //# sourceMappingURL=useAutomationRulesApi-Dex5R8oY.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAutomationRulesApi-Dex5R8oY.js","sources":["../app/javascript/src/apis/automation_rules.js","../app/javascript/src/hooks/reactQuery/useAutomationRulesApi.js"],"sourcesContent":["import axios from \"axios\";\n\nconst fetch = ({ url, ...params }) => axios.get(url, { params });\n\nconst show = ({ url, id }) => axios.get(`${url}/${id}`);\n\nconst update = ({ url, id, payload }) => axios.patch(`${url}/${id}`, payload);\n\nconst clone = ({ url, id }) => axios.post(`${url}/${id}/clone`);\n\nconst destroy = ({ url, id }) => axios.delete(`${url}/${id}`);\n\nconst reorder = ({ url, payload }) => axios.patch(`${url}/reorder`, payload);\n\nconst automationRulesApi = {\n fetch,\n show,\n update,\n clone,\n destroy,\n reorder,\n};\n\nexport default automationRulesApi;\n","import { keepPreviousData, useQuery } from \"@tanstack/react-query\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\n\nimport automationRulesApi from \"apis/automation_rules\";\nimport { AUTOMATION_RULES, STALE_TIME } from \"common/constants\";\n\nconst useFetchAutomationRules = (params, options = {}) =>\n useQuery({\n queryKey: [AUTOMATION_RULES, params.url, params],\n queryFn: () => automationRulesApi.fetch(params),\n staleTime: STALE_TIME,\n select: response => response.data || response,\n placeholderData: keepPreviousData,\n ...options,\n });\n\nconst useShowAutomationRule = (params, options = {}) =>\n useQuery({\n queryKey: [AUTOMATION_RULES, params.id, \"show\"],\n queryFn: () => automationRulesApi.show(params),\n select: response => response.data || response,\n ...options,\n });\n\nconst useUpdateAutomationRule = (url, options = {}) =>\n useMutationWithInvalidation(automationRulesApi.update, {\n keysToInvalidate: [[AUTOMATION_RULES, url]],\n ...options,\n });\n\nconst useCloneAutomationRule = url =>\n useMutationWithInvalidation(automationRulesApi.clone, {\n keysToInvalidate: [[AUTOMATION_RULES, url]],\n });\n\nconst useDeleteAutomationRule = url =>\n useMutationWithInvalidation(automationRulesApi.destroy, {\n keysToInvalidate: [[AUTOMATION_RULES, url]],\n });\n\nconst useReorderAutomationRules = url =>\n useMutationWithInvalidation(automationRulesApi.reorder, {\n keysToInvalidate: [[AUTOMATION_RULES, url]],\n });\nexport {\n useFetchAutomationRules,\n useShowAutomationRule,\n useUpdateAutomationRule,\n useCloneAutomationRule,\n useDeleteAutomationRule,\n useReorderAutomationRules,\n};\n"],"names":["fetch","_ref","url","params","_objectWithoutProperties","_excluded","axios","get","show","_ref2","id","concat","update","_ref3","payload","patch","clone","_ref4","post","destroy","_ref5","reorder","_ref6","automationRulesApi","useFetchAutomationRules","options","arguments","length","undefined","useQuery","_objectSpread","queryKey","AUTOMATION_RULES","queryFn","staleTime","STALE_TIME","select","response","data","placeholderData","keepPreviousData","useShowAutomationRule","useUpdateAutomationRule","useMutationWithInvalidation","keysToInvalidate","useCloneAutomationRule","useDeleteAutomationRule","useReorderAutomationRules"],"mappings":"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"}
@@ -0,0 +1,70 @@
1
+ import { withImmutableActions } from '@bigbinary/neeto-commons-frontend/react-utils';
2
+ import { modify, always } from 'ramda';
3
+ import { create } from 'zustand';
4
+
5
+ var createRoutes = function createRoutes(basePath) {
6
+ return {
7
+ index: basePath,
8
+ "new": "".concat(basePath, "/new"),
9
+ edit: "".concat(basePath, "/:ruleId/edit")
10
+ };
11
+ };
12
+ var getSeparator = function getSeparator(_ref) {
13
+ var _selectedField$separa2, _selectedField$separa3;
14
+ var defaultSeparator = _ref.defaultSeparator,
15
+ _ref$index = _ref.index,
16
+ index = _ref$index === void 0 ? 0 : _ref$index,
17
+ selectedField = _ref.selectedField;
18
+ if (!selectedField || !selectedField.separator) return defaultSeparator;
19
+ if (!Array.isArray(selectedField.separator)) {
20
+ var _selectedField$separa;
21
+ return (_selectedField$separa = selectedField.separator) === null || _selectedField$separa === void 0 ? void 0 : _selectedField$separa.toLowerCase();
22
+ }
23
+ return (_selectedField$separa2 = (_selectedField$separa3 = selectedField.separator[index]) === null || _selectedField$separa3 === void 0 ? void 0 : _selectedField$separa3.toLowerCase()) !== null && _selectedField$separa2 !== void 0 ? _selectedField$separa2 : defaultSeparator;
24
+ };
25
+
26
+ var applyStateOrUpdater = function applyStateOrUpdater(stateOrUpdater) {
27
+ return typeof stateOrUpdater === "function" ? stateOrUpdater : always(stateOrUpdater);
28
+ };
29
+
30
+ /** @type {import("neetocommons/react-utils").ZustandStoreHook} */
31
+ var useUtilityStore = create(withImmutableActions(function (set) {
32
+ return {
33
+ moreActionDropdownItems: [],
34
+ showPreviewPane: false,
35
+ panelState: {
36
+ data: {}
37
+ },
38
+ isSaveAsTemplateEnabled: false,
39
+ setMoreActionDropdownItems: function setMoreActionDropdownItems(items) {
40
+ return set({
41
+ moreActionDropdownItems: items,
42
+ showPreviewPane: true
43
+ });
44
+ },
45
+ hidePreviewPane: function hidePreviewPane() {
46
+ return set({
47
+ moreActionDropdownItems: [],
48
+ showPreviewPane: false
49
+ });
50
+ },
51
+ setPanelState: function setPanelState(stateOrUpdater) {
52
+ return set(modify("panelState", applyStateOrUpdater(stateOrUpdater)));
53
+ },
54
+ resetPanelState: function resetPanelState() {
55
+ return set({
56
+ panelState: {
57
+ data: {}
58
+ }
59
+ });
60
+ },
61
+ setIsSaveAsTemplateEnabled: function setIsSaveAsTemplateEnabled(isSaveAsTemplateEnabled) {
62
+ return set({
63
+ isSaveAsTemplateEnabled: isSaveAsTemplateEnabled
64
+ });
65
+ }
66
+ };
67
+ }));
68
+
69
+ export { createRoutes as c, getSeparator as g, useUtilityStore as u };
70
+ //# sourceMappingURL=useUtilityStore-BcSUEW_u.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useUtilityStore-BcSUEW_u.js","sources":["../app/javascript/src/utils.js","../app/javascript/src/components/stores/useUtilityStore.js"],"sourcesContent":["export const createRoutes = basePath => ({\n index: basePath,\n new: `${basePath}/new`,\n edit: `${basePath}/:ruleId/edit`,\n});\n\nexport const getSeparator = ({\n defaultSeparator,\n index = 0,\n selectedField,\n}) => {\n if (!selectedField || !selectedField.separator) return defaultSeparator;\n\n if (!Array.isArray(selectedField.separator)) {\n return selectedField.separator?.toLowerCase();\n }\n\n return selectedField.separator[index]?.toLowerCase() ?? defaultSeparator;\n};\n","import { withImmutableActions } from \"neetocommons/react-utils\";\nimport { always, modify } from \"ramda\";\nimport { create } from \"zustand\";\n\nconst applyStateOrUpdater = stateOrUpdater =>\n typeof stateOrUpdater === \"function\"\n ? stateOrUpdater\n : always(stateOrUpdater);\n\n/** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\nconst useUtilityStore = create(\n withImmutableActions(set => ({\n moreActionDropdownItems: [],\n showPreviewPane: false,\n panelState: { data: {} },\n isSaveAsTemplateEnabled: false,\n\n setMoreActionDropdownItems: items =>\n set({ moreActionDropdownItems: items, showPreviewPane: true }),\n hidePreviewPane: () =>\n set({ moreActionDropdownItems: [], showPreviewPane: false }),\n setPanelState: stateOrUpdater =>\n set(modify(\"panelState\", applyStateOrUpdater(stateOrUpdater))),\n resetPanelState: () => set({ panelState: { data: {} } }),\n setIsSaveAsTemplateEnabled: isSaveAsTemplateEnabled =>\n set({ isSaveAsTemplateEnabled }),\n }))\n);\n\nexport default useUtilityStore;\n"],"names":["createRoutes","basePath","index","concat","edit","getSeparator","_ref","_selectedField$separa2","_selectedField$separa3","defaultSeparator","_ref$index","selectedField","separator","Array","isArray","_selectedField$separa","toLowerCase","applyStateOrUpdater","stateOrUpdater","always","useUtilityStore","create","withImmutableActions","set","moreActionDropdownItems","showPreviewPane","panelState","data","isSaveAsTemplateEnabled","setMoreActionDropdownItems","items","hidePreviewPane","setPanelState","modify","resetPanelState","setIsSaveAsTemplateEnabled"],"mappings":"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"}
@@ -0,0 +1,74 @@
1
+ 'use strict';
2
+
3
+ var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
4
+ var ramda = require('ramda');
5
+ var zustand = require('zustand');
6
+
7
+ var createRoutes = function createRoutes(basePath) {
8
+ return {
9
+ index: basePath,
10
+ "new": "".concat(basePath, "/new"),
11
+ edit: "".concat(basePath, "/:ruleId/edit")
12
+ };
13
+ };
14
+ var getSeparator = function getSeparator(_ref) {
15
+ var _selectedField$separa2, _selectedField$separa3;
16
+ var defaultSeparator = _ref.defaultSeparator,
17
+ _ref$index = _ref.index,
18
+ index = _ref$index === void 0 ? 0 : _ref$index,
19
+ selectedField = _ref.selectedField;
20
+ if (!selectedField || !selectedField.separator) return defaultSeparator;
21
+ if (!Array.isArray(selectedField.separator)) {
22
+ var _selectedField$separa;
23
+ return (_selectedField$separa = selectedField.separator) === null || _selectedField$separa === void 0 ? void 0 : _selectedField$separa.toLowerCase();
24
+ }
25
+ return (_selectedField$separa2 = (_selectedField$separa3 = selectedField.separator[index]) === null || _selectedField$separa3 === void 0 ? void 0 : _selectedField$separa3.toLowerCase()) !== null && _selectedField$separa2 !== void 0 ? _selectedField$separa2 : defaultSeparator;
26
+ };
27
+
28
+ var applyStateOrUpdater = function applyStateOrUpdater(stateOrUpdater) {
29
+ return typeof stateOrUpdater === "function" ? stateOrUpdater : ramda.always(stateOrUpdater);
30
+ };
31
+
32
+ /** @type {import("neetocommons/react-utils").ZustandStoreHook} */
33
+ var useUtilityStore = zustand.create(reactUtils.withImmutableActions(function (set) {
34
+ return {
35
+ moreActionDropdownItems: [],
36
+ showPreviewPane: false,
37
+ panelState: {
38
+ data: {}
39
+ },
40
+ isSaveAsTemplateEnabled: false,
41
+ setMoreActionDropdownItems: function setMoreActionDropdownItems(items) {
42
+ return set({
43
+ moreActionDropdownItems: items,
44
+ showPreviewPane: true
45
+ });
46
+ },
47
+ hidePreviewPane: function hidePreviewPane() {
48
+ return set({
49
+ moreActionDropdownItems: [],
50
+ showPreviewPane: false
51
+ });
52
+ },
53
+ setPanelState: function setPanelState(stateOrUpdater) {
54
+ return set(ramda.modify("panelState", applyStateOrUpdater(stateOrUpdater)));
55
+ },
56
+ resetPanelState: function resetPanelState() {
57
+ return set({
58
+ panelState: {
59
+ data: {}
60
+ }
61
+ });
62
+ },
63
+ setIsSaveAsTemplateEnabled: function setIsSaveAsTemplateEnabled(isSaveAsTemplateEnabled) {
64
+ return set({
65
+ isSaveAsTemplateEnabled: isSaveAsTemplateEnabled
66
+ });
67
+ }
68
+ };
69
+ }));
70
+
71
+ exports.createRoutes = createRoutes;
72
+ exports.getSeparator = getSeparator;
73
+ exports.useUtilityStore = useUtilityStore;
74
+ //# sourceMappingURL=useUtilityStore-DhJI92iM.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useUtilityStore-DhJI92iM.js","sources":["../app/javascript/src/utils.js","../app/javascript/src/components/stores/useUtilityStore.js"],"sourcesContent":["export const createRoutes = basePath => ({\n index: basePath,\n new: `${basePath}/new`,\n edit: `${basePath}/:ruleId/edit`,\n});\n\nexport const getSeparator = ({\n defaultSeparator,\n index = 0,\n selectedField,\n}) => {\n if (!selectedField || !selectedField.separator) return defaultSeparator;\n\n if (!Array.isArray(selectedField.separator)) {\n return selectedField.separator?.toLowerCase();\n }\n\n return selectedField.separator[index]?.toLowerCase() ?? defaultSeparator;\n};\n","import { withImmutableActions } from \"neetocommons/react-utils\";\nimport { always, modify } from \"ramda\";\nimport { create } from \"zustand\";\n\nconst applyStateOrUpdater = stateOrUpdater =>\n typeof stateOrUpdater === \"function\"\n ? stateOrUpdater\n : always(stateOrUpdater);\n\n/** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\nconst useUtilityStore = create(\n withImmutableActions(set => ({\n moreActionDropdownItems: [],\n showPreviewPane: false,\n panelState: { data: {} },\n isSaveAsTemplateEnabled: false,\n\n setMoreActionDropdownItems: items =>\n set({ moreActionDropdownItems: items, showPreviewPane: true }),\n hidePreviewPane: () =>\n set({ moreActionDropdownItems: [], showPreviewPane: false }),\n setPanelState: stateOrUpdater =>\n set(modify(\"panelState\", applyStateOrUpdater(stateOrUpdater))),\n resetPanelState: () => set({ panelState: { data: {} } }),\n setIsSaveAsTemplateEnabled: isSaveAsTemplateEnabled =>\n set({ isSaveAsTemplateEnabled }),\n }))\n);\n\nexport default useUtilityStore;\n"],"names":["createRoutes","basePath","index","concat","edit","getSeparator","_ref","_selectedField$separa2","_selectedField$separa3","defaultSeparator","_ref$index","selectedField","separator","Array","isArray","_selectedField$separa","toLowerCase","applyStateOrUpdater","stateOrUpdater","always","useUtilityStore","create","withImmutableActions","set","moreActionDropdownItems","showPreviewPane","panelState","data","isSaveAsTemplateEnabled","setMoreActionDropdownItems","items","hidePreviewPane","setPanelState","modify","resetPanelState","setIsSaveAsTemplateEnabled"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bigbinary/neeto-rules-frontend",
3
- "version": "2.5.15",
3
+ "version": "2.5.17",
4
4
  "description": "A repo acts as the source of truth for the new nano's structure, configs, data etc.",
5
5
  "license": "UNLICENSED",
6
6
  "homepage": "https://github.com/bigbinary/neeto-rules-nano",
@@ -40,11 +40,11 @@
40
40
  ],
41
41
  "./**/app/javascript/**/*.{js,jsx,json}": [
42
42
  "prettier --write",
43
- "eslint --fix"
43
+ "eslint --cache --fix --no-warn-ignored"
44
44
  ],
45
45
  "./test/dummy/**/app/javascript/**/*.{js,jsx,json}": [
46
46
  "prettier --write",
47
- "eslint --fix"
47
+ "eslint --cache --fix --no-warn-ignored"
48
48
  ],
49
49
  "{Gemfile,Rakefile,config.ru}": [
50
50
  "bundle exec rubocop -a --force-exclusion"
@@ -59,20 +59,21 @@
59
59
  "@babel/preset-typescript": "7.26.0",
60
60
  "@babel/runtime": "7.26.10",
61
61
  "@bigbinary/babel-preset-neeto": "^1.0.3",
62
- "@bigbinary/eslint-plugin-neeto": "1.5.8",
63
- "@bigbinary/neeto-cist": "1.0.15",
64
- "@bigbinary/neeto-commons-frontend": "4.13.29",
65
- "@bigbinary/neeto-editor": "1.45.25",
66
- "@bigbinary/neeto-filters-frontend": "4.3.16",
62
+ "@bigbinary/eslint-plugin-neeto": "1.6.4",
63
+ "@bigbinary/neeto-cist": "1.0.17",
64
+ "@bigbinary/neeto-commons-frontend": "4.13.45",
65
+ "@bigbinary/neeto-editor": "1.47.20",
66
+ "@bigbinary/neeto-filters-frontend": "4.3.22",
67
67
  "@bigbinary/neeto-hotkeys": "1.0.9",
68
- "@bigbinary/neeto-icons": "1.20.33",
69
- "@bigbinary/neeto-molecules": "3.16.1",
70
- "@bigbinary/neetoui": "8.2.79",
68
+ "@bigbinary/neeto-icons": "1.20.52",
69
+ "@bigbinary/neeto-molecules": "3.16.75",
70
+ "@bigbinary/neetoui": "8.3.10",
71
71
  "@emotion/is-prop-valid": "1.2.0",
72
72
  "@faker-js/faker": "8.2.0",
73
73
  "@hello-pangea/dnd": "16.3.0",
74
74
  "@honeybadger-io/js": "6.10.1",
75
75
  "@honeybadger-io/react": "6.1.25",
76
+ "@monaco-editor/react": "^4.7.0",
76
77
  "@rollup/plugin-alias": "5.1.1",
77
78
  "@rollup/plugin-babel": "6.0.4",
78
79
  "@rollup/plugin-commonjs": "25.0.7",
@@ -103,21 +104,23 @@
103
104
  "dayjs": "1.11.10",
104
105
  "dompurify": "^3.2.4",
105
106
  "dotenv-webpack": "^8.0.1",
106
- "eslint": "8.14.0",
107
- "eslint-config-prettier": "8.5.0",
108
- "eslint-plugin-cypress": "2.12.1",
109
- "eslint-plugin-import": "2.31.0",
110
- "eslint-plugin-jam3": "0.2.3",
111
- "eslint-plugin-json": "3.1.0",
112
- "eslint-plugin-prettier": "4.0.0",
113
- "eslint-plugin-promise": "6.0.0",
114
- "eslint-plugin-react": "7.37.2",
115
- "eslint-plugin-react-hooks": "4.5.0",
116
- "eslint-plugin-security": "^1.7.1",
117
- "eslint-plugin-sonarjs": "^0.21.0",
118
- "eslint-plugin-unused-imports": "2.0.0",
107
+ "eslint": "^9.25.1",
108
+ "eslint-config-prettier": "^10.1.2",
109
+ "eslint-plugin-cypress": "^4.3.0",
110
+ "eslint-plugin-import": "^2.31.0",
111
+ "eslint-plugin-jam3": "^0.2.3",
112
+ "eslint-plugin-json": "^4.0.1",
113
+ "eslint-plugin-prettier": "^5.2.6",
114
+ "eslint-plugin-promise": "^7.2.1",
115
+ "eslint-plugin-react": "^7.37.5",
116
+ "eslint-plugin-react-hooks": "^5.2.0",
117
+ "eslint-plugin-security": "^3.0.1",
118
+ "eslint-plugin-sonarjs": "^3.0.2",
119
+ "eslint-plugin-unused-imports": "^4.1.4",
119
120
  "eslint-plugin-xss": "^0.1.12",
121
+ "flat": "^6.0.1",
120
122
  "formik": "2.4.6",
123
+ "globals": "16.0.0",
121
124
  "html-webpack-plugin": "5.5.3",
122
125
  "https-browserify": "1.0.0",
123
126
  "husky": "7.0.4",
@@ -133,13 +136,13 @@
133
136
  "postcss-import": "^15.0.0",
134
137
  "postcss-loader": "^7.0.1",
135
138
  "postcss-preset-env": "7.8.2",
136
- "prettier": "2.6.2",
139
+ "prettier": "3",
137
140
  "prettier-plugin-tailwindcss": "0.1.10",
138
141
  "process": "0.11.10",
139
142
  "qs": "^6.11.2",
140
143
  "ramda": "0.29.0",
141
- "react": "18.2.0",
142
- "react-dom": "18.2.0",
144
+ "react": "18.3.1",
145
+ "react-dom": "18.3.1",
143
146
  "react-helmet": "^6.1.0",
144
147
  "react-i18next": "12.3.1",
145
148
  "react-router-dom": "5.3.3",
@@ -152,7 +155,7 @@
152
155
  "rollup-plugin-copy": "3.5.0",
153
156
  "rollup-plugin-peer-deps-external": "2.2.4",
154
157
  "rollup-plugin-styles": "4.0.0",
155
- "sass": "^1.54.9",
158
+ "sass": "1.89.0",
156
159
  "sass-loader": "^13.0.2",
157
160
  "shakapacker": "6.6.0",
158
161
  "source-map-loader": "4.0.1",
@@ -167,23 +170,24 @@
167
170
  "webpack": "5.94.0",
168
171
  "webpack-assets-manifest": "5.1.0",
169
172
  "webpack-cli": "5.1.4",
170
- "webpack-dev-server": "4.15.1",
173
+ "webpack-dev-server": "5.2.1",
171
174
  "yup": "0.32.11",
172
- "zustand": "4.3.2"
175
+ "zustand": "4.4.2"
173
176
  },
174
177
  "peerDependencies": {
175
178
  "@babel/runtime": "7.26.10",
176
- "@bigbinary/neeto-cist": "1.0.15",
177
- "@bigbinary/neeto-commons-frontend": "4.13.29",
178
- "@bigbinary/neeto-editor": "1.45.25",
179
- "@bigbinary/neeto-filters-frontend": "4.3.16",
179
+ "@bigbinary/neeto-cist": "1.0.17",
180
+ "@bigbinary/neeto-commons-frontend": "4.13.45",
181
+ "@bigbinary/neeto-editor": "1.47.20",
182
+ "@bigbinary/neeto-filters-frontend": "4.3.22",
180
183
  "@bigbinary/neeto-hotkeys": "1.0.9",
181
- "@bigbinary/neeto-icons": "1.20.33",
182
- "@bigbinary/neeto-molecules": "3.16.1",
183
- "@bigbinary/neetoui": "8.2.79",
184
+ "@bigbinary/neeto-icons": "1.20.52",
185
+ "@bigbinary/neeto-molecules": "3.16.75",
186
+ "@bigbinary/neetoui": "8.3.10",
184
187
  "@hello-pangea/dnd": "16.3.0",
185
188
  "@honeybadger-io/js": "6.10.1",
186
189
  "@honeybadger-io/react": "6.1.25",
190
+ "@monaco-editor/react": "^4.7.0",
187
191
  "@tailwindcss/container-queries": "^0.1.1",
188
192
  "@tanstack/react-query": "5.59.20",
189
193
  "@tanstack/react-query-devtools": "5.59.20",
@@ -203,8 +207,8 @@
203
207
  "path-browserify": "^1.0.1",
204
208
  "qs": "^6.11.2",
205
209
  "ramda": "0.29.0",
206
- "react": "18.2.0",
207
- "react-dom": "18.2.0",
210
+ "react": "18.3.1",
211
+ "react-dom": "18.3.1",
208
212
  "react-helmet": "^6.1.0",
209
213
  "react-i18next": "12.3.1",
210
214
  "react-router-dom": "5.3.3",
@@ -219,12 +223,14 @@
219
223
  "util": "^0.12.5",
220
224
  "vm-browserify": "1.1.2",
221
225
  "yup": "0.32.11",
222
- "zustand": "4.3.2"
226
+ "zustand": "4.4.2"
223
227
  },
224
228
  "resolutions": {
225
229
  "postcss": "^8",
226
230
  "wrap-ansi": "7.0.0",
227
- "string-width": "4.1.0"
231
+ "string-width": "4.1.0",
232
+ "react": "18.3.1",
233
+ "react-dom": "18.3.1"
228
234
  },
229
235
  "engines": {
230
236
  "node": ">=22.13",
package/types.d.ts CHANGED
@@ -6,6 +6,8 @@ import {
6
6
  SelectProps,
7
7
  TextareaProps,
8
8
  TooltipProps,
9
+ PopoverProps,
10
+ ButtonProps,
9
11
  } from "neetoui";
10
12
  import { FieldHelperProps } from "formik";
11
13
 
@@ -52,6 +54,13 @@ interface actionNameOptionsProps {
52
54
  variables?: variableProps[];
53
55
  dropdownOptions?: array;
54
56
  defaultData?: object;
57
+ helpPopoverProps?: {
58
+ [key: string]: {
59
+ title?: string;
60
+ description?: React.ReactNode;
61
+ helpLinkProps?: ButtonProps;
62
+ } & PopoverProps;
63
+ };
55
64
  }
56
65
 
57
66
  interface dropdownListProps {
@@ -70,6 +79,7 @@ interface ActionsProps extends commonInputProps {
70
79
  showAddButton?: boolean;
71
80
  onSelectAction?: () => void;
72
81
  routeToSlackIntegration?: string;
82
+ isSaveAsTemplateEnabled?: boolean;
73
83
  }
74
84
 
75
85
  interface CardProps {
@@ -105,12 +115,16 @@ interface EventsProps extends ConditionsProps {
105
115
  interface InputFieldProps extends commonInputProps, InputProps {}
106
116
 
107
117
  interface NeetoRulesProps {
118
+ title: string;
119
+ breadcrumbs: object;
120
+ isLoading?: boolean;
108
121
  data?: Record<string, any>;
109
122
  children?: React.ReactNode | (() => React.ReactNode);
110
123
  className?: string;
111
124
  handleSubmit?: () => void;
112
125
  handleCancel?: () => void;
113
126
  showStatusSwitch?: boolean;
127
+ automationRulesEndpoint: string;
114
128
  }
115
129
 
116
130
  interface RadioFieldProps extends commonInputProps, RadioProps {
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants-C0OOtVhT.js","sources":["../app/javascript/src/components/NeetoRulesForm/Element/Conditions/constants.js"],"sourcesContent":["import { t } from \"i18next\";\n\nconst OPERATORS = { or: \"or_operator\", and: \"and_operator\" };\n\nconst OPERATOR_LABELS = {\n or_operator: t(\"neetoRules.operators.or\"),\n and_operator: t(\"neetoRules.operators.and\"),\n};\n\nconst VERB_LABELS = {\n is: t(\"neetoRules.conditionVerbs.is\"),\n is_not: t(\"neetoRules.conditionVerbs.isNot\"),\n contains: t(\"neetoRules.conditionVerbs.contains\"),\n does_not_contain: t(\"neetoRules.conditionVerbs.doesNotContain\"),\n contains_any_of: t(\"neetoRules.conditionVerbs.containsAnyOf\"),\n contains_all_of: t(\"neetoRules.conditionVerbs.containsAllOf\"),\n contains_none_of: t(\"neetoRules.conditionVerbs.containsNoneOf\"),\n starts_with: t(\"neetoRules.conditionVerbs.startsWith\"),\n ends_with: t(\"neetoRules.conditionVerbs.endsWith\"),\n less_than: t(\"neetoRules.conditionVerbs.lessThan\"),\n greater_than: t(\"neetoRules.conditionVerbs.greaterThan\"),\n any_time: t(\"neetoRules.conditionVerbs.anyTime\"),\n during: t(\"neetoRules.conditionVerbs.during\"),\n not_during: t(\"neetoRules.conditionVerbs.notDuring\"),\n any_of: t(\"neetoRules.conditionVerbs.anyOf\"),\n none_of: t(\"neetoRules.conditionVerbs.noneOf\"),\n is_before: t(\"neetoRules.conditionVerbs.isBefore\"),\n is_after: t(\"neetoRules.conditionVerbs.isAfter\"),\n};\n\nconst CONDITION_VALUE_TYPES = {\n text: \"text\",\n number: \"number\",\n decimal: \"decimal\",\n url: \"url\",\n email: \"email\",\n dropdown: \"dropdown\",\n multiSelect: \"multi-select\",\n multiSelectCreate: \"multi-select-create\",\n date: \"date\",\n regex: \"regex\",\n textarea: \"textarea\",\n};\n\nconst INPUT_FIELD_TYPES = [\n \"email\",\n \"text\",\n \"number\",\n \"decimal\",\n \"url\",\n \"regex\",\n];\n\nconst DATETIME_FORMAT = { date: \"DD/MM/YYYY\", time: \"HH:mm a\" };\n\nconst MAXIMUM_OPTION_LENGTH = 7;\n\nexport {\n OPERATORS,\n OPERATOR_LABELS,\n VERB_LABELS,\n CONDITION_VALUE_TYPES,\n DATETIME_FORMAT,\n MAXIMUM_OPTION_LENGTH,\n INPUT_FIELD_TYPES,\n};\n"],"names":["OPERATORS","or","and","OPERATOR_LABELS","or_operator","t","and_operator","VERB_LABELS","is","is_not","contains","does_not_contain","contains_any_of","contains_all_of","contains_none_of","starts_with","ends_with","less_than","greater_than","any_time","during","not_during","any_of","none_of","is_before","is_after","CONDITION_VALUE_TYPES","text","number","decimal","url","email","dropdown","multiSelect","multiSelectCreate","date","regex","textarea","INPUT_FIELD_TYPES","MAXIMUM_OPTION_LENGTH"],"mappings":";;;;AAEA,IAAMA,SAAS,GAAG;AAAEC,EAAAA,EAAE,EAAE,aAAa;AAAEC,EAAAA,GAAG,EAAE;AAAe;AAE3D,IAAMC,eAAe,GAAG;AACtBC,EAAAA,WAAW,EAAEC,SAAC,CAAC,yBAAyB,CAAC;EACzCC,YAAY,EAAED,SAAC,CAAC,0BAA0B;AAC5C;AAEA,IAAME,WAAW,GAAG;AAClBC,EAAAA,EAAE,EAAEH,SAAC,CAAC,8BAA8B,CAAC;AACrCI,EAAAA,MAAM,EAAEJ,SAAC,CAAC,iCAAiC,CAAC;AAC5CK,EAAAA,QAAQ,EAAEL,SAAC,CAAC,oCAAoC,CAAC;AACjDM,EAAAA,gBAAgB,EAAEN,SAAC,CAAC,0CAA0C,CAAC;AAC/DO,EAAAA,eAAe,EAAEP,SAAC,CAAC,yCAAyC,CAAC;AAC7DQ,EAAAA,eAAe,EAAER,SAAC,CAAC,yCAAyC,CAAC;AAC7DS,EAAAA,gBAAgB,EAAET,SAAC,CAAC,0CAA0C,CAAC;AAC/DU,EAAAA,WAAW,EAAEV,SAAC,CAAC,sCAAsC,CAAC;AACtDW,EAAAA,SAAS,EAAEX,SAAC,CAAC,oCAAoC,CAAC;AAClDY,EAAAA,SAAS,EAAEZ,SAAC,CAAC,oCAAoC,CAAC;AAClDa,EAAAA,YAAY,EAAEb,SAAC,CAAC,uCAAuC,CAAC;AACxDc,EAAAA,QAAQ,EAAEd,SAAC,CAAC,mCAAmC,CAAC;AAChDe,EAAAA,MAAM,EAAEf,SAAC,CAAC,kCAAkC,CAAC;AAC7CgB,EAAAA,UAAU,EAAEhB,SAAC,CAAC,qCAAqC,CAAC;AACpDiB,EAAAA,MAAM,EAAEjB,SAAC,CAAC,iCAAiC,CAAC;AAC5CkB,EAAAA,OAAO,EAAElB,SAAC,CAAC,kCAAkC,CAAC;AAC9CmB,EAAAA,SAAS,EAAEnB,SAAC,CAAC,oCAAoC,CAAC;EAClDoB,QAAQ,EAAEpB,SAAC,CAAC,mCAAmC;AACjD;AAEA,IAAMqB,qBAAqB,GAAG;AAC5BC,EAAAA,IAAI,EAAE,MAAM;AACZC,EAAAA,MAAM,EAAE,QAAQ;AAChBC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,QAAQ,EAAE,UAAU;AACpBC,EAAAA,WAAW,EAAE,cAAc;AAC3BC,EAAAA,iBAAiB,EAAE,qBAAqB;AACxCC,EAAAA,IAAI,EAAE,MAAM;AACZC,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,QAAQ,EAAE;AACZ;AAEA,IAAMC,iBAAiB,GAAG,CACxB,OAAO,EACP,MAAM,EACN,QAAQ,EACR,SAAS,EACT,KAAK,EACL,OAAO;AAKHC,IAAAA,qBAAqB,GAAG;;;;;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants-CB5HRjxq.js","sources":["../app/javascript/src/components/NeetoRulesForm/Element/Conditions/constants.js"],"sourcesContent":["import { t } from \"i18next\";\n\nconst OPERATORS = { or: \"or_operator\", and: \"and_operator\" };\n\nconst OPERATOR_LABELS = {\n or_operator: t(\"neetoRules.operators.or\"),\n and_operator: t(\"neetoRules.operators.and\"),\n};\n\nconst VERB_LABELS = {\n is: t(\"neetoRules.conditionVerbs.is\"),\n is_not: t(\"neetoRules.conditionVerbs.isNot\"),\n contains: t(\"neetoRules.conditionVerbs.contains\"),\n does_not_contain: t(\"neetoRules.conditionVerbs.doesNotContain\"),\n contains_any_of: t(\"neetoRules.conditionVerbs.containsAnyOf\"),\n contains_all_of: t(\"neetoRules.conditionVerbs.containsAllOf\"),\n contains_none_of: t(\"neetoRules.conditionVerbs.containsNoneOf\"),\n starts_with: t(\"neetoRules.conditionVerbs.startsWith\"),\n ends_with: t(\"neetoRules.conditionVerbs.endsWith\"),\n less_than: t(\"neetoRules.conditionVerbs.lessThan\"),\n greater_than: t(\"neetoRules.conditionVerbs.greaterThan\"),\n any_time: t(\"neetoRules.conditionVerbs.anyTime\"),\n during: t(\"neetoRules.conditionVerbs.during\"),\n not_during: t(\"neetoRules.conditionVerbs.notDuring\"),\n any_of: t(\"neetoRules.conditionVerbs.anyOf\"),\n none_of: t(\"neetoRules.conditionVerbs.noneOf\"),\n is_before: t(\"neetoRules.conditionVerbs.isBefore\"),\n is_after: t(\"neetoRules.conditionVerbs.isAfter\"),\n};\n\nconst CONDITION_VALUE_TYPES = {\n text: \"text\",\n number: \"number\",\n decimal: \"decimal\",\n url: \"url\",\n email: \"email\",\n dropdown: \"dropdown\",\n multiSelect: \"multi-select\",\n multiSelectCreate: \"multi-select-create\",\n date: \"date\",\n regex: \"regex\",\n textarea: \"textarea\",\n};\n\nconst INPUT_FIELD_TYPES = [\n \"email\",\n \"text\",\n \"number\",\n \"decimal\",\n \"url\",\n \"regex\",\n];\n\nconst DATETIME_FORMAT = { date: \"DD/MM/YYYY\", time: \"HH:mm a\" };\n\nconst MAXIMUM_OPTION_LENGTH = 7;\n\nexport {\n OPERATORS,\n OPERATOR_LABELS,\n VERB_LABELS,\n CONDITION_VALUE_TYPES,\n DATETIME_FORMAT,\n MAXIMUM_OPTION_LENGTH,\n INPUT_FIELD_TYPES,\n};\n"],"names":["OPERATORS","or","and","OPERATOR_LABELS","or_operator","t","and_operator","VERB_LABELS","is","is_not","contains","does_not_contain","contains_any_of","contains_all_of","contains_none_of","starts_with","ends_with","less_than","greater_than","any_time","during","not_during","any_of","none_of","is_before","is_after","CONDITION_VALUE_TYPES","text","number","decimal","url","email","dropdown","multiSelect","multiSelectCreate","date","regex","textarea","INPUT_FIELD_TYPES","MAXIMUM_OPTION_LENGTH"],"mappings":";;AAEA,IAAMA,SAAS,GAAG;AAAEC,EAAAA,EAAE,EAAE,aAAa;AAAEC,EAAAA,GAAG,EAAE;AAAe;AAE3D,IAAMC,eAAe,GAAG;AACtBC,EAAAA,WAAW,EAAEC,CAAC,CAAC,yBAAyB,CAAC;EACzCC,YAAY,EAAED,CAAC,CAAC,0BAA0B;AAC5C;AAEA,IAAME,WAAW,GAAG;AAClBC,EAAAA,EAAE,EAAEH,CAAC,CAAC,8BAA8B,CAAC;AACrCI,EAAAA,MAAM,EAAEJ,CAAC,CAAC,iCAAiC,CAAC;AAC5CK,EAAAA,QAAQ,EAAEL,CAAC,CAAC,oCAAoC,CAAC;AACjDM,EAAAA,gBAAgB,EAAEN,CAAC,CAAC,0CAA0C,CAAC;AAC/DO,EAAAA,eAAe,EAAEP,CAAC,CAAC,yCAAyC,CAAC;AAC7DQ,EAAAA,eAAe,EAAER,CAAC,CAAC,yCAAyC,CAAC;AAC7DS,EAAAA,gBAAgB,EAAET,CAAC,CAAC,0CAA0C,CAAC;AAC/DU,EAAAA,WAAW,EAAEV,CAAC,CAAC,sCAAsC,CAAC;AACtDW,EAAAA,SAAS,EAAEX,CAAC,CAAC,oCAAoC,CAAC;AAClDY,EAAAA,SAAS,EAAEZ,CAAC,CAAC,oCAAoC,CAAC;AAClDa,EAAAA,YAAY,EAAEb,CAAC,CAAC,uCAAuC,CAAC;AACxDc,EAAAA,QAAQ,EAAEd,CAAC,CAAC,mCAAmC,CAAC;AAChDe,EAAAA,MAAM,EAAEf,CAAC,CAAC,kCAAkC,CAAC;AAC7CgB,EAAAA,UAAU,EAAEhB,CAAC,CAAC,qCAAqC,CAAC;AACpDiB,EAAAA,MAAM,EAAEjB,CAAC,CAAC,iCAAiC,CAAC;AAC5CkB,EAAAA,OAAO,EAAElB,CAAC,CAAC,kCAAkC,CAAC;AAC9CmB,EAAAA,SAAS,EAAEnB,CAAC,CAAC,oCAAoC,CAAC;EAClDoB,QAAQ,EAAEpB,CAAC,CAAC,mCAAmC;AACjD;AAEA,IAAMqB,qBAAqB,GAAG;AAC5BC,EAAAA,IAAI,EAAE,MAAM;AACZC,EAAAA,MAAM,EAAE,QAAQ;AAChBC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,QAAQ,EAAE,UAAU;AACpBC,EAAAA,WAAW,EAAE,cAAc;AAC3BC,EAAAA,iBAAiB,EAAE,qBAAqB;AACxCC,EAAAA,IAAI,EAAE,MAAM;AACZC,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,QAAQ,EAAE;AACZ;AAEA,IAAMC,iBAAiB,GAAG,CACxB,OAAO,EACP,MAAM,EACN,QAAQ,EACR,SAAS,EACT,KAAK,EACL,OAAO;AAKHC,IAAAA,qBAAqB,GAAG;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-CYeamuNR.js","sources":["../app/javascript/src/apis/automation_rules.js","../app/javascript/src/hooks/reactQuery/useAutomationRulesApi.js","../app/javascript/src/components/NeetoRules/constants.js","../app/javascript/src/components/NeetoRules/RulesReorder/utils.js","../app/javascript/src/components/NeetoRules/RulesReorder/DraggableItem.jsx","../app/javascript/src/components/NeetoRules/RulesReorder/index.jsx"],"sourcesContent":["import axios from \"axios\";\n\nconst fetch = ({ url, ...params }) => axios.get(url, { params });\n\nconst update = ({ url, id, payload }) => axios.patch(`${url}/${id}`, payload);\n\nconst clone = ({ url, id }) => axios.post(`${url}/${id}/clone`);\n\nconst destroy = ({ url, id }) => axios.delete(`${url}/${id}`);\n\nconst reorder = ({ url, payload }) => axios.patch(`${url}/reorder`, payload);\n\nconst automationRulesApi = { fetch, update, clone, destroy, reorder };\n\nexport default automationRulesApi;\n","import { keepPreviousData, useQuery } from \"@tanstack/react-query\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\n\nimport automationRulesApi from \"apis/automation_rules\";\nimport { AUTOMATION_RULES, STALE_TIME } from \"common/constants\";\n\nconst useFetchAutomationRules = (params, options = {}) =>\n useQuery({\n queryKey: [AUTOMATION_RULES, params.url, params],\n queryFn: () => automationRulesApi.fetch(params),\n staleTime: STALE_TIME,\n select: response => response.data || response,\n placeholderData: keepPreviousData,\n ...options,\n });\n\nconst useUpdateAutomationRule = url =>\n useMutationWithInvalidation(automationRulesApi.update, {\n keysToInvalidate: [[AUTOMATION_RULES, url]],\n });\n\nconst useCloneAutomationRule = url =>\n useMutationWithInvalidation(automationRulesApi.clone, {\n keysToInvalidate: [[AUTOMATION_RULES, url]],\n });\n\nconst useDeleteAutomationRule = url =>\n useMutationWithInvalidation(automationRulesApi.destroy, {\n keysToInvalidate: [[AUTOMATION_RULES, url]],\n });\n\nconst useReorderAutomationRules = url =>\n useMutationWithInvalidation(automationRulesApi.reorder, {\n keysToInvalidate: [[AUTOMATION_RULES, url]],\n });\nexport {\n useFetchAutomationRules,\n useUpdateAutomationRule,\n useCloneAutomationRule,\n useDeleteAutomationRule,\n useReorderAutomationRules,\n};\n","export const STATUS_KEYS = { ENABLED: \"enabled\", DISABLED: \"disabled\" };\n\nexport const DEFAULT_INIT_PAGE = 1;\n\nexport const INITIAL_RULES_DATA = { rules: [], totalCount: 0 };\n","export const reorderList = ({\n endIndex,\n firstDisplayOrder,\n list,\n startIndex,\n}) => {\n const result = Array.from(list);\n const [removed] = result.splice(startIndex, 1);\n result.splice(endIndex, 0, removed);\n\n return result.map((item, index) => ({\n ...item,\n displayOrder: firstDisplayOrder + index,\n }));\n};\n\nexport const getDragItemStyle = (isDragging, draggableStyle) => ({\n // styles we need to apply on draggables\n ...draggableStyle,\n\n ...(isDragging && { zIndex: 99999 }),\n});\n","import { Draggable } from \"@hello-pangea/dnd\";\nimport { Reorder } from \"neetoicons\";\nimport { withRouter } from \"react-router-dom\";\n\nimport { getDragItemStyle } from \"./utils\";\n\nconst DraggableItem = props => {\n const { rule, ruleIndex } = props;\n\n return (\n <Draggable draggableId={`item_${rule.id}`} index={ruleIndex}>\n {(provided, snapshot) => (\n <div\n className=\"neeto-ui-text-gray-800 mb-3 flex items-center space-x-4 font-medium\"\n key={`list_${rule.id}`}\n ref={provided.innerRef}\n {...provided.draggableProps}\n {...provided.dragHandleProps}\n style={getDragItemStyle(\n snapshot.isDragging,\n provided.draggableProps.style\n )}\n >\n <Reorder />\n <div\n className=\"neeto-ui-bg-white neeto-ui-border-gray-400 neeto-ui-rounded neeto-ui-shadow-xs flex w-96 items-center space-x-4 border border-solid p-3\"\n data-cy=\"automation-rule-reorder-container\"\n >\n {rule.name}\n </div>\n </div>\n )}\n </Draggable>\n );\n};\n\nexport default withRouter(DraggableItem);\n","import { useEffect, useState } from \"react\";\n\nimport { DragDropContext, Droppable } from \"@hello-pangea/dnd\";\nimport { Reorder as NeetoUIReorderIcon } from \"neetoicons\";\nimport { Pane, Typography, Button, Spinner } from \"neetoui\";\nimport { clone, equals } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n useFetchAutomationRules,\n useReorderAutomationRules,\n} from \"hooks/reactQuery/useAutomationRulesApi\";\n\nimport DraggableItem from \"./DraggableItem\";\nimport { getDragItemStyle, reorderList } from \"./utils\";\n\nimport { INITIAL_RULES_DATA } from \"../constants\";\n\nconst RulesReorder = ({\n isOpen,\n totalCount,\n url,\n onClose,\n onReorderSuccess,\n}) => {\n const [reorderedRules, setReorderedRules] = useState([]);\n\n const { t } = useTranslation();\n\n const { data: { rules } = INITIAL_RULES_DATA, isLoading } =\n useFetchAutomationRules({ pageSize: totalCount, url }, { enabled: isOpen });\n\n const { mutate: reOrder, isPending } = useReorderAutomationRules(url);\n\n const firstDisplayOrder = rules[0]?.displayOrder ?? 1;\n\n const handleReorderSave = () =>\n reOrder(\n { url, payload: { reorder: { rules: reorderedRules } } },\n {\n onSuccess: () => {\n onReorderSuccess?.();\n onClose();\n },\n }\n );\n\n const onDragEnd = ({ destination, source }) => {\n if (!destination || source.index === destination.index) return;\n\n const items = reorderList({\n endIndex: destination.index,\n firstDisplayOrder,\n list: clone(reorderedRules),\n startIndex: source.index,\n });\n setReorderedRules(items);\n };\n\n useEffect(() => {\n setReorderedRules(rules);\n }, [rules]);\n\n if (isLoading) {\n return (\n <Pane {...{ isOpen, onClose }}>\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n </Pane>\n );\n }\n\n return (\n <Pane {...{ isOpen, onClose }}>\n <Pane.Header>\n <Typography style=\"h2\" weight=\"semibold\">\n {t(\"neetoRules.common.reorder\")}\n </Typography>\n </Pane.Header>\n <Pane.Body>\n <Typography className=\"mb-3\" style=\"body2\">\n {t(\"neetoRules.description.reorder\")}\n </Typography>\n <div className=\"flex flex-col items-center\">\n <DragDropContext {...{ onDragEnd }}>\n <Droppable\n droppableId=\"droppable\"\n renderClone={(provided, snapshot, rubric) => (\n <div\n className=\"neeto-ui-text-gray-800 mb-3 flex items-center space-x-4 font-medium\"\n key={`list_${reorderedRules[rubric.source.index].id}`}\n ref={provided.innerRef}\n {...provided.draggableProps}\n {...provided.dragHandleProps}\n style={getDragItemStyle(\n snapshot.isDragging,\n provided.draggableProps.style\n )}\n >\n <NeetoUIReorderIcon />\n <div className=\"neeto-ui-bg-white neeto-ui-border-gray-400 neeto-ui-rounded neeto-ui-shadow-xs flex w-96 items-center space-x-4 border border-solid p-3\">\n <div>{reorderedRules[rubric.source.index].name}</div>\n </div>\n </div>\n )}\n >\n {provided => (\n <div {...provided.droppableProps} ref={provided.innerRef}>\n {reorderedRules.map((rule, index) => (\n <DraggableItem\n {...{ rule }}\n key={rule.id}\n ruleIndex={index}\n />\n ))}\n {provided.placeholder}\n </div>\n )}\n </Droppable>\n </DragDropContext>\n </div>\n </Pane.Body>\n <Pane.Footer className=\"flex items-center gap-x-2\">\n <Button\n disabled={isPending || equals(rules, reorderedRules)}\n label={t(\"neetoRules.common.saveChange\")}\n loading={isPending}\n style=\"primary\"\n onClick={handleReorderSave}\n />\n <Button\n label={t(\"neetoRules.buttons.cancel\")}\n style=\"text\"\n onClick={onClose}\n />\n </Pane.Footer>\n </Pane>\n );\n};\nexport default RulesReorder;\n"],"names":["fetch","_ref","url","params","_objectWithoutProperties","_excluded","axios","get","update","_ref2","id","payload","patch","concat","clone","_ref3","post","destroy","_ref4","reorder","_ref5","automationRulesApi","useFetchAutomationRules","options","arguments","length","undefined","useQuery","_objectSpread","queryKey","AUTOMATION_RULES","queryFn","staleTime","STALE_TIME","select","response","data","placeholderData","keepPreviousData","useUpdateAutomationRule","useMutationWithInvalidation","keysToInvalidate","useCloneAutomationRule","useDeleteAutomationRule","useReorderAutomationRules","INITIAL_RULES_DATA","rules","totalCount","reorderList","endIndex","firstDisplayOrder","list","startIndex","result","Array","from","_result$splice","splice","_result$splice2","_slicedToArray","removed","map","item","index","displayOrder","getDragItemStyle","isDragging","draggableStyle","zIndex","DraggableItem","props","rule","ruleIndex","_jsx","Draggable","draggableId","children","provided","snapshot","_jsxs","className","ref","innerRef","draggableProps","dragHandleProps","style","Reorder","name","withRouter","RulesReorder","_rules$0$displayOrder","_rules$","isOpen","onClose","onReorderSuccess","_useState","useState","_useState2","reorderedRules","setReorderedRules","_useTranslation","useTranslation","t","_useFetchAutomationRu","pageSize","enabled","_useFetchAutomationRu2","_useFetchAutomationRu3","isLoading","_useReorderAutomation","reOrder","mutate","isPending","handleReorderSave","onSuccess","onDragEnd","destination","source","items","useEffect","Pane","Spinner","Header","Typography","weight","Body","DragDropContext","Droppable","droppableId","renderClone","rubric","NeetoUIReorderIcon","droppableProps","_createElement","key","placeholder","Footer","Button","disabled","equals","label","loading","onClick"],"mappings":"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"}