@bigbinary/neeto-rules-frontend 2.4.0 → 2.4.2

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/cjs/index.js CHANGED
@@ -3,31 +3,32 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var constants = require('../constants-2f1113f8.js');
6
- var _asyncToGenerator = require('@babel/runtime/helpers/asyncToGenerator');
7
- var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
8
- var _regeneratorRuntime = require('@babel/runtime/regenerator');
9
- var react = require('react');
10
- var formik = require('formik');
11
- var neetoCist = require('@bigbinary/neeto-cist');
12
- var constants$1 = require('@bigbinary/neeto-commons-frontend/constants');
13
- var Pane = require('@bigbinary/neetoui/Pane');
14
- var Spinner = require('@bigbinary/neetoui/Spinner');
15
- var Typography = require('@bigbinary/neetoui/Typography');
16
- var ActionBlock = require('@bigbinary/neetoui/formik/ActionBlock');
17
- var Select = require('@bigbinary/neetoui/formik/Select');
18
- var ramda = require('ramda');
19
- var reactI18next = require('react-i18next');
20
- var _defineProperty = require('@babel/runtime/helpers/defineProperty');
21
- var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
22
- var i18next = require('i18next');
23
- var dompurify = require('dompurify');
24
- var Input = require('@bigbinary/neetoui/Input');
25
- var Label = require('@bigbinary/neetoui/Label');
26
- var jsxRuntime = require('react/jsx-runtime');
6
+ var CannedResponsesPane = require('./CannedResponsesPane.js');
27
7
  var NeetoRules = require('./NeetoRules.js');
28
8
  var useCustomDataStore = require('../useCustomDataStore-c57f5581.js');
29
9
  var NeetoRulesForm = require('./NeetoRulesForm.js');
30
10
  var RulePreview = require('./RulePreview.js');
11
+ require('@babel/runtime/helpers/asyncToGenerator');
12
+ require('@babel/runtime/helpers/slicedToArray');
13
+ require('@babel/runtime/regenerator');
14
+ require('react');
15
+ require('formik');
16
+ require('@bigbinary/neeto-cist');
17
+ require('@bigbinary/neeto-commons-frontend/constants');
18
+ require('@bigbinary/neetoui/Pane');
19
+ require('@bigbinary/neetoui/Spinner');
20
+ require('@bigbinary/neetoui/Typography');
21
+ require('@bigbinary/neetoui/formik/ActionBlock');
22
+ require('@bigbinary/neetoui/formik/Select');
23
+ require('ramda');
24
+ require('react-i18next');
25
+ require('@babel/runtime/helpers/defineProperty');
26
+ require('@babel/runtime/helpers/toConsumableArray');
27
+ require('i18next');
28
+ require('dompurify');
29
+ require('@bigbinary/neetoui/Input');
30
+ require('@bigbinary/neetoui/Label');
31
+ require('react/jsx-runtime');
31
32
  require('@bigbinary/neeto-commons-frontend/react-utils');
32
33
  require('@bigbinary/neeto-molecules/Container');
33
34
  require('@tanstack/react-query');
@@ -84,392 +85,12 @@ require('@babel/runtime/helpers/typeof');
84
85
  require('@bigbinary/neeto-icons/Down');
85
86
  require('@bigbinary/neeto-icons/Up');
86
87
 
87
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
88
88
 
89
- var _asyncToGenerator__default = /*#__PURE__*/_interopDefaultLegacy(_asyncToGenerator);
90
- var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
91
- var _regeneratorRuntime__default = /*#__PURE__*/_interopDefaultLegacy(_regeneratorRuntime);
92
- var Pane__default = /*#__PURE__*/_interopDefaultLegacy(Pane);
93
- var Spinner__default = /*#__PURE__*/_interopDefaultLegacy(Spinner);
94
- var Typography__default = /*#__PURE__*/_interopDefaultLegacy(Typography);
95
- var ActionBlock__default = /*#__PURE__*/_interopDefaultLegacy(ActionBlock);
96
- var Select__default = /*#__PURE__*/_interopDefaultLegacy(Select);
97
- var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
98
- var _toConsumableArray__default = /*#__PURE__*/_interopDefaultLegacy(_toConsumableArray);
99
- var Input__default = /*#__PURE__*/_interopDefaultLegacy(Input);
100
- var Label__default = /*#__PURE__*/_interopDefaultLegacy(Label);
101
-
102
- var Action = function Action(_ref) {
103
- var id = _ref.id,
104
- label = _ref.label,
105
- value = _ref.value,
106
- _ref$richText = _ref.richText,
107
- richText = _ref$richText === void 0 ? false : _ref$richText;
108
- if (richText) {
109
- return /*#__PURE__*/jsxRuntime.jsxs("div", {
110
- className: "mb-4 space-y-2",
111
- children: [/*#__PURE__*/jsxRuntime.jsx(Label__default["default"], {
112
- children: label
113
- }), /*#__PURE__*/jsxRuntime.jsx("div", {
114
- className: "border-radius trix-content neeto-ui-bg-gray-100 cursor-not-allowed whitespace-pre-wrap border p-3",
115
- dangerouslySetInnerHTML: {
116
- __html: dompurify.sanitize(value.replace(/\n/g, ""))
117
- }
118
- })]
119
- }, id);
120
- }
121
- return /*#__PURE__*/react.createElement(Input__default["default"], {
122
- label: label,
123
- disabled: true,
124
- className: "mb-4",
125
- key: id,
126
- value: value.replace(/_/g, " ")
127
- });
128
- };
129
-
130
- 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; }
131
- 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__default["default"](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; }
132
- var CANNED_RESPONSE_INPUT_ACTION_NAMES = ["assign_agent", "assign_group", "remove_tags", "add_tags", "change_priority", "change_status"];
133
- var CANNED_RESPONSE_RICH_TEXT_ACTION_NAME = ["add_note", "add_reply"];
134
- var CANNED_RESPONSE_ACTION_LABELS = [].concat(CANNED_RESPONSE_INPUT_ACTION_NAMES, CANNED_RESPONSE_RICH_TEXT_ACTION_NAME).reduce(function (labelObject, actionName) {
135
- return _objectSpread$2(_objectSpread$2({}, labelObject), {}, _defineProperty__default["default"]({}, actionName, "neetoRules.labels.".concat(actionName)));
136
- }, {});
137
- var ACTION_OPTIONS = {
138
- addNote: "add_note",
139
- addCommentOrReply: "add_reply",
140
- addTags: "add_tags",
141
- removeTags: "remove_tags",
142
- changePriority: "change_priority",
143
- changeStatus: "change_status",
144
- assignAgent: "assign_agent",
145
- assignGroup: "assign_group",
146
- assignTicketFieldValue: "assign_field_value"
147
- };
148
- var ACTION_TYPES_MAP = {
149
- single_option: "dropdown",
150
- multi_option: "multiSelect",
151
- checkbox: "dropdown",
152
- integer: "number"
153
- };
154
- var DEFAULT_CHECKBOX_OPTIONS = [{
155
- label: i18next.t("neetoRules.labels.checked"),
156
- value: true
157
- }, {
158
- label: i18next.t("neetoRules.labels.unchecked"),
159
- value: false
160
- }];
161
-
162
- 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; }
163
- 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__default["default"](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; }
164
- var renderActionValue = function renderActionValue(_ref) {
165
- var actionType = _ref.actionType,
166
- displayValue = _ref.displayValue;
167
- if (actionType === "multiSelect") {
168
- return ramda.join(", ", displayValue);
169
- }
170
- return displayValue;
171
- };
172
- var renderDefaultAction = function renderDefaultAction(_ref2) {
173
- var id = _ref2.id,
174
- name = _ref2.name,
175
- displayValue = _ref2.displayValue,
176
- trixBody = _ref2.trixBody;
177
- var label = i18next.t(CANNED_RESPONSE_ACTION_LABELS[name]);
178
- if (CANNED_RESPONSE_RICH_TEXT_ACTION_NAME.includes(name)) {
179
- return /*#__PURE__*/jsxRuntime.jsx(Action, {
180
- id: id,
181
- label: label,
182
- richText: true,
183
- value: trixBody
184
- });
185
- }
186
- return /*#__PURE__*/jsxRuntime.jsx(Action, {
187
- id: id,
188
- label: label,
189
- value: displayValue
190
- });
191
- };
192
- var renderCustomAction = function renderCustomAction(_ref3) {
193
- var id = _ref3.id,
194
- actionableId = _ref3.actionableId,
195
- displayValue = _ref3.displayValue,
196
- actionOptions = _ref3.actionOptions;
197
- var actionName = "ticket_field_".concat(actionableId);
198
- var actionOption = neetoCist.findBy({
199
- value: actionName
200
- }, actionOptions);
201
- var label = actionOption === null || actionOption === void 0 ? void 0 : actionOption.label;
202
- var actionType = actionOption === null || actionOption === void 0 ? void 0 : actionOption.type;
203
- var actionValue = renderActionValue({
204
- actionType: actionType,
205
- displayValue: displayValue
206
- });
207
- var isRichText = actionType === "textarea";
208
- return /*#__PURE__*/jsxRuntime.jsx(Action, {
209
- id: id,
210
- label: label,
211
- richText: isRichText,
212
- value: actionValue
213
- });
214
- };
215
- var getActionDropdown = function getActionDropdown(_ref4) {
216
- var status = _ref4.status,
217
- teams = _ref4.teams,
218
- members = _ref4.members,
219
- tags = _ref4.tags;
220
- return {
221
- change_status: status || [],
222
- assign_group: teams || [],
223
- assign_agent: members || [],
224
- add_tags: tags || [],
225
- remove_tags: tags || []
226
- };
227
- };
228
- var getActionType = function getActionType(kind) {
229
- return ACTION_TYPES_MAP[kind] || kind;
230
- };
231
- var getDropdownOptions = function getDropdownOptions(kind, optionsAttribute) {
232
- if (["single_option", "multi_option"].includes(kind)) {
233
- return optionsAttribute.map(function (_ref5) {
234
- var id = _ref5.id,
235
- label = _ref5.label;
236
- return {
237
- label: label,
238
- value: id
239
- };
240
- });
241
- } else if (kind === "checkbox") {
242
- return _toConsumableArray__default["default"](DEFAULT_CHECKBOX_OPTIONS);
243
- }
244
- return [];
245
- };
246
- var renderAction = function renderAction(_ref6) {
247
- var name = _ref6.name,
248
- id = _ref6.id,
249
- actionableId = _ref6.actionableId,
250
- displayValue = _ref6.displayValue,
251
- _ref6$actionOptions = _ref6.actionOptions,
252
- actionOptions = _ref6$actionOptions === void 0 ? [] : _ref6$actionOptions,
253
- _ref6$trixBody = _ref6.trixBody,
254
- trixBody = _ref6$trixBody === void 0 ? "" : _ref6$trixBody;
255
- var isCustomAction = name === ACTION_OPTIONS.assignTicketFieldValue;
256
- return isCustomAction ? renderCustomAction({
257
- id: id,
258
- actionableId: actionableId,
259
- displayValue: displayValue,
260
- actionOptions: actionOptions
261
- }) : renderDefaultAction({
262
- id: id,
263
- name: name,
264
- displayValue: displayValue,
265
- trixBody: trixBody
266
- });
267
- };
268
- var buildActionOptions = function buildActionOptions(_ref7) {
269
- var dropdownOptions = _ref7.dropdownOptions,
270
- actionNameOptions = _ref7.actionNameOptions,
271
- variables = _ref7.variables;
272
- var actionDropdown = getActionDropdown(dropdownOptions);
273
- var options = actionNameOptions.map(function (option) {
274
- var dropdownOptions = actionDropdown[option.value];
275
- return dropdownOptions ? _objectSpread$1(_objectSpread$1({}, option), {}, {
276
- dropdownOptions: dropdownOptions
277
- }) : option;
278
- });
279
- var fields = (dropdownOptions.fields || []).filter(function (field) {
280
- return !field.kind.startsWith("system_");
281
- }) || [];
282
- var fieldOptions = fields.map(function (_ref8) {
283
- var id = _ref8.id,
284
- name = _ref8.name,
285
- kind = _ref8.kind,
286
- attributeOptions = _ref8.data;
287
- return {
288
- label: i18next.t("neetoRules.common.assign", {
289
- what: name
290
- }),
291
- value: "ticket_field_".concat(id),
292
- type: getActionType(kind),
293
- variables: variables,
294
- defaultData: {
295
- actionable_id: id,
296
- actionable_type: "Field"
297
- },
298
- dropdownOptions: getDropdownOptions(kind, attributeOptions)
299
- };
300
- });
301
- return [].concat(_toConsumableArray__default["default"](options), _toConsumableArray__default["default"](fieldOptions));
302
- };
303
-
304
- 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; }
305
- 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__default["default"](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; }
306
- var Body = function Body(_ref) {
307
- var _cannedResponse$actio;
308
- var actionNameOptions = _ref.actionNameOptions,
309
- cannedResponse = _ref.cannedResponse,
310
- dropdownList = _ref.dropdownList,
311
- isLoading = _ref.isLoading,
312
- variables = _ref.variables;
313
- var _useTranslation = reactI18next.useTranslation(),
314
- t = _useTranslation.t;
315
- var actionOptions = buildActionOptions({
316
- dropdownOptions: dropdownList,
317
- actionNameOptions: actionNameOptions,
318
- variables: variables
319
- });
320
- if (isLoading) {
321
- return /*#__PURE__*/jsxRuntime.jsx("div", {
322
- className: "flex h-full w-full items-center justify-center",
323
- children: /*#__PURE__*/jsxRuntime.jsx(Spinner__default["default"], {})
324
- });
325
- }
326
- return /*#__PURE__*/jsxRuntime.jsx("div", {
327
- className: "overflow-y-auto p-4",
328
- children: ramda.not(cannedResponse) ? t("neetoRules.common.preview") : (_cannedResponse$actio = cannedResponse.actions) === null || _cannedResponse$actio === void 0 ? void 0 : _cannedResponse$actio.map(function (action) {
329
- return renderAction(_objectSpread(_objectSpread({}, action), {}, {
330
- actionOptions: actionOptions
331
- }));
332
- })
333
- });
334
- };
335
-
336
- var CannedResponsesPane = function CannedResponsesPane(_ref) {
337
- var actionNameOptions = _ref.actionNameOptions,
338
- areDropdownListsLoading = _ref.areDropdownListsLoading,
339
- dropdownList = _ref.dropdownList,
340
- isCannedResponsePaneOpen = _ref.isCannedResponsePaneOpen,
341
- isLoadingPreview = _ref.isLoadingPreview,
342
- macros = _ref.macros,
343
- onApply = _ref.onApply,
344
- onCancel = _ref.onCancel,
345
- previewCannedResponses = _ref.previewCannedResponses,
346
- previewParams = _ref.previewParams,
347
- _ref$variables = _ref.variables,
348
- variables = _ref$variables === void 0 ? [] : _ref$variables;
349
- var _useState = react.useState(null),
350
- _useState2 = _slicedToArray__default["default"](_useState, 2),
351
- cannedResponse = _useState2[0],
352
- setCannedResponse = _useState2[1];
353
- var initialFocusRef = react.useRef();
354
- var _useTranslation = reactI18next.useTranslation(),
355
- t = _useTranslation.t;
356
- var options = macros === null || macros === void 0 ? void 0 : macros.map(function (_ref2) {
357
- var name = _ref2.name,
358
- id = _ref2.id;
359
- return {
360
- label: name,
361
- value: id
362
- };
363
- });
364
- var handleSelect = /*#__PURE__*/function () {
365
- var _ref4 = _asyncToGenerator__default["default"](/*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee(_ref3) {
366
- var value;
367
- return _regeneratorRuntime__default["default"].wrap(function _callee$(_context) {
368
- while (1) switch (_context.prev = _context.next) {
369
- case 0:
370
- value = _ref3.value;
371
- _context.next = 3;
372
- return previewCannedResponses({
373
- id: value,
374
- payload: previewParams
375
- }, {
376
- onSuccess: function onSuccess(response) {
377
- return setCannedResponse(ramda.values(response || {})[0]);
378
- }
379
- });
380
- case 3:
381
- case "end":
382
- return _context.stop();
383
- }
384
- }, _callee);
385
- }));
386
- return function handleSelect(_x) {
387
- return _ref4.apply(this, arguments);
388
- };
389
- }();
390
- var handleSubmit = function handleSubmit() {
391
- return onApply({
392
- cannedResponse: cannedResponse,
393
- setCannedResponse: setCannedResponse,
394
- onSettled: onCancel
395
- });
396
- };
397
- var handleCancel = function handleCancel() {
398
- onCancel();
399
- setCannedResponse(null);
400
- };
401
- return /*#__PURE__*/jsxRuntime.jsxs(Pane__default["default"], {
402
- initialFocusRef: initialFocusRef,
403
- isOpen: isCannedResponsePaneOpen,
404
- onClose: handleCancel,
405
- children: [/*#__PURE__*/jsxRuntime.jsx(Pane__default["default"].Header, {
406
- children: /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
407
- style: "h2",
408
- weight: "semibold",
409
- children: t("neetoRules.cannedResponses.title", constants$1.PLURAL)
410
- })
411
- }), /*#__PURE__*/jsxRuntime.jsx(formik.Formik, {
412
- initialValues: {
413
- cannedResponse: neetoCist.toLabelAndValue(null)
414
- },
415
- onSubmit: handleSubmit,
416
- children: function children(_ref5) {
417
- var setFieldValue = _ref5.setFieldValue,
418
- isSubmitting = _ref5.isSubmitting;
419
- return /*#__PURE__*/jsxRuntime.jsxs(formik.Form, {
420
- children: [/*#__PURE__*/jsxRuntime.jsx(Pane__default["default"].Body, {
421
- children: /*#__PURE__*/jsxRuntime.jsx("div", {
422
- className: "flex w-full flex-grow flex-col space-y-4",
423
- children: areDropdownListsLoading ? /*#__PURE__*/jsxRuntime.jsx("div", {
424
- className: "flex h-full w-full items-center justify-center",
425
- children: /*#__PURE__*/jsxRuntime.jsx(Spinner__default["default"], {})
426
- }) : /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
427
- children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
428
- className: "space-y-4",
429
- children: [/*#__PURE__*/jsxRuntime.jsx(Select__default["default"], {
430
- options: options,
431
- isSearchable: true,
432
- label: t("neetoRules.labels.selectCannedResponse"),
433
- name: "cannedResponse",
434
- ref: initialFocusRef,
435
- onChange: function onChange(value) {
436
- setFieldValue("cannedResponse", value);
437
- handleSelect(value);
438
- }
439
- }), /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
440
- style: "body2",
441
- children: t("neetoRules.common.preview")
442
- })]
443
- }), /*#__PURE__*/jsxRuntime.jsx(Body, {
444
- actionNameOptions: actionNameOptions,
445
- cannedResponse: cannedResponse,
446
- dropdownList: dropdownList,
447
- variables: variables,
448
- isLoading: isLoadingPreview
449
- })]
450
- })
451
- })
452
- }), /*#__PURE__*/jsxRuntime.jsx(Pane__default["default"].Footer, {
453
- children: /*#__PURE__*/jsxRuntime.jsx(ActionBlock__default["default"], {
454
- cancelButtonProps: {
455
- onClick: handleCancel
456
- },
457
- isSubmitting: isSubmitting || isLoadingPreview,
458
- submitButtonProps: {
459
- label: t("neetoRules.common.apply")
460
- }
461
- })
462
- })]
463
- });
464
- }
465
- })]
466
- });
467
- };
468
89
 
469
90
  exports.AUTOMATION_RULES_QUERY_KEY = constants.AUTOMATION_RULES;
91
+ exports.CannedResponsesPane = CannedResponsesPane;
470
92
  exports.NeetoRules = NeetoRules;
471
93
  exports.useCustomDataStore = useCustomDataStore.useCustomDataStore;
472
94
  exports.NeetoRulesForm = NeetoRulesForm;
473
95
  exports.RulePreview = RulePreview;
474
- exports.CannedResponsesPane = CannedResponsesPane;
475
96
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
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
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}