@bigbinary/neeto-redirect-urls-frontend 2.2.1 → 2.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/RedirectUrls.js
CHANGED
|
@@ -556,14 +556,12 @@ var RedirectUrls = function RedirectUrls() {
|
|
|
556
556
|
}),
|
|
557
557
|
_useFetchAllRedirectU2 = _useFetchAllRedirectU.data,
|
|
558
558
|
_useFetchAllRedirectU3 = _useFetchAllRedirectU2 === void 0 ? {} : _useFetchAllRedirectU2,
|
|
559
|
-
_useFetchAllRedirectU4 = _useFetchAllRedirectU3.
|
|
560
|
-
|
|
561
|
-
_useFetchAllRedirectU5 = _useFetchAllRedirectU3.redirectUrls,
|
|
562
|
-
redirectUrls = _useFetchAllRedirectU5 === void 0 ? [] : _useFetchAllRedirectU5,
|
|
559
|
+
_useFetchAllRedirectU4 = _useFetchAllRedirectU3.redirectUrls,
|
|
560
|
+
redirectUrls = _useFetchAllRedirectU4 === void 0 ? [] : _useFetchAllRedirectU4,
|
|
563
561
|
domainRedirectUrl = _useFetchAllRedirectU3.domainRedirectUrl,
|
|
564
562
|
isLoading = _useFetchAllRedirectU.isLoading,
|
|
565
563
|
isFetching = _useFetchAllRedirectU.isFetching;
|
|
566
|
-
var isFiltersVisible =
|
|
564
|
+
var isFiltersVisible = (redirectUrls === null || redirectUrls === void 0 ? void 0 : redirectUrls.length) > 0 || isPresent(searchTerm);
|
|
567
565
|
var _useUpdateRedirectUrl = useUpdateRedirectUrl(),
|
|
568
566
|
updateRedirectUrl = _useUpdateRedirectUrl.mutate;
|
|
569
567
|
var _useDestroyRedirectUr = useDestroyRedirectUrl(),
|
|
@@ -647,7 +645,7 @@ var RedirectUrls = function RedirectUrls() {
|
|
|
647
645
|
setCurrentPageNumber: setCurrentPageNumber,
|
|
648
646
|
setUrlDetailsToDelete: setUrlDetailsToDelete,
|
|
649
647
|
setUrlDetailsToEdit: setUrlDetailsToEdit,
|
|
650
|
-
recordsCount:
|
|
648
|
+
recordsCount: redirectUrls.length
|
|
651
649
|
})]
|
|
652
650
|
}), /*#__PURE__*/jsx(DeleteRedirectUrlModal, {
|
|
653
651
|
detailsToDelete: urlDetailsToDelete,
|
package/dist/RedirectUrls.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RedirectUrls.js","sources":["../app/javascript/src/components/commons/DeleteRedirectUrlModal.jsx","../app/javascript/src/constants/regexp.js","../app/javascript/src/components/commons/RedirectUrlPane.jsx","../app/javascript/src/constants/index.js","../app/javascript/src/apis/redirect_url.js","../app/javascript/src/constants/query.js","../app/javascript/src/hooks/reactQuery/useRedirectUrlApi.js","../app/javascript/src/constants/helpUrls.js","../app/javascript/src/components/RedirectUrls/DomainRedirection/constants.js","../app/javascript/src/components/RedirectUrls/DomainRedirection/index.jsx","../app/javascript/src/components/constants.js","../app/javascript/src/routes.js","../app/javascript/src/components/utils.js","../app/javascript/src/components/RedirectUrls/utils.js","../app/javascript/src/components/RedirectUrls/RedirectUrlsTable.jsx","../app/javascript/src/components/RedirectUrls/index.jsx"],"sourcesContent":["import { Alert } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nconst DeleteRedirectUrlModal = ({\n handleClose,\n handleSubmit,\n detailsToDelete,\n isOpen,\n}) => {\n const { t } = useTranslation();\n if (detailsToDelete === null) return null;\n\n const { id, toPath, fromPath } = detailsToDelete;\n const title = t(\"neetoRedirectUrls.alerts.delete.title\");\n\n return (\n <Alert\n {...{ isOpen, title }}\n submitButtonLabel={t(\"neetoRedirectUrls.common.delete\")}\n message={\n <Trans\n i18nKey=\"neetoRedirectUrls.alerts.delete.confirm\"\n values={{ from_path: fromPath, to_path: toPath }}\n />\n }\n onClose={handleClose}\n onSubmit={() => handleSubmit(id)}\n />\n );\n};\n\nDeleteRedirectUrlModal.propTypes = {\n handleClose: PropTypes.func,\n handleSubmit: PropTypes.func,\n isOpen: PropTypes.bool,\n};\n\nexport default DeleteRedirectUrlModal;\n","export const URL_WITH_PROTOCOL_REGEX =\n/^(http(s)?):\\/\\/[(www.)?a-zA-Z0-9@:%._+~#=-]{2,256}\\.[a-z]{2,6}\\b([-a-zA-Z0-9@:%_+.~#?&//=]*)$/g;\n\nexport const URL_PATHNAME_REGEX = /^\\/[-a-zA-Z0-9@:%_+.~#?&//=]*$/g;\n","import { noop } from \"neetocist\";\nimport { Pane, Typography } from \"neetoui\";\nimport { Input, Form, ActionBlock } from \"neetoui/formik\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\nimport * as Yup from \"yup\";\n\nimport {\n URL_PATHNAME_REGEX,\n URL_WITH_PROTOCOL_REGEX,\n} from \"src/constants/regexp\";\n\nconst RedirectUrlPane = ({\n handleClose,\n handleSubmit,\n initialValues = {},\n setInitialFocusField = noop,\n}) => {\n const { t } = useTranslation();\n const redirectUrlId = initialValues?.id;\n\n return (\n <>\n <Pane.Header>\n <Typography style=\"h2\">\n {redirectUrlId\n ? t(\"neetoRedirectUrls.redirect.edit\")\n : t(\"neetoRedirectUrls.redirect.add\")}\n </Typography>\n </Pane.Header>\n <Form\n formikProps={{\n initialValues: initialValues || {\n fromPath: \"\",\n toPath: \"\",\n },\n validationSchema: Yup.object().shape({\n fromPath: Yup.string()\n .required(\n t(\"neetoRedirectUrls.redirect.validations.required\", {\n entity: \"Source\",\n })\n )\n .matches(\n URL_PATHNAME_REGEX,\n t(\"neetoRedirectUrls.redirect.validations.source\")\n ),\n toPath: Yup.string()\n .required(\n t(\"neetoRedirectUrls.redirect.validations.required\", {\n entity: \"Destination\",\n })\n )\n .matches(\n new RegExp(\n `${URL_WITH_PROTOCOL_REGEX.source}|${URL_PATHNAME_REGEX.source}`\n ),\n t(\"neetoRedirectUrls.redirect.validations.destination\")\n ),\n }),\n onSubmit: values => {\n handleSubmit({ ...values });\n },\n }}\n >\n <>\n <Pane.Body>\n <div className=\"w-full space-y-4\">\n <Input\n id=\"fromPath\"\n label={t(\"neetoRedirectUrls.redirect.source\")}\n name=\"fromPath\"\n ref={setInitialFocusField}\n placeholder={t(\n \"neetoRedirectUrls.common.placeholder.relativeUrl\"\n )}\n />\n <Input\n id=\"toPath\"\n label={t(\"neetoRedirectUrls.redirect.destination\")}\n name=\"toPath\"\n placeholder={window.location.origin}\n />\n </div>\n </Pane.Body>\n <Pane.Footer>\n <ActionBlock cancelButtonProps={{ onClick: handleClose }} />\n </Pane.Footer>\n </>\n </Form>\n </>\n );\n};\n\nRedirectUrlPane.propTypes = {\n handleClose: PropTypes.func,\n handleSubmit: PropTypes.func,\n};\n\nexport default RedirectUrlPane;\n","export const REDIRECT_URLS_BASE_URL =\n \"/neeto_redirect_urls_engine/api/v1/redirect_urls\";\n","import axios from \"axios\";\n\nimport { REDIRECT_URLS_BASE_URL } from \"src/constants\";\n\nconst fetch = () => axios.get(REDIRECT_URLS_BASE_URL);\n\nconst fetchAll = params => axios.get(REDIRECT_URLS_BASE_URL, params);\n\nconst create = payload => axios.post(REDIRECT_URLS_BASE_URL, payload);\n\nconst update = ({ id, payload }) =>\n axios.put(`${REDIRECT_URLS_BASE_URL}/${id}`, payload);\n\nconst destroy = id => axios.delete(`${REDIRECT_URLS_BASE_URL}/${id}`);\n\nconst redirectUrlApi = { fetch, fetchAll, create, update, destroy };\n\nexport default redirectUrlApi;\n","export const QUERY_KEYS = { REDIRECT_URLS: \"redirect_urls\" };\n\n","import { useQuery } from \"@tanstack/react-query\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\n\nimport redirectUrlApi from \"apis/redirect_url\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nconst useFetchAllRedirectUrls = (searchQuery, options) =>\n useQuery({\n queryKey: [QUERY_KEYS.REDIRECT_URLS, searchQuery],\n queryFn: () => redirectUrlApi.fetchAll(searchQuery),\n ...options,\n });\n\nconst useCreateRedirectUrl = options =>\n useMutationWithInvalidation(redirectUrlApi.create, {\n keysToInvalidate: [QUERY_KEYS.REDIRECT_URLS],\n ...options,\n });\n\nconst useUpdateRedirectUrl = options =>\n useMutationWithInvalidation(redirectUrlApi.update, {\n keysToInvalidate: [QUERY_KEYS.REDIRECT_URLS],\n ...options,\n });\n\nconst useDestroyRedirectUrl = options =>\n useMutationWithInvalidation(redirectUrlApi.destroy, {\n keysToInvalidate: [QUERY_KEYS.REDIRECT_URLS],\n ...options,\n });\n\nexport {\n useFetchAllRedirectUrls,\n useCreateRedirectUrl,\n useUpdateRedirectUrl,\n useDestroyRedirectUrl,\n};\n","export const DOC_BASE_URL = `https://help.${globalProps.appName.toLowerCase()}.com/articles`;\n\nexport const CREATE_REDIRECT_URL_HELP_DOC_URL = `${DOC_BASE_URL}/creating-a-redirect-url`;\n\nexport const DOMAIN_LEVEL_REDIRECT_HELP_DOC_URL = `${DOC_BASE_URL}/domain-level-redirection`;\n","import { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nimport { URL_WITH_PROTOCOL_REGEX } from \"src/constants/regexp\";\n\nexport const DOMAIN_REDIRECTION_VALIDATION_SCHEMA = yup.object().shape({\n toPath: yup\n .string()\n .nullable()\n .when(\"domainRedirectionActive\", {\n is: true,\n then: yup\n .string()\n .required(\n t(\"neetoRedirectUrls.redirect.validations.required\", {\n entity: \"Destination\",\n })\n )\n .matches(\n URL_WITH_PROTOCOL_REGEX,\n t(\"neetoRedirectUrls.redirect.validations.destination\")\n )\n .notOneOf(\n [location.origin],\n t(\"neetoRedirectUrls.redirect.validations.duplicateDomain\")\n ),\n }),\n});\n","import { useEffect, useState } from \"react\";\n\nimport { isPresent } from \"neetocist\";\nimport { Edit } from \"neetoicons\";\nimport { FormikInlineInput } from \"neetomolecules/InlineInput\";\nimport { Typography, Label, Button } from \"neetoui\";\nimport { Switch, Form, Input } from \"neetoui/formik\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport {\n useCreateRedirectUrl,\n useDestroyRedirectUrl,\n useUpdateRedirectUrl,\n} from \"hooks/reactQuery/useRedirectUrlApi\";\nimport { DOMAIN_LEVEL_REDIRECT_HELP_DOC_URL } from \"src/constants/helpUrls\";\n\nimport { DOMAIN_REDIRECTION_VALIDATION_SCHEMA } from \"./constants\";\n\nconst DomainRedirection = ({ domainRedirectUrl }) => {\n const [isEditingDomainRedirect, setIsEditingDomainRedirect] = useState(true);\n const { t } = useTranslation();\n const { mutateAsync: createLink } = useCreateRedirectUrl();\n\n const { mutateAsync: updateLink } = useUpdateRedirectUrl();\n const { mutate: destroyLink } = useDestroyRedirectUrl();\n\n const initialValues = {\n domainRedirectionActive: isPresent(domainRedirectUrl?.toPath),\n toPath: domainRedirectUrl?.toPath,\n };\n\n const handleSubmit = values => {\n const payload = {\n toPath: values.toPath,\n redirection_type: \"domain\",\n };\n\n return domainRedirectUrl\n ? updateLink({ id: domainRedirectUrl.id, payload })\n : createLink(payload);\n };\n\n const handleRemoveRedirection = domainLinkActive => {\n if (!(domainLinkActive && domainRedirectUrl)) {\n setIsEditingDomainRedirect(true);\n\n return;\n }\n destroyLink(domainRedirectUrl.id);\n };\n\n useEffect(() => {\n if (isPresent(domainRedirectUrl?.toPath)) {\n setIsEditingDomainRedirect(false);\n }\n }, [domainRedirectUrl]);\n\n return (\n <div className=\"neeto-ui-border-gray-200 mb-8 border-b \">\n <Form\n className=\"mb-2 w-full\"\n formikProps={{\n initialValues,\n validationSchema: DOMAIN_REDIRECTION_VALIDATION_SCHEMA,\n enableReinitialize: true,\n onSubmit: handleSubmit,\n }}\n >\n {({ values: { domainRedirectionActive }, dirty }) => (\n <>\n <div className=\"flex items-center justify-between py-3\">\n <div className=\"flex flex-col space-y-2\">\n <Label className=\"flex items-center gap-2\">\n <Switch\n data-cy=\"domain-level-redirection-switch\"\n name=\"domainRedirectionActive\"\n onClick={() =>\n handleRemoveRedirection(domainRedirectionActive)\n }\n />\n <Typography\n component=\"span\"\n data-cy=\"domain-level-redirection-heading\"\n style=\"h5\"\n weight=\"medium\"\n >\n {t(\"neetoRedirectUrls.redirect.domainLevelRedirect.label\")}\n </Typography>\n </Label>\n <Typography component=\"p\" style=\"body2\">\n <Trans\n i18nKey=\"neetoRedirectUrls.redirect.domainLevelRedirect.description\"\n components={{\n Link: (\n <Button\n className=\"text-sm\"\n data-cy=\"domain-level-redirections-help-button\"\n href={DOMAIN_LEVEL_REDIRECT_HELP_DOC_URL}\n style=\"link\"\n target=\"_blank\"\n />\n ),\n }}\n />\n </Typography>\n </div>\n </div>\n {domainRedirectionActive && (\n <div className=\"my-2 flex w-1/2 items-start space-x-3\">\n {isEditingDomainRedirect ? (\n <FormikInlineInput\n data-cy=\"domain-level-redirection-link-text-field\"\n handleCancel={() => dirty}\n name=\"toPath\"\n placeholder={t(\"neetoRedirectUrls.common.placeholder.url\")}\n cancelButtonProps={{\n disabled: !dirty,\n \"data-cy\": \"domain-level-redirection-link-cancel-button\",\n }}\n submitButtonProps={{\n \"data-cy\": \"domain-level-redirection-link-submit-button\",\n }}\n />\n ) : (\n <>\n <Input disabled name=\"toPath\" />\n <Button\n icon={Edit}\n style=\"link\"\n onClick={() => setIsEditingDomainRedirect(true)}\n />\n </>\n )}\n </div>\n )}\n </>\n )}\n </Form>\n </div>\n );\n};\n\nexport default DomainRedirection;\n","import { t } from \"i18next\";\n\nexport const SETTINGS_CATEGORIES = { GENERAL: \"GENERAL\" };\n\nexport const SETTINGS_CATEGORIES_LABELS = {\n [SETTINGS_CATEGORIES.GENERAL]: t(\"neetoRedirectUrls.settings.general.title\"),\n};\n","const routes = {\n admin: {\n index: \"/admin\",\n courses: {\n chapters: {\n show: \"/admin/courses/:courseId/chapters/:chapterId\",\n chapterVersions: {\n show: \"/admin/courses/:courseId/chapters/:chapterId/chapter-versions/:chapterVersionId\",\n },\n pages: {\n show: \"/admin/courses/:courseId/chapters/:chapterId/pages/:pageId\",\n pageVersions: {\n show: \"/admin/courses/:courseId/chapters/:chapterId/pages/:pageId/page-versions/:pageVersionId\",\n },\n },\n },\n index: \"/admin/courses\",\n show: \"/admin/courses/:courseId\",\n deployments: {\n index: \"/admin/courses/:courseId/deployments\",\n show: \"/admin/courses/:courseId/deployments/:deploymentId\",\n },\n configure: {\n index: \"/admin/courses/:courseId/configure\",\n security: \"/admin/courses/:courseId/configure/security\",\n certificateConfiguration:\n \"/admin/courses/:courseId/configure/certificate_configuration\",\n },\n },\n pullRequestApps: {\n index: \"/admin/pull_request_apps\",\n show: \"/admin/pull_request_apps/:pullRequestAppId\",\n courseDeployments: {\n show: \"/admin/pull_request_apps/:pullRequestAppId/course-deployments/:courseDeploymentId\",\n },\n },\n members: \"/admin/members\",\n settings: {\n index: \"/admin/settings\",\n general: {\n apiSettings: \"/admin/settings/general/api-settings\",\n redirectUrls: \"/admin/settings/general/redirect-urls\",\n basicInfos: \"/admin/settings/general/basic-infos\",\n customDomains: {\n index: \"/admin/settings/general/custom-domains\",\n },\n security: {\n index: \"/admin/settings/general/security\",\n },\n roles: \"/admin/settings/general/roles\",\n },\n integrations: {\n index: \"/admin/settings/integrations\",\n stripe: {\n index: \"/admin/settings/integrations/stripe\",\n manage: \"/admin/settings/integrations/stripe/manage\",\n },\n googleAnalytics: {\n index: \"/admin/settings/integrations/google-analytics\",\n manage: \"/admin/settings/integrations/google-analytics/manage\",\n },\n },\n },\n reports: {\n index: \"/admin/reports\",\n invalidUrls: \"/admin/reports/invalid-urls\",\n },\n assets: {\n index: \"/admin/assets\",\n databases: \"/admin/assets/databases\",\n videos: \"/admin/assets/videos\",\n audios: \"/admin/assets/audios\",\n resources: \"/admin/assets/resources\",\n },\n },\n home: \"/\",\n};\n\nexport default routes;\n","import { t } from \"i18next\";\nimport { buildUrl } from \"neetocommons/utils\";\n\nimport routes from \"routes\";\n\nimport { SETTINGS_CATEGORIES_LABELS } from \"./constants\";\n\nexport const buildSettingsBreadcrumbs = (category, pageTitle) => [\n {\n link: routes.admin.settings.index,\n text: t(\"neetoRedirectUrls.settings.title\"),\n },\n {\n link: buildUrl(routes.admin.settings.index, {\n category: category.toLowerCase(),\n }),\n text: SETTINGS_CATEGORIES_LABELS[category],\n },\n ...(pageTitle ? [{ text: pageTitle }] : []),\n];\n","import { t } from \"i18next\";\n\nimport { SETTINGS_CATEGORIES } from \"../constants\";\nimport { buildSettingsBreadcrumbs } from \"../utils\";\n\nexport const buildBreadcrumbs = pageTitle =>\n buildSettingsBreadcrumbs(SETTINGS_CATEGORIES.GENERAL, pageTitle);\n\nexport const buildMoreMenuItems = ({\n redirectUrl,\n setUrlDetailsToEdit,\n setUrlDetailsToDelete,\n}) => {\n const { id, fromPath, toPath } = redirectUrl;\n\n return [\n {\n key: \"edit-menu\",\n label: t(\"neetoRedirectUrls.common.edit\"),\n onClick: () => {\n setUrlDetailsToEdit({ id, fromPath, toPath });\n },\n },\n {\n key: \"delete-menu\",\n label: t(\"neetoRedirectUrls.common.delete\"),\n onClick: () => {\n setUrlDetailsToDelete({ id, fromPath, toPath });\n },\n },\n ];\n};\n","import { DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport TableWrapper from \"neetomolecules/TableWrapper\";\nimport { Table } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { buildMoreMenuItems } from \"./utils\";\n\nconst RedirectUrlsTable = ({\n redirectUrls = [],\n currentPageNumber,\n setCurrentPageNumber,\n recordsCount,\n setUrlDetailsToEdit,\n setUrlDetailsToDelete,\n isFetching,\n}) => {\n const truncateUrl = url => {\n const urlString = String(url);\n\n return urlString.length <= 50 ? urlString : `${urlString.slice(0, 50)}...`;\n };\n\n const { t } = useTranslation();\n const columnData = [\n {\n title: t(\"neetoRedirectUrls.redirect.source\"),\n dataIndex: \"source\",\n key: \"name\",\n render: (_, redirectUrl) => {\n const { fromPath } = redirectUrl;\n\n return (\n <div className=\"flex items-center justify-between gap-x-3\">\n <span>{fromPath && truncateUrl(fromPath)}</span>\n <MoreDropdown\n dropdownProps={{ strategy: \"fixed\" }}\n menuItems={buildMoreMenuItems({\n redirectUrl,\n setUrlDetailsToEdit,\n setUrlDetailsToDelete,\n })}\n />\n </div>\n );\n },\n },\n {\n title: t(\"neetoRedirectUrls.redirect.destination\"),\n dataIndex: \"toPath\",\n key: \"toPath\",\n render: toPath => toPath && truncateUrl(toPath),\n },\n ];\n\n return (\n <TableWrapper hasPagination={recordsCount > DEFAULT_PAGE_SIZE}>\n <Table\n {...{ columnData, currentPageNumber }}\n fixedHeight\n handlePageChange={page => setCurrentPageNumber(page)}\n loading={isFetching}\n rowData={redirectUrls}\n totalCount={recordsCount}\n paginationProps={{\n hideOnSinglePage: recordsCount < DEFAULT_PAGE_SIZE + 1,\n showSizeChanger: recordsCount > DEFAULT_PAGE_SIZE,\n }}\n />\n </TableWrapper>\n );\n};\n\nexport default RedirectUrlsTable;\n","import { useRef, useState } from \"react\";\n\nimport { isPresent } from \"neetocist\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport Container from \"neetomolecules/Container\";\nimport Header from \"neetomolecules/Header\";\nimport PageLoader from \"neetomolecules/PageLoader\";\nimport { Pane, NoData, Button } from \"neetoui\";\nimport { isEmpty, isNotNil } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport DeleteRedirectUrlModal from \"components/commons/DeleteRedirectUrlModal\";\nimport RedirectUrlPane from \"components/commons/RedirectUrlPane\";\nimport {\n useFetchAllRedirectUrls,\n useUpdateRedirectUrl,\n useDestroyRedirectUrl,\n useCreateRedirectUrl,\n} from \"hooks/reactQuery/useRedirectUrlApi\";\nimport { CREATE_REDIRECT_URL_HELP_DOC_URL } from \"src/constants/helpUrls\";\n\nimport DomainRedirection from \"./DomainRedirection\";\nimport RedirectUrlsTable from \"./RedirectUrlsTable\";\nimport { buildBreadcrumbs } from \"./utils\";\n\nconst RedirectUrls = () => {\n const { t } = useTranslation();\n const { searchTerm = \"\" } = useQueryParams();\n const initialFocusField = useRef();\n const [currentPageNumber, setCurrentPageNumber] = useState(1);\n const [urlDetailsToDelete, setUrlDetailsToDelete] = useState(null);\n const [urlDetailsToEdit, setUrlDetailsToEdit] = useState(null);\n const [isModalOpen, setIsModalOpen] = useState(false);\n\n const { mutate: createRedirectUrl } = useCreateRedirectUrl();\n\n const searchQuery = {\n page: currentPageNumber,\n ...(isEmpty(searchTerm) ? {} : { searchTerm }),\n };\n\n const {\n data: { count: urlCount = 0, redirectUrls = [], domainRedirectUrl } = {},\n isLoading,\n isFetching,\n } = useFetchAllRedirectUrls({ params: searchQuery });\n const isFiltersVisible = urlCount > 0 || isPresent(searchTerm);\n\n const { mutate: updateRedirectUrl } = useUpdateRedirectUrl();\n\n const { mutate: deleteRedirectUrl } = useDestroyRedirectUrl();\n\n const handleCreateRedirectUrl = redirectUrl => {\n createRedirectUrl(redirectUrl, {\n onSuccess: () => {\n setIsModalOpen(false);\n },\n });\n };\n\n const handleRedirectUrlUpdate = redirectUrl => {\n updateRedirectUrl(\n { id: redirectUrl.id, payload: redirectUrl },\n {\n onSettled: () => {\n setUrlDetailsToEdit(null);\n },\n }\n );\n };\n\n const handleRedirectUrlDelete = urlId => {\n deleteRedirectUrl(urlId, {\n onSettled: () => {\n setUrlDetailsToDelete(null);\n },\n });\n };\n\n const pageTitle = t(\"neetoRedirectUrls.settings.redirecturl.title\");\n\n const setInitialFocusField = fieldRef =>\n (initialFocusField.current = fieldRef);\n\n return (\n <Container className=\"w-full\">\n {isLoading ? (\n <PageLoader />\n ) : (\n <>\n {\" \"}\n <Header\n breadcrumbs={buildBreadcrumbs(pageTitle)}\n title={pageTitle}\n actionBlock={\n <Button\n label={t(\"neetoRedirectUrls.redirect.add\")}\n onClick={() => setIsModalOpen(true)}\n />\n }\n searchProps={\n isFiltersVisible && {\n placeholder: t(\"neetoRedirectUrls.redirect.search\"),\n }\n }\n />\n <>\n {isEmpty(redirectUrls) ? (\n <div className=\"flex h-full w-full items-center justify-center\">\n <NoData\n title={t(\"neetoRedirectUrls.emptyState.redirectURLs.title\")}\n helpText={\n <Trans\n i18nKey=\"neetoRedirectUrls.emptyState.redirectURLs.description\"\n components={{\n helpLink: (\n <a\n className=\"text-blue-600 underline\"\n href={CREATE_REDIRECT_URL_HELP_DOC_URL}\n rel=\"noreferrer\"\n target=\"_blank\"\n />\n ),\n }}\n />\n }\n primaryButtonProps={{\n label: t(\"neetoRedirectUrls.redirect.add\"),\n onClick: () => setIsModalOpen(true),\n }}\n />\n </div>\n ) : (\n <>\n <div className=\"w-full\">\n <DomainRedirection {...{ domainRedirectUrl }} />\n </div>\n <RedirectUrlsTable\n {...{\n currentPageNumber,\n isFetching,\n redirectUrls,\n setCurrentPageNumber,\n setUrlDetailsToDelete,\n setUrlDetailsToEdit,\n }}\n recordsCount={urlCount}\n />\n </>\n )}\n <DeleteRedirectUrlModal\n detailsToDelete={urlDetailsToDelete}\n handleClose={() => setUrlDetailsToDelete(null)}\n handleSubmit={handleRedirectUrlDelete}\n isOpen={urlDetailsToDelete !== null}\n />\n <Pane\n initialFocusRef={initialFocusField}\n isOpen={isModalOpen || isNotNil(urlDetailsToEdit)}\n onClose={() => {\n setIsModalOpen(false);\n setUrlDetailsToEdit(null);\n }}\n >\n <RedirectUrlPane\n {...{ setInitialFocusField }}\n handleClose={() => setIsModalOpen(false)}\n initialValues={urlDetailsToEdit ?? {}}\n handleSubmit={\n isNotNil(urlDetailsToEdit)\n ? handleRedirectUrlUpdate\n : handleCreateRedirectUrl\n }\n />\n </Pane>\n </>\n </>\n )}\n </Container>\n );\n};\n\nexport default RedirectUrls;\n"],"names":["DeleteRedirectUrlModal","_ref","handleClose","handleSubmit","detailsToDelete","isOpen","_useTranslation","useTranslation","t","id","toPath","fromPath","title","_jsx","Alert","submitButtonLabel","message","Trans","i18nKey","values","from_path","to_path","onClose","onSubmit","URL_WITH_PROTOCOL_REGEX","URL_PATHNAME_REGEX","RedirectUrlPane","_ref$initialValues","initialValues","_ref$setInitialFocusF","setInitialFocusField","noop","redirectUrlId","_jsxs","_Fragment","children","Pane","Header","Typography","style","Form","formikProps","validationSchema","Yup","object","shape","string","required","entity","matches","RegExp","concat","source","_objectSpread","Body","className","Input","label","name","ref","placeholder","window","location","origin","Footer","ActionBlock","cancelButtonProps","onClick","REDIRECT_URLS_BASE_URL","fetch","axios","get","fetchAll","params","create","payload","post","update","put","destroy","redirectUrlApi","QUERY_KEYS","REDIRECT_URLS","useFetchAllRedirectUrls","searchQuery","options","useQuery","queryKey","queryFn","useCreateRedirectUrl","useMutationWithInvalidation","keysToInvalidate","useUpdateRedirectUrl","useDestroyRedirectUrl","DOC_BASE_URL","globalProps","appName","toLowerCase","CREATE_REDIRECT_URL_HELP_DOC_URL","DOMAIN_LEVEL_REDIRECT_HELP_DOC_URL","DOMAIN_REDIRECTION_VALIDATION_SCHEMA","yup","nullable","when","is","then","notOneOf","DomainRedirection","domainRedirectUrl","_useState","useState","_useState2","_slicedToArray","isEditingDomainRedirect","setIsEditingDomainRedirect","_useCreateRedirectUrl","createLink","mutateAsync","_useUpdateRedirectUrl","updateLink","_useDestroyRedirectUr","destroyLink","mutate","domainRedirectionActive","isPresent","redirection_type","handleRemoveRedirection","domainLinkActive","useEffect","enableReinitialize","_ref2","dirty","Label","Switch","component","weight","components","Link","Button","href","target","FormikInlineInput","handleCancel","disabled","submitButtonProps","icon","Edit","SETTINGS_CATEGORIES","GENERAL","SETTINGS_CATEGORIES_LABELS","_defineProperty","routes","admin","index","courses","chapters","show","chapterVersions","pages","pageVersions","deployments","configure","security","certificateConfiguration","pullRequestApps","courseDeployments","members","settings","general","apiSettings","redirectUrls","basicInfos","customDomains","roles","integrations","stripe","manage","googleAnalytics","reports","invalidUrls","assets","databases","videos","audios","resources","home","buildSettingsBreadcrumbs","category","pageTitle","link","text","buildUrl","_toConsumableArray","buildBreadcrumbs","buildMoreMenuItems","redirectUrl","setUrlDetailsToEdit","setUrlDetailsToDelete","key","RedirectUrlsTable","_ref$redirectUrls","currentPageNumber","setCurrentPageNumber","recordsCount","isFetching","truncateUrl","url","urlString","String","length","slice","columnData","dataIndex","render","_","MoreDropdown","dropdownProps","strategy","menuItems","TableWrapper","hasPagination","DEFAULT_PAGE_SIZE","Table","fixedHeight","handlePageChange","page","loading","rowData","totalCount","paginationProps","hideOnSinglePage","showSizeChanger","RedirectUrls","_useQueryParams","useQueryParams","_useQueryParams$searc","searchTerm","initialFocusField","useRef","_useState3","_useState4","urlDetailsToDelete","_useState5","_useState6","urlDetailsToEdit","_useState7","_useState8","isModalOpen","setIsModalOpen","createRedirectUrl","isEmpty","_useFetchAllRedirectU","_useFetchAllRedirectU2","data","_useFetchAllRedirectU3","_useFetchAllRedirectU4","count","urlCount","_useFetchAllRedirectU5","isLoading","isFiltersVisible","updateRedirectUrl","deleteRedirectUrl","handleCreateRedirectUrl","onSuccess","handleRedirectUrlUpdate","onSettled","handleRedirectUrlDelete","urlId","fieldRef","current","Container","PageLoader","breadcrumbs","actionBlock","searchProps","NoData","helpText","helpLink","rel","primaryButtonProps","initialFocusRef","isNotNil"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"RedirectUrls.js","sources":["../app/javascript/src/components/commons/DeleteRedirectUrlModal.jsx","../app/javascript/src/constants/regexp.js","../app/javascript/src/components/commons/RedirectUrlPane.jsx","../app/javascript/src/constants/index.js","../app/javascript/src/apis/redirect_url.js","../app/javascript/src/constants/query.js","../app/javascript/src/hooks/reactQuery/useRedirectUrlApi.js","../app/javascript/src/constants/helpUrls.js","../app/javascript/src/components/RedirectUrls/DomainRedirection/constants.js","../app/javascript/src/components/RedirectUrls/DomainRedirection/index.jsx","../app/javascript/src/components/constants.js","../app/javascript/src/routes.js","../app/javascript/src/components/utils.js","../app/javascript/src/components/RedirectUrls/utils.js","../app/javascript/src/components/RedirectUrls/RedirectUrlsTable.jsx","../app/javascript/src/components/RedirectUrls/index.jsx"],"sourcesContent":["import { Alert } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nconst DeleteRedirectUrlModal = ({\n handleClose,\n handleSubmit,\n detailsToDelete,\n isOpen,\n}) => {\n const { t } = useTranslation();\n if (detailsToDelete === null) return null;\n\n const { id, toPath, fromPath } = detailsToDelete;\n const title = t(\"neetoRedirectUrls.alerts.delete.title\");\n\n return (\n <Alert\n {...{ isOpen, title }}\n submitButtonLabel={t(\"neetoRedirectUrls.common.delete\")}\n message={\n <Trans\n i18nKey=\"neetoRedirectUrls.alerts.delete.confirm\"\n values={{ from_path: fromPath, to_path: toPath }}\n />\n }\n onClose={handleClose}\n onSubmit={() => handleSubmit(id)}\n />\n );\n};\n\nDeleteRedirectUrlModal.propTypes = {\n handleClose: PropTypes.func,\n handleSubmit: PropTypes.func,\n isOpen: PropTypes.bool,\n};\n\nexport default DeleteRedirectUrlModal;\n","export const URL_WITH_PROTOCOL_REGEX =\n/^(http(s)?):\\/\\/[(www.)?a-zA-Z0-9@:%._+~#=-]{2,256}\\.[a-z]{2,6}\\b([-a-zA-Z0-9@:%_+.~#?&//=]*)$/g;\n\nexport const URL_PATHNAME_REGEX = /^\\/[-a-zA-Z0-9@:%_+.~#?&//=]*$/g;\n","import { noop } from \"neetocist\";\nimport { Pane, Typography } from \"neetoui\";\nimport { Input, Form, ActionBlock } from \"neetoui/formik\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\nimport * as Yup from \"yup\";\n\nimport {\n URL_PATHNAME_REGEX,\n URL_WITH_PROTOCOL_REGEX,\n} from \"src/constants/regexp\";\n\nconst RedirectUrlPane = ({\n handleClose,\n handleSubmit,\n initialValues = {},\n setInitialFocusField = noop,\n}) => {\n const { t } = useTranslation();\n const redirectUrlId = initialValues?.id;\n\n return (\n <>\n <Pane.Header>\n <Typography style=\"h2\">\n {redirectUrlId\n ? t(\"neetoRedirectUrls.redirect.edit\")\n : t(\"neetoRedirectUrls.redirect.add\")}\n </Typography>\n </Pane.Header>\n <Form\n formikProps={{\n initialValues: initialValues || {\n fromPath: \"\",\n toPath: \"\",\n },\n validationSchema: Yup.object().shape({\n fromPath: Yup.string()\n .required(\n t(\"neetoRedirectUrls.redirect.validations.required\", {\n entity: \"Source\",\n })\n )\n .matches(\n URL_PATHNAME_REGEX,\n t(\"neetoRedirectUrls.redirect.validations.source\")\n ),\n toPath: Yup.string()\n .required(\n t(\"neetoRedirectUrls.redirect.validations.required\", {\n entity: \"Destination\",\n })\n )\n .matches(\n new RegExp(\n `${URL_WITH_PROTOCOL_REGEX.source}|${URL_PATHNAME_REGEX.source}`\n ),\n t(\"neetoRedirectUrls.redirect.validations.destination\")\n ),\n }),\n onSubmit: values => {\n handleSubmit({ ...values });\n },\n }}\n >\n <>\n <Pane.Body>\n <div className=\"w-full space-y-4\">\n <Input\n id=\"fromPath\"\n label={t(\"neetoRedirectUrls.redirect.source\")}\n name=\"fromPath\"\n ref={setInitialFocusField}\n placeholder={t(\n \"neetoRedirectUrls.common.placeholder.relativeUrl\"\n )}\n />\n <Input\n id=\"toPath\"\n label={t(\"neetoRedirectUrls.redirect.destination\")}\n name=\"toPath\"\n placeholder={window.location.origin}\n />\n </div>\n </Pane.Body>\n <Pane.Footer>\n <ActionBlock cancelButtonProps={{ onClick: handleClose }} />\n </Pane.Footer>\n </>\n </Form>\n </>\n );\n};\n\nRedirectUrlPane.propTypes = {\n handleClose: PropTypes.func,\n handleSubmit: PropTypes.func,\n};\n\nexport default RedirectUrlPane;\n","export const REDIRECT_URLS_BASE_URL =\n \"/neeto_redirect_urls_engine/api/v1/redirect_urls\";\n","import axios from \"axios\";\n\nimport { REDIRECT_URLS_BASE_URL } from \"src/constants\";\n\nconst fetch = () => axios.get(REDIRECT_URLS_BASE_URL);\n\nconst fetchAll = params => axios.get(REDIRECT_URLS_BASE_URL, params);\n\nconst create = payload => axios.post(REDIRECT_URLS_BASE_URL, payload);\n\nconst update = ({ id, payload }) =>\n axios.put(`${REDIRECT_URLS_BASE_URL}/${id}`, payload);\n\nconst destroy = id => axios.delete(`${REDIRECT_URLS_BASE_URL}/${id}`);\n\nconst redirectUrlApi = { fetch, fetchAll, create, update, destroy };\n\nexport default redirectUrlApi;\n","export const QUERY_KEYS = { REDIRECT_URLS: \"redirect_urls\" };\n\n","import { useQuery } from \"@tanstack/react-query\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\n\nimport redirectUrlApi from \"apis/redirect_url\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nconst useFetchAllRedirectUrls = (searchQuery, options) =>\n useQuery({\n queryKey: [QUERY_KEYS.REDIRECT_URLS, searchQuery],\n queryFn: () => redirectUrlApi.fetchAll(searchQuery),\n ...options,\n });\n\nconst useCreateRedirectUrl = options =>\n useMutationWithInvalidation(redirectUrlApi.create, {\n keysToInvalidate: [QUERY_KEYS.REDIRECT_URLS],\n ...options,\n });\n\nconst useUpdateRedirectUrl = options =>\n useMutationWithInvalidation(redirectUrlApi.update, {\n keysToInvalidate: [QUERY_KEYS.REDIRECT_URLS],\n ...options,\n });\n\nconst useDestroyRedirectUrl = options =>\n useMutationWithInvalidation(redirectUrlApi.destroy, {\n keysToInvalidate: [QUERY_KEYS.REDIRECT_URLS],\n ...options,\n });\n\nexport {\n useFetchAllRedirectUrls,\n useCreateRedirectUrl,\n useUpdateRedirectUrl,\n useDestroyRedirectUrl,\n};\n","export const DOC_BASE_URL = `https://help.${globalProps.appName.toLowerCase()}.com/articles`;\n\nexport const CREATE_REDIRECT_URL_HELP_DOC_URL = `${DOC_BASE_URL}/creating-a-redirect-url`;\n\nexport const DOMAIN_LEVEL_REDIRECT_HELP_DOC_URL = `${DOC_BASE_URL}/domain-level-redirection`;\n","import { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nimport { URL_WITH_PROTOCOL_REGEX } from \"src/constants/regexp\";\n\nexport const DOMAIN_REDIRECTION_VALIDATION_SCHEMA = yup.object().shape({\n toPath: yup\n .string()\n .nullable()\n .when(\"domainRedirectionActive\", {\n is: true,\n then: yup\n .string()\n .required(\n t(\"neetoRedirectUrls.redirect.validations.required\", {\n entity: \"Destination\",\n })\n )\n .matches(\n URL_WITH_PROTOCOL_REGEX,\n t(\"neetoRedirectUrls.redirect.validations.destination\")\n )\n .notOneOf(\n [location.origin],\n t(\"neetoRedirectUrls.redirect.validations.duplicateDomain\")\n ),\n }),\n});\n","import { useEffect, useState } from \"react\";\n\nimport { isPresent } from \"neetocist\";\nimport { Edit } from \"neetoicons\";\nimport { FormikInlineInput } from \"neetomolecules/InlineInput\";\nimport { Typography, Label, Button } from \"neetoui\";\nimport { Switch, Form, Input } from \"neetoui/formik\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport {\n useCreateRedirectUrl,\n useDestroyRedirectUrl,\n useUpdateRedirectUrl,\n} from \"hooks/reactQuery/useRedirectUrlApi\";\nimport { DOMAIN_LEVEL_REDIRECT_HELP_DOC_URL } from \"src/constants/helpUrls\";\n\nimport { DOMAIN_REDIRECTION_VALIDATION_SCHEMA } from \"./constants\";\n\nconst DomainRedirection = ({ domainRedirectUrl }) => {\n const [isEditingDomainRedirect, setIsEditingDomainRedirect] = useState(true);\n const { t } = useTranslation();\n const { mutateAsync: createLink } = useCreateRedirectUrl();\n\n const { mutateAsync: updateLink } = useUpdateRedirectUrl();\n const { mutate: destroyLink } = useDestroyRedirectUrl();\n\n const initialValues = {\n domainRedirectionActive: isPresent(domainRedirectUrl?.toPath),\n toPath: domainRedirectUrl?.toPath,\n };\n\n const handleSubmit = values => {\n const payload = {\n toPath: values.toPath,\n redirection_type: \"domain\",\n };\n\n return domainRedirectUrl\n ? updateLink({ id: domainRedirectUrl.id, payload })\n : createLink(payload);\n };\n\n const handleRemoveRedirection = domainLinkActive => {\n if (!(domainLinkActive && domainRedirectUrl)) {\n setIsEditingDomainRedirect(true);\n\n return;\n }\n destroyLink(domainRedirectUrl.id);\n };\n\n useEffect(() => {\n if (isPresent(domainRedirectUrl?.toPath)) {\n setIsEditingDomainRedirect(false);\n }\n }, [domainRedirectUrl]);\n\n return (\n <div className=\"neeto-ui-border-gray-200 mb-8 border-b \">\n <Form\n className=\"mb-2 w-full\"\n formikProps={{\n initialValues,\n validationSchema: DOMAIN_REDIRECTION_VALIDATION_SCHEMA,\n enableReinitialize: true,\n onSubmit: handleSubmit,\n }}\n >\n {({ values: { domainRedirectionActive }, dirty }) => (\n <>\n <div className=\"flex items-center justify-between py-3\">\n <div className=\"flex flex-col space-y-2\">\n <Label className=\"flex items-center gap-2\">\n <Switch\n data-cy=\"domain-level-redirection-switch\"\n name=\"domainRedirectionActive\"\n onClick={() =>\n handleRemoveRedirection(domainRedirectionActive)\n }\n />\n <Typography\n component=\"span\"\n data-cy=\"domain-level-redirection-heading\"\n style=\"h5\"\n weight=\"medium\"\n >\n {t(\"neetoRedirectUrls.redirect.domainLevelRedirect.label\")}\n </Typography>\n </Label>\n <Typography component=\"p\" style=\"body2\">\n <Trans\n i18nKey=\"neetoRedirectUrls.redirect.domainLevelRedirect.description\"\n components={{\n Link: (\n <Button\n className=\"text-sm\"\n data-cy=\"domain-level-redirections-help-button\"\n href={DOMAIN_LEVEL_REDIRECT_HELP_DOC_URL}\n style=\"link\"\n target=\"_blank\"\n />\n ),\n }}\n />\n </Typography>\n </div>\n </div>\n {domainRedirectionActive && (\n <div className=\"my-2 flex w-1/2 items-start space-x-3\">\n {isEditingDomainRedirect ? (\n <FormikInlineInput\n data-cy=\"domain-level-redirection-link-text-field\"\n handleCancel={() => dirty}\n name=\"toPath\"\n placeholder={t(\"neetoRedirectUrls.common.placeholder.url\")}\n cancelButtonProps={{\n disabled: !dirty,\n \"data-cy\": \"domain-level-redirection-link-cancel-button\",\n }}\n submitButtonProps={{\n \"data-cy\": \"domain-level-redirection-link-submit-button\",\n }}\n />\n ) : (\n <>\n <Input disabled name=\"toPath\" />\n <Button\n icon={Edit}\n style=\"link\"\n onClick={() => setIsEditingDomainRedirect(true)}\n />\n </>\n )}\n </div>\n )}\n </>\n )}\n </Form>\n </div>\n );\n};\n\nexport default DomainRedirection;\n","import { t } from \"i18next\";\n\nexport const SETTINGS_CATEGORIES = { GENERAL: \"GENERAL\" };\n\nexport const SETTINGS_CATEGORIES_LABELS = {\n [SETTINGS_CATEGORIES.GENERAL]: t(\"neetoRedirectUrls.settings.general.title\"),\n};\n","const routes = {\n admin: {\n index: \"/admin\",\n courses: {\n chapters: {\n show: \"/admin/courses/:courseId/chapters/:chapterId\",\n chapterVersions: {\n show: \"/admin/courses/:courseId/chapters/:chapterId/chapter-versions/:chapterVersionId\",\n },\n pages: {\n show: \"/admin/courses/:courseId/chapters/:chapterId/pages/:pageId\",\n pageVersions: {\n show: \"/admin/courses/:courseId/chapters/:chapterId/pages/:pageId/page-versions/:pageVersionId\",\n },\n },\n },\n index: \"/admin/courses\",\n show: \"/admin/courses/:courseId\",\n deployments: {\n index: \"/admin/courses/:courseId/deployments\",\n show: \"/admin/courses/:courseId/deployments/:deploymentId\",\n },\n configure: {\n index: \"/admin/courses/:courseId/configure\",\n security: \"/admin/courses/:courseId/configure/security\",\n certificateConfiguration:\n \"/admin/courses/:courseId/configure/certificate_configuration\",\n },\n },\n pullRequestApps: {\n index: \"/admin/pull_request_apps\",\n show: \"/admin/pull_request_apps/:pullRequestAppId\",\n courseDeployments: {\n show: \"/admin/pull_request_apps/:pullRequestAppId/course-deployments/:courseDeploymentId\",\n },\n },\n members: \"/admin/members\",\n settings: {\n index: \"/admin/settings\",\n general: {\n apiSettings: \"/admin/settings/general/api-settings\",\n redirectUrls: \"/admin/settings/general/redirect-urls\",\n basicInfos: \"/admin/settings/general/basic-infos\",\n customDomains: {\n index: \"/admin/settings/general/custom-domains\",\n },\n security: {\n index: \"/admin/settings/general/security\",\n },\n roles: \"/admin/settings/general/roles\",\n },\n integrations: {\n index: \"/admin/settings/integrations\",\n stripe: {\n index: \"/admin/settings/integrations/stripe\",\n manage: \"/admin/settings/integrations/stripe/manage\",\n },\n googleAnalytics: {\n index: \"/admin/settings/integrations/google-analytics\",\n manage: \"/admin/settings/integrations/google-analytics/manage\",\n },\n },\n },\n reports: {\n index: \"/admin/reports\",\n invalidUrls: \"/admin/reports/invalid-urls\",\n },\n assets: {\n index: \"/admin/assets\",\n databases: \"/admin/assets/databases\",\n videos: \"/admin/assets/videos\",\n audios: \"/admin/assets/audios\",\n resources: \"/admin/assets/resources\",\n },\n },\n home: \"/\",\n};\n\nexport default routes;\n","import { t } from \"i18next\";\nimport { buildUrl } from \"neetocommons/utils\";\n\nimport routes from \"routes\";\n\nimport { SETTINGS_CATEGORIES_LABELS } from \"./constants\";\n\nexport const buildSettingsBreadcrumbs = (category, pageTitle) => [\n {\n link: routes.admin.settings.index,\n text: t(\"neetoRedirectUrls.settings.title\"),\n },\n {\n link: buildUrl(routes.admin.settings.index, {\n category: category.toLowerCase(),\n }),\n text: SETTINGS_CATEGORIES_LABELS[category],\n },\n ...(pageTitle ? [{ text: pageTitle }] : []),\n];\n","import { t } from \"i18next\";\n\nimport { SETTINGS_CATEGORIES } from \"../constants\";\nimport { buildSettingsBreadcrumbs } from \"../utils\";\n\nexport const buildBreadcrumbs = pageTitle =>\n buildSettingsBreadcrumbs(SETTINGS_CATEGORIES.GENERAL, pageTitle);\n\nexport const buildMoreMenuItems = ({\n redirectUrl,\n setUrlDetailsToEdit,\n setUrlDetailsToDelete,\n}) => {\n const { id, fromPath, toPath } = redirectUrl;\n\n return [\n {\n key: \"edit-menu\",\n label: t(\"neetoRedirectUrls.common.edit\"),\n onClick: () => {\n setUrlDetailsToEdit({ id, fromPath, toPath });\n },\n },\n {\n key: \"delete-menu\",\n label: t(\"neetoRedirectUrls.common.delete\"),\n onClick: () => {\n setUrlDetailsToDelete({ id, fromPath, toPath });\n },\n },\n ];\n};\n","import { DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport TableWrapper from \"neetomolecules/TableWrapper\";\nimport { Table } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { buildMoreMenuItems } from \"./utils\";\n\nconst RedirectUrlsTable = ({\n redirectUrls = [],\n currentPageNumber,\n setCurrentPageNumber,\n recordsCount,\n setUrlDetailsToEdit,\n setUrlDetailsToDelete,\n isFetching,\n}) => {\n const truncateUrl = url => {\n const urlString = String(url);\n\n return urlString.length <= 50 ? urlString : `${urlString.slice(0, 50)}...`;\n };\n\n const { t } = useTranslation();\n const columnData = [\n {\n title: t(\"neetoRedirectUrls.redirect.source\"),\n dataIndex: \"source\",\n key: \"name\",\n render: (_, redirectUrl) => {\n const { fromPath } = redirectUrl;\n\n return (\n <div className=\"flex items-center justify-between gap-x-3\">\n <span>{fromPath && truncateUrl(fromPath)}</span>\n <MoreDropdown\n dropdownProps={{ strategy: \"fixed\" }}\n menuItems={buildMoreMenuItems({\n redirectUrl,\n setUrlDetailsToEdit,\n setUrlDetailsToDelete,\n })}\n />\n </div>\n );\n },\n },\n {\n title: t(\"neetoRedirectUrls.redirect.destination\"),\n dataIndex: \"toPath\",\n key: \"toPath\",\n render: toPath => toPath && truncateUrl(toPath),\n },\n ];\n\n return (\n <TableWrapper hasPagination={recordsCount > DEFAULT_PAGE_SIZE}>\n <Table\n {...{ columnData, currentPageNumber }}\n fixedHeight\n handlePageChange={page => setCurrentPageNumber(page)}\n loading={isFetching}\n rowData={redirectUrls}\n totalCount={recordsCount}\n paginationProps={{\n hideOnSinglePage: recordsCount < DEFAULT_PAGE_SIZE + 1,\n showSizeChanger: recordsCount > DEFAULT_PAGE_SIZE,\n }}\n />\n </TableWrapper>\n );\n};\n\nexport default RedirectUrlsTable;\n","import { useRef, useState } from \"react\";\n\nimport { isPresent } from \"neetocist\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport Container from \"neetomolecules/Container\";\nimport Header from \"neetomolecules/Header\";\nimport PageLoader from \"neetomolecules/PageLoader\";\nimport { Pane, NoData, Button } from \"neetoui\";\nimport { isEmpty, isNotNil } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport DeleteRedirectUrlModal from \"components/commons/DeleteRedirectUrlModal\";\nimport RedirectUrlPane from \"components/commons/RedirectUrlPane\";\nimport {\n useFetchAllRedirectUrls,\n useUpdateRedirectUrl,\n useDestroyRedirectUrl,\n useCreateRedirectUrl,\n} from \"hooks/reactQuery/useRedirectUrlApi\";\nimport { CREATE_REDIRECT_URL_HELP_DOC_URL } from \"src/constants/helpUrls\";\n\nimport DomainRedirection from \"./DomainRedirection\";\nimport RedirectUrlsTable from \"./RedirectUrlsTable\";\nimport { buildBreadcrumbs } from \"./utils\";\n\nconst RedirectUrls = () => {\n const { t } = useTranslation();\n const { searchTerm = \"\" } = useQueryParams();\n const initialFocusField = useRef();\n const [currentPageNumber, setCurrentPageNumber] = useState(1);\n const [urlDetailsToDelete, setUrlDetailsToDelete] = useState(null);\n const [urlDetailsToEdit, setUrlDetailsToEdit] = useState(null);\n const [isModalOpen, setIsModalOpen] = useState(false);\n\n const { mutate: createRedirectUrl } = useCreateRedirectUrl();\n\n const searchQuery = {\n page: currentPageNumber,\n ...(isEmpty(searchTerm) ? {} : { searchTerm }),\n };\n\n const {\n data: { redirectUrls = [], domainRedirectUrl } = {},\n isLoading,\n isFetching,\n } = useFetchAllRedirectUrls({ params: searchQuery });\n\n const isFiltersVisible = redirectUrls?.length > 0 || isPresent(searchTerm);\n\n const { mutate: updateRedirectUrl } = useUpdateRedirectUrl();\n\n const { mutate: deleteRedirectUrl } = useDestroyRedirectUrl();\n\n const handleCreateRedirectUrl = redirectUrl => {\n createRedirectUrl(redirectUrl, {\n onSuccess: () => {\n setIsModalOpen(false);\n },\n });\n };\n\n const handleRedirectUrlUpdate = redirectUrl => {\n updateRedirectUrl(\n { id: redirectUrl.id, payload: redirectUrl },\n {\n onSettled: () => {\n setUrlDetailsToEdit(null);\n },\n }\n );\n };\n\n const handleRedirectUrlDelete = urlId => {\n deleteRedirectUrl(urlId, {\n onSettled: () => {\n setUrlDetailsToDelete(null);\n },\n });\n };\n\n const pageTitle = t(\"neetoRedirectUrls.settings.redirecturl.title\");\n\n const setInitialFocusField = fieldRef =>\n (initialFocusField.current = fieldRef);\n\n return (\n <Container className=\"w-full\">\n {isLoading ? (\n <PageLoader />\n ) : (\n <>\n {\" \"}\n <Header\n breadcrumbs={buildBreadcrumbs(pageTitle)}\n title={pageTitle}\n actionBlock={\n <Button\n label={t(\"neetoRedirectUrls.redirect.add\")}\n onClick={() => setIsModalOpen(true)}\n />\n }\n searchProps={\n isFiltersVisible && {\n placeholder: t(\"neetoRedirectUrls.redirect.search\"),\n }\n }\n />\n <>\n {isEmpty(redirectUrls) ? (\n <div className=\"flex h-full w-full items-center justify-center\">\n <NoData\n title={t(\"neetoRedirectUrls.emptyState.redirectURLs.title\")}\n helpText={\n <Trans\n i18nKey=\"neetoRedirectUrls.emptyState.redirectURLs.description\"\n components={{\n helpLink: (\n <a\n className=\"text-blue-600 underline\"\n href={CREATE_REDIRECT_URL_HELP_DOC_URL}\n rel=\"noreferrer\"\n target=\"_blank\"\n />\n ),\n }}\n />\n }\n primaryButtonProps={{\n label: t(\"neetoRedirectUrls.redirect.add\"),\n onClick: () => setIsModalOpen(true),\n }}\n />\n </div>\n ) : (\n <>\n <div className=\"w-full\">\n <DomainRedirection {...{ domainRedirectUrl }} />\n </div>\n <RedirectUrlsTable\n {...{\n currentPageNumber,\n isFetching,\n redirectUrls,\n setCurrentPageNumber,\n setUrlDetailsToDelete,\n setUrlDetailsToEdit,\n }}\n recordsCount={redirectUrls.length}\n />\n </>\n )}\n <DeleteRedirectUrlModal\n detailsToDelete={urlDetailsToDelete}\n handleClose={() => setUrlDetailsToDelete(null)}\n handleSubmit={handleRedirectUrlDelete}\n isOpen={urlDetailsToDelete !== null}\n />\n <Pane\n initialFocusRef={initialFocusField}\n isOpen={isModalOpen || isNotNil(urlDetailsToEdit)}\n onClose={() => {\n setIsModalOpen(false);\n setUrlDetailsToEdit(null);\n }}\n >\n <RedirectUrlPane\n {...{ setInitialFocusField }}\n handleClose={() => setIsModalOpen(false)}\n initialValues={urlDetailsToEdit ?? {}}\n handleSubmit={\n isNotNil(urlDetailsToEdit)\n ? handleRedirectUrlUpdate\n : handleCreateRedirectUrl\n }\n />\n </Pane>\n </>\n </>\n )}\n </Container>\n );\n};\n\nexport default RedirectUrls;\n"],"names":["DeleteRedirectUrlModal","_ref","handleClose","handleSubmit","detailsToDelete","isOpen","_useTranslation","useTranslation","t","id","toPath","fromPath","title","_jsx","Alert","submitButtonLabel","message","Trans","i18nKey","values","from_path","to_path","onClose","onSubmit","URL_WITH_PROTOCOL_REGEX","URL_PATHNAME_REGEX","RedirectUrlPane","_ref$initialValues","initialValues","_ref$setInitialFocusF","setInitialFocusField","noop","redirectUrlId","_jsxs","_Fragment","children","Pane","Header","Typography","style","Form","formikProps","validationSchema","Yup","object","shape","string","required","entity","matches","RegExp","concat","source","_objectSpread","Body","className","Input","label","name","ref","placeholder","window","location","origin","Footer","ActionBlock","cancelButtonProps","onClick","REDIRECT_URLS_BASE_URL","fetch","axios","get","fetchAll","params","create","payload","post","update","put","destroy","redirectUrlApi","QUERY_KEYS","REDIRECT_URLS","useFetchAllRedirectUrls","searchQuery","options","useQuery","queryKey","queryFn","useCreateRedirectUrl","useMutationWithInvalidation","keysToInvalidate","useUpdateRedirectUrl","useDestroyRedirectUrl","DOC_BASE_URL","globalProps","appName","toLowerCase","CREATE_REDIRECT_URL_HELP_DOC_URL","DOMAIN_LEVEL_REDIRECT_HELP_DOC_URL","DOMAIN_REDIRECTION_VALIDATION_SCHEMA","yup","nullable","when","is","then","notOneOf","DomainRedirection","domainRedirectUrl","_useState","useState","_useState2","_slicedToArray","isEditingDomainRedirect","setIsEditingDomainRedirect","_useCreateRedirectUrl","createLink","mutateAsync","_useUpdateRedirectUrl","updateLink","_useDestroyRedirectUr","destroyLink","mutate","domainRedirectionActive","isPresent","redirection_type","handleRemoveRedirection","domainLinkActive","useEffect","enableReinitialize","_ref2","dirty","Label","Switch","component","weight","components","Link","Button","href","target","FormikInlineInput","handleCancel","disabled","submitButtonProps","icon","Edit","SETTINGS_CATEGORIES","GENERAL","SETTINGS_CATEGORIES_LABELS","_defineProperty","routes","admin","index","courses","chapters","show","chapterVersions","pages","pageVersions","deployments","configure","security","certificateConfiguration","pullRequestApps","courseDeployments","members","settings","general","apiSettings","redirectUrls","basicInfos","customDomains","roles","integrations","stripe","manage","googleAnalytics","reports","invalidUrls","assets","databases","videos","audios","resources","home","buildSettingsBreadcrumbs","category","pageTitle","link","text","buildUrl","_toConsumableArray","buildBreadcrumbs","buildMoreMenuItems","redirectUrl","setUrlDetailsToEdit","setUrlDetailsToDelete","key","RedirectUrlsTable","_ref$redirectUrls","currentPageNumber","setCurrentPageNumber","recordsCount","isFetching","truncateUrl","url","urlString","String","length","slice","columnData","dataIndex","render","_","MoreDropdown","dropdownProps","strategy","menuItems","TableWrapper","hasPagination","DEFAULT_PAGE_SIZE","Table","fixedHeight","handlePageChange","page","loading","rowData","totalCount","paginationProps","hideOnSinglePage","showSizeChanger","RedirectUrls","_useQueryParams","useQueryParams","_useQueryParams$searc","searchTerm","initialFocusField","useRef","_useState3","_useState4","urlDetailsToDelete","_useState5","_useState6","urlDetailsToEdit","_useState7","_useState8","isModalOpen","setIsModalOpen","createRedirectUrl","isEmpty","_useFetchAllRedirectU","_useFetchAllRedirectU2","data","_useFetchAllRedirectU3","_useFetchAllRedirectU4","isLoading","isFiltersVisible","updateRedirectUrl","deleteRedirectUrl","handleCreateRedirectUrl","onSuccess","handleRedirectUrlUpdate","onSettled","handleRedirectUrlDelete","urlId","fieldRef","current","Container","PageLoader","breadcrumbs","actionBlock","searchProps","NoData","helpText","helpLink","rel","primaryButtonProps","initialFocusRef","isNotNil"],"mappings":"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"}
|
package/dist/cjs/RedirectUrls.js
CHANGED
|
@@ -577,14 +577,12 @@ var RedirectUrls = function RedirectUrls() {
|
|
|
577
577
|
}),
|
|
578
578
|
_useFetchAllRedirectU2 = _useFetchAllRedirectU.data,
|
|
579
579
|
_useFetchAllRedirectU3 = _useFetchAllRedirectU2 === void 0 ? {} : _useFetchAllRedirectU2,
|
|
580
|
-
_useFetchAllRedirectU4 = _useFetchAllRedirectU3.
|
|
581
|
-
|
|
582
|
-
_useFetchAllRedirectU5 = _useFetchAllRedirectU3.redirectUrls,
|
|
583
|
-
redirectUrls = _useFetchAllRedirectU5 === void 0 ? [] : _useFetchAllRedirectU5,
|
|
580
|
+
_useFetchAllRedirectU4 = _useFetchAllRedirectU3.redirectUrls,
|
|
581
|
+
redirectUrls = _useFetchAllRedirectU4 === void 0 ? [] : _useFetchAllRedirectU4,
|
|
584
582
|
domainRedirectUrl = _useFetchAllRedirectU3.domainRedirectUrl,
|
|
585
583
|
isLoading = _useFetchAllRedirectU.isLoading,
|
|
586
584
|
isFetching = _useFetchAllRedirectU.isFetching;
|
|
587
|
-
var isFiltersVisible =
|
|
585
|
+
var isFiltersVisible = (redirectUrls === null || redirectUrls === void 0 ? void 0 : redirectUrls.length) > 0 || neetoCist.isPresent(searchTerm);
|
|
588
586
|
var _useUpdateRedirectUrl = useUpdateRedirectUrl(),
|
|
589
587
|
updateRedirectUrl = _useUpdateRedirectUrl.mutate;
|
|
590
588
|
var _useDestroyRedirectUr = useDestroyRedirectUrl(),
|
|
@@ -668,7 +666,7 @@ var RedirectUrls = function RedirectUrls() {
|
|
|
668
666
|
setCurrentPageNumber: setCurrentPageNumber,
|
|
669
667
|
setUrlDetailsToDelete: setUrlDetailsToDelete,
|
|
670
668
|
setUrlDetailsToEdit: setUrlDetailsToEdit,
|
|
671
|
-
recordsCount:
|
|
669
|
+
recordsCount: redirectUrls.length
|
|
672
670
|
})]
|
|
673
671
|
}), /*#__PURE__*/jsxRuntime.jsx(DeleteRedirectUrlModal, {
|
|
674
672
|
detailsToDelete: urlDetailsToDelete,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RedirectUrls.js","sources":["../../app/javascript/src/components/commons/DeleteRedirectUrlModal.jsx","../../app/javascript/src/constants/regexp.js","../../app/javascript/src/components/commons/RedirectUrlPane.jsx","../../app/javascript/src/constants/index.js","../../app/javascript/src/apis/redirect_url.js","../../app/javascript/src/constants/query.js","../../app/javascript/src/hooks/reactQuery/useRedirectUrlApi.js","../../app/javascript/src/constants/helpUrls.js","../../app/javascript/src/components/RedirectUrls/DomainRedirection/constants.js","../../app/javascript/src/components/RedirectUrls/DomainRedirection/index.jsx","../../app/javascript/src/components/constants.js","../../app/javascript/src/routes.js","../../app/javascript/src/components/utils.js","../../app/javascript/src/components/RedirectUrls/utils.js","../../app/javascript/src/components/RedirectUrls/RedirectUrlsTable.jsx","../../app/javascript/src/components/RedirectUrls/index.jsx"],"sourcesContent":["import { Alert } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nconst DeleteRedirectUrlModal = ({\n handleClose,\n handleSubmit,\n detailsToDelete,\n isOpen,\n}) => {\n const { t } = useTranslation();\n if (detailsToDelete === null) return null;\n\n const { id, toPath, fromPath } = detailsToDelete;\n const title = t(\"neetoRedirectUrls.alerts.delete.title\");\n\n return (\n <Alert\n {...{ isOpen, title }}\n submitButtonLabel={t(\"neetoRedirectUrls.common.delete\")}\n message={\n <Trans\n i18nKey=\"neetoRedirectUrls.alerts.delete.confirm\"\n values={{ from_path: fromPath, to_path: toPath }}\n />\n }\n onClose={handleClose}\n onSubmit={() => handleSubmit(id)}\n />\n );\n};\n\nDeleteRedirectUrlModal.propTypes = {\n handleClose: PropTypes.func,\n handleSubmit: PropTypes.func,\n isOpen: PropTypes.bool,\n};\n\nexport default DeleteRedirectUrlModal;\n","export const URL_WITH_PROTOCOL_REGEX =\n/^(http(s)?):\\/\\/[(www.)?a-zA-Z0-9@:%._+~#=-]{2,256}\\.[a-z]{2,6}\\b([-a-zA-Z0-9@:%_+.~#?&//=]*)$/g;\n\nexport const URL_PATHNAME_REGEX = /^\\/[-a-zA-Z0-9@:%_+.~#?&//=]*$/g;\n","import { noop } from \"neetocist\";\nimport { Pane, Typography } from \"neetoui\";\nimport { Input, Form, ActionBlock } from \"neetoui/formik\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\nimport * as Yup from \"yup\";\n\nimport {\n URL_PATHNAME_REGEX,\n URL_WITH_PROTOCOL_REGEX,\n} from \"src/constants/regexp\";\n\nconst RedirectUrlPane = ({\n handleClose,\n handleSubmit,\n initialValues = {},\n setInitialFocusField = noop,\n}) => {\n const { t } = useTranslation();\n const redirectUrlId = initialValues?.id;\n\n return (\n <>\n <Pane.Header>\n <Typography style=\"h2\">\n {redirectUrlId\n ? t(\"neetoRedirectUrls.redirect.edit\")\n : t(\"neetoRedirectUrls.redirect.add\")}\n </Typography>\n </Pane.Header>\n <Form\n formikProps={{\n initialValues: initialValues || {\n fromPath: \"\",\n toPath: \"\",\n },\n validationSchema: Yup.object().shape({\n fromPath: Yup.string()\n .required(\n t(\"neetoRedirectUrls.redirect.validations.required\", {\n entity: \"Source\",\n })\n )\n .matches(\n URL_PATHNAME_REGEX,\n t(\"neetoRedirectUrls.redirect.validations.source\")\n ),\n toPath: Yup.string()\n .required(\n t(\"neetoRedirectUrls.redirect.validations.required\", {\n entity: \"Destination\",\n })\n )\n .matches(\n new RegExp(\n `${URL_WITH_PROTOCOL_REGEX.source}|${URL_PATHNAME_REGEX.source}`\n ),\n t(\"neetoRedirectUrls.redirect.validations.destination\")\n ),\n }),\n onSubmit: values => {\n handleSubmit({ ...values });\n },\n }}\n >\n <>\n <Pane.Body>\n <div className=\"w-full space-y-4\">\n <Input\n id=\"fromPath\"\n label={t(\"neetoRedirectUrls.redirect.source\")}\n name=\"fromPath\"\n ref={setInitialFocusField}\n placeholder={t(\n \"neetoRedirectUrls.common.placeholder.relativeUrl\"\n )}\n />\n <Input\n id=\"toPath\"\n label={t(\"neetoRedirectUrls.redirect.destination\")}\n name=\"toPath\"\n placeholder={window.location.origin}\n />\n </div>\n </Pane.Body>\n <Pane.Footer>\n <ActionBlock cancelButtonProps={{ onClick: handleClose }} />\n </Pane.Footer>\n </>\n </Form>\n </>\n );\n};\n\nRedirectUrlPane.propTypes = {\n handleClose: PropTypes.func,\n handleSubmit: PropTypes.func,\n};\n\nexport default RedirectUrlPane;\n","export const REDIRECT_URLS_BASE_URL =\n \"/neeto_redirect_urls_engine/api/v1/redirect_urls\";\n","import axios from \"axios\";\n\nimport { REDIRECT_URLS_BASE_URL } from \"src/constants\";\n\nconst fetch = () => axios.get(REDIRECT_URLS_BASE_URL);\n\nconst fetchAll = params => axios.get(REDIRECT_URLS_BASE_URL, params);\n\nconst create = payload => axios.post(REDIRECT_URLS_BASE_URL, payload);\n\nconst update = ({ id, payload }) =>\n axios.put(`${REDIRECT_URLS_BASE_URL}/${id}`, payload);\n\nconst destroy = id => axios.delete(`${REDIRECT_URLS_BASE_URL}/${id}`);\n\nconst redirectUrlApi = { fetch, fetchAll, create, update, destroy };\n\nexport default redirectUrlApi;\n","export const QUERY_KEYS = { REDIRECT_URLS: \"redirect_urls\" };\n\n","import { useQuery } from \"@tanstack/react-query\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\n\nimport redirectUrlApi from \"apis/redirect_url\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nconst useFetchAllRedirectUrls = (searchQuery, options) =>\n useQuery({\n queryKey: [QUERY_KEYS.REDIRECT_URLS, searchQuery],\n queryFn: () => redirectUrlApi.fetchAll(searchQuery),\n ...options,\n });\n\nconst useCreateRedirectUrl = options =>\n useMutationWithInvalidation(redirectUrlApi.create, {\n keysToInvalidate: [QUERY_KEYS.REDIRECT_URLS],\n ...options,\n });\n\nconst useUpdateRedirectUrl = options =>\n useMutationWithInvalidation(redirectUrlApi.update, {\n keysToInvalidate: [QUERY_KEYS.REDIRECT_URLS],\n ...options,\n });\n\nconst useDestroyRedirectUrl = options =>\n useMutationWithInvalidation(redirectUrlApi.destroy, {\n keysToInvalidate: [QUERY_KEYS.REDIRECT_URLS],\n ...options,\n });\n\nexport {\n useFetchAllRedirectUrls,\n useCreateRedirectUrl,\n useUpdateRedirectUrl,\n useDestroyRedirectUrl,\n};\n","export const DOC_BASE_URL = `https://help.${globalProps.appName.toLowerCase()}.com/articles`;\n\nexport const CREATE_REDIRECT_URL_HELP_DOC_URL = `${DOC_BASE_URL}/creating-a-redirect-url`;\n\nexport const DOMAIN_LEVEL_REDIRECT_HELP_DOC_URL = `${DOC_BASE_URL}/domain-level-redirection`;\n","import { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nimport { URL_WITH_PROTOCOL_REGEX } from \"src/constants/regexp\";\n\nexport const DOMAIN_REDIRECTION_VALIDATION_SCHEMA = yup.object().shape({\n toPath: yup\n .string()\n .nullable()\n .when(\"domainRedirectionActive\", {\n is: true,\n then: yup\n .string()\n .required(\n t(\"neetoRedirectUrls.redirect.validations.required\", {\n entity: \"Destination\",\n })\n )\n .matches(\n URL_WITH_PROTOCOL_REGEX,\n t(\"neetoRedirectUrls.redirect.validations.destination\")\n )\n .notOneOf(\n [location.origin],\n t(\"neetoRedirectUrls.redirect.validations.duplicateDomain\")\n ),\n }),\n});\n","import { useEffect, useState } from \"react\";\n\nimport { isPresent } from \"neetocist\";\nimport { Edit } from \"neetoicons\";\nimport { FormikInlineInput } from \"neetomolecules/InlineInput\";\nimport { Typography, Label, Button } from \"neetoui\";\nimport { Switch, Form, Input } from \"neetoui/formik\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport {\n useCreateRedirectUrl,\n useDestroyRedirectUrl,\n useUpdateRedirectUrl,\n} from \"hooks/reactQuery/useRedirectUrlApi\";\nimport { DOMAIN_LEVEL_REDIRECT_HELP_DOC_URL } from \"src/constants/helpUrls\";\n\nimport { DOMAIN_REDIRECTION_VALIDATION_SCHEMA } from \"./constants\";\n\nconst DomainRedirection = ({ domainRedirectUrl }) => {\n const [isEditingDomainRedirect, setIsEditingDomainRedirect] = useState(true);\n const { t } = useTranslation();\n const { mutateAsync: createLink } = useCreateRedirectUrl();\n\n const { mutateAsync: updateLink } = useUpdateRedirectUrl();\n const { mutate: destroyLink } = useDestroyRedirectUrl();\n\n const initialValues = {\n domainRedirectionActive: isPresent(domainRedirectUrl?.toPath),\n toPath: domainRedirectUrl?.toPath,\n };\n\n const handleSubmit = values => {\n const payload = {\n toPath: values.toPath,\n redirection_type: \"domain\",\n };\n\n return domainRedirectUrl\n ? updateLink({ id: domainRedirectUrl.id, payload })\n : createLink(payload);\n };\n\n const handleRemoveRedirection = domainLinkActive => {\n if (!(domainLinkActive && domainRedirectUrl)) {\n setIsEditingDomainRedirect(true);\n\n return;\n }\n destroyLink(domainRedirectUrl.id);\n };\n\n useEffect(() => {\n if (isPresent(domainRedirectUrl?.toPath)) {\n setIsEditingDomainRedirect(false);\n }\n }, [domainRedirectUrl]);\n\n return (\n <div className=\"neeto-ui-border-gray-200 mb-8 border-b \">\n <Form\n className=\"mb-2 w-full\"\n formikProps={{\n initialValues,\n validationSchema: DOMAIN_REDIRECTION_VALIDATION_SCHEMA,\n enableReinitialize: true,\n onSubmit: handleSubmit,\n }}\n >\n {({ values: { domainRedirectionActive }, dirty }) => (\n <>\n <div className=\"flex items-center justify-between py-3\">\n <div className=\"flex flex-col space-y-2\">\n <Label className=\"flex items-center gap-2\">\n <Switch\n data-cy=\"domain-level-redirection-switch\"\n name=\"domainRedirectionActive\"\n onClick={() =>\n handleRemoveRedirection(domainRedirectionActive)\n }\n />\n <Typography\n component=\"span\"\n data-cy=\"domain-level-redirection-heading\"\n style=\"h5\"\n weight=\"medium\"\n >\n {t(\"neetoRedirectUrls.redirect.domainLevelRedirect.label\")}\n </Typography>\n </Label>\n <Typography component=\"p\" style=\"body2\">\n <Trans\n i18nKey=\"neetoRedirectUrls.redirect.domainLevelRedirect.description\"\n components={{\n Link: (\n <Button\n className=\"text-sm\"\n data-cy=\"domain-level-redirections-help-button\"\n href={DOMAIN_LEVEL_REDIRECT_HELP_DOC_URL}\n style=\"link\"\n target=\"_blank\"\n />\n ),\n }}\n />\n </Typography>\n </div>\n </div>\n {domainRedirectionActive && (\n <div className=\"my-2 flex w-1/2 items-start space-x-3\">\n {isEditingDomainRedirect ? (\n <FormikInlineInput\n data-cy=\"domain-level-redirection-link-text-field\"\n handleCancel={() => dirty}\n name=\"toPath\"\n placeholder={t(\"neetoRedirectUrls.common.placeholder.url\")}\n cancelButtonProps={{\n disabled: !dirty,\n \"data-cy\": \"domain-level-redirection-link-cancel-button\",\n }}\n submitButtonProps={{\n \"data-cy\": \"domain-level-redirection-link-submit-button\",\n }}\n />\n ) : (\n <>\n <Input disabled name=\"toPath\" />\n <Button\n icon={Edit}\n style=\"link\"\n onClick={() => setIsEditingDomainRedirect(true)}\n />\n </>\n )}\n </div>\n )}\n </>\n )}\n </Form>\n </div>\n );\n};\n\nexport default DomainRedirection;\n","import { t } from \"i18next\";\n\nexport const SETTINGS_CATEGORIES = { GENERAL: \"GENERAL\" };\n\nexport const SETTINGS_CATEGORIES_LABELS = {\n [SETTINGS_CATEGORIES.GENERAL]: t(\"neetoRedirectUrls.settings.general.title\"),\n};\n","const routes = {\n admin: {\n index: \"/admin\",\n courses: {\n chapters: {\n show: \"/admin/courses/:courseId/chapters/:chapterId\",\n chapterVersions: {\n show: \"/admin/courses/:courseId/chapters/:chapterId/chapter-versions/:chapterVersionId\",\n },\n pages: {\n show: \"/admin/courses/:courseId/chapters/:chapterId/pages/:pageId\",\n pageVersions: {\n show: \"/admin/courses/:courseId/chapters/:chapterId/pages/:pageId/page-versions/:pageVersionId\",\n },\n },\n },\n index: \"/admin/courses\",\n show: \"/admin/courses/:courseId\",\n deployments: {\n index: \"/admin/courses/:courseId/deployments\",\n show: \"/admin/courses/:courseId/deployments/:deploymentId\",\n },\n configure: {\n index: \"/admin/courses/:courseId/configure\",\n security: \"/admin/courses/:courseId/configure/security\",\n certificateConfiguration:\n \"/admin/courses/:courseId/configure/certificate_configuration\",\n },\n },\n pullRequestApps: {\n index: \"/admin/pull_request_apps\",\n show: \"/admin/pull_request_apps/:pullRequestAppId\",\n courseDeployments: {\n show: \"/admin/pull_request_apps/:pullRequestAppId/course-deployments/:courseDeploymentId\",\n },\n },\n members: \"/admin/members\",\n settings: {\n index: \"/admin/settings\",\n general: {\n apiSettings: \"/admin/settings/general/api-settings\",\n redirectUrls: \"/admin/settings/general/redirect-urls\",\n basicInfos: \"/admin/settings/general/basic-infos\",\n customDomains: {\n index: \"/admin/settings/general/custom-domains\",\n },\n security: {\n index: \"/admin/settings/general/security\",\n },\n roles: \"/admin/settings/general/roles\",\n },\n integrations: {\n index: \"/admin/settings/integrations\",\n stripe: {\n index: \"/admin/settings/integrations/stripe\",\n manage: \"/admin/settings/integrations/stripe/manage\",\n },\n googleAnalytics: {\n index: \"/admin/settings/integrations/google-analytics\",\n manage: \"/admin/settings/integrations/google-analytics/manage\",\n },\n },\n },\n reports: {\n index: \"/admin/reports\",\n invalidUrls: \"/admin/reports/invalid-urls\",\n },\n assets: {\n index: \"/admin/assets\",\n databases: \"/admin/assets/databases\",\n videos: \"/admin/assets/videos\",\n audios: \"/admin/assets/audios\",\n resources: \"/admin/assets/resources\",\n },\n },\n home: \"/\",\n};\n\nexport default routes;\n","import { t } from \"i18next\";\nimport { buildUrl } from \"neetocommons/utils\";\n\nimport routes from \"routes\";\n\nimport { SETTINGS_CATEGORIES_LABELS } from \"./constants\";\n\nexport const buildSettingsBreadcrumbs = (category, pageTitle) => [\n {\n link: routes.admin.settings.index,\n text: t(\"neetoRedirectUrls.settings.title\"),\n },\n {\n link: buildUrl(routes.admin.settings.index, {\n category: category.toLowerCase(),\n }),\n text: SETTINGS_CATEGORIES_LABELS[category],\n },\n ...(pageTitle ? [{ text: pageTitle }] : []),\n];\n","import { t } from \"i18next\";\n\nimport { SETTINGS_CATEGORIES } from \"../constants\";\nimport { buildSettingsBreadcrumbs } from \"../utils\";\n\nexport const buildBreadcrumbs = pageTitle =>\n buildSettingsBreadcrumbs(SETTINGS_CATEGORIES.GENERAL, pageTitle);\n\nexport const buildMoreMenuItems = ({\n redirectUrl,\n setUrlDetailsToEdit,\n setUrlDetailsToDelete,\n}) => {\n const { id, fromPath, toPath } = redirectUrl;\n\n return [\n {\n key: \"edit-menu\",\n label: t(\"neetoRedirectUrls.common.edit\"),\n onClick: () => {\n setUrlDetailsToEdit({ id, fromPath, toPath });\n },\n },\n {\n key: \"delete-menu\",\n label: t(\"neetoRedirectUrls.common.delete\"),\n onClick: () => {\n setUrlDetailsToDelete({ id, fromPath, toPath });\n },\n },\n ];\n};\n","import { DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport TableWrapper from \"neetomolecules/TableWrapper\";\nimport { Table } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { buildMoreMenuItems } from \"./utils\";\n\nconst RedirectUrlsTable = ({\n redirectUrls = [],\n currentPageNumber,\n setCurrentPageNumber,\n recordsCount,\n setUrlDetailsToEdit,\n setUrlDetailsToDelete,\n isFetching,\n}) => {\n const truncateUrl = url => {\n const urlString = String(url);\n\n return urlString.length <= 50 ? urlString : `${urlString.slice(0, 50)}...`;\n };\n\n const { t } = useTranslation();\n const columnData = [\n {\n title: t(\"neetoRedirectUrls.redirect.source\"),\n dataIndex: \"source\",\n key: \"name\",\n render: (_, redirectUrl) => {\n const { fromPath } = redirectUrl;\n\n return (\n <div className=\"flex items-center justify-between gap-x-3\">\n <span>{fromPath && truncateUrl(fromPath)}</span>\n <MoreDropdown\n dropdownProps={{ strategy: \"fixed\" }}\n menuItems={buildMoreMenuItems({\n redirectUrl,\n setUrlDetailsToEdit,\n setUrlDetailsToDelete,\n })}\n />\n </div>\n );\n },\n },\n {\n title: t(\"neetoRedirectUrls.redirect.destination\"),\n dataIndex: \"toPath\",\n key: \"toPath\",\n render: toPath => toPath && truncateUrl(toPath),\n },\n ];\n\n return (\n <TableWrapper hasPagination={recordsCount > DEFAULT_PAGE_SIZE}>\n <Table\n {...{ columnData, currentPageNumber }}\n fixedHeight\n handlePageChange={page => setCurrentPageNumber(page)}\n loading={isFetching}\n rowData={redirectUrls}\n totalCount={recordsCount}\n paginationProps={{\n hideOnSinglePage: recordsCount < DEFAULT_PAGE_SIZE + 1,\n showSizeChanger: recordsCount > DEFAULT_PAGE_SIZE,\n }}\n />\n </TableWrapper>\n );\n};\n\nexport default RedirectUrlsTable;\n","import { useRef, useState } from \"react\";\n\nimport { isPresent } from \"neetocist\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport Container from \"neetomolecules/Container\";\nimport Header from \"neetomolecules/Header\";\nimport PageLoader from \"neetomolecules/PageLoader\";\nimport { Pane, NoData, Button } from \"neetoui\";\nimport { isEmpty, isNotNil } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport DeleteRedirectUrlModal from \"components/commons/DeleteRedirectUrlModal\";\nimport RedirectUrlPane from \"components/commons/RedirectUrlPane\";\nimport {\n useFetchAllRedirectUrls,\n useUpdateRedirectUrl,\n useDestroyRedirectUrl,\n useCreateRedirectUrl,\n} from \"hooks/reactQuery/useRedirectUrlApi\";\nimport { CREATE_REDIRECT_URL_HELP_DOC_URL } from \"src/constants/helpUrls\";\n\nimport DomainRedirection from \"./DomainRedirection\";\nimport RedirectUrlsTable from \"./RedirectUrlsTable\";\nimport { buildBreadcrumbs } from \"./utils\";\n\nconst RedirectUrls = () => {\n const { t } = useTranslation();\n const { searchTerm = \"\" } = useQueryParams();\n const initialFocusField = useRef();\n const [currentPageNumber, setCurrentPageNumber] = useState(1);\n const [urlDetailsToDelete, setUrlDetailsToDelete] = useState(null);\n const [urlDetailsToEdit, setUrlDetailsToEdit] = useState(null);\n const [isModalOpen, setIsModalOpen] = useState(false);\n\n const { mutate: createRedirectUrl } = useCreateRedirectUrl();\n\n const searchQuery = {\n page: currentPageNumber,\n ...(isEmpty(searchTerm) ? {} : { searchTerm }),\n };\n\n const {\n data: { count: urlCount = 0, redirectUrls = [], domainRedirectUrl } = {},\n isLoading,\n isFetching,\n } = useFetchAllRedirectUrls({ params: searchQuery });\n const isFiltersVisible = urlCount > 0 || isPresent(searchTerm);\n\n const { mutate: updateRedirectUrl } = useUpdateRedirectUrl();\n\n const { mutate: deleteRedirectUrl } = useDestroyRedirectUrl();\n\n const handleCreateRedirectUrl = redirectUrl => {\n createRedirectUrl(redirectUrl, {\n onSuccess: () => {\n setIsModalOpen(false);\n },\n });\n };\n\n const handleRedirectUrlUpdate = redirectUrl => {\n updateRedirectUrl(\n { id: redirectUrl.id, payload: redirectUrl },\n {\n onSettled: () => {\n setUrlDetailsToEdit(null);\n },\n }\n );\n };\n\n const handleRedirectUrlDelete = urlId => {\n deleteRedirectUrl(urlId, {\n onSettled: () => {\n setUrlDetailsToDelete(null);\n },\n });\n };\n\n const pageTitle = t(\"neetoRedirectUrls.settings.redirecturl.title\");\n\n const setInitialFocusField = fieldRef =>\n (initialFocusField.current = fieldRef);\n\n return (\n <Container className=\"w-full\">\n {isLoading ? (\n <PageLoader />\n ) : (\n <>\n {\" \"}\n <Header\n breadcrumbs={buildBreadcrumbs(pageTitle)}\n title={pageTitle}\n actionBlock={\n <Button\n label={t(\"neetoRedirectUrls.redirect.add\")}\n onClick={() => setIsModalOpen(true)}\n />\n }\n searchProps={\n isFiltersVisible && {\n placeholder: t(\"neetoRedirectUrls.redirect.search\"),\n }\n }\n />\n <>\n {isEmpty(redirectUrls) ? (\n <div className=\"flex h-full w-full items-center justify-center\">\n <NoData\n title={t(\"neetoRedirectUrls.emptyState.redirectURLs.title\")}\n helpText={\n <Trans\n i18nKey=\"neetoRedirectUrls.emptyState.redirectURLs.description\"\n components={{\n helpLink: (\n <a\n className=\"text-blue-600 underline\"\n href={CREATE_REDIRECT_URL_HELP_DOC_URL}\n rel=\"noreferrer\"\n target=\"_blank\"\n />\n ),\n }}\n />\n }\n primaryButtonProps={{\n label: t(\"neetoRedirectUrls.redirect.add\"),\n onClick: () => setIsModalOpen(true),\n }}\n />\n </div>\n ) : (\n <>\n <div className=\"w-full\">\n <DomainRedirection {...{ domainRedirectUrl }} />\n </div>\n <RedirectUrlsTable\n {...{\n currentPageNumber,\n isFetching,\n redirectUrls,\n setCurrentPageNumber,\n setUrlDetailsToDelete,\n setUrlDetailsToEdit,\n }}\n recordsCount={urlCount}\n />\n </>\n )}\n <DeleteRedirectUrlModal\n detailsToDelete={urlDetailsToDelete}\n handleClose={() => setUrlDetailsToDelete(null)}\n handleSubmit={handleRedirectUrlDelete}\n isOpen={urlDetailsToDelete !== null}\n />\n <Pane\n initialFocusRef={initialFocusField}\n isOpen={isModalOpen || isNotNil(urlDetailsToEdit)}\n onClose={() => {\n setIsModalOpen(false);\n setUrlDetailsToEdit(null);\n }}\n >\n <RedirectUrlPane\n {...{ setInitialFocusField }}\n handleClose={() => setIsModalOpen(false)}\n initialValues={urlDetailsToEdit ?? {}}\n handleSubmit={\n isNotNil(urlDetailsToEdit)\n ? handleRedirectUrlUpdate\n : handleCreateRedirectUrl\n }\n />\n </Pane>\n </>\n </>\n )}\n </Container>\n );\n};\n\nexport default RedirectUrls;\n"],"names":["DeleteRedirectUrlModal","_ref","handleClose","handleSubmit","detailsToDelete","isOpen","_useTranslation","useTranslation","t","id","toPath","fromPath","title","_jsx","Alert","submitButtonLabel","message","Trans","i18nKey","values","from_path","to_path","onClose","onSubmit","URL_WITH_PROTOCOL_REGEX","URL_PATHNAME_REGEX","RedirectUrlPane","_ref$initialValues","initialValues","_ref$setInitialFocusF","setInitialFocusField","noop","redirectUrlId","_jsxs","_Fragment","children","Pane","Header","Typography","style","Form","formikProps","validationSchema","Yup","object","shape","string","required","entity","matches","RegExp","concat","source","_objectSpread","Body","className","Input","label","name","ref","placeholder","window","location","origin","Footer","ActionBlock","cancelButtonProps","onClick","REDIRECT_URLS_BASE_URL","fetch","axios","get","fetchAll","params","create","payload","post","update","put","destroy","redirectUrlApi","QUERY_KEYS","REDIRECT_URLS","useFetchAllRedirectUrls","searchQuery","options","useQuery","queryKey","queryFn","useCreateRedirectUrl","useMutationWithInvalidation","keysToInvalidate","useUpdateRedirectUrl","useDestroyRedirectUrl","DOC_BASE_URL","globalProps","appName","toLowerCase","CREATE_REDIRECT_URL_HELP_DOC_URL","DOMAIN_LEVEL_REDIRECT_HELP_DOC_URL","DOMAIN_REDIRECTION_VALIDATION_SCHEMA","yup","nullable","when","is","then","notOneOf","DomainRedirection","domainRedirectUrl","_useState","useState","_useState2","_slicedToArray","isEditingDomainRedirect","setIsEditingDomainRedirect","_useCreateRedirectUrl","createLink","mutateAsync","_useUpdateRedirectUrl","updateLink","_useDestroyRedirectUr","destroyLink","mutate","domainRedirectionActive","isPresent","redirection_type","handleRemoveRedirection","domainLinkActive","useEffect","enableReinitialize","_ref2","dirty","Label","Switch","component","weight","components","Link","Button","href","target","FormikInlineInput","handleCancel","disabled","submitButtonProps","icon","Edit","SETTINGS_CATEGORIES","GENERAL","SETTINGS_CATEGORIES_LABELS","_defineProperty","routes","admin","index","courses","chapters","show","chapterVersions","pages","pageVersions","deployments","configure","security","certificateConfiguration","pullRequestApps","courseDeployments","members","settings","general","apiSettings","redirectUrls","basicInfos","customDomains","roles","integrations","stripe","manage","googleAnalytics","reports","invalidUrls","assets","databases","videos","audios","resources","home","buildSettingsBreadcrumbs","category","pageTitle","link","text","buildUrl","_toConsumableArray","buildBreadcrumbs","buildMoreMenuItems","redirectUrl","setUrlDetailsToEdit","setUrlDetailsToDelete","key","RedirectUrlsTable","_ref$redirectUrls","currentPageNumber","setCurrentPageNumber","recordsCount","isFetching","truncateUrl","url","urlString","String","length","slice","columnData","dataIndex","render","_","MoreDropdown","dropdownProps","strategy","menuItems","TableWrapper","hasPagination","DEFAULT_PAGE_SIZE","Table","fixedHeight","handlePageChange","page","loading","rowData","totalCount","paginationProps","hideOnSinglePage","showSizeChanger","RedirectUrls","_useQueryParams","useQueryParams","_useQueryParams$searc","searchTerm","initialFocusField","useRef","_useState3","_useState4","urlDetailsToDelete","_useState5","_useState6","urlDetailsToEdit","_useState7","_useState8","isModalOpen","setIsModalOpen","createRedirectUrl","isEmpty","_useFetchAllRedirectU","_useFetchAllRedirectU2","data","_useFetchAllRedirectU3","_useFetchAllRedirectU4","count","urlCount","_useFetchAllRedirectU5","isLoading","isFiltersVisible","updateRedirectUrl","deleteRedirectUrl","handleCreateRedirectUrl","onSuccess","handleRedirectUrlUpdate","onSettled","handleRedirectUrlDelete","urlId","fieldRef","current","Container","PageLoader","breadcrumbs","actionBlock","searchProps","NoData","helpText","helpLink","rel","primaryButtonProps","initialFocusRef","isNotNil"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"RedirectUrls.js","sources":["../../app/javascript/src/components/commons/DeleteRedirectUrlModal.jsx","../../app/javascript/src/constants/regexp.js","../../app/javascript/src/components/commons/RedirectUrlPane.jsx","../../app/javascript/src/constants/index.js","../../app/javascript/src/apis/redirect_url.js","../../app/javascript/src/constants/query.js","../../app/javascript/src/hooks/reactQuery/useRedirectUrlApi.js","../../app/javascript/src/constants/helpUrls.js","../../app/javascript/src/components/RedirectUrls/DomainRedirection/constants.js","../../app/javascript/src/components/RedirectUrls/DomainRedirection/index.jsx","../../app/javascript/src/components/constants.js","../../app/javascript/src/routes.js","../../app/javascript/src/components/utils.js","../../app/javascript/src/components/RedirectUrls/utils.js","../../app/javascript/src/components/RedirectUrls/RedirectUrlsTable.jsx","../../app/javascript/src/components/RedirectUrls/index.jsx"],"sourcesContent":["import { Alert } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nconst DeleteRedirectUrlModal = ({\n handleClose,\n handleSubmit,\n detailsToDelete,\n isOpen,\n}) => {\n const { t } = useTranslation();\n if (detailsToDelete === null) return null;\n\n const { id, toPath, fromPath } = detailsToDelete;\n const title = t(\"neetoRedirectUrls.alerts.delete.title\");\n\n return (\n <Alert\n {...{ isOpen, title }}\n submitButtonLabel={t(\"neetoRedirectUrls.common.delete\")}\n message={\n <Trans\n i18nKey=\"neetoRedirectUrls.alerts.delete.confirm\"\n values={{ from_path: fromPath, to_path: toPath }}\n />\n }\n onClose={handleClose}\n onSubmit={() => handleSubmit(id)}\n />\n );\n};\n\nDeleteRedirectUrlModal.propTypes = {\n handleClose: PropTypes.func,\n handleSubmit: PropTypes.func,\n isOpen: PropTypes.bool,\n};\n\nexport default DeleteRedirectUrlModal;\n","export const URL_WITH_PROTOCOL_REGEX =\n/^(http(s)?):\\/\\/[(www.)?a-zA-Z0-9@:%._+~#=-]{2,256}\\.[a-z]{2,6}\\b([-a-zA-Z0-9@:%_+.~#?&//=]*)$/g;\n\nexport const URL_PATHNAME_REGEX = /^\\/[-a-zA-Z0-9@:%_+.~#?&//=]*$/g;\n","import { noop } from \"neetocist\";\nimport { Pane, Typography } from \"neetoui\";\nimport { Input, Form, ActionBlock } from \"neetoui/formik\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\nimport * as Yup from \"yup\";\n\nimport {\n URL_PATHNAME_REGEX,\n URL_WITH_PROTOCOL_REGEX,\n} from \"src/constants/regexp\";\n\nconst RedirectUrlPane = ({\n handleClose,\n handleSubmit,\n initialValues = {},\n setInitialFocusField = noop,\n}) => {\n const { t } = useTranslation();\n const redirectUrlId = initialValues?.id;\n\n return (\n <>\n <Pane.Header>\n <Typography style=\"h2\">\n {redirectUrlId\n ? t(\"neetoRedirectUrls.redirect.edit\")\n : t(\"neetoRedirectUrls.redirect.add\")}\n </Typography>\n </Pane.Header>\n <Form\n formikProps={{\n initialValues: initialValues || {\n fromPath: \"\",\n toPath: \"\",\n },\n validationSchema: Yup.object().shape({\n fromPath: Yup.string()\n .required(\n t(\"neetoRedirectUrls.redirect.validations.required\", {\n entity: \"Source\",\n })\n )\n .matches(\n URL_PATHNAME_REGEX,\n t(\"neetoRedirectUrls.redirect.validations.source\")\n ),\n toPath: Yup.string()\n .required(\n t(\"neetoRedirectUrls.redirect.validations.required\", {\n entity: \"Destination\",\n })\n )\n .matches(\n new RegExp(\n `${URL_WITH_PROTOCOL_REGEX.source}|${URL_PATHNAME_REGEX.source}`\n ),\n t(\"neetoRedirectUrls.redirect.validations.destination\")\n ),\n }),\n onSubmit: values => {\n handleSubmit({ ...values });\n },\n }}\n >\n <>\n <Pane.Body>\n <div className=\"w-full space-y-4\">\n <Input\n id=\"fromPath\"\n label={t(\"neetoRedirectUrls.redirect.source\")}\n name=\"fromPath\"\n ref={setInitialFocusField}\n placeholder={t(\n \"neetoRedirectUrls.common.placeholder.relativeUrl\"\n )}\n />\n <Input\n id=\"toPath\"\n label={t(\"neetoRedirectUrls.redirect.destination\")}\n name=\"toPath\"\n placeholder={window.location.origin}\n />\n </div>\n </Pane.Body>\n <Pane.Footer>\n <ActionBlock cancelButtonProps={{ onClick: handleClose }} />\n </Pane.Footer>\n </>\n </Form>\n </>\n );\n};\n\nRedirectUrlPane.propTypes = {\n handleClose: PropTypes.func,\n handleSubmit: PropTypes.func,\n};\n\nexport default RedirectUrlPane;\n","export const REDIRECT_URLS_BASE_URL =\n \"/neeto_redirect_urls_engine/api/v1/redirect_urls\";\n","import axios from \"axios\";\n\nimport { REDIRECT_URLS_BASE_URL } from \"src/constants\";\n\nconst fetch = () => axios.get(REDIRECT_URLS_BASE_URL);\n\nconst fetchAll = params => axios.get(REDIRECT_URLS_BASE_URL, params);\n\nconst create = payload => axios.post(REDIRECT_URLS_BASE_URL, payload);\n\nconst update = ({ id, payload }) =>\n axios.put(`${REDIRECT_URLS_BASE_URL}/${id}`, payload);\n\nconst destroy = id => axios.delete(`${REDIRECT_URLS_BASE_URL}/${id}`);\n\nconst redirectUrlApi = { fetch, fetchAll, create, update, destroy };\n\nexport default redirectUrlApi;\n","export const QUERY_KEYS = { REDIRECT_URLS: \"redirect_urls\" };\n\n","import { useQuery } from \"@tanstack/react-query\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\n\nimport redirectUrlApi from \"apis/redirect_url\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nconst useFetchAllRedirectUrls = (searchQuery, options) =>\n useQuery({\n queryKey: [QUERY_KEYS.REDIRECT_URLS, searchQuery],\n queryFn: () => redirectUrlApi.fetchAll(searchQuery),\n ...options,\n });\n\nconst useCreateRedirectUrl = options =>\n useMutationWithInvalidation(redirectUrlApi.create, {\n keysToInvalidate: [QUERY_KEYS.REDIRECT_URLS],\n ...options,\n });\n\nconst useUpdateRedirectUrl = options =>\n useMutationWithInvalidation(redirectUrlApi.update, {\n keysToInvalidate: [QUERY_KEYS.REDIRECT_URLS],\n ...options,\n });\n\nconst useDestroyRedirectUrl = options =>\n useMutationWithInvalidation(redirectUrlApi.destroy, {\n keysToInvalidate: [QUERY_KEYS.REDIRECT_URLS],\n ...options,\n });\n\nexport {\n useFetchAllRedirectUrls,\n useCreateRedirectUrl,\n useUpdateRedirectUrl,\n useDestroyRedirectUrl,\n};\n","export const DOC_BASE_URL = `https://help.${globalProps.appName.toLowerCase()}.com/articles`;\n\nexport const CREATE_REDIRECT_URL_HELP_DOC_URL = `${DOC_BASE_URL}/creating-a-redirect-url`;\n\nexport const DOMAIN_LEVEL_REDIRECT_HELP_DOC_URL = `${DOC_BASE_URL}/domain-level-redirection`;\n","import { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nimport { URL_WITH_PROTOCOL_REGEX } from \"src/constants/regexp\";\n\nexport const DOMAIN_REDIRECTION_VALIDATION_SCHEMA = yup.object().shape({\n toPath: yup\n .string()\n .nullable()\n .when(\"domainRedirectionActive\", {\n is: true,\n then: yup\n .string()\n .required(\n t(\"neetoRedirectUrls.redirect.validations.required\", {\n entity: \"Destination\",\n })\n )\n .matches(\n URL_WITH_PROTOCOL_REGEX,\n t(\"neetoRedirectUrls.redirect.validations.destination\")\n )\n .notOneOf(\n [location.origin],\n t(\"neetoRedirectUrls.redirect.validations.duplicateDomain\")\n ),\n }),\n});\n","import { useEffect, useState } from \"react\";\n\nimport { isPresent } from \"neetocist\";\nimport { Edit } from \"neetoicons\";\nimport { FormikInlineInput } from \"neetomolecules/InlineInput\";\nimport { Typography, Label, Button } from \"neetoui\";\nimport { Switch, Form, Input } from \"neetoui/formik\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport {\n useCreateRedirectUrl,\n useDestroyRedirectUrl,\n useUpdateRedirectUrl,\n} from \"hooks/reactQuery/useRedirectUrlApi\";\nimport { DOMAIN_LEVEL_REDIRECT_HELP_DOC_URL } from \"src/constants/helpUrls\";\n\nimport { DOMAIN_REDIRECTION_VALIDATION_SCHEMA } from \"./constants\";\n\nconst DomainRedirection = ({ domainRedirectUrl }) => {\n const [isEditingDomainRedirect, setIsEditingDomainRedirect] = useState(true);\n const { t } = useTranslation();\n const { mutateAsync: createLink } = useCreateRedirectUrl();\n\n const { mutateAsync: updateLink } = useUpdateRedirectUrl();\n const { mutate: destroyLink } = useDestroyRedirectUrl();\n\n const initialValues = {\n domainRedirectionActive: isPresent(domainRedirectUrl?.toPath),\n toPath: domainRedirectUrl?.toPath,\n };\n\n const handleSubmit = values => {\n const payload = {\n toPath: values.toPath,\n redirection_type: \"domain\",\n };\n\n return domainRedirectUrl\n ? updateLink({ id: domainRedirectUrl.id, payload })\n : createLink(payload);\n };\n\n const handleRemoveRedirection = domainLinkActive => {\n if (!(domainLinkActive && domainRedirectUrl)) {\n setIsEditingDomainRedirect(true);\n\n return;\n }\n destroyLink(domainRedirectUrl.id);\n };\n\n useEffect(() => {\n if (isPresent(domainRedirectUrl?.toPath)) {\n setIsEditingDomainRedirect(false);\n }\n }, [domainRedirectUrl]);\n\n return (\n <div className=\"neeto-ui-border-gray-200 mb-8 border-b \">\n <Form\n className=\"mb-2 w-full\"\n formikProps={{\n initialValues,\n validationSchema: DOMAIN_REDIRECTION_VALIDATION_SCHEMA,\n enableReinitialize: true,\n onSubmit: handleSubmit,\n }}\n >\n {({ values: { domainRedirectionActive }, dirty }) => (\n <>\n <div className=\"flex items-center justify-between py-3\">\n <div className=\"flex flex-col space-y-2\">\n <Label className=\"flex items-center gap-2\">\n <Switch\n data-cy=\"domain-level-redirection-switch\"\n name=\"domainRedirectionActive\"\n onClick={() =>\n handleRemoveRedirection(domainRedirectionActive)\n }\n />\n <Typography\n component=\"span\"\n data-cy=\"domain-level-redirection-heading\"\n style=\"h5\"\n weight=\"medium\"\n >\n {t(\"neetoRedirectUrls.redirect.domainLevelRedirect.label\")}\n </Typography>\n </Label>\n <Typography component=\"p\" style=\"body2\">\n <Trans\n i18nKey=\"neetoRedirectUrls.redirect.domainLevelRedirect.description\"\n components={{\n Link: (\n <Button\n className=\"text-sm\"\n data-cy=\"domain-level-redirections-help-button\"\n href={DOMAIN_LEVEL_REDIRECT_HELP_DOC_URL}\n style=\"link\"\n target=\"_blank\"\n />\n ),\n }}\n />\n </Typography>\n </div>\n </div>\n {domainRedirectionActive && (\n <div className=\"my-2 flex w-1/2 items-start space-x-3\">\n {isEditingDomainRedirect ? (\n <FormikInlineInput\n data-cy=\"domain-level-redirection-link-text-field\"\n handleCancel={() => dirty}\n name=\"toPath\"\n placeholder={t(\"neetoRedirectUrls.common.placeholder.url\")}\n cancelButtonProps={{\n disabled: !dirty,\n \"data-cy\": \"domain-level-redirection-link-cancel-button\",\n }}\n submitButtonProps={{\n \"data-cy\": \"domain-level-redirection-link-submit-button\",\n }}\n />\n ) : (\n <>\n <Input disabled name=\"toPath\" />\n <Button\n icon={Edit}\n style=\"link\"\n onClick={() => setIsEditingDomainRedirect(true)}\n />\n </>\n )}\n </div>\n )}\n </>\n )}\n </Form>\n </div>\n );\n};\n\nexport default DomainRedirection;\n","import { t } from \"i18next\";\n\nexport const SETTINGS_CATEGORIES = { GENERAL: \"GENERAL\" };\n\nexport const SETTINGS_CATEGORIES_LABELS = {\n [SETTINGS_CATEGORIES.GENERAL]: t(\"neetoRedirectUrls.settings.general.title\"),\n};\n","const routes = {\n admin: {\n index: \"/admin\",\n courses: {\n chapters: {\n show: \"/admin/courses/:courseId/chapters/:chapterId\",\n chapterVersions: {\n show: \"/admin/courses/:courseId/chapters/:chapterId/chapter-versions/:chapterVersionId\",\n },\n pages: {\n show: \"/admin/courses/:courseId/chapters/:chapterId/pages/:pageId\",\n pageVersions: {\n show: \"/admin/courses/:courseId/chapters/:chapterId/pages/:pageId/page-versions/:pageVersionId\",\n },\n },\n },\n index: \"/admin/courses\",\n show: \"/admin/courses/:courseId\",\n deployments: {\n index: \"/admin/courses/:courseId/deployments\",\n show: \"/admin/courses/:courseId/deployments/:deploymentId\",\n },\n configure: {\n index: \"/admin/courses/:courseId/configure\",\n security: \"/admin/courses/:courseId/configure/security\",\n certificateConfiguration:\n \"/admin/courses/:courseId/configure/certificate_configuration\",\n },\n },\n pullRequestApps: {\n index: \"/admin/pull_request_apps\",\n show: \"/admin/pull_request_apps/:pullRequestAppId\",\n courseDeployments: {\n show: \"/admin/pull_request_apps/:pullRequestAppId/course-deployments/:courseDeploymentId\",\n },\n },\n members: \"/admin/members\",\n settings: {\n index: \"/admin/settings\",\n general: {\n apiSettings: \"/admin/settings/general/api-settings\",\n redirectUrls: \"/admin/settings/general/redirect-urls\",\n basicInfos: \"/admin/settings/general/basic-infos\",\n customDomains: {\n index: \"/admin/settings/general/custom-domains\",\n },\n security: {\n index: \"/admin/settings/general/security\",\n },\n roles: \"/admin/settings/general/roles\",\n },\n integrations: {\n index: \"/admin/settings/integrations\",\n stripe: {\n index: \"/admin/settings/integrations/stripe\",\n manage: \"/admin/settings/integrations/stripe/manage\",\n },\n googleAnalytics: {\n index: \"/admin/settings/integrations/google-analytics\",\n manage: \"/admin/settings/integrations/google-analytics/manage\",\n },\n },\n },\n reports: {\n index: \"/admin/reports\",\n invalidUrls: \"/admin/reports/invalid-urls\",\n },\n assets: {\n index: \"/admin/assets\",\n databases: \"/admin/assets/databases\",\n videos: \"/admin/assets/videos\",\n audios: \"/admin/assets/audios\",\n resources: \"/admin/assets/resources\",\n },\n },\n home: \"/\",\n};\n\nexport default routes;\n","import { t } from \"i18next\";\nimport { buildUrl } from \"neetocommons/utils\";\n\nimport routes from \"routes\";\n\nimport { SETTINGS_CATEGORIES_LABELS } from \"./constants\";\n\nexport const buildSettingsBreadcrumbs = (category, pageTitle) => [\n {\n link: routes.admin.settings.index,\n text: t(\"neetoRedirectUrls.settings.title\"),\n },\n {\n link: buildUrl(routes.admin.settings.index, {\n category: category.toLowerCase(),\n }),\n text: SETTINGS_CATEGORIES_LABELS[category],\n },\n ...(pageTitle ? [{ text: pageTitle }] : []),\n];\n","import { t } from \"i18next\";\n\nimport { SETTINGS_CATEGORIES } from \"../constants\";\nimport { buildSettingsBreadcrumbs } from \"../utils\";\n\nexport const buildBreadcrumbs = pageTitle =>\n buildSettingsBreadcrumbs(SETTINGS_CATEGORIES.GENERAL, pageTitle);\n\nexport const buildMoreMenuItems = ({\n redirectUrl,\n setUrlDetailsToEdit,\n setUrlDetailsToDelete,\n}) => {\n const { id, fromPath, toPath } = redirectUrl;\n\n return [\n {\n key: \"edit-menu\",\n label: t(\"neetoRedirectUrls.common.edit\"),\n onClick: () => {\n setUrlDetailsToEdit({ id, fromPath, toPath });\n },\n },\n {\n key: \"delete-menu\",\n label: t(\"neetoRedirectUrls.common.delete\"),\n onClick: () => {\n setUrlDetailsToDelete({ id, fromPath, toPath });\n },\n },\n ];\n};\n","import { DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport TableWrapper from \"neetomolecules/TableWrapper\";\nimport { Table } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { buildMoreMenuItems } from \"./utils\";\n\nconst RedirectUrlsTable = ({\n redirectUrls = [],\n currentPageNumber,\n setCurrentPageNumber,\n recordsCount,\n setUrlDetailsToEdit,\n setUrlDetailsToDelete,\n isFetching,\n}) => {\n const truncateUrl = url => {\n const urlString = String(url);\n\n return urlString.length <= 50 ? urlString : `${urlString.slice(0, 50)}...`;\n };\n\n const { t } = useTranslation();\n const columnData = [\n {\n title: t(\"neetoRedirectUrls.redirect.source\"),\n dataIndex: \"source\",\n key: \"name\",\n render: (_, redirectUrl) => {\n const { fromPath } = redirectUrl;\n\n return (\n <div className=\"flex items-center justify-between gap-x-3\">\n <span>{fromPath && truncateUrl(fromPath)}</span>\n <MoreDropdown\n dropdownProps={{ strategy: \"fixed\" }}\n menuItems={buildMoreMenuItems({\n redirectUrl,\n setUrlDetailsToEdit,\n setUrlDetailsToDelete,\n })}\n />\n </div>\n );\n },\n },\n {\n title: t(\"neetoRedirectUrls.redirect.destination\"),\n dataIndex: \"toPath\",\n key: \"toPath\",\n render: toPath => toPath && truncateUrl(toPath),\n },\n ];\n\n return (\n <TableWrapper hasPagination={recordsCount > DEFAULT_PAGE_SIZE}>\n <Table\n {...{ columnData, currentPageNumber }}\n fixedHeight\n handlePageChange={page => setCurrentPageNumber(page)}\n loading={isFetching}\n rowData={redirectUrls}\n totalCount={recordsCount}\n paginationProps={{\n hideOnSinglePage: recordsCount < DEFAULT_PAGE_SIZE + 1,\n showSizeChanger: recordsCount > DEFAULT_PAGE_SIZE,\n }}\n />\n </TableWrapper>\n );\n};\n\nexport default RedirectUrlsTable;\n","import { useRef, useState } from \"react\";\n\nimport { isPresent } from \"neetocist\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport Container from \"neetomolecules/Container\";\nimport Header from \"neetomolecules/Header\";\nimport PageLoader from \"neetomolecules/PageLoader\";\nimport { Pane, NoData, Button } from \"neetoui\";\nimport { isEmpty, isNotNil } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport DeleteRedirectUrlModal from \"components/commons/DeleteRedirectUrlModal\";\nimport RedirectUrlPane from \"components/commons/RedirectUrlPane\";\nimport {\n useFetchAllRedirectUrls,\n useUpdateRedirectUrl,\n useDestroyRedirectUrl,\n useCreateRedirectUrl,\n} from \"hooks/reactQuery/useRedirectUrlApi\";\nimport { CREATE_REDIRECT_URL_HELP_DOC_URL } from \"src/constants/helpUrls\";\n\nimport DomainRedirection from \"./DomainRedirection\";\nimport RedirectUrlsTable from \"./RedirectUrlsTable\";\nimport { buildBreadcrumbs } from \"./utils\";\n\nconst RedirectUrls = () => {\n const { t } = useTranslation();\n const { searchTerm = \"\" } = useQueryParams();\n const initialFocusField = useRef();\n const [currentPageNumber, setCurrentPageNumber] = useState(1);\n const [urlDetailsToDelete, setUrlDetailsToDelete] = useState(null);\n const [urlDetailsToEdit, setUrlDetailsToEdit] = useState(null);\n const [isModalOpen, setIsModalOpen] = useState(false);\n\n const { mutate: createRedirectUrl } = useCreateRedirectUrl();\n\n const searchQuery = {\n page: currentPageNumber,\n ...(isEmpty(searchTerm) ? {} : { searchTerm }),\n };\n\n const {\n data: { redirectUrls = [], domainRedirectUrl } = {},\n isLoading,\n isFetching,\n } = useFetchAllRedirectUrls({ params: searchQuery });\n\n const isFiltersVisible = redirectUrls?.length > 0 || isPresent(searchTerm);\n\n const { mutate: updateRedirectUrl } = useUpdateRedirectUrl();\n\n const { mutate: deleteRedirectUrl } = useDestroyRedirectUrl();\n\n const handleCreateRedirectUrl = redirectUrl => {\n createRedirectUrl(redirectUrl, {\n onSuccess: () => {\n setIsModalOpen(false);\n },\n });\n };\n\n const handleRedirectUrlUpdate = redirectUrl => {\n updateRedirectUrl(\n { id: redirectUrl.id, payload: redirectUrl },\n {\n onSettled: () => {\n setUrlDetailsToEdit(null);\n },\n }\n );\n };\n\n const handleRedirectUrlDelete = urlId => {\n deleteRedirectUrl(urlId, {\n onSettled: () => {\n setUrlDetailsToDelete(null);\n },\n });\n };\n\n const pageTitle = t(\"neetoRedirectUrls.settings.redirecturl.title\");\n\n const setInitialFocusField = fieldRef =>\n (initialFocusField.current = fieldRef);\n\n return (\n <Container className=\"w-full\">\n {isLoading ? (\n <PageLoader />\n ) : (\n <>\n {\" \"}\n <Header\n breadcrumbs={buildBreadcrumbs(pageTitle)}\n title={pageTitle}\n actionBlock={\n <Button\n label={t(\"neetoRedirectUrls.redirect.add\")}\n onClick={() => setIsModalOpen(true)}\n />\n }\n searchProps={\n isFiltersVisible && {\n placeholder: t(\"neetoRedirectUrls.redirect.search\"),\n }\n }\n />\n <>\n {isEmpty(redirectUrls) ? (\n <div className=\"flex h-full w-full items-center justify-center\">\n <NoData\n title={t(\"neetoRedirectUrls.emptyState.redirectURLs.title\")}\n helpText={\n <Trans\n i18nKey=\"neetoRedirectUrls.emptyState.redirectURLs.description\"\n components={{\n helpLink: (\n <a\n className=\"text-blue-600 underline\"\n href={CREATE_REDIRECT_URL_HELP_DOC_URL}\n rel=\"noreferrer\"\n target=\"_blank\"\n />\n ),\n }}\n />\n }\n primaryButtonProps={{\n label: t(\"neetoRedirectUrls.redirect.add\"),\n onClick: () => setIsModalOpen(true),\n }}\n />\n </div>\n ) : (\n <>\n <div className=\"w-full\">\n <DomainRedirection {...{ domainRedirectUrl }} />\n </div>\n <RedirectUrlsTable\n {...{\n currentPageNumber,\n isFetching,\n redirectUrls,\n setCurrentPageNumber,\n setUrlDetailsToDelete,\n setUrlDetailsToEdit,\n }}\n recordsCount={redirectUrls.length}\n />\n </>\n )}\n <DeleteRedirectUrlModal\n detailsToDelete={urlDetailsToDelete}\n handleClose={() => setUrlDetailsToDelete(null)}\n handleSubmit={handleRedirectUrlDelete}\n isOpen={urlDetailsToDelete !== null}\n />\n <Pane\n initialFocusRef={initialFocusField}\n isOpen={isModalOpen || isNotNil(urlDetailsToEdit)}\n onClose={() => {\n setIsModalOpen(false);\n setUrlDetailsToEdit(null);\n }}\n >\n <RedirectUrlPane\n {...{ setInitialFocusField }}\n handleClose={() => setIsModalOpen(false)}\n initialValues={urlDetailsToEdit ?? {}}\n handleSubmit={\n isNotNil(urlDetailsToEdit)\n ? handleRedirectUrlUpdate\n : handleCreateRedirectUrl\n }\n />\n </Pane>\n </>\n </>\n )}\n </Container>\n );\n};\n\nexport default RedirectUrls;\n"],"names":["DeleteRedirectUrlModal","_ref","handleClose","handleSubmit","detailsToDelete","isOpen","_useTranslation","useTranslation","t","id","toPath","fromPath","title","_jsx","Alert","submitButtonLabel","message","Trans","i18nKey","values","from_path","to_path","onClose","onSubmit","URL_WITH_PROTOCOL_REGEX","URL_PATHNAME_REGEX","RedirectUrlPane","_ref$initialValues","initialValues","_ref$setInitialFocusF","setInitialFocusField","noop","redirectUrlId","_jsxs","_Fragment","children","Pane","Header","Typography","style","Form","formikProps","validationSchema","Yup","object","shape","string","required","entity","matches","RegExp","concat","source","_objectSpread","Body","className","Input","label","name","ref","placeholder","window","location","origin","Footer","ActionBlock","cancelButtonProps","onClick","REDIRECT_URLS_BASE_URL","fetch","axios","get","fetchAll","params","create","payload","post","update","put","destroy","redirectUrlApi","QUERY_KEYS","REDIRECT_URLS","useFetchAllRedirectUrls","searchQuery","options","useQuery","queryKey","queryFn","useCreateRedirectUrl","useMutationWithInvalidation","keysToInvalidate","useUpdateRedirectUrl","useDestroyRedirectUrl","DOC_BASE_URL","globalProps","appName","toLowerCase","CREATE_REDIRECT_URL_HELP_DOC_URL","DOMAIN_LEVEL_REDIRECT_HELP_DOC_URL","DOMAIN_REDIRECTION_VALIDATION_SCHEMA","yup","nullable","when","is","then","notOneOf","DomainRedirection","domainRedirectUrl","_useState","useState","_useState2","_slicedToArray","isEditingDomainRedirect","setIsEditingDomainRedirect","_useCreateRedirectUrl","createLink","mutateAsync","_useUpdateRedirectUrl","updateLink","_useDestroyRedirectUr","destroyLink","mutate","domainRedirectionActive","isPresent","redirection_type","handleRemoveRedirection","domainLinkActive","useEffect","enableReinitialize","_ref2","dirty","Label","Switch","component","weight","components","Link","Button","href","target","FormikInlineInput","handleCancel","disabled","submitButtonProps","icon","Edit","SETTINGS_CATEGORIES","GENERAL","SETTINGS_CATEGORIES_LABELS","_defineProperty","routes","admin","index","courses","chapters","show","chapterVersions","pages","pageVersions","deployments","configure","security","certificateConfiguration","pullRequestApps","courseDeployments","members","settings","general","apiSettings","redirectUrls","basicInfos","customDomains","roles","integrations","stripe","manage","googleAnalytics","reports","invalidUrls","assets","databases","videos","audios","resources","home","buildSettingsBreadcrumbs","category","pageTitle","link","text","buildUrl","_toConsumableArray","buildBreadcrumbs","buildMoreMenuItems","redirectUrl","setUrlDetailsToEdit","setUrlDetailsToDelete","key","RedirectUrlsTable","_ref$redirectUrls","currentPageNumber","setCurrentPageNumber","recordsCount","isFetching","truncateUrl","url","urlString","String","length","slice","columnData","dataIndex","render","_","MoreDropdown","dropdownProps","strategy","menuItems","TableWrapper","hasPagination","DEFAULT_PAGE_SIZE","Table","fixedHeight","handlePageChange","page","loading","rowData","totalCount","paginationProps","hideOnSinglePage","showSizeChanger","RedirectUrls","_useQueryParams","useQueryParams","_useQueryParams$searc","searchTerm","initialFocusField","useRef","_useState3","_useState4","urlDetailsToDelete","_useState5","_useState6","urlDetailsToEdit","_useState7","_useState8","isModalOpen","setIsModalOpen","createRedirectUrl","isEmpty","_useFetchAllRedirectU","_useFetchAllRedirectU2","data","_useFetchAllRedirectU3","_useFetchAllRedirectU4","isLoading","isFiltersVisible","updateRedirectUrl","deleteRedirectUrl","handleCreateRedirectUrl","onSuccess","handleRedirectUrlUpdate","onSettled","handleRedirectUrlDelete","urlId","fieldRef","current","Container","PageLoader","breadcrumbs","actionBlock","searchProps","NoData","helpText","helpLink","rel","primaryButtonProps","initialFocusRef","isNotNil"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bigbinary/neeto-redirect-urls-frontend",
|
|
3
|
-
"version": "2.2.
|
|
3
|
+
"version": "2.2.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-redirect-urls-nano-nano",
|
|
@@ -52,67 +52,68 @@
|
|
|
52
52
|
]
|
|
53
53
|
},
|
|
54
54
|
"devDependencies": {
|
|
55
|
-
"@babel/core": "
|
|
56
|
-
"@babel/eslint-parser": "7.
|
|
57
|
-
"@babel/plugin-transform-runtime": "
|
|
58
|
-
"@babel/preset-env": "7.
|
|
59
|
-
"@babel/preset-react": "7.
|
|
60
|
-
"@babel/preset-typescript": "
|
|
61
|
-
"@babel/runtime": "7.
|
|
55
|
+
"@babel/core": "7.26.0",
|
|
56
|
+
"@babel/eslint-parser": "7.25.9",
|
|
57
|
+
"@babel/plugin-transform-runtime": "7.25.9",
|
|
58
|
+
"@babel/preset-env": "7.26.0",
|
|
59
|
+
"@babel/preset-react": "7.25.9",
|
|
60
|
+
"@babel/preset-typescript": "7.26.0",
|
|
61
|
+
"@babel/runtime": "7.26.0",
|
|
62
62
|
"@bigbinary/babel-preset-neeto": "^1.0.3",
|
|
63
|
-
"@bigbinary/eslint-plugin-neeto": "1.5.
|
|
64
|
-
"@bigbinary/neeto-cist": "1.0.
|
|
65
|
-
"@bigbinary/neeto-commons-frontend": "4.
|
|
66
|
-
"@bigbinary/neeto-filters-frontend": "4.3.
|
|
67
|
-
"@bigbinary/neeto-icons": "1.20.
|
|
68
|
-
"@bigbinary/neeto-molecules": "3.
|
|
69
|
-
"@bigbinary/neetoui": "8.2.
|
|
63
|
+
"@bigbinary/eslint-plugin-neeto": "1.5.6",
|
|
64
|
+
"@bigbinary/neeto-cist": "1.0.14",
|
|
65
|
+
"@bigbinary/neeto-commons-frontend": "4.13.14",
|
|
66
|
+
"@bigbinary/neeto-filters-frontend": "4.3.11",
|
|
67
|
+
"@bigbinary/neeto-icons": "1.20.22",
|
|
68
|
+
"@bigbinary/neeto-molecules": "3.14.6",
|
|
69
|
+
"@bigbinary/neetoui": "8.2.48",
|
|
70
70
|
"@emotion/is-prop-valid": "1.2.0",
|
|
71
71
|
"@faker-js/faker": "8.2.0",
|
|
72
|
-
"@honeybadger-io/js": "
|
|
73
|
-
"@honeybadger-io/react": "
|
|
74
|
-
"@rollup/plugin-alias": "5.
|
|
72
|
+
"@honeybadger-io/js": "6.10.1",
|
|
73
|
+
"@honeybadger-io/react": "6.1.25",
|
|
74
|
+
"@rollup/plugin-alias": "5.1.1",
|
|
75
75
|
"@rollup/plugin-babel": "6.0.4",
|
|
76
76
|
"@rollup/plugin-commonjs": "25.0.7",
|
|
77
|
-
"@rollup/plugin-json": "6.0
|
|
78
|
-
"@rollup/plugin-node-resolve": "15.
|
|
77
|
+
"@rollup/plugin-json": "6.1.0",
|
|
78
|
+
"@rollup/plugin-node-resolve": "15.3.0",
|
|
79
79
|
"@rollup/plugin-replace": "5.0.4",
|
|
80
80
|
"@svgr/rollup": "8.1.0",
|
|
81
|
-
"@tanstack/react-query": "5.
|
|
82
|
-
"@tanstack/react-query-devtools": "5.
|
|
83
|
-
"antd": "5.
|
|
81
|
+
"@tanstack/react-query": "5.59.20",
|
|
82
|
+
"@tanstack/react-query-devtools": "5.59.20",
|
|
83
|
+
"antd": "5.22.0",
|
|
84
84
|
"autoprefixer": "^10.4.5",
|
|
85
|
-
"axios": "1.7.
|
|
85
|
+
"axios": "1.7.7",
|
|
86
86
|
"babel-loader": "^8.2.5",
|
|
87
87
|
"babel-plugin-istanbul": "^6.1.1",
|
|
88
88
|
"babel-plugin-js-logger": "1.0.17",
|
|
89
89
|
"babel-plugin-macros": "3.1.0",
|
|
90
|
+
"babel-plugin-module-resolver": "^5.0.0",
|
|
90
91
|
"babel-plugin-preval": "^5.1.0",
|
|
91
92
|
"babel-plugin-transform-react-remove-prop-types": "0.4.24",
|
|
92
93
|
"babel-preset-react": "6.24.1",
|
|
93
94
|
"babel-preset-typescript": "^7.0.0-alpha.19",
|
|
94
95
|
"browserify-zlib": "0.2.0",
|
|
95
96
|
"buffer": "^6.0.3",
|
|
96
|
-
"classnames": "2.
|
|
97
|
-
"crypto-browserify": "
|
|
97
|
+
"classnames": "2.5.1",
|
|
98
|
+
"crypto-browserify": "3.12.1",
|
|
98
99
|
"css-loader": "6.8.1",
|
|
99
100
|
"dompurify": "^2.4.0",
|
|
100
101
|
"dotenv-webpack": "^8.0.1",
|
|
101
102
|
"eslint": "8.14.0",
|
|
102
103
|
"eslint-config-prettier": "8.5.0",
|
|
103
104
|
"eslint-plugin-cypress": "2.12.1",
|
|
104
|
-
"eslint-plugin-import": "2.
|
|
105
|
+
"eslint-plugin-import": "2.31.0",
|
|
105
106
|
"eslint-plugin-jam3": "0.2.3",
|
|
106
107
|
"eslint-plugin-json": "3.1.0",
|
|
107
108
|
"eslint-plugin-prettier": "4.0.0",
|
|
108
109
|
"eslint-plugin-promise": "6.0.0",
|
|
109
|
-
"eslint-plugin-react": "7.
|
|
110
|
+
"eslint-plugin-react": "7.37.2",
|
|
110
111
|
"eslint-plugin-react-hooks": "4.5.0",
|
|
111
112
|
"eslint-plugin-security": "^1.7.1",
|
|
112
113
|
"eslint-plugin-sonarjs": "^0.21.0",
|
|
113
114
|
"eslint-plugin-unused-imports": "2.0.0",
|
|
114
115
|
"eslint-plugin-xss": "^0.1.12",
|
|
115
|
-
"formik": "2.
|
|
116
|
+
"formik": "2.4.6",
|
|
116
117
|
"html-webpack-plugin": "5.5.3",
|
|
117
118
|
"https-browserify": "1.0.0",
|
|
118
119
|
"husky": "7.0.4",
|
|
@@ -124,7 +125,7 @@
|
|
|
124
125
|
"mixpanel-browser": "2.47.0",
|
|
125
126
|
"os-browserify": "0.3.0",
|
|
126
127
|
"path-browserify": "^1.0.1",
|
|
127
|
-
"postcss": "
|
|
128
|
+
"postcss": "8.4.49",
|
|
128
129
|
"postcss-import": "^15.0.0",
|
|
129
130
|
"postcss-loader": "^7.0.1",
|
|
130
131
|
"postcss-preset-env": "7.8.2",
|
|
@@ -140,10 +141,10 @@
|
|
|
140
141
|
"react-router-dom": "5.3.3",
|
|
141
142
|
"react-toastify": "8.0.2",
|
|
142
143
|
"react_ujs": "^3.1.1",
|
|
143
|
-
"rollup": "
|
|
144
|
+
"rollup": "4.25.0",
|
|
144
145
|
"rollup-plugin-analyzer": "4.0.0",
|
|
145
146
|
"rollup-plugin-cleaner": "1.0.0",
|
|
146
|
-
"rollup-plugin-copy": "
|
|
147
|
+
"rollup-plugin-copy": "3.5.0",
|
|
147
148
|
"rollup-plugin-peer-deps-external": "2.2.4",
|
|
148
149
|
"rollup-plugin-styles": "4.0.0",
|
|
149
150
|
"sass": "^1.54.9",
|
|
@@ -153,7 +154,7 @@
|
|
|
153
154
|
"stream-browserify": "^3.0.0",
|
|
154
155
|
"stream-http": "3.2.0",
|
|
155
156
|
"style-loader": "^3.3.1",
|
|
156
|
-
"tailwindcss": "
|
|
157
|
+
"tailwindcss": "3.4.14",
|
|
157
158
|
"tty-browserify": "0.0.1",
|
|
158
159
|
"url": "^0.11.0",
|
|
159
160
|
"util": "^0.12.5",
|
|
@@ -166,24 +167,24 @@
|
|
|
166
167
|
"zustand": "4.3.2"
|
|
167
168
|
},
|
|
168
169
|
"peerDependencies": {
|
|
169
|
-
"@babel/runtime": "7.
|
|
170
|
-
"@bigbinary/neeto-cist": "1.0.
|
|
171
|
-
"@bigbinary/neeto-commons-frontend": "4.
|
|
172
|
-
"@bigbinary/neeto-filters-frontend": "4.3.
|
|
173
|
-
"@bigbinary/neeto-icons": "1.20.
|
|
174
|
-
"@bigbinary/neeto-molecules": "3.
|
|
175
|
-
"@bigbinary/neetoui": "8.2.
|
|
176
|
-
"@honeybadger-io/js": "
|
|
177
|
-
"@honeybadger-io/react": "
|
|
178
|
-
"@tanstack/react-query": "5.
|
|
179
|
-
"@tanstack/react-query-devtools": "5.
|
|
180
|
-
"antd": "5.
|
|
181
|
-
"axios": "1.7.
|
|
170
|
+
"@babel/runtime": "7.26.0",
|
|
171
|
+
"@bigbinary/neeto-cist": "1.0.14",
|
|
172
|
+
"@bigbinary/neeto-commons-frontend": "4.13.14",
|
|
173
|
+
"@bigbinary/neeto-filters-frontend": "4.3.11",
|
|
174
|
+
"@bigbinary/neeto-icons": "1.20.22",
|
|
175
|
+
"@bigbinary/neeto-molecules": "3.14.6",
|
|
176
|
+
"@bigbinary/neetoui": "8.2.48",
|
|
177
|
+
"@honeybadger-io/js": "6.10.1",
|
|
178
|
+
"@honeybadger-io/react": "6.1.25",
|
|
179
|
+
"@tanstack/react-query": "5.59.20",
|
|
180
|
+
"@tanstack/react-query-devtools": "5.59.20",
|
|
181
|
+
"antd": "5.22.0",
|
|
182
|
+
"axios": "1.7.7",
|
|
182
183
|
"buffer": "^6.0.3",
|
|
183
|
-
"classnames": "2.
|
|
184
|
-
"crypto-browserify": "
|
|
184
|
+
"classnames": "2.5.1",
|
|
185
|
+
"crypto-browserify": "3.12.1",
|
|
185
186
|
"dompurify": "^2.4.0",
|
|
186
|
-
"formik": "2.
|
|
187
|
+
"formik": "2.4.6",
|
|
187
188
|
"https-browserify": "1.0.0",
|
|
188
189
|
"i18next": "22.5.1",
|
|
189
190
|
"js-logger": "1.6.1",
|
|
@@ -201,7 +202,7 @@
|
|
|
201
202
|
"source-map-loader": "4.0.1",
|
|
202
203
|
"stream-browserify": "^3.0.0",
|
|
203
204
|
"stream-http": "3.2.0",
|
|
204
|
-
"tailwindcss": "
|
|
205
|
+
"tailwindcss": "3.4.14",
|
|
205
206
|
"tty-browserify": "0.0.1",
|
|
206
207
|
"url": "^0.11.0",
|
|
207
208
|
"util": "^0.12.5",
|
|
@@ -220,6 +221,7 @@
|
|
|
220
221
|
"yarn": ">=1.22"
|
|
221
222
|
},
|
|
222
223
|
"dependencies": {
|
|
224
|
+
"@babel/plugin-syntax-dynamic-import": "^7.8.3",
|
|
223
225
|
"babel-plugin-transform-imports": "^2.0.0",
|
|
224
226
|
"react-router-nav-prompt": "0.4.1"
|
|
225
227
|
}
|