@bigbinary/neeto-payments-frontend 3.2.1 → 3.2.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.
@@ -73,15 +73,15 @@ var list = function list(payload) {
73
73
  var show = function show(id) {
74
74
  return axios.get("".concat(constants.BASE_URL, "/api/v1/split_transfers/").concat(id));
75
75
  };
76
- var bulkCancellation = function bulkCancellation(payload) {
77
- return axios.post("".concat(constants.BASE_URL, "/api/v1/split_transfers/bulk_cancellation"), {
76
+ var bulkUpdate = function bulkUpdate(payload) {
77
+ return axios.post("".concat(constants.BASE_URL, "/api/v1/split_transfers/bulk_update"), {
78
78
  splitTransfer: payload
79
79
  });
80
80
  };
81
81
  var splitTransfersApi = {
82
82
  list: list,
83
83
  show: show,
84
- bulkCancellation: bulkCancellation
84
+ bulkUpdate: bulkUpdate
85
85
  };
86
86
 
87
87
  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; }
@@ -104,8 +104,8 @@ var useShowSplitTransfers = function useShowSplitTransfers(id, options) {
104
104
  }
105
105
  }, options));
106
106
  };
107
- var useBulkCancellationSplitTransfers = function useBulkCancellationSplitTransfers(options) {
108
- return reactUtils.useMutationWithInvalidation(splitTransfersApi.bulkCancellation, _objectSpread$2({
107
+ var useBulkUpdateSplitTransfers = function useBulkUpdateSplitTransfers(options) {
108
+ return reactUtils.useMutationWithInvalidation(splitTransfersApi.bulkUpdate, _objectSpread$2({
109
109
  keysToInvalidate: [queryConstants.QUERY_KEYS.SPLIT_TRANSFERS_LISTw]
110
110
  }, options));
111
111
  };
@@ -138,18 +138,18 @@ var INITIAL_TRANSFER_DETAILS = {
138
138
  isPaneOpen: false
139
139
  };
140
140
  var VALIDATION_SCHEMA = yup__namespace.object().shape({
141
- cancellationReason: yup__namespace.string().required(i18next.t("neetoPayments.cancelSplitTransfers.cancellationReasonRequired"))
141
+ reason: yup__namespace.string().required(i18next.t("neetoPayments.cancelSplitTransfers.reasonRequired"))
142
142
  });
143
143
 
144
144
  var CancelModal = function CancelModal(_ref) {
145
145
  var isOpen = _ref.isOpen,
146
146
  onClose = _ref.onClose,
147
- handleSplitTransfersCancellation = _ref.handleSplitTransfersCancellation;
147
+ handleSplitTransfersUpdate = _ref.handleSplitTransfersUpdate;
148
148
  var _useTranslation = reactI18next.useTranslation(),
149
149
  t = _useTranslation.t;
150
150
  var handleSubmit = function handleSubmit(_ref2) {
151
- var cancellationReason = _ref2.cancellationReason;
152
- handleSplitTransfersCancellation(cancellationReason);
151
+ var reason = _ref2.reason;
152
+ handleSplitTransfersUpdate("cancelled", reason);
153
153
  };
154
154
  return /*#__PURE__*/jsxRuntime.jsxs(Modal, {
155
155
  isOpen: isOpen,
@@ -164,7 +164,7 @@ var CancelModal = function CancelModal(_ref) {
164
164
  }), /*#__PURE__*/jsxRuntime.jsx(Form, {
165
165
  formikProps: {
166
166
  initialValues: {
167
- cancellationReason: ""
167
+ reason: ""
168
168
  },
169
169
  validationSchema: VALIDATION_SCHEMA,
170
170
  onSubmit: handleSubmit
@@ -175,8 +175,8 @@ var CancelModal = function CancelModal(_ref) {
175
175
  className: "flex flex-col space-y-4",
176
176
  children: /*#__PURE__*/jsxRuntime.jsx(Textarea, {
177
177
  required: true,
178
- name: "cancellationReason",
179
- label: t("neetoPayments.cancelSplitTransfers.modal.cancelReason")
178
+ label: t("neetoPayments.cancelSplitTransfers.modal.reason"),
179
+ name: "reason"
180
180
  })
181
181
  })
182
182
  }), /*#__PURE__*/jsxRuntime.jsx(Modal.Footer, {
@@ -682,17 +682,17 @@ var List = function List(_ref) {
682
682
  hiddenColumns = _useHiddenColumns$hid === void 0 ? [] : _useHiddenColumns$hid;
683
683
  var splitTransfersCount = views[tab];
684
684
  var getRowSelection = function getRowSelection() {
685
- if (tab === SPLIT_TRANSFERS_DASHBOARD_TAB.pending) return true;
685
+ if (tab === SPLIT_TRANSFERS_DASHBOARD_TAB.successful) return false;
686
686
  if (tab === SPLIT_TRANSFERS_DASHBOARD_TAB.all) {
687
687
  return {
688
688
  getCheckboxProps: function getCheckboxProps(record) {
689
689
  return {
690
- disabled: record.status !== SPLIT_TRANSFERS_DASHBOARD_TAB.pending
690
+ disabled: record.status === SPLIT_TRANSFERS_DASHBOARD_TAB.successful
691
691
  };
692
692
  }
693
693
  };
694
694
  }
695
- return false;
695
+ return true;
696
696
  };
697
697
  var visibleColumns = buildTableColumns({
698
698
  tab: tab,
@@ -764,13 +764,71 @@ var List = function List(_ref) {
764
764
  });
765
765
  };
766
766
 
767
+ var ResumeModal = function ResumeModal(_ref) {
768
+ var isOpen = _ref.isOpen,
769
+ onClose = _ref.onClose,
770
+ handleSplitTransfersUpdate = _ref.handleSplitTransfersUpdate;
771
+ var _useTranslation = reactI18next.useTranslation(),
772
+ t = _useTranslation.t;
773
+ var handleSubmit = function handleSubmit(_ref2) {
774
+ var reason = _ref2.reason;
775
+ handleSplitTransfersUpdate("pending", reason);
776
+ };
777
+ return /*#__PURE__*/jsxRuntime.jsxs(Modal, {
778
+ isOpen: isOpen,
779
+ onClose: onClose,
780
+ size: "large",
781
+ children: [/*#__PURE__*/jsxRuntime.jsx(Modal.Header, {
782
+ children: /*#__PURE__*/jsxRuntime.jsx(Typography, {
783
+ style: "h2",
784
+ weight: "medium",
785
+ children: t("neetoPayments.resumeSplitTransfers.modal.title")
786
+ })
787
+ }), /*#__PURE__*/jsxRuntime.jsx(Form, {
788
+ formikProps: {
789
+ initialValues: {
790
+ reason: ""
791
+ },
792
+ validationSchema: VALIDATION_SCHEMA,
793
+ onSubmit: handleSubmit
794
+ },
795
+ children: /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
796
+ children: [/*#__PURE__*/jsxRuntime.jsx(Modal.Body, {
797
+ children: /*#__PURE__*/jsxRuntime.jsx("div", {
798
+ className: "flex flex-col space-y-4",
799
+ children: /*#__PURE__*/jsxRuntime.jsx(Textarea, {
800
+ required: true,
801
+ label: t("neetoPayments.resumeSplitTransfers.modal.reason"),
802
+ name: "reason"
803
+ })
804
+ })
805
+ }), /*#__PURE__*/jsxRuntime.jsx(Modal.Footer, {
806
+ children: /*#__PURE__*/jsxRuntime.jsx(ActionBlock, {
807
+ position: "right",
808
+ cancelButtonProps: {
809
+ onClick: onClose,
810
+ style: "tertiary"
811
+ },
812
+ submitButtonProps: {
813
+ disabled: false,
814
+ label: t("neetoPayments.common.submit")
815
+ }
816
+ })
817
+ })]
818
+ })
819
+ })]
820
+ });
821
+ };
822
+
767
823
  var Menu = Dropdown.Menu,
768
824
  MenuItem = Dropdown.MenuItem;
769
825
  var TopSection = function TopSection(_ref) {
770
826
  var views = _ref.views,
771
827
  filters = _ref.filters,
772
828
  setIsCancelModalOpen = _ref.setIsCancelModalOpen,
829
+ setIsResumeModalOpen = _ref.setIsResumeModalOpen,
773
830
  selectedRows = _ref.selectedRows,
831
+ selectedRowData = _ref.selectedRowData,
774
832
  setFilters = _ref.setFilters,
775
833
  hasBulkSelectedAllRows = _ref.hasBulkSelectedAllRows,
776
834
  filterableColumns = _ref.filterableColumns,
@@ -791,6 +849,12 @@ var TopSection = function TopSection(_ref) {
791
849
  var splitTransfersCountVisible = splitTransfersCount > 0;
792
850
  var isFilterButtonVisible = splitTransfersCount || neetoCist.isPresent(filters);
793
851
  var isDropdownVisible = neetoCist.isNotEmpty(selectedRows);
852
+ var isCancelButtonDisabled = neetoCist.existsBy({
853
+ status: SPLIT_TRANSFERS_DASHBOARD_TAB.cancelled
854
+ }, selectedRowData);
855
+ var isResumeButtonDisabled = neetoCist.existsBy({
856
+ status: SPLIT_TRANSFERS_DASHBOARD_TAB.pending
857
+ }, selectedRowData);
794
858
  var selectedRecordsCount = hasBulkSelectedAllRows ? splitTransfersCount : selectedRows.length;
795
859
  var handleFiltersChange = function handleFiltersChange(filters) {
796
860
  React.startTransition(function () {
@@ -846,17 +910,32 @@ var TopSection = function TopSection(_ref) {
846
910
  recordsCount: splitTransfersCount
847
911
  }
848
912
  })
849
- }), /*#__PURE__*/jsxRuntime.jsx(Dropdown, {
913
+ }), /*#__PURE__*/jsxRuntime.jsxs(Dropdown, {
850
914
  buttonStyle: "secondary",
851
915
  label: t("neetoPayments.common.takeAction"),
852
- children: /*#__PURE__*/jsxRuntime.jsx(Menu, {
916
+ children: [/*#__PURE__*/jsxRuntime.jsx(Menu, {
853
917
  children: /*#__PURE__*/jsxRuntime.jsx(MenuItem.Button, {
918
+ isDisabled: isCancelButtonDisabled,
919
+ tooltipProps: isCancelButtonDisabled ? {
920
+ content: t("neetoPayments.tooltipContent.splitTransfers.cancelledRecordsSelected")
921
+ } : "",
854
922
  onClick: function onClick() {
855
923
  return setIsCancelModalOpen(true);
856
924
  },
857
925
  children: t("neetoPayments.common.cancel")
858
926
  })
859
- })
927
+ }), /*#__PURE__*/jsxRuntime.jsx(Menu, {
928
+ children: /*#__PURE__*/jsxRuntime.jsx(MenuItem.Button, {
929
+ isDisabled: isResumeButtonDisabled,
930
+ tooltipProps: isResumeButtonDisabled ? {
931
+ content: t("neetoPayments.tooltipContent.splitTransfers.pendingRecordsSelected")
932
+ } : "",
933
+ onClick: function onClick() {
934
+ return setIsResumeModalOpen(true);
935
+ },
936
+ children: t("neetoPayments.common.resume")
937
+ })
938
+ })]
860
939
  })]
861
940
  }) : /*#__PURE__*/jsxRuntime.jsx(Typography, {
862
941
  className: "neeto-ui-gray-800 mr-2 font-semibold",
@@ -925,20 +1004,24 @@ var SplitTransfersDashboard = function SplitTransfersDashboard(_ref) {
925
1004
  setIsCancelModalOpen = _useState8[1];
926
1005
  var _useState9 = React.useState(false),
927
1006
  _useState10 = _slicedToArray(_useState9, 2),
928
- hasBulkSelectedAllRows = _useState10[0],
929
- setHasBulkSelectedAllRows = _useState10[1];
930
- var _useState11 = React.useState(constants.DEFAULT_SORT_PROPERTIES),
1007
+ isResumeModalOpen = _useState10[0],
1008
+ setIsResumeModalOpen = _useState10[1];
1009
+ var _useState11 = React.useState(false),
931
1010
  _useState12 = _slicedToArray(_useState11, 2),
932
- sortProperties = _useState12[0],
933
- setSortProperties = _useState12[1];
934
- var _useState13 = React.useState(constants.DEFAULT_PAGE_VALUES),
1011
+ hasBulkSelectedAllRows = _useState12[0],
1012
+ setHasBulkSelectedAllRows = _useState12[1];
1013
+ var _useState13 = React.useState(constants.DEFAULT_SORT_PROPERTIES),
935
1014
  _useState14 = _slicedToArray(_useState13, 2),
936
- pageProperties = _useState14[0],
937
- setPageProperties = _useState14[1];
938
- var _useState15 = React.useState(utils$1.buildFiltersFromURL([].concat(_toConsumableArray(filterableColumns), [searchKeywordProps]))),
1015
+ sortProperties = _useState14[0],
1016
+ setSortProperties = _useState14[1];
1017
+ var _useState15 = React.useState(constants.DEFAULT_PAGE_VALUES),
939
1018
  _useState16 = _slicedToArray(_useState15, 2),
940
- filters = _useState16[0],
941
- setFilters = _useState16[1];
1019
+ pageProperties = _useState16[0],
1020
+ setPageProperties = _useState16[1];
1021
+ var _useState17 = React.useState(utils$1.buildFiltersFromURL([].concat(_toConsumableArray(filterableColumns), [searchKeywordProps]))),
1022
+ _useState18 = _slicedToArray(_useState17, 2),
1023
+ filters = _useState18[0],
1024
+ setFilters = _useState18[1];
942
1025
  var history = reactRouterDom.useHistory();
943
1026
  var _getQueryParams2 = utils.getQueryParams(),
944
1027
  _getQueryParams2$tab = _getQueryParams2.tab,
@@ -954,22 +1037,24 @@ var SplitTransfersDashboard = function SplitTransfersDashboard(_ref) {
954
1037
  views = _useFetchSplitTransfe3.views,
955
1038
  isFetching = _useFetchSplitTransfe.isFetching,
956
1039
  isSplitTransfersLoading = _useFetchSplitTransfe.isPending;
957
- var _useBulkCancellationS = useBulkCancellationSplitTransfers({
1040
+ var _useBulkUpdateSplitTr = useBulkUpdateSplitTransfers({
958
1041
  onSuccess: function onSuccess() {
959
1042
  setSelectedRowData([]);
960
1043
  setSelectedRows([]);
961
1044
  }
962
1045
  }),
963
- cancelSplitTransfers = _useBulkCancellationS.mutate,
964
- isCancelling = _useBulkCancellationS.isPending;
965
- var handleSplitTransfersCancellation = function handleSplitTransfersCancellation(cancellationReason) {
1046
+ updateSplitTransfers = _useBulkUpdateSplitTr.mutate,
1047
+ isCancelling = _useBulkUpdateSplitTr.isPending;
1048
+ var handleSplitTransfersUpdate = function handleSplitTransfersUpdate(status, reason) {
966
1049
  var ids = ramda.pluck("id", selectedRowData);
967
- cancelSplitTransfers({
1050
+ updateSplitTransfers({
968
1051
  ids: ids,
969
- cancellationReason: cancellationReason,
1052
+ status: status,
1053
+ reason: reason,
970
1054
  isApplyChangesToAllRequired: hasBulkSelectedAllRows
971
1055
  });
972
1056
  setIsCancelModalOpen(false);
1057
+ setIsResumeModalOpen(false);
973
1058
  };
974
1059
  var handleTablePagination = function handleTablePagination(page, pageSize) {
975
1060
  var queryParams = utils.getQueryParams({
@@ -991,6 +1076,8 @@ var SplitTransfersDashboard = function SplitTransfersDashboard(_ref) {
991
1076
  React.useEffect(function () {
992
1077
  handleTablePagination(constants$1.DEFAULT_PAGE_INDEX, constants$1.DEFAULT_PAGE_SIZE);
993
1078
  setSortProperties(constants.DEFAULT_SORT_PROPERTIES);
1079
+ setSelectedRowData([]);
1080
+ setSelectedRows([]);
994
1081
  }, [filters, tab]);
995
1082
  if (isSplitTransfersLoading || isCancelling) {
996
1083
  return /*#__PURE__*/jsxRuntime.jsx("div", {
@@ -1006,10 +1093,12 @@ var SplitTransfersDashboard = function SplitTransfersDashboard(_ref) {
1006
1093
  pageProperties: pageProperties,
1007
1094
  payableEntityColumns: payableEntityColumns,
1008
1095
  searchKeywordProps: searchKeywordProps,
1096
+ selectedRowData: selectedRowData,
1009
1097
  selectedRows: selectedRows,
1010
1098
  setFilters: setFilters,
1011
1099
  setIsCancelModalOpen: setIsCancelModalOpen,
1012
1100
  setIsExportModalOpen: setIsExportModalOpen,
1101
+ setIsResumeModalOpen: setIsResumeModalOpen,
1013
1102
  setPageProperties: setPageProperties,
1014
1103
  setSortProperties: setSortProperties,
1015
1104
  views: views
@@ -1032,11 +1121,17 @@ var SplitTransfersDashboard = function SplitTransfersDashboard(_ref) {
1032
1121
  sortProperties: sortProperties,
1033
1122
  dashboardKind: constants.DASHBOARD_KIND.splitTransfers
1034
1123
  }), /*#__PURE__*/jsxRuntime.jsx(CancelModal, {
1035
- handleSplitTransfersCancellation: handleSplitTransfersCancellation,
1124
+ handleSplitTransfersUpdate: handleSplitTransfersUpdate,
1036
1125
  isOpen: isCancelModalOpen,
1037
1126
  onClose: function onClose() {
1038
1127
  return setIsCancelModalOpen(false);
1039
1128
  }
1129
+ }), /*#__PURE__*/jsxRuntime.jsx(ResumeModal, {
1130
+ handleSplitTransfersUpdate: handleSplitTransfersUpdate,
1131
+ isOpen: isResumeModalOpen,
1132
+ onClose: function onClose() {
1133
+ return setIsResumeModalOpen(false);
1134
+ }
1040
1135
  })]
1041
1136
  });
1042
1137
  };