@bigbinary/neeto-rules-frontend 0.7.2 → 0.7.4

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.
@@ -33,7 +33,8 @@
33
33
  "phoneNumber": "Phone number",
34
34
  "phoneNumbers": "Phone numbers",
35
35
  "data": "Data",
36
- "reorder": "Reorder"
36
+ "reorder": "Reorder",
37
+ "at": "at"
37
38
  },
38
39
  "form": {
39
40
  "noEvents": "A rule without events will run hourly.",
package/dist/index.cjs.js CHANGED
@@ -211,6 +211,24 @@ var Title = function Title(_ref) {
211
211
  });
212
212
  };
213
213
 
214
+ var PREVIEW_CONDITION_LIMIT = 3;
215
+ var ACTION_TYPE = {
216
+ TEXT: "text",
217
+ NUMBER: "number",
218
+ DECIMAL: "decimal",
219
+ REGEX: "regex",
220
+ DATE: "date",
221
+ EMAIL: "email",
222
+ EMAIL_TO: "emailTo",
223
+ EMAIL_TO_IDS: "emailToIds",
224
+ SMS_TO_NUMBERS: "smsToNumbers",
225
+ MULTI_SELECT: "multiSelect",
226
+ SEND_TO_API: "sendToApi",
227
+ DROPDOWN: "dropdown",
228
+ MULTISELECT: "multiSelect"
229
+ };
230
+ var TEXT_FIELDS = [ACTION_TYPE.TEXT, ACTION_TYPE.NUMBER, ACTION_TYPE.DECIMAL, ACTION_TYPE.REGEX, ACTION_TYPE.DATE];
231
+
214
232
  var MultiSelectValues = function MultiSelectValues(_ref) {
215
233
  var separator = _ref.separator,
216
234
  values = _ref.values;
@@ -239,6 +257,48 @@ var getEntityDisplayValue = function getEntityDisplayValue(entitiy, entitiyOptio
239
257
  value: entitiy.metadata.value
240
258
  }, entitiyOption.dropdownOptions)) === null || _findBy === void 0 || (_findBy = _findBy.label) === null || _findBy === void 0 ? void 0 : _findBy.toLowerCase();
241
259
  };
260
+ var getActionDisplayValue = function getActionDisplayValue(action, actionOption) {
261
+ var displayValueData = {
262
+ displayValue: null,
263
+ isBulk: false
264
+ };
265
+ if (TEXT_FIELDS.includes(actionOption.type)) {
266
+ var _action$metadata$valu;
267
+ displayValueData.displayValue = (_action$metadata$valu = action.metadata.value) === null || _action$metadata$valu === void 0 ? void 0 : _action$metadata$valu.toLowerCase();
268
+ return displayValueData;
269
+ }
270
+ switch (actionOption.type) {
271
+ case ACTION_TYPE.DROPDOWN:
272
+ {
273
+ displayValueData.displayValue = getEntityDisplayValue(action, actionOption);
274
+ return displayValueData;
275
+ }
276
+ case ACTION_TYPE.EMAIL_TO_IDS:
277
+ {
278
+ displayValueData.isBulk = true;
279
+ displayValueData.displayValue = action.metadata.emails;
280
+ return displayValueData;
281
+ }
282
+ case ACTION_TYPE.EMAIL_TO:
283
+ {
284
+ displayValueData.displayValue = action.displayValue;
285
+ return displayValueData;
286
+ }
287
+ case ACTION_TYPE.SMS_TO_NUMBERS:
288
+ {
289
+ displayValueData.isBulk = true;
290
+ displayValueData.displayValue = action.metadata.phoneNumbers;
291
+ return displayValueData;
292
+ }
293
+ case ACTION_TYPE.SEND_TO_API:
294
+ {
295
+ displayValueData.displayValue = action.metadata.endpoint;
296
+ return displayValueData;
297
+ }
298
+ default:
299
+ return null;
300
+ }
301
+ };
242
302
 
243
303
  var ActionsDetail = function ActionsDetail(_ref) {
244
304
  var actions = _ref.actions;
@@ -256,9 +316,26 @@ var ActionsDetail = function ActionsDetail(_ref) {
256
316
  }) : t("neetoRules.common.then");
257
317
  };
258
318
  var renderActionValues = function renderActionValues(action, actionOption) {
259
- if (actionOption.type === "dropdown") {
260
- var _actionOption$separat;
261
- var separator = (actionOption === null || actionOption === void 0 || (_actionOption$separat = actionOption.separator) === null || _actionOption$separat === void 0 ? void 0 : _actionOption$separat.toLowerCase()) || t("neetoRules.common.to");
319
+ var _actionOption$separat, _getActionDisplayValu;
320
+ var commonSeperator = actionOption.type === ACTION_TYPE.SEND_TO_API ? t("neetoRules.common.at") : t("neetoRules.common.to");
321
+ var separator = (actionOption === null || actionOption === void 0 || (_actionOption$separat = actionOption.separator) === null || _actionOption$separat === void 0 ? void 0 : _actionOption$separat.toLowerCase()) || commonSeperator;
322
+ var _ref2 = (_getActionDisplayValu = getActionDisplayValue(action, actionOption)) !== null && _getActionDisplayValu !== void 0 ? _getActionDisplayValu : {},
323
+ displayValue = _ref2.displayValue,
324
+ isBulk = _ref2.isBulk;
325
+ if (actionOption.type === ACTION_TYPE.MULTISELECT) {
326
+ var values = ramda.pluck("label", actionOption.dropdownOptions.filter(function (_ref3) {
327
+ var value = _ref3.value;
328
+ return action.metadata.value.includes(value);
329
+ }));
330
+ return /*#__PURE__*/jsxRuntime.jsx(MultiSelectValues, {
331
+ values: values,
332
+ separator: t("neetoRules.common.and", {
333
+ what: ""
334
+ })
335
+ });
336
+ }
337
+ if (!displayValue) return null;
338
+ if (!isBulk) {
262
339
  return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
263
340
  children: [/*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
264
341
  className: "neeto-ui-text-gray-700",
@@ -269,23 +346,20 @@ var ActionsDetail = function ActionsDetail(_ref) {
269
346
  className: "neeto-ui-text-gray-800",
270
347
  style: "h5",
271
348
  weight: "semibold",
272
- children: getEntityDisplayValue(action, actionOption)
349
+ children: displayValue === null || displayValue === void 0 ? void 0 : displayValue.toLowerCase()
273
350
  })]
274
351
  });
275
352
  }
276
- if (actionOption.type === "multiSelect") {
277
- var values = ramda.pluck("label", actionOption.dropdownOptions.filter(function (_ref2) {
278
- var value = _ref2.value;
279
- return action.metadata.value.includes(value);
280
- }));
281
- return /*#__PURE__*/jsxRuntime.jsx(MultiSelectValues, {
282
- values: values,
283
- separator: t("neetoRules.common.and", {
284
- what: ""
285
- })
286
- });
287
- }
288
- return null;
353
+ return displayValue.map(function (value, index) {
354
+ return /*#__PURE__*/jsxRuntime.jsxs("div", {
355
+ className: "mr-1 flex",
356
+ children: [/*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
357
+ style: "h5",
358
+ weight: "semibold",
359
+ children: value
360
+ }, index), index !== displayValue.length - 1 && ", "]
361
+ }, index);
362
+ });
289
363
  };
290
364
  var renderAction = function renderAction(action) {
291
365
  var actionOption = neetoCist.findBy({
@@ -306,6 +380,7 @@ var ActionsDetail = function ActionsDetail(_ref) {
306
380
  children: [allActions.map(function (action, index) {
307
381
  return /*#__PURE__*/jsxRuntime.jsxs("div", {
308
382
  className: "mb-2 flex flex-wrap gap-x-1 gap-y-2",
383
+ "data-cy": "then-action-events",
309
384
  children: [/*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
310
385
  className: "neeto-ui-text-gray-700",
311
386
  style: "h5",
@@ -374,8 +449,6 @@ var CONDITION_VALUE_TYPES = {
374
449
  var INPUT_FIELD_TYPES = ["email", "text", "number", "decimal", "url", "regex"];
375
450
  var MAXIMUM_OPTION_LENGTH$3 = 7;
376
451
 
377
- var PREVIEW_CONDITION_LIMIT = 3;
378
-
379
452
  function ownKeys$r(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; }
380
453
  function _objectSpread$p(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$r(Object(t), !0).forEach(function (r) { _defineProperty$2(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$r(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
381
454
  var ConditionsDetail = function ConditionsDetail(_ref) {
@@ -509,6 +582,7 @@ var EventsDetail = function EventsDetail(_ref) {
509
582
  title: t("neetoRules.common.when"),
510
583
  children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
511
584
  className: "flex flex-wrap gap-x-2 gap-y-2",
585
+ "data-cy": "when-condition-events",
512
586
  children: [allEvents.map(function (event, index) {
513
587
  return /*#__PURE__*/jsxRuntime.jsxs("div", {
514
588
  className: "flex gap-x-2",