@bigbinary/neeto-webhooks-frontend 2.0.0 → 2.0.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.
@@ -41,6 +41,7 @@
41
41
  "payload": "Payload",
42
42
  "deliveryId": "Delivery ID",
43
43
  "sid": "ID",
44
+ "helpDescription": "Details related to the response received when the product interacts with the endpoint specified in the webhook.",
44
45
  "empty": {
45
46
  "title": "There are no deliveries to show.",
46
47
  "description": "No events have been sent to this webhook"
package/dist/index.cjs.js CHANGED
@@ -3,12 +3,14 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
+ var ramda = require('ramda');
6
7
  var reactRouterDom = require('react-router-dom');
7
8
  var neetoCist = require('@bigbinary/neeto-cist');
8
9
  var constants = require('@bigbinary/neeto-commons-frontend/constants');
9
- var utils = require('@bigbinary/neeto-commons-frontend/utils');
10
+ var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
10
11
  var Container = require('@bigbinary/neeto-molecules/Container');
11
12
  var Header$2 = require('@bigbinary/neeto-molecules/Header');
13
+ var HelpPopover = require('@bigbinary/neeto-molecules/HelpPopover');
12
14
  var PageLoader = require('@bigbinary/neeto-molecules/PageLoader');
13
15
  var TableWrapper = require('@bigbinary/neeto-molecules/TableWrapper');
14
16
  var NoData = require('@bigbinary/neetoui/NoData');
@@ -25,11 +27,9 @@ var Typography = require('@bigbinary/neetoui/Typography');
25
27
  var Tab = require('@bigbinary/neetoui/Tab');
26
28
  var Tag = require('@bigbinary/neetoui/Tag');
27
29
  var i18next = require('i18next');
28
- var ramda = require('ramda');
30
+ var utils = require('@bigbinary/neeto-commons-frontend/utils');
29
31
  var Alert = require('@bigbinary/neetoui/Alert');
30
- var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
31
32
  var Plus = require('@bigbinary/neeto-icons/Plus');
32
- var HelpPopover = require('@bigbinary/neeto-molecules/HelpPopover');
33
33
  var MoreDropdown = require('@bigbinary/neeto-molecules/MoreDropdown');
34
34
  var Spinner = require('@bigbinary/neetoui/Spinner');
35
35
  var Input = require('@bigbinary/neetoui/formik/Input');
@@ -63,6 +63,7 @@ function _interopNamespace(e) {
63
63
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
64
64
  var Container__default = /*#__PURE__*/_interopDefaultLegacy(Container);
65
65
  var Header__default = /*#__PURE__*/_interopDefaultLegacy(Header$2);
66
+ var HelpPopover__default = /*#__PURE__*/_interopDefaultLegacy(HelpPopover);
66
67
  var PageLoader__default = /*#__PURE__*/_interopDefaultLegacy(PageLoader);
67
68
  var TableWrapper__default = /*#__PURE__*/_interopDefaultLegacy(TableWrapper);
68
69
  var NoData__default = /*#__PURE__*/_interopDefaultLegacy(NoData);
@@ -76,7 +77,6 @@ var Tab__default = /*#__PURE__*/_interopDefaultLegacy(Tab);
76
77
  var Tag__default = /*#__PURE__*/_interopDefaultLegacy(Tag);
77
78
  var Alert__default = /*#__PURE__*/_interopDefaultLegacy(Alert);
78
79
  var Plus__default = /*#__PURE__*/_interopDefaultLegacy(Plus);
79
- var HelpPopover__default = /*#__PURE__*/_interopDefaultLegacy(HelpPopover);
80
80
  var MoreDropdown__default = /*#__PURE__*/_interopDefaultLegacy(MoreDropdown);
81
81
  var Spinner__default = /*#__PURE__*/_interopDefaultLegacy(Spinner);
82
82
  var Input__default = /*#__PURE__*/_interopDefaultLegacy(Input);
@@ -87,6 +87,12 @@ var Switch__default = /*#__PURE__*/_interopDefaultLegacy(Switch);
87
87
  var Textarea__default = /*#__PURE__*/_interopDefaultLegacy(Textarea);
88
88
  var yup__namespace = /*#__PURE__*/_interopNamespace(yup);
89
89
 
90
+ var HELP_LINK_URLS = {
91
+ webhook: "https://neetocalhelp.neetokb.com/p/a-4bb6c2a2",
92
+ secrets: "https://neetocalhelp.neetokb.com/p/a-80de90bd",
93
+ deliveries: "https://help.neetocal.com/articles/managing-webhook-deliveries"
94
+ };
95
+
90
96
  var getDeliveriesPath = function getDeliveriesPath(webhooksPath) {
91
97
  return "".concat(webhooksPath, "/:webhookId/deliveries");
92
98
  };
@@ -125,46 +131,6 @@ function _toConsumableArray(arr) {
125
131
  return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
126
132
  }
127
133
 
128
- function _arrayWithHoles(arr) {
129
- if (Array.isArray(arr)) return arr;
130
- }
131
-
132
- function _iterableToArrayLimit(r, l) {
133
- var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
134
- if (null != t) {
135
- var e,
136
- n,
137
- i,
138
- u,
139
- a = [],
140
- f = !0,
141
- o = !1;
142
- try {
143
- if (i = (t = t.call(r)).next, 0 === l) {
144
- if (Object(t) !== t) return;
145
- f = !1;
146
- } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
147
- } catch (r) {
148
- o = !0, n = r;
149
- } finally {
150
- try {
151
- if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return;
152
- } finally {
153
- if (o) throw n;
154
- }
155
- }
156
- return a;
157
- }
158
- }
159
-
160
- function _nonIterableRest() {
161
- throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
162
- }
163
-
164
- function _slicedToArray(arr, i) {
165
- return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
166
- }
167
-
168
134
  function _typeof$1(o) {
169
135
  "@babel/helpers - typeof";
170
136
 
@@ -678,6 +644,46 @@ try {
678
644
 
679
645
  var _regeneratorRuntime = /*@__PURE__*/getDefaultExportFromCjs(regenerator);
680
646
 
647
+ function _arrayWithHoles(arr) {
648
+ if (Array.isArray(arr)) return arr;
649
+ }
650
+
651
+ function _iterableToArrayLimit(r, l) {
652
+ var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
653
+ if (null != t) {
654
+ var e,
655
+ n,
656
+ i,
657
+ u,
658
+ a = [],
659
+ f = !0,
660
+ o = !1;
661
+ try {
662
+ if (i = (t = t.call(r)).next, 0 === l) {
663
+ if (Object(t) !== t) return;
664
+ f = !1;
665
+ } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
666
+ } catch (r) {
667
+ o = !0, n = r;
668
+ } finally {
669
+ try {
670
+ if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return;
671
+ } finally {
672
+ if (o) throw n;
673
+ }
674
+ }
675
+ return a;
676
+ }
677
+ }
678
+
679
+ function _nonIterableRest() {
680
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
681
+ }
682
+
683
+ function _slicedToArray(arr, i) {
684
+ return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
685
+ }
686
+
681
687
  var DELIVERY_TAB = {
682
688
  response: "response",
683
689
  request: "request"
@@ -961,11 +967,8 @@ var buildColumns$1 = function buildColumns(_ref) {
961
967
 
962
968
  var Deliveries = function Deliveries(_ref) {
963
969
  var webhooksUrl = _ref.webhooksUrl,
964
- hostBreadcrumbs = _ref.breadcrumbs;
965
- var _useState = React.useState(1),
966
- _useState2 = _slicedToArray(_useState, 2),
967
- pageNumber = _useState2[0],
968
- setPageNumber = _useState2[1];
970
+ hostBreadcrumbs = _ref.breadcrumbs,
971
+ helpLink = _ref.helpLink;
969
972
  var _useRouteMatch = reactRouterDom.useRouteMatch(),
970
973
  deliveriesUrl = _useRouteMatch.url;
971
974
  var history = reactRouterDom.useHistory();
@@ -974,10 +977,12 @@ var Deliveries = function Deliveries(_ref) {
974
977
  var _useParams = reactRouterDom.useParams(),
975
978
  webhookId = _useParams.webhookId,
976
979
  deliveryId = _useParams.deliveryId;
977
- var deliveriesPath = getDeliveriesPath(webhooksUrl);
980
+ var _useQueryParams = reactUtils.useQueryParams(),
981
+ _useQueryParams$page = _useQueryParams.page,
982
+ page = _useQueryParams$page === void 0 ? constants.DEFAULT_PAGE_INDEX : _useQueryParams$page;
978
983
  var deliveryDetailsPath = getDeliveryDetailsPath(deliveriesUrl);
979
984
  var _useFetchDeliveries = useFetchDeliveries(webhookId, {
980
- page: pageNumber,
985
+ page: page,
981
986
  pageSize: constants.DEFAULT_PAGE_SIZE
982
987
  }),
983
988
  isLoading = _useFetchDeliveries.isLoading,
@@ -998,17 +1003,21 @@ var Deliveries = function Deliveries(_ref) {
998
1003
  link: window.location.pathname,
999
1004
  text: endpoint
1000
1005
  }]);
1001
- var handleClose = function handleClose() {
1002
- history.push(utils.buildUrl(deliveriesPath, {
1003
- webhookId: webhookId
1004
- }));
1005
- };
1006
1006
  if (isLoading) return /*#__PURE__*/jsxRuntime.jsx(PageLoader__default["default"], {});
1007
1007
  return /*#__PURE__*/jsxRuntime.jsxs(Container__default["default"], {
1008
1008
  className: "w-full",
1009
1009
  children: [/*#__PURE__*/jsxRuntime.jsx(Header__default["default"], {
1010
1010
  breadcrumbs: breadcrumbs,
1011
- title: t("neetoWebhooks.delivery.title")
1011
+ title: /*#__PURE__*/jsxRuntime.jsxs("div", {
1012
+ className: "flex items-center gap-x-2",
1013
+ children: [t("neetoWebhooks.delivery.title"), /*#__PURE__*/jsxRuntime.jsx(HelpPopover__default["default"], {
1014
+ description: t("neetoWebhooks.delivery.helpDescription"),
1015
+ helpLinkProps: {
1016
+ href: helpLink
1017
+ },
1018
+ title: t("neetoWebhooks.delivery.title")
1019
+ })]
1020
+ })
1012
1021
  }), neetoCist.isNotEmpty(deliveries) ? /*#__PURE__*/jsxRuntime.jsx(TableWrapper__default["default"], {
1013
1022
  hasPagination: totalCount > constants.DEFAULT_PAGE_SIZE,
1014
1023
  children: /*#__PURE__*/jsxRuntime.jsx(Table__default["default"], {
@@ -1017,9 +1026,8 @@ var Deliveries = function Deliveries(_ref) {
1017
1026
  columnData: buildColumns$1({
1018
1027
  deliveryDetailsPath: deliveryDetailsPath
1019
1028
  }),
1020
- currentPageNumber: pageNumber,
1029
+ currentPageNumber: page,
1021
1030
  defaultPageSize: constants.DEFAULT_PAGE_SIZE,
1022
- handlePageChange: setPageNumber,
1023
1031
  loading: isFetching,
1024
1032
  rowData: deliveries
1025
1033
  })
@@ -1032,7 +1040,9 @@ var Deliveries = function Deliveries(_ref) {
1032
1040
  }), /*#__PURE__*/jsxRuntime.jsx(Details, {
1033
1041
  deliveryId: deliveryId,
1034
1042
  webhookSid: webhookId,
1035
- onClose: handleClose
1043
+ onClose: function onClose() {
1044
+ return history.goBack();
1045
+ }
1036
1046
  })]
1037
1047
  });
1038
1048
  };
@@ -1119,9 +1129,6 @@ var useDestroyWebhook = function useDestroyWebhook(options) {
1119
1129
  });
1120
1130
  };
1121
1131
 
1122
- var WEBHOOK_HELP_URL = "https://neetocalhelp.neetokb.com/p/a-4bb6c2a2";
1123
- var WEBHOOK_SECRETS_HELP_URL = "https://neetocalhelp.neetokb.com/p/a-80de90bd";
1124
-
1125
1132
  var baseUrl = "/webhooks/events/all";
1126
1133
  var all = function all() {
1127
1134
  return axios__default["default"].get(baseUrl);
@@ -1326,7 +1333,9 @@ var AddWebhookPane = function AddWebhookPane(_ref) {
1326
1333
  isOpen = _ref.isOpen,
1327
1334
  onClose = _ref.onClose,
1328
1335
  onCreate = _ref.onCreate,
1329
- webhooks = _ref.webhooks;
1336
+ webhooks = _ref.webhooks,
1337
+ webhookHelpLink = _ref.webhookHelpLink,
1338
+ secretsHelpLink = _ref.secretsHelpLink;
1330
1339
  var _useTranslation = reactI18next.useTranslation(),
1331
1340
  t = _useTranslation.t;
1332
1341
  var _useState = React.useState(false),
@@ -1406,7 +1415,7 @@ var AddWebhookPane = function AddWebhookPane(_ref) {
1406
1415
  }), /*#__PURE__*/jsxRuntime.jsx(HelpPopover__default["default"], {
1407
1416
  description: t("neetoWebhooks.webhook.helpDescription"),
1408
1417
  helpLinkProps: {
1409
- href: WEBHOOK_HELP_URL
1418
+ href: webhookHelpLink
1410
1419
  },
1411
1420
  title: t("neetoWebhooks.webhook.title")
1412
1421
  })]
@@ -1454,7 +1463,7 @@ var AddWebhookPane = function AddWebhookPane(_ref) {
1454
1463
  className: "flex items-center gap-x-2",
1455
1464
  children: [t("neetoWebhooks.webhook.secret"), /*#__PURE__*/jsxRuntime.jsx(HelpPopover__default["default"], {
1456
1465
  helpLinkProps: {
1457
- href: WEBHOOK_SECRETS_HELP_URL
1466
+ href: secretsHelpLink
1458
1467
  },
1459
1468
  description: t("neetoWebhooks.webhook.secretkeyHelpDescription"),
1460
1469
  title: t("neetoWebhooks.webhook.secretkeyHelpTitle")
@@ -1512,7 +1521,8 @@ var Header = reactUtils.withT(function (_ref) {
1512
1521
  breadcrumbs = _ref.breadcrumbs,
1513
1522
  title = _ref.title,
1514
1523
  setIsAddWebhookPaneOpen = _ref.setIsAddWebhookPaneOpen,
1515
- headerSize = _ref.headerSize;
1524
+ headerSize = _ref.headerSize,
1525
+ webhookHelpLink = _ref.webhookHelpLink;
1516
1526
  return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
1517
1527
  children: [/*#__PURE__*/jsxRuntime.jsx(Header__default["default"], {
1518
1528
  breadcrumbs: breadcrumbs,
@@ -1529,7 +1539,7 @@ var Header = reactUtils.withT(function (_ref) {
1529
1539
  children: [t("neetoWebhooks.webhook.title"), /*#__PURE__*/jsxRuntime.jsx(HelpPopover__default["default"], {
1530
1540
  description: t("neetoWebhooks.webhook.helpDescription"),
1531
1541
  helpLinkProps: {
1532
- href: WEBHOOK_HELP_URL
1542
+ href: webhookHelpLink
1533
1543
  },
1534
1544
  title: t("neetoWebhooks.webhook.title")
1535
1545
  })]
@@ -1555,7 +1565,9 @@ var Webhooks = function Webhooks(_ref) {
1555
1565
  onDelete = _ref.onDelete,
1556
1566
  headerSize = _ref.headerSize,
1557
1567
  _ref$containerClassNa = _ref.containerClassName,
1558
- containerClassName = _ref$containerClassNa === void 0 ? "" : _ref$containerClassNa;
1568
+ containerClassName = _ref$containerClassNa === void 0 ? "" : _ref$containerClassNa,
1569
+ webhookHelpLink = _ref.webhookHelpLink,
1570
+ secretsHelpLink = _ref.secretsHelpLink;
1559
1571
  var _useState = React.useState(null),
1560
1572
  _useState2 = _slicedToArray(_useState, 2),
1561
1573
  editingWebhookId = _useState2[0],
@@ -1572,15 +1584,14 @@ var Webhooks = function Webhooks(_ref) {
1572
1584
  _useState8 = _slicedToArray(_useState7, 2),
1573
1585
  isDeleteAlertOpen = _useState8[0],
1574
1586
  setIsDeleteAlertOpen = _useState8[1];
1575
- var _useState9 = React.useState(1),
1576
- _useState10 = _slicedToArray(_useState9, 2),
1577
- pageNumber = _useState10[0],
1578
- setPageNumber = _useState10[1];
1579
1587
  var _useTranslation = reactI18next.useTranslation(),
1580
1588
  t = _useTranslation.t;
1589
+ var _useQueryParams = reactUtils.useQueryParams(),
1590
+ _useQueryParams$page = _useQueryParams.page,
1591
+ page = _useQueryParams$page === void 0 ? constants.DEFAULT_PAGE_INDEX : _useQueryParams$page;
1581
1592
  var _useFetchWebhooks = useFetchWebhooks({
1582
1593
  entityId: entityId,
1583
- page: pageNumber,
1594
+ page: page,
1584
1595
  pageSize: constants.DEFAULT_PAGE_SIZE
1585
1596
  }),
1586
1597
  isLoading = _useFetchWebhooks.isLoading,
@@ -1620,15 +1631,15 @@ var Webhooks = function Webhooks(_ref) {
1620
1631
  breadcrumbs: breadcrumbs,
1621
1632
  headerSize: headerSize,
1622
1633
  setIsAddWebhookPaneOpen: setIsAddWebhookPaneOpen,
1623
- title: title
1634
+ title: title,
1635
+ webhookHelpLink: webhookHelpLink
1624
1636
  }), neetoCist.isNotEmpty(webhooks) ? /*#__PURE__*/jsxRuntime.jsx(TableWrapper__default["default"], {
1625
1637
  hasPagination: totalCount > constants.DEFAULT_PAGE_SIZE,
1626
1638
  children: /*#__PURE__*/jsxRuntime.jsx(Table__default["default"], {
1627
1639
  totalCount: totalCount,
1628
1640
  fixedHeight: true,
1629
- currentPageNumber: pageNumber,
1641
+ currentPageNumber: page,
1630
1642
  defaultPageSize: constants.DEFAULT_PAGE_SIZE,
1631
- handlePageChange: setPageNumber,
1632
1643
  loading: isFetching,
1633
1644
  rowData: webhooks,
1634
1645
  columnData: buildColumns({
@@ -1642,7 +1653,7 @@ var Webhooks = function Webhooks(_ref) {
1642
1653
  children: /*#__PURE__*/jsxRuntime.jsx(NoData__default["default"], {
1643
1654
  title: t("neetoWebhooks.webhook.empty"),
1644
1655
  helpText: /*#__PURE__*/jsxRuntime.jsx(Button__default["default"], {
1645
- href: WEBHOOK_HELP_URL,
1656
+ href: webhookHelpLink,
1646
1657
  label: t("neetoWebhooks.webhook.emptyHelpText"),
1647
1658
  rel: "noreferrer",
1648
1659
  style: "link",
@@ -1660,6 +1671,8 @@ var Webhooks = function Webhooks(_ref) {
1660
1671
  entityId: entityId,
1661
1672
  entityType: entityType,
1662
1673
  onCreate: onCreate,
1674
+ secretsHelpLink: secretsHelpLink,
1675
+ webhookHelpLink: webhookHelpLink,
1663
1676
  webhooks: webhooks,
1664
1677
  isOpen: isAddWebhookPaneOpen,
1665
1678
  onClose: handlePaneClose
@@ -1695,12 +1708,15 @@ var NeetoWebhooks = function NeetoWebhooks(_ref) {
1695
1708
  onCreate = _ref.onCreate,
1696
1709
  onDelete = _ref.onDelete,
1697
1710
  headerSize = _ref.headerSize,
1711
+ _ref$helpLinkUrls = _ref.helpLinkUrls,
1712
+ helpLinkUrls = _ref$helpLinkUrls === void 0 ? {} : _ref$helpLinkUrls,
1698
1713
  containerClassName = _ref.containerClassName;
1699
1714
  var _useRouteMatch = reactRouterDom.useRouteMatch(),
1700
1715
  webhooksPath = _useRouteMatch.path,
1701
1716
  webhooksUrl = _useRouteMatch.url;
1702
1717
  var deliveriesPath = getDeliveriesPath(webhooksUrl);
1703
1718
  var deliveryDetailsPath = getDeliveryDetailsPath(deliveriesPath);
1719
+ var helpLinks = ramda.mergeRight(HELP_LINK_URLS, helpLinkUrls);
1704
1720
  return /*#__PURE__*/jsxRuntime.jsxs(reactRouterDom.Switch, {
1705
1721
  children: [/*#__PURE__*/jsxRuntime.jsx(reactRouterDom.Route, {
1706
1722
  exact: true,
@@ -1715,7 +1731,9 @@ var NeetoWebhooks = function NeetoWebhooks(_ref) {
1715
1731
  headerSize: headerSize,
1716
1732
  onCreate: onCreate,
1717
1733
  onDelete: onDelete,
1718
- title: title
1734
+ title: title,
1735
+ secretsHelpLink: helpLinks.secrets,
1736
+ webhookHelpLink: helpLinks.webhook
1719
1737
  });
1720
1738
  }
1721
1739
  }), /*#__PURE__*/jsxRuntime.jsx(reactRouterDom.Route, {
@@ -1724,17 +1742,19 @@ var NeetoWebhooks = function NeetoWebhooks(_ref) {
1724
1742
  render: function render() {
1725
1743
  return /*#__PURE__*/jsxRuntime.jsx(Deliveries$1, {
1726
1744
  breadcrumbs: breadcrumbs,
1727
- webhooksUrl: webhooksUrl
1745
+ webhooksUrl: webhooksUrl,
1746
+ helpLink: helpLinks.deliveries
1728
1747
  });
1729
1748
  }
1730
1749
  }), /*#__PURE__*/jsxRuntime.jsx(reactRouterDom.Route, {
1750
+ path: deliveriesPath,
1731
1751
  component: function component() {
1732
1752
  return /*#__PURE__*/jsxRuntime.jsx(Deliveries$1, {
1733
1753
  breadcrumbs: breadcrumbs,
1734
- webhooksUrl: webhooksUrl
1754
+ webhooksUrl: webhooksUrl,
1755
+ helpLink: helpLinks.deliveries
1735
1756
  });
1736
- },
1737
- path: deliveriesPath
1757
+ }
1738
1758
  })]
1739
1759
  });
1740
1760
  };