@bigbinary/neeto-rules-frontend 2.3.1 → 2.4.0

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/index.js CHANGED
@@ -1,28 +1,40 @@
1
1
  export { A as AUTOMATION_RULES_QUERY_KEY } from './constants-12c6ac46.js';
2
+ import _asyncToGenerator from '@babel/runtime/helpers/asyncToGenerator';
3
+ import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
4
+ import _regeneratorRuntime from '@babel/runtime/regenerator';
5
+ import { createElement, useState, useRef } from 'react';
6
+ import { Formik, Form } from 'formik';
7
+ import { findBy, toLabelAndValue } from '@bigbinary/neeto-cist';
8
+ import { PLURAL } from '@bigbinary/neeto-commons-frontend/constants';
9
+ import Pane from '@bigbinary/neetoui/Pane';
10
+ import Spinner from '@bigbinary/neetoui/Spinner';
11
+ import Typography from '@bigbinary/neetoui/Typography';
12
+ import ActionBlock from '@bigbinary/neetoui/formik/ActionBlock';
13
+ import Select from '@bigbinary/neetoui/formik/Select';
14
+ import { join, not, values } from 'ramda';
15
+ import { useTranslation } from 'react-i18next';
16
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
17
+ import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
18
+ import { t } from 'i18next';
19
+ import { sanitize } from 'dompurify';
20
+ import Input from '@bigbinary/neetoui/Input';
21
+ import Label from '@bigbinary/neetoui/Label';
22
+ import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
2
23
  export { default as NeetoRules } from './NeetoRules.js';
3
24
  export { u as useCustomDataStore } from './useCustomDataStore-51ceac06.js';
4
25
  export { default as NeetoRulesForm } from './NeetoRulesForm.js';
5
26
  export { default as RulePreview } from './RulePreview.js';
6
- import './utils-249a1c9a.js';
7
- import 'react';
8
- import '@bigbinary/neeto-cist';
9
- import '@bigbinary/neeto-commons-frontend/constants';
10
27
  import '@bigbinary/neeto-commons-frontend/react-utils';
11
28
  import '@bigbinary/neeto-molecules/Container';
12
29
  import '@tanstack/react-query';
13
- import './toConsumableArray-ee25f277.js';
30
+ import '@babel/runtime/helpers/objectWithoutProperties';
14
31
  import 'axios';
15
32
  import '@bigbinary/neeto-molecules/Header';
16
33
  import '@bigbinary/neeto-molecules/HelpPopover';
17
34
  import '@bigbinary/neetoui/Button';
18
- import 'react/jsx-runtime';
19
- import 'react-dom';
35
+ import './utils-866e8e3b.js';
36
+ import '@hello-pangea/dnd';
20
37
  import '@bigbinary/neeto-icons/Reorder';
21
- import '@bigbinary/neeto-molecules/PageLoader';
22
- import '@bigbinary/neetoui/Pane';
23
- import '@bigbinary/neetoui/Typography';
24
- import 'ramda';
25
- import 'react-i18next';
26
38
  import 'react-router-dom';
27
39
  import 'zustand/shallow';
28
40
  import '@bigbinary/neeto-molecules/SubHeader';
@@ -32,12 +44,11 @@ import '@bigbinary/neetoui/Table';
32
44
  import '@bigbinary/neetoui/NoData';
33
45
  import './useUtilityStore-ee4f96f8.js';
34
46
  import 'zustand';
35
- import 'i18next';
36
47
  import '@bigbinary/neeto-commons-frontend/utils';
37
48
  import '@bigbinary/neeto-molecules/MoreDropdown';
38
49
  import '@bigbinary/neetoui/Switch';
39
50
  import '@bigbinary/neetoui/Tooltip';
40
- import 'formik';
51
+ import '@babel/runtime/helpers/objectDestructuringEmpty';
41
52
  import '@bigbinary/neeto-icons/Plus';
42
53
  import '@bigbinary/neeto-icons/Delete';
43
54
  import '@bigbinary/neeto-icons/Refresh';
@@ -45,10 +56,7 @@ import 'classnames';
45
56
  import '@bigbinary/neeto-icons/Check';
46
57
  import '@bigbinary/neeto-icons/Search';
47
58
  import '@bigbinary/neetoui/Dropdown';
48
- import '@bigbinary/neetoui/Input';
49
59
  import '@bigbinary/neetoui/formik/Textarea';
50
- import '@bigbinary/neetoui/formik/ActionBlock';
51
- import '@bigbinary/neetoui/Label';
52
60
  import '@bigbinary/neetoui/Select';
53
61
  import '@bigbinary/neetoui/DatePicker';
54
62
  import '@bigbinary/neeto-editor/FormikEditor';
@@ -58,6 +66,7 @@ import '@bigbinary/neeto-hotkeys';
58
66
  import '@bigbinary/neeto-icons/Close';
59
67
  import '@bigbinary/neetoui/Checkbox';
60
68
  import 'react-select/creatable';
69
+ import '@babel/runtime/helpers/toArray';
61
70
  import '@bigbinary/neeto-molecules/PhoneNumber';
62
71
  import '@bigbinary/neetoui/Tag';
63
72
  import 'react-select';
@@ -65,9 +74,378 @@ import 'yup';
65
74
  import '@bigbinary/neeto-editor/utils';
66
75
  import './constants-7347bfc4.js';
67
76
  import '@bigbinary/neeto-icons/Eye';
68
- import '@bigbinary/neetoui/formik/Select';
69
77
  import '@bigbinary/neetoui/formik/Radio';
70
78
  import '@bigbinary/neeto-icons/Help';
79
+ import '@babel/runtime/helpers/typeof';
71
80
  import '@bigbinary/neeto-icons/Down';
72
81
  import '@bigbinary/neeto-icons/Up';
82
+
83
+ var Action = function Action(_ref) {
84
+ var id = _ref.id,
85
+ label = _ref.label,
86
+ value = _ref.value,
87
+ _ref$richText = _ref.richText,
88
+ richText = _ref$richText === void 0 ? false : _ref$richText;
89
+ if (richText) {
90
+ return /*#__PURE__*/jsxs("div", {
91
+ className: "mb-4 space-y-2",
92
+ children: [/*#__PURE__*/jsx(Label, {
93
+ children: label
94
+ }), /*#__PURE__*/jsx("div", {
95
+ className: "border-radius trix-content neeto-ui-bg-gray-100 cursor-not-allowed whitespace-pre-wrap border p-3",
96
+ dangerouslySetInnerHTML: {
97
+ __html: sanitize(value.replace(/\n/g, ""))
98
+ }
99
+ })]
100
+ }, id);
101
+ }
102
+ return /*#__PURE__*/createElement(Input, {
103
+ label: label,
104
+ disabled: true,
105
+ className: "mb-4",
106
+ key: id,
107
+ value: value.replace(/_/g, " ")
108
+ });
109
+ };
110
+
111
+ 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; }
112
+ 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), !0).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; }
113
+ var CANNED_RESPONSE_INPUT_ACTION_NAMES = ["assign_agent", "assign_group", "remove_tags", "add_tags", "change_priority", "change_status"];
114
+ var CANNED_RESPONSE_RICH_TEXT_ACTION_NAME = ["add_note", "add_reply"];
115
+ var CANNED_RESPONSE_ACTION_LABELS = [].concat(CANNED_RESPONSE_INPUT_ACTION_NAMES, CANNED_RESPONSE_RICH_TEXT_ACTION_NAME).reduce(function (labelObject, actionName) {
116
+ return _objectSpread$2(_objectSpread$2({}, labelObject), {}, _defineProperty({}, actionName, "neetoRules.labels.".concat(actionName)));
117
+ }, {});
118
+ var ACTION_OPTIONS = {
119
+ addNote: "add_note",
120
+ addCommentOrReply: "add_reply",
121
+ addTags: "add_tags",
122
+ removeTags: "remove_tags",
123
+ changePriority: "change_priority",
124
+ changeStatus: "change_status",
125
+ assignAgent: "assign_agent",
126
+ assignGroup: "assign_group",
127
+ assignTicketFieldValue: "assign_field_value"
128
+ };
129
+ var ACTION_TYPES_MAP = {
130
+ single_option: "dropdown",
131
+ multi_option: "multiSelect",
132
+ checkbox: "dropdown",
133
+ integer: "number"
134
+ };
135
+ var DEFAULT_CHECKBOX_OPTIONS = [{
136
+ label: t("neetoRules.labels.checked"),
137
+ value: true
138
+ }, {
139
+ label: t("neetoRules.labels.unchecked"),
140
+ value: false
141
+ }];
142
+
143
+ 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; }
144
+ 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), !0).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; }
145
+ var renderActionValue = function renderActionValue(_ref) {
146
+ var actionType = _ref.actionType,
147
+ displayValue = _ref.displayValue;
148
+ if (actionType === "multiSelect") {
149
+ return join(", ", displayValue);
150
+ }
151
+ return displayValue;
152
+ };
153
+ var renderDefaultAction = function renderDefaultAction(_ref2) {
154
+ var id = _ref2.id,
155
+ name = _ref2.name,
156
+ displayValue = _ref2.displayValue,
157
+ trixBody = _ref2.trixBody;
158
+ var label = t(CANNED_RESPONSE_ACTION_LABELS[name]);
159
+ if (CANNED_RESPONSE_RICH_TEXT_ACTION_NAME.includes(name)) {
160
+ return /*#__PURE__*/jsx(Action, {
161
+ id: id,
162
+ label: label,
163
+ richText: true,
164
+ value: trixBody
165
+ });
166
+ }
167
+ return /*#__PURE__*/jsx(Action, {
168
+ id: id,
169
+ label: label,
170
+ value: displayValue
171
+ });
172
+ };
173
+ var renderCustomAction = function renderCustomAction(_ref3) {
174
+ var id = _ref3.id,
175
+ actionableId = _ref3.actionableId,
176
+ displayValue = _ref3.displayValue,
177
+ actionOptions = _ref3.actionOptions;
178
+ var actionName = "ticket_field_".concat(actionableId);
179
+ var actionOption = findBy({
180
+ value: actionName
181
+ }, actionOptions);
182
+ var label = actionOption === null || actionOption === void 0 ? void 0 : actionOption.label;
183
+ var actionType = actionOption === null || actionOption === void 0 ? void 0 : actionOption.type;
184
+ var actionValue = renderActionValue({
185
+ actionType: actionType,
186
+ displayValue: displayValue
187
+ });
188
+ var isRichText = actionType === "textarea";
189
+ return /*#__PURE__*/jsx(Action, {
190
+ id: id,
191
+ label: label,
192
+ richText: isRichText,
193
+ value: actionValue
194
+ });
195
+ };
196
+ var getActionDropdown = function getActionDropdown(_ref4) {
197
+ var status = _ref4.status,
198
+ teams = _ref4.teams,
199
+ members = _ref4.members,
200
+ tags = _ref4.tags;
201
+ return {
202
+ change_status: status || [],
203
+ assign_group: teams || [],
204
+ assign_agent: members || [],
205
+ add_tags: tags || [],
206
+ remove_tags: tags || []
207
+ };
208
+ };
209
+ var getActionType = function getActionType(kind) {
210
+ return ACTION_TYPES_MAP[kind] || kind;
211
+ };
212
+ var getDropdownOptions = function getDropdownOptions(kind, optionsAttribute) {
213
+ if (["single_option", "multi_option"].includes(kind)) {
214
+ return optionsAttribute.map(function (_ref5) {
215
+ var id = _ref5.id,
216
+ label = _ref5.label;
217
+ return {
218
+ label: label,
219
+ value: id
220
+ };
221
+ });
222
+ } else if (kind === "checkbox") {
223
+ return _toConsumableArray(DEFAULT_CHECKBOX_OPTIONS);
224
+ }
225
+ return [];
226
+ };
227
+ var renderAction = function renderAction(_ref6) {
228
+ var name = _ref6.name,
229
+ id = _ref6.id,
230
+ actionableId = _ref6.actionableId,
231
+ displayValue = _ref6.displayValue,
232
+ _ref6$actionOptions = _ref6.actionOptions,
233
+ actionOptions = _ref6$actionOptions === void 0 ? [] : _ref6$actionOptions,
234
+ _ref6$trixBody = _ref6.trixBody,
235
+ trixBody = _ref6$trixBody === void 0 ? "" : _ref6$trixBody;
236
+ var isCustomAction = name === ACTION_OPTIONS.assignTicketFieldValue;
237
+ return isCustomAction ? renderCustomAction({
238
+ id: id,
239
+ actionableId: actionableId,
240
+ displayValue: displayValue,
241
+ actionOptions: actionOptions
242
+ }) : renderDefaultAction({
243
+ id: id,
244
+ name: name,
245
+ displayValue: displayValue,
246
+ trixBody: trixBody
247
+ });
248
+ };
249
+ var buildActionOptions = function buildActionOptions(_ref7) {
250
+ var dropdownOptions = _ref7.dropdownOptions,
251
+ actionNameOptions = _ref7.actionNameOptions,
252
+ variables = _ref7.variables;
253
+ var actionDropdown = getActionDropdown(dropdownOptions);
254
+ var options = actionNameOptions.map(function (option) {
255
+ var dropdownOptions = actionDropdown[option.value];
256
+ return dropdownOptions ? _objectSpread$1(_objectSpread$1({}, option), {}, {
257
+ dropdownOptions: dropdownOptions
258
+ }) : option;
259
+ });
260
+ var fields = (dropdownOptions.fields || []).filter(function (field) {
261
+ return !field.kind.startsWith("system_");
262
+ }) || [];
263
+ var fieldOptions = fields.map(function (_ref8) {
264
+ var id = _ref8.id,
265
+ name = _ref8.name,
266
+ kind = _ref8.kind,
267
+ attributeOptions = _ref8.data;
268
+ return {
269
+ label: t("neetoRules.common.assign", {
270
+ what: name
271
+ }),
272
+ value: "ticket_field_".concat(id),
273
+ type: getActionType(kind),
274
+ variables: variables,
275
+ defaultData: {
276
+ actionable_id: id,
277
+ actionable_type: "Field"
278
+ },
279
+ dropdownOptions: getDropdownOptions(kind, attributeOptions)
280
+ };
281
+ });
282
+ return [].concat(_toConsumableArray(options), _toConsumableArray(fieldOptions));
283
+ };
284
+
285
+ 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; }
286
+ 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; }
287
+ var Body = function Body(_ref) {
288
+ var _cannedResponse$actio;
289
+ var actionNameOptions = _ref.actionNameOptions,
290
+ cannedResponse = _ref.cannedResponse,
291
+ dropdownList = _ref.dropdownList,
292
+ isLoading = _ref.isLoading,
293
+ variables = _ref.variables;
294
+ var _useTranslation = useTranslation(),
295
+ t = _useTranslation.t;
296
+ var actionOptions = buildActionOptions({
297
+ dropdownOptions: dropdownList,
298
+ actionNameOptions: actionNameOptions,
299
+ variables: variables
300
+ });
301
+ if (isLoading) {
302
+ return /*#__PURE__*/jsx("div", {
303
+ className: "flex h-full w-full items-center justify-center",
304
+ children: /*#__PURE__*/jsx(Spinner, {})
305
+ });
306
+ }
307
+ return /*#__PURE__*/jsx("div", {
308
+ className: "overflow-y-auto p-4",
309
+ children: not(cannedResponse) ? t("neetoRules.common.preview") : (_cannedResponse$actio = cannedResponse.actions) === null || _cannedResponse$actio === void 0 ? void 0 : _cannedResponse$actio.map(function (action) {
310
+ return renderAction(_objectSpread(_objectSpread({}, action), {}, {
311
+ actionOptions: actionOptions
312
+ }));
313
+ })
314
+ });
315
+ };
316
+
317
+ var CannedResponsesPane = function CannedResponsesPane(_ref) {
318
+ var actionNameOptions = _ref.actionNameOptions,
319
+ areDropdownListsLoading = _ref.areDropdownListsLoading,
320
+ dropdownList = _ref.dropdownList,
321
+ isCannedResponsePaneOpen = _ref.isCannedResponsePaneOpen,
322
+ isLoadingPreview = _ref.isLoadingPreview,
323
+ macros = _ref.macros,
324
+ onApply = _ref.onApply,
325
+ onCancel = _ref.onCancel,
326
+ previewCannedResponses = _ref.previewCannedResponses,
327
+ previewParams = _ref.previewParams,
328
+ _ref$variables = _ref.variables,
329
+ variables = _ref$variables === void 0 ? [] : _ref$variables;
330
+ var _useState = useState(null),
331
+ _useState2 = _slicedToArray(_useState, 2),
332
+ cannedResponse = _useState2[0],
333
+ setCannedResponse = _useState2[1];
334
+ var initialFocusRef = useRef();
335
+ var _useTranslation = useTranslation(),
336
+ t = _useTranslation.t;
337
+ var options = macros === null || macros === void 0 ? void 0 : macros.map(function (_ref2) {
338
+ var name = _ref2.name,
339
+ id = _ref2.id;
340
+ return {
341
+ label: name,
342
+ value: id
343
+ };
344
+ });
345
+ var handleSelect = /*#__PURE__*/function () {
346
+ var _ref4 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref3) {
347
+ var value;
348
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
349
+ while (1) switch (_context.prev = _context.next) {
350
+ case 0:
351
+ value = _ref3.value;
352
+ _context.next = 3;
353
+ return previewCannedResponses({
354
+ id: value,
355
+ payload: previewParams
356
+ }, {
357
+ onSuccess: function onSuccess(response) {
358
+ return setCannedResponse(values(response || {})[0]);
359
+ }
360
+ });
361
+ case 3:
362
+ case "end":
363
+ return _context.stop();
364
+ }
365
+ }, _callee);
366
+ }));
367
+ return function handleSelect(_x) {
368
+ return _ref4.apply(this, arguments);
369
+ };
370
+ }();
371
+ var handleSubmit = function handleSubmit() {
372
+ return onApply({
373
+ cannedResponse: cannedResponse,
374
+ setCannedResponse: setCannedResponse,
375
+ onSettled: onCancel
376
+ });
377
+ };
378
+ var handleCancel = function handleCancel() {
379
+ onCancel();
380
+ setCannedResponse(null);
381
+ };
382
+ return /*#__PURE__*/jsxs(Pane, {
383
+ initialFocusRef: initialFocusRef,
384
+ isOpen: isCannedResponsePaneOpen,
385
+ onClose: handleCancel,
386
+ children: [/*#__PURE__*/jsx(Pane.Header, {
387
+ children: /*#__PURE__*/jsx(Typography, {
388
+ style: "h2",
389
+ weight: "semibold",
390
+ children: t("neetoRules.cannedResponses.title", PLURAL)
391
+ })
392
+ }), /*#__PURE__*/jsx(Formik, {
393
+ initialValues: {
394
+ cannedResponse: toLabelAndValue(null)
395
+ },
396
+ onSubmit: handleSubmit,
397
+ children: function children(_ref5) {
398
+ var setFieldValue = _ref5.setFieldValue,
399
+ isSubmitting = _ref5.isSubmitting;
400
+ return /*#__PURE__*/jsxs(Form, {
401
+ children: [/*#__PURE__*/jsx(Pane.Body, {
402
+ children: /*#__PURE__*/jsx("div", {
403
+ className: "flex w-full flex-grow flex-col space-y-4",
404
+ children: areDropdownListsLoading ? /*#__PURE__*/jsx("div", {
405
+ className: "flex h-full w-full items-center justify-center",
406
+ children: /*#__PURE__*/jsx(Spinner, {})
407
+ }) : /*#__PURE__*/jsxs(Fragment, {
408
+ children: [/*#__PURE__*/jsxs("div", {
409
+ className: "space-y-4",
410
+ children: [/*#__PURE__*/jsx(Select, {
411
+ options: options,
412
+ isSearchable: true,
413
+ label: t("neetoRules.labels.selectCannedResponse"),
414
+ name: "cannedResponse",
415
+ ref: initialFocusRef,
416
+ onChange: function onChange(value) {
417
+ setFieldValue("cannedResponse", value);
418
+ handleSelect(value);
419
+ }
420
+ }), /*#__PURE__*/jsx(Typography, {
421
+ style: "body2",
422
+ children: t("neetoRules.common.preview")
423
+ })]
424
+ }), /*#__PURE__*/jsx(Body, {
425
+ actionNameOptions: actionNameOptions,
426
+ cannedResponse: cannedResponse,
427
+ dropdownList: dropdownList,
428
+ variables: variables,
429
+ isLoading: isLoadingPreview
430
+ })]
431
+ })
432
+ })
433
+ }), /*#__PURE__*/jsx(Pane.Footer, {
434
+ children: /*#__PURE__*/jsx(ActionBlock, {
435
+ cancelButtonProps: {
436
+ onClick: handleCancel
437
+ },
438
+ isSubmitting: isSubmitting || isLoadingPreview,
439
+ submitButtonProps: {
440
+ label: t("neetoRules.common.apply")
441
+ }
442
+ })
443
+ })]
444
+ });
445
+ }
446
+ })]
447
+ });
448
+ };
449
+
450
+ export { CannedResponsesPane };
73
451
  //# sourceMappingURL=index.js.map
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":["../app/javascript/src/components/CannedResoponsePane/Action.jsx","../app/javascript/src/components/CannedResoponsePane/constants.js","../app/javascript/src/components/CannedResoponsePane/utils.jsx","../app/javascript/src/components/CannedResoponsePane/Body.jsx","../app/javascript/src/components/CannedResoponsePane/index.jsx"],"sourcesContent":["import { sanitize } from \"dompurify\";\nimport { Input, Label } from \"neetoui\";\n\nconst Action = ({ id, label, value, richText = false }) => {\n if (richText) {\n return (\n <div className=\"mb-4 space-y-2\" key={id}>\n <Label>{label}</Label>\n <div\n className=\"border-radius trix-content neeto-ui-bg-gray-100 cursor-not-allowed whitespace-pre-wrap border p-3\"\n dangerouslySetInnerHTML={{\n __html: sanitize(value.replace(/\\n/g, \"\")),\n }}\n />\n </div>\n );\n }\n\n return (\n <Input\n {...{ label }}\n disabled\n className=\"mb-4\"\n key={id}\n value={value.replace(/_/g, \" \")}\n />\n );\n};\n\nexport default Action;\n","import { t } from \"i18next\";\n\nconst CANNED_RESPONSE_INPUT_ACTION_NAMES = [\n \"assign_agent\",\n \"assign_group\",\n \"remove_tags\",\n \"add_tags\",\n \"change_priority\",\n \"change_status\",\n];\n\nexport const CANNED_RESPONSE_RICH_TEXT_ACTION_NAME = [\"add_note\", \"add_reply\"];\n\nexport const CANNED_RESPONSE_ACTION_LABELS = [\n ...CANNED_RESPONSE_INPUT_ACTION_NAMES,\n ...CANNED_RESPONSE_RICH_TEXT_ACTION_NAME,\n].reduce(\n (labelObject, actionName) => ({\n ...labelObject,\n [actionName]: `neetoRules.labels.${actionName}`,\n }),\n {}\n);\n\nexport const ACTION_OPTIONS = {\n addNote: \"add_note\",\n addCommentOrReply: \"add_reply\",\n addTags: \"add_tags\",\n removeTags: \"remove_tags\",\n changePriority: \"change_priority\",\n changeStatus: \"change_status\",\n assignAgent: \"assign_agent\",\n assignGroup: \"assign_group\",\n assignTicketFieldValue: \"assign_field_value\",\n};\n\nexport const ACTION_TYPES_MAP = {\n single_option: \"dropdown\",\n multi_option: \"multiSelect\",\n checkbox: \"dropdown\",\n integer: \"number\",\n};\n\nexport const DEFAULT_CHECKBOX_OPTIONS = [\n { label: t(\"neetoRules.labels.checked\"), value: true },\n { label: t(\"neetoRules.labels.unchecked\"), value: false },\n];\n","import { t } from \"i18next\";\nimport { findBy } from \"neetocist\";\nimport { join } from \"ramda\";\n\nimport Action from \"./Action\";\nimport {\n ACTION_OPTIONS,\n ACTION_TYPES_MAP,\n CANNED_RESPONSE_ACTION_LABELS,\n CANNED_RESPONSE_RICH_TEXT_ACTION_NAME,\n DEFAULT_CHECKBOX_OPTIONS,\n} from \"./constants\";\n\nconst renderActionValue = ({ actionType, displayValue }) => {\n if (actionType === \"multiSelect\") {\n return join(\", \", displayValue);\n }\n\n return displayValue;\n};\n\nconst renderDefaultAction = ({ id, name, displayValue, trixBody }) => {\n const label = t(CANNED_RESPONSE_ACTION_LABELS[name]);\n\n if (CANNED_RESPONSE_RICH_TEXT_ACTION_NAME.includes(name)) {\n return <Action {...{ id, label }} richText value={trixBody} />;\n }\n\n return <Action {...{ id, label }} value={displayValue} />;\n};\n\nconst renderCustomAction = ({\n id,\n actionableId,\n displayValue,\n actionOptions,\n}) => {\n const actionName = `ticket_field_${actionableId}`;\n const actionOption = findBy({ value: actionName }, actionOptions);\n const label = actionOption?.label;\n const actionType = actionOption?.type;\n const actionValue = renderActionValue({ actionType, displayValue });\n const isRichText = actionType === \"textarea\";\n\n return (\n <Action {...{ id, label }} richText={isRichText} value={actionValue} />\n );\n};\n\nconst getActionDropdown = ({ status, teams, members, tags }) => ({\n change_status: status || [],\n assign_group: teams || [],\n assign_agent: members || [],\n add_tags: tags || [],\n remove_tags: tags || [],\n});\n\nconst getActionType = kind => ACTION_TYPES_MAP[kind] || kind;\n\nconst getDropdownOptions = (kind, optionsAttribute) => {\n if ([\"single_option\", \"multi_option\"].includes(kind)) {\n return optionsAttribute.map(({ id, label }) => ({\n label,\n value: id,\n }));\n } else if (kind === \"checkbox\") {\n return [...DEFAULT_CHECKBOX_OPTIONS];\n }\n\n return [];\n};\n\nexport const renderAction = ({\n name,\n id,\n actionableId,\n displayValue,\n actionOptions = [],\n trixBody = \"\",\n}) => {\n const isCustomAction = name === ACTION_OPTIONS.assignTicketFieldValue;\n\n return isCustomAction\n ? renderCustomAction({\n id,\n actionableId,\n displayValue,\n actionOptions,\n })\n : renderDefaultAction({ id, name, displayValue, trixBody });\n};\n\nexport const buildActionOptions = ({\n dropdownOptions,\n actionNameOptions,\n variables,\n}) => {\n const actionDropdown = getActionDropdown(dropdownOptions);\n const options = actionNameOptions.map(option => {\n const dropdownOptions = actionDropdown[option.value];\n\n return dropdownOptions ? { ...option, dropdownOptions } : option;\n });\n\n const fields =\n (dropdownOptions.fields || []).filter(\n field => !field.kind.startsWith(\"system_\")\n ) || [];\n\n const fieldOptions = fields.map(\n ({ id, name, kind, data: attributeOptions }) => ({\n label: t(\"neetoRules.common.assign\", { what: name }),\n value: `ticket_field_${id}`,\n type: getActionType(kind),\n variables,\n defaultData: { actionable_id: id, actionable_type: \"Field\" },\n dropdownOptions: getDropdownOptions(kind, attributeOptions),\n })\n );\n\n return [...options, ...fieldOptions];\n};\n","import { Spinner } from \"neetoui\";\nimport { not } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { buildActionOptions, renderAction } from \"./utils\";\n\nconst Body = ({\n actionNameOptions,\n cannedResponse,\n dropdownList,\n isLoading,\n variables,\n}) => {\n const { t } = useTranslation();\n\n const actionOptions = buildActionOptions({\n dropdownOptions: dropdownList,\n actionNameOptions,\n variables,\n });\n\n if (isLoading) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <div className=\"overflow-y-auto p-4\">\n {not(cannedResponse)\n ? t(\"neetoRules.common.preview\")\n : cannedResponse.actions?.map(action =>\n renderAction({ ...action, actionOptions })\n )}\n </div>\n );\n};\nexport default Body;\n","import { useRef, useState } from \"react\";\n\nimport { Form, Formik } from \"formik\";\nimport { toLabelAndValue } from \"neetocist\";\nimport { PLURAL } from \"neetocommons/constants\";\nimport { Pane, Spinner, Typography } from \"neetoui\";\nimport { ActionBlock, Select } from \"neetoui/formik\";\nimport { values } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Body from \"./Body\";\n\nconst CannedResponsesPane = ({\n actionNameOptions,\n areDropdownListsLoading,\n dropdownList,\n isCannedResponsePaneOpen,\n isLoadingPreview,\n macros,\n onApply,\n onCancel,\n previewCannedResponses,\n previewParams,\n variables = [],\n}) => {\n const [cannedResponse, setCannedResponse] = useState(null);\n\n const initialFocusRef = useRef();\n\n const { t } = useTranslation();\n\n const options = macros?.map(({ name, id }) => ({ label: name, value: id }));\n\n const handleSelect = async ({ value }) => {\n await previewCannedResponses(\n { id: value, payload: previewParams },\n { onSuccess: response => setCannedResponse(values(response || {})[0]) }\n );\n };\n\n const handleSubmit = () =>\n onApply({ cannedResponse, setCannedResponse, onSettled: onCancel });\n\n const handleCancel = () => {\n onCancel();\n setCannedResponse(null);\n };\n\n return (\n <Pane\n {...{ initialFocusRef }}\n isOpen={isCannedResponsePaneOpen}\n onClose={handleCancel}\n >\n <Pane.Header>\n <Typography style=\"h2\" weight=\"semibold\">\n {t(\"neetoRules.cannedResponses.title\", PLURAL)}\n </Typography>\n </Pane.Header>\n <Formik\n initialValues={{ cannedResponse: toLabelAndValue(null) }}\n onSubmit={handleSubmit}\n >\n {({ setFieldValue, isSubmitting }) => (\n <Form>\n <Pane.Body>\n <div className=\"flex w-full flex-grow flex-col space-y-4\">\n {areDropdownListsLoading ? (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n ) : (\n <>\n <div className=\"space-y-4\">\n <Select\n {...{ options }}\n isSearchable\n label={t(\"neetoRules.labels.selectCannedResponse\")}\n name=\"cannedResponse\"\n ref={initialFocusRef}\n onChange={value => {\n setFieldValue(\"cannedResponse\", value);\n handleSelect(value);\n }}\n />\n <Typography style=\"body2\">\n {t(\"neetoRules.common.preview\")}\n </Typography>\n </div>\n <Body\n {...{\n actionNameOptions,\n cannedResponse,\n dropdownList,\n variables,\n }}\n isLoading={isLoadingPreview}\n />\n </>\n )}\n </div>\n </Pane.Body>\n <Pane.Footer>\n <ActionBlock\n cancelButtonProps={{ onClick: handleCancel }}\n isSubmitting={isSubmitting || isLoadingPreview}\n submitButtonProps={{ label: t(\"neetoRules.common.apply\") }}\n />\n </Pane.Footer>\n </Form>\n )}\n </Formik>\n </Pane>\n );\n};\n\nexport default CannedResponsesPane;\n"],"names":["Action","_ref","id","label","value","_ref$richText","richText","_jsxs","className","children","_jsx","Label","dangerouslySetInnerHTML","__html","sanitize","replace","_createElement","Input","disabled","key","CANNED_RESPONSE_INPUT_ACTION_NAMES","CANNED_RESPONSE_RICH_TEXT_ACTION_NAME","CANNED_RESPONSE_ACTION_LABELS","concat","reduce","labelObject","actionName","_objectSpread","_defineProperty","ACTION_OPTIONS","addNote","addCommentOrReply","addTags","removeTags","changePriority","changeStatus","assignAgent","assignGroup","assignTicketFieldValue","ACTION_TYPES_MAP","single_option","multi_option","checkbox","integer","DEFAULT_CHECKBOX_OPTIONS","t","renderActionValue","actionType","displayValue","join","renderDefaultAction","_ref2","name","trixBody","includes","renderCustomAction","_ref3","actionableId","actionOptions","actionOption","findBy","type","actionValue","isRichText","getActionDropdown","_ref4","status","teams","members","tags","change_status","assign_group","assign_agent","add_tags","remove_tags","getActionType","kind","getDropdownOptions","optionsAttribute","map","_ref5","_toConsumableArray","renderAction","_ref6","_ref6$actionOptions","_ref6$trixBody","isCustomAction","buildActionOptions","_ref7","dropdownOptions","actionNameOptions","variables","actionDropdown","options","option","fields","filter","field","startsWith","fieldOptions","_ref8","attributeOptions","data","what","defaultData","actionable_id","actionable_type","Body","_cannedResponse$actio","cannedResponse","dropdownList","isLoading","_useTranslation","useTranslation","Spinner","not","actions","action","CannedResponsesPane","areDropdownListsLoading","isCannedResponsePaneOpen","isLoadingPreview","macros","onApply","onCancel","previewCannedResponses","previewParams","_ref$variables","_useState","useState","_useState2","_slicedToArray","setCannedResponse","initialFocusRef","useRef","handleSelect","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_callee$","_context","prev","next","payload","onSuccess","response","values","stop","_x","apply","arguments","handleSubmit","onSettled","handleCancel","Pane","isOpen","onClose","Header","Typography","style","weight","PLURAL","Formik","initialValues","toLabelAndValue","onSubmit","setFieldValue","isSubmitting","Form","_Fragment","Select","isSearchable","ref","onChange","Footer","ActionBlock","cancelButtonProps","onClick","submitButtonProps"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useUtilityStore-e4b36ba2.js","sources":["../app/javascript/src/components/stores/useUtilityStore.js"],"sourcesContent":["import { withImmutableActions } from \"neetocommons/react-utils\";\nimport { create } from \"zustand\";\n\n/** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\nconst useUtilityStore = create(\n withImmutableActions(set => ({\n moreActionDropdownItems: [],\n showPreviewPane: false,\n setMoreActionDropdownItems: items =>\n set({ moreActionDropdownItems: items, showPreviewPane: true }),\n hidePreviewPane: () =>\n set({ moreActionDropdownItems: [], showPreviewPane: false }),\n }))\n);\n\nexport default useUtilityStore;\n"],"names":["useUtilityStore","create","withImmutableActions","set","moreActionDropdownItems","showPreviewPane","setMoreActionDropdownItems","items","hidePreviewPane"],"mappings":";;;;;AAGA;AACA,IAAMA,eAAe,GAAGC,cAAM,CAC5BC,+BAAoB,CAAC,UAAAC,GAAG,EAAA;EAAA,OAAK;AAC3BC,IAAAA,uBAAuB,EAAE,EAAE;AAC3BC,IAAAA,eAAe,EAAE,KAAK;IACtBC,0BAA0B,EAAE,SAAAA,0BAAAA,CAAAC,KAAK,EAAA;AAAA,MAAA,OAC/BJ,GAAG,CAAC;AAAEC,QAAAA,uBAAuB,EAAEG,KAAK;AAAEF,QAAAA,eAAe,EAAE,IAAA;AAAK,OAAC,CAAC,CAAA;AAAA,KAAA;IAChEG,eAAe,EAAE,SAAAA,eAAA,GAAA;AAAA,MAAA,OACfL,GAAG,CAAC;AAAEC,QAAAA,uBAAuB,EAAE,EAAE;AAAEC,QAAAA,eAAe,EAAE,KAAA;AAAM,OAAC,CAAC,CAAA;AAAA,KAAA;GAC/D,CAAA;AAAA,CAAC,CACJ;;;;"}
1
+ {"version":3,"file":"useUtilityStore-e4b36ba2.js","sources":["../app/javascript/src/components/stores/useUtilityStore.js"],"sourcesContent":["import { withImmutableActions } from \"neetocommons/react-utils\";\nimport { create } from \"zustand\";\n\n/** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\nconst useUtilityStore = create(\n withImmutableActions(set => ({\n moreActionDropdownItems: [],\n showPreviewPane: false,\n setMoreActionDropdownItems: items =>\n set({ moreActionDropdownItems: items, showPreviewPane: true }),\n hidePreviewPane: () =>\n set({ moreActionDropdownItems: [], showPreviewPane: false }),\n }))\n);\n\nexport default useUtilityStore;\n"],"names":["useUtilityStore","create","withImmutableActions","set","moreActionDropdownItems","showPreviewPane","setMoreActionDropdownItems","items","hidePreviewPane"],"mappings":";;;;;AAGA;AACA,IAAMA,eAAe,GAAGC,cAAM,CAC5BC,+BAAoB,CAAC,UAAAC,GAAG,EAAA;EAAA,OAAK;AAC3BC,IAAAA,uBAAuB,EAAE,EAAE;AAC3BC,IAAAA,eAAe,EAAE,KAAK;AACtBC,IAAAA,0BAA0B,EAAE,SAA5BA,0BAA0BA,CAAEC,KAAK,EAAA;AAAA,MAAA,OAC/BJ,GAAG,CAAC;AAAEC,QAAAA,uBAAuB,EAAEG,KAAK;AAAEF,QAAAA,eAAe,EAAE,IAAA;AAAK,OAAC,CAAC,CAAA;AAAA,KAAA;IAChEG,eAAe,EAAE,SAAjBA,eAAeA,GAAA;AAAA,MAAA,OACbL,GAAG,CAAC;AAAEC,QAAAA,uBAAuB,EAAE,EAAE;AAAEC,QAAAA,eAAe,EAAE,KAAA;AAAM,OAAC,CAAC,CAAA;AAAA,KAAA;GAC/D,CAAA;AAAA,CAAC,CACJ;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useUtilityStore-ee4f96f8.js","sources":["../app/javascript/src/components/stores/useUtilityStore.js"],"sourcesContent":["import { withImmutableActions } from \"neetocommons/react-utils\";\nimport { create } from \"zustand\";\n\n/** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\nconst useUtilityStore = create(\n withImmutableActions(set => ({\n moreActionDropdownItems: [],\n showPreviewPane: false,\n setMoreActionDropdownItems: items =>\n set({ moreActionDropdownItems: items, showPreviewPane: true }),\n hidePreviewPane: () =>\n set({ moreActionDropdownItems: [], showPreviewPane: false }),\n }))\n);\n\nexport default useUtilityStore;\n"],"names":["useUtilityStore","create","withImmutableActions","set","moreActionDropdownItems","showPreviewPane","setMoreActionDropdownItems","items","hidePreviewPane"],"mappings":";;;AAGA;AACA,IAAMA,eAAe,GAAGC,MAAM,CAC5BC,oBAAoB,CAAC,UAAAC,GAAG,EAAA;EAAA,OAAK;AAC3BC,IAAAA,uBAAuB,EAAE,EAAE;AAC3BC,IAAAA,eAAe,EAAE,KAAK;IACtBC,0BAA0B,EAAE,SAAAA,0BAAAA,CAAAC,KAAK,EAAA;AAAA,MAAA,OAC/BJ,GAAG,CAAC;AAAEC,QAAAA,uBAAuB,EAAEG,KAAK;AAAEF,QAAAA,eAAe,EAAE,IAAA;AAAK,OAAC,CAAC,CAAA;AAAA,KAAA;IAChEG,eAAe,EAAE,SAAAA,eAAA,GAAA;AAAA,MAAA,OACfL,GAAG,CAAC;AAAEC,QAAAA,uBAAuB,EAAE,EAAE;AAAEC,QAAAA,eAAe,EAAE,KAAA;AAAM,OAAC,CAAC,CAAA;AAAA,KAAA;GAC/D,CAAA;AAAA,CAAC,CACJ;;;;"}
1
+ {"version":3,"file":"useUtilityStore-ee4f96f8.js","sources":["../app/javascript/src/components/stores/useUtilityStore.js"],"sourcesContent":["import { withImmutableActions } from \"neetocommons/react-utils\";\nimport { create } from \"zustand\";\n\n/** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\nconst useUtilityStore = create(\n withImmutableActions(set => ({\n moreActionDropdownItems: [],\n showPreviewPane: false,\n setMoreActionDropdownItems: items =>\n set({ moreActionDropdownItems: items, showPreviewPane: true }),\n hidePreviewPane: () =>\n set({ moreActionDropdownItems: [], showPreviewPane: false }),\n }))\n);\n\nexport default useUtilityStore;\n"],"names":["useUtilityStore","create","withImmutableActions","set","moreActionDropdownItems","showPreviewPane","setMoreActionDropdownItems","items","hidePreviewPane"],"mappings":";;;AAGA;AACA,IAAMA,eAAe,GAAGC,MAAM,CAC5BC,oBAAoB,CAAC,UAAAC,GAAG,EAAA;EAAA,OAAK;AAC3BC,IAAAA,uBAAuB,EAAE,EAAE;AAC3BC,IAAAA,eAAe,EAAE,KAAK;AACtBC,IAAAA,0BAA0B,EAAE,SAA5BA,0BAA0BA,CAAEC,KAAK,EAAA;AAAA,MAAA,OAC/BJ,GAAG,CAAC;AAAEC,QAAAA,uBAAuB,EAAEG,KAAK;AAAEF,QAAAA,eAAe,EAAE,IAAA;AAAK,OAAC,CAAC,CAAA;AAAA,KAAA;IAChEG,eAAe,EAAE,SAAjBA,eAAeA,GAAA;AAAA,MAAA,OACbL,GAAG,CAAC;AAAEC,QAAAA,uBAAuB,EAAE,EAAE;AAAEC,QAAAA,eAAe,EAAE,KAAA;AAAM,OAAC,CAAC,CAAA;AAAA,KAAA;GAC/D,CAAA;AAAA,CAAC,CACJ;;;;"}
@@ -0,0 +1,23 @@
1
+ var createRoutes = function createRoutes(basePath) {
2
+ return {
3
+ index: basePath,
4
+ "new": "".concat(basePath, "/new"),
5
+ edit: "".concat(basePath, "/:ruleId/edit")
6
+ };
7
+ };
8
+ var getSeparator = function getSeparator(_ref) {
9
+ var _selectedField$separa2, _selectedField$separa3;
10
+ var defaultSeparator = _ref.defaultSeparator,
11
+ _ref$index = _ref.index,
12
+ index = _ref$index === void 0 ? 0 : _ref$index,
13
+ selectedField = _ref.selectedField;
14
+ if (!selectedField || !selectedField.separator) return defaultSeparator;
15
+ if (!Array.isArray(selectedField.separator)) {
16
+ var _selectedField$separa;
17
+ return (_selectedField$separa = selectedField.separator) === null || _selectedField$separa === void 0 ? void 0 : _selectedField$separa.toLowerCase();
18
+ }
19
+ 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;
20
+ };
21
+
22
+ export { createRoutes as c, getSeparator as g };
23
+ //# sourceMappingURL=utils-866e8e3b.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils-866e8e3b.js","sources":["../app/javascript/src/utils.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"],"names":["createRoutes","basePath","index","concat","edit","getSeparator","_ref","_selectedField$separa2","_selectedField$separa3","defaultSeparator","_ref$index","selectedField","separator","Array","isArray","_selectedField$separa","toLowerCase"],"mappings":"IAAaA,YAAY,GAAG,SAAfA,YAAYA,CAAGC,QAAQ,EAAA;EAAA,OAAK;AACvCC,IAAAA,KAAK,EAAED,QAAQ;IACf,KAAAE,EAAAA,EAAAA,CAAAA,MAAA,CAAQF,QAAQ,EAAM,MAAA,CAAA;IACtBG,IAAI,EAAA,EAAA,CAAAD,MAAA,CAAKF,QAAQ,EAAA,eAAA,CAAA;GAClB,CAAA;AAAA,EAAC;IAEWI,YAAY,GAAG,SAAfA,YAAYA,CAAAC,IAAA,EAInB;EAAA,IAAAC,sBAAA,EAAAC,sBAAA,CAAA;AAAA,EAAA,IAHJC,gBAAgB,GAAAH,IAAA,CAAhBG,gBAAgB;IAAAC,UAAA,GAAAJ,IAAA,CAChBJ,KAAK;AAALA,IAAAA,KAAK,GAAAQ,UAAA,KAAG,KAAA,CAAA,GAAA,CAAC,GAAAA,UAAA;IACTC,aAAa,GAAAL,IAAA,CAAbK,aAAa,CAAA;EAEb,IAAI,CAACA,aAAa,IAAI,CAACA,aAAa,CAACC,SAAS,EAAE,OAAOH,gBAAgB,CAAA;EAEvE,IAAI,CAACI,KAAK,CAACC,OAAO,CAACH,aAAa,CAACC,SAAS,CAAC,EAAE;AAAA,IAAA,IAAAG,qBAAA,CAAA;AAC3C,IAAA,OAAA,CAAAA,qBAAA,GAAOJ,aAAa,CAACC,SAAS,MAAA,IAAA,IAAAG,qBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAvBA,qBAAA,CAAyBC,WAAW,EAAE,CAAA;AAC/C,GAAA;EAEA,OAAAT,CAAAA,sBAAA,IAAAC,sBAAA,GAAOG,aAAa,CAACC,SAAS,CAACV,KAAK,CAAC,MAAA,IAAA,IAAAM,sBAAA,KAA9BA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,sBAAA,CAAgCQ,WAAW,EAAE,cAAAT,sBAAA,KAAA,KAAA,CAAA,GAAAA,sBAAA,GAAIE,gBAAgB,CAAA;AAC1E;;;;"}
@@ -0,0 +1,26 @@
1
+ 'use strict';
2
+
3
+ var createRoutes = function createRoutes(basePath) {
4
+ return {
5
+ index: basePath,
6
+ "new": "".concat(basePath, "/new"),
7
+ edit: "".concat(basePath, "/:ruleId/edit")
8
+ };
9
+ };
10
+ var getSeparator = function getSeparator(_ref) {
11
+ var _selectedField$separa2, _selectedField$separa3;
12
+ var defaultSeparator = _ref.defaultSeparator,
13
+ _ref$index = _ref.index,
14
+ index = _ref$index === void 0 ? 0 : _ref$index,
15
+ selectedField = _ref.selectedField;
16
+ if (!selectedField || !selectedField.separator) return defaultSeparator;
17
+ if (!Array.isArray(selectedField.separator)) {
18
+ var _selectedField$separa;
19
+ return (_selectedField$separa = selectedField.separator) === null || _selectedField$separa === void 0 ? void 0 : _selectedField$separa.toLowerCase();
20
+ }
21
+ 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;
22
+ };
23
+
24
+ exports.createRoutes = createRoutes;
25
+ exports.getSeparator = getSeparator;
26
+ //# sourceMappingURL=utils-cd8f199f.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils-cd8f199f.js","sources":["../app/javascript/src/utils.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"],"names":["createRoutes","basePath","index","concat","edit","getSeparator","_ref","_selectedField$separa2","_selectedField$separa3","defaultSeparator","_ref$index","selectedField","separator","Array","isArray","_selectedField$separa","toLowerCase"],"mappings":";;IAAaA,YAAY,GAAG,SAAfA,YAAYA,CAAGC,QAAQ,EAAA;EAAA,OAAK;AACvCC,IAAAA,KAAK,EAAED,QAAQ;IACf,KAAAE,EAAAA,EAAAA,CAAAA,MAAA,CAAQF,QAAQ,EAAM,MAAA,CAAA;IACtBG,IAAI,EAAA,EAAA,CAAAD,MAAA,CAAKF,QAAQ,EAAA,eAAA,CAAA;GAClB,CAAA;AAAA,EAAC;IAEWI,YAAY,GAAG,SAAfA,YAAYA,CAAAC,IAAA,EAInB;EAAA,IAAAC,sBAAA,EAAAC,sBAAA,CAAA;AAAA,EAAA,IAHJC,gBAAgB,GAAAH,IAAA,CAAhBG,gBAAgB;IAAAC,UAAA,GAAAJ,IAAA,CAChBJ,KAAK;AAALA,IAAAA,KAAK,GAAAQ,UAAA,KAAG,KAAA,CAAA,GAAA,CAAC,GAAAA,UAAA;IACTC,aAAa,GAAAL,IAAA,CAAbK,aAAa,CAAA;EAEb,IAAI,CAACA,aAAa,IAAI,CAACA,aAAa,CAACC,SAAS,EAAE,OAAOH,gBAAgB,CAAA;EAEvE,IAAI,CAACI,KAAK,CAACC,OAAO,CAACH,aAAa,CAACC,SAAS,CAAC,EAAE;AAAA,IAAA,IAAAG,qBAAA,CAAA;AAC3C,IAAA,OAAA,CAAAA,qBAAA,GAAOJ,aAAa,CAACC,SAAS,MAAA,IAAA,IAAAG,qBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAvBA,qBAAA,CAAyBC,WAAW,EAAE,CAAA;AAC/C,GAAA;EAEA,OAAAT,CAAAA,sBAAA,IAAAC,sBAAA,GAAOG,aAAa,CAACC,SAAS,CAACV,KAAK,CAAC,MAAA,IAAA,IAAAM,sBAAA,KAA9BA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,sBAAA,CAAgCQ,WAAW,EAAE,cAAAT,sBAAA,KAAA,KAAA,CAAA,GAAAA,sBAAA,GAAIE,gBAAgB,CAAA;AAC1E;;;;;"}