@bigbinary/neeto-api-keys-frontend 2.1.0 → 2.2.1

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/README.md CHANGED
@@ -92,6 +92,7 @@ This component is used for managing API keys in a web application. It provides f
92
92
  ##### Props
93
93
  - `noDataProps`: Props for handling scenarios when there is no data to display.
94
94
  - `headerProps`: Props for configuring the header section of the component.
95
+ - `titleHelpPopoverProps`: Props for configuring the help popover in the title section.
95
96
 
96
97
  ##### Usage
97
98
  ```jsx
package/dist/ApiKeys.js CHANGED
@@ -1,13 +1,16 @@
1
- import { useRef, useState, useEffect } from 'react';
1
+ import { useState, useEffect, useRef } from 'react';
2
2
  import { t } from 'i18next';
3
- import { isPresent, isNotPresent, isNotEmpty } from '@bigbinary/neeto-cist';
3
+ import { isNotEmpty, isPresent, isNotPresent } from '@bigbinary/neeto-cist';
4
4
  import { DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE, PLURAL } from '@bigbinary/neeto-commons-frontend/constants';
5
- import { useMutationWithInvalidation, withT, useDebounce, withTitle, useQueryParams } from '@bigbinary/neeto-commons-frontend/react-utils';
5
+ import { useMutationWithInvalidation, withT, withTitle, useQueryParams, useDebounce } from '@bigbinary/neeto-commons-frontend/react-utils';
6
6
  import Header from '@bigbinary/neeto-molecules/Header';
7
7
  import HelpPopover from '@bigbinary/neeto-molecules/HelpPopover';
8
8
  import Alert from '@bigbinary/neetoui/Alert';
9
9
  import Button from '@bigbinary/neetoui/Button';
10
10
  import { useTranslation, Trans } from 'react-i18next';
11
+ import { isEmpty, prop } from 'ramda';
12
+ import { useHistory } from 'react-router-dom';
13
+ import { getQueryParams, buildUrl, dateFormat } from '@bigbinary/neeto-commons-frontend/utils';
11
14
  import { globalProps as globalProps$1 } from '@bigbinary/neeto-commons-frontend/initializers';
12
15
  import { useQuery } from '@tanstack/react-query';
13
16
  import axios from 'axios';
@@ -19,11 +22,9 @@ import Checkbox from '@bigbinary/neetoui/formik/Checkbox';
19
22
  import ActionBlock from '@bigbinary/neetoui/formik/ActionBlock';
20
23
  import { Field } from 'formik';
21
24
  import NeetoUIDatePicker from '@bigbinary/neetoui/DatePicker';
22
- import { prop, isEmpty } from 'ramda';
23
25
  import dayjs from 'dayjs';
24
- import { dateFormat, getQueryParams, buildUrl } from '@bigbinary/neeto-commons-frontend/utils';
25
- import MoreDropdown from '@bigbinary/neeto-molecules/MoreDropdown';
26
26
  import CopyToClipboardButton from '@bigbinary/neeto-molecules/CopyToClipboardButton';
27
+ import MoreDropdown from '@bigbinary/neeto-molecules/MoreDropdown';
27
28
  import Tag from '@bigbinary/neetoui/Tag';
28
29
  import * as yup from 'yup';
29
30
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
@@ -31,7 +32,6 @@ import PageLoader from '@bigbinary/neeto-molecules/PageLoader';
31
32
  import TableWrapper from '@bigbinary/neeto-molecules/TableWrapper';
32
33
  import NeetoUITable from '@bigbinary/neetoui/Table';
33
34
  import NoData from '@bigbinary/neetoui/NoData';
34
- import { useHistory } from 'react-router-dom';
35
35
 
36
36
  function _typeof(o) {
37
37
  "@babel/helpers - typeof";
@@ -129,6 +129,58 @@ function _slicedToArray(arr, i) {
129
129
  return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
130
130
  }
131
131
 
132
+ var getPageFromSearchParams = function getPageFromSearchParams() {
133
+ var _getQueryParams = getQueryParams(),
134
+ page = _getQueryParams.page;
135
+ return parseInt(page) || DEFAULT_PAGE_INDEX;
136
+ };
137
+ var setPageSearchParam = function setPageSearchParam(_ref) {
138
+ var page = _ref.page,
139
+ history = _ref.history;
140
+ var searchParams = page !== DEFAULT_PAGE_INDEX && buildUrl("", {
141
+ page: page
142
+ });
143
+ history.push({
144
+ search: searchParams
145
+ });
146
+ };
147
+
148
+ var usePagination = function usePagination(_ref) {
149
+ var searchTerm = _ref.searchTerm;
150
+ var _useState = useState(getPageFromSearchParams),
151
+ _useState2 = _slicedToArray(_useState, 2),
152
+ currentPage = _useState2[0],
153
+ setCurrentPage = _useState2[1];
154
+ var history = useHistory();
155
+ useEffect(function () {
156
+ handlePageChange(getPageFromSearchParams());
157
+ }, []);
158
+ useEffect(function () {
159
+ if (isNotEmpty(searchTerm) && currentPage !== DEFAULT_PAGE_INDEX) {
160
+ handlePageChange(DEFAULT_PAGE_INDEX);
161
+ }
162
+ }, [searchTerm]);
163
+ var handlePageChange = function handlePageChange(page) {
164
+ setCurrentPage(page);
165
+ setPageSearchParam({
166
+ page: page,
167
+ history: history
168
+ });
169
+ };
170
+ var onFetchSuccess = function onFetchSuccess(_ref2) {
171
+ var totalCount = _ref2.totalCount,
172
+ apiKeys = _ref2.apiKeys;
173
+ if (totalCount !== 0 && isEmpty(apiKeys)) {
174
+ handlePageChange(DEFAULT_PAGE_INDEX);
175
+ }
176
+ };
177
+ return {
178
+ currentPage: currentPage,
179
+ handlePageChange: handlePageChange,
180
+ onFetchSuccess: onFetchSuccess
181
+ };
182
+ };
183
+
132
184
  var API_KEYS_BASE_URL = "/neeto_api_keys_engine/api/v1/api_keys";
133
185
  var HELP_DOC_URL = "https://help.".concat(globalProps$1.appName.toLowerCase(), ".com/articles/api-keys");
134
186
 
@@ -353,11 +405,11 @@ var DatePicker = function DatePicker(_ref) {
353
405
  meta = _ref2.meta,
354
406
  setFieldValue = _ref2.form.setFieldValue;
355
407
  return /*#__PURE__*/jsx(NeetoUIDatePicker, _objectSpread$3(_objectSpread$3({
408
+ defaultValue: defaultValue,
356
409
  disabled: disabled,
357
410
  disabledDate: disabledDate,
358
411
  label: label,
359
412
  placeholder: placeholder,
360
- defaultValue: defaultValue,
361
413
  allowClear: false,
362
414
  className: "w-full",
363
415
  error: meta.touched && meta.error,
@@ -516,92 +568,21 @@ var Update = function Update(_ref) {
516
568
  });
517
569
  };
518
570
 
519
- var getPageFromSearchParams = function getPageFromSearchParams() {
520
- var _getQueryParams = getQueryParams(),
521
- page = _getQueryParams.page;
522
- return parseInt(page) || DEFAULT_PAGE_INDEX;
523
- };
524
- var setPageSearchParam = function setPageSearchParam(_ref) {
525
- var page = _ref.page,
526
- history = _ref.history;
527
- var searchParams = page !== DEFAULT_PAGE_INDEX && buildUrl("", {
528
- page: page
529
- });
530
- history.push({
531
- search: searchParams
532
- });
533
- };
534
-
535
- var usePagination = function usePagination(_ref) {
536
- var searchTerm = _ref.searchTerm;
537
- var _useState = useState(getPageFromSearchParams),
538
- _useState2 = _slicedToArray(_useState, 2),
539
- currentPage = _useState2[0],
540
- setCurrentPage = _useState2[1];
541
- var history = useHistory();
542
- useEffect(function () {
543
- handlePageChange(getPageFromSearchParams());
544
- }, []);
545
- useEffect(function () {
546
- if (isNotEmpty(searchTerm) && currentPage !== DEFAULT_PAGE_INDEX) {
547
- handlePageChange(DEFAULT_PAGE_INDEX);
548
- }
549
- }, [searchTerm]);
550
- var handlePageChange = function handlePageChange(page) {
551
- setCurrentPage(page);
552
- setPageSearchParam({
553
- page: page,
554
- history: history
555
- });
556
- };
557
- var onFetchSuccess = function onFetchSuccess(_ref2) {
558
- var totalCount = _ref2.totalCount,
559
- apiKeys = _ref2.apiKeys;
560
- if (totalCount !== 0 && isEmpty(apiKeys)) {
561
- handlePageChange(DEFAULT_PAGE_INDEX);
562
- }
563
- };
564
- return {
565
- currentPage: currentPage,
566
- handlePageChange: handlePageChange,
567
- onFetchSuccess: onFetchSuccess
568
- };
569
- };
570
-
571
571
  function ownKeys$1(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; }
572
572
  function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
573
573
  var Table = function Table(_ref) {
574
- var _jsx2;
575
574
  var handleDelete = _ref.handleDelete,
576
575
  handleEdit = _ref.handleEdit,
577
- searchTerm = _ref.searchTerm,
576
+ currentPage = _ref.currentPage,
578
577
  setIsCreatePaneOpen = _ref.setIsCreatePaneOpen,
579
578
  _ref$noDataProps = _ref.noDataProps,
580
- noDataProps = _ref$noDataProps === void 0 ? {} : _ref$noDataProps;
581
- var debouncedSearchTerm = useDebounce(searchTerm);
579
+ noDataProps = _ref$noDataProps === void 0 ? {} : _ref$noDataProps,
580
+ data = _ref.data,
581
+ isLoading = _ref.isLoading,
582
+ isFetching = _ref.isFetching,
583
+ handlePageChange = _ref.handlePageChange;
582
584
  var _useTranslation = useTranslation(),
583
585
  t = _useTranslation.t;
584
- var _usePagination = usePagination({
585
- searchTerm: debouncedSearchTerm
586
- }),
587
- currentPage = _usePagination.currentPage,
588
- handlePageChange = _usePagination.handlePageChange,
589
- onFetchSuccess = _usePagination.onFetchSuccess;
590
- var queryParams = {
591
- searchTerm: debouncedSearchTerm,
592
- page: currentPage,
593
- pageSize: DEFAULT_PAGE_SIZE
594
- };
595
- var _useFetchApiKeys = useFetchApiKeys({
596
- params: queryParams
597
- }),
598
- data = _useFetchApiKeys.data,
599
- isLoading = _useFetchApiKeys.isLoading,
600
- isFetching = _useFetchApiKeys.isFetching;
601
- useEffect(function () {
602
- if (!data) return;
603
- onFetchSuccess(data);
604
- }, [data]);
605
586
  if (isLoading) return /*#__PURE__*/jsx(PageLoader, {});
606
587
  if (isEmpty(data === null || data === void 0 ? void 0 : data.apiKeys)) {
607
588
  return /*#__PURE__*/jsxs("div", {
@@ -630,12 +611,19 @@ var Table = function Table(_ref) {
630
611
  }
631
612
  return /*#__PURE__*/jsx(TableWrapper, {
632
613
  hasPagination: (data === null || data === void 0 ? void 0 : data.totalCount) > DEFAULT_PAGE_SIZE,
633
- children: /*#__PURE__*/jsx(NeetoUITable, (_jsx2 = {
634
- handlePageChange: handlePageChange
635
- }, _defineProperty(_jsx2, "handlePageChange", handlePageChange), _defineProperty(_jsx2, "fixedHeight", true), _defineProperty(_jsx2, "columnData", buildColumnData({
636
- handleDelete: handleDelete,
637
- handleEdit: handleEdit
638
- })), _defineProperty(_jsx2, "currentPageNumber", currentPage), _defineProperty(_jsx2, "defaultPageSize", DEFAULT_PAGE_SIZE), _defineProperty(_jsx2, "loading", isFetching), _defineProperty(_jsx2, "rowData", data === null || data === void 0 ? void 0 : data.apiKeys), _defineProperty(_jsx2, "totalCount", data === null || data === void 0 ? void 0 : data.totalCount), _jsx2))
614
+ children: /*#__PURE__*/jsx(NeetoUITable, {
615
+ handlePageChange: handlePageChange,
616
+ fixedHeight: true,
617
+ columnData: buildColumnData({
618
+ handleDelete: handleDelete,
619
+ handleEdit: handleEdit
620
+ }),
621
+ currentPageNumber: currentPage,
622
+ defaultPageSize: DEFAULT_PAGE_SIZE,
623
+ loading: isFetching,
624
+ rowData: data === null || data === void 0 ? void 0 : data.apiKeys,
625
+ totalCount: data === null || data === void 0 ? void 0 : data.totalCount
626
+ })
639
627
  });
640
628
  };
641
629
 
@@ -643,7 +631,8 @@ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbol
643
631
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
644
632
  var ApiKeys = function ApiKeys(_ref) {
645
633
  var noDataProps = _ref.noDataProps,
646
- headerProps = _ref.headerProps;
634
+ headerProps = _ref.headerProps,
635
+ titleHelpPopoverProps = _ref.titleHelpPopoverProps;
647
636
  var _useState = useState({}),
648
637
  _useState2 = _slicedToArray(_useState, 2),
649
638
  apiKeyToBeDeleted = _useState2[0],
@@ -666,6 +655,29 @@ var ApiKeys = function ApiKeys(_ref) {
666
655
  }),
667
656
  deleteApiKey = _useDeleteApiKey.mutate,
668
657
  isDeleting = _useDeleteApiKey.isPending;
658
+ var debouncedSearchTerm = useDebounce(searchTerm);
659
+ var _usePagination = usePagination({
660
+ searchTerm: debouncedSearchTerm
661
+ }),
662
+ currentPage = _usePagination.currentPage,
663
+ handlePageChange = _usePagination.handlePageChange,
664
+ onFetchSuccess = _usePagination.onFetchSuccess;
665
+ var queryParams = {
666
+ searchTerm: debouncedSearchTerm,
667
+ page: currentPage,
668
+ pageSize: DEFAULT_PAGE_SIZE
669
+ };
670
+ var _useFetchApiKeys = useFetchApiKeys({
671
+ params: queryParams
672
+ }),
673
+ data = _useFetchApiKeys.data,
674
+ isLoading = _useFetchApiKeys.isLoading,
675
+ isFetching = _useFetchApiKeys.isFetching;
676
+ var showFilters = isPresent(debouncedSearchTerm) || (data === null || data === void 0 ? void 0 : data.totalCount) > 0;
677
+ useEffect(function () {
678
+ if (!data) return;
679
+ onFetchSuccess(data);
680
+ }, [data]);
669
681
  return /*#__PURE__*/jsxs("div", {
670
682
  className: "flex h-full w-full flex-col",
671
683
  children: [/*#__PURE__*/jsx(Header, _objectSpread({
@@ -675,22 +687,26 @@ var ApiKeys = function ApiKeys(_ref) {
675
687
  return setIsCreatePaneOpen(true);
676
688
  }
677
689
  }),
678
- searchProps: {
690
+ searchProps: showFilters && {
679
691
  placeholder: t("neetoApiKeys.placeholders.search")
680
692
  },
681
693
  title: /*#__PURE__*/jsxs("div", {
682
694
  className: "flex items-center gap-x-2",
683
- children: [t("neetoApiKeys.common.apiKey", PLURAL), /*#__PURE__*/jsx(HelpPopover, {
695
+ children: [t("neetoApiKeys.common.apiKey", PLURAL), /*#__PURE__*/jsx(HelpPopover, _objectSpread({
684
696
  description: t("neetoApiKeys.tooltips.apiKeysDescription"),
685
697
  helpLinkProps: {
686
698
  href: HELP_DOC_URL
687
699
  },
688
700
  title: t("neetoApiKeys.tooltips.apiKeys")
689
- })]
701
+ }, titleHelpPopoverProps))]
690
702
  })
691
703
  }, headerProps)), /*#__PURE__*/jsx(Table, {
704
+ currentPage: currentPage,
705
+ data: data,
706
+ handlePageChange: handlePageChange,
707
+ isFetching: isFetching,
708
+ isLoading: isLoading,
692
709
  noDataProps: noDataProps,
693
- searchTerm: searchTerm,
694
710
  setIsCreatePaneOpen: setIsCreatePaneOpen,
695
711
  handleDelete: setApiKeyToBeDeleted,
696
712
  handleEdit: setApiKeyToBeEdited
@@ -1 +1 @@
1
- {"version":3,"file":"ApiKeys.js","sources":["../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../app/javascript/src/constants/index.js","../app/javascript/src/apis/api_keys.js","../app/javascript/src/constants/query.js","../app/javascript/src/hooks/reactQuery/useApiKeysApi.js","../app/javascript/src/components/ApiKeys/constants.js","../app/javascript/src/components/ApiKeys/utils.jsx","../app/javascript/src/components/ApiKeys/Form/DatePicker.jsx","../app/javascript/src/components/ApiKeys/Form/index.jsx","../app/javascript/src/components/ApiKeys/Panes/Create.jsx","../app/javascript/src/components/ApiKeys/Panes/Update.jsx","../app/javascript/src/utils/pagination.js","../app/javascript/src/hooks/usePagination.js","../app/javascript/src/components/ApiKeys/Table.jsx","../app/javascript/src/components/ApiKeys/index.jsx"],"sourcesContent":["export default function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}","import _typeof from \"./typeof.js\";\nexport default function _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","import { globalProps } from \"neetocommons/initializers\";\n\nexport const API_KEYS_BASE_URL = \"/neeto_api_keys_engine/api/v1/api_keys\";\nexport const HELP_DOC_URL = `https://help.${globalProps.appName.toLowerCase()}.com/articles/api-keys`;\n","import axios from \"axios\";\n\nimport { API_KEYS_BASE_URL } from \"src/constants\";\n\nconst fetch = params => axios.get(API_KEYS_BASE_URL, { params });\n\nconst create = payload => axios.post(API_KEYS_BASE_URL, { apiKey: payload });\n\nconst update = ({ id, payload }) =>\n axios.put(`${API_KEYS_BASE_URL}/${id}`, { apiKey: payload });\n\nconst destroy = id => axios.delete(`${API_KEYS_BASE_URL}/${id}`);\n\nconst apiKeysApi = { fetch, create, update, destroy };\n\nexport default apiKeysApi;\n","export const QUERY_KEYS = { API_KEYS: \"api-keys\" };\n","import { useQuery } from \"@tanstack/react-query\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\n\nimport apiKeysApi from \"apis/api_keys\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nexport const useFetchApiKeys = ({ params, options = {} }) =>\n useQuery({\n queryKey: [QUERY_KEYS.API_KEYS, params],\n queryFn: () => apiKeysApi.fetch(params),\n ...options,\n });\n\nexport const useCreateApiKey = onSuccess =>\n useMutationWithInvalidation(apiKeysApi.create, {\n keysToInvalidate: [[QUERY_KEYS.API_KEYS]],\n onSuccess,\n });\n\nexport const useUpdateApiKey = onSuccess =>\n useMutationWithInvalidation(\n ({ id, payload }) => apiKeysApi.update({ id, payload }),\n { keysToInvalidate: [[QUERY_KEYS.API_KEYS]], onSuccess }\n );\n\nexport const useDeleteApiKey = onSuccess =>\n useMutationWithInvalidation(apiKeysApi.destroy, {\n keysToInvalidate: [[QUERY_KEYS.API_KEYS]],\n onSuccess,\n });\n","import dayjs from \"dayjs\";\nimport { t } from \"i18next\";\nimport { dateFormat } from \"neetocommons/utils\";\nimport * as yup from \"yup\";\n\nexport const INITIAL_VALUES = { expiresAt: null, label: \"\", hasNoExpiry: true };\n\nexport const NEXT_DAY = dayjs().add(1, \"day\").startOf(\"day\");\n\nexport const VALIDATION_SCHEMA = yup.object({\n expiresAt: yup.date().when(\"hasNoExpiry\", (hasNoExpiry, field) =>\n hasNoExpiry\n ? field.nullable()\n : field\n .nullable()\n .required(\n t(\"neetoApiKeys.validations.required\", {\n entity: t(\"neetoApiKeys.fields.expiryDate\"),\n })\n )\n .min(\n NEXT_DAY,\n t(\"neetoApiKeys.validations.expiry\", {\n date: dateFormat.date(NEXT_DAY),\n })\n )\n ),\n label: yup.string().required(\n t(\"neetoApiKeys.validations.required\", {\n entity: t(\"neetoApiKeys.fields.label\"),\n })\n ),\n});\n\nexport const MENU_ITEMS = { EDIT: \"edit\", DELETE: \"delete\" };\n","import React from \"react\";\n\nimport dayjs from \"dayjs\";\nimport { t } from \"i18next\";\nimport { isPresent } from \"neetocist\";\nimport { dateFormat } from \"neetocommons/utils\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport CopyToClipboardButton from \"neetomolecules/CopyToClipboardButton\";\nimport { Tag, Typography } from \"neetoui\";\n\nimport { MENU_ITEMS } from \"./constants\";\n\nconst isInPast = date => dayjs(date).isBefore(dayjs());\nconst partlyHideToken = key => key.slice(-4).padStart(20, \"*\");\nconst formatExpiry = date =>\n dayjs(date).diff(dayjs(), \"day\") <= 2\n ? dateFormat.fromNow(date)\n : dateFormat.date(date);\n\nconst getMenuItems = ({ onEdit, onDelete }) => [\n {\n key: MENU_ITEMS.EDIT,\n label: t(\"neetoApiKeys.buttons.edit\"),\n onClick: onEdit,\n },\n {\n key: MENU_ITEMS.DELETE,\n label: t(\"neetoApiKeys.buttons.delete\"),\n onClick: onDelete,\n },\n];\n\nexport const buildColumnData = ({ handleDelete, handleEdit }) => [\n {\n title: t(\"neetoApiKeys.table.headers.label\"),\n key: \"label\",\n dataIndex: \"label\",\n width: 400,\n render: (label, apiKey) => (\n <div className=\"flex items-center justify-between space-x-3\">\n <Typography style=\"body2\">{label}</Typography>\n <MoreDropdown\n dropdownProps={{ strategy: \"fixed\" }}\n menuItems={getMenuItems({\n onEdit: () => handleEdit(apiKey),\n onDelete: () => handleDelete(apiKey),\n })}\n />\n </div>\n ),\n },\n {\n title: t(\"neetoApiKeys.table.headers.token\"),\n key: \"token\",\n dataIndex: \"token\",\n width: 400,\n render: token => (\n <div className=\"flex items-center justify-between gap-x-3\">\n <Typography style=\"body2\">{partlyHideToken(token)}</Typography>\n <CopyToClipboardButton style=\"text\" value={token} />\n </div>\n ),\n },\n {\n title: t(\"neetoApiKeys.table.headers.status\"),\n key: \"status\",\n width: 144,\n render: (_, { expiresAt }) =>\n isPresent(expiresAt) && isInPast(expiresAt) ? (\n <Tag style=\"warning\">{t(\"neetoApiKeys.tags.expired\")}</Tag>\n ) : (\n <Tag style=\"success\">{t(\"neetoApiKeys.tags.active\")}</Tag>\n ),\n },\n {\n title: t(\"neetoApiKeys.table.headers.expiresAt\"),\n key: \"expiresAt\",\n dataIndex: \"expiresAt\",\n width: 200,\n render: expiresAt =>\n isPresent(expiresAt) ? (\n formatExpiry(expiresAt)\n ) : (\n <Typography style=\"body2\">{t(\"neetoApiKeys.common.never\")}</Typography>\n ),\n },\n {\n title: t(\"neetoApiKeys.table.headers.createdAt\"),\n key: \"createdAt\",\n dataIndex: \"createdAt\",\n width: 200,\n render: createdAt =>\n isPresent(createdAt) ? (\n dateFormat.dateTime(createdAt)\n ) : (\n <Typography style=\"body2\">{t(\"neetoApiKeys.common.never\")}</Typography>\n ),\n },\n];\n\nexport const getStartOfTime = (time, unit) => dayjs(time).startOf(unit);\n","import React from \"react\";\n\nimport { Field } from \"formik\";\nimport { DatePicker as NeetoUIDatePicker } from \"neetoui\";\nimport { prop } from \"ramda\";\n\nimport { getStartOfTime } from \"../utils\";\n\nconst DatePicker = ({\n defaultValue,\n disabledDate,\n label,\n placeholder,\n name,\n disabled = false,\n}) => (\n <Field name={name}>\n {({ field, meta, form: { setFieldValue } }) => (\n <NeetoUIDatePicker\n {...{\n disabled,\n disabledDate,\n label,\n placeholder,\n defaultValue,\n }}\n allowClear={false}\n className=\"w-full\"\n error={meta.touched && meta.error}\n format={globalProps?.user?.dateFormat}\n getPopupContainer={prop(\"parentNode\")}\n {...field}\n onChange={date => {\n setFieldValue(field.name, getStartOfTime(date, \"day\"));\n }}\n />\n )}\n </Field>\n);\n\nexport default DatePicker;\n","import React from \"react\";\n\nimport { withT } from \"neetocommons/react-utils\";\nimport { Pane } from \"neetoui\";\nimport {\n Form as NeetoUIForm,\n Input,\n Checkbox,\n ActionBlock,\n} from \"neetoui/formik\";\n\nimport DatePicker from \"./DatePicker\";\n\nimport { VALIDATION_SCHEMA, INITIAL_VALUES, NEXT_DAY } from \"../constants\";\n\nconst Form = withT(\n ({\n t,\n initialValues = INITIAL_VALUES,\n isSubmitting,\n onClose,\n onSubmit,\n initialFocusRef,\n }) => (\n <NeetoUIForm\n formikProps={{\n validationSchema: VALIDATION_SCHEMA,\n initialValues,\n onSubmit,\n }}\n >\n {({ setFieldValue, values: { hasNoExpiry, expiresAt } = {} }) => (\n <>\n <Pane.Body>\n <div className=\"w-full space-y-4\">\n <Input\n autoFocus\n label={t(\"neetoApiKeys.fields.label\")}\n name=\"label\"\n placeholder={t(\"neetoApiKeys.placeholders.label\")}\n ref={initialFocusRef}\n />\n <div className=\"space-y-2\">\n {!hasNoExpiry && (\n <DatePicker\n defaultValue={expiresAt}\n disabledDate={date => date < NEXT_DAY}\n label={t(\"neetoApiKeys.fields.expiryDate\")}\n name=\"expiresAt\"\n placeholder={t(\n \"neetoApiKeys.placeholders.selectExpiryDate\"\n )}\n />\n )}\n <Checkbox\n checked={hasNoExpiry}\n label={t(\"neetoApiKeys.fields.neverExpire\")}\n name=\"hasNoExpiry\"\n onChange={() => {\n setFieldValue(\"expiresAt\", null);\n setFieldValue(\"hasNoExpiry\", !hasNoExpiry);\n }}\n />\n </div>\n </div>\n </Pane.Body>\n <Pane.Footer>\n <ActionBlock\n {...{ isSubmitting }}\n cancelButtonProps={{ onClick: onClose }}\n />\n </Pane.Footer>\n </>\n )}\n </NeetoUIForm>\n )\n);\n\nexport default Form;\n","import React, { useRef } from \"react\";\n\nimport HelpPopover from \"neetomolecules/HelpPopover\";\nimport { Pane, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useCreateApiKey } from \"hooks/reactQuery/useApiKeysApi\";\nimport { HELP_DOC_URL } from \"src/constants\";\n\nimport Form from \"../Form\";\n\nconst Create = ({ onClose, isOpen }) => {\n const initialFocusRef = useRef(null);\n const { mutate: createApiKey, isPending: isCreating } =\n useCreateApiKey(onClose);\n const { t } = useTranslation();\n\n return (\n <Pane {...{ initialFocusRef, isOpen, onClose }}>\n <Pane.Header>\n <Typography style=\"h2\">\n {t(\"neetoApiKeys.headers.createApiKey\")}\n <HelpPopover\n className=\"ml-2\"\n description={t(\"neetoApiKeys.tooltips.apiKeysDescription\")}\n helpLinkProps={{ href: HELP_DOC_URL }}\n title={t(\"neetoApiKeys.tooltips.apiKeys\")}\n />\n </Typography>\n </Pane.Header>\n <Form\n {...{ initialFocusRef, onClose }}\n isSubmitting={isCreating}\n onSubmit={createApiKey}\n />\n </Pane>\n );\n};\n\nexport default Create;\n","import React, { useRef } from \"react\";\n\nimport { isNotEmpty, isNotPresent } from \"neetocist\";\nimport HelpPopover from \"neetomolecules/HelpPopover\";\nimport { Pane, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useUpdateApiKey } from \"hooks/reactQuery/useApiKeysApi\";\nimport { HELP_DOC_URL } from \"src/constants\";\n\nimport Form from \"../Form\";\n\nconst Update = ({ onClose, apiKey }) => {\n const initialFocusRef = useRef(null);\n const { mutate: updateApiKey, isPending: isUpdating } =\n useUpdateApiKey(onClose);\n const { t } = useTranslation();\n\n const handleUpdate = values => {\n updateApiKey({ id: apiKey.id, payload: values });\n };\n\n const initialValues = {\n ...apiKey,\n hasNoExpiry: isNotPresent(apiKey.expiresAt),\n };\n\n return (\n <Pane {...{ initialFocusRef, onClose }} isOpen={isNotEmpty(apiKey)}>\n <Pane.Header>\n <Typography style=\"h2\">\n {t(\"neetoApiKeys.headers.updateApiKey\")}\n <HelpPopover\n className=\"ml-2\"\n description={t(\"neetoApiKeys.tooltips.apiKeysDescription\")}\n helpLinkProps={{ href: HELP_DOC_URL }}\n title={t(\"neetoApiKeys.tooltips.apiKeys\")}\n />\n </Typography>\n </Pane.Header>\n <Form\n {...{ initialFocusRef, initialValues, onClose }}\n isSubmitting={isUpdating}\n onSubmit={handleUpdate}\n />\n </Pane>\n );\n};\n\nexport default Update;\n","import { DEFAULT_PAGE_INDEX } from \"neetocommons/constants\";\nimport { buildUrl, getQueryParams } from \"neetocommons/utils\";\n\nexport const getPageFromSearchParams = () => {\n const { page } = getQueryParams();\n\n return parseInt(page) || DEFAULT_PAGE_INDEX;\n};\n\nexport const setPageSearchParam = ({ page, history }) => {\n const searchParams = page !== DEFAULT_PAGE_INDEX && buildUrl(\"\", { page });\n\n history.push({ search: searchParams });\n};\n","import { useEffect, useState } from \"react\";\n\nimport { DEFAULT_PAGE_INDEX } from \"neetocommons/constants\";\nimport { isNotEmpty } from \"neetocist\";\nimport { isEmpty } from \"ramda\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { getPageFromSearchParams, setPageSearchParam } from \"utils/pagination\";\n\nconst usePagination = ({ searchTerm }) => {\n const [currentPage, setCurrentPage] = useState(getPageFromSearchParams);\n\n const history = useHistory();\n\n useEffect(() => {\n handlePageChange(getPageFromSearchParams());\n }, []);\n\n useEffect(() => {\n if (isNotEmpty(searchTerm) && currentPage !== DEFAULT_PAGE_INDEX) {\n handlePageChange(DEFAULT_PAGE_INDEX);\n }\n }, [searchTerm]);\n\n const handlePageChange = page => {\n setCurrentPage(page);\n setPageSearchParam({ page, history });\n };\n\n const onFetchSuccess = ({ totalCount, apiKeys }) => {\n if (totalCount !== 0 && isEmpty(apiKeys)) {\n handlePageChange(DEFAULT_PAGE_INDEX);\n }\n };\n\n return { currentPage, handlePageChange, onFetchSuccess };\n};\n\nexport default usePagination;\n","import React, { useEffect } from \"react\";\n\nimport { DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport { useDebounce } from \"neetocommons/react-utils\";\nimport PageLoader from \"neetomolecules/PageLoader\";\nimport TableWrapper from \"neetomolecules/TableWrapper\";\nimport { Button, Table as NeetoUITable, NoData } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { useFetchApiKeys } from \"hooks/reactQuery/useApiKeysApi\";\nimport usePagination from \"hooks/usePagination\";\nimport { HELP_DOC_URL } from \"src/constants\";\n\nimport { buildColumnData } from \"./utils\";\n\nconst Table = ({\n handleDelete,\n handleEdit,\n searchTerm,\n setIsCreatePaneOpen,\n noDataProps = {},\n}) => {\n const debouncedSearchTerm = useDebounce(searchTerm);\n const { t } = useTranslation();\n\n const { currentPage, handlePageChange, onFetchSuccess } = usePagination({\n searchTerm: debouncedSearchTerm,\n });\n\n const queryParams = {\n searchTerm: debouncedSearchTerm,\n page: currentPage,\n pageSize: DEFAULT_PAGE_SIZE,\n };\n\n const { data, isLoading, isFetching } = useFetchApiKeys({\n params: queryParams,\n });\n\n useEffect(() => {\n if (!data) return;\n onFetchSuccess(data);\n }, [data]);\n\n if (isLoading) return <PageLoader />;\n\n if (isEmpty(data?.apiKeys)) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <NoData\n className=\"w-full\"\n title={t(\"neetoApiKeys.noData.title\")}\n helpText={\n <Trans\n i18nKey=\"neetoApiKeys.noData.helpText\"\n components={{\n helpLink: (\n <Button href={HELP_DOC_URL} style=\"link\" target=\"_blank\" />\n ),\n }}\n />\n }\n primaryButtonProps={{\n label: t(\"neetoApiKeys.buttons.addApiKey\"),\n onClick: () => setIsCreatePaneOpen(true),\n }}\n {...noDataProps}\n />\n ;\n </div>\n );\n }\n\n return (\n <TableWrapper hasPagination={data?.totalCount > DEFAULT_PAGE_SIZE}>\n <NeetoUITable\n {...{ handlePageChange }}\n {...{ handlePageChange }}\n fixedHeight\n columnData={buildColumnData({ handleDelete, handleEdit })}\n currentPageNumber={currentPage}\n defaultPageSize={DEFAULT_PAGE_SIZE}\n loading={isFetching}\n rowData={data?.apiKeys}\n totalCount={data?.totalCount}\n />\n </TableWrapper>\n );\n};\n\nexport default Table;\n","import React, { useState } from \"react\";\n\nimport { t } from \"i18next\";\nimport { isNotEmpty } from \"neetocist\";\nimport { PLURAL } from \"neetocommons/constants\";\nimport { useQueryParams, withTitle } from \"neetocommons/react-utils\";\nimport Header from \"neetomolecules/Header\";\nimport HelpPopover from \"neetomolecules/HelpPopover\";\nimport { Alert, Button } from \"neetoui\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { HELP_DOC_URL } from \"src/constants\";\nimport { useDeleteApiKey } from \"src/hooks/reactQuery/useApiKeysApi\";\n\nimport Create from \"./Panes/Create\";\nimport Update from \"./Panes/Update\";\nimport Table from \"./Table\";\n\nconst ApiKeys = ({ noDataProps, headerProps }) => {\n const [apiKeyToBeDeleted, setApiKeyToBeDeleted] = useState({});\n const [apiKeyToBeEdited, setApiKeyToBeEdited] = useState({});\n const [isCreatePaneOpen, setIsCreatePaneOpen] = useState(false);\n\n const { t } = useTranslation();\n const { searchTerm = \"\" } = useQueryParams();\n\n const { mutate: deleteApiKey, isPending: isDeleting } = useDeleteApiKey(() =>\n setApiKeyToBeDeleted({})\n );\n\n return (\n <div className=\"flex h-full w-full flex-col\">\n <Header\n actionBlock={\n <Button\n label={t(\"neetoApiKeys.buttons.addApiKey\")}\n onClick={() => setIsCreatePaneOpen(true)}\n />\n }\n searchProps={{\n placeholder: t(\"neetoApiKeys.placeholders.search\"),\n }}\n title={\n <div className=\"flex items-center gap-x-2\">\n {t(\"neetoApiKeys.common.apiKey\", PLURAL)}\n <HelpPopover\n description={t(\"neetoApiKeys.tooltips.apiKeysDescription\")}\n helpLinkProps={{ href: HELP_DOC_URL }}\n title={t(\"neetoApiKeys.tooltips.apiKeys\")}\n />\n </div>\n }\n {...headerProps}\n />\n <Table\n {...{ noDataProps, searchTerm, setIsCreatePaneOpen }}\n handleDelete={setApiKeyToBeDeleted}\n handleEdit={setApiKeyToBeEdited}\n />\n <Alert\n isOpen={isNotEmpty(apiKeyToBeDeleted)}\n isSubmitting={isDeleting}\n submitButtonLabel={t(\"neetoApiKeys.buttons.delete\")}\n title={t(\"neetoApiKeys.alert.titles.deleteApiKey\")}\n message={\n <Trans\n components={{ bold: <strong /> }}\n i18nKey=\"neetoApiKeys.alert.descriptions.deleteApiKey\"\n values={{ name: apiKeyToBeDeleted.label }}\n />\n }\n onClose={() => setApiKeyToBeDeleted({})}\n onSubmit={() => deleteApiKey(apiKeyToBeDeleted.id)}\n />\n <Create\n isOpen={isCreatePaneOpen}\n onClose={() => setIsCreatePaneOpen(false)}\n />\n <Update\n apiKey={apiKeyToBeEdited}\n onClose={() => setApiKeyToBeEdited({})}\n />\n </div>\n );\n};\nexport default withTitle(ApiKeys, t(\"neetoApiKeys.common.apiKey\", PLURAL));\n"],"names":["toPrimitive","toPropertyKey","arrayLikeToArray","arrayWithHoles","iterableToArrayLimit","unsupportedIterableToArray","nonIterableRest","API_KEYS_BASE_URL","HELP_DOC_URL","concat","globalProps","appName","toLowerCase","fetch","params","axios","get","create","payload","post","apiKey","update","_ref","id","put","destroy","apiKeysApi","QUERY_KEYS","API_KEYS","useFetchApiKeys","_ref$options","options","useQuery","_objectSpread","queryKey","queryFn","useCreateApiKey","onSuccess","useMutationWithInvalidation","keysToInvalidate","useUpdateApiKey","_ref2","useDeleteApiKey","INITIAL_VALUES","expiresAt","label","hasNoExpiry","NEXT_DAY","dayjs","add","startOf","VALIDATION_SCHEMA","yup","object","date","when","field","nullable","required","t","entity","min","dateFormat","string","MENU_ITEMS","EDIT","DELETE","isInPast","isBefore","partlyHideToken","key","slice","padStart","formatExpiry","diff","fromNow","getMenuItems","onEdit","onDelete","onClick","buildColumnData","handleDelete","handleEdit","title","dataIndex","width","render","_jsxs","className","children","_jsx","Typography","style","MoreDropdown","dropdownProps","strategy","menuItems","token","CopyToClipboardButton","value","_","_ref3","isPresent","Tag","createdAt","dateTime","getStartOfTime","time","unit","DatePicker","defaultValue","disabledDate","placeholder","name","_ref$disabled","disabled","Field","_globalProps","meta","setFieldValue","form","NeetoUIDatePicker","allowClear","error","touched","format","user","getPopupContainer","prop","onChange","Form","withT","_ref$initialValues","initialValues","isSubmitting","onClose","onSubmit","initialFocusRef","NeetoUIForm","formikProps","validationSchema","_ref2$values","values","_ref2$values2","_Fragment","Pane","Body","Input","autoFocus","ref","Checkbox","checked","Footer","ActionBlock","cancelButtonProps","Create","isOpen","useRef","_useCreateApiKey","createApiKey","mutate","isCreating","isPending","_useTranslation","useTranslation","Header","HelpPopover","description","helpLinkProps","href","Update","_useUpdateApiKey","updateApiKey","isUpdating","handleUpdate","isNotPresent","isNotEmpty","getPageFromSearchParams","_getQueryParams","getQueryParams","page","parseInt","DEFAULT_PAGE_INDEX","setPageSearchParam","history","searchParams","buildUrl","push","search","usePagination","searchTerm","_useState","useState","_useState2","_slicedToArray","currentPage","setCurrentPage","useHistory","useEffect","handlePageChange","onFetchSuccess","totalCount","apiKeys","isEmpty","Table","_jsx2","setIsCreatePaneOpen","_ref$noDataProps","noDataProps","debouncedSearchTerm","useDebounce","_usePagination","queryParams","pageSize","DEFAULT_PAGE_SIZE","_useFetchApiKeys","data","isLoading","isFetching","PageLoader","NoData","helpText","Trans","i18nKey","components","helpLink","Button","target","primaryButtonProps","TableWrapper","hasPagination","NeetoUITable","_defineProperty","ApiKeys","headerProps","apiKeyToBeDeleted","setApiKeyToBeDeleted","_useState3","_useState4","apiKeyToBeEdited","setApiKeyToBeEdited","_useState5","_useState6","isCreatePaneOpen","_useQueryParams","useQueryParams","_useQueryParams$searc","_useDeleteApiKey","deleteApiKey","isDeleting","actionBlock","searchProps","PLURAL","Alert","submitButtonLabel","message","bold","withTitle"],"mappings":"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"}
1
+ {"version":3,"file":"ApiKeys.js","sources":["../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../app/javascript/src/utils/pagination.js","../app/javascript/src/hooks/usePagination.js","../app/javascript/src/constants/index.js","../app/javascript/src/apis/api_keys.js","../app/javascript/src/constants/query.js","../app/javascript/src/hooks/reactQuery/useApiKeysApi.js","../app/javascript/src/components/ApiKeys/constants.js","../app/javascript/src/components/ApiKeys/utils.jsx","../app/javascript/src/components/ApiKeys/Form/DatePicker.jsx","../app/javascript/src/components/ApiKeys/Form/index.jsx","../app/javascript/src/components/ApiKeys/Panes/Create.jsx","../app/javascript/src/components/ApiKeys/Panes/Update.jsx","../app/javascript/src/components/ApiKeys/Table.jsx","../app/javascript/src/components/ApiKeys/index.jsx"],"sourcesContent":["export default function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}","import _typeof from \"./typeof.js\";\nexport default function _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","import { DEFAULT_PAGE_INDEX } from \"neetocommons/constants\";\nimport { buildUrl, getQueryParams } from \"neetocommons/utils\";\n\nexport const getPageFromSearchParams = () => {\n const { page } = getQueryParams();\n\n return parseInt(page) || DEFAULT_PAGE_INDEX;\n};\n\nexport const setPageSearchParam = ({ page, history }) => {\n const searchParams = page !== DEFAULT_PAGE_INDEX && buildUrl(\"\", { page });\n\n history.push({ search: searchParams });\n};\n","import { useEffect, useState } from \"react\";\n\nimport { isNotEmpty } from \"neetocist\";\nimport { DEFAULT_PAGE_INDEX } from \"neetocommons/constants\";\nimport { isEmpty } from \"ramda\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { getPageFromSearchParams, setPageSearchParam } from \"utils/pagination\";\n\nconst usePagination = ({ searchTerm }) => {\n const [currentPage, setCurrentPage] = useState(getPageFromSearchParams);\n\n const history = useHistory();\n\n useEffect(() => {\n handlePageChange(getPageFromSearchParams());\n }, []);\n\n useEffect(() => {\n if (isNotEmpty(searchTerm) && currentPage !== DEFAULT_PAGE_INDEX) {\n handlePageChange(DEFAULT_PAGE_INDEX);\n }\n }, [searchTerm]);\n\n const handlePageChange = page => {\n setCurrentPage(page);\n setPageSearchParam({ page, history });\n };\n\n const onFetchSuccess = ({ totalCount, apiKeys }) => {\n if (totalCount !== 0 && isEmpty(apiKeys)) {\n handlePageChange(DEFAULT_PAGE_INDEX);\n }\n };\n\n return { currentPage, handlePageChange, onFetchSuccess };\n};\n\nexport default usePagination;\n","import { globalProps } from \"neetocommons/initializers\";\n\nexport const API_KEYS_BASE_URL = \"/neeto_api_keys_engine/api/v1/api_keys\";\nexport const HELP_DOC_URL = `https://help.${globalProps.appName.toLowerCase()}.com/articles/api-keys`;\n","import axios from \"axios\";\n\nimport { API_KEYS_BASE_URL } from \"src/constants\";\n\nconst fetch = params => axios.get(API_KEYS_BASE_URL, { params });\n\nconst create = payload => axios.post(API_KEYS_BASE_URL, { apiKey: payload });\n\nconst update = ({ id, payload }) =>\n axios.put(`${API_KEYS_BASE_URL}/${id}`, { apiKey: payload });\n\nconst destroy = id => axios.delete(`${API_KEYS_BASE_URL}/${id}`);\n\nconst apiKeysApi = { fetch, create, update, destroy };\n\nexport default apiKeysApi;\n","export const QUERY_KEYS = { API_KEYS: \"api-keys\" };\n","import { useQuery } from \"@tanstack/react-query\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\n\nimport apiKeysApi from \"apis/api_keys\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nexport const useFetchApiKeys = ({ params, options = {} }) =>\n useQuery({\n queryKey: [QUERY_KEYS.API_KEYS, params],\n queryFn: () => apiKeysApi.fetch(params),\n ...options,\n });\n\nexport const useCreateApiKey = onSuccess =>\n useMutationWithInvalidation(apiKeysApi.create, {\n keysToInvalidate: [[QUERY_KEYS.API_KEYS]],\n onSuccess,\n });\n\nexport const useUpdateApiKey = onSuccess =>\n useMutationWithInvalidation(\n ({ id, payload }) => apiKeysApi.update({ id, payload }),\n { keysToInvalidate: [[QUERY_KEYS.API_KEYS]], onSuccess }\n );\n\nexport const useDeleteApiKey = onSuccess =>\n useMutationWithInvalidation(apiKeysApi.destroy, {\n keysToInvalidate: [[QUERY_KEYS.API_KEYS]],\n onSuccess,\n });\n","import dayjs from \"dayjs\";\nimport { t } from \"i18next\";\nimport { dateFormat } from \"neetocommons/utils\";\nimport * as yup from \"yup\";\n\nexport const INITIAL_VALUES = { expiresAt: null, label: \"\", hasNoExpiry: true };\n\nexport const NEXT_DAY = dayjs().add(1, \"day\").startOf(\"day\");\n\nexport const VALIDATION_SCHEMA = yup.object({\n expiresAt: yup.date().when(\"hasNoExpiry\", (hasNoExpiry, field) =>\n hasNoExpiry\n ? field.nullable()\n : field\n .nullable()\n .required(\n t(\"neetoApiKeys.validations.required\", {\n entity: t(\"neetoApiKeys.fields.expiryDate\"),\n })\n )\n .min(\n NEXT_DAY,\n t(\"neetoApiKeys.validations.expiry\", {\n date: dateFormat.date(NEXT_DAY),\n })\n )\n ),\n label: yup.string().required(\n t(\"neetoApiKeys.validations.required\", {\n entity: t(\"neetoApiKeys.fields.label\"),\n })\n ),\n});\n\nexport const MENU_ITEMS = { EDIT: \"edit\", DELETE: \"delete\" };\n","import dayjs from \"dayjs\";\nimport { t } from \"i18next\";\nimport { isPresent } from \"neetocist\";\nimport { dateFormat } from \"neetocommons/utils\";\nimport CopyToClipboardButton from \"neetomolecules/CopyToClipboardButton\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport { Tag, Typography } from \"neetoui\";\n\nimport { MENU_ITEMS } from \"./constants\";\n\nconst isInPast = date => dayjs(date).isBefore(dayjs());\nconst partlyHideToken = key => key.slice(-4).padStart(20, \"*\");\nconst formatExpiry = date =>\n dayjs(date).diff(dayjs(), \"day\") <= 2\n ? dateFormat.fromNow(date)\n : dateFormat.date(date);\n\nconst getMenuItems = ({ onEdit, onDelete }) => [\n {\n key: MENU_ITEMS.EDIT,\n label: t(\"neetoApiKeys.buttons.edit\"),\n onClick: onEdit,\n },\n {\n key: MENU_ITEMS.DELETE,\n label: t(\"neetoApiKeys.buttons.delete\"),\n onClick: onDelete,\n },\n];\n\nexport const buildColumnData = ({ handleDelete, handleEdit }) => [\n {\n title: t(\"neetoApiKeys.table.headers.label\"),\n key: \"label\",\n dataIndex: \"label\",\n width: 400,\n render: (label, apiKey) => (\n <div className=\"flex items-center justify-between space-x-3\">\n <Typography style=\"body2\">{label}</Typography>\n <MoreDropdown\n dropdownProps={{ strategy: \"fixed\" }}\n menuItems={getMenuItems({\n onEdit: () => handleEdit(apiKey),\n onDelete: () => handleDelete(apiKey),\n })}\n />\n </div>\n ),\n },\n {\n title: t(\"neetoApiKeys.table.headers.token\"),\n key: \"token\",\n dataIndex: \"token\",\n width: 400,\n render: token => (\n <div className=\"flex items-center justify-between gap-x-3\">\n <Typography style=\"body2\">{partlyHideToken(token)}</Typography>\n <CopyToClipboardButton style=\"text\" value={token} />\n </div>\n ),\n },\n {\n title: t(\"neetoApiKeys.table.headers.status\"),\n key: \"status\",\n width: 144,\n render: (_, { expiresAt }) =>\n isPresent(expiresAt) && isInPast(expiresAt) ? (\n <Tag style=\"warning\">{t(\"neetoApiKeys.tags.expired\")}</Tag>\n ) : (\n <Tag style=\"success\">{t(\"neetoApiKeys.tags.active\")}</Tag>\n ),\n },\n {\n title: t(\"neetoApiKeys.table.headers.expiresAt\"),\n key: \"expiresAt\",\n dataIndex: \"expiresAt\",\n width: 200,\n render: expiresAt =>\n isPresent(expiresAt) ? (\n formatExpiry(expiresAt)\n ) : (\n <Typography style=\"body2\">{t(\"neetoApiKeys.common.never\")}</Typography>\n ),\n },\n {\n title: t(\"neetoApiKeys.table.headers.createdAt\"),\n key: \"createdAt\",\n dataIndex: \"createdAt\",\n width: 200,\n render: createdAt =>\n isPresent(createdAt) ? (\n dateFormat.dateTime(createdAt)\n ) : (\n <Typography style=\"body2\">{t(\"neetoApiKeys.common.never\")}</Typography>\n ),\n },\n];\n\nexport const getStartOfTime = (time, unit) => dayjs(time).startOf(unit);\n","import { Field } from \"formik\";\nimport { DatePicker as NeetoUIDatePicker } from \"neetoui\";\nimport { prop } from \"ramda\";\n\nimport { getStartOfTime } from \"../utils\";\n\nconst DatePicker = ({\n defaultValue,\n disabledDate,\n label,\n placeholder,\n name,\n disabled = false,\n}) => (\n <Field {...{ name }}>\n {({ field, meta, form: { setFieldValue } }) => (\n <NeetoUIDatePicker\n {...{ defaultValue, disabled, disabledDate, label, placeholder }}\n allowClear={false}\n className=\"w-full\"\n error={meta.touched && meta.error}\n format={globalProps?.user?.dateFormat}\n getPopupContainer={prop(\"parentNode\")}\n {...field}\n onChange={date => {\n setFieldValue(field.name, getStartOfTime(date, \"day\"));\n }}\n />\n )}\n </Field>\n);\n\nexport default DatePicker;\n","import { withT } from \"neetocommons/react-utils\";\nimport { Pane } from \"neetoui\";\nimport {\n Form as NeetoUIForm,\n Input,\n Checkbox,\n ActionBlock,\n} from \"neetoui/formik\";\n\nimport DatePicker from \"./DatePicker\";\n\nimport { VALIDATION_SCHEMA, INITIAL_VALUES, NEXT_DAY } from \"../constants\";\n\nconst Form = withT(\n ({\n t,\n initialValues = INITIAL_VALUES,\n isSubmitting,\n onClose,\n onSubmit,\n initialFocusRef,\n }) => (\n <NeetoUIForm\n formikProps={{\n validationSchema: VALIDATION_SCHEMA,\n initialValues,\n onSubmit,\n }}\n >\n {({ setFieldValue, values: { hasNoExpiry, expiresAt } = {} }) => (\n <>\n <Pane.Body>\n <div className=\"w-full space-y-4\">\n <Input\n autoFocus\n label={t(\"neetoApiKeys.fields.label\")}\n name=\"label\"\n placeholder={t(\"neetoApiKeys.placeholders.label\")}\n ref={initialFocusRef}\n />\n <div className=\"space-y-2\">\n {!hasNoExpiry && (\n <DatePicker\n defaultValue={expiresAt}\n disabledDate={date => date < NEXT_DAY}\n label={t(\"neetoApiKeys.fields.expiryDate\")}\n name=\"expiresAt\"\n placeholder={t(\n \"neetoApiKeys.placeholders.selectExpiryDate\"\n )}\n />\n )}\n <Checkbox\n checked={hasNoExpiry}\n label={t(\"neetoApiKeys.fields.neverExpire\")}\n name=\"hasNoExpiry\"\n onChange={() => {\n setFieldValue(\"expiresAt\", null);\n setFieldValue(\"hasNoExpiry\", !hasNoExpiry);\n }}\n />\n </div>\n </div>\n </Pane.Body>\n <Pane.Footer>\n <ActionBlock\n {...{ isSubmitting }}\n cancelButtonProps={{ onClick: onClose }}\n />\n </Pane.Footer>\n </>\n )}\n </NeetoUIForm>\n )\n);\n\nexport default Form;\n","import { useRef } from \"react\";\n\nimport HelpPopover from \"neetomolecules/HelpPopover\";\nimport { Pane, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useCreateApiKey } from \"hooks/reactQuery/useApiKeysApi\";\nimport { HELP_DOC_URL } from \"src/constants\";\n\nimport Form from \"../Form\";\n\nconst Create = ({ onClose, isOpen }) => {\n const initialFocusRef = useRef(null);\n const { mutate: createApiKey, isPending: isCreating } =\n useCreateApiKey(onClose);\n const { t } = useTranslation();\n\n return (\n <Pane {...{ initialFocusRef, isOpen, onClose }}>\n <Pane.Header>\n <Typography style=\"h2\">\n {t(\"neetoApiKeys.headers.createApiKey\")}\n <HelpPopover\n className=\"ml-2\"\n description={t(\"neetoApiKeys.tooltips.apiKeysDescription\")}\n helpLinkProps={{ href: HELP_DOC_URL }}\n title={t(\"neetoApiKeys.tooltips.apiKeys\")}\n />\n </Typography>\n </Pane.Header>\n <Form\n {...{ initialFocusRef, onClose }}\n isSubmitting={isCreating}\n onSubmit={createApiKey}\n />\n </Pane>\n );\n};\n\nexport default Create;\n","import { useRef } from \"react\";\n\nimport { isNotEmpty, isNotPresent } from \"neetocist\";\nimport HelpPopover from \"neetomolecules/HelpPopover\";\nimport { Pane, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useUpdateApiKey } from \"hooks/reactQuery/useApiKeysApi\";\nimport { HELP_DOC_URL } from \"src/constants\";\n\nimport Form from \"../Form\";\n\nconst Update = ({ onClose, apiKey }) => {\n const initialFocusRef = useRef(null);\n const { mutate: updateApiKey, isPending: isUpdating } =\n useUpdateApiKey(onClose);\n const { t } = useTranslation();\n\n const handleUpdate = values => {\n updateApiKey({ id: apiKey.id, payload: values });\n };\n\n const initialValues = {\n ...apiKey,\n hasNoExpiry: isNotPresent(apiKey.expiresAt),\n };\n\n return (\n <Pane {...{ initialFocusRef, onClose }} isOpen={isNotEmpty(apiKey)}>\n <Pane.Header>\n <Typography style=\"h2\">\n {t(\"neetoApiKeys.headers.updateApiKey\")}\n <HelpPopover\n className=\"ml-2\"\n description={t(\"neetoApiKeys.tooltips.apiKeysDescription\")}\n helpLinkProps={{ href: HELP_DOC_URL }}\n title={t(\"neetoApiKeys.tooltips.apiKeys\")}\n />\n </Typography>\n </Pane.Header>\n <Form\n {...{ initialFocusRef, initialValues, onClose }}\n isSubmitting={isUpdating}\n onSubmit={handleUpdate}\n />\n </Pane>\n );\n};\n\nexport default Update;\n","import { DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport PageLoader from \"neetomolecules/PageLoader\";\nimport TableWrapper from \"neetomolecules/TableWrapper\";\nimport { Button, Table as NeetoUITable, NoData } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { HELP_DOC_URL } from \"src/constants\";\n\nimport { buildColumnData } from \"./utils\";\n\nconst Table = ({\n handleDelete,\n handleEdit,\n currentPage,\n setIsCreatePaneOpen,\n noDataProps = {},\n data,\n isLoading,\n isFetching,\n handlePageChange,\n}) => {\n const { t } = useTranslation();\n\n if (isLoading) return <PageLoader />;\n\n if (isEmpty(data?.apiKeys)) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <NoData\n className=\"w-full\"\n title={t(\"neetoApiKeys.noData.title\")}\n helpText={\n <Trans\n i18nKey=\"neetoApiKeys.noData.helpText\"\n components={{\n helpLink: (\n <Button href={HELP_DOC_URL} style=\"link\" target=\"_blank\" />\n ),\n }}\n />\n }\n primaryButtonProps={{\n label: t(\"neetoApiKeys.buttons.addApiKey\"),\n onClick: () => setIsCreatePaneOpen(true),\n }}\n {...noDataProps}\n />\n ;\n </div>\n );\n }\n\n return (\n <TableWrapper hasPagination={data?.totalCount > DEFAULT_PAGE_SIZE}>\n <NeetoUITable\n {...{ handlePageChange }}\n fixedHeight\n columnData={buildColumnData({ handleDelete, handleEdit })}\n currentPageNumber={currentPage}\n defaultPageSize={DEFAULT_PAGE_SIZE}\n loading={isFetching}\n rowData={data?.apiKeys}\n totalCount={data?.totalCount}\n />\n </TableWrapper>\n );\n};\n\nexport default Table;\n","import { useEffect, useState } from \"react\";\n\nimport { t } from \"i18next\";\nimport { isPresent, isNotEmpty } from \"neetocist\";\nimport { DEFAULT_PAGE_SIZE, PLURAL } from \"neetocommons/constants\";\nimport {\n useDebounce,\n useQueryParams,\n withTitle,\n} from \"neetocommons/react-utils\";\nimport Header from \"neetomolecules/Header\";\nimport HelpPopover from \"neetomolecules/HelpPopover\";\nimport { Alert, Button } from \"neetoui\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport usePagination from \"hooks/usePagination\";\nimport { HELP_DOC_URL } from \"src/constants\";\nimport {\n useDeleteApiKey,\n useFetchApiKeys,\n} from \"src/hooks/reactQuery/useApiKeysApi\";\n\nimport Create from \"./Panes/Create\";\nimport Update from \"./Panes/Update\";\nimport Table from \"./Table\";\n\nconst ApiKeys = ({ noDataProps, headerProps, titleHelpPopoverProps }) => {\n const [apiKeyToBeDeleted, setApiKeyToBeDeleted] = useState({});\n const [apiKeyToBeEdited, setApiKeyToBeEdited] = useState({});\n const [isCreatePaneOpen, setIsCreatePaneOpen] = useState(false);\n\n const { t } = useTranslation();\n const { searchTerm = \"\" } = useQueryParams();\n\n const { mutate: deleteApiKey, isPending: isDeleting } = useDeleteApiKey(() =>\n setApiKeyToBeDeleted({})\n );\n\n const debouncedSearchTerm = useDebounce(searchTerm);\n\n const { currentPage, handlePageChange, onFetchSuccess } = usePagination({\n searchTerm: debouncedSearchTerm,\n });\n\n const queryParams = {\n searchTerm: debouncedSearchTerm,\n page: currentPage,\n pageSize: DEFAULT_PAGE_SIZE,\n };\n\n const { data, isLoading, isFetching } = useFetchApiKeys({\n params: queryParams,\n });\n\n const showFilters = isPresent(debouncedSearchTerm) || data?.totalCount > 0;\n\n useEffect(() => {\n if (!data) return;\n onFetchSuccess(data);\n }, [data]);\n\n return (\n <div className=\"flex h-full w-full flex-col\">\n <Header\n actionBlock={\n <Button\n label={t(\"neetoApiKeys.buttons.addApiKey\")}\n onClick={() => setIsCreatePaneOpen(true)}\n />\n }\n searchProps={\n showFilters && {\n placeholder: t(\"neetoApiKeys.placeholders.search\"),\n }\n }\n title={\n <div className=\"flex items-center gap-x-2\">\n {t(\"neetoApiKeys.common.apiKey\", PLURAL)}\n <HelpPopover\n description={t(\"neetoApiKeys.tooltips.apiKeysDescription\")}\n helpLinkProps={{ href: HELP_DOC_URL }}\n title={t(\"neetoApiKeys.tooltips.apiKeys\")}\n {...titleHelpPopoverProps}\n />\n </div>\n }\n {...headerProps}\n />\n <Table\n {...{\n currentPage,\n data,\n handlePageChange,\n isFetching,\n isLoading,\n noDataProps,\n setIsCreatePaneOpen,\n }}\n handleDelete={setApiKeyToBeDeleted}\n handleEdit={setApiKeyToBeEdited}\n />\n <Alert\n isOpen={isNotEmpty(apiKeyToBeDeleted)}\n isSubmitting={isDeleting}\n submitButtonLabel={t(\"neetoApiKeys.buttons.delete\")}\n title={t(\"neetoApiKeys.alert.titles.deleteApiKey\")}\n message={\n <Trans\n components={{ bold: <strong /> }}\n i18nKey=\"neetoApiKeys.alert.descriptions.deleteApiKey\"\n values={{ name: apiKeyToBeDeleted.label }}\n />\n }\n onClose={() => setApiKeyToBeDeleted({})}\n onSubmit={() => deleteApiKey(apiKeyToBeDeleted.id)}\n />\n <Create\n isOpen={isCreatePaneOpen}\n onClose={() => setIsCreatePaneOpen(false)}\n />\n <Update\n apiKey={apiKeyToBeEdited}\n onClose={() => setApiKeyToBeEdited({})}\n />\n </div>\n );\n};\nexport default withTitle(ApiKeys, t(\"neetoApiKeys.common.apiKey\", PLURAL));\n"],"names":["toPrimitive","toPropertyKey","arrayLikeToArray","arrayWithHoles","iterableToArrayLimit","unsupportedIterableToArray","nonIterableRest","getPageFromSearchParams","_getQueryParams","getQueryParams","page","parseInt","DEFAULT_PAGE_INDEX","setPageSearchParam","_ref","history","searchParams","buildUrl","push","search","usePagination","searchTerm","_useState","useState","_useState2","_slicedToArray","currentPage","setCurrentPage","useHistory","useEffect","handlePageChange","isNotEmpty","onFetchSuccess","_ref2","totalCount","apiKeys","isEmpty","API_KEYS_BASE_URL","HELP_DOC_URL","concat","globalProps","appName","toLowerCase","fetch","params","axios","get","create","payload","post","apiKey","update","id","put","destroy","apiKeysApi","QUERY_KEYS","API_KEYS","useFetchApiKeys","_ref$options","options","useQuery","_objectSpread","queryKey","queryFn","useCreateApiKey","onSuccess","useMutationWithInvalidation","keysToInvalidate","useUpdateApiKey","useDeleteApiKey","INITIAL_VALUES","expiresAt","label","hasNoExpiry","NEXT_DAY","dayjs","add","startOf","VALIDATION_SCHEMA","yup","object","date","when","field","nullable","required","t","entity","min","dateFormat","string","MENU_ITEMS","EDIT","DELETE","isInPast","isBefore","partlyHideToken","key","slice","padStart","formatExpiry","diff","fromNow","getMenuItems","onEdit","onDelete","onClick","buildColumnData","handleDelete","handleEdit","title","dataIndex","width","render","_jsxs","className","children","_jsx","Typography","style","MoreDropdown","dropdownProps","strategy","menuItems","token","CopyToClipboardButton","value","_","_ref3","isPresent","Tag","createdAt","dateTime","getStartOfTime","time","unit","DatePicker","defaultValue","disabledDate","placeholder","name","_ref$disabled","disabled","Field","_globalProps","meta","setFieldValue","form","NeetoUIDatePicker","allowClear","error","touched","format","user","getPopupContainer","prop","onChange","Form","withT","_ref$initialValues","initialValues","isSubmitting","onClose","onSubmit","initialFocusRef","NeetoUIForm","formikProps","validationSchema","_ref2$values","values","_ref2$values2","_Fragment","Pane","Body","Input","autoFocus","ref","Checkbox","checked","Footer","ActionBlock","cancelButtonProps","Create","isOpen","useRef","_useCreateApiKey","createApiKey","mutate","isCreating","isPending","_useTranslation","useTranslation","Header","HelpPopover","description","helpLinkProps","href","Update","_useUpdateApiKey","updateApiKey","isUpdating","handleUpdate","isNotPresent","Table","setIsCreatePaneOpen","_ref$noDataProps","noDataProps","data","isLoading","isFetching","PageLoader","NoData","helpText","Trans","i18nKey","components","helpLink","Button","target","primaryButtonProps","TableWrapper","hasPagination","DEFAULT_PAGE_SIZE","NeetoUITable","fixedHeight","columnData","currentPageNumber","defaultPageSize","loading","rowData","ApiKeys","headerProps","titleHelpPopoverProps","apiKeyToBeDeleted","setApiKeyToBeDeleted","_useState3","_useState4","apiKeyToBeEdited","setApiKeyToBeEdited","_useState5","_useState6","isCreatePaneOpen","_useQueryParams","useQueryParams","_useQueryParams$searc","_useDeleteApiKey","deleteApiKey","isDeleting","debouncedSearchTerm","useDebounce","_usePagination","queryParams","pageSize","_useFetchApiKeys","showFilters","actionBlock","searchProps","PLURAL","Alert","submitButtonLabel","message","bold","withTitle"],"mappings":"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"}