@bigbinary/neeto-payments-frontend 3.0.2 → 3.0.3

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.
Files changed (104) hide show
  1. package/app/javascript/src/translations/en.json +8 -2
  2. package/dist/AccountsDashboard.js +4 -3
  3. package/dist/AccountsDashboard.js.map +1 -1
  4. package/dist/Dashboard.js +7 -6
  5. package/dist/Dashboard.js.map +1 -1
  6. package/dist/{ExportModal-2d866d2f.js → ExportModal-2ba129e8.js} +5 -4
  7. package/dist/ExportModal-2ba129e8.js.map +1 -0
  8. package/dist/ExportModal-33915720.js +131 -0
  9. package/dist/ExportModal-33915720.js.map +1 -0
  10. package/dist/PaymentsDashboard.js +33 -8
  11. package/dist/PaymentsDashboard.js.map +1 -1
  12. package/dist/PayoutsDashboard.js +6 -5
  13. package/dist/PayoutsDashboard.js.map +1 -1
  14. package/dist/PayoutsPage.js +7 -6
  15. package/dist/PayoutsPage.js.map +1 -1
  16. package/dist/RazorpayDashboard.js +7 -6
  17. package/dist/RazorpayDashboard.js.map +1 -1
  18. package/dist/RazorpayPaymentButton.js +1 -1
  19. package/dist/RefundsDashboard.js +33 -8
  20. package/dist/RefundsDashboard.js.map +1 -1
  21. package/dist/SplitTransfersDashboard.js +34 -11
  22. package/dist/SplitTransfersDashboard.js.map +1 -1
  23. package/dist/StripeConnect.js +1 -1
  24. package/dist/UpiMarkAsPaidButton.js +1 -1
  25. package/dist/UpiPayment.js +1 -1
  26. package/dist/V2PaymentsDashboard.js +3 -3
  27. package/dist/buildStripeTransactionLink.js +2 -2
  28. package/dist/cjs/AccountsDashboard.js +5 -4
  29. package/dist/cjs/AccountsDashboard.js.map +1 -1
  30. package/dist/cjs/Dashboard.js +7 -6
  31. package/dist/cjs/Dashboard.js.map +1 -1
  32. package/dist/cjs/ExportModal-08a78a62.js +142 -0
  33. package/dist/cjs/ExportModal-08a78a62.js.map +1 -0
  34. package/dist/cjs/{ExportModal-4d6fbca1.js → ExportModal-e0290ffb.js} +6 -5
  35. package/dist/cjs/ExportModal-e0290ffb.js.map +1 -0
  36. package/dist/cjs/PaymentsDashboard.js +32 -7
  37. package/dist/cjs/PaymentsDashboard.js.map +1 -1
  38. package/dist/cjs/PayoutsDashboard.js +7 -6
  39. package/dist/cjs/PayoutsDashboard.js.map +1 -1
  40. package/dist/cjs/PayoutsPage.js +7 -6
  41. package/dist/cjs/PayoutsPage.js.map +1 -1
  42. package/dist/cjs/RazorpayDashboard.js +7 -6
  43. package/dist/cjs/RazorpayDashboard.js.map +1 -1
  44. package/dist/cjs/RazorpayPaymentButton.js +1 -1
  45. package/dist/cjs/RefundsDashboard.js +32 -7
  46. package/dist/cjs/RefundsDashboard.js.map +1 -1
  47. package/dist/cjs/SplitTransfersDashboard.js +33 -10
  48. package/dist/cjs/SplitTransfersDashboard.js.map +1 -1
  49. package/dist/cjs/StripeConnect.js +1 -1
  50. package/dist/cjs/UpiMarkAsPaidButton.js +1 -1
  51. package/dist/cjs/UpiPayment.js +1 -1
  52. package/dist/cjs/V2PaymentsDashboard.js +3 -3
  53. package/dist/cjs/buildStripeTransactionLink.js +1 -1
  54. package/dist/cjs/constants.js +6 -0
  55. package/dist/cjs/constants.js.map +1 -1
  56. package/dist/cjs/exportChannel-2a51d2d8.js +24 -0
  57. package/dist/cjs/exportChannel-2a51d2d8.js.map +1 -0
  58. package/dist/cjs/{index-45e09f9d.js → index-c1abead3.js} +1 -1
  59. package/dist/cjs/{index-45e09f9d.js.map → index-c1abead3.js.map} +1 -1
  60. package/dist/cjs/index.js +11 -9
  61. package/dist/cjs/index.js.map +1 -1
  62. package/dist/cjs/{renderFunctions-2ce71130.js → renderFunctions-1109f706.js} +1 -1
  63. package/dist/cjs/{renderFunctions-2ce71130.js.map → renderFunctions-1109f706.js.map} +1 -1
  64. package/dist/cjs/{useConnectApi-7e80fd40.js → useConnectApi-9024eec3.js} +1 -1
  65. package/dist/cjs/{useConnectApi-7e80fd40.js.map → useConnectApi-9024eec3.js.map} +1 -1
  66. package/dist/cjs/{exportChannel-9f32f02e.js → useExportsApi-c932638b.js} +1 -21
  67. package/dist/cjs/useExportsApi-c932638b.js.map +1 -0
  68. package/dist/cjs/{useFiltersAndPagination-92122385.js → useFiltersAndPagination-273b22ef.js} +2 -2
  69. package/dist/cjs/{useFiltersAndPagination-92122385.js.map → useFiltersAndPagination-273b22ef.js.map} +1 -1
  70. package/dist/cjs/{usePaymentApi-aed31b4b.js → usePaymentApi-4578d6b2.js} +1 -1
  71. package/dist/cjs/{usePaymentApi-aed31b4b.js.map → usePaymentApi-4578d6b2.js.map} +1 -1
  72. package/dist/cjs/{usePaymentsApi-d6117d06.js → usePaymentsApi-7d59a030.js} +1 -1
  73. package/dist/cjs/{usePaymentsApi-d6117d06.js.map → usePaymentsApi-7d59a030.js.map} +1 -1
  74. package/dist/cjs/{usePlatformApi-2e36e5b0.js → usePlatformApi-a7d0c600.js} +1 -1
  75. package/dist/cjs/{usePlatformApi-2e36e5b0.js.map → usePlatformApi-a7d0c600.js.map} +1 -1
  76. package/dist/cjs/useRazorpayPayment.js +1 -1
  77. package/dist/constants.js +6 -1
  78. package/dist/constants.js.map +1 -1
  79. package/dist/{exportChannel-8d03ef0f.js → exportChannel-1da3d27c.js} +2 -18
  80. package/dist/exportChannel-1da3d27c.js.map +1 -0
  81. package/dist/{index-92fd4865.js → index-4c377784.js} +1 -1
  82. package/dist/{index-92fd4865.js.map → index-4c377784.js.map} +1 -1
  83. package/dist/index.js +11 -9
  84. package/dist/index.js.map +1 -1
  85. package/dist/{renderFunctions-c701a29b.js → renderFunctions-d4afa84b.js} +1 -1
  86. package/dist/{renderFunctions-c701a29b.js.map → renderFunctions-d4afa84b.js.map} +1 -1
  87. package/dist/{useConnectApi-ff01fe01.js → useConnectApi-df2ea319.js} +1 -1
  88. package/dist/{useConnectApi-ff01fe01.js.map → useConnectApi-df2ea319.js.map} +1 -1
  89. package/dist/useExportsApi-33b2f83e.js +19 -0
  90. package/dist/useExportsApi-33b2f83e.js.map +1 -0
  91. package/dist/{useFiltersAndPagination-dd971674.js → useFiltersAndPagination-eb373dfb.js} +2 -2
  92. package/dist/{useFiltersAndPagination-dd971674.js.map → useFiltersAndPagination-eb373dfb.js.map} +1 -1
  93. package/dist/{usePaymentApi-6b31f3b2.js → usePaymentApi-e2aa9755.js} +1 -1
  94. package/dist/{usePaymentApi-6b31f3b2.js.map → usePaymentApi-e2aa9755.js.map} +1 -1
  95. package/dist/{usePaymentsApi-6387b978.js → usePaymentsApi-44077a54.js} +1 -1
  96. package/dist/{usePaymentsApi-6387b978.js.map → usePaymentsApi-44077a54.js.map} +1 -1
  97. package/dist/{usePlatformApi-825e78cf.js → usePlatformApi-ddfa361c.js} +1 -1
  98. package/dist/{usePlatformApi-825e78cf.js.map → usePlatformApi-ddfa361c.js.map} +1 -1
  99. package/dist/useRazorpayPayment.js +1 -1
  100. package/package.json +3 -3
  101. package/dist/ExportModal-2d866d2f.js.map +0 -1
  102. package/dist/cjs/ExportModal-4d6fbca1.js.map +0 -1
  103. package/dist/cjs/exportChannel-9f32f02e.js.map +0 -1
  104. package/dist/exportChannel-8d03ef0f.js.map +0 -1
@@ -5,9 +5,10 @@ import { useState, startTransition } from 'react';
5
5
  import { getQueryParams, buildUrl } from '@bigbinary/neeto-commons-frontend/utils';
6
6
  import { buildFiltersFromURL } from '@bigbinary/neeto-filters-frontend/utils';
7
7
  import Spinner from '@bigbinary/neetoui/Spinner';
8
+ import { E as ExportModal } from './ExportModal-33915720.js';
8
9
  import { useQuery } from '@tanstack/react-query';
9
10
  import axios from 'axios';
10
- import { BASE_URL, PAYMENT_PROVIDERS, DEFAULT_TAG_STYLE, SORT_DIRECTIONS, DEFAULT_SORT_PROPERTIES, UN_HIDEABLE_COLUMNS, DEFAULT_PAGE_VALUES } from './constants.js';
11
+ import { BASE_URL, PAYMENT_PROVIDERS, DEFAULT_TAG_STYLE, SORT_DIRECTIONS, DEFAULT_SORT_PROPERTIES, UN_HIDEABLE_COLUMNS, DEFAULT_PAGE_VALUES, DASHBOARD_KIND } from './constants.js';
11
12
  import { Q as QUERY_KEYS } from './queryConstants-65ca40bc.js';
12
13
  import { t } from 'i18next';
13
14
  import { toLabelAndValue, snakeToCamelCase, humanize, isNotPresent, isPresent, camelToSnakeCase } from '@bigbinary/neeto-cist';
@@ -18,7 +19,7 @@ import Table from '@bigbinary/neetoui/Table';
18
19
  import NoData from '@bigbinary/neetoui/NoData';
19
20
  import { useTranslation } from 'react-i18next';
20
21
  import { useHistory } from 'react-router-dom';
21
- import { f as formatAmount, g as formatCurrency, h as getUniquePaymentProviders, i as buildDefaultTableColumns, p as processDataIndex, s as shouldTabsVisible } from './index-92fd4865.js';
22
+ import { f as formatAmount, g as formatCurrency, h as getUniquePaymentProviders, i as buildDefaultTableColumns, p as processDataIndex, s as shouldTabsVisible } from './index-4c377784.js';
22
23
  import DateFormat from '@bigbinary/neeto-molecules/DateFormat';
23
24
  import Button from '@bigbinary/neetoui/Button';
24
25
  import Tag from '@bigbinary/neetoui/Tag';
@@ -31,6 +32,9 @@ import FiltersBar from '@bigbinary/neeto-filters-frontend/Bar';
31
32
  import Header from '@bigbinary/neeto-molecules/Header';
32
33
  import SubHeader from '@bigbinary/neeto-molecules/SubHeader';
33
34
  import Tab from '@bigbinary/neetoui/Tab';
35
+ import '@bigbinary/neeto-icons/Download';
36
+ import '@bigbinary/neetoui/Modal';
37
+ import './exportChannel-1da3d27c.js';
34
38
  import '@bigbinary/neeto-molecules/CopyToClipboardButton';
35
39
 
36
40
  var list = function list(payload) {
@@ -232,7 +236,8 @@ var buildRowData = function buildRowData(_ref) {
232
236
  };
233
237
 
234
238
  var List = function List(_ref) {
235
- var refunds = _ref.refunds,
239
+ var isFetching = _ref.isFetching,
240
+ refunds = _ref.refunds,
236
241
  views = _ref.views,
237
242
  payableEntityColumns = _ref.payableEntityColumns,
238
243
  setPageProperties = _ref.setPageProperties,
@@ -297,6 +302,7 @@ var List = function List(_ref) {
297
302
  columnData: visibleColumns,
298
303
  currentPageNumber: pageProperties === null || pageProperties === void 0 ? void 0 : pageProperties.page,
299
304
  handlePageChange: handleTablePaginaton,
305
+ loading: isFetching,
300
306
  rowData: buildRowData({
301
307
  refunds: refunds,
302
308
  pageProperties: pageProperties,
@@ -323,7 +329,8 @@ var TopSection = function TopSection(_ref) {
323
329
  setFilters = _ref.setFilters,
324
330
  filterableColumns = _ref.filterableColumns,
325
331
  searchKeywordProps = _ref.searchKeywordProps,
326
- payableEntityColumns = _ref.payableEntityColumns;
332
+ payableEntityColumns = _ref.payableEntityColumns,
333
+ setIsExportModalOpen = _ref.setIsExportModalOpen;
327
334
  var _useState = useState(false),
328
335
  _useState2 = _slicedToArray(_useState, 2),
329
336
  isFilterPaneOpen = _useState2[0],
@@ -394,6 +401,11 @@ var TopSection = function TopSection(_ref) {
394
401
  fixedColumns: UN_HIDEABLE_COLUMNS,
395
402
  localStorageKey: COLUMNS_STORAGE_KEY
396
403
  },
404
+ downloadButtonProps: {
405
+ onClick: function onClick() {
406
+ return setIsExportModalOpen(true);
407
+ }
408
+ },
397
409
  filterProps: {
398
410
  columns: filterableColumns,
399
411
  isOpen: isFilterPaneOpen,
@@ -426,10 +438,14 @@ var RefundsDashboard = function RefundsDashboard(_ref) {
426
438
  _useState4 = _slicedToArray(_useState3, 2),
427
439
  pageProperties = _useState4[0],
428
440
  setPageProperties = _useState4[1];
429
- var _useState5 = useState(buildFiltersFromURL([].concat(_toConsumableArray(filterableColumns), [searchKeywordProps]))),
441
+ var _useState5 = useState(false),
430
442
  _useState6 = _slicedToArray(_useState5, 2),
431
- filters = _useState6[0],
432
- setFilters = _useState6[1];
443
+ isExportModalOpen = _useState6[0],
444
+ setIsExportModalOpen = _useState6[1];
445
+ var _useState7 = useState(buildFiltersFromURL([].concat(_toConsumableArray(filterableColumns), [searchKeywordProps]))),
446
+ _useState8 = _slicedToArray(_useState7, 2),
447
+ filters = _useState8[0],
448
+ setFilters = _useState8[1];
433
449
  var _getQueryParams2 = getQueryParams(),
434
450
  _getQueryParams2$tab = _getQueryParams2.tab,
435
451
  tab = _getQueryParams2$tab === void 0 ? REFUND_DASHBOARD_TAB.all : _getQueryParams2$tab;
@@ -445,7 +461,8 @@ var RefundsDashboard = function RefundsDashboard(_ref) {
445
461
  _useFetchRefunds$data2 = _useFetchRefunds$data === void 0 ? {} : _useFetchRefunds$data,
446
462
  refunds = _useFetchRefunds$data2.refunds,
447
463
  views = _useFetchRefunds$data2.views,
448
- isRefundsLoading = _useFetchRefunds.isLoading;
464
+ isFetching = _useFetchRefunds.isFetching,
465
+ isRefundsLoading = _useFetchRefunds.isPending;
449
466
  if (isRefundsLoading) {
450
467
  return /*#__PURE__*/jsx("div", {
451
468
  className: "flex h-full w-full items-center justify-center",
@@ -460,16 +477,24 @@ var RefundsDashboard = function RefundsDashboard(_ref) {
460
477
  payableEntityColumns: payableEntityColumns,
461
478
  searchKeywordProps: searchKeywordProps,
462
479
  setFilters: setFilters,
480
+ setIsExportModalOpen: setIsExportModalOpen,
463
481
  setPageProperties: setPageProperties,
464
482
  setSortProperties: setSortProperties,
465
483
  views: views
466
484
  }), /*#__PURE__*/jsx(List, {
485
+ isFetching: isFetching,
467
486
  pageProperties: pageProperties,
468
487
  payableEntityColumns: payableEntityColumns,
469
488
  refunds: refunds,
470
489
  setPageProperties: setPageProperties,
471
490
  setSortProperties: setSortProperties,
472
491
  views: views
492
+ }), /*#__PURE__*/jsx(ExportModal, {
493
+ filters: filters,
494
+ isExportModalOpen: isExportModalOpen,
495
+ setIsExportModalOpen: setIsExportModalOpen,
496
+ sortProperties: sortProperties,
497
+ dashboardKind: DASHBOARD_KIND.refunds
473
498
  })]
474
499
  });
475
500
  };
@@ -1 +1 @@
1
- {"version":3,"file":"RefundsDashboard.js","sources":["../app/javascript/src/apis/refunds.js","../app/javascript/src/hooks/reactQuery/useRefundsApi.js","../app/javascript/src/components/RefundsDashboard/constants.js","../app/javascript/src/components/RefundsDashboard/columns/utils.jsx","../app/javascript/src/components/RefundsDashboard/utils.js","../app/javascript/src/components/RefundsDashboard/List.jsx","../app/javascript/src/components/RefundsDashboard/TopSection.jsx","../app/javascript/src/components/RefundsDashboard/index.jsx"],"sourcesContent":["import axios from \"axios\";\n\nimport { BASE_URL } from \"src/constants\";\n\nconst list = payload =>\n axios.get(`${BASE_URL}/api/v1/refunds`, { params: payload });\n\nconst refundsApi = { list };\n\nexport default refundsApi;\n","import { useQuery } from \"@tanstack/react-query\";\n\nimport refundsApi from \"apis/refunds\";\nimport { QUERY_KEYS } from \"src/common/queryConstants\";\n\nexport const useFetchRefunds = (payload = {}, options = {}) =>\n useQuery({\n queryKey: [QUERY_KEYS.REFUNDS_LIST, payload],\n queryFn: () => refundsApi.list(payload),\n ...options,\n });\n","import { t } from \"i18next\";\nimport { toLabelAndValue } from \"neetocist\";\nimport { map } from \"ramda\";\n\nimport { PAYMENT_PROVIDERS } from \"src/constants\";\n\nexport const COLUMNS_STORAGE_KEY = \"refundsDashboard\";\n\nexport const REFUND_DASHBOARD_TAB = {\n all: \"all\",\n successful: \"successful\",\n declined: \"declined\",\n pending: \"pending\",\n};\n\nexport const SEARCH_PROPS = {\n node: \"identifier,\",\n key: \"search_term\",\n model: \"NeetoPaymentsEngine::Refund,\",\n placeholder: t(\"neetoPayments.common.search\"),\n};\n\nexport const FILTER_COLUMNS = [\n {\n key: \"payment_provider\",\n label: t(\"neetoPayments.common.paymentProvider\"),\n node: \"payment_provider\",\n type: \"single_option\",\n values: map(toLabelAndValue, PAYMENT_PROVIDERS),\n },\n {\n key: \"amount\",\n label: t(\"neetoPayments.common.amount\"),\n node: \"amount\",\n type: \"decimal\",\n },\n {\n key: \"refunded_at\",\n label: t(\"neetoPayments.common.refundTime\"),\n node: \"refunded_at\",\n type: \"date\",\n },\n];\n\nexport const TAG_STYLE = {\n initiated: \"info\",\n declined: \"danger\",\n successful: \"success\",\n refunded: \"secondary\",\n pending: \"warning\",\n};\n","import { t } from \"i18next\";\nimport { snakeToCamelCase, humanize } from \"neetocist\";\nimport DateFormat from \"neetomolecules/DateFormat\";\nimport { Button, Tag, Tooltip, Typography } from \"neetoui\";\nimport { curry } from \"ramda\";\n\nimport CopyButtonWrapper from \"components/Common/CopyButtonWrapper\";\nimport { DEFAULT_TAG_STYLE } from \"src/constants\";\nimport { formatAmount, formatCurrency } from \"utils\";\n\nimport { TAG_STYLE } from \"../constants\";\n\nconst renderIdentifier = (identifier, { receiptUrl }) => {\n const isTemporaryIdentifier = identifier?.startsWith(\"temp_\");\n\n if (isTemporaryIdentifier) {\n return (\n <Tooltip\n content={t(\"neetoPayments.tooltipContent.paymentIdentifierUnavailable\")}\n position=\"top\"\n >\n <div className=\"text-center\">\n <Typography style=\"body2\">\n {t(\"neetoPayments.common.notAvailable\")}\n </Typography>\n </div>\n </Tooltip>\n );\n }\n\n return (\n <CopyButtonWrapper content={identifier}>\n <Button\n href={receiptUrl}\n label={identifier}\n size=\"small\"\n style=\"link\"\n target=\"_blank\"\n />\n </CopyButtonWrapper>\n );\n};\n\nconst getTagStyle = status => TAG_STYLE[status] || DEFAULT_TAG_STYLE;\n\nconst preProcessStatus = (type, status, record = {}) => {\n if (type === \"payment\") {\n return record.isRefunded ? \"refunded\" : status;\n }\n\n return snakeToCamelCase(status);\n};\n\nconst renderStatus = curry((type, status, record) => {\n const processedStatus = preProcessStatus(type, status, record);\n\n return (\n <Tooltip\n content={t(`neetoPayments.tooltipContent.${type}.${processedStatus}`)}\n position=\"top\"\n >\n <div className=\"w-fit\">\n <Tag\n label={t(`neetoPayments.tagLabels.${type}.${processedStatus}`)}\n style={getTagStyle(processedStatus)}\n />\n </div>\n </Tooltip>\n );\n});\n\nconst renderDate = date => <DateFormat.DateTime {...{ date }} />;\n\nexport const getDefaultColumns = () => [\n {\n title: t(\"neetoPayments.common.id\"),\n dataIndex: \"id\",\n key: \"id\",\n width: 85,\n position: 0,\n isHidable: false,\n },\n {\n title: t(\"neetoPayments.common.identifier\"),\n dataIndex: \"identifier\",\n key: \"identifier\",\n width: 300,\n render: renderIdentifier,\n position: 1,\n isHidable: false,\n },\n {\n title: t(\"neetoPayments.common.provider\"),\n dataIndex: \"paymentProvider\",\n key: \"paymentProvider\",\n width: 150,\n render: humanize,\n position: 2,\n sorter: false,\n },\n {\n title: t(\"neetoPayments.common.status\"),\n dataIndex: \"status\",\n key: \"status\",\n width: 150,\n render: renderStatus(\"refund\"),\n sorter: true,\n position: 3,\n isHidable: false,\n },\n {\n title: t(\"neetoPayments.common.amount\"),\n dataIndex: \"amount\",\n key: \"amount\",\n width: 150,\n sorter: true,\n render: formatAmount,\n position: 4,\n },\n {\n title: t(\"neetoPayments.common.currency\"),\n dataIndex: \"currency\",\n key: \"currency\",\n width: 180,\n sorter: true,\n render: formatCurrency,\n position: 4,\n },\n {\n title: t(\"neetoPayments.common.refundTime\"),\n dataIndex: \"refundedAt\",\n key: \"refundedAt\",\n width: 190,\n render: renderDate,\n sorter: true,\n position: 5,\n },\n];\n","import {\n map,\n prop,\n concat,\n mergeDeepWith,\n mergeLeft,\n isNil,\n reject,\n isEmpty,\n} from \"ramda\";\n\nimport { FILTER_COLUMNS, SEARCH_PROPS } from \"./constants\";\n\nexport const buildSearchProps = (searchProps, searchTerm) =>\n mergeDeepWith(\n concat,\n SEARCH_PROPS,\n mergeLeft({ value: searchTerm.trim() }, searchProps)\n );\n\nexport const buildFilterColumns = (payableEntityColumns = []) =>\n reject(\n isNil,\n concat(FILTER_COLUMNS, map(prop(\"filterProps\"), payableEntityColumns))\n );\n\nexport const buildRowData = ({ refunds, pageProperties = {} }) =>\n refunds?.map((element, index) => ({\n ...element,\n id: isEmpty(pageProperties)\n ? index + 1\n : pageProperties.pageSize * (pageProperties.page - 1) + index + 1,\n }));\n","import { camelToSnakeCase, isNotPresent, isPresent } from \"neetocist\";\nimport { buildUrl, getQueryParams } from \"neetocommons/utils\";\nimport { useHiddenColumns } from \"neetomolecules/Columns\";\nimport TableWrapper from \"neetomolecules/TableWrapper\";\nimport { Table, NoData } from \"neetoui\";\nimport { mergeLeft } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { SORT_DIRECTIONS, DEFAULT_SORT_PROPERTIES } from \"src/constants\";\nimport {\n buildDefaultTableColumns,\n getUniquePaymentProviders,\n processDataIndex,\n} from \"utils\";\n\nimport { getDefaultColumns } from \"./columns/utils\";\nimport { COLUMNS_STORAGE_KEY, REFUND_DASHBOARD_TAB } from \"./constants\";\nimport { buildRowData } from \"./utils\";\n\nconst List = ({\n refunds,\n views,\n payableEntityColumns,\n setPageProperties,\n setSortProperties,\n pageProperties,\n}) => {\n const { t } = useTranslation();\n const history = useHistory();\n const { tab = REFUND_DASHBOARD_TAB.all } = getQueryParams();\n const { hideColumn, hiddenColumns = [] } =\n useHiddenColumns(COLUMNS_STORAGE_KEY);\n\n const refundsCount = views[tab];\n const isMultipleProvidersExist =\n getUniquePaymentProviders(refunds ?? []).length > 1;\n\n const visibleColumns = buildDefaultTableColumns({\n hiddenColumns,\n payableEntityColumns,\n isMultipleProvidersExist,\n defaultColumns: getDefaultColumns(),\n isAllTab: tab === REFUND_DASHBOARD_TAB.all,\n });\n\n const handleColumnHiding = column => {\n hideColumn(processDataIndex(column.dataIndex));\n };\n\n const handleTablePaginaton = (page, pageSize) => {\n const queryParams = getQueryParams({ toCamelCase: false });\n history.push(\n buildUrl(\n window.location.pathname,\n mergeLeft({ page, page_size: pageSize }, queryParams)\n )\n );\n setPageProperties({ page, pageSize });\n };\n\n const handleTableChange = (_, __, sorter) => {\n setSortProperties(\n isPresent(sorter?.column)\n ? {\n sortBy: camelToSnakeCase(processDataIndex(sorter.field)),\n orderBy: sorter.order === \"ascend\" ? \"ASC\" : \"DESC\",\n }\n : DEFAULT_SORT_PROPERTIES\n );\n };\n\n if (isNotPresent(refunds)) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <NoData\n title={\n tab === REFUND_DASHBOARD_TAB.all\n ? t(\"neetoPayments.emptyState.refund\")\n : t(\"neetoPayments.emptyState.refundWithStatus\", {\n status: tab,\n })\n }\n />\n </div>\n );\n }\n\n return (\n <TableWrapper hasPagination={refundsCount > pageProperties?.pageSize}>\n <Table\n fixedHeight\n allowRowClick={false}\n columnData={visibleColumns}\n currentPageNumber={pageProperties?.page}\n handlePageChange={handleTablePaginaton}\n rowData={buildRowData({ refunds, pageProperties, tab })}\n rowSelection={false}\n sortDirections={SORT_DIRECTIONS}\n totalCount={refundsCount}\n paginationProps={{\n showSizeChanger: true,\n hideOnSinglePage: true,\n pageSize: pageProperties?.pageSize,\n total: refundsCount,\n }}\n onChange={handleTableChange}\n onColumnHide={handleColumnHiding}\n />\n </TableWrapper>\n );\n};\n\nexport default List;\n","import { startTransition, useState } from \"react\";\n\nimport { isPresent } from \"neetocist\";\nimport { DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport { buildUrl, getQueryParams } from \"neetocommons/utils\";\nimport { Bar as FiltersBar } from \"neetofilters\";\nimport Header from \"neetomolecules/Header\";\nimport SubHeader from \"neetomolecules/SubHeader\";\nimport { Tab, Typography } from \"neetoui\";\nimport { concat, mergeLeft, modify } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { UN_HIDEABLE_COLUMNS } from \"src/constants\";\nimport { processDataIndex, shouldTabsVisible } from \"utils\";\n\nimport { getDefaultColumns } from \"./columns/utils\";\nimport { COLUMNS_STORAGE_KEY, REFUND_DASHBOARD_TAB } from \"./constants\";\n\nconst TopSection = ({\n views,\n filters,\n setFilters,\n filterableColumns,\n searchKeywordProps,\n payableEntityColumns,\n}) => {\n const [isFilterPaneOpen, setIsFilterPaneOpen] = useState(false);\n\n const { t } = useTranslation();\n const history = useHistory();\n const { tab = REFUND_DASHBOARD_TAB.all } = getQueryParams();\n\n const refundsCount = views[tab];\n const isRefundCountVisible = refundsCount > 0;\n const isFilterButtonVisible = isRefundCountVisible || isPresent(filters);\n\n const handleFiltersChange = filters => {\n startTransition(() => {\n setFilters(filters);\n });\n };\n\n const handleTabChange = tab => {\n const queryParams = getQueryParams({ toCamelCase: false });\n const newParams = {\n tab,\n page: DEFAULT_PAGE_INDEX,\n page_size: DEFAULT_PAGE_SIZE,\n };\n\n history.push(\n buildUrl(window.location.pathname, mergeLeft(newParams, queryParams))\n );\n };\n\n return (\n <>\n <Header\n title={t(\"neetoPayments.title.refunds\")}\n searchProps={\n isFilterButtonVisible && {\n placeholder: searchKeywordProps.placeholder,\n className: \"w-80\",\n }\n }\n />\n {shouldTabsVisible(views) && (\n <Tab>\n {Object.keys(REFUND_DASHBOARD_TAB).map(item => (\n <Tab.Item\n active={tab === item}\n key={item}\n onClick={() => handleTabChange(item)}\n >\n {t(`neetoPayments.common.${item}`)}\n </Tab.Item>\n ))}\n </Tab>\n )}\n <SubHeader\n className=\"mt-4\"\n leftActionBlock={\n isRefundCountVisible && (\n <Typography\n className=\"neeto-ui-gray-800 mr-2 font-semibold\"\n component=\"h4\"\n >\n {tab === REFUND_DASHBOARD_TAB.all\n ? t(\"neetoPayments.countOf.refund\", { count: refundsCount })\n : t(\"neetoPayments.countOf.refundWithStatus\", {\n count: refundsCount,\n status: tab,\n })}\n </Typography>\n )\n }\n rightActionBlock={\n <>\n <FiltersBar\n columns={filterableColumns}\n keyword={searchKeywordProps}\n setIsPaneOpen={setIsFilterPaneOpen}\n onChange={handleFiltersChange}\n />\n {isFilterButtonVisible && (\n <SubHeader.RightBlock\n columnsButtonProps={{\n columnData: concat(\n getDefaultColumns(),\n payableEntityColumns\n ).map(modify(\"dataIndex\", processDataIndex)),\n fixedColumns: UN_HIDEABLE_COLUMNS,\n localStorageKey: COLUMNS_STORAGE_KEY,\n }}\n filterProps={{\n columns: filterableColumns,\n isOpen: isFilterPaneOpen,\n keyword: searchKeywordProps,\n setIsOpen: setIsFilterPaneOpen,\n onChange: handleFiltersChange,\n }}\n />\n )}\n </>\n }\n />\n </>\n );\n};\n\nexport default TopSection;\n","import { useState } from \"react\";\n\nimport { getQueryParams } from \"neetocommons/utils\";\nimport { buildFiltersFromURL } from \"neetofilters\";\nimport { Spinner } from \"neetoui\";\n\nimport { useFetchRefunds } from \"hooks/reactQuery/useRefundsApi\";\nimport { DEFAULT_SORT_PROPERTIES, DEFAULT_PAGE_VALUES } from \"src/constants\";\n\nimport { REFUND_DASHBOARD_TAB } from \"./constants\";\nimport List from \"./List\";\nimport TopSection from \"./TopSection\";\nimport { buildFilterColumns, buildSearchProps } from \"./utils\";\n\nconst RefundsDashboard = ({\n searchProps,\n payableEntityColumns,\n accountIds,\n}) => {\n const { searchTerm = \"\" } = getQueryParams();\n const filterableColumns = buildFilterColumns(payableEntityColumns);\n const searchKeywordProps = buildSearchProps(searchProps, searchTerm);\n\n const [sortProperties, setSortProperties] = useState(DEFAULT_SORT_PROPERTIES);\n const [pageProperties, setPageProperties] = useState(DEFAULT_PAGE_VALUES);\n const [filters, setFilters] = useState(\n buildFiltersFromURL([...filterableColumns, searchKeywordProps])\n );\n\n const { tab = REFUND_DASHBOARD_TAB.all } = getQueryParams();\n const payload = {\n tab,\n filters,\n accountIds,\n ...pageProperties,\n ...sortProperties,\n };\n\n const { data: { refunds, views } = {}, isLoading: isRefundsLoading } =\n useFetchRefunds(payload, { enabled: true });\n\n if (isRefundsLoading) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <>\n <TopSection\n {...{\n filterableColumns,\n filters,\n pageProperties,\n payableEntityColumns,\n searchKeywordProps,\n setFilters,\n setPageProperties,\n setSortProperties,\n views,\n }}\n />\n <List\n {...{\n pageProperties,\n payableEntityColumns,\n refunds,\n setPageProperties,\n setSortProperties,\n views,\n }}\n />\n </>\n );\n};\n\nexport default RefundsDashboard;\n"],"names":["list","payload","axios","get","concat","BASE_URL","params","refundsApi","useFetchRefunds","arguments","length","undefined","options","useQuery","_objectSpread","queryKey","QUERY_KEYS","REFUNDS_LIST","queryFn","COLUMNS_STORAGE_KEY","REFUND_DASHBOARD_TAB","all","successful","declined","pending","SEARCH_PROPS","node","key","model","placeholder","t","FILTER_COLUMNS","label","type","values","map","toLabelAndValue","PAYMENT_PROVIDERS","TAG_STYLE","initiated","refunded","renderIdentifier","identifier","_ref","receiptUrl","isTemporaryIdentifier","startsWith","_jsx","Tooltip","content","position","children","className","Typography","style","CopyButtonWrapper","Button","href","size","target","getTagStyle","status","DEFAULT_TAG_STYLE","preProcessStatus","record","isRefunded","snakeToCamelCase","renderStatus","curry","processedStatus","Tag","renderDate","date","DateFormat","DateTime","getDefaultColumns","title","dataIndex","width","isHidable","render","humanize","sorter","formatAmount","formatCurrency","buildSearchProps","searchProps","searchTerm","mergeDeepWith","mergeLeft","value","trim","buildFilterColumns","payableEntityColumns","reject","isNil","prop","buildRowData","refunds","_ref$pageProperties","pageProperties","element","index","id","isEmpty","pageSize","page","List","views","setPageProperties","setSortProperties","_useTranslation","useTranslation","history","useHistory","_getQueryParams","getQueryParams","_getQueryParams$tab","tab","_useHiddenColumns","useHiddenColumns","hideColumn","_useHiddenColumns$hid","hiddenColumns","refundsCount","isMultipleProvidersExist","getUniquePaymentProviders","visibleColumns","buildDefaultTableColumns","defaultColumns","isAllTab","handleColumnHiding","column","processDataIndex","handleTablePaginaton","queryParams","toCamelCase","push","buildUrl","window","location","pathname","page_size","handleTableChange","_","__","isPresent","sortBy","camelToSnakeCase","field","orderBy","order","DEFAULT_SORT_PROPERTIES","isNotPresent","NoData","TableWrapper","hasPagination","Table","fixedHeight","allowRowClick","columnData","currentPageNumber","handlePageChange","rowData","rowSelection","sortDirections","SORT_DIRECTIONS","totalCount","paginationProps","showSizeChanger","hideOnSinglePage","total","onChange","onColumnHide","TopSection","filters","setFilters","filterableColumns","searchKeywordProps","_useState","useState","_useState2","_slicedToArray","isFilterPaneOpen","setIsFilterPaneOpen","isRefundCountVisible","isFilterButtonVisible","handleFiltersChange","startTransition","handleTabChange","newParams","DEFAULT_PAGE_INDEX","DEFAULT_PAGE_SIZE","_jsxs","_Fragment","Header","shouldTabsVisible","Tab","Object","keys","item","Item","active","onClick","SubHeader","leftActionBlock","component","count","rightActionBlock","FiltersBar","columns","keyword","setIsPaneOpen","RightBlock","columnsButtonProps","modify","fixedColumns","UN_HIDEABLE_COLUMNS","localStorageKey","filterProps","isOpen","setIsOpen","RefundsDashboard","accountIds","_getQueryParams$searc","sortProperties","_useState3","DEFAULT_PAGE_VALUES","_useState4","_useState5","buildFiltersFromURL","_toConsumableArray","_useState6","_getQueryParams2","_getQueryParams2$tab","_useFetchRefunds","enabled","_useFetchRefunds$data","data","_useFetchRefunds$data2","isRefundsLoading","isLoading","Spinner"],"mappings":"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"}
1
+ {"version":3,"file":"RefundsDashboard.js","sources":["../app/javascript/src/apis/refunds.js","../app/javascript/src/hooks/reactQuery/useRefundsApi.js","../app/javascript/src/components/RefundsDashboard/constants.js","../app/javascript/src/components/RefundsDashboard/columns/utils.jsx","../app/javascript/src/components/RefundsDashboard/utils.js","../app/javascript/src/components/RefundsDashboard/List.jsx","../app/javascript/src/components/RefundsDashboard/TopSection.jsx","../app/javascript/src/components/RefundsDashboard/index.jsx"],"sourcesContent":["import axios from \"axios\";\n\nimport { BASE_URL } from \"src/constants\";\n\nconst list = payload =>\n axios.get(`${BASE_URL}/api/v1/refunds`, { params: payload });\n\nconst refundsApi = { list };\n\nexport default refundsApi;\n","import { useQuery } from \"@tanstack/react-query\";\n\nimport refundsApi from \"apis/refunds\";\nimport { QUERY_KEYS } from \"src/common/queryConstants\";\n\nexport const useFetchRefunds = (payload = {}, options = {}) =>\n useQuery({\n queryKey: [QUERY_KEYS.REFUNDS_LIST, payload],\n queryFn: () => refundsApi.list(payload),\n ...options,\n });\n","import { t } from \"i18next\";\nimport { toLabelAndValue } from \"neetocist\";\nimport { map } from \"ramda\";\n\nimport { PAYMENT_PROVIDERS } from \"src/constants\";\n\nexport const COLUMNS_STORAGE_KEY = \"refundsDashboard\";\n\nexport const REFUND_DASHBOARD_TAB = {\n all: \"all\",\n successful: \"successful\",\n declined: \"declined\",\n pending: \"pending\",\n};\n\nexport const SEARCH_PROPS = {\n node: \"identifier,\",\n key: \"search_term\",\n model: \"NeetoPaymentsEngine::Refund,\",\n placeholder: t(\"neetoPayments.common.search\"),\n};\n\nexport const FILTER_COLUMNS = [\n {\n key: \"payment_provider\",\n label: t(\"neetoPayments.common.paymentProvider\"),\n node: \"payment_provider\",\n type: \"single_option\",\n values: map(toLabelAndValue, PAYMENT_PROVIDERS),\n },\n {\n key: \"amount\",\n label: t(\"neetoPayments.common.amount\"),\n node: \"amount\",\n type: \"decimal\",\n },\n {\n key: \"refunded_at\",\n label: t(\"neetoPayments.common.refundTime\"),\n node: \"refunded_at\",\n type: \"date\",\n },\n];\n\nexport const TAG_STYLE = {\n initiated: \"info\",\n declined: \"danger\",\n successful: \"success\",\n refunded: \"secondary\",\n pending: \"warning\",\n};\n","import { t } from \"i18next\";\nimport { snakeToCamelCase, humanize } from \"neetocist\";\nimport DateFormat from \"neetomolecules/DateFormat\";\nimport { Button, Tag, Tooltip, Typography } from \"neetoui\";\nimport { curry } from \"ramda\";\n\nimport CopyButtonWrapper from \"components/Common/CopyButtonWrapper\";\nimport { DEFAULT_TAG_STYLE } from \"src/constants\";\nimport { formatAmount, formatCurrency } from \"utils\";\n\nimport { TAG_STYLE } from \"../constants\";\n\nconst renderIdentifier = (identifier, { receiptUrl }) => {\n const isTemporaryIdentifier = identifier?.startsWith(\"temp_\");\n\n if (isTemporaryIdentifier) {\n return (\n <Tooltip\n content={t(\"neetoPayments.tooltipContent.paymentIdentifierUnavailable\")}\n position=\"top\"\n >\n <div className=\"text-center\">\n <Typography style=\"body2\">\n {t(\"neetoPayments.common.notAvailable\")}\n </Typography>\n </div>\n </Tooltip>\n );\n }\n\n return (\n <CopyButtonWrapper content={identifier}>\n <Button\n href={receiptUrl}\n label={identifier}\n size=\"small\"\n style=\"link\"\n target=\"_blank\"\n />\n </CopyButtonWrapper>\n );\n};\n\nconst getTagStyle = status => TAG_STYLE[status] || DEFAULT_TAG_STYLE;\n\nconst preProcessStatus = (type, status, record = {}) => {\n if (type === \"payment\") {\n return record.isRefunded ? \"refunded\" : status;\n }\n\n return snakeToCamelCase(status);\n};\n\nconst renderStatus = curry((type, status, record) => {\n const processedStatus = preProcessStatus(type, status, record);\n\n return (\n <Tooltip\n content={t(`neetoPayments.tooltipContent.${type}.${processedStatus}`)}\n position=\"top\"\n >\n <div className=\"w-fit\">\n <Tag\n label={t(`neetoPayments.tagLabels.${type}.${processedStatus}`)}\n style={getTagStyle(processedStatus)}\n />\n </div>\n </Tooltip>\n );\n});\n\nconst renderDate = date => <DateFormat.DateTime {...{ date }} />;\n\nexport const getDefaultColumns = () => [\n {\n title: t(\"neetoPayments.common.id\"),\n dataIndex: \"id\",\n key: \"id\",\n width: 85,\n position: 0,\n isHidable: false,\n },\n {\n title: t(\"neetoPayments.common.identifier\"),\n dataIndex: \"identifier\",\n key: \"identifier\",\n width: 300,\n render: renderIdentifier,\n position: 1,\n isHidable: false,\n },\n {\n title: t(\"neetoPayments.common.provider\"),\n dataIndex: \"paymentProvider\",\n key: \"paymentProvider\",\n width: 150,\n render: humanize,\n position: 2,\n sorter: false,\n },\n {\n title: t(\"neetoPayments.common.status\"),\n dataIndex: \"status\",\n key: \"status\",\n width: 150,\n render: renderStatus(\"refund\"),\n sorter: true,\n position: 3,\n isHidable: false,\n },\n {\n title: t(\"neetoPayments.common.amount\"),\n dataIndex: \"amount\",\n key: \"amount\",\n width: 150,\n sorter: true,\n render: formatAmount,\n position: 4,\n },\n {\n title: t(\"neetoPayments.common.currency\"),\n dataIndex: \"currency\",\n key: \"currency\",\n width: 180,\n sorter: true,\n render: formatCurrency,\n position: 4,\n },\n {\n title: t(\"neetoPayments.common.refundTime\"),\n dataIndex: \"refundedAt\",\n key: \"refundedAt\",\n width: 190,\n render: renderDate,\n sorter: true,\n position: 5,\n },\n];\n","import {\n map,\n prop,\n concat,\n mergeDeepWith,\n mergeLeft,\n isNil,\n reject,\n isEmpty,\n} from \"ramda\";\n\nimport { FILTER_COLUMNS, SEARCH_PROPS } from \"./constants\";\n\nexport const buildSearchProps = (searchProps, searchTerm) =>\n mergeDeepWith(\n concat,\n SEARCH_PROPS,\n mergeLeft({ value: searchTerm.trim() }, searchProps)\n );\n\nexport const buildFilterColumns = (payableEntityColumns = []) =>\n reject(\n isNil,\n concat(FILTER_COLUMNS, map(prop(\"filterProps\"), payableEntityColumns))\n );\n\nexport const buildRowData = ({ refunds, pageProperties = {} }) =>\n refunds?.map((element, index) => ({\n ...element,\n id: isEmpty(pageProperties)\n ? index + 1\n : pageProperties.pageSize * (pageProperties.page - 1) + index + 1,\n }));\n","import { camelToSnakeCase, isNotPresent, isPresent } from \"neetocist\";\nimport { buildUrl, getQueryParams } from \"neetocommons/utils\";\nimport { useHiddenColumns } from \"neetomolecules/Columns\";\nimport TableWrapper from \"neetomolecules/TableWrapper\";\nimport { Table, NoData } from \"neetoui\";\nimport { mergeLeft } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { SORT_DIRECTIONS, DEFAULT_SORT_PROPERTIES } from \"src/constants\";\nimport {\n buildDefaultTableColumns,\n getUniquePaymentProviders,\n processDataIndex,\n} from \"utils\";\n\nimport { getDefaultColumns } from \"./columns/utils\";\nimport { COLUMNS_STORAGE_KEY, REFUND_DASHBOARD_TAB } from \"./constants\";\nimport { buildRowData } from \"./utils\";\n\nconst List = ({\n isFetching,\n refunds,\n views,\n payableEntityColumns,\n setPageProperties,\n setSortProperties,\n pageProperties,\n}) => {\n const { t } = useTranslation();\n const history = useHistory();\n const { tab = REFUND_DASHBOARD_TAB.all } = getQueryParams();\n const { hideColumn, hiddenColumns = [] } =\n useHiddenColumns(COLUMNS_STORAGE_KEY);\n\n const refundsCount = views[tab];\n const isMultipleProvidersExist =\n getUniquePaymentProviders(refunds ?? []).length > 1;\n\n const visibleColumns = buildDefaultTableColumns({\n hiddenColumns,\n payableEntityColumns,\n isMultipleProvidersExist,\n defaultColumns: getDefaultColumns(),\n isAllTab: tab === REFUND_DASHBOARD_TAB.all,\n });\n\n const handleColumnHiding = column => {\n hideColumn(processDataIndex(column.dataIndex));\n };\n\n const handleTablePaginaton = (page, pageSize) => {\n const queryParams = getQueryParams({ toCamelCase: false });\n history.push(\n buildUrl(\n window.location.pathname,\n mergeLeft({ page, page_size: pageSize }, queryParams)\n )\n );\n setPageProperties({ page, pageSize });\n };\n\n const handleTableChange = (_, __, sorter) => {\n setSortProperties(\n isPresent(sorter?.column)\n ? {\n sortBy: camelToSnakeCase(processDataIndex(sorter.field)),\n orderBy: sorter.order === \"ascend\" ? \"ASC\" : \"DESC\",\n }\n : DEFAULT_SORT_PROPERTIES\n );\n };\n\n if (isNotPresent(refunds)) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <NoData\n title={\n tab === REFUND_DASHBOARD_TAB.all\n ? t(\"neetoPayments.emptyState.refund\")\n : t(\"neetoPayments.emptyState.refundWithStatus\", {\n status: tab,\n })\n }\n />\n </div>\n );\n }\n\n return (\n <TableWrapper hasPagination={refundsCount > pageProperties?.pageSize}>\n <Table\n fixedHeight\n allowRowClick={false}\n columnData={visibleColumns}\n currentPageNumber={pageProperties?.page}\n handlePageChange={handleTablePaginaton}\n loading={isFetching}\n rowData={buildRowData({ refunds, pageProperties, tab })}\n rowSelection={false}\n sortDirections={SORT_DIRECTIONS}\n totalCount={refundsCount}\n paginationProps={{\n showSizeChanger: true,\n hideOnSinglePage: true,\n pageSize: pageProperties?.pageSize,\n total: refundsCount,\n }}\n onChange={handleTableChange}\n onColumnHide={handleColumnHiding}\n />\n </TableWrapper>\n );\n};\n\nexport default List;\n","import { startTransition, useState } from \"react\";\n\nimport { isPresent } from \"neetocist\";\nimport { DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport { buildUrl, getQueryParams } from \"neetocommons/utils\";\nimport { Bar as FiltersBar } from \"neetofilters\";\nimport Header from \"neetomolecules/Header\";\nimport SubHeader from \"neetomolecules/SubHeader\";\nimport { Tab, Typography } from \"neetoui\";\nimport { concat, mergeLeft, modify } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { UN_HIDEABLE_COLUMNS } from \"src/constants\";\nimport { processDataIndex, shouldTabsVisible } from \"utils\";\n\nimport { getDefaultColumns } from \"./columns/utils\";\nimport { COLUMNS_STORAGE_KEY, REFUND_DASHBOARD_TAB } from \"./constants\";\n\nconst TopSection = ({\n views,\n filters,\n setFilters,\n filterableColumns,\n searchKeywordProps,\n payableEntityColumns,\n setIsExportModalOpen,\n}) => {\n const [isFilterPaneOpen, setIsFilterPaneOpen] = useState(false);\n\n const { t } = useTranslation();\n const history = useHistory();\n const { tab = REFUND_DASHBOARD_TAB.all } = getQueryParams();\n\n const refundsCount = views[tab];\n const isRefundCountVisible = refundsCount > 0;\n const isFilterButtonVisible = isRefundCountVisible || isPresent(filters);\n\n const handleFiltersChange = filters => {\n startTransition(() => {\n setFilters(filters);\n });\n };\n\n const handleTabChange = tab => {\n const queryParams = getQueryParams({ toCamelCase: false });\n const newParams = {\n tab,\n page: DEFAULT_PAGE_INDEX,\n page_size: DEFAULT_PAGE_SIZE,\n };\n\n history.push(\n buildUrl(window.location.pathname, mergeLeft(newParams, queryParams))\n );\n };\n\n return (\n <>\n <Header\n title={t(\"neetoPayments.title.refunds\")}\n searchProps={\n isFilterButtonVisible && {\n placeholder: searchKeywordProps.placeholder,\n className: \"w-80\",\n }\n }\n />\n {shouldTabsVisible(views) && (\n <Tab>\n {Object.keys(REFUND_DASHBOARD_TAB).map(item => (\n <Tab.Item\n active={tab === item}\n key={item}\n onClick={() => handleTabChange(item)}\n >\n {t(`neetoPayments.common.${item}`)}\n </Tab.Item>\n ))}\n </Tab>\n )}\n <SubHeader\n className=\"mt-4\"\n leftActionBlock={\n isRefundCountVisible && (\n <Typography\n className=\"neeto-ui-gray-800 mr-2 font-semibold\"\n component=\"h4\"\n >\n {tab === REFUND_DASHBOARD_TAB.all\n ? t(\"neetoPayments.countOf.refund\", { count: refundsCount })\n : t(\"neetoPayments.countOf.refundWithStatus\", {\n count: refundsCount,\n status: tab,\n })}\n </Typography>\n )\n }\n rightActionBlock={\n <>\n <FiltersBar\n columns={filterableColumns}\n keyword={searchKeywordProps}\n setIsPaneOpen={setIsFilterPaneOpen}\n onChange={handleFiltersChange}\n />\n {isFilterButtonVisible && (\n <SubHeader.RightBlock\n columnsButtonProps={{\n columnData: concat(\n getDefaultColumns(),\n payableEntityColumns\n ).map(modify(\"dataIndex\", processDataIndex)),\n fixedColumns: UN_HIDEABLE_COLUMNS,\n localStorageKey: COLUMNS_STORAGE_KEY,\n }}\n downloadButtonProps={{\n onClick: () => setIsExportModalOpen(true),\n }}\n filterProps={{\n columns: filterableColumns,\n isOpen: isFilterPaneOpen,\n keyword: searchKeywordProps,\n setIsOpen: setIsFilterPaneOpen,\n onChange: handleFiltersChange,\n }}\n />\n )}\n </>\n }\n />\n </>\n );\n};\n\nexport default TopSection;\n","import { useState } from \"react\";\n\nimport { getQueryParams } from \"neetocommons/utils\";\nimport { buildFiltersFromURL } from \"neetofilters\";\nimport { Spinner } from \"neetoui\";\n\nimport ExportModal from \"components/Common/ExportModal\";\nimport { useFetchRefunds } from \"hooks/reactQuery/useRefundsApi\";\nimport {\n DEFAULT_SORT_PROPERTIES,\n DEFAULT_PAGE_VALUES,\n DASHBOARD_KIND,\n} from \"src/constants\";\n\nimport { REFUND_DASHBOARD_TAB } from \"./constants\";\nimport List from \"./List\";\nimport TopSection from \"./TopSection\";\nimport { buildFilterColumns, buildSearchProps } from \"./utils\";\n\nconst RefundsDashboard = ({\n searchProps,\n payableEntityColumns,\n accountIds,\n}) => {\n const { searchTerm = \"\" } = getQueryParams();\n const filterableColumns = buildFilterColumns(payableEntityColumns);\n const searchKeywordProps = buildSearchProps(searchProps, searchTerm);\n\n const [sortProperties, setSortProperties] = useState(DEFAULT_SORT_PROPERTIES);\n const [pageProperties, setPageProperties] = useState(DEFAULT_PAGE_VALUES);\n const [isExportModalOpen, setIsExportModalOpen] = useState(false);\n const [filters, setFilters] = useState(\n buildFiltersFromURL([...filterableColumns, searchKeywordProps])\n );\n\n const { tab = REFUND_DASHBOARD_TAB.all } = getQueryParams();\n const payload = {\n tab,\n filters,\n accountIds,\n ...pageProperties,\n ...sortProperties,\n };\n\n const {\n data: { refunds, views } = {},\n isFetching,\n isPending: isRefundsLoading,\n } = useFetchRefunds(payload, { enabled: true });\n\n if (isRefundsLoading) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <>\n <TopSection\n {...{\n filterableColumns,\n filters,\n pageProperties,\n payableEntityColumns,\n searchKeywordProps,\n setFilters,\n setIsExportModalOpen,\n setPageProperties,\n setSortProperties,\n views,\n }}\n />\n <List\n {...{\n isFetching,\n pageProperties,\n payableEntityColumns,\n refunds,\n setPageProperties,\n setSortProperties,\n views,\n }}\n />\n <ExportModal\n {...{\n filters,\n isExportModalOpen,\n setIsExportModalOpen,\n sortProperties,\n }}\n dashboardKind={DASHBOARD_KIND.refunds}\n />\n </>\n );\n};\n\nexport default RefundsDashboard;\n"],"names":["list","payload","axios","get","concat","BASE_URL","params","refundsApi","useFetchRefunds","arguments","length","undefined","options","useQuery","_objectSpread","queryKey","QUERY_KEYS","REFUNDS_LIST","queryFn","COLUMNS_STORAGE_KEY","REFUND_DASHBOARD_TAB","all","successful","declined","pending","SEARCH_PROPS","node","key","model","placeholder","t","FILTER_COLUMNS","label","type","values","map","toLabelAndValue","PAYMENT_PROVIDERS","TAG_STYLE","initiated","refunded","renderIdentifier","identifier","_ref","receiptUrl","isTemporaryIdentifier","startsWith","_jsx","Tooltip","content","position","children","className","Typography","style","CopyButtonWrapper","Button","href","size","target","getTagStyle","status","DEFAULT_TAG_STYLE","preProcessStatus","record","isRefunded","snakeToCamelCase","renderStatus","curry","processedStatus","Tag","renderDate","date","DateFormat","DateTime","getDefaultColumns","title","dataIndex","width","isHidable","render","humanize","sorter","formatAmount","formatCurrency","buildSearchProps","searchProps","searchTerm","mergeDeepWith","mergeLeft","value","trim","buildFilterColumns","payableEntityColumns","reject","isNil","prop","buildRowData","refunds","_ref$pageProperties","pageProperties","element","index","id","isEmpty","pageSize","page","List","isFetching","views","setPageProperties","setSortProperties","_useTranslation","useTranslation","history","useHistory","_getQueryParams","getQueryParams","_getQueryParams$tab","tab","_useHiddenColumns","useHiddenColumns","hideColumn","_useHiddenColumns$hid","hiddenColumns","refundsCount","isMultipleProvidersExist","getUniquePaymentProviders","visibleColumns","buildDefaultTableColumns","defaultColumns","isAllTab","handleColumnHiding","column","processDataIndex","handleTablePaginaton","queryParams","toCamelCase","push","buildUrl","window","location","pathname","page_size","handleTableChange","_","__","isPresent","sortBy","camelToSnakeCase","field","orderBy","order","DEFAULT_SORT_PROPERTIES","isNotPresent","NoData","TableWrapper","hasPagination","Table","fixedHeight","allowRowClick","columnData","currentPageNumber","handlePageChange","loading","rowData","rowSelection","sortDirections","SORT_DIRECTIONS","totalCount","paginationProps","showSizeChanger","hideOnSinglePage","total","onChange","onColumnHide","TopSection","filters","setFilters","filterableColumns","searchKeywordProps","setIsExportModalOpen","_useState","useState","_useState2","_slicedToArray","isFilterPaneOpen","setIsFilterPaneOpen","isRefundCountVisible","isFilterButtonVisible","handleFiltersChange","startTransition","handleTabChange","newParams","DEFAULT_PAGE_INDEX","DEFAULT_PAGE_SIZE","_jsxs","_Fragment","Header","shouldTabsVisible","Tab","Object","keys","item","Item","active","onClick","SubHeader","leftActionBlock","component","count","rightActionBlock","FiltersBar","columns","keyword","setIsPaneOpen","RightBlock","columnsButtonProps","modify","fixedColumns","UN_HIDEABLE_COLUMNS","localStorageKey","downloadButtonProps","filterProps","isOpen","setIsOpen","RefundsDashboard","accountIds","_getQueryParams$searc","sortProperties","_useState3","DEFAULT_PAGE_VALUES","_useState4","_useState5","_useState6","isExportModalOpen","_useState7","buildFiltersFromURL","_toConsumableArray","_useState8","_getQueryParams2","_getQueryParams2$tab","_useFetchRefunds","enabled","_useFetchRefunds$data","data","_useFetchRefunds$data2","isRefundsLoading","isPending","Spinner","ExportModal","dashboardKind","DASHBOARD_KIND"],"mappings":"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"}
@@ -5,9 +5,10 @@ import { useState, startTransition } from 'react';
5
5
  import { getQueryParams, buildUrl } from '@bigbinary/neeto-commons-frontend/utils';
6
6
  import { buildFiltersFromURL } from '@bigbinary/neeto-filters-frontend/utils';
7
7
  import Spinner from '@bigbinary/neetoui/Spinner';
8
+ import { E as ExportModal } from './ExportModal-33915720.js';
8
9
  import { useQuery } from '@tanstack/react-query';
9
10
  import axios from 'axios';
10
- import { BASE_URL, DEFAULT_TAG_STYLE, PAYMENT_KIND, SORT_DIRECTIONS, DEFAULT_SORT_PROPERTIES, UN_HIDEABLE_COLUMNS, DEFAULT_PAGE_VALUES } from './constants.js';
11
+ import { BASE_URL, DEFAULT_TAG_STYLE, PAYMENT_KIND, SORT_DIRECTIONS, DEFAULT_SORT_PROPERTIES, UN_HIDEABLE_COLUMNS, DEFAULT_PAGE_VALUES, DASHBOARD_KIND } from './constants.js';
11
12
  import { Q as QUERY_KEYS } from './queryConstants-65ca40bc.js';
12
13
  import { t } from 'i18next';
13
14
  import { snakeToCamelCase, isNotPresent, removeBy, isPresent, camelToSnakeCase } from '@bigbinary/neeto-cist';
@@ -18,7 +19,7 @@ import NoData from '@bigbinary/neetoui/NoData';
18
19
  import { curry, mergeDeepWith, concat, mergeLeft, reject, isNil, map, prop, sortBy, isEmpty, modify } from 'ramda';
19
20
  import { useTranslation } from 'react-i18next';
20
21
  import { useHistory } from 'react-router-dom';
21
- import { f as formatAmount, g as formatCurrency, p as processDataIndex, s as shouldTabsVisible } from './index-92fd4865.js';
22
+ import { f as formatAmount, g as formatCurrency, p as processDataIndex, s as shouldTabsVisible } from './index-4c377784.js';
22
23
  import DateFormat from '@bigbinary/neeto-molecules/DateFormat';
23
24
  import Button from '@bigbinary/neetoui/Button';
24
25
  import Tag from '@bigbinary/neetoui/Tag';
@@ -31,6 +32,9 @@ import FiltersBar from '@bigbinary/neeto-filters-frontend/Bar';
31
32
  import Header from '@bigbinary/neeto-molecules/Header';
32
33
  import SubHeader from '@bigbinary/neeto-molecules/SubHeader';
33
34
  import Tab from '@bigbinary/neetoui/Tab';
35
+ import '@bigbinary/neeto-icons/Download';
36
+ import '@bigbinary/neetoui/Modal';
37
+ import './exportChannel-1da3d27c.js';
34
38
  import '@bigbinary/neeto-molecules/CopyToClipboardButton';
35
39
 
36
40
  var list = function list(payload) {
@@ -309,7 +313,8 @@ var buildRowData = function buildRowData(_ref2) {
309
313
  };
310
314
 
311
315
  var List = function List(_ref) {
312
- var splitTransfers = _ref.splitTransfers,
316
+ var isFetching = _ref.isFetching,
317
+ splitTransfers = _ref.splitTransfers,
313
318
  views = _ref.views,
314
319
  payableEntityColumns = _ref.payableEntityColumns,
315
320
  setPageProperties = _ref.setPageProperties,
@@ -367,6 +372,7 @@ var List = function List(_ref) {
367
372
  columnData: visibleColumns,
368
373
  currentPageNumber: pageProperties === null || pageProperties === void 0 ? void 0 : pageProperties.page,
369
374
  handlePageChange: handleTablePaginaton,
375
+ loading: isFetching,
370
376
  rowData: buildRowData({
371
377
  splitTransfers: splitTransfers,
372
378
  pageProperties: pageProperties,
@@ -393,7 +399,8 @@ var TopSection = function TopSection(_ref) {
393
399
  setFilters = _ref.setFilters,
394
400
  filterableColumns = _ref.filterableColumns,
395
401
  searchKeywordProps = _ref.searchKeywordProps,
396
- payableEntityColumns = _ref.payableEntityColumns;
402
+ payableEntityColumns = _ref.payableEntityColumns,
403
+ setIsExportModalOpen = _ref.setIsExportModalOpen;
397
404
  var _useState = useState(false),
398
405
  _useState2 = _slicedToArray(_useState, 2),
399
406
  isFilterPaneOpen = _useState2[0],
@@ -464,6 +471,11 @@ var TopSection = function TopSection(_ref) {
464
471
  fixedColumns: UN_HIDEABLE_COLUMNS,
465
472
  localStorageKey: COLUMNS_STORAGE_KEY
466
473
  },
474
+ downloadButtonProps: {
475
+ onClick: function onClick() {
476
+ return setIsExportModalOpen(true);
477
+ }
478
+ },
467
479
  filterProps: {
468
480
  columns: filterableColumns,
469
481
  isOpen: isFilterPaneOpen,
@@ -495,10 +507,14 @@ var SplitTransfersDashboard = function SplitTransfersDashboard(_ref) {
495
507
  _useState4 = _slicedToArray(_useState3, 2),
496
508
  pageProperties = _useState4[0],
497
509
  setPageProperties = _useState4[1];
498
- var _useState5 = useState(buildFiltersFromURL([].concat(_toConsumableArray(filterableColumns), [searchKeywordProps]))),
510
+ var _useState5 = useState(false),
499
511
  _useState6 = _slicedToArray(_useState5, 2),
500
- filters = _useState6[0],
501
- setFilters = _useState6[1];
512
+ isExportModalOpen = _useState6[0],
513
+ setIsExportModalOpen = _useState6[1];
514
+ var _useState7 = useState(buildFiltersFromURL([].concat(_toConsumableArray(filterableColumns), [searchKeywordProps]))),
515
+ _useState8 = _slicedToArray(_useState7, 2),
516
+ filters = _useState8[0],
517
+ setFilters = _useState8[1];
502
518
  var _getQueryParams2 = getQueryParams(),
503
519
  _getQueryParams2$tab = _getQueryParams2.tab,
504
520
  tab = _getQueryParams2$tab === void 0 ? SPLIT_TRANSFERS_DASHBOARD_TAB.all : _getQueryParams2$tab;
@@ -506,14 +522,13 @@ var SplitTransfersDashboard = function SplitTransfersDashboard(_ref) {
506
522
  tab: tab,
507
523
  filters: filters
508
524
  }, pageProperties), sortProperties);
509
- var _useFetchSplitTransfe = useFetchSplitTransfers(payload, {
510
- enabled: true
511
- }),
525
+ var _useFetchSplitTransfe = useFetchSplitTransfers(payload),
512
526
  _useFetchSplitTransfe2 = _useFetchSplitTransfe.data,
513
527
  _useFetchSplitTransfe3 = _useFetchSplitTransfe2 === void 0 ? {} : _useFetchSplitTransfe2,
514
528
  splitTransfers = _useFetchSplitTransfe3.splitTransfers,
515
529
  views = _useFetchSplitTransfe3.views,
516
- isSplitTransfersLoading = _useFetchSplitTransfe.isLoading;
530
+ isFetching = _useFetchSplitTransfe.isFetching,
531
+ isSplitTransfersLoading = _useFetchSplitTransfe.isPending;
517
532
  if (isSplitTransfersLoading) {
518
533
  return /*#__PURE__*/jsx("div", {
519
534
  className: "flex h-full w-full items-center justify-center",
@@ -528,16 +543,24 @@ var SplitTransfersDashboard = function SplitTransfersDashboard(_ref) {
528
543
  payableEntityColumns: payableEntityColumns,
529
544
  searchKeywordProps: searchKeywordProps,
530
545
  setFilters: setFilters,
546
+ setIsExportModalOpen: setIsExportModalOpen,
531
547
  setPageProperties: setPageProperties,
532
548
  setSortProperties: setSortProperties,
533
549
  views: views
534
550
  }), /*#__PURE__*/jsx(List, {
551
+ isFetching: isFetching,
535
552
  pageProperties: pageProperties,
536
553
  payableEntityColumns: payableEntityColumns,
537
554
  setPageProperties: setPageProperties,
538
555
  setSortProperties: setSortProperties,
539
556
  splitTransfers: splitTransfers,
540
557
  views: views
558
+ }), /*#__PURE__*/jsx(ExportModal, {
559
+ filters: filters,
560
+ isExportModalOpen: isExportModalOpen,
561
+ setIsExportModalOpen: setIsExportModalOpen,
562
+ sortProperties: sortProperties,
563
+ dashboardKind: DASHBOARD_KIND.splitTransfers
541
564
  })]
542
565
  });
543
566
  };