@bigbinary/neeto-rules-frontend 0.7.4 → 0.8.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,4 +1,4 @@
1
- import { withImmutableActions, withT, useStateWithDependency, useDebounce } from '@bigbinary/neeto-commons-frontend/react-utils';
1
+ import { withImmutableActions, withT, useMutationWithInvalidation, useQueryParams, useStateWithDependency, useDebounce } from '@bigbinary/neeto-commons-frontend/react-utils';
2
2
  import { create as create$1 } from 'zustand';
3
3
  import * as React from 'react';
4
4
  import React__default, { useState, useRef, useEffect, useContext, useLayoutEffect as useLayoutEffect$1, createElement, useMemo as useMemo$1, forwardRef, createContext, useCallback as useCallback$1, Component, Fragment as Fragment$1, memo } from 'react';
@@ -9,21 +9,30 @@ import Pane from '@bigbinary/neetoui/Pane';
9
9
  import Typography from '@bigbinary/neetoui/Typography';
10
10
  import { Down, Up, Reorder, Delete, Check, Search, Close, Plus, Refresh, Eye } from '@bigbinary/neeto-icons';
11
11
  import Button from '@bigbinary/neetoui/Button';
12
- import { pluck, equals, clone, isNil, isNotNil, whereAny, useWith, path, split, assocPath, toLower, isEmpty, without, append as append$1, pipe, filter, uniq, join, map, assoc, mergeLeft, includes, test, partition } from 'ramda';
12
+ import { pluck, isNotNil, isEmpty, equals, clone as clone$1, isNil, whereAny, useWith, path, split, assocPath, toLower, without, append as append$1, pipe, filter, uniq, join, map, assoc, mergeLeft, includes, test, partition } from 'ramda';
13
13
  import { useTranslation, Trans } from 'react-i18next';
14
14
  import { jsxs, Fragment, jsx as jsx$1 } from 'react/jsx-runtime';
15
15
  import { t as t$5 } from 'i18next';
16
+ import { DEFAULT_PAGE_SIZE } from '@bigbinary/neeto-commons-frontend/constants';
17
+ import SubHeader from '@bigbinary/neeto-molecules/SubHeader';
18
+ import TableWrapper from '@bigbinary/neeto-molecules/TableWrapper';
19
+ import Alert from '@bigbinary/neetoui/Alert';
20
+ import NoData from '@bigbinary/neetoui/NoData';
21
+ import Table from '@bigbinary/neetoui/Table';
22
+ import { useQuery } from 'react-query';
23
+ import axios from 'axios';
24
+ import { buildUrl, joinHyphenCase, hyphenize } from '@bigbinary/neeto-commons-frontend/utils';
25
+ import Switch from '@bigbinary/neetoui/Switch';
26
+ import { Link, withRouter } from 'react-router-dom';
16
27
  import ReactDOM, { unstable_batchedUpdates, flushSync, createPortal } from 'react-dom';
17
28
  import Pagination from '@bigbinary/neetoui/Pagination';
18
- import { withRouter } from 'react-router-dom';
19
29
  import { shallow } from 'zustand/shallow';
20
30
  import classNames$1 from 'classnames';
21
31
  import { useFormikContext, Formik, Form, useField, FieldArray, ErrorMessage } from 'formik';
22
32
  import ActionBlock from '@bigbinary/neetoui/formik/ActionBlock';
23
33
  import { isPhoneNumberValid } from '@bigbinary/neeto-molecules/PhoneNumber';
24
34
  import * as yup from 'yup';
25
- import { isEditorEmpty, FormikEditor } from '@bigbinary/neeto-editor';
26
- import { joinHyphenCase, hyphenize } from '@bigbinary/neeto-commons-frontend/utils';
35
+ import { isEditorEmpty } from '@bigbinary/neeto-editor/utils';
27
36
  import Dropdown$1 from '@bigbinary/neetoui/Dropdown';
28
37
  import Input$2 from '@bigbinary/neetoui/Input';
29
38
  import Textarea from '@bigbinary/neetoui/formik/Textarea';
@@ -31,6 +40,7 @@ import Label from '@bigbinary/neetoui/Label';
31
40
  import Select$1 from '@bigbinary/neetoui/Select';
32
41
  import dayjs from 'dayjs';
33
42
  import DatePicker from '@bigbinary/neetoui/DatePicker';
43
+ import FormikEditor from '@bigbinary/neeto-editor/FormikEditor';
34
44
  import MultiEmailInput from '@bigbinary/neetoui/formik/MultiEmailInput';
35
45
  import Input$3 from '@bigbinary/neetoui/formik/Input';
36
46
  import useHotkeys from '@bigbinary/neeto-hotkeys';
@@ -398,8 +408,8 @@ var CONDITION_VALUE_TYPES = {
398
408
  var INPUT_FIELD_TYPES = ["email", "text", "number", "decimal", "url", "regex"];
399
409
  var MAXIMUM_OPTION_LENGTH$3 = 7;
400
410
 
401
- 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; }
402
- 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; }
411
+ function ownKeys$u(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; }
412
+ function _objectSpread$s(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$u(Object(t), !0).forEach(function (r) { _defineProperty$2(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$u(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
403
413
  var ConditionsDetail = function ConditionsDetail(_ref) {
404
414
  var conditions = _ref.conditions,
405
415
  conditionOptions = _ref.conditionOptions,
@@ -415,7 +425,7 @@ var ConditionsDetail = function ConditionsDetail(_ref) {
415
425
  t = _useTranslation.t;
416
426
  var conditionsList = conditions.value;
417
427
  var allConditions = viewMore && conditionsList.length > PREVIEW_CONDITION_LIMIT ? conditionsList : conditionsList.slice(0, PREVIEW_CONDITION_LIMIT);
418
- var allConditionVerbs = _objectSpread$p(_objectSpread$p({}, VERB_LABELS), conditionVerbs);
428
+ var allConditionVerbs = _objectSpread$s(_objectSpread$s({}, VERB_LABELS), conditionVerbs);
419
429
  var getLogicOperator = function getLogicOperator(joinType) {
420
430
  return joinType === "or_operator" ? "or" : "and";
421
431
  };
@@ -571,8 +581,8 @@ var EventsDetail = function EventsDetail(_ref) {
571
581
  });
572
582
  };
573
583
 
574
- function ownKeys$q(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; }
575
- function _objectSpread$o(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$q(Object(t), !0).forEach(function (r) { _defineProperty$2(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$q(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
584
+ function ownKeys$t(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; }
585
+ function _objectSpread$r(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$t(Object(t), !0).forEach(function (r) { _defineProperty$2(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$t(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
576
586
  var RulePreview = withT(function (_ref) {
577
587
  var t = _ref.t,
578
588
  isLoading = _ref.isLoading,
@@ -593,7 +603,7 @@ var RulePreview = withT(function (_ref) {
593
603
  style: "h4",
594
604
  weight: "semibold",
595
605
  children: ruleDetails.name.value
596
- }), isNotEmpty(moreDropdownProps) && /*#__PURE__*/jsx$1(MoreDropdown, _objectSpread$o({}, moreDropdownProps))]
606
+ }), isNotEmpty(moreDropdownProps) && /*#__PURE__*/jsx$1(MoreDropdown, _objectSpread$r({}, moreDropdownProps))]
597
607
  })
598
608
  }), /*#__PURE__*/jsx$1(Pane.Body, {
599
609
  children: /*#__PURE__*/jsxs("div", {
@@ -639,6 +649,419 @@ var RulePreview = withT(function (_ref) {
639
649
  });
640
650
  });
641
651
 
652
+ function _objectWithoutPropertiesLoose$2(source, excluded) {
653
+ if (source == null) return {};
654
+ var target = {};
655
+ var sourceKeys = Object.keys(source);
656
+ var key, i;
657
+ for (i = 0; i < sourceKeys.length; i++) {
658
+ key = sourceKeys[i];
659
+ if (excluded.indexOf(key) >= 0) continue;
660
+ target[key] = source[key];
661
+ }
662
+ return target;
663
+ }
664
+
665
+ function _objectWithoutProperties$1(source, excluded) {
666
+ if (source == null) return {};
667
+ var target = _objectWithoutPropertiesLoose$2(source, excluded);
668
+ var key, i;
669
+ if (Object.getOwnPropertySymbols) {
670
+ var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
671
+ for (i = 0; i < sourceSymbolKeys.length; i++) {
672
+ key = sourceSymbolKeys[i];
673
+ if (excluded.indexOf(key) >= 0) continue;
674
+ if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
675
+ target[key] = source[key];
676
+ }
677
+ }
678
+ return target;
679
+ }
680
+
681
+ var _excluded$k = ["url"];
682
+ var fetch = function fetch(_ref) {
683
+ var url = _ref.url,
684
+ params = _objectWithoutProperties$1(_ref, _excluded$k);
685
+ return axios.get(url, {
686
+ params: params
687
+ });
688
+ };
689
+ var update$1 = function update(_ref2) {
690
+ var url = _ref2.url,
691
+ id = _ref2.id,
692
+ payload = _ref2.payload;
693
+ return axios.patch("".concat(url, "/").concat(id), payload);
694
+ };
695
+ var clone = function clone(_ref3) {
696
+ var url = _ref3.url,
697
+ id = _ref3.id;
698
+ return axios.post("".concat(url, "/").concat(id, "/clone"));
699
+ };
700
+ var destroy = function destroy(_ref4) {
701
+ var url = _ref4.url,
702
+ id = _ref4.id;
703
+ return axios["delete"]("".concat(url, "/").concat(id));
704
+ };
705
+ var automationRulesApi = {
706
+ fetch: fetch,
707
+ update: update$1,
708
+ clone: clone,
709
+ destroy: destroy
710
+ };
711
+
712
+ //TODO: Remove if not used
713
+ var AUTOMATION_RULES = "automation-rules";
714
+ var STALE_TIME = 3200000;
715
+
716
+ function ownKeys$s(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; }
717
+ function _objectSpread$q(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$s(Object(t), !0).forEach(function (r) { _defineProperty$2(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$s(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
718
+ var useFetchAutomationRules = function useFetchAutomationRules(params) {
719
+ var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
720
+ return useQuery([AUTOMATION_RULES, params], function () {
721
+ return automationRulesApi.fetch(params);
722
+ }, _objectSpread$q({
723
+ staleTime: STALE_TIME,
724
+ select: function select(response) {
725
+ return response.data || response;
726
+ },
727
+ keepPreviousData: true
728
+ }, options));
729
+ };
730
+ var useUpdateAutomationRule = function useUpdateAutomationRule() {
731
+ return useMutationWithInvalidation(automationRulesApi.update, {
732
+ keysToInvalidate: [AUTOMATION_RULES]
733
+ });
734
+ };
735
+ var useCloneAutomationRule = function useCloneAutomationRule() {
736
+ return useMutationWithInvalidation(automationRulesApi.clone, {
737
+ keysToInvalidate: [AUTOMATION_RULES]
738
+ });
739
+ };
740
+ var useDeleteAutomationRule = function useDeleteAutomationRule() {
741
+ return useMutationWithInvalidation(automationRulesApi.destroy, {
742
+ keysToInvalidate: [AUTOMATION_RULES]
743
+ });
744
+ };
745
+
746
+ var createRoutes = function createRoutes(basePath) {
747
+ return {
748
+ index: basePath,
749
+ "new": "".concat(basePath, "/new"),
750
+ edit: "".concat(basePath, "/:ruleId/edit")
751
+ };
752
+ };
753
+
754
+ var STATUS_KEYS = {
755
+ ENABLED: "enabled",
756
+ DISABLED: "disabled"
757
+ };
758
+ var DEFAULT_INIT_PAGE = 1;
759
+
760
+ function _arrayWithoutHoles$1(arr) {
761
+ if (Array.isArray(arr)) return _arrayLikeToArray$1(arr);
762
+ }
763
+
764
+ function _iterableToArray$1(iter) {
765
+ if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
766
+ }
767
+
768
+ function _nonIterableSpread$1() {
769
+ throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
770
+ }
771
+
772
+ function _toConsumableArray$1(arr) {
773
+ return _arrayWithoutHoles$1(arr) || _iterableToArray$1(arr) || _unsupportedIterableToArray$1(arr) || _nonIterableSpread$1();
774
+ }
775
+
776
+ var DisableMessage = withT(function (_ref) {
777
+ var t = _ref.t,
778
+ disabledReason = _ref.disabledReason;
779
+ return isNotNil(disabledReason) && /*#__PURE__*/jsx$1("div", {
780
+ children: /*#__PURE__*/jsx$1(Typography, {
781
+ "class": "text-red-600",
782
+ component: "span",
783
+ style: "body2",
784
+ children: t(disabledReason)
785
+ })
786
+ });
787
+ });
788
+
789
+ var _excluded$j = ["onClick"],
790
+ _excluded2 = ["handleChangeStatus", "additionalColumns", "onPreview"];
791
+ 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; }
792
+ 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; }
793
+ var buildActionDropdownMenuItems = function buildActionDropdownMenuItems(_ref) {
794
+ var rule = _ref.rule,
795
+ onClone = _ref.onClone,
796
+ onDelete = _ref.onDelete,
797
+ _ref$moreDropdownItem = _ref.moreDropdownItems,
798
+ moreDropdownItems = _ref$moreDropdownItem === void 0 ? [] : _ref$moreDropdownItem,
799
+ automationRulesPath = _ref.automationRulesPath;
800
+ return [].concat(_toConsumableArray$1(moreDropdownItems.map(function (_ref2) {
801
+ var _onClick = _ref2.onClick,
802
+ others = _objectWithoutProperties$1(_ref2, _excluded$j);
803
+ return _objectSpread$p(_objectSpread$p({}, others), {}, {
804
+ onClick: function onClick() {
805
+ return _onClick(rule);
806
+ }
807
+ });
808
+ })), [{
809
+ key: "edit",
810
+ className: "neeto-ui-btn",
811
+ "data-test-id": "automation-rules-edit-link",
812
+ label: t$5("neetoRules.button.edit"),
813
+ to: buildUrl(createRoutes(automationRulesPath).edit, {
814
+ ruleId: rule.id
815
+ })
816
+ }, {
817
+ key: "clone",
818
+ "data-test-id": "automation-rules-clone-link",
819
+ label: t$5("neetoRules.button.clone"),
820
+ onClick: function onClick() {
821
+ return onClone(rule.id);
822
+ }
823
+ }, {
824
+ key: "delete",
825
+ "data-test-id": "automation-rules-delete-link",
826
+ label: t$5("neetoRules.button.delete"),
827
+ onClick: function onClick() {
828
+ return onDelete(rule);
829
+ }
830
+ }]);
831
+ };
832
+ var getColumnData = function getColumnData(_ref3) {
833
+ var handleChangeStatus = _ref3.handleChangeStatus,
834
+ _ref3$additionalColum = _ref3.additionalColumns,
835
+ additionalColumns = _ref3$additionalColum === void 0 ? [] : _ref3$additionalColum,
836
+ onPreview = _ref3.onPreview,
837
+ otherProps = _objectWithoutProperties$1(_ref3, _excluded2);
838
+ return [{
839
+ title: t$5("neetoRules.labels.name"),
840
+ dataIndex: "name",
841
+ key: "name",
842
+ ellipsis: true,
843
+ width: 440,
844
+ render: function render(name, rule) {
845
+ return /*#__PURE__*/jsxs("div", {
846
+ children: [/*#__PURE__*/jsxs("div", {
847
+ className: "flex items-center justify-between gap-x-3",
848
+ children: [/*#__PURE__*/jsx$1(Button, {
849
+ className: "whitespace-pre-line break-words text-left",
850
+ style: "link",
851
+ onClick: function onClick() {
852
+ return onPreview(rule.id);
853
+ },
854
+ children: name
855
+ }), /*#__PURE__*/jsx$1(MoreDropdown, {
856
+ dropdownProps: {
857
+ strategy: "fixed"
858
+ },
859
+ menuItems: buildActionDropdownMenuItems(_objectSpread$p({
860
+ rule: rule
861
+ }, otherProps))
862
+ })]
863
+ }), /*#__PURE__*/jsx$1(DisableMessage, {
864
+ disabledReason: rule.disabledReason
865
+ })]
866
+ });
867
+ }
868
+ }, {
869
+ title: t$5("neetoRules.labels.description"),
870
+ dataIndex: "description",
871
+ key: "description",
872
+ width: 390,
873
+ render: function render(description) {
874
+ return /*#__PURE__*/jsx$1(Typography, {
875
+ className: "whitespace-pre-line break-words",
876
+ style: "body2",
877
+ children: description
878
+ });
879
+ }
880
+ }, {
881
+ title: t$5("neetoRules.labels.active"),
882
+ key: "active",
883
+ width: 100,
884
+ align: "center",
885
+ render: function render(_, rule) {
886
+ return /*#__PURE__*/jsx$1("div", {
887
+ className: "flex justify-center",
888
+ children: /*#__PURE__*/jsx$1(Switch, {
889
+ checked: rule.status === STATUS_KEYS.ENABLED,
890
+ "data-test-id": "automation-rules-state-switch-row",
891
+ disabled: !!rule.disabledReason,
892
+ onChange: function onChange(e) {
893
+ handleChangeStatus(e, rule.id);
894
+ }
895
+ })
896
+ });
897
+ }
898
+ }].concat(_toConsumableArray$1(additionalColumns));
899
+ };
900
+ var renderNoDataHelpText = function renderNoDataHelpText(helpDocUrl) {
901
+ return /*#__PURE__*/jsx$1(Trans, {
902
+ i18nKey: "neetoRules.noData.helpText",
903
+ components: {
904
+ a: /*#__PURE__*/jsx$1(Link, {
905
+ className: "neeto-ui-text-primary-600 underline",
906
+ target: "_blank",
907
+ to: {
908
+ pathname: helpDocUrl
909
+ }
910
+ })
911
+ }
912
+ });
913
+ };
914
+
915
+ function ownKeys$q(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; }
916
+ function _objectSpread$o(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$q(Object(t), !0).forEach(function (r) { _defineProperty$2(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$q(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
917
+ var RulesTable = function RulesTable(_ref) {
918
+ var url = _ref.automationRulesEndpoint,
919
+ additionalColumns = _ref.additionalColumns,
920
+ _ref$automationRulesP = _ref.automationRulesPath,
921
+ automationRulesPath = _ref$automationRulesP === void 0 ? "/" : _ref$automationRulesP,
922
+ onPreview = _ref.onPreview,
923
+ _ref$helpDocUrl = _ref.helpDocUrl,
924
+ helpDocUrl = _ref$helpDocUrl === void 0 ? null : _ref$helpDocUrl,
925
+ _ref$moreDropdownItem = _ref.moreDropdownItems,
926
+ moreDropdownItems = _ref$moreDropdownItem === void 0 ? [] : _ref$moreDropdownItem;
927
+ var _useState = useState(null),
928
+ _useState2 = _slicedToArray$1(_useState, 2),
929
+ selectedRule = _useState2[0],
930
+ setSelectedRule = _useState2[1];
931
+ var _useState3 = useState(DEFAULT_INIT_PAGE),
932
+ _useState4 = _slicedToArray$1(_useState3, 2),
933
+ page = _useState4[0],
934
+ setPage = _useState4[1];
935
+ var _useTranslation = useTranslation(),
936
+ t = _useTranslation.t;
937
+ var _useQueryParams = useQueryParams(),
938
+ _useQueryParams$searc = _useQueryParams.searchTerm,
939
+ searchTerm = _useQueryParams$searc === void 0 ? "" : _useQueryParams$searc;
940
+ var _useFetchAutomationRu = useFetchAutomationRules({
941
+ url: url,
942
+ page: page,
943
+ pageSize: DEFAULT_PAGE_SIZE,
944
+ searchTerm: searchTerm
945
+ }),
946
+ _useFetchAutomationRu2 = _useFetchAutomationRu.data,
947
+ _useFetchAutomationRu3 = _useFetchAutomationRu2 === void 0 ? {} : _useFetchAutomationRu2,
948
+ _useFetchAutomationRu4 = _useFetchAutomationRu3.rules,
949
+ rules = _useFetchAutomationRu4 === void 0 ? [] : _useFetchAutomationRu4,
950
+ _useFetchAutomationRu5 = _useFetchAutomationRu3.totalCount,
951
+ totalCount = _useFetchAutomationRu5 === void 0 ? 0 : _useFetchAutomationRu5,
952
+ isLoading = _useFetchAutomationRu.isLoading;
953
+ var _useUpdateAutomationR = useUpdateAutomationRule(),
954
+ updateRule = _useUpdateAutomationR.mutate,
955
+ isUpdating = _useUpdateAutomationR.isLoading;
956
+ var _useCloneAutomationRu = useCloneAutomationRule(),
957
+ cloneRule = _useCloneAutomationRu.mutate,
958
+ isCloning = _useCloneAutomationRu.isLoading;
959
+ var _useDeleteAutomationR = useDeleteAutomationRule(),
960
+ deleteRule = _useDeleteAutomationR.mutate,
961
+ isDeleting = _useDeleteAutomationR.isLoading;
962
+ var handleChangeStatus = function handleChangeStatus(event, id) {
963
+ var status = event.target.checked ? STATUS_KEYS.ENABLED : STATUS_KEYS.DISABLED;
964
+ var payload = {
965
+ rule: {
966
+ status: status
967
+ }
968
+ };
969
+ updateRule({
970
+ id: id,
971
+ url: url,
972
+ payload: payload
973
+ });
974
+ };
975
+ var columnData = getColumnData({
976
+ handleChangeStatus: handleChangeStatus,
977
+ additionalColumns: additionalColumns,
978
+ onClone: function onClone(id) {
979
+ return cloneRule({
980
+ id: id,
981
+ url: url
982
+ });
983
+ },
984
+ onDelete: setSelectedRule,
985
+ onPreview: onPreview,
986
+ automationRulesPath: automationRulesPath,
987
+ moreDropdownItems: moreDropdownItems
988
+ });
989
+ if (isLoading) {
990
+ return /*#__PURE__*/jsx$1(PageLoader, {});
991
+ }
992
+ if (isEmpty(rules)) {
993
+ return /*#__PURE__*/jsx$1("div", {
994
+ className: "flex h-full w-full items-center justify-center",
995
+ children: /*#__PURE__*/jsx$1(NoData, _objectSpread$o({
996
+ title: t("neetoRules.noData.title")
997
+ }, isEmpty(searchTerm) && {
998
+ helpText: helpDocUrl ? renderNoDataHelpText(helpDocUrl) : null,
999
+ primaryButtonProps: {
1000
+ label: t("neetoRules.button.addNew"),
1001
+ to: createRoutes(automationRulesPath)["new"]
1002
+ }
1003
+ }))
1004
+ });
1005
+ }
1006
+ return /*#__PURE__*/jsxs(Fragment, {
1007
+ children: [/*#__PURE__*/jsx$1(SubHeader, {
1008
+ leftActionBlock: /*#__PURE__*/jsx$1(Typography, {
1009
+ className: "mr-4 font-semibold",
1010
+ style: "h4",
1011
+ children: t("neetoRules.common.automationRuleWithCount", {
1012
+ count: totalCount
1013
+ })
1014
+ })
1015
+ }), /*#__PURE__*/jsx$1(TableWrapper, {
1016
+ hasPagination: totalCount > DEFAULT_PAGE_SIZE,
1017
+ children: /*#__PURE__*/jsx$1(Table, {
1018
+ columnData: columnData,
1019
+ totalCount: totalCount,
1020
+ fixedHeight: true,
1021
+ allowClick: false,
1022
+ currentPageNumber: page,
1023
+ defaultPageSize: DEFAULT_PAGE_SIZE,
1024
+ handlePageChange: setPage,
1025
+ loading: isUpdating || isLoading || isCloning || isDeleting,
1026
+ rowData: rules.map(function (item) {
1027
+ return _objectSpread$o({
1028
+ key: item.id
1029
+ }, item);
1030
+ }),
1031
+ rowSelection: false,
1032
+ scroll: {
1033
+ x: 0
1034
+ },
1035
+ tableLayout: "fixed"
1036
+ })
1037
+ }), /*#__PURE__*/jsx$1(Alert, {
1038
+ isOpen: !!selectedRule,
1039
+ isSubmitting: isDeleting,
1040
+ submitButtonLabel: t("neetoRules.button.delete"),
1041
+ title: t("neetoRules.deleteAlert.title"),
1042
+ message: /*#__PURE__*/jsx$1(Trans, {
1043
+ i18nKey: "neetoRules.deleteAlert.message",
1044
+ values: {
1045
+ name: selectedRule === null || selectedRule === void 0 ? void 0 : selectedRule.name
1046
+ }
1047
+ }),
1048
+ onClose: function onClose() {
1049
+ return setSelectedRule(null);
1050
+ },
1051
+ onSubmit: function onSubmit() {
1052
+ return deleteRule({
1053
+ id: selectedRule === null || selectedRule === void 0 ? void 0 : selectedRule.id,
1054
+ url: url
1055
+ }, {
1056
+ onSuccess: function onSuccess() {
1057
+ return setSelectedRule(null);
1058
+ }
1059
+ });
1060
+ }
1061
+ })]
1062
+ });
1063
+ };
1064
+
642
1065
  function _typeof$2(o) {
643
1066
  "@babel/helpers - typeof";
644
1067
 
@@ -1237,7 +1660,7 @@ function _extends$2() {
1237
1660
  }, _extends$2.apply(null, arguments);
1238
1661
  }
1239
1662
 
1240
- function _objectWithoutPropertiesLoose$2(r, e) {
1663
+ function _objectWithoutPropertiesLoose$1(r, e) {
1241
1664
  if (null == r) return {};
1242
1665
  var t = {};
1243
1666
  for (var n in r) if ({}.hasOwnProperty.call(r, n)) {
@@ -1471,7 +1894,7 @@ function finalPropsSelectorFactory(dispatch, _ref) {
1471
1894
  initMapDispatchToProps,
1472
1895
  initMergeProps
1473
1896
  } = _ref,
1474
- options = _objectWithoutPropertiesLoose$2(_ref, _excluded$i);
1897
+ options = _objectWithoutPropertiesLoose$1(_ref, _excluded$i);
1475
1898
 
1476
1899
  const mapStateToProps = initMapStateToProps(dispatch, options);
1477
1900
  const mapDispatchToProps = initMapDispatchToProps(dispatch, options);
@@ -1986,7 +2409,7 @@ function connect(mapStateToProps, mapDispatchToProps, mergeProps, {
1986
2409
  const {
1987
2410
  reactReduxForwardedRef
1988
2411
  } = props,
1989
- wrapperProps = _objectWithoutPropertiesLoose$2(props, _excluded$h);
2412
+ wrapperProps = _objectWithoutPropertiesLoose$1(props, _excluded$h);
1990
2413
 
1991
2414
  return [props.context, reactReduxForwardedRef, wrapperProps];
1992
2415
  }, [props]);
@@ -9769,7 +10192,7 @@ var RulesReorder = function RulesReorder(_ref) {
9769
10192
  if (!result.destination || result.source.index === result.destination.index) {
9770
10193
  return;
9771
10194
  }
9772
- var originalRules = clone(initialRules);
10195
+ var originalRules = clone$1(initialRules);
9773
10196
  var items = reorderList(originalRules, result.source.index, result.destination.index);
9774
10197
  items = items.map(function (item, index) {
9775
10198
  return _objectSpread$l(_objectSpread$l({}, item), {}, {
@@ -9853,35 +10276,6 @@ function _objectDestructuringEmpty(obj) {
9853
10276
  if (obj == null) throw new TypeError("Cannot destructure " + obj);
9854
10277
  }
9855
10278
 
9856
- function _objectWithoutPropertiesLoose$1(source, excluded) {
9857
- if (source == null) return {};
9858
- var target = {};
9859
- var sourceKeys = Object.keys(source);
9860
- var key, i;
9861
- for (i = 0; i < sourceKeys.length; i++) {
9862
- key = sourceKeys[i];
9863
- if (excluded.indexOf(key) >= 0) continue;
9864
- target[key] = source[key];
9865
- }
9866
- return target;
9867
- }
9868
-
9869
- function _objectWithoutProperties$1(source, excluded) {
9870
- if (source == null) return {};
9871
- var target = _objectWithoutPropertiesLoose$1(source, excluded);
9872
- var key, i;
9873
- if (Object.getOwnPropertySymbols) {
9874
- var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
9875
- for (i = 0; i < sourceSymbolKeys.length; i++) {
9876
- key = sourceSymbolKeys[i];
9877
- if (excluded.indexOf(key) >= 0) continue;
9878
- if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
9879
- target[key] = source[key];
9880
- }
9881
- }
9882
- return target;
9883
- }
9884
-
9885
10279
  var propTypes = {exports: {}};
9886
10280
 
9887
10281
  /**
@@ -9973,22 +10367,6 @@ var factoryWithThrowingShims = function() {
9973
10367
  var propTypesExports = propTypes.exports;
9974
10368
  var PropTypes = /*@__PURE__*/getDefaultExportFromCjs(propTypesExports);
9975
10369
 
9976
- function _arrayWithoutHoles$1(arr) {
9977
- if (Array.isArray(arr)) return _arrayLikeToArray$1(arr);
9978
- }
9979
-
9980
- function _iterableToArray$1(iter) {
9981
- if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
9982
- }
9983
-
9984
- function _nonIterableSpread$1() {
9985
- throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
9986
- }
9987
-
9988
- function _toConsumableArray$1(arr) {
9989
- return _arrayWithoutHoles$1(arr) || _iterableToArray$1(arr) || _unsupportedIterableToArray$1(arr) || _nonIterableSpread$1();
9990
- }
9991
-
9992
10370
  var ACTION_TYPES = {
9993
10371
  emailToIds: "emailToIds",
9994
10372
  email: "email",
@@ -22626,5 +23004,5 @@ NeetoRules.Card = Card;
22626
23004
  NeetoRules.MultiSelectField = MultiSelectField;
22627
23005
  NeetoRules.EventConditions = EventConditions;
22628
23006
 
22629
- export { NeetoRules as NeetoRulesForm, RulePreview, RulesReorder, useCustomDataStore };
23007
+ export { NeetoRules as NeetoRulesForm, RulePreview, RulesReorder, RulesTable, useCustomDataStore };
22630
23008
  //# sourceMappingURL=index.js.map