@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.
@@ -4620,20 +4620,22 @@ var EventsPanel = function EventsPanel() {
4620
4620
  }, shallow.shallow),
4621
4621
  setPanelState = _useUtilityStore.setPanelState;
4622
4622
  var _useUtilityStore2 = useUtilityStore.useUtilityStore(function (store) {
4623
- var _store$panelState, _store$panelState2, _store$panelState3, _store$panelState4, _store$panelState5;
4623
+ var _store$panelState, _store$panelState2, _store$panelState3, _store$panelState4, _store$panelState5, _store$panelState6;
4624
4624
  return {
4625
4625
  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"],
4626
4626
  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"],
4627
4627
  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"],
4628
4628
  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"],
4629
- 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"]
4629
+ 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"],
4630
+ 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"]
4630
4631
  };
4631
4632
  }, shallow.shallow),
4632
4633
  name = _useUtilityStore2.name,
4633
4634
  data = _useUtilityStore2.data,
4634
4635
  performerName = _useUtilityStore2.performerName,
4635
4636
  onSelectEvent = _useUtilityStore2.onSelectEvent,
4636
- isMenuDisabled = _useUtilityStore2.isMenuDisabled;
4637
+ isMenuDisabled = _useUtilityStore2.isMenuDisabled,
4638
+ singleSelect = _useUtilityStore2.singleSelect;
4637
4639
  var _useFormikContext = formik.useFormikContext(),
4638
4640
  values = _useFormikContext.values,
4639
4641
  setFieldValue = _useFormikContext.setFieldValue;
@@ -4697,7 +4699,7 @@ var EventsPanel = function EventsPanel() {
4697
4699
  return _ref.apply(this, arguments);
4698
4700
  };
4699
4701
  }();
4700
- var handleMultiSelectOption = function handleMultiSelectOption(option) {
4702
+ var handleOptionChange = function handleOptionChange(option) {
4701
4703
  setTouched(true);
4702
4704
  if (option.value === (defaultData === null || defaultData === void 0 ? void 0 : defaultData.name)) {
4703
4705
  handleDefaultData();
@@ -4727,14 +4729,55 @@ var EventsPanel = function EventsPanel() {
4727
4729
  _destroy: true
4728
4730
  })]));
4729
4731
  }
4730
- options = eventNames.includes(option.value) ? neetoCist.removeBy({
4731
- name: option.value
4732
- }, options) : [].concat(_toConsumableArray(options), [{
4733
- name: option.value
4734
- }]);
4732
+ if (singleSelect) {
4733
+ // Single select mode: replace all selections with the clicked option
4734
+ if (eventNames.includes(option.value)) {
4735
+ // If already selected, deselect it (set to empty array)
4736
+ // The event deletion is already handled above if it has an id
4737
+ options = [];
4738
+ } else {
4739
+ // Select only this option, mark others for deletion
4740
+ var otherEvents = options.filter(function (e) {
4741
+ return e.name !== option.value;
4742
+ });
4743
+ var deletedEvents = otherEvents.filter(function (e) {
4744
+ return e.id;
4745
+ }).map(function (e) {
4746
+ return _objectSpread$f(_objectSpread$f({}, e), {}, {
4747
+ _destroy: true
4748
+ });
4749
+ });
4750
+ if (deletedEvents.length > 0) {
4751
+ var _values$name4;
4752
+ setFieldValue("".concat(name, ".deleted"), [].concat(_toConsumableArray(((_values$name4 = values[name]) === null || _values$name4 === void 0 ? void 0 : _values$name4.deleted) || []), _toConsumableArray(deletedEvents)));
4753
+ }
4754
+ options = [{
4755
+ name: option.value
4756
+ }];
4757
+ }
4758
+ } else {
4759
+ // Multi-select mode: toggle the option
4760
+ options = eventNames.includes(option.value) ? neetoCist.removeBy({
4761
+ name: option.value
4762
+ }, options) : [].concat(_toConsumableArray(options), [{
4763
+ name: option.value
4764
+ }]);
4765
+ }
4735
4766
  onSelectEvent === null || onSelectEvent === void 0 || onSelectEvent(name, options);
4736
4767
  setFieldValue("".concat(name, ".value"), options);
4737
4768
  };
4769
+ var handleMultiSelectOption = function handleMultiSelectOption(option) {
4770
+ handleOptionChange(option);
4771
+ };
4772
+ var handleRadioChange = function handleRadioChange(_ref2) {
4773
+ var value = _ref2.target.value;
4774
+ var option = neetoCist.findBy({
4775
+ value: value
4776
+ }, dropdownOptions);
4777
+ if (option) {
4778
+ handleOptionChange(option);
4779
+ }
4780
+ };
4738
4781
  var handleContinue = function handleContinue() {
4739
4782
  setTouched(true);
4740
4783
  !error && setPanelState(ramda.mergeDeepLeft({
@@ -4777,9 +4820,25 @@ var EventsPanel = function EventsPanel() {
4777
4820
  })
4778
4821
  }), /*#__PURE__*/jsxRuntime.jsxs("div", {
4779
4822
  className: "space-y-3",
4780
- children: [neetoCist.isNotEmpty(searchedOptions) ? searchedOptions.map(function (option) {
4781
- return /*#__PURE__*/react.createElement(Checkbox, {
4782
- ref: ref,
4823
+ children: [neetoCist.isNotEmpty(searchedOptions) ? singleSelect ? /*#__PURE__*/jsxRuntime.jsx(Radio$1, {
4824
+ stacked: true,
4825
+ value: (eventNames === null || eventNames === void 0 ? void 0 : eventNames[0]) || "",
4826
+ onChange: handleRadioChange,
4827
+ children: searchedOptions.map(function (option, index) {
4828
+ return /*#__PURE__*/react.createElement(Radio$1.Item, _objectSpread$f(_objectSpread$f({}, index === 0 ? {
4829
+ ref: ref,
4830
+ onFocus: setFieldActive
4831
+ } : {}), {}, {
4832
+ "data-cy": "".concat(utils.joinHyphenCase(option.label), "-radio"),
4833
+ key: option.value,
4834
+ label: option.label,
4835
+ value: option.value
4836
+ }));
4837
+ })
4838
+ }) : searchedOptions.map(function (option, index) {
4839
+ return /*#__PURE__*/react.createElement(Checkbox, _objectSpread$f(_objectSpread$f({}, index === 0 ? {
4840
+ ref: ref
4841
+ } : {}), {}, {
4783
4842
  checked: eventNames === null || eventNames === void 0 ? void 0 : eventNames.includes(option.value),
4784
4843
  "data-cy": "".concat(utils.joinHyphenCase(option.label), "-checkbox"),
4785
4844
  id: option.value,
@@ -4789,7 +4848,7 @@ var EventsPanel = function EventsPanel() {
4789
4848
  return handleMultiSelectOption(option);
4790
4849
  },
4791
4850
  onFocus: setFieldActive
4792
- });
4851
+ }));
4793
4852
  }) : /*#__PURE__*/jsxRuntime.jsx("div", {
4794
4853
  className: "py-1 text-sm",
4795
4854
  "data-cy": "no-options-menu-item",
@@ -6133,7 +6192,8 @@ var Events = function Events(_ref) {
6133
6192
  var name = _ref.name,
6134
6193
  data = _ref.data,
6135
6194
  onSelectEvent = _ref.onSelectEvent,
6136
- performerName = _ref.performerName;
6195
+ performerName = _ref.performerName,
6196
+ singleSelect = _ref.singleSelect;
6137
6197
  var _useTranslation = reactI18next.useTranslation(),
6138
6198
  t = _useTranslation.t;
6139
6199
  var _useActiveField = useActiveField.useActiveField(name),
@@ -6164,7 +6224,8 @@ var Events = function Events(_ref) {
6164
6224
  data: data,
6165
6225
  performerName: performerName,
6166
6226
  onSelectEvent: onSelectEvent,
6167
- isMenuDisabled: isMenuDisabled
6227
+ isMenuDisabled: isMenuDisabled,
6228
+ singleSelect: singleSelect
6168
6229
  }
6169
6230
  };
6170
6231
  react.useEffect(function () {
@@ -6229,7 +6290,7 @@ var Events = function Events(_ref) {
6229
6290
  });
6230
6291
  };
6231
6292
 
6232
- var _excluded$6 = ["addButtonTooltipProps", "data", "label", "name", "performerName", "conditionsName", "onSelectEvent", "enableAddingDelay"];
6293
+ var _excluded$6 = ["addButtonTooltipProps", "data", "label", "name", "performerName", "conditionsName", "onSelectEvent", "enableAddingDelay", "singleSelect"];
6233
6294
  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; }
6234
6295
  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; }
6235
6296
  var EventConditions = function EventConditions(_ref) {
@@ -6243,6 +6304,8 @@ var EventConditions = function EventConditions(_ref) {
6243
6304
  onSelectEvent = _ref.onSelectEvent,
6244
6305
  _ref$enableAddingDela = _ref.enableAddingDelay,
6245
6306
  enableAddingDelay = _ref$enableAddingDela === void 0 ? false : _ref$enableAddingDela,
6307
+ _ref$singleSelect = _ref.singleSelect,
6308
+ singleSelect = _ref$singleSelect === void 0 ? false : _ref$singleSelect,
6246
6309
  config = _objectWithoutProperties(_ref, _excluded$6);
6247
6310
  var _useFormikContext = formik.useFormikContext(),
6248
6311
  values = _useFormikContext.values,
@@ -6289,7 +6352,8 @@ var EventConditions = function EventConditions(_ref) {
6289
6352
  data: data,
6290
6353
  name: name,
6291
6354
  onSelectEvent: onSelectEvent,
6292
- performerName: performerName
6355
+ performerName: performerName,
6356
+ singleSelect: singleSelect
6293
6357
  })
6294
6358
  }), showAddButton && /*#__PURE__*/jsxRuntime.jsx(Tooltip, _objectSpread$8(_objectSpread$8({}, tooltipProps), {}, {
6295
6359
  children: /*#__PURE__*/jsxRuntime.jsx("div", {