@bigbinary/neeto-api-keys-frontend 3.0.0 → 3.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.
@@ -6,7 +6,9 @@
6
6
  "never": "Never",
7
7
  "general": "General",
8
8
  "zapier": "Zapier",
9
- "type": "Type"
9
+ "type": "Type",
10
+ "apiKeyCount_one": "{{count}} API key",
11
+ "apiKeyCount_other": "{{count}} API keys"
10
12
  },
11
13
  "headers": {
12
14
  "createApiKey": "Add new API key",
@@ -0,0 +1,74 @@
1
+ {
2
+ "neetoApiKeys": {
3
+ "common": {
4
+ "apiKey_one": "מפתח API",
5
+ "apiKey_other": "מפתחות API",
6
+ "never": "מעולם",
7
+ "general": "כללי",
8
+ "zapier": "זאפייר",
9
+ "type": "סוג"
10
+ },
11
+ "headers": {
12
+ "createApiKey": "הוסף מפתח API חדש",
13
+ "updateApiKey": "ערוך מפתח API"
14
+ },
15
+ "noData": {
16
+ "title": "אין מפתחות API להציג.",
17
+ "helpText": "הנה איך אתה יכול <helpLink>ליצור מפתח API</helpLink>."
18
+ },
19
+ "alert": {
20
+ "titles": {
21
+ "deleteApiKey": "למחוק מפתח API?"
22
+ },
23
+ "descriptions": {
24
+ "deleteApiKey": "אתה מוחק לצמיתות את מפתח ה-API בשם <strong>{{name}}</strong>. זה לא ניתן לביטול.",
25
+ "deleteZapierApiKey": "אתה מוחק לצמיתות את מפתח ה-API <strong>{{name}}</strong>. כל הזאפים שקשורים למפתח API זה יכבו. זה לא ניתן לביטול."
26
+ }
27
+ },
28
+ "buttons": {
29
+ "delete": "מחק",
30
+ "addApiKey": "הוסף מפתח API",
31
+ "edit": "ערוך",
32
+ "submit": "שלח",
33
+ "cancel": "בטל",
34
+ "saveChanges": "שמור שינויים"
35
+ },
36
+ "placeholders": {
37
+ "search": "חפש מפתחות API",
38
+ "selectExpiryDate": "בחר תאריך תפוגה",
39
+ "label": "הוסף תווית עבור מפתח ה-API"
40
+ },
41
+ "notifications": {
42
+ "copiedToClipboard": "מפתח ה-API הועתק ללוח"
43
+ },
44
+ "tooltips": {
45
+ "apiKeys": "מפתחות API",
46
+ "apiKeysDescription": "צור מפתחות API כדי להשתמש ב-APIs ציבוריים",
47
+ "copyToClipboard": "העתק ללוח"
48
+ },
49
+ "table": {
50
+ "headers": {
51
+ "label": "תיוג",
52
+ "token": "מפתח API",
53
+ "expiresAt": "תאריך תפוגה",
54
+ "createdAt": "נוצר בתאריך",
55
+ "status": "סטטוס",
56
+ "type": "סוג"
57
+ }
58
+ },
59
+ "fields": {
60
+ "label": "תיוג",
61
+ "expiryDate": "תאריך תפוגה",
62
+ "neverExpire": "לא פג תוקף"
63
+ },
64
+ "validations": {
65
+ "expiry": "$t(neetoApiKeys.fields.expiryDate) צריך להיות לפחות {{date}}",
66
+ "required": "{{entity}} הוא נדרש",
67
+ "maxLength": "{{entity}} יכול להיות עד {{max}} תווים"
68
+ },
69
+ "tags": {
70
+ "expired": "פג תוקף",
71
+ "active": "פעיל"
72
+ }
73
+ }
74
+ }
package/dist/ApiKeys.js CHANGED
@@ -6,9 +6,12 @@ import { truncate, isPresent, humanize, isNotPresent, isNotEmpty } from '@bigbin
6
6
  import { DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE, PLURAL } from '@bigbinary/neeto-commons-frontend/constants';
7
7
  import { useUpdateEffect, useMutationWithInvalidation, withT, withTitle, useQueryParams, useDebounce } from '@bigbinary/neeto-commons-frontend/react-utils';
8
8
  import { getQueryParams, buildUrl, dayjs, dateFormat } from '@bigbinary/neeto-commons-frontend/utils';
9
+ import FilterBar from '@bigbinary/neeto-filters-frontend/Bar';
9
10
  import Header from '@bigbinary/neeto-molecules/Header';
11
+ import SubHeader from '@bigbinary/neeto-molecules/SubHeader';
10
12
  import Alert from '@bigbinary/neetoui/Alert';
11
13
  import Button from '@bigbinary/neetoui/Button';
14
+ import Typography from '@bigbinary/neetoui/Typography';
12
15
  import { useTranslation, Trans } from 'react-i18next';
13
16
  import { mergeLeft, prop } from 'ramda';
14
17
  import { useHistory } from 'react-router-dom';
@@ -18,7 +21,6 @@ import axios from 'axios';
18
21
  import * as yup from 'yup';
19
22
  import HelpPopover from '@bigbinary/neeto-molecules/HelpPopover';
20
23
  import Pane from '@bigbinary/neetoui/Pane';
21
- import Typography from '@bigbinary/neetoui/Typography';
22
24
  import NeetoUIForm from '@bigbinary/neetoui/formik/Form';
23
25
  import Input from '@bigbinary/neetoui/formik/Input';
24
26
  import Radio from '@bigbinary/neetoui/formik/Radio';
@@ -676,7 +678,22 @@ var ApiKeys = function ApiKeys(_ref) {
676
678
  },
677
679
  title: t("neetoApiKeys.tooltips.apiKeys")
678
680
  }, titleHelpPopoverProps)
679
- }, headerProps)), /*#__PURE__*/jsx(Table, {
681
+ }, headerProps)), /*#__PURE__*/jsx(SubHeader, {
682
+ leftActionBlock: /*#__PURE__*/jsxs(Fragment, {
683
+ children: [/*#__PURE__*/jsx(Typography, {
684
+ component: "h4",
685
+ children: t("neetoApiKeys.common.apiKeyCount", {
686
+ count: (data === null || data === void 0 ? void 0 : data.totalCount) || 0
687
+ })
688
+ }), /*#__PURE__*/jsx(FilterBar, {
689
+ className: "ml-4 mb-0",
690
+ keyword: {
691
+ key: "search_term",
692
+ node: "label"
693
+ }
694
+ })]
695
+ })
696
+ }), /*#__PURE__*/jsx(Table, {
680
697
  currentPage: currentPage,
681
698
  data: data,
682
699
  helpDocUrl: helpDocUrl,
@@ -1 +1 @@
1
- {"version":3,"file":"ApiKeys.js","sources":["../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":["import { DEFAULT_PAGE_INDEX } from \"neetocommons/constants\";\nimport { getQueryParams } from \"neetocommons/utils\";\n\nexport const getPageFromSearchParams = () => {\n const { page } = getQueryParams();\n\n return parseInt(page) || DEFAULT_PAGE_INDEX;\n};\n","import { DEFAULT_PAGE_INDEX } from \"neetocommons/constants\";\nimport { useUpdateEffect } from \"neetocommons/react-utils\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { mergeLeft } from \"ramda\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { getPageFromSearchParams } from \"utils/pagination\";\n\nconst usePagination = ({ searchTerm }) => {\n const history = useHistory();\n const currentPage = getPageFromSearchParams();\n\n // Reset page number to 1 when search term is updated.\n useUpdateEffect(() => {\n resetToFirstPage();\n }, [searchTerm]);\n\n const resetToFirstPage = (options = {}) => {\n if (currentPage !== DEFAULT_PAGE_INDEX) {\n history.push(\n buildUrl(\"\", mergeLeft({ page: DEFAULT_PAGE_INDEX }, options))\n );\n }\n };\n\n return { currentPage, resetToFirstPage };\n};\n\nexport default usePagination;\n","import { globalProps } from \"neetocommons/initializers\";\n\nexport const API_KEYS_BASE_URL = \"/neeto_api_keys/api/v1/api_keys\";\n// eslint-disable-next-line @bigbinary/neeto/standardize-help-urls\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, params }) =>\n axios.delete(`${API_KEYS_BASE_URL}/${id}`, { params });\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 { t } from \"i18next\";\nimport { dayjs, dateFormat } from \"neetocommons/utils\";\nimport * as yup from \"yup\";\n\nexport const API_KEY_TYPES = { GENERAL: \"general\", ZAPIER: \"zapier\" };\n\nexport const LABEL_MAX_LENGTH = 150;\n\nexport const INITIAL_VALUES = {\n expiresAt: null,\n label: \"\",\n hasNoExpiry: true,\n type: API_KEY_TYPES.GENERAL,\n};\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\n .string()\n .required(\n t(\"neetoApiKeys.validations.required\", {\n entity: t(\"neetoApiKeys.fields.label\"),\n })\n )\n .max(\n LABEL_MAX_LENGTH,\n t(\"neetoApiKeys.validations.maxLength\", {\n entity: t(\"neetoApiKeys.fields.label\"),\n max: LABEL_MAX_LENGTH,\n })\n ),\n});\n\nexport const MENU_ITEMS = { EDIT: \"edit\", DELETE: \"delete\" };\n","import { t } from \"i18next\";\nimport { isPresent, humanize, truncate } from \"neetocist\";\nimport { dayjs, dateFormat } from \"neetocommons/utils\";\nimport CopyToClipboardButton from \"neetomolecules/CopyToClipboardButton\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport { Tag, Typography } from \"neetoui\";\n\nimport { MENU_ITEMS, API_KEY_TYPES } 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, isEditVisible }) => [\n {\n key: MENU_ITEMS.EDIT,\n label: t(\"neetoApiKeys.buttons.edit\"),\n isVisible: isEditVisible,\n \"data-cy\": \"api-key-edit-button\",\n onClick: onEdit,\n },\n {\n key: MENU_ITEMS.DELETE,\n label: t(\"neetoApiKeys.buttons.delete\"),\n \"data-cy\": \"api-key-delete-button\",\n onClick: onDelete,\n },\n];\n\nexport const buildColumnData = ({\n handleDelete,\n handleEdit,\n isZapierAvailable,\n}) => {\n const columns = [\n {\n title: t(\"neetoApiKeys.table.headers.label\"),\n key: \"label\",\n dataIndex: \"label\",\n width: 200,\n render: (label, apiKey) => (\n <div className=\"flex items-center justify-between gap-x-3\">\n <Typography\n data-cy=\"api-keys-label-field\"\n style=\"body2\"\n title={label}\n >\n {truncate(label, 100)}\n </Typography>\n <MoreDropdown\n dropdownButtonProps={{ className: \"mr-1 my-1\" }}\n dropdownProps={{ strategy: \"fixed\", appendTo: () => document.body }}\n menuItems={getMenuItems({\n onEdit: () => handleEdit(apiKey),\n onDelete: () => handleDelete(apiKey),\n isEditVisible: apiKey.type === API_KEY_TYPES.GENERAL,\n })}\n />\n </div>\n ),\n },\n {\n title: t(\"neetoApiKeys.table.headers.token\"),\n key: \"token\",\n dataIndex: \"token\",\n width: 300,\n render: token => (\n <div className=\"flex items-center justify-between gap-x-3\">\n <Typography data-cy=\"api-keys-token-field\" style=\"body2\">\n {partlyHideToken(token)}\n </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: 150,\n render: expiresAt => (\n <span data-cy=\"api-keys-expires-at-field\">\n {isPresent(expiresAt) ? (\n formatExpiry(expiresAt)\n ) : (\n <Typography style=\"body2\">\n {t(\"neetoApiKeys.common.never\")}\n </Typography>\n )}\n </span>\n ),\n },\n {\n title: t(\"neetoApiKeys.table.headers.createdAt\"),\n key: \"createdAt\",\n dataIndex: \"createdAt\",\n width: 200,\n render: createdAt => (\n <span data-cy=\"api-keys-created-at-field\">\n {isPresent(createdAt) ? (\n dateFormat.dateTime(createdAt)\n ) : (\n <Typography style=\"body2\">\n {t(\"neetoApiKeys.common.never\")}\n </Typography>\n )}\n </span>\n ),\n },\n ];\n\n if (isZapierAvailable) {\n columns.splice(2, 0, {\n title: t(\"neetoApiKeys.table.headers.type\"),\n key: \"type\",\n dataIndex: \"type\",\n width: 144,\n render: type => <Typography style=\"body2\">{humanize(type)}</Typography>,\n });\n }\n\n return columns;\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 required\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 Radio,\n Checkbox,\n ActionBlock,\n} from \"neetoui/formik\";\n\nimport DatePicker from \"./DatePicker\";\n\nimport {\n VALIDATION_SCHEMA,\n INITIAL_VALUES,\n NEXT_DAY,\n API_KEY_TYPES,\n} from \"../constants\";\n\nconst Form = withT(\n ({\n t,\n initialValues = INITIAL_VALUES,\n isSubmitting,\n onClose,\n onSubmit,\n initialFocusRef,\n isEdit = false,\n isZapierAvailable = false,\n }) => (\n <NeetoUIForm\n formikProps={{\n validationSchema: VALIDATION_SCHEMA,\n initialValues,\n onSubmit,\n }}\n >\n {({ setFieldValue, values: { hasNoExpiry, expiresAt, type } = {} }) => (\n <>\n <Pane.Body>\n <div className=\"w-full space-y-4\">\n <Input\n autoFocus\n required\n label={t(\"neetoApiKeys.fields.label\")}\n name=\"label\"\n placeholder={t(\"neetoApiKeys.placeholders.label\")}\n ref={initialFocusRef}\n />\n <div className=\"space-y-4\">\n {!isEdit && isZapierAvailable && (\n <Radio label={t(\"neetoApiKeys.common.type\")} name=\"type\">\n <Radio.Item\n label={t(\"neetoApiKeys.common.general\")}\n name=\"type\"\n value={API_KEY_TYPES.GENERAL}\n />\n <Radio.Item\n label={t(\"neetoApiKeys.common.zapier\")}\n name=\"type\"\n value={API_KEY_TYPES.ZAPIER}\n />\n </Radio>\n )}\n {type === API_KEY_TYPES.GENERAL && (\n <>\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 </>\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\";\n\nimport Form from \"../Form\";\n\nconst Create = ({ onClose, helpDocUrl, isOpen, isZapierAvailable = false }) => {\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: helpDocUrl }}\n title={t(\"neetoApiKeys.tooltips.apiKeys\")}\n />\n </Typography>\n </Pane.Header>\n <Form\n {...{ initialFocusRef, isZapierAvailable, 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\";\n\nimport Form from \"../Form\";\n\nconst Update = ({ onClose, apiKey, helpDocUrl }) => {\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: helpDocUrl }}\n title={t(\"neetoApiKeys.tooltips.apiKeys\")}\n />\n </Typography>\n </Pane.Header>\n <Form\n {...{ initialFocusRef, initialValues, onClose }}\n isEdit\n isSubmitting={isUpdating}\n onSubmit={handleUpdate}\n />\n </Pane>\n );\n};\n\nexport default Update;\n","import { isNotPresent } from \"neetocist\";\nimport { DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport TableWrapper from \"neetomolecules/TableWrapper\";\nimport { Button, Table as NeetoUITable, NoData, Spinner } from \"neetoui\";\nimport { Trans, useTranslation } from \"react-i18next\";\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 isZapierAvailable,\n helpDocUrl,\n}) => {\n const { t } = useTranslation();\n\n if (isLoading) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n if (isNotPresent(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={helpDocUrl} 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 </div>\n );\n }\n\n return (\n <TableWrapper hasPagination={data?.totalCount > DEFAULT_PAGE_SIZE}>\n <NeetoUITable\n fixedHeight\n currentPageNumber={currentPage}\n defaultPageSize={DEFAULT_PAGE_SIZE}\n loading={isFetching}\n rowData={data?.apiKeys}\n totalCount={data?.totalCount}\n columnData={buildColumnData({\n handleDelete,\n handleEdit,\n isZapierAvailable,\n })}\n />\n </TableWrapper>\n );\n};\n\nexport default Table;\n","import { useEffect, useState } from \"react\";\n\nimport { t } from \"i18next\";\nimport { isPresent, isNotEmpty, isNotPresent } from \"neetocist\";\nimport { DEFAULT_PAGE_SIZE, PLURAL } from \"neetocommons/constants\";\nimport {\n useDebounce,\n useQueryParams,\n withTitle,\n} from \"neetocommons/react-utils\";\nimport { getQueryParams } from \"neetocommons/utils\";\nimport Header from \"neetomolecules/Header\";\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 { API_KEY_TYPES } from \"./constants\";\nimport Create from \"./Panes/Create\";\nimport Update from \"./Panes/Update\";\nimport Table from \"./Table\";\n\nconst ApiKeys = ({\n noDataProps,\n headerProps,\n titleHelpPopoverProps,\n helpDocUrl = HELP_DOC_URL,\n zapierIntegrableType = \"Organization\",\n}) => {\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, resetToFirstPage } = usePagination({\n searchTerm: debouncedSearchTerm,\n });\n\n const queryParams = {\n searchTerm: debouncedSearchTerm,\n page: currentPage,\n pageSize: DEFAULT_PAGE_SIZE,\n };\n\n const {\n data = { apiKeys: [] },\n isLoading,\n isFetching,\n } = useFetchApiKeys({\n params: { ...queryParams, zapierIntegrableType },\n });\n\n useEffect(() => {\n if (!!data.totalCount && isNotPresent(data.apiKeys)) {\n resetToFirstPage(getQueryParams());\n }\n }, [currentPage, isLoading]);\n\n const showFilters = isPresent(debouncedSearchTerm) || data?.totalCount > 0;\n\n const { isZapierAvailable = false } = data;\n\n return (\n <div className=\"flex h-full w-full flex-col\">\n <Header\n title={t(\"neetoApiKeys.common.apiKey\", PLURAL)}\n actionBlock={\n <Button\n data-cy=\"add-api-key-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 titleHelpPopoverProps={{\n description: t(\"neetoApiKeys.tooltips.apiKeysDescription\"),\n helpLinkProps: { href: helpDocUrl },\n title: t(\"neetoApiKeys.tooltips.apiKeys\"),\n ...titleHelpPopoverProps,\n }}\n {...headerProps}\n />\n <Table\n {...{\n currentPage,\n data,\n helpDocUrl,\n isFetching,\n isLoading,\n isZapierAvailable,\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 values={{ name: apiKeyToBeDeleted.label }}\n i18nKey={\n apiKeyToBeDeleted.type === API_KEY_TYPES.ZAPIER\n ? \"neetoApiKeys.alert.descriptions.deleteZapierApiKey\"\n : \"neetoApiKeys.alert.descriptions.deleteApiKey\"\n }\n />\n }\n onClose={() => setApiKeyToBeDeleted({})}\n onSubmit={() =>\n deleteApiKey({\n id: apiKeyToBeDeleted.id,\n params: { type: apiKeyToBeDeleted.type },\n })\n }\n />\n <Create\n {...{ helpDocUrl, isZapierAvailable }}\n isOpen={isCreatePaneOpen}\n onClose={() => setIsCreatePaneOpen(false)}\n />\n <Update\n {...{ helpDocUrl }}\n apiKey={apiKeyToBeEdited}\n onClose={() => setApiKeyToBeEdited({})}\n />\n </div>\n );\n};\nexport default withTitle(ApiKeys, t(\"neetoApiKeys.common.apiKey\", PLURAL));\n"],"names":["getPageFromSearchParams","_getQueryParams","getQueryParams","page","parseInt","DEFAULT_PAGE_INDEX","usePagination","_ref","searchTerm","history","useHistory","currentPage","useUpdateEffect","resetToFirstPage","options","arguments","length","undefined","push","buildUrl","mergeLeft","API_KEYS_BASE_URL","HELP_DOC_URL","concat","globalProps","appName","toLowerCase","fetch","params","axios","get","create","payload","post","apiKey","update","id","put","destroy","_ref2","apiKeysApi","QUERY_KEYS","API_KEYS","useFetchApiKeys","_ref$options","useQuery","_objectSpread","queryKey","queryFn","useCreateApiKey","onSuccess","useMutationWithInvalidation","keysToInvalidate","useUpdateApiKey","useDeleteApiKey","API_KEY_TYPES","GENERAL","ZAPIER","LABEL_MAX_LENGTH","INITIAL_VALUES","expiresAt","label","hasNoExpiry","type","NEXT_DAY","dayjs","add","startOf","VALIDATION_SCHEMA","yup","object","date","when","field","nullable","required","t","entity","min","dateFormat","string","max","MENU_ITEMS","EDIT","DELETE","isInPast","isBefore","partlyHideToken","key","slice","padStart","formatExpiry","diff","fromNow","getMenuItems","onEdit","onDelete","isEditVisible","isVisible","onClick","buildColumnData","handleDelete","handleEdit","isZapierAvailable","columns","title","dataIndex","width","render","_jsxs","className","children","_jsx","Typography","style","truncate","MoreDropdown","dropdownButtonProps","dropdownProps","strategy","appendTo","document","body","menuItems","token","CopyToClipboardButton","value","_","_ref3","isPresent","Tag","createdAt","dateTime","splice","humanize","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","_ref$isEdit","isEdit","_ref$isZapierAvailabl","NeetoUIForm","formikProps","validationSchema","_ref2$values","values","_ref2$values2","_Fragment","Pane","Body","Input","autoFocus","ref","Radio","Item","Checkbox","checked","Footer","ActionBlock","cancelButtonProps","Create","helpDocUrl","isOpen","useRef","_useCreateApiKey","createApiKey","mutate","isCreating","isPending","_useTranslation","useTranslation","Header","HelpPopover","description","helpLinkProps","href","Update","_useUpdateApiKey","updateApiKey","isUpdating","handleUpdate","isNotPresent","isNotEmpty","Table","setIsCreatePaneOpen","_ref$noDataProps","noDataProps","data","isLoading","isFetching","Spinner","apiKeys","NoData","helpText","Trans","i18nKey","components","helpLink","Button","target","primaryButtonProps","TableWrapper","hasPagination","totalCount","DEFAULT_PAGE_SIZE","NeetoUITable","fixedHeight","currentPageNumber","defaultPageSize","loading","rowData","columnData","ApiKeys","headerProps","titleHelpPopoverProps","_ref$helpDocUrl","_ref$zapierIntegrable","zapierIntegrableType","_useState","useState","_useState2","_slicedToArray","apiKeyToBeDeleted","setApiKeyToBeDeleted","_useState3","_useState4","apiKeyToBeEdited","setApiKeyToBeEdited","_useState5","_useState6","isCreatePaneOpen","_useQueryParams","useQueryParams","_useQueryParams$searc","_useDeleteApiKey","deleteApiKey","isDeleting","debouncedSearchTerm","useDebounce","_usePagination","queryParams","pageSize","_useFetchApiKeys","_useFetchApiKeys$data","useEffect","showFilters","_data$isZapierAvailab","PLURAL","actionBlock","searchProps","Alert","submitButtonLabel","message","bold","withTitle"],"mappings":"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"}
1
+ {"version":3,"file":"ApiKeys.js","sources":["../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":["import { DEFAULT_PAGE_INDEX } from \"neetocommons/constants\";\nimport { getQueryParams } from \"neetocommons/utils\";\n\nexport const getPageFromSearchParams = () => {\n const { page } = getQueryParams();\n\n return parseInt(page) || DEFAULT_PAGE_INDEX;\n};\n","import { DEFAULT_PAGE_INDEX } from \"neetocommons/constants\";\nimport { useUpdateEffect } from \"neetocommons/react-utils\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { mergeLeft } from \"ramda\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { getPageFromSearchParams } from \"utils/pagination\";\n\nconst usePagination = ({ searchTerm }) => {\n const history = useHistory();\n const currentPage = getPageFromSearchParams();\n\n // Reset page number to 1 when search term is updated.\n useUpdateEffect(() => {\n resetToFirstPage();\n }, [searchTerm]);\n\n const resetToFirstPage = (options = {}) => {\n if (currentPage !== DEFAULT_PAGE_INDEX) {\n history.push(\n buildUrl(\"\", mergeLeft({ page: DEFAULT_PAGE_INDEX }, options))\n );\n }\n };\n\n return { currentPage, resetToFirstPage };\n};\n\nexport default usePagination;\n","import { globalProps } from \"neetocommons/initializers\";\n\nexport const API_KEYS_BASE_URL = \"/neeto_api_keys/api/v1/api_keys\";\n// eslint-disable-next-line @bigbinary/neeto/standardize-help-urls\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, params }) =>\n axios.delete(`${API_KEYS_BASE_URL}/${id}`, { params });\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 { t } from \"i18next\";\nimport { dayjs, dateFormat } from \"neetocommons/utils\";\nimport * as yup from \"yup\";\n\nexport const API_KEY_TYPES = { GENERAL: \"general\", ZAPIER: \"zapier\" };\n\nexport const LABEL_MAX_LENGTH = 150;\n\nexport const INITIAL_VALUES = {\n expiresAt: null,\n label: \"\",\n hasNoExpiry: true,\n type: API_KEY_TYPES.GENERAL,\n};\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\n .string()\n .required(\n t(\"neetoApiKeys.validations.required\", {\n entity: t(\"neetoApiKeys.fields.label\"),\n })\n )\n .max(\n LABEL_MAX_LENGTH,\n t(\"neetoApiKeys.validations.maxLength\", {\n entity: t(\"neetoApiKeys.fields.label\"),\n max: LABEL_MAX_LENGTH,\n })\n ),\n});\n\nexport const MENU_ITEMS = { EDIT: \"edit\", DELETE: \"delete\" };\n","import { t } from \"i18next\";\nimport { isPresent, humanize, truncate } from \"neetocist\";\nimport { dayjs, dateFormat } from \"neetocommons/utils\";\nimport CopyToClipboardButton from \"neetomolecules/CopyToClipboardButton\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport { Tag, Typography } from \"neetoui\";\n\nimport { MENU_ITEMS, API_KEY_TYPES } 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, isEditVisible }) => [\n {\n key: MENU_ITEMS.EDIT,\n label: t(\"neetoApiKeys.buttons.edit\"),\n isVisible: isEditVisible,\n \"data-cy\": \"api-key-edit-button\",\n onClick: onEdit,\n },\n {\n key: MENU_ITEMS.DELETE,\n label: t(\"neetoApiKeys.buttons.delete\"),\n \"data-cy\": \"api-key-delete-button\",\n onClick: onDelete,\n },\n];\n\nexport const buildColumnData = ({\n handleDelete,\n handleEdit,\n isZapierAvailable,\n}) => {\n const columns = [\n {\n title: t(\"neetoApiKeys.table.headers.label\"),\n key: \"label\",\n dataIndex: \"label\",\n width: 200,\n render: (label, apiKey) => (\n <div className=\"flex items-center justify-between gap-x-3\">\n <Typography\n data-cy=\"api-keys-label-field\"\n style=\"body2\"\n title={label}\n >\n {truncate(label, 100)}\n </Typography>\n <MoreDropdown\n dropdownButtonProps={{ className: \"mr-1 my-1\" }}\n dropdownProps={{ strategy: \"fixed\", appendTo: () => document.body }}\n menuItems={getMenuItems({\n onEdit: () => handleEdit(apiKey),\n onDelete: () => handleDelete(apiKey),\n isEditVisible: apiKey.type === API_KEY_TYPES.GENERAL,\n })}\n />\n </div>\n ),\n },\n {\n title: t(\"neetoApiKeys.table.headers.token\"),\n key: \"token\",\n dataIndex: \"token\",\n width: 300,\n render: token => (\n <div className=\"flex items-center justify-between gap-x-3\">\n <Typography data-cy=\"api-keys-token-field\" style=\"body2\">\n {partlyHideToken(token)}\n </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: 150,\n render: expiresAt => (\n <span data-cy=\"api-keys-expires-at-field\">\n {isPresent(expiresAt) ? (\n formatExpiry(expiresAt)\n ) : (\n <Typography style=\"body2\">\n {t(\"neetoApiKeys.common.never\")}\n </Typography>\n )}\n </span>\n ),\n },\n {\n title: t(\"neetoApiKeys.table.headers.createdAt\"),\n key: \"createdAt\",\n dataIndex: \"createdAt\",\n width: 200,\n render: createdAt => (\n <span data-cy=\"api-keys-created-at-field\">\n {isPresent(createdAt) ? (\n dateFormat.dateTime(createdAt)\n ) : (\n <Typography style=\"body2\">\n {t(\"neetoApiKeys.common.never\")}\n </Typography>\n )}\n </span>\n ),\n },\n ];\n\n if (isZapierAvailable) {\n columns.splice(2, 0, {\n title: t(\"neetoApiKeys.table.headers.type\"),\n key: \"type\",\n dataIndex: \"type\",\n width: 144,\n render: type => <Typography style=\"body2\">{humanize(type)}</Typography>,\n });\n }\n\n return columns;\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 required\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 Radio,\n Checkbox,\n ActionBlock,\n} from \"neetoui/formik\";\n\nimport DatePicker from \"./DatePicker\";\n\nimport {\n VALIDATION_SCHEMA,\n INITIAL_VALUES,\n NEXT_DAY,\n API_KEY_TYPES,\n} from \"../constants\";\n\nconst Form = withT(\n ({\n t,\n initialValues = INITIAL_VALUES,\n isSubmitting,\n onClose,\n onSubmit,\n initialFocusRef,\n isEdit = false,\n isZapierAvailable = false,\n }) => (\n <NeetoUIForm\n formikProps={{\n validationSchema: VALIDATION_SCHEMA,\n initialValues,\n onSubmit,\n }}\n >\n {({ setFieldValue, values: { hasNoExpiry, expiresAt, type } = {} }) => (\n <>\n <Pane.Body>\n <div className=\"w-full space-y-4\">\n <Input\n autoFocus\n required\n label={t(\"neetoApiKeys.fields.label\")}\n name=\"label\"\n placeholder={t(\"neetoApiKeys.placeholders.label\")}\n ref={initialFocusRef}\n />\n <div className=\"space-y-4\">\n {!isEdit && isZapierAvailable && (\n <Radio label={t(\"neetoApiKeys.common.type\")} name=\"type\">\n <Radio.Item\n label={t(\"neetoApiKeys.common.general\")}\n name=\"type\"\n value={API_KEY_TYPES.GENERAL}\n />\n <Radio.Item\n label={t(\"neetoApiKeys.common.zapier\")}\n name=\"type\"\n value={API_KEY_TYPES.ZAPIER}\n />\n </Radio>\n )}\n {type === API_KEY_TYPES.GENERAL && (\n <>\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 </>\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\";\n\nimport Form from \"../Form\";\n\nconst Create = ({ onClose, helpDocUrl, isOpen, isZapierAvailable = false }) => {\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: helpDocUrl }}\n title={t(\"neetoApiKeys.tooltips.apiKeys\")}\n />\n </Typography>\n </Pane.Header>\n <Form\n {...{ initialFocusRef, isZapierAvailable, 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\";\n\nimport Form from \"../Form\";\n\nconst Update = ({ onClose, apiKey, helpDocUrl }) => {\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: helpDocUrl }}\n title={t(\"neetoApiKeys.tooltips.apiKeys\")}\n />\n </Typography>\n </Pane.Header>\n <Form\n {...{ initialFocusRef, initialValues, onClose }}\n isEdit\n isSubmitting={isUpdating}\n onSubmit={handleUpdate}\n />\n </Pane>\n );\n};\n\nexport default Update;\n","import { isNotPresent } from \"neetocist\";\nimport { DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport TableWrapper from \"neetomolecules/TableWrapper\";\nimport { Button, Table as NeetoUITable, NoData, Spinner } from \"neetoui\";\nimport { Trans, useTranslation } from \"react-i18next\";\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 isZapierAvailable,\n helpDocUrl,\n}) => {\n const { t } = useTranslation();\n\n if (isLoading) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n if (isNotPresent(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={helpDocUrl} 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 </div>\n );\n }\n\n return (\n <TableWrapper hasPagination={data?.totalCount > DEFAULT_PAGE_SIZE}>\n <NeetoUITable\n fixedHeight\n currentPageNumber={currentPage}\n defaultPageSize={DEFAULT_PAGE_SIZE}\n loading={isFetching}\n rowData={data?.apiKeys}\n totalCount={data?.totalCount}\n columnData={buildColumnData({\n handleDelete,\n handleEdit,\n isZapierAvailable,\n })}\n />\n </TableWrapper>\n );\n};\n\nexport default Table;\n","import { useEffect, useState } from \"react\";\n\nimport { t } from \"i18next\";\nimport { isPresent, isNotEmpty, isNotPresent } from \"neetocist\";\nimport { DEFAULT_PAGE_SIZE, PLURAL } from \"neetocommons/constants\";\nimport {\n useDebounce,\n useQueryParams,\n withTitle,\n} from \"neetocommons/react-utils\";\nimport { getQueryParams } from \"neetocommons/utils\";\nimport { Bar as FilterBar } from \"neetofilters\";\nimport Header from \"neetomolecules/Header\";\nimport SubHeader from \"neetomolecules/SubHeader\";\nimport { Alert, Button, Typography } 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 { API_KEY_TYPES } from \"./constants\";\nimport Create from \"./Panes/Create\";\nimport Update from \"./Panes/Update\";\nimport Table from \"./Table\";\n\nconst ApiKeys = ({\n noDataProps,\n headerProps,\n titleHelpPopoverProps,\n helpDocUrl = HELP_DOC_URL,\n zapierIntegrableType = \"Organization\",\n}) => {\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, resetToFirstPage } = usePagination({\n searchTerm: debouncedSearchTerm,\n });\n\n const queryParams = {\n searchTerm: debouncedSearchTerm,\n page: currentPage,\n pageSize: DEFAULT_PAGE_SIZE,\n };\n\n const {\n data = { apiKeys: [] },\n isLoading,\n isFetching,\n } = useFetchApiKeys({\n params: { ...queryParams, zapierIntegrableType },\n });\n\n useEffect(() => {\n if (!!data.totalCount && isNotPresent(data.apiKeys)) {\n resetToFirstPage(getQueryParams());\n }\n }, [currentPage, isLoading]);\n\n const showFilters = isPresent(debouncedSearchTerm) || data?.totalCount > 0;\n\n const { isZapierAvailable = false } = data;\n\n return (\n <div className=\"flex h-full w-full flex-col\">\n <Header\n title={t(\"neetoApiKeys.common.apiKey\", PLURAL)}\n actionBlock={\n <Button\n data-cy=\"add-api-key-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 titleHelpPopoverProps={{\n description: t(\"neetoApiKeys.tooltips.apiKeysDescription\"),\n helpLinkProps: { href: helpDocUrl },\n title: t(\"neetoApiKeys.tooltips.apiKeys\"),\n ...titleHelpPopoverProps,\n }}\n {...headerProps}\n />\n <SubHeader\n leftActionBlock={\n <>\n <Typography component=\"h4\">\n {t(\"neetoApiKeys.common.apiKeyCount\", {\n count: data?.totalCount || 0,\n })}\n </Typography>\n <FilterBar\n className=\"ml-4 mb-0\"\n keyword={{ key: \"search_term\", node: \"label\" }}\n />\n </>\n }\n />\n <Table\n {...{\n currentPage,\n data,\n helpDocUrl,\n isFetching,\n isLoading,\n isZapierAvailable,\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 values={{ name: apiKeyToBeDeleted.label }}\n i18nKey={\n apiKeyToBeDeleted.type === API_KEY_TYPES.ZAPIER\n ? \"neetoApiKeys.alert.descriptions.deleteZapierApiKey\"\n : \"neetoApiKeys.alert.descriptions.deleteApiKey\"\n }\n />\n }\n onClose={() => setApiKeyToBeDeleted({})}\n onSubmit={() =>\n deleteApiKey({\n id: apiKeyToBeDeleted.id,\n params: { type: apiKeyToBeDeleted.type },\n })\n }\n />\n <Create\n {...{ helpDocUrl, isZapierAvailable }}\n isOpen={isCreatePaneOpen}\n onClose={() => setIsCreatePaneOpen(false)}\n />\n <Update\n {...{ helpDocUrl }}\n apiKey={apiKeyToBeEdited}\n onClose={() => setApiKeyToBeEdited({})}\n />\n </div>\n );\n};\nexport default withTitle(ApiKeys, t(\"neetoApiKeys.common.apiKey\", PLURAL));\n"],"names":["getPageFromSearchParams","_getQueryParams","getQueryParams","page","parseInt","DEFAULT_PAGE_INDEX","usePagination","_ref","searchTerm","history","useHistory","currentPage","useUpdateEffect","resetToFirstPage","options","arguments","length","undefined","push","buildUrl","mergeLeft","API_KEYS_BASE_URL","HELP_DOC_URL","concat","globalProps","appName","toLowerCase","fetch","params","axios","get","create","payload","post","apiKey","update","id","put","destroy","_ref2","apiKeysApi","QUERY_KEYS","API_KEYS","useFetchApiKeys","_ref$options","useQuery","_objectSpread","queryKey","queryFn","useCreateApiKey","onSuccess","useMutationWithInvalidation","keysToInvalidate","useUpdateApiKey","useDeleteApiKey","API_KEY_TYPES","GENERAL","ZAPIER","LABEL_MAX_LENGTH","INITIAL_VALUES","expiresAt","label","hasNoExpiry","type","NEXT_DAY","dayjs","add","startOf","VALIDATION_SCHEMA","yup","object","date","when","field","nullable","required","t","entity","min","dateFormat","string","max","MENU_ITEMS","EDIT","DELETE","isInPast","isBefore","partlyHideToken","key","slice","padStart","formatExpiry","diff","fromNow","getMenuItems","onEdit","onDelete","isEditVisible","isVisible","onClick","buildColumnData","handleDelete","handleEdit","isZapierAvailable","columns","title","dataIndex","width","render","_jsxs","className","children","_jsx","Typography","style","truncate","MoreDropdown","dropdownButtonProps","dropdownProps","strategy","appendTo","document","body","menuItems","token","CopyToClipboardButton","value","_","_ref3","isPresent","Tag","createdAt","dateTime","splice","humanize","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","_ref$isEdit","isEdit","_ref$isZapierAvailabl","NeetoUIForm","formikProps","validationSchema","_ref2$values","values","_ref2$values2","_Fragment","Pane","Body","Input","autoFocus","ref","Radio","Item","Checkbox","checked","Footer","ActionBlock","cancelButtonProps","Create","helpDocUrl","isOpen","useRef","_useCreateApiKey","createApiKey","mutate","isCreating","isPending","_useTranslation","useTranslation","Header","HelpPopover","description","helpLinkProps","href","Update","_useUpdateApiKey","updateApiKey","isUpdating","handleUpdate","isNotPresent","isNotEmpty","Table","setIsCreatePaneOpen","_ref$noDataProps","noDataProps","data","isLoading","isFetching","Spinner","apiKeys","NoData","helpText","Trans","i18nKey","components","helpLink","Button","target","primaryButtonProps","TableWrapper","hasPagination","totalCount","DEFAULT_PAGE_SIZE","NeetoUITable","fixedHeight","currentPageNumber","defaultPageSize","loading","rowData","columnData","ApiKeys","headerProps","titleHelpPopoverProps","_ref$helpDocUrl","_ref$zapierIntegrable","zapierIntegrableType","_useState","useState","_useState2","_slicedToArray","apiKeyToBeDeleted","setApiKeyToBeDeleted","_useState3","_useState4","apiKeyToBeEdited","setApiKeyToBeEdited","_useState5","_useState6","isCreatePaneOpen","_useQueryParams","useQueryParams","_useQueryParams$searc","_useDeleteApiKey","deleteApiKey","isDeleting","debouncedSearchTerm","useDebounce","_usePagination","queryParams","pageSize","_useFetchApiKeys","_useFetchApiKeys$data","useEffect","showFilters","_data$isZapierAvailab","PLURAL","actionBlock","searchProps","SubHeader","leftActionBlock","component","count","FilterBar","keyword","node","Alert","submitButtonLabel","message","bold","withTitle"],"mappings":"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"}
@@ -8,9 +8,12 @@ var neetoCist = require('@bigbinary/neeto-cist');
8
8
  var constants = require('@bigbinary/neeto-commons-frontend/constants');
9
9
  var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
10
10
  var utils = require('@bigbinary/neeto-commons-frontend/utils');
11
+ var FilterBar = require('@bigbinary/neeto-filters-frontend/Bar');
11
12
  var Header = require('@bigbinary/neeto-molecules/Header');
13
+ var SubHeader = require('@bigbinary/neeto-molecules/SubHeader');
12
14
  var Alert = require('@bigbinary/neetoui/Alert');
13
15
  var Button = require('@bigbinary/neetoui/Button');
16
+ var Typography = require('@bigbinary/neetoui/Typography');
14
17
  var reactI18next = require('react-i18next');
15
18
  var ramda = require('ramda');
16
19
  var reactRouterDom = require('react-router-dom');
@@ -20,7 +23,6 @@ var axios = require('axios');
20
23
  var yup = require('yup');
21
24
  var HelpPopover = require('@bigbinary/neeto-molecules/HelpPopover');
22
25
  var Pane = require('@bigbinary/neetoui/Pane');
23
- var Typography = require('@bigbinary/neetoui/Typography');
24
26
  var NeetoUIForm = require('@bigbinary/neetoui/formik/Form');
25
27
  var Input = require('@bigbinary/neetoui/formik/Input');
26
28
  var Radio = require('@bigbinary/neetoui/formik/Radio');
@@ -697,7 +699,22 @@ var ApiKeys = function ApiKeys(_ref) {
697
699
  },
698
700
  title: t("neetoApiKeys.tooltips.apiKeys")
699
701
  }, titleHelpPopoverProps)
700
- }, headerProps)), /*#__PURE__*/jsxRuntime.jsx(Table, {
702
+ }, headerProps)), /*#__PURE__*/jsxRuntime.jsx(SubHeader, {
703
+ leftActionBlock: /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
704
+ children: [/*#__PURE__*/jsxRuntime.jsx(Typography, {
705
+ component: "h4",
706
+ children: t("neetoApiKeys.common.apiKeyCount", {
707
+ count: (data === null || data === void 0 ? void 0 : data.totalCount) || 0
708
+ })
709
+ }), /*#__PURE__*/jsxRuntime.jsx(FilterBar, {
710
+ className: "ml-4 mb-0",
711
+ keyword: {
712
+ key: "search_term",
713
+ node: "label"
714
+ }
715
+ })]
716
+ })
717
+ }), /*#__PURE__*/jsxRuntime.jsx(Table, {
701
718
  currentPage: currentPage,
702
719
  data: data,
703
720
  helpDocUrl: helpDocUrl,
@@ -1 +1 @@
1
- {"version":3,"file":"ApiKeys.js","sources":["../../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":["import { DEFAULT_PAGE_INDEX } from \"neetocommons/constants\";\nimport { getQueryParams } from \"neetocommons/utils\";\n\nexport const getPageFromSearchParams = () => {\n const { page } = getQueryParams();\n\n return parseInt(page) || DEFAULT_PAGE_INDEX;\n};\n","import { DEFAULT_PAGE_INDEX } from \"neetocommons/constants\";\nimport { useUpdateEffect } from \"neetocommons/react-utils\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { mergeLeft } from \"ramda\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { getPageFromSearchParams } from \"utils/pagination\";\n\nconst usePagination = ({ searchTerm }) => {\n const history = useHistory();\n const currentPage = getPageFromSearchParams();\n\n // Reset page number to 1 when search term is updated.\n useUpdateEffect(() => {\n resetToFirstPage();\n }, [searchTerm]);\n\n const resetToFirstPage = (options = {}) => {\n if (currentPage !== DEFAULT_PAGE_INDEX) {\n history.push(\n buildUrl(\"\", mergeLeft({ page: DEFAULT_PAGE_INDEX }, options))\n );\n }\n };\n\n return { currentPage, resetToFirstPage };\n};\n\nexport default usePagination;\n","import { globalProps } from \"neetocommons/initializers\";\n\nexport const API_KEYS_BASE_URL = \"/neeto_api_keys/api/v1/api_keys\";\n// eslint-disable-next-line @bigbinary/neeto/standardize-help-urls\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, params }) =>\n axios.delete(`${API_KEYS_BASE_URL}/${id}`, { params });\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 { t } from \"i18next\";\nimport { dayjs, dateFormat } from \"neetocommons/utils\";\nimport * as yup from \"yup\";\n\nexport const API_KEY_TYPES = { GENERAL: \"general\", ZAPIER: \"zapier\" };\n\nexport const LABEL_MAX_LENGTH = 150;\n\nexport const INITIAL_VALUES = {\n expiresAt: null,\n label: \"\",\n hasNoExpiry: true,\n type: API_KEY_TYPES.GENERAL,\n};\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\n .string()\n .required(\n t(\"neetoApiKeys.validations.required\", {\n entity: t(\"neetoApiKeys.fields.label\"),\n })\n )\n .max(\n LABEL_MAX_LENGTH,\n t(\"neetoApiKeys.validations.maxLength\", {\n entity: t(\"neetoApiKeys.fields.label\"),\n max: LABEL_MAX_LENGTH,\n })\n ),\n});\n\nexport const MENU_ITEMS = { EDIT: \"edit\", DELETE: \"delete\" };\n","import { t } from \"i18next\";\nimport { isPresent, humanize, truncate } from \"neetocist\";\nimport { dayjs, dateFormat } from \"neetocommons/utils\";\nimport CopyToClipboardButton from \"neetomolecules/CopyToClipboardButton\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport { Tag, Typography } from \"neetoui\";\n\nimport { MENU_ITEMS, API_KEY_TYPES } 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, isEditVisible }) => [\n {\n key: MENU_ITEMS.EDIT,\n label: t(\"neetoApiKeys.buttons.edit\"),\n isVisible: isEditVisible,\n \"data-cy\": \"api-key-edit-button\",\n onClick: onEdit,\n },\n {\n key: MENU_ITEMS.DELETE,\n label: t(\"neetoApiKeys.buttons.delete\"),\n \"data-cy\": \"api-key-delete-button\",\n onClick: onDelete,\n },\n];\n\nexport const buildColumnData = ({\n handleDelete,\n handleEdit,\n isZapierAvailable,\n}) => {\n const columns = [\n {\n title: t(\"neetoApiKeys.table.headers.label\"),\n key: \"label\",\n dataIndex: \"label\",\n width: 200,\n render: (label, apiKey) => (\n <div className=\"flex items-center justify-between gap-x-3\">\n <Typography\n data-cy=\"api-keys-label-field\"\n style=\"body2\"\n title={label}\n >\n {truncate(label, 100)}\n </Typography>\n <MoreDropdown\n dropdownButtonProps={{ className: \"mr-1 my-1\" }}\n dropdownProps={{ strategy: \"fixed\", appendTo: () => document.body }}\n menuItems={getMenuItems({\n onEdit: () => handleEdit(apiKey),\n onDelete: () => handleDelete(apiKey),\n isEditVisible: apiKey.type === API_KEY_TYPES.GENERAL,\n })}\n />\n </div>\n ),\n },\n {\n title: t(\"neetoApiKeys.table.headers.token\"),\n key: \"token\",\n dataIndex: \"token\",\n width: 300,\n render: token => (\n <div className=\"flex items-center justify-between gap-x-3\">\n <Typography data-cy=\"api-keys-token-field\" style=\"body2\">\n {partlyHideToken(token)}\n </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: 150,\n render: expiresAt => (\n <span data-cy=\"api-keys-expires-at-field\">\n {isPresent(expiresAt) ? (\n formatExpiry(expiresAt)\n ) : (\n <Typography style=\"body2\">\n {t(\"neetoApiKeys.common.never\")}\n </Typography>\n )}\n </span>\n ),\n },\n {\n title: t(\"neetoApiKeys.table.headers.createdAt\"),\n key: \"createdAt\",\n dataIndex: \"createdAt\",\n width: 200,\n render: createdAt => (\n <span data-cy=\"api-keys-created-at-field\">\n {isPresent(createdAt) ? (\n dateFormat.dateTime(createdAt)\n ) : (\n <Typography style=\"body2\">\n {t(\"neetoApiKeys.common.never\")}\n </Typography>\n )}\n </span>\n ),\n },\n ];\n\n if (isZapierAvailable) {\n columns.splice(2, 0, {\n title: t(\"neetoApiKeys.table.headers.type\"),\n key: \"type\",\n dataIndex: \"type\",\n width: 144,\n render: type => <Typography style=\"body2\">{humanize(type)}</Typography>,\n });\n }\n\n return columns;\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 required\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 Radio,\n Checkbox,\n ActionBlock,\n} from \"neetoui/formik\";\n\nimport DatePicker from \"./DatePicker\";\n\nimport {\n VALIDATION_SCHEMA,\n INITIAL_VALUES,\n NEXT_DAY,\n API_KEY_TYPES,\n} from \"../constants\";\n\nconst Form = withT(\n ({\n t,\n initialValues = INITIAL_VALUES,\n isSubmitting,\n onClose,\n onSubmit,\n initialFocusRef,\n isEdit = false,\n isZapierAvailable = false,\n }) => (\n <NeetoUIForm\n formikProps={{\n validationSchema: VALIDATION_SCHEMA,\n initialValues,\n onSubmit,\n }}\n >\n {({ setFieldValue, values: { hasNoExpiry, expiresAt, type } = {} }) => (\n <>\n <Pane.Body>\n <div className=\"w-full space-y-4\">\n <Input\n autoFocus\n required\n label={t(\"neetoApiKeys.fields.label\")}\n name=\"label\"\n placeholder={t(\"neetoApiKeys.placeholders.label\")}\n ref={initialFocusRef}\n />\n <div className=\"space-y-4\">\n {!isEdit && isZapierAvailable && (\n <Radio label={t(\"neetoApiKeys.common.type\")} name=\"type\">\n <Radio.Item\n label={t(\"neetoApiKeys.common.general\")}\n name=\"type\"\n value={API_KEY_TYPES.GENERAL}\n />\n <Radio.Item\n label={t(\"neetoApiKeys.common.zapier\")}\n name=\"type\"\n value={API_KEY_TYPES.ZAPIER}\n />\n </Radio>\n )}\n {type === API_KEY_TYPES.GENERAL && (\n <>\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 </>\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\";\n\nimport Form from \"../Form\";\n\nconst Create = ({ onClose, helpDocUrl, isOpen, isZapierAvailable = false }) => {\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: helpDocUrl }}\n title={t(\"neetoApiKeys.tooltips.apiKeys\")}\n />\n </Typography>\n </Pane.Header>\n <Form\n {...{ initialFocusRef, isZapierAvailable, 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\";\n\nimport Form from \"../Form\";\n\nconst Update = ({ onClose, apiKey, helpDocUrl }) => {\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: helpDocUrl }}\n title={t(\"neetoApiKeys.tooltips.apiKeys\")}\n />\n </Typography>\n </Pane.Header>\n <Form\n {...{ initialFocusRef, initialValues, onClose }}\n isEdit\n isSubmitting={isUpdating}\n onSubmit={handleUpdate}\n />\n </Pane>\n );\n};\n\nexport default Update;\n","import { isNotPresent } from \"neetocist\";\nimport { DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport TableWrapper from \"neetomolecules/TableWrapper\";\nimport { Button, Table as NeetoUITable, NoData, Spinner } from \"neetoui\";\nimport { Trans, useTranslation } from \"react-i18next\";\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 isZapierAvailable,\n helpDocUrl,\n}) => {\n const { t } = useTranslation();\n\n if (isLoading) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n if (isNotPresent(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={helpDocUrl} 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 </div>\n );\n }\n\n return (\n <TableWrapper hasPagination={data?.totalCount > DEFAULT_PAGE_SIZE}>\n <NeetoUITable\n fixedHeight\n currentPageNumber={currentPage}\n defaultPageSize={DEFAULT_PAGE_SIZE}\n loading={isFetching}\n rowData={data?.apiKeys}\n totalCount={data?.totalCount}\n columnData={buildColumnData({\n handleDelete,\n handleEdit,\n isZapierAvailable,\n })}\n />\n </TableWrapper>\n );\n};\n\nexport default Table;\n","import { useEffect, useState } from \"react\";\n\nimport { t } from \"i18next\";\nimport { isPresent, isNotEmpty, isNotPresent } from \"neetocist\";\nimport { DEFAULT_PAGE_SIZE, PLURAL } from \"neetocommons/constants\";\nimport {\n useDebounce,\n useQueryParams,\n withTitle,\n} from \"neetocommons/react-utils\";\nimport { getQueryParams } from \"neetocommons/utils\";\nimport Header from \"neetomolecules/Header\";\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 { API_KEY_TYPES } from \"./constants\";\nimport Create from \"./Panes/Create\";\nimport Update from \"./Panes/Update\";\nimport Table from \"./Table\";\n\nconst ApiKeys = ({\n noDataProps,\n headerProps,\n titleHelpPopoverProps,\n helpDocUrl = HELP_DOC_URL,\n zapierIntegrableType = \"Organization\",\n}) => {\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, resetToFirstPage } = usePagination({\n searchTerm: debouncedSearchTerm,\n });\n\n const queryParams = {\n searchTerm: debouncedSearchTerm,\n page: currentPage,\n pageSize: DEFAULT_PAGE_SIZE,\n };\n\n const {\n data = { apiKeys: [] },\n isLoading,\n isFetching,\n } = useFetchApiKeys({\n params: { ...queryParams, zapierIntegrableType },\n });\n\n useEffect(() => {\n if (!!data.totalCount && isNotPresent(data.apiKeys)) {\n resetToFirstPage(getQueryParams());\n }\n }, [currentPage, isLoading]);\n\n const showFilters = isPresent(debouncedSearchTerm) || data?.totalCount > 0;\n\n const { isZapierAvailable = false } = data;\n\n return (\n <div className=\"flex h-full w-full flex-col\">\n <Header\n title={t(\"neetoApiKeys.common.apiKey\", PLURAL)}\n actionBlock={\n <Button\n data-cy=\"add-api-key-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 titleHelpPopoverProps={{\n description: t(\"neetoApiKeys.tooltips.apiKeysDescription\"),\n helpLinkProps: { href: helpDocUrl },\n title: t(\"neetoApiKeys.tooltips.apiKeys\"),\n ...titleHelpPopoverProps,\n }}\n {...headerProps}\n />\n <Table\n {...{\n currentPage,\n data,\n helpDocUrl,\n isFetching,\n isLoading,\n isZapierAvailable,\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 values={{ name: apiKeyToBeDeleted.label }}\n i18nKey={\n apiKeyToBeDeleted.type === API_KEY_TYPES.ZAPIER\n ? \"neetoApiKeys.alert.descriptions.deleteZapierApiKey\"\n : \"neetoApiKeys.alert.descriptions.deleteApiKey\"\n }\n />\n }\n onClose={() => setApiKeyToBeDeleted({})}\n onSubmit={() =>\n deleteApiKey({\n id: apiKeyToBeDeleted.id,\n params: { type: apiKeyToBeDeleted.type },\n })\n }\n />\n <Create\n {...{ helpDocUrl, isZapierAvailable }}\n isOpen={isCreatePaneOpen}\n onClose={() => setIsCreatePaneOpen(false)}\n />\n <Update\n {...{ helpDocUrl }}\n apiKey={apiKeyToBeEdited}\n onClose={() => setApiKeyToBeEdited({})}\n />\n </div>\n );\n};\nexport default withTitle(ApiKeys, t(\"neetoApiKeys.common.apiKey\", PLURAL));\n"],"names":["getPageFromSearchParams","_getQueryParams","getQueryParams","page","parseInt","DEFAULT_PAGE_INDEX","usePagination","_ref","searchTerm","history","useHistory","currentPage","useUpdateEffect","resetToFirstPage","options","arguments","length","undefined","push","buildUrl","mergeLeft","API_KEYS_BASE_URL","HELP_DOC_URL","concat","globalProps","appName","toLowerCase","fetch","params","axios","get","create","payload","post","apiKey","update","id","put","destroy","_ref2","apiKeysApi","QUERY_KEYS","API_KEYS","useFetchApiKeys","_ref$options","useQuery","_objectSpread","queryKey","queryFn","useCreateApiKey","onSuccess","useMutationWithInvalidation","keysToInvalidate","useUpdateApiKey","useDeleteApiKey","API_KEY_TYPES","GENERAL","ZAPIER","LABEL_MAX_LENGTH","INITIAL_VALUES","expiresAt","label","hasNoExpiry","type","NEXT_DAY","dayjs","add","startOf","VALIDATION_SCHEMA","yup","object","date","when","field","nullable","required","t","entity","min","dateFormat","string","max","MENU_ITEMS","EDIT","DELETE","isInPast","isBefore","partlyHideToken","key","slice","padStart","formatExpiry","diff","fromNow","getMenuItems","onEdit","onDelete","isEditVisible","isVisible","onClick","buildColumnData","handleDelete","handleEdit","isZapierAvailable","columns","title","dataIndex","width","render","_jsxs","className","children","_jsx","Typography","style","truncate","MoreDropdown","dropdownButtonProps","dropdownProps","strategy","appendTo","document","body","menuItems","token","CopyToClipboardButton","value","_","_ref3","isPresent","Tag","createdAt","dateTime","splice","humanize","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","_ref$isEdit","isEdit","_ref$isZapierAvailabl","NeetoUIForm","formikProps","validationSchema","_ref2$values","values","_ref2$values2","_Fragment","Pane","Body","Input","autoFocus","ref","Radio","Item","Checkbox","checked","Footer","ActionBlock","cancelButtonProps","Create","helpDocUrl","isOpen","useRef","_useCreateApiKey","createApiKey","mutate","isCreating","isPending","_useTranslation","useTranslation","Header","HelpPopover","description","helpLinkProps","href","Update","_useUpdateApiKey","updateApiKey","isUpdating","handleUpdate","isNotPresent","isNotEmpty","Table","setIsCreatePaneOpen","_ref$noDataProps","noDataProps","data","isLoading","isFetching","Spinner","apiKeys","NoData","helpText","Trans","i18nKey","components","helpLink","Button","target","primaryButtonProps","TableWrapper","hasPagination","totalCount","DEFAULT_PAGE_SIZE","NeetoUITable","fixedHeight","currentPageNumber","defaultPageSize","loading","rowData","columnData","ApiKeys","headerProps","titleHelpPopoverProps","_ref$helpDocUrl","_ref$zapierIntegrable","zapierIntegrableType","_useState","useState","_useState2","_slicedToArray","apiKeyToBeDeleted","setApiKeyToBeDeleted","_useState3","_useState4","apiKeyToBeEdited","setApiKeyToBeEdited","_useState5","_useState6","isCreatePaneOpen","_useQueryParams","useQueryParams","_useQueryParams$searc","_useDeleteApiKey","deleteApiKey","isDeleting","debouncedSearchTerm","useDebounce","_usePagination","queryParams","pageSize","_useFetchApiKeys","_useFetchApiKeys$data","useEffect","showFilters","_data$isZapierAvailab","PLURAL","actionBlock","searchProps","Alert","submitButtonLabel","message","bold","withTitle"],"mappings":"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"}
1
+ {"version":3,"file":"ApiKeys.js","sources":["../../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":["import { DEFAULT_PAGE_INDEX } from \"neetocommons/constants\";\nimport { getQueryParams } from \"neetocommons/utils\";\n\nexport const getPageFromSearchParams = () => {\n const { page } = getQueryParams();\n\n return parseInt(page) || DEFAULT_PAGE_INDEX;\n};\n","import { DEFAULT_PAGE_INDEX } from \"neetocommons/constants\";\nimport { useUpdateEffect } from \"neetocommons/react-utils\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { mergeLeft } from \"ramda\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { getPageFromSearchParams } from \"utils/pagination\";\n\nconst usePagination = ({ searchTerm }) => {\n const history = useHistory();\n const currentPage = getPageFromSearchParams();\n\n // Reset page number to 1 when search term is updated.\n useUpdateEffect(() => {\n resetToFirstPage();\n }, [searchTerm]);\n\n const resetToFirstPage = (options = {}) => {\n if (currentPage !== DEFAULT_PAGE_INDEX) {\n history.push(\n buildUrl(\"\", mergeLeft({ page: DEFAULT_PAGE_INDEX }, options))\n );\n }\n };\n\n return { currentPage, resetToFirstPage };\n};\n\nexport default usePagination;\n","import { globalProps } from \"neetocommons/initializers\";\n\nexport const API_KEYS_BASE_URL = \"/neeto_api_keys/api/v1/api_keys\";\n// eslint-disable-next-line @bigbinary/neeto/standardize-help-urls\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, params }) =>\n axios.delete(`${API_KEYS_BASE_URL}/${id}`, { params });\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 { t } from \"i18next\";\nimport { dayjs, dateFormat } from \"neetocommons/utils\";\nimport * as yup from \"yup\";\n\nexport const API_KEY_TYPES = { GENERAL: \"general\", ZAPIER: \"zapier\" };\n\nexport const LABEL_MAX_LENGTH = 150;\n\nexport const INITIAL_VALUES = {\n expiresAt: null,\n label: \"\",\n hasNoExpiry: true,\n type: API_KEY_TYPES.GENERAL,\n};\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\n .string()\n .required(\n t(\"neetoApiKeys.validations.required\", {\n entity: t(\"neetoApiKeys.fields.label\"),\n })\n )\n .max(\n LABEL_MAX_LENGTH,\n t(\"neetoApiKeys.validations.maxLength\", {\n entity: t(\"neetoApiKeys.fields.label\"),\n max: LABEL_MAX_LENGTH,\n })\n ),\n});\n\nexport const MENU_ITEMS = { EDIT: \"edit\", DELETE: \"delete\" };\n","import { t } from \"i18next\";\nimport { isPresent, humanize, truncate } from \"neetocist\";\nimport { dayjs, dateFormat } from \"neetocommons/utils\";\nimport CopyToClipboardButton from \"neetomolecules/CopyToClipboardButton\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport { Tag, Typography } from \"neetoui\";\n\nimport { MENU_ITEMS, API_KEY_TYPES } 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, isEditVisible }) => [\n {\n key: MENU_ITEMS.EDIT,\n label: t(\"neetoApiKeys.buttons.edit\"),\n isVisible: isEditVisible,\n \"data-cy\": \"api-key-edit-button\",\n onClick: onEdit,\n },\n {\n key: MENU_ITEMS.DELETE,\n label: t(\"neetoApiKeys.buttons.delete\"),\n \"data-cy\": \"api-key-delete-button\",\n onClick: onDelete,\n },\n];\n\nexport const buildColumnData = ({\n handleDelete,\n handleEdit,\n isZapierAvailable,\n}) => {\n const columns = [\n {\n title: t(\"neetoApiKeys.table.headers.label\"),\n key: \"label\",\n dataIndex: \"label\",\n width: 200,\n render: (label, apiKey) => (\n <div className=\"flex items-center justify-between gap-x-3\">\n <Typography\n data-cy=\"api-keys-label-field\"\n style=\"body2\"\n title={label}\n >\n {truncate(label, 100)}\n </Typography>\n <MoreDropdown\n dropdownButtonProps={{ className: \"mr-1 my-1\" }}\n dropdownProps={{ strategy: \"fixed\", appendTo: () => document.body }}\n menuItems={getMenuItems({\n onEdit: () => handleEdit(apiKey),\n onDelete: () => handleDelete(apiKey),\n isEditVisible: apiKey.type === API_KEY_TYPES.GENERAL,\n })}\n />\n </div>\n ),\n },\n {\n title: t(\"neetoApiKeys.table.headers.token\"),\n key: \"token\",\n dataIndex: \"token\",\n width: 300,\n render: token => (\n <div className=\"flex items-center justify-between gap-x-3\">\n <Typography data-cy=\"api-keys-token-field\" style=\"body2\">\n {partlyHideToken(token)}\n </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: 150,\n render: expiresAt => (\n <span data-cy=\"api-keys-expires-at-field\">\n {isPresent(expiresAt) ? (\n formatExpiry(expiresAt)\n ) : (\n <Typography style=\"body2\">\n {t(\"neetoApiKeys.common.never\")}\n </Typography>\n )}\n </span>\n ),\n },\n {\n title: t(\"neetoApiKeys.table.headers.createdAt\"),\n key: \"createdAt\",\n dataIndex: \"createdAt\",\n width: 200,\n render: createdAt => (\n <span data-cy=\"api-keys-created-at-field\">\n {isPresent(createdAt) ? (\n dateFormat.dateTime(createdAt)\n ) : (\n <Typography style=\"body2\">\n {t(\"neetoApiKeys.common.never\")}\n </Typography>\n )}\n </span>\n ),\n },\n ];\n\n if (isZapierAvailable) {\n columns.splice(2, 0, {\n title: t(\"neetoApiKeys.table.headers.type\"),\n key: \"type\",\n dataIndex: \"type\",\n width: 144,\n render: type => <Typography style=\"body2\">{humanize(type)}</Typography>,\n });\n }\n\n return columns;\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 required\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 Radio,\n Checkbox,\n ActionBlock,\n} from \"neetoui/formik\";\n\nimport DatePicker from \"./DatePicker\";\n\nimport {\n VALIDATION_SCHEMA,\n INITIAL_VALUES,\n NEXT_DAY,\n API_KEY_TYPES,\n} from \"../constants\";\n\nconst Form = withT(\n ({\n t,\n initialValues = INITIAL_VALUES,\n isSubmitting,\n onClose,\n onSubmit,\n initialFocusRef,\n isEdit = false,\n isZapierAvailable = false,\n }) => (\n <NeetoUIForm\n formikProps={{\n validationSchema: VALIDATION_SCHEMA,\n initialValues,\n onSubmit,\n }}\n >\n {({ setFieldValue, values: { hasNoExpiry, expiresAt, type } = {} }) => (\n <>\n <Pane.Body>\n <div className=\"w-full space-y-4\">\n <Input\n autoFocus\n required\n label={t(\"neetoApiKeys.fields.label\")}\n name=\"label\"\n placeholder={t(\"neetoApiKeys.placeholders.label\")}\n ref={initialFocusRef}\n />\n <div className=\"space-y-4\">\n {!isEdit && isZapierAvailable && (\n <Radio label={t(\"neetoApiKeys.common.type\")} name=\"type\">\n <Radio.Item\n label={t(\"neetoApiKeys.common.general\")}\n name=\"type\"\n value={API_KEY_TYPES.GENERAL}\n />\n <Radio.Item\n label={t(\"neetoApiKeys.common.zapier\")}\n name=\"type\"\n value={API_KEY_TYPES.ZAPIER}\n />\n </Radio>\n )}\n {type === API_KEY_TYPES.GENERAL && (\n <>\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 </>\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\";\n\nimport Form from \"../Form\";\n\nconst Create = ({ onClose, helpDocUrl, isOpen, isZapierAvailable = false }) => {\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: helpDocUrl }}\n title={t(\"neetoApiKeys.tooltips.apiKeys\")}\n />\n </Typography>\n </Pane.Header>\n <Form\n {...{ initialFocusRef, isZapierAvailable, 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\";\n\nimport Form from \"../Form\";\n\nconst Update = ({ onClose, apiKey, helpDocUrl }) => {\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: helpDocUrl }}\n title={t(\"neetoApiKeys.tooltips.apiKeys\")}\n />\n </Typography>\n </Pane.Header>\n <Form\n {...{ initialFocusRef, initialValues, onClose }}\n isEdit\n isSubmitting={isUpdating}\n onSubmit={handleUpdate}\n />\n </Pane>\n );\n};\n\nexport default Update;\n","import { isNotPresent } from \"neetocist\";\nimport { DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport TableWrapper from \"neetomolecules/TableWrapper\";\nimport { Button, Table as NeetoUITable, NoData, Spinner } from \"neetoui\";\nimport { Trans, useTranslation } from \"react-i18next\";\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 isZapierAvailable,\n helpDocUrl,\n}) => {\n const { t } = useTranslation();\n\n if (isLoading) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n if (isNotPresent(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={helpDocUrl} 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 </div>\n );\n }\n\n return (\n <TableWrapper hasPagination={data?.totalCount > DEFAULT_PAGE_SIZE}>\n <NeetoUITable\n fixedHeight\n currentPageNumber={currentPage}\n defaultPageSize={DEFAULT_PAGE_SIZE}\n loading={isFetching}\n rowData={data?.apiKeys}\n totalCount={data?.totalCount}\n columnData={buildColumnData({\n handleDelete,\n handleEdit,\n isZapierAvailable,\n })}\n />\n </TableWrapper>\n );\n};\n\nexport default Table;\n","import { useEffect, useState } from \"react\";\n\nimport { t } from \"i18next\";\nimport { isPresent, isNotEmpty, isNotPresent } from \"neetocist\";\nimport { DEFAULT_PAGE_SIZE, PLURAL } from \"neetocommons/constants\";\nimport {\n useDebounce,\n useQueryParams,\n withTitle,\n} from \"neetocommons/react-utils\";\nimport { getQueryParams } from \"neetocommons/utils\";\nimport { Bar as FilterBar } from \"neetofilters\";\nimport Header from \"neetomolecules/Header\";\nimport SubHeader from \"neetomolecules/SubHeader\";\nimport { Alert, Button, Typography } 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 { API_KEY_TYPES } from \"./constants\";\nimport Create from \"./Panes/Create\";\nimport Update from \"./Panes/Update\";\nimport Table from \"./Table\";\n\nconst ApiKeys = ({\n noDataProps,\n headerProps,\n titleHelpPopoverProps,\n helpDocUrl = HELP_DOC_URL,\n zapierIntegrableType = \"Organization\",\n}) => {\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, resetToFirstPage } = usePagination({\n searchTerm: debouncedSearchTerm,\n });\n\n const queryParams = {\n searchTerm: debouncedSearchTerm,\n page: currentPage,\n pageSize: DEFAULT_PAGE_SIZE,\n };\n\n const {\n data = { apiKeys: [] },\n isLoading,\n isFetching,\n } = useFetchApiKeys({\n params: { ...queryParams, zapierIntegrableType },\n });\n\n useEffect(() => {\n if (!!data.totalCount && isNotPresent(data.apiKeys)) {\n resetToFirstPage(getQueryParams());\n }\n }, [currentPage, isLoading]);\n\n const showFilters = isPresent(debouncedSearchTerm) || data?.totalCount > 0;\n\n const { isZapierAvailable = false } = data;\n\n return (\n <div className=\"flex h-full w-full flex-col\">\n <Header\n title={t(\"neetoApiKeys.common.apiKey\", PLURAL)}\n actionBlock={\n <Button\n data-cy=\"add-api-key-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 titleHelpPopoverProps={{\n description: t(\"neetoApiKeys.tooltips.apiKeysDescription\"),\n helpLinkProps: { href: helpDocUrl },\n title: t(\"neetoApiKeys.tooltips.apiKeys\"),\n ...titleHelpPopoverProps,\n }}\n {...headerProps}\n />\n <SubHeader\n leftActionBlock={\n <>\n <Typography component=\"h4\">\n {t(\"neetoApiKeys.common.apiKeyCount\", {\n count: data?.totalCount || 0,\n })}\n </Typography>\n <FilterBar\n className=\"ml-4 mb-0\"\n keyword={{ key: \"search_term\", node: \"label\" }}\n />\n </>\n }\n />\n <Table\n {...{\n currentPage,\n data,\n helpDocUrl,\n isFetching,\n isLoading,\n isZapierAvailable,\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 values={{ name: apiKeyToBeDeleted.label }}\n i18nKey={\n apiKeyToBeDeleted.type === API_KEY_TYPES.ZAPIER\n ? \"neetoApiKeys.alert.descriptions.deleteZapierApiKey\"\n : \"neetoApiKeys.alert.descriptions.deleteApiKey\"\n }\n />\n }\n onClose={() => setApiKeyToBeDeleted({})}\n onSubmit={() =>\n deleteApiKey({\n id: apiKeyToBeDeleted.id,\n params: { type: apiKeyToBeDeleted.type },\n })\n }\n />\n <Create\n {...{ helpDocUrl, isZapierAvailable }}\n isOpen={isCreatePaneOpen}\n onClose={() => setIsCreatePaneOpen(false)}\n />\n <Update\n {...{ helpDocUrl }}\n apiKey={apiKeyToBeEdited}\n onClose={() => setApiKeyToBeEdited({})}\n />\n </div>\n );\n};\nexport default withTitle(ApiKeys, t(\"neetoApiKeys.common.apiKey\", PLURAL));\n"],"names":["getPageFromSearchParams","_getQueryParams","getQueryParams","page","parseInt","DEFAULT_PAGE_INDEX","usePagination","_ref","searchTerm","history","useHistory","currentPage","useUpdateEffect","resetToFirstPage","options","arguments","length","undefined","push","buildUrl","mergeLeft","API_KEYS_BASE_URL","HELP_DOC_URL","concat","globalProps","appName","toLowerCase","fetch","params","axios","get","create","payload","post","apiKey","update","id","put","destroy","_ref2","apiKeysApi","QUERY_KEYS","API_KEYS","useFetchApiKeys","_ref$options","useQuery","_objectSpread","queryKey","queryFn","useCreateApiKey","onSuccess","useMutationWithInvalidation","keysToInvalidate","useUpdateApiKey","useDeleteApiKey","API_KEY_TYPES","GENERAL","ZAPIER","LABEL_MAX_LENGTH","INITIAL_VALUES","expiresAt","label","hasNoExpiry","type","NEXT_DAY","dayjs","add","startOf","VALIDATION_SCHEMA","yup","object","date","when","field","nullable","required","t","entity","min","dateFormat","string","max","MENU_ITEMS","EDIT","DELETE","isInPast","isBefore","partlyHideToken","key","slice","padStart","formatExpiry","diff","fromNow","getMenuItems","onEdit","onDelete","isEditVisible","isVisible","onClick","buildColumnData","handleDelete","handleEdit","isZapierAvailable","columns","title","dataIndex","width","render","_jsxs","className","children","_jsx","Typography","style","truncate","MoreDropdown","dropdownButtonProps","dropdownProps","strategy","appendTo","document","body","menuItems","token","CopyToClipboardButton","value","_","_ref3","isPresent","Tag","createdAt","dateTime","splice","humanize","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","_ref$isEdit","isEdit","_ref$isZapierAvailabl","NeetoUIForm","formikProps","validationSchema","_ref2$values","values","_ref2$values2","_Fragment","Pane","Body","Input","autoFocus","ref","Radio","Item","Checkbox","checked","Footer","ActionBlock","cancelButtonProps","Create","helpDocUrl","isOpen","useRef","_useCreateApiKey","createApiKey","mutate","isCreating","isPending","_useTranslation","useTranslation","Header","HelpPopover","description","helpLinkProps","href","Update","_useUpdateApiKey","updateApiKey","isUpdating","handleUpdate","isNotPresent","isNotEmpty","Table","setIsCreatePaneOpen","_ref$noDataProps","noDataProps","data","isLoading","isFetching","Spinner","apiKeys","NoData","helpText","Trans","i18nKey","components","helpLink","Button","target","primaryButtonProps","TableWrapper","hasPagination","totalCount","DEFAULT_PAGE_SIZE","NeetoUITable","fixedHeight","currentPageNumber","defaultPageSize","loading","rowData","columnData","ApiKeys","headerProps","titleHelpPopoverProps","_ref$helpDocUrl","_ref$zapierIntegrable","zapierIntegrableType","_useState","useState","_useState2","_slicedToArray","apiKeyToBeDeleted","setApiKeyToBeDeleted","_useState3","_useState4","apiKeyToBeEdited","setApiKeyToBeEdited","_useState5","_useState6","isCreatePaneOpen","_useQueryParams","useQueryParams","_useQueryParams$searc","_useDeleteApiKey","deleteApiKey","isDeleting","debouncedSearchTerm","useDebounce","_usePagination","queryParams","pageSize","_useFetchApiKeys","_useFetchApiKeys$data","useEffect","showFilters","_data$isZapierAvailab","PLURAL","actionBlock","searchProps","SubHeader","leftActionBlock","component","count","FilterBar","keyword","node","Alert","submitButtonLabel","message","bold","withTitle"],"mappings":"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"}
package/dist/cjs/index.js CHANGED
@@ -9,9 +9,12 @@ require('@bigbinary/neeto-cist');
9
9
  require('@bigbinary/neeto-commons-frontend/constants');
10
10
  require('@bigbinary/neeto-commons-frontend/react-utils');
11
11
  require('@bigbinary/neeto-commons-frontend/utils');
12
+ require('@bigbinary/neeto-filters-frontend/Bar');
12
13
  require('@bigbinary/neeto-molecules/Header');
14
+ require('@bigbinary/neeto-molecules/SubHeader');
13
15
  require('@bigbinary/neetoui/Alert');
14
16
  require('@bigbinary/neetoui/Button');
17
+ require('@bigbinary/neetoui/Typography');
15
18
  require('react-i18next');
16
19
  require('ramda');
17
20
  require('react-router-dom');
@@ -21,7 +24,6 @@ require('axios');
21
24
  require('yup');
22
25
  require('@bigbinary/neeto-molecules/HelpPopover');
23
26
  require('@bigbinary/neetoui/Pane');
24
- require('@bigbinary/neetoui/Typography');
25
27
  require('@bigbinary/neetoui/formik/Form');
26
28
  require('@bigbinary/neetoui/formik/Input');
27
29
  require('@bigbinary/neetoui/formik/Radio');
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/dist/index.js CHANGED
@@ -7,9 +7,12 @@ import '@bigbinary/neeto-cist';
7
7
  import '@bigbinary/neeto-commons-frontend/constants';
8
8
  import '@bigbinary/neeto-commons-frontend/react-utils';
9
9
  import '@bigbinary/neeto-commons-frontend/utils';
10
+ import '@bigbinary/neeto-filters-frontend/Bar';
10
11
  import '@bigbinary/neeto-molecules/Header';
12
+ import '@bigbinary/neeto-molecules/SubHeader';
11
13
  import '@bigbinary/neetoui/Alert';
12
14
  import '@bigbinary/neetoui/Button';
15
+ import '@bigbinary/neetoui/Typography';
13
16
  import 'react-i18next';
14
17
  import 'ramda';
15
18
  import 'react-router-dom';
@@ -19,7 +22,6 @@ import 'axios';
19
22
  import 'yup';
20
23
  import '@bigbinary/neeto-molecules/HelpPopover';
21
24
  import '@bigbinary/neetoui/Pane';
22
- import '@bigbinary/neetoui/Typography';
23
25
  import '@bigbinary/neetoui/formik/Form';
24
26
  import '@bigbinary/neetoui/formik/Input';
25
27
  import '@bigbinary/neetoui/formik/Radio';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bigbinary/neeto-api-keys-frontend",
3
- "version": "3.0.0",
3
+ "version": "3.0.2",
4
4
  "description": "A repo acts as the source of truth for the new nano's structure, configs, data etc.",
5
5
  "license": "UNLICENSED",
6
6
  "homepage": "https://github.com/bigbinary/neeto-api-keys-nano",
@@ -63,11 +63,11 @@
63
63
  "@bigbinary/babel-preset-neeto": "^1.0.3",
64
64
  "@bigbinary/eslint-plugin-neeto": "1.8.0",
65
65
  "@bigbinary/neeto-cist": "1.0.17",
66
- "@bigbinary/neeto-commons-frontend": "4.13.83",
67
- "@bigbinary/neeto-filters-frontend": "4.3.24",
68
- "@bigbinary/neeto-icons": "1.20.63",
69
- "@bigbinary/neeto-molecules": "4.0.91",
70
- "@bigbinary/neetoui": "8.3.43",
66
+ "@bigbinary/neeto-commons-frontend": "4.13.86",
67
+ "@bigbinary/neeto-filters-frontend": "4.3.26",
68
+ "@bigbinary/neeto-icons": "1.20.66",
69
+ "@bigbinary/neeto-molecules": "4.0.108",
70
+ "@bigbinary/neetoui": "8.3.46",
71
71
  "@emotion/is-prop-valid": "1.2.0",
72
72
  "@faker-js/faker": "8.2.0",
73
73
  "@honeybadger-io/js": "6.10.1",
@@ -177,11 +177,11 @@
177
177
  "peerDependencies": {
178
178
  "@babel/runtime": "7.26.10",
179
179
  "@bigbinary/neeto-cist": "1.0.17",
180
- "@bigbinary/neeto-commons-frontend": "4.13.83",
181
- "@bigbinary/neeto-filters-frontend": "4.3.24",
182
- "@bigbinary/neeto-icons": "1.20.63",
183
- "@bigbinary/neeto-molecules": "4.0.91",
184
- "@bigbinary/neetoui": "8.3.43",
180
+ "@bigbinary/neeto-commons-frontend": "4.13.86",
181
+ "@bigbinary/neeto-filters-frontend": "4.3.26",
182
+ "@bigbinary/neeto-icons": "1.20.66",
183
+ "@bigbinary/neeto-molecules": "4.0.108",
184
+ "@bigbinary/neetoui": "8.3.46",
185
185
  "@honeybadger-io/js": "6.10.1",
186
186
  "@honeybadger-io/react": "6.1.25",
187
187
  "@tailwindcss/container-queries": "^0.1.1",