@bigbinary/neeto-rules-frontend 2.5.43 → 2.5.44

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.
@@ -4599,20 +4599,22 @@ var EventsPanel = function EventsPanel() {
4599
4599
  }, shallow),
4600
4600
  setPanelState = _useUtilityStore.setPanelState;
4601
4601
  var _useUtilityStore2 = useUtilityStore(function (store) {
4602
- var _store$panelState, _store$panelState2, _store$panelState3, _store$panelState4, _store$panelState5;
4602
+ var _store$panelState, _store$panelState2, _store$panelState3, _store$panelState4, _store$panelState5, _store$panelState6;
4603
4603
  return {
4604
4604
  name: (_store$panelState = store["panelState"]) === null || _store$panelState === void 0 || (_store$panelState = _store$panelState["data"]) === null || _store$panelState === void 0 ? void 0 : _store$panelState["name"],
4605
4605
  data: (_store$panelState2 = store["panelState"]) === null || _store$panelState2 === void 0 || (_store$panelState2 = _store$panelState2["data"]) === null || _store$panelState2 === void 0 ? void 0 : _store$panelState2["data"],
4606
4606
  performerName: (_store$panelState3 = store["panelState"]) === null || _store$panelState3 === void 0 || (_store$panelState3 = _store$panelState3["data"]) === null || _store$panelState3 === void 0 ? void 0 : _store$panelState3["performerName"],
4607
4607
  onSelectEvent: (_store$panelState4 = store["panelState"]) === null || _store$panelState4 === void 0 || (_store$panelState4 = _store$panelState4["data"]) === null || _store$panelState4 === void 0 ? void 0 : _store$panelState4["onSelectEvent"],
4608
- isMenuDisabled: (_store$panelState5 = store["panelState"]) === null || _store$panelState5 === void 0 || (_store$panelState5 = _store$panelState5["data"]) === null || _store$panelState5 === void 0 ? void 0 : _store$panelState5["isMenuDisabled"]
4608
+ isMenuDisabled: (_store$panelState5 = store["panelState"]) === null || _store$panelState5 === void 0 || (_store$panelState5 = _store$panelState5["data"]) === null || _store$panelState5 === void 0 ? void 0 : _store$panelState5["isMenuDisabled"],
4609
+ singleSelect: (_store$panelState6 = store["panelState"]) === null || _store$panelState6 === void 0 || (_store$panelState6 = _store$panelState6["data"]) === null || _store$panelState6 === void 0 ? void 0 : _store$panelState6["singleSelect"]
4609
4610
  };
4610
4611
  }, shallow),
4611
4612
  name = _useUtilityStore2.name,
4612
4613
  data = _useUtilityStore2.data,
4613
4614
  performerName = _useUtilityStore2.performerName,
4614
4615
  onSelectEvent = _useUtilityStore2.onSelectEvent,
4615
- isMenuDisabled = _useUtilityStore2.isMenuDisabled;
4616
+ isMenuDisabled = _useUtilityStore2.isMenuDisabled,
4617
+ singleSelect = _useUtilityStore2.singleSelect;
4616
4618
  var _useFormikContext = useFormikContext(),
4617
4619
  values = _useFormikContext.values,
4618
4620
  setFieldValue = _useFormikContext.setFieldValue;
@@ -4676,7 +4678,7 @@ var EventsPanel = function EventsPanel() {
4676
4678
  return _ref.apply(this, arguments);
4677
4679
  };
4678
4680
  }();
4679
- var handleMultiSelectOption = function handleMultiSelectOption(option) {
4681
+ var handleOptionChange = function handleOptionChange(option) {
4680
4682
  setTouched(true);
4681
4683
  if (option.value === (defaultData === null || defaultData === void 0 ? void 0 : defaultData.name)) {
4682
4684
  handleDefaultData();
@@ -4706,14 +4708,55 @@ var EventsPanel = function EventsPanel() {
4706
4708
  _destroy: true
4707
4709
  })]));
4708
4710
  }
4709
- options = eventNames.includes(option.value) ? removeBy({
4710
- name: option.value
4711
- }, options) : [].concat(_toConsumableArray(options), [{
4712
- name: option.value
4713
- }]);
4711
+ if (singleSelect) {
4712
+ // Single select mode: replace all selections with the clicked option
4713
+ if (eventNames.includes(option.value)) {
4714
+ // If already selected, deselect it (set to empty array)
4715
+ // The event deletion is already handled above if it has an id
4716
+ options = [];
4717
+ } else {
4718
+ // Select only this option, mark others for deletion
4719
+ var otherEvents = options.filter(function (e) {
4720
+ return e.name !== option.value;
4721
+ });
4722
+ var deletedEvents = otherEvents.filter(function (e) {
4723
+ return e.id;
4724
+ }).map(function (e) {
4725
+ return _objectSpread$f(_objectSpread$f({}, e), {}, {
4726
+ _destroy: true
4727
+ });
4728
+ });
4729
+ if (deletedEvents.length > 0) {
4730
+ var _values$name4;
4731
+ setFieldValue("".concat(name, ".deleted"), [].concat(_toConsumableArray(((_values$name4 = values[name]) === null || _values$name4 === void 0 ? void 0 : _values$name4.deleted) || []), _toConsumableArray(deletedEvents)));
4732
+ }
4733
+ options = [{
4734
+ name: option.value
4735
+ }];
4736
+ }
4737
+ } else {
4738
+ // Multi-select mode: toggle the option
4739
+ options = eventNames.includes(option.value) ? removeBy({
4740
+ name: option.value
4741
+ }, options) : [].concat(_toConsumableArray(options), [{
4742
+ name: option.value
4743
+ }]);
4744
+ }
4714
4745
  onSelectEvent === null || onSelectEvent === void 0 || onSelectEvent(name, options);
4715
4746
  setFieldValue("".concat(name, ".value"), options);
4716
4747
  };
4748
+ var handleMultiSelectOption = function handleMultiSelectOption(option) {
4749
+ handleOptionChange(option);
4750
+ };
4751
+ var handleRadioChange = function handleRadioChange(_ref2) {
4752
+ var value = _ref2.target.value;
4753
+ var option = findBy({
4754
+ value: value
4755
+ }, dropdownOptions);
4756
+ if (option) {
4757
+ handleOptionChange(option);
4758
+ }
4759
+ };
4717
4760
  var handleContinue = function handleContinue() {
4718
4761
  setTouched(true);
4719
4762
  !error && setPanelState(mergeDeepLeft({
@@ -4756,9 +4799,25 @@ var EventsPanel = function EventsPanel() {
4756
4799
  })
4757
4800
  }), /*#__PURE__*/jsxs("div", {
4758
4801
  className: "space-y-3",
4759
- children: [isNotEmpty(searchedOptions) ? searchedOptions.map(function (option) {
4760
- return /*#__PURE__*/createElement(Checkbox, {
4761
- ref: ref,
4802
+ children: [isNotEmpty(searchedOptions) ? singleSelect ? /*#__PURE__*/jsx(Radio$1, {
4803
+ stacked: true,
4804
+ value: (eventNames === null || eventNames === void 0 ? void 0 : eventNames[0]) || "",
4805
+ onChange: handleRadioChange,
4806
+ children: searchedOptions.map(function (option, index) {
4807
+ return /*#__PURE__*/createElement(Radio$1.Item, _objectSpread$f(_objectSpread$f({}, index === 0 ? {
4808
+ ref: ref,
4809
+ onFocus: setFieldActive
4810
+ } : {}), {}, {
4811
+ "data-cy": "".concat(joinHyphenCase(option.label), "-radio"),
4812
+ key: option.value,
4813
+ label: option.label,
4814
+ value: option.value
4815
+ }));
4816
+ })
4817
+ }) : searchedOptions.map(function (option, index) {
4818
+ return /*#__PURE__*/createElement(Checkbox, _objectSpread$f(_objectSpread$f({}, index === 0 ? {
4819
+ ref: ref
4820
+ } : {}), {}, {
4762
4821
  checked: eventNames === null || eventNames === void 0 ? void 0 : eventNames.includes(option.value),
4763
4822
  "data-cy": "".concat(joinHyphenCase(option.label), "-checkbox"),
4764
4823
  id: option.value,
@@ -4768,7 +4827,7 @@ var EventsPanel = function EventsPanel() {
4768
4827
  return handleMultiSelectOption(option);
4769
4828
  },
4770
4829
  onFocus: setFieldActive
4771
- });
4830
+ }));
4772
4831
  }) : /*#__PURE__*/jsx("div", {
4773
4832
  className: "py-1 text-sm",
4774
4833
  "data-cy": "no-options-menu-item",
@@ -6112,7 +6171,8 @@ var Events = function Events(_ref) {
6112
6171
  var name = _ref.name,
6113
6172
  data = _ref.data,
6114
6173
  onSelectEvent = _ref.onSelectEvent,
6115
- performerName = _ref.performerName;
6174
+ performerName = _ref.performerName,
6175
+ singleSelect = _ref.singleSelect;
6116
6176
  var _useTranslation = useTranslation(),
6117
6177
  t = _useTranslation.t;
6118
6178
  var _useActiveField = useActiveField(name),
@@ -6143,7 +6203,8 @@ var Events = function Events(_ref) {
6143
6203
  data: data,
6144
6204
  performerName: performerName,
6145
6205
  onSelectEvent: onSelectEvent,
6146
- isMenuDisabled: isMenuDisabled
6206
+ isMenuDisabled: isMenuDisabled,
6207
+ singleSelect: singleSelect
6147
6208
  }
6148
6209
  };
6149
6210
  useEffect(function () {
@@ -6208,7 +6269,7 @@ var Events = function Events(_ref) {
6208
6269
  });
6209
6270
  };
6210
6271
 
6211
- var _excluded$6 = ["addButtonTooltipProps", "data", "label", "name", "performerName", "conditionsName", "onSelectEvent", "enableAddingDelay"];
6272
+ var _excluded$6 = ["addButtonTooltipProps", "data", "label", "name", "performerName", "conditionsName", "onSelectEvent", "enableAddingDelay", "singleSelect"];
6212
6273
  function ownKeys$8(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; }
6213
6274
  function _objectSpread$8(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$8(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$8(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
6214
6275
  var EventConditions = function EventConditions(_ref) {
@@ -6222,6 +6283,8 @@ var EventConditions = function EventConditions(_ref) {
6222
6283
  onSelectEvent = _ref.onSelectEvent,
6223
6284
  _ref$enableAddingDela = _ref.enableAddingDelay,
6224
6285
  enableAddingDelay = _ref$enableAddingDela === void 0 ? false : _ref$enableAddingDela,
6286
+ _ref$singleSelect = _ref.singleSelect,
6287
+ singleSelect = _ref$singleSelect === void 0 ? false : _ref$singleSelect,
6225
6288
  config = _objectWithoutProperties(_ref, _excluded$6);
6226
6289
  var _useFormikContext = useFormikContext(),
6227
6290
  values = _useFormikContext.values,
@@ -6268,7 +6331,8 @@ var EventConditions = function EventConditions(_ref) {
6268
6331
  data: data,
6269
6332
  name: name,
6270
6333
  onSelectEvent: onSelectEvent,
6271
- performerName: performerName
6334
+ performerName: performerName,
6335
+ singleSelect: singleSelect
6272
6336
  })
6273
6337
  }), showAddButton && /*#__PURE__*/jsx(Tooltip, _objectSpread$8(_objectSpread$8({}, tooltipProps), {}, {
6274
6338
  children: /*#__PURE__*/jsx("div", {