@bigbinary/neeto-rules-frontend 2.5.55 → 2.5.57
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/dist/.ready +1 -1
- package/dist/NeetoRulesForm.js +91 -172
- package/dist/NeetoRulesForm.js.map +1 -1
- package/dist/cjs/NeetoRulesForm.js +34 -115
- package/dist/cjs/NeetoRulesForm.js.map +1 -1
- package/dist/cjs/index.js +1 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/v2/CannedResponsesPane.js +396 -0
- package/dist/cjs/v2/CannedResponsesPane.js.map +1 -0
- package/dist/cjs/v2/NeetoRules.js +486 -0
- package/dist/cjs/v2/NeetoRules.js.map +1 -0
- package/dist/cjs/v2/NeetoRulesForm.js +6818 -0
- package/dist/cjs/v2/NeetoRulesForm.js.map +1 -0
- package/dist/cjs/v2/RulePreview.js +513 -0
- package/dist/cjs/v2/RulePreview.js.map +1 -0
- package/dist/cjs/v2/RulesReorder.js +24 -0
- package/dist/cjs/v2/RulesReorder.js.map +1 -0
- package/dist/cjs/v2/constants.js +8 -0
- package/dist/cjs/v2/constants.js.map +1 -0
- package/dist/cjs/v2/hooks.js +15 -0
- package/dist/cjs/v2/hooks.js.map +1 -0
- package/dist/cjs/v2/index.js +86 -0
- package/dist/cjs/v2/index.js.map +1 -0
- package/dist/constants-CYdcft3h.js +53 -0
- package/dist/constants-CYdcft3h.js.map +1 -0
- package/dist/constants-dLBadaIU.js +60 -0
- package/dist/constants-dLBadaIU.js.map +1 -0
- package/dist/index-BBcadHIi.js +208 -0
- package/dist/index-BBcadHIi.js.map +1 -0
- package/dist/index-CSnQp41c.js +211 -0
- package/dist/index-CSnQp41c.js.map +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/useCustomDataStore-D7hl6nev.js +74 -0
- package/dist/useCustomDataStore-D7hl6nev.js.map +1 -0
- package/dist/useCustomDataStore-DipT25Pg.js +77 -0
- package/dist/useCustomDataStore-DipT25Pg.js.map +1 -0
- package/dist/useDebouncedUpdate-6Ibug5MF.js +108 -0
- package/dist/useDebouncedUpdate-6Ibug5MF.js.map +1 -0
- package/dist/useDebouncedUpdate-BcPAGgg7.js +103 -0
- package/dist/useDebouncedUpdate-BcPAGgg7.js.map +1 -0
- package/dist/useUtilityStore-BBb39TOj.js +53 -0
- package/dist/useUtilityStore-BBb39TOj.js.map +1 -0
- package/dist/useUtilityStore-DkxAexDw.js +55 -0
- package/dist/useUtilityStore-DkxAexDw.js.map +1 -0
- package/dist/v2/CannedResponsesPane.js +394 -0
- package/dist/v2/CannedResponsesPane.js.map +1 -0
- package/dist/v2/NeetoRules.js +484 -0
- package/dist/v2/NeetoRules.js.map +1 -0
- package/dist/v2/NeetoRulesForm.js +6797 -0
- package/dist/v2/NeetoRulesForm.js.map +1 -0
- package/dist/v2/RulePreview.js +511 -0
- package/dist/v2/RulePreview.js.map +1 -0
- package/dist/v2/RulesReorder.js +18 -0
- package/dist/v2/RulesReorder.js.map +1 -0
- package/dist/v2/constants.js +2 -0
- package/dist/v2/constants.js.map +1 -0
- package/dist/v2/hooks.js +8 -0
- package/dist/v2/hooks.js.map +1 -0
- package/dist/v2/index.js +74 -0
- package/dist/v2/index.js.map +1 -0
- package/package.json +30 -18
- package/types.d.ts +1 -0
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
4
|
+
var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
5
|
+
var react = require('react');
|
|
6
|
+
var neetoAtoms = require('@bigbinary/neeto-atoms');
|
|
7
|
+
var dnd = require('@hello-pangea/dnd');
|
|
8
|
+
var Drag = require('@bigbinary/neeto-icons/Drag');
|
|
9
|
+
var ramda = require('ramda');
|
|
10
|
+
var reactI18next = require('react-i18next');
|
|
11
|
+
var useAutomationRulesApi = require('./useAutomationRulesApi-C1T2E1AN.js');
|
|
12
|
+
var reactRouterDom = require('react-router-dom');
|
|
13
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
14
|
+
|
|
15
|
+
var INITIAL_RULES_DATA = {
|
|
16
|
+
rules: [],
|
|
17
|
+
totalCount: 0
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
function ownKeys$2(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; }
|
|
21
|
+
function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$2(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$2(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
22
|
+
var reorderList = function reorderList(_ref) {
|
|
23
|
+
var endIndex = _ref.endIndex,
|
|
24
|
+
firstDisplayOrder = _ref.firstDisplayOrder,
|
|
25
|
+
list = _ref.list,
|
|
26
|
+
startIndex = _ref.startIndex;
|
|
27
|
+
var result = Array.from(list);
|
|
28
|
+
var _result$splice = result.splice(startIndex, 1),
|
|
29
|
+
_result$splice2 = _slicedToArray(_result$splice, 1),
|
|
30
|
+
removed = _result$splice2[0];
|
|
31
|
+
result.splice(endIndex, 0, removed);
|
|
32
|
+
return result.map(function (item, index) {
|
|
33
|
+
return _objectSpread$2(_objectSpread$2({}, item), {}, {
|
|
34
|
+
displayOrder: firstDisplayOrder + index
|
|
35
|
+
});
|
|
36
|
+
});
|
|
37
|
+
};
|
|
38
|
+
var getDragItemStyle = function getDragItemStyle(isDragging, draggableStyle) {
|
|
39
|
+
return _objectSpread$2(_objectSpread$2({}, draggableStyle), isDragging && {
|
|
40
|
+
zIndex: 99999
|
|
41
|
+
});
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
function ownKeys$1(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; }
|
|
45
|
+
function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
46
|
+
var DraggableItem = function DraggableItem(props) {
|
|
47
|
+
var rule = props.rule,
|
|
48
|
+
ruleIndex = props.ruleIndex;
|
|
49
|
+
return /*#__PURE__*/jsxRuntime.jsx(dnd.Draggable, {
|
|
50
|
+
draggableId: "item_".concat(rule.id),
|
|
51
|
+
index: ruleIndex,
|
|
52
|
+
children: function children(provided, snapshot) {
|
|
53
|
+
return /*#__PURE__*/jsxRuntime.jsxs("div", _objectSpread$1(_objectSpread$1(_objectSpread$1({
|
|
54
|
+
className: "neeto-ui-text-gray-800 mb-3 flex w-full items-center gap-1 font-medium",
|
|
55
|
+
ref: provided.innerRef
|
|
56
|
+
}, provided.draggableProps), provided.dragHandleProps), {}, {
|
|
57
|
+
style: getDragItemStyle(snapshot.isDragging, provided.draggableProps.style),
|
|
58
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(Drag, {
|
|
59
|
+
className: "neeto-ui-text-gray-400 hover:neeto-ui-text-gray-500 -ms-1 cursor-grab transition-all duration-300 ease-in-out",
|
|
60
|
+
size: 16
|
|
61
|
+
}), /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
62
|
+
className: "neeto-ui-bg-white neeto-ui-border-gray-300 neeto-ui-rounded flex w-full items-center space-x-4 border p-3",
|
|
63
|
+
"data-testid": "automation-rule-reorder-container",
|
|
64
|
+
children: rule.name
|
|
65
|
+
})]
|
|
66
|
+
}), "list_".concat(rule.id));
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
};
|
|
70
|
+
var DraggableItem$1 = reactRouterDom.withRouter(DraggableItem);
|
|
71
|
+
|
|
72
|
+
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; }
|
|
73
|
+
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; }
|
|
74
|
+
var RulesReorder = function RulesReorder(_ref) {
|
|
75
|
+
var _rules$0$displayOrder, _rules$;
|
|
76
|
+
var isOpen = _ref.isOpen,
|
|
77
|
+
totalCount = _ref.totalCount,
|
|
78
|
+
url = _ref.url,
|
|
79
|
+
onClose = _ref.onClose,
|
|
80
|
+
onReorderSuccess = _ref.onReorderSuccess;
|
|
81
|
+
var _useState = react.useState([]),
|
|
82
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
83
|
+
reorderedRules = _useState2[0],
|
|
84
|
+
setReorderedRules = _useState2[1];
|
|
85
|
+
var _useTranslation = reactI18next.useTranslation(),
|
|
86
|
+
t = _useTranslation.t;
|
|
87
|
+
var _useFetchAutomationRu = useAutomationRulesApi.useFetchAutomationRules({
|
|
88
|
+
pageSize: totalCount,
|
|
89
|
+
url: url
|
|
90
|
+
}, {
|
|
91
|
+
enabled: isOpen
|
|
92
|
+
}),
|
|
93
|
+
_useFetchAutomationRu2 = _useFetchAutomationRu.data,
|
|
94
|
+
_useFetchAutomationRu3 = _useFetchAutomationRu2 === void 0 ? INITIAL_RULES_DATA : _useFetchAutomationRu2,
|
|
95
|
+
rules = _useFetchAutomationRu3.rules,
|
|
96
|
+
isLoading = _useFetchAutomationRu.isLoading;
|
|
97
|
+
var _useReorderAutomation = useAutomationRulesApi.useReorderAutomationRules(url),
|
|
98
|
+
reOrder = _useReorderAutomation.mutate,
|
|
99
|
+
isPending = _useReorderAutomation.isPending;
|
|
100
|
+
var firstDisplayOrder = (_rules$0$displayOrder = (_rules$ = rules[0]) === null || _rules$ === void 0 ? void 0 : _rules$.displayOrder) !== null && _rules$0$displayOrder !== void 0 ? _rules$0$displayOrder : 1;
|
|
101
|
+
var handleReorderSave = function handleReorderSave() {
|
|
102
|
+
return reOrder({
|
|
103
|
+
url: url,
|
|
104
|
+
payload: {
|
|
105
|
+
reorder: {
|
|
106
|
+
rules: reorderedRules
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}, {
|
|
110
|
+
onSuccess: function onSuccess() {
|
|
111
|
+
onReorderSuccess === null || onReorderSuccess === void 0 || onReorderSuccess();
|
|
112
|
+
onClose();
|
|
113
|
+
}
|
|
114
|
+
});
|
|
115
|
+
};
|
|
116
|
+
var onDragEnd = function onDragEnd(_ref2) {
|
|
117
|
+
var destination = _ref2.destination,
|
|
118
|
+
source = _ref2.source;
|
|
119
|
+
if (!destination || source.index === destination.index) return;
|
|
120
|
+
var items = reorderList({
|
|
121
|
+
endIndex: destination.index,
|
|
122
|
+
firstDisplayOrder: firstDisplayOrder,
|
|
123
|
+
list: ramda.clone(reorderedRules),
|
|
124
|
+
startIndex: source.index
|
|
125
|
+
});
|
|
126
|
+
setReorderedRules(items);
|
|
127
|
+
};
|
|
128
|
+
react.useEffect(function () {
|
|
129
|
+
setReorderedRules(rules);
|
|
130
|
+
}, [rules]);
|
|
131
|
+
if (isLoading) {
|
|
132
|
+
return /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Sheet, {
|
|
133
|
+
isOpen: isOpen,
|
|
134
|
+
onClose: onClose,
|
|
135
|
+
children: /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
136
|
+
className: "flex h-full w-full items-center justify-center",
|
|
137
|
+
children: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Spinner, {})
|
|
138
|
+
})
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
return /*#__PURE__*/jsxRuntime.jsxs(neetoAtoms.Sheet, {
|
|
142
|
+
isOpen: isOpen,
|
|
143
|
+
onClose: onClose,
|
|
144
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Sheet.Header, {
|
|
145
|
+
children: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Sheet.Title, {
|
|
146
|
+
children: t("neetoRules.common.reorder")
|
|
147
|
+
})
|
|
148
|
+
}), /*#__PURE__*/jsxRuntime.jsxs(neetoAtoms.Sheet.Body, {
|
|
149
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
|
|
150
|
+
className: "mb-3",
|
|
151
|
+
variant: "body2",
|
|
152
|
+
children: t("neetoRules.description.reorder")
|
|
153
|
+
}), /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
154
|
+
className: "flex flex-col items-center w-full",
|
|
155
|
+
children: /*#__PURE__*/jsxRuntime.jsx(dnd.DragDropContext, {
|
|
156
|
+
onDragEnd: onDragEnd,
|
|
157
|
+
children: /*#__PURE__*/jsxRuntime.jsx(dnd.Droppable, {
|
|
158
|
+
droppableId: "droppable",
|
|
159
|
+
renderClone: function renderClone(provided, snapshot, rubric) {
|
|
160
|
+
return /*#__PURE__*/jsxRuntime.jsxs("div", _objectSpread(_objectSpread(_objectSpread({
|
|
161
|
+
className: "neeto-ui-text-gray-800 mb-3 flex w-full items-center gap-1 font-medium",
|
|
162
|
+
ref: provided.innerRef
|
|
163
|
+
}, provided.draggableProps), provided.dragHandleProps), {}, {
|
|
164
|
+
style: getDragItemStyle(snapshot.isDragging, provided.draggableProps.style),
|
|
165
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(Drag, {
|
|
166
|
+
className: "neeto-ui-text-gray-400 hover:neeto-ui-text-gray-500 -ms-1 cursor-grab transition-all duration-300 ease-in-out",
|
|
167
|
+
size: 16
|
|
168
|
+
}), /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
169
|
+
className: "neeto-ui-bg-white grow neeto-ui-border-gray-300 neeto-ui-rounded flex items-center space-x-4 border p-3",
|
|
170
|
+
children: /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
171
|
+
children: reorderedRules[rubric.source.index].name
|
|
172
|
+
})
|
|
173
|
+
})]
|
|
174
|
+
}), "list_".concat(reorderedRules[rubric.source.index].id));
|
|
175
|
+
},
|
|
176
|
+
children: function children(provided) {
|
|
177
|
+
return /*#__PURE__*/jsxRuntime.jsxs("div", _objectSpread(_objectSpread({
|
|
178
|
+
className: "w-full"
|
|
179
|
+
}, provided.droppableProps), {}, {
|
|
180
|
+
ref: provided.innerRef,
|
|
181
|
+
children: [reorderedRules.map(function (rule, index) {
|
|
182
|
+
return /*#__PURE__*/react.createElement(DraggableItem$1, {
|
|
183
|
+
rule: rule,
|
|
184
|
+
key: rule.id,
|
|
185
|
+
ruleIndex: index
|
|
186
|
+
});
|
|
187
|
+
}), provided.placeholder]
|
|
188
|
+
}));
|
|
189
|
+
}
|
|
190
|
+
})
|
|
191
|
+
})
|
|
192
|
+
})]
|
|
193
|
+
}), /*#__PURE__*/jsxRuntime.jsxs(neetoAtoms.Sheet.Footer, {
|
|
194
|
+
className: "flex items-center gap-x-2",
|
|
195
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Button, {
|
|
196
|
+
disabled: isPending || ramda.equals(rules, reorderedRules),
|
|
197
|
+
label: t("neetoRules.common.saveChange"),
|
|
198
|
+
loading: isPending,
|
|
199
|
+
onClick: handleReorderSave
|
|
200
|
+
}), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Button, {
|
|
201
|
+
label: t("neetoRules.buttons.cancel"),
|
|
202
|
+
variant: "ghost",
|
|
203
|
+
onClick: onClose
|
|
204
|
+
})]
|
|
205
|
+
})]
|
|
206
|
+
});
|
|
207
|
+
};
|
|
208
|
+
|
|
209
|
+
exports.INITIAL_RULES_DATA = INITIAL_RULES_DATA;
|
|
210
|
+
exports.RulesReorder = RulesReorder;
|
|
211
|
+
//# sourceMappingURL=index-CSnQp41c.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-CSnQp41c.js","sources":["../app/javascript/src/v2/components/NeetoRules/constants.js","../app/javascript/src/v2/components/NeetoRules/RulesReorder/utils.js","../app/javascript/src/v2/components/NeetoRules/RulesReorder/DraggableItem.jsx","../app/javascript/src/v2/components/NeetoRules/RulesReorder/index.jsx"],"sourcesContent":["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 { Drag } 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 w-full items-center gap-1 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 <Drag\n className=\"neeto-ui-text-gray-400 hover:neeto-ui-text-gray-500 -ms-1 cursor-grab transition-all duration-300 ease-in-out\"\n size={16}\n />\n <div\n className=\"neeto-ui-bg-white neeto-ui-border-gray-300 neeto-ui-rounded flex w-full items-center space-x-4 border p-3\"\n data-testid=\"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 { Button, Sheet, Spinner, Typography } from \"@bigbinary/neeto-atoms\";\nimport { DragDropContext, Droppable } from \"@hello-pangea/dnd\";\nimport { Drag } from \"neetoicons\";\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 <Sheet {...{ isOpen, onClose }}>\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n </Sheet>\n );\n }\n\n return (\n <Sheet {...{ isOpen, onClose }}>\n <Sheet.Header>\n <Sheet.Title>{t(\"neetoRules.common.reorder\")}</Sheet.Title>\n </Sheet.Header>\n <Sheet.Body>\n <Typography className=\"mb-3\" variant=\"body2\">\n {t(\"neetoRules.description.reorder\")}\n </Typography>\n <div className=\"flex flex-col items-center w-full\">\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 w-full items-center gap-1 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 <Drag\n className=\"neeto-ui-text-gray-400 hover:neeto-ui-text-gray-500 -ms-1 cursor-grab transition-all duration-300 ease-in-out\"\n size={16}\n />\n <div className=\"neeto-ui-bg-white grow neeto-ui-border-gray-300 neeto-ui-rounded flex items-center space-x-4 border p-3\">\n <div>{reorderedRules[rubric.source.index].name}</div>\n </div>\n </div>\n )}\n >\n {provided => (\n <div\n className=\"w-full\"\n {...provided.droppableProps}\n ref={provided.innerRef}\n >\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 </Sheet.Body>\n <Sheet.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 onClick={handleReorderSave}\n />\n <Button\n label={t(\"neetoRules.buttons.cancel\")}\n variant=\"ghost\"\n onClick={onClose}\n />\n </Sheet.Footer>\n </Sheet>\n );\n};\nexport default RulesReorder;\n"],"names":["INITIAL_RULES_DATA","rules","totalCount","reorderList","_ref","endIndex","firstDisplayOrder","list","startIndex","result","Array","from","_result$splice","splice","_result$splice2","_slicedToArray","removed","map","item","index","_objectSpread","displayOrder","getDragItemStyle","isDragging","draggableStyle","zIndex","DraggableItem","props","rule","ruleIndex","_jsx","Draggable","draggableId","concat","id","children","provided","snapshot","_jsxs","className","ref","innerRef","draggableProps","dragHandleProps","style","Drag","size","name","withRouter","RulesReorder","_rules$0$displayOrder","_rules$","isOpen","url","onClose","onReorderSuccess","_useState","useState","_useState2","reorderedRules","setReorderedRules","_useTranslation","useTranslation","t","_useFetchAutomationRu","useFetchAutomationRules","pageSize","enabled","_useFetchAutomationRu2","data","_useFetchAutomationRu3","isLoading","_useReorderAutomation","useReorderAutomationRules","reOrder","mutate","isPending","handleReorderSave","payload","reorder","onSuccess","onDragEnd","_ref2","destination","source","items","clone","useEffect","Sheet","Spinner","Header","Title","Body","Typography","variant","DragDropContext","Droppable","droppableId","renderClone","rubric","droppableProps","_createElement","key","placeholder","Footer","Button","disabled","equals","label","loading","onClick"],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -52,6 +52,7 @@ import '@hello-pangea/dnd';
|
|
|
52
52
|
import '@bigbinary/neeto-icons/Drag';
|
|
53
53
|
import 'react-router-dom';
|
|
54
54
|
import '@babel/runtime/helpers/objectDestructuringEmpty';
|
|
55
|
+
import './useDebouncedUpdate-BcPAGgg7.js';
|
|
55
56
|
import '@bigbinary/neeto-icons/Plus';
|
|
56
57
|
import '@bigbinary/neeto-icons/Delete';
|
|
57
58
|
import 'classnames';
|
package/dist/index.js.map
CHANGED
|
@@ -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,74 @@
|
|
|
1
|
+
import { shallow } from 'zustand/shallow';
|
|
2
|
+
import { useRef, useEffect } from 'react';
|
|
3
|
+
import { assocPath } from 'ramda';
|
|
4
|
+
import { u as useUtilityStore } from './useUtilityStore-BBb39TOj.js';
|
|
5
|
+
import { withImmutableActions } from '@bigbinary/neeto-commons-frontend/v2/react-utils';
|
|
6
|
+
import { create } from 'zustand';
|
|
7
|
+
|
|
8
|
+
var useActiveField = function useActiveField(name) {
|
|
9
|
+
var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
|
|
10
|
+
_ref$shouldAutoFocus = _ref.shouldAutoFocus,
|
|
11
|
+
shouldAutoFocus = _ref$shouldAutoFocus === void 0 ? false : _ref$shouldAutoFocus;
|
|
12
|
+
var ref = useRef(null);
|
|
13
|
+
var shouldFocusRef = useRef(true);
|
|
14
|
+
var _useUtilityStore = useUtilityStore(function (store) {
|
|
15
|
+
return {
|
|
16
|
+
setPanelState: store["setPanelState"]
|
|
17
|
+
};
|
|
18
|
+
}, shallow),
|
|
19
|
+
setPanelState = _useUtilityStore.setPanelState;
|
|
20
|
+
var _useUtilityStore2 = useUtilityStore(function (store) {
|
|
21
|
+
var _store$panelState;
|
|
22
|
+
return {
|
|
23
|
+
activeField: (_store$panelState = store["panelState"]) === null || _store$panelState === void 0 || (_store$panelState = _store$panelState["data"]) === null || _store$panelState === void 0 ? void 0 : _store$panelState["activeField"]
|
|
24
|
+
};
|
|
25
|
+
}, shallow),
|
|
26
|
+
activeField = _useUtilityStore2.activeField;
|
|
27
|
+
var isFieldActive = activeField === name;
|
|
28
|
+
useEffect(function () {
|
|
29
|
+
if (!shouldAutoFocus || activeField) return;
|
|
30
|
+
setFieldActive();
|
|
31
|
+
}, [name]);
|
|
32
|
+
useEffect(function () {
|
|
33
|
+
var shouldFocus = shouldFocusRef.current;
|
|
34
|
+
shouldFocusRef.current = true;
|
|
35
|
+
if (!isFieldActive || !shouldFocus) return;
|
|
36
|
+
requestAnimationFrame(function () {
|
|
37
|
+
var _ref$current, _ref$current$focus;
|
|
38
|
+
return ref === null || ref === void 0 || (_ref$current = ref.current) === null || _ref$current === void 0 || (_ref$current$focus = _ref$current.focus) === null || _ref$current$focus === void 0 ? void 0 : _ref$current$focus.call(_ref$current);
|
|
39
|
+
});
|
|
40
|
+
}, [isFieldActive]);
|
|
41
|
+
var setFieldActive = function setFieldActive() {
|
|
42
|
+
var needsRerender = !ref.current && isFieldActive;
|
|
43
|
+
shouldFocusRef.current = !ref.current;
|
|
44
|
+
if (needsRerender) {
|
|
45
|
+
setPanelState(assocPath(["data", "activeField"], null));
|
|
46
|
+
requestAnimationFrame(function () {
|
|
47
|
+
return setPanelState(assocPath(["data", "activeField"], name));
|
|
48
|
+
});
|
|
49
|
+
} else {
|
|
50
|
+
setPanelState(assocPath(["data", "activeField"], name));
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
var resetActiveField = function resetActiveField() {
|
|
54
|
+
return setPanelState(assocPath(["data", "activeField"], null));
|
|
55
|
+
};
|
|
56
|
+
return {
|
|
57
|
+
ref: ref,
|
|
58
|
+
isFieldActive: isFieldActive,
|
|
59
|
+
setFieldActive: setFieldActive,
|
|
60
|
+
resetActiveField: resetActiveField,
|
|
61
|
+
setPanelState: setPanelState
|
|
62
|
+
};
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
/** @type {import("neetocommons/react-utils").ZustandStoreHook} */
|
|
66
|
+
var useCustomDataStore = create(withImmutableActions(function (set) {
|
|
67
|
+
return {
|
|
68
|
+
customData: {},
|
|
69
|
+
setCustomDataState: set
|
|
70
|
+
};
|
|
71
|
+
}));
|
|
72
|
+
|
|
73
|
+
export { useActiveField as a, useCustomDataStore as u };
|
|
74
|
+
//# sourceMappingURL=useCustomDataStore-D7hl6nev.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCustomDataStore-D7hl6nev.js","sources":["../app/javascript/src/v2/components/NeetoRulesForm/hooks/useActiveField.js","../app/javascript/src/v2/components/NeetoRulesForm/stores/useCustomDataStore.js"],"sourcesContent":["import { useEffect, useRef } from \"react\";\n\nimport { assocPath } from \"ramda\";\n\nimport useUtilityStore from \"v2/components/stores/useUtilityStore\";\n\nconst useActiveField = (name, { shouldAutoFocus = false } = {}) => {\n const ref = useRef(null);\n const shouldFocusRef = useRef(true);\n\n const { setPanelState } = useUtilityStore.pick();\n const { activeField } = useUtilityStore.pick([\"panelState\", \"data\"]);\n\n const isFieldActive = activeField === name;\n\n useEffect(() => {\n if (!shouldAutoFocus || activeField) return;\n\n setFieldActive();\n }, [name]);\n\n useEffect(() => {\n const shouldFocus = shouldFocusRef.current;\n shouldFocusRef.current = true;\n\n if (!isFieldActive || !shouldFocus) return;\n\n requestAnimationFrame(() => ref?.current?.focus?.());\n }, [isFieldActive]);\n\n const setFieldActive = () => {\n const needsRerender = !ref.current && isFieldActive;\n shouldFocusRef.current = !ref.current;\n\n if (needsRerender) {\n setPanelState(assocPath([\"data\", \"activeField\"], null));\n requestAnimationFrame(() =>\n setPanelState(assocPath([\"data\", \"activeField\"], name))\n );\n } else {\n setPanelState(assocPath([\"data\", \"activeField\"], name));\n }\n };\n\n const resetActiveField = () =>\n setPanelState(assocPath([\"data\", \"activeField\"], null));\n\n return {\n ref,\n isFieldActive,\n setFieldActive,\n resetActiveField,\n setPanelState,\n };\n};\n\nexport default useActiveField;\n","import { withImmutableActions } from \"neetocommons/v2/react-utils\";\nimport { create } from \"zustand\";\n\n/** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\nconst useCustomDataStore = create(\n withImmutableActions(set => ({ customData: {}, setCustomDataState: set }))\n);\n\nexport default useCustomDataStore;\n"],"names":["useActiveField","name","_ref","arguments","length","undefined","_ref$shouldAutoFocus","shouldAutoFocus","ref","useRef","shouldFocusRef","_useUtilityStore","useUtilityStore","store","setPanelState","shallow","_useUtilityStore2","_store$panelState","activeField","isFieldActive","useEffect","setFieldActive","shouldFocus","current","requestAnimationFrame","_ref$current","_ref$current$focus","focus","call","needsRerender","assocPath","resetActiveField","useCustomDataStore","create","withImmutableActions","set","customData","setCustomDataState"],"mappings":"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"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var shallow = require('zustand/shallow');
|
|
4
|
+
var react = require('react');
|
|
5
|
+
var ramda = require('ramda');
|
|
6
|
+
var useUtilityStore = require('./useUtilityStore-DkxAexDw.js');
|
|
7
|
+
var reactUtils = require('@bigbinary/neeto-commons-frontend/v2/react-utils');
|
|
8
|
+
var zustand = require('zustand');
|
|
9
|
+
|
|
10
|
+
var useActiveField = function useActiveField(name) {
|
|
11
|
+
var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
|
|
12
|
+
_ref$shouldAutoFocus = _ref.shouldAutoFocus,
|
|
13
|
+
shouldAutoFocus = _ref$shouldAutoFocus === void 0 ? false : _ref$shouldAutoFocus;
|
|
14
|
+
var ref = react.useRef(null);
|
|
15
|
+
var shouldFocusRef = react.useRef(true);
|
|
16
|
+
var _useUtilityStore = useUtilityStore.useUtilityStore(function (store) {
|
|
17
|
+
return {
|
|
18
|
+
setPanelState: store["setPanelState"]
|
|
19
|
+
};
|
|
20
|
+
}, shallow.shallow),
|
|
21
|
+
setPanelState = _useUtilityStore.setPanelState;
|
|
22
|
+
var _useUtilityStore2 = useUtilityStore.useUtilityStore(function (store) {
|
|
23
|
+
var _store$panelState;
|
|
24
|
+
return {
|
|
25
|
+
activeField: (_store$panelState = store["panelState"]) === null || _store$panelState === void 0 || (_store$panelState = _store$panelState["data"]) === null || _store$panelState === void 0 ? void 0 : _store$panelState["activeField"]
|
|
26
|
+
};
|
|
27
|
+
}, shallow.shallow),
|
|
28
|
+
activeField = _useUtilityStore2.activeField;
|
|
29
|
+
var isFieldActive = activeField === name;
|
|
30
|
+
react.useEffect(function () {
|
|
31
|
+
if (!shouldAutoFocus || activeField) return;
|
|
32
|
+
setFieldActive();
|
|
33
|
+
}, [name]);
|
|
34
|
+
react.useEffect(function () {
|
|
35
|
+
var shouldFocus = shouldFocusRef.current;
|
|
36
|
+
shouldFocusRef.current = true;
|
|
37
|
+
if (!isFieldActive || !shouldFocus) return;
|
|
38
|
+
requestAnimationFrame(function () {
|
|
39
|
+
var _ref$current, _ref$current$focus;
|
|
40
|
+
return ref === null || ref === void 0 || (_ref$current = ref.current) === null || _ref$current === void 0 || (_ref$current$focus = _ref$current.focus) === null || _ref$current$focus === void 0 ? void 0 : _ref$current$focus.call(_ref$current);
|
|
41
|
+
});
|
|
42
|
+
}, [isFieldActive]);
|
|
43
|
+
var setFieldActive = function setFieldActive() {
|
|
44
|
+
var needsRerender = !ref.current && isFieldActive;
|
|
45
|
+
shouldFocusRef.current = !ref.current;
|
|
46
|
+
if (needsRerender) {
|
|
47
|
+
setPanelState(ramda.assocPath(["data", "activeField"], null));
|
|
48
|
+
requestAnimationFrame(function () {
|
|
49
|
+
return setPanelState(ramda.assocPath(["data", "activeField"], name));
|
|
50
|
+
});
|
|
51
|
+
} else {
|
|
52
|
+
setPanelState(ramda.assocPath(["data", "activeField"], name));
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
var resetActiveField = function resetActiveField() {
|
|
56
|
+
return setPanelState(ramda.assocPath(["data", "activeField"], null));
|
|
57
|
+
};
|
|
58
|
+
return {
|
|
59
|
+
ref: ref,
|
|
60
|
+
isFieldActive: isFieldActive,
|
|
61
|
+
setFieldActive: setFieldActive,
|
|
62
|
+
resetActiveField: resetActiveField,
|
|
63
|
+
setPanelState: setPanelState
|
|
64
|
+
};
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
/** @type {import("neetocommons/react-utils").ZustandStoreHook} */
|
|
68
|
+
var useCustomDataStore = zustand.create(reactUtils.withImmutableActions(function (set) {
|
|
69
|
+
return {
|
|
70
|
+
customData: {},
|
|
71
|
+
setCustomDataState: set
|
|
72
|
+
};
|
|
73
|
+
}));
|
|
74
|
+
|
|
75
|
+
exports.useActiveField = useActiveField;
|
|
76
|
+
exports.useCustomDataStore = useCustomDataStore;
|
|
77
|
+
//# sourceMappingURL=useCustomDataStore-DipT25Pg.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCustomDataStore-DipT25Pg.js","sources":["../app/javascript/src/v2/components/NeetoRulesForm/hooks/useActiveField.js","../app/javascript/src/v2/components/NeetoRulesForm/stores/useCustomDataStore.js"],"sourcesContent":["import { useEffect, useRef } from \"react\";\n\nimport { assocPath } from \"ramda\";\n\nimport useUtilityStore from \"v2/components/stores/useUtilityStore\";\n\nconst useActiveField = (name, { shouldAutoFocus = false } = {}) => {\n const ref = useRef(null);\n const shouldFocusRef = useRef(true);\n\n const { setPanelState } = useUtilityStore.pick();\n const { activeField } = useUtilityStore.pick([\"panelState\", \"data\"]);\n\n const isFieldActive = activeField === name;\n\n useEffect(() => {\n if (!shouldAutoFocus || activeField) return;\n\n setFieldActive();\n }, [name]);\n\n useEffect(() => {\n const shouldFocus = shouldFocusRef.current;\n shouldFocusRef.current = true;\n\n if (!isFieldActive || !shouldFocus) return;\n\n requestAnimationFrame(() => ref?.current?.focus?.());\n }, [isFieldActive]);\n\n const setFieldActive = () => {\n const needsRerender = !ref.current && isFieldActive;\n shouldFocusRef.current = !ref.current;\n\n if (needsRerender) {\n setPanelState(assocPath([\"data\", \"activeField\"], null));\n requestAnimationFrame(() =>\n setPanelState(assocPath([\"data\", \"activeField\"], name))\n );\n } else {\n setPanelState(assocPath([\"data\", \"activeField\"], name));\n }\n };\n\n const resetActiveField = () =>\n setPanelState(assocPath([\"data\", \"activeField\"], null));\n\n return {\n ref,\n isFieldActive,\n setFieldActive,\n resetActiveField,\n setPanelState,\n };\n};\n\nexport default useActiveField;\n","import { withImmutableActions } from \"neetocommons/v2/react-utils\";\nimport { create } from \"zustand\";\n\n/** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\nconst useCustomDataStore = create(\n withImmutableActions(set => ({ customData: {}, setCustomDataState: set }))\n);\n\nexport default useCustomDataStore;\n"],"names":["useActiveField","name","_ref","arguments","length","undefined","_ref$shouldAutoFocus","shouldAutoFocus","ref","useRef","shouldFocusRef","_useUtilityStore","useUtilityStore","store","setPanelState","shallow","_useUtilityStore2","_store$panelState","activeField","isFieldActive","useEffect","setFieldActive","shouldFocus","current","requestAnimationFrame","_ref$current","_ref$current$focus","focus","call","needsRerender","assocPath","resetActiveField","useCustomDataStore","create","withImmutableActions","set","customData","setCustomDataState"],"mappings":"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"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var react = require('react');
|
|
4
|
+
var i18next = require('i18next');
|
|
5
|
+
var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
6
|
+
var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
|
|
7
|
+
|
|
8
|
+
var e=[],t=[];function n(n,r){if(n&&"undefined"!=typeof document){var a,s=true===r.prepend?"prepend":"append",d=true===r.singleTag,i="string"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName("head")[0];if(d){var u=e.indexOf(i);-1===u&&(u=e.push(i)-1,t[u]={}),a=t[u]&&t[u][s]?t[u][s]:t[u][s]=c();}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n));}function c(){var e=document.createElement("style");if(e.setAttribute("type","text/css"),r.attributes)for(var t=Object.keys(r.attributes),n=0;n<t.length;n++)e.setAttribute(t[n],r.attributes[t[n]]);var a="prepend"===s?"afterbegin":"beforeend";return i.insertAdjacentElement(a,e),e}}
|
|
9
|
+
|
|
10
|
+
var css = ".neeto-rules-main-content__container{height:100dvh!important}.neeto-rules-main-card .neeto-ui-btn.underline{text-align:start}.neeto-rules-side-panel{flex-grow:0;flex-shrink:0}.neeto-rules-side-panel--small{width:320px}.neeto-rules-side-panel--large{width:380px}@media (min-width:1024px){.neeto-rules-side-panel--small{width:380px}.neeto-rules-side-panel--large{width:480px}}.neeto-rules-json-editor__wrapper{height:35vh;padding-bottom:2rem;position:relative}.neeto-rules-json-editor__editor{height:100%}.neeto-rules-json-editor__dynamic-variables{inset-inline-end:1rem;position:absolute;top:1rem;z-index:10}[data-tippy-root]{z-index:99999!important}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC9qYXZhc2NyaXB0L3NyYy9zdHlsZXNoZWV0cy9jb21wb25lbnRzL2xheW91dC5jc3MiLCJhcHAvamF2YXNjcmlwdC9zcmMvc3R5bGVzaGVldHMvY29tcG9uZW50cy9wYW5lLmNzcyIsImFwcC9qYXZhc2NyaXB0L3NyYy9zdHlsZXNoZWV0cy9jb21wb25lbnRzL2pzb24tZWRpdG9yLmNzcyIsImFwcC9qYXZhc2NyaXB0L3NyYy9zdHlsZXNoZWV0cy9jb21wb25lbnRzL2Ryb3Bkb3duLmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxxQ0FDRSx1QkFDRixDQUVBLCtDQUNFLGdCQUNGLENDTkEsd0JBRUUsV0FBWSxDQURaLGFBRUYsQ0FFQSwrQkFDRSxXQUNGLENBRUEsK0JBQ0UsV0FDRixDQUVBLDBCQUNFLCtCQUNFLFdBQ0YsQ0FDQSwrQkFDRSxXQUNGLENBQ0YsQ0NwQkEsa0NBRUUsV0FBWSxDQUNaLG1CQUFvQixDQUZwQixpQkFHRixDQUVBLGlDQUNFLFdBQ0YsQ0FFQSw0Q0FHRSxxQkFBc0IsQ0FGdEIsaUJBQWtCLENBQ2xCLFFBQVMsQ0FFVCxVQUNGLENDZkEsa0JBQ0UsdUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIubmVldG8tcnVsZXMtbWFpbi1jb250ZW50X19jb250YWluZXIge1xuICBoZWlnaHQ6IDEwMGR2aCAhaW1wb3J0YW50O1xufVxuXG4ubmVldG8tcnVsZXMtbWFpbi1jYXJkIC5uZWV0by11aS1idG4udW5kZXJsaW5lIHtcbiAgdGV4dC1hbGlnbjogc3RhcnQ7XG59XG4iLCIubmVldG8tcnVsZXMtc2lkZS1wYW5lbCB7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBmbGV4LWdyb3c6IDA7XG59XG5cbi5uZWV0by1ydWxlcy1zaWRlLXBhbmVsLS1zbWFsbCB7XG4gIHdpZHRoOiAzMjBweDtcbn1cblxuLm5lZXRvLXJ1bGVzLXNpZGUtcGFuZWwtLWxhcmdlIHtcbiAgd2lkdGg6IDM4MHB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5uZWV0by1ydWxlcy1zaWRlLXBhbmVsLS1zbWFsbCB7XG4gICAgd2lkdGg6IDM4MHB4O1xuICB9XG4gIC5uZWV0by1ydWxlcy1zaWRlLXBhbmVsLS1sYXJnZSB7XG4gICAgd2lkdGg6IDQ4MHB4O1xuICB9XG59XG4iLCIubmVldG8tcnVsZXMtanNvbi1lZGl0b3JfX3dyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMzV2aDtcbiAgcGFkZGluZy1ib3R0b206IDJyZW07XG59XG5cbi5uZWV0by1ydWxlcy1qc29uLWVkaXRvcl9fZWRpdG9yIHtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4ubmVldG8tcnVsZXMtanNvbi1lZGl0b3JfX2R5bmFtaWMtdmFyaWFibGVzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDFyZW07XG4gIGluc2V0LWlubGluZS1lbmQ6IDFyZW07XG4gIHotaW5kZXg6IDEwO1xufVxuIiwiW2RhdGEtdGlwcHktcm9vdF0ge1xuICB6LWluZGV4OiA5OTk5OSAhaW1wb3J0YW50O1xufVxuIl19 */";
|
|
11
|
+
n(css,{});
|
|
12
|
+
|
|
13
|
+
function isBuffer (obj) {
|
|
14
|
+
return obj &&
|
|
15
|
+
obj.constructor &&
|
|
16
|
+
(typeof obj.constructor.isBuffer === 'function') &&
|
|
17
|
+
obj.constructor.isBuffer(obj)
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
function keyIdentity (key) {
|
|
21
|
+
return key
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
function flatten (target, opts) {
|
|
25
|
+
opts = opts || {};
|
|
26
|
+
|
|
27
|
+
const delimiter = opts.delimiter || '.';
|
|
28
|
+
const maxDepth = opts.maxDepth;
|
|
29
|
+
const transformKey = opts.transformKey || keyIdentity;
|
|
30
|
+
const output = {};
|
|
31
|
+
|
|
32
|
+
function step (object, prev, currentDepth) {
|
|
33
|
+
currentDepth = currentDepth || 1;
|
|
34
|
+
Object.keys(object).forEach(function (key) {
|
|
35
|
+
const value = object[key];
|
|
36
|
+
const isarray = opts.safe && Array.isArray(value);
|
|
37
|
+
const type = Object.prototype.toString.call(value);
|
|
38
|
+
const isbuffer = isBuffer(value);
|
|
39
|
+
const isobject = (
|
|
40
|
+
type === '[object Object]' ||
|
|
41
|
+
type === '[object Array]'
|
|
42
|
+
);
|
|
43
|
+
|
|
44
|
+
const newKey = prev
|
|
45
|
+
? prev + delimiter + transformKey(key)
|
|
46
|
+
: transformKey(key);
|
|
47
|
+
|
|
48
|
+
if (!isarray && !isbuffer && isobject && Object.keys(value).length &&
|
|
49
|
+
(!opts.maxDepth || currentDepth < maxDepth)) {
|
|
50
|
+
return step(value, newKey, currentDepth + 1)
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
output[newKey] = value;
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
step(target);
|
|
58
|
+
|
|
59
|
+
return output
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
var useOnClickOutside = function useOnClickOutside(ref, handler) {
|
|
63
|
+
react.useEffect(function () {
|
|
64
|
+
var listener = function listener(event) {
|
|
65
|
+
// Do nothing if clicking ref's element or descendent elements
|
|
66
|
+
if (!ref.current || ref.current.contains(event.target)) {
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
handler(event);
|
|
70
|
+
};
|
|
71
|
+
document.addEventListener("mousedown", listener);
|
|
72
|
+
document.addEventListener("touchstart", listener);
|
|
73
|
+
return function () {
|
|
74
|
+
document.removeEventListener("mousedown", listener);
|
|
75
|
+
document.removeEventListener("touchstart", listener);
|
|
76
|
+
};
|
|
77
|
+
}, [handler]);
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
var SHORTCUTS = {
|
|
81
|
+
cancel: {
|
|
82
|
+
sequence: "escape",
|
|
83
|
+
description: i18next.t("neetoRules.shortcuts.cancel")
|
|
84
|
+
},
|
|
85
|
+
submit: {
|
|
86
|
+
sequence: "enter",
|
|
87
|
+
description: i18next.t("neetoRules.shortcuts.submit")
|
|
88
|
+
}
|
|
89
|
+
};
|
|
90
|
+
|
|
91
|
+
var useDebouncedUpdate = function useDebouncedUpdate(value, setValue) {
|
|
92
|
+
var duration = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 200;
|
|
93
|
+
var _useStateWithDependen = reactUtils.useStateWithDependency(value),
|
|
94
|
+
_useStateWithDependen2 = _slicedToArray(_useStateWithDependen, 2),
|
|
95
|
+
text = _useStateWithDependen2[0],
|
|
96
|
+
setText = _useStateWithDependen2[1];
|
|
97
|
+
var debouncedValue = reactUtils.useDebounce(text, duration);
|
|
98
|
+
react.useEffect(function () {
|
|
99
|
+
setValue(text);
|
|
100
|
+
}, [debouncedValue]);
|
|
101
|
+
return [text, setText];
|
|
102
|
+
};
|
|
103
|
+
|
|
104
|
+
exports.SHORTCUTS = SHORTCUTS;
|
|
105
|
+
exports.flatten = flatten;
|
|
106
|
+
exports.useDebouncedUpdate = useDebouncedUpdate;
|
|
107
|
+
exports.useOnClickOutside = useOnClickOutside;
|
|
108
|
+
//# sourceMappingURL=useDebouncedUpdate-6Ibug5MF.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDebouncedUpdate-6Ibug5MF.js","sources":["../node_modules/rollup-plugin-styles/dist/runtime/inject-css.js","../node_modules/flat/index.js","../app/javascript/src/hooks/useOnClickOutside.js","../app/javascript/src/constants/keyboardShortcuts.js","../app/javascript/src/hooks/useDebouncedUpdate.js"],"sourcesContent":["var e=[],t=[];function n(n,r){if(n&&\"undefined\"!=typeof document){var a,s=!0===r.prepend?\"prepend\":\"append\",d=!0===r.singleTag,i=\"string\"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName(\"head\")[0];if(d){var u=e.indexOf(i);-1===u&&(u=e.push(i)-1,t[u]={}),a=t[u]&&t[u][s]?t[u][s]:t[u][s]=c()}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n))}function c(){var e=document.createElement(\"style\");if(e.setAttribute(\"type\",\"text/css\"),r.attributes)for(var t=Object.keys(r.attributes),n=0;n<t.length;n++)e.setAttribute(t[n],r.attributes[t[n]]);var a=\"prepend\"===s?\"afterbegin\":\"beforeend\";return i.insertAdjacentElement(a,e),e}}export{n as default};\n","function isBuffer (obj) {\n return obj &&\n obj.constructor &&\n (typeof obj.constructor.isBuffer === 'function') &&\n obj.constructor.isBuffer(obj)\n}\n\nfunction keyIdentity (key) {\n return key\n}\n\nexport function flatten (target, opts) {\n opts = opts || {}\n\n const delimiter = opts.delimiter || '.'\n const maxDepth = opts.maxDepth\n const transformKey = opts.transformKey || keyIdentity\n const output = {}\n\n function step (object, prev, currentDepth) {\n currentDepth = currentDepth || 1\n Object.keys(object).forEach(function (key) {\n const value = object[key]\n const isarray = opts.safe && Array.isArray(value)\n const type = Object.prototype.toString.call(value)\n const isbuffer = isBuffer(value)\n const isobject = (\n type === '[object Object]' ||\n type === '[object Array]'\n )\n\n const newKey = prev\n ? prev + delimiter + transformKey(key)\n : transformKey(key)\n\n if (!isarray && !isbuffer && isobject && Object.keys(value).length &&\n (!opts.maxDepth || currentDepth < maxDepth)) {\n return step(value, newKey, currentDepth + 1)\n }\n\n output[newKey] = value\n })\n }\n\n step(target)\n\n return output\n}\n\nexport function unflatten (target, opts) {\n opts = opts || {}\n\n const delimiter = opts.delimiter || '.'\n const overwrite = opts.overwrite || false\n const transformKey = opts.transformKey || keyIdentity\n const result = {}\n\n const isbuffer = isBuffer(target)\n if (isbuffer || Object.prototype.toString.call(target) !== '[object Object]') {\n return target\n }\n\n // safely ensure that the key is\n // an integer.\n function getkey (key) {\n const parsedKey = Number(key)\n\n return (\n isNaN(parsedKey) ||\n key.indexOf('.') !== -1 ||\n opts.object\n )\n ? key\n : parsedKey\n }\n\n function addKeys (keyPrefix, recipient, target) {\n return Object.keys(target).reduce(function (result, key) {\n result[keyPrefix + delimiter + key] = target[key]\n\n return result\n }, recipient)\n }\n\n function isEmpty (val) {\n const type = Object.prototype.toString.call(val)\n const isArray = type === '[object Array]'\n const isObject = type === '[object Object]'\n\n if (!val) {\n return true\n } else if (isArray) {\n return !val.length\n } else if (isObject) {\n return !Object.keys(val).length\n }\n }\n\n target = Object.keys(target).reduce(function (result, key) {\n const type = Object.prototype.toString.call(target[key])\n const isObject = (type === '[object Object]' || type === '[object Array]')\n if (!isObject || isEmpty(target[key])) {\n result[key] = target[key]\n return result\n } else {\n return addKeys(\n key,\n result,\n flatten(target[key], opts)\n )\n }\n }, {})\n\n Object.keys(target).forEach(function (key) {\n const split = key.split(delimiter).map(transformKey)\n let key1 = getkey(split.shift())\n let key2 = getkey(split[0])\n let recipient = result\n\n while (key2 !== undefined) {\n if (key1 === '__proto__') {\n return\n }\n\n const type = Object.prototype.toString.call(recipient[key1])\n const isobject = (\n type === '[object Object]' ||\n type === '[object Array]'\n )\n\n // do not write over falsey, non-undefined values if overwrite is false\n if (!overwrite && !isobject && typeof recipient[key1] !== 'undefined') {\n return\n }\n\n if ((overwrite && !isobject) || (!overwrite && recipient[key1] == null)) {\n recipient[key1] = (\n typeof key2 === 'number' &&\n !opts.object\n ? []\n : {}\n )\n }\n\n recipient = recipient[key1]\n if (split.length > 0) {\n key1 = getkey(split.shift())\n key2 = getkey(split[0])\n }\n }\n\n // unflatten again for 'messy objects'\n recipient[key1] = unflatten(target[key], opts)\n })\n\n return result\n}\n","import { useEffect } from \"react\";\n\nconst useOnClickOutside = (ref, handler) => {\n useEffect(() => {\n const listener = event => {\n // Do nothing if clicking ref's element or descendent elements\n if (!ref.current || ref.current.contains(event.target)) {\n return;\n }\n handler(event);\n };\n document.addEventListener(\"mousedown\", listener);\n document.addEventListener(\"touchstart\", listener);\n\n return () => {\n document.removeEventListener(\"mousedown\", listener);\n document.removeEventListener(\"touchstart\", listener);\n };\n }, [handler]);\n};\n\nexport default useOnClickOutside;\n","import { t } from \"i18next\";\n\nexport const SHORTCUTS = {\n cancel: {\n sequence: \"escape\",\n description: t(\"neetoRules.shortcuts.cancel\"),\n },\n submit: {\n sequence: \"enter\",\n description: t(\"neetoRules.shortcuts.submit\"),\n },\n};\n","import { useEffect } from \"react\";\n\nimport { useDebounce, useStateWithDependency } from \"neetocommons/react-utils\";\n\nconst useDebouncedUpdate = (value, setValue, duration = 200) => {\n const [text, setText] = useStateWithDependency(value);\n\n const debouncedValue = useDebounce(text, duration);\n\n useEffect(() => {\n setValue(text);\n }, [debouncedValue]);\n\n return [text, setText];\n};\n\nexport default useDebouncedUpdate;\n"],"names":["useOnClickOutside","ref","handler","useEffect","listener","event","current","contains","target","document","addEventListener","removeEventListener","SHORTCUTS","cancel","sequence","description","t","submit","useDebouncedUpdate","value","setValue","duration","arguments","length","undefined","_useStateWithDependen","useStateWithDependency","_useStateWithDependen2","_slicedToArray","text","setText","debouncedValue","useDebounce"],"mappings":"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","x_google_ignoreList":[0,1]}
|