@bigbinary/neeto-redirect-urls-frontend 2.2.11 → 2.2.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/app/javascript/src/translations/ar.json +55 -0
  2. package/app/javascript/src/translations/bg.json +55 -0
  3. package/app/javascript/src/translations/ca.json +55 -0
  4. package/app/javascript/src/translations/cs.json +55 -0
  5. package/app/javascript/src/translations/da.json +55 -0
  6. package/app/javascript/src/translations/es-MX.json +55 -0
  7. package/app/javascript/src/translations/et.json +55 -0
  8. package/app/javascript/src/translations/fi.json +55 -0
  9. package/app/javascript/src/translations/fil.json +55 -0
  10. package/app/javascript/src/translations/hi.json +55 -0
  11. package/app/javascript/src/translations/hr.json +55 -0
  12. package/app/javascript/src/translations/id.json +55 -0
  13. package/app/javascript/src/translations/it.json +55 -0
  14. package/app/javascript/src/translations/ja.json +55 -0
  15. package/app/javascript/src/translations/ko.json +55 -0
  16. package/app/javascript/src/translations/nl.json +55 -0
  17. package/app/javascript/src/translations/pl.json +55 -0
  18. package/app/javascript/src/translations/pt-BR.json +55 -0
  19. package/app/javascript/src/translations/pt.json +55 -0
  20. package/app/javascript/src/translations/ro.json +55 -0
  21. package/app/javascript/src/translations/ru.json +55 -0
  22. package/app/javascript/src/translations/sk.json +55 -0
  23. package/app/javascript/src/translations/sl.json +55 -0
  24. package/app/javascript/src/translations/sv.json +55 -0
  25. package/app/javascript/src/translations/th.json +55 -0
  26. package/app/javascript/src/translations/tr.json +55 -0
  27. package/app/javascript/src/translations/uk.json +55 -0
  28. package/app/javascript/src/translations/vi.json +55 -0
  29. package/app/javascript/src/translations/zh-CN.json +55 -0
  30. package/app/javascript/src/translations/zh-TW.json +55 -0
  31. package/dist/RedirectUrls.js +12 -4
  32. package/dist/RedirectUrls.js.map +1 -1
  33. package/dist/cjs/RedirectUrls.js +12 -4
  34. package/dist/cjs/RedirectUrls.js.map +1 -1
  35. package/package.json +14 -13
@@ -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/constants.js","../app/javascript/src/components/commons/RedirectUrlPane.jsx","../app/javascript/src/components/constants.js","../app/javascript/src/routes.js","../app/javascript/src/components/utils.js","../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/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_PATHNAME_REGEX = /^\\/[-a-zA-Z0-9@:%_+.~#?&//=]*$/g;\n","import { t } from \"i18next\";\nimport { VALID_URL_REGEX } from \"neetocommons/constants\";\nimport * as yup from \"yup\";\n\nimport { URL_PATHNAME_REGEX } from \"src/constants/regexp\";\n\nexport const REDIRECT_URL_VALIDATION_SCHEMA = yup.object().shape({\n fromPath: yup\n .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\n .string()\n .required(\n t(\"neetoRedirectUrls.redirect.validations.required\", {\n entity: \"Destination\",\n })\n )\n .matches(\n new RegExp(`${VALID_URL_REGEX.source}|${URL_PATHNAME_REGEX.source}`),\n t(\"neetoRedirectUrls.redirect.validations.destination\")\n )\n .test(\n \"paths-not-same\",\n t(\"neetoRedirectUrls.redirect.validations.samePaths\"),\n (value, context) => {\n const { fromPath } = context.parent;\n if (!value || !fromPath) return true;\n\n return value !== fromPath;\n }\n ),\n});\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\";\n\nimport { REDIRECT_URL_VALIDATION_SCHEMA } from \"./constants\";\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: REDIRECT_URL_VALIDATION_SCHEMA,\n onSubmit: (values, formikBag) => {\n handleSubmit({ ...values }, formikBag);\n },\n }}\n >\n <>\n <Pane.Body>\n <div className=\"w-full space-y-4\">\n <Input\n required\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 required\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","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\nexport const SHOW_TOASTR_CONFIG = { showToastr: false };\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 adminPanel: \"/admin/admin-panel\",\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.adminPanel,\n text: t(\"neetoRedirectUrls.settings.title\"),\n },\n {\n link: buildUrl(routes.admin.adminPanel, {\n category: category.toLowerCase(),\n }),\n text: SETTINGS_CATEGORIES_LABELS[category],\n },\n ...(pageTitle ? [{ text: pageTitle }] : []),\n];\n\nexport const normalizeURL = url => (url ? url.replace(/\\/+$/, \"\") : \"\");\n\nexport const handleError = (setStatus, error) => {\n const { response } = error;\n if (response && response.data && response.data.errors) {\n setStatus(response.data.errors);\n }\n};\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, config }) =>\n axios.post(REDIRECT_URLS_BASE_URL, payload, config);\n\nconst update = ({ id, payload, config }) =>\n axios.put(`${REDIRECT_URLS_BASE_URL}/${id}`, payload, config);\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 { VALID_URL_REGEX } from \"neetocommons/constants\";\nimport * as yup from \"yup\";\n\nimport { normalizeURL } from \"components/utils\";\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 VALID_URL_REGEX,\n t(\"neetoRedirectUrls.redirect.validations.destination\")\n )\n .test(\n \"not-duplicate-domain\",\n t(\"neetoRedirectUrls.redirect.validations.duplicateDomain\"),\n value => {\n if (!value) return true;\n\n return normalizeURL(value) !== normalizeURL(location.origin);\n }\n ),\n }),\n});\n","import { useEffect, useState } from \"react\";\n\nimport { isPresent } from \"neetocist\";\nimport { Edit } from \"neetoicons\";\nimport CardLayout from \"neetomolecules/CardLayout\";\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, entity, helpDocUrls }) => {\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 <Form\n className=\"mb-6 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 <CardLayout containerClassName=\"ml-0\">\n <div className=\"flex items-center justify-between\">\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 values={{ entity, app: window.globalProps.appName }}\n components={{\n Link: (\n <Button\n className=\"text-sm\"\n data-cy=\"domain-level-redirections-help-button\"\n style=\"link\"\n target=\"_blank\"\n href={\n helpDocUrls.domainLevelRedirectUrl ||\n DOMAIN_LEVEL_REDIRECT_HELP_DOC_URL\n }\n />\n ),\n }}\n />\n </Typography>\n </div>\n </div>\n {domainRedirectionActive && (\n <div className=\"mt-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 data-cy=\"domain-level-redirection-edit-btn\"\n icon={Edit}\n style=\"link\"\n onClick={() => setIsEditingDomainRedirect(true)}\n />\n </>\n )}\n </div>\n )}\n </CardLayout>\n )}\n </Form>\n );\n};\n\nexport default DomainRedirection;\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 \"data-cy\": \"neeto-redirect-url-edit-btn\",\n label: t(\"neetoRedirectUrls.common.edit\"),\n onClick: () => {\n setUrlDetailsToEdit({ id, fromPath, toPath });\n },\n },\n {\n key: \"delete-menu\",\n \"data-cy\": \"neeto-redirect-url-delete-btn\",\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 { showThumbsUpToastr } from \"neetocommons/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 { SHOW_TOASTR_CONFIG } from \"components/constants\";\nimport { handleError } from \"components/utils\";\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 = ({ entity, helpDocUrls = {} }) => {\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 = (\n redirectUrl,\n { setSubmitting, setStatus }\n ) => {\n createRedirectUrl(\n { payload: redirectUrl, config: SHOW_TOASTR_CONFIG },\n {\n onError: error => {\n handleError(setStatus, error);\n setSubmitting(false);\n },\n onSuccess: () => {\n showThumbsUpToastr();\n setIsModalOpen(false);\n },\n }\n );\n };\n\n const handleRedirectUrlUpdate = (\n redirectUrl,\n { setSubmitting, setStatus }\n ) => {\n updateRedirectUrl(\n { id: redirectUrl.id, payload: redirectUrl, config: SHOW_TOASTR_CONFIG },\n {\n onError: error => {\n handleError(setStatus, error);\n setSubmitting(false);\n },\n onSuccess: () => {\n showThumbsUpToastr();\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 <Header\n breadcrumbs={buildBreadcrumbs(pageTitle)}\n title={pageTitle}\n actionBlock={\n <Button\n data-cy=\"add-new-redirect-url-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 titleHelpPopoverProps={{\n title: t(\"neetoRedirectUrls.settings.redirecturl.title\"),\n description: t(\n \"neetoRedirectUrls.settings.redirecturl.description\"\n ),\n helpLinkProps: {\n href:\n helpDocUrls.createRedirectUrl ||\n CREATE_REDIRECT_URL_HELP_DOC_URL,\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 <Button\n style=\"link\"\n target=\"_blank\"\n href={\n helpDocUrls.createRedirectUrl ||\n CREATE_REDIRECT_URL_HELP_DOC_URL\n }\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\n {...{ domainRedirectUrl, entity, helpDocUrls }}\n />\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_PATHNAME_REGEX","REDIRECT_URL_VALIDATION_SCHEMA","yup","object","shape","string","required","entity","matches","RegExp","concat","VALID_URL_REGEX","source","test","value","context","parent","RedirectUrlPane","_ref$initialValues","initialValues","_ref$setInitialFocusF","setInitialFocusField","noop","redirectUrlId","_jsxs","_Fragment","children","Pane","Header","Typography","style","Form","formikProps","validationSchema","formikBag","_objectSpread","Body","className","Input","label","name","ref","placeholder","window","location","origin","Footer","ActionBlock","cancelButtonProps","onClick","SETTINGS_CATEGORIES","GENERAL","SETTINGS_CATEGORIES_LABELS","_defineProperty","SHOW_TOASTR_CONFIG","showToastr","routes","admin","index","courses","chapters","show","chapterVersions","pages","pageVersions","deployments","configure","security","certificateConfiguration","pullRequestApps","courseDeployments","members","adminPanel","reports","invalidUrls","assets","databases","videos","audios","resources","home","buildSettingsBreadcrumbs","category","pageTitle","link","text","buildUrl","toLowerCase","_toConsumableArray","normalizeURL","url","replace","handleError","setStatus","error","response","data","errors","REDIRECT_URLS_BASE_URL","fetch","axios","get","fetchAll","params","create","payload","config","post","update","_ref2","put","destroy","redirectUrlApi","QUERY_KEYS","REDIRECT_URLS","useFetchAllRedirectUrls","searchQuery","options","useQuery","queryKey","queryFn","useCreateRedirectUrl","useMutationWithInvalidation","keysToInvalidate","useUpdateRedirectUrl","useDestroyRedirectUrl","DOC_BASE_URL","globalProps","appName","CREATE_REDIRECT_URL_HELP_DOC_URL","DOMAIN_LEVEL_REDIRECT_HELP_DOC_URL","DOMAIN_REDIRECTION_VALIDATION_SCHEMA","nullable","when","is","then","DomainRedirection","domainRedirectUrl","helpDocUrls","_useState","useState","_useState2","_slicedToArray","isEditingDomainRedirect","setIsEditingDomainRedirect","_useCreateRedirectUrl","createLink","mutateAsync","_useUpdateRedirectUrl","updateLink","_useDestroyRedirectUr","destroyLink","mutate","domainRedirectionActive","isPresent","redirection_type","handleRemoveRedirection","domainLinkActive","useEffect","enableReinitialize","dirty","CardLayout","containerClassName","Label","Switch","component","weight","app","components","Link","Button","target","href","domainLevelRedirectUrl","FormikInlineInput","handleCancel","disabled","submitButtonProps","icon","Edit","buildBreadcrumbs","buildMoreMenuItems","redirectUrl","setUrlDetailsToEdit","setUrlDetailsToDelete","key","RedirectUrlsTable","_ref$redirectUrls","redirectUrls","currentPageNumber","setCurrentPageNumber","recordsCount","isFetching","truncateUrl","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","_ref$helpDocUrls","_useQueryParams","useQueryParams","_useQueryParams$searc","searchTerm","initialFocusField","useRef","_useState3","_useState4","urlDetailsToDelete","_useState5","_useState6","urlDetailsToEdit","_useState7","_useState8","isModalOpen","setIsModalOpen","createRedirectUrl","isEmpty","_useFetchAllRedirectU","_useFetchAllRedirectU2","_useFetchAllRedirectU3","_useFetchAllRedirectU4","isLoading","isFiltersVisible","updateRedirectUrl","deleteRedirectUrl","handleCreateRedirectUrl","setSubmitting","onError","onSuccess","showThumbsUpToastr","handleRedirectUrlUpdate","_ref3","onSettled","handleRedirectUrlDelete","urlId","fieldRef","current","Container","PageLoader","breadcrumbs","actionBlock","searchProps","titleHelpPopoverProps","description","helpLinkProps","NoData","helpText","helpLink","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/constants.js","../app/javascript/src/components/commons/RedirectUrlPane.jsx","../app/javascript/src/components/constants.js","../app/javascript/src/routes.js","../app/javascript/src/components/utils.js","../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/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_PATHNAME_REGEX = /^\\/[-a-zA-Z0-9@:%_+.~#?&//=]*$/g;\n","import { t } from \"i18next\";\nimport { VALID_URL_REGEX } from \"neetocommons/constants\";\nimport * as yup from \"yup\";\n\nimport { URL_PATHNAME_REGEX } from \"src/constants/regexp\";\n\nexport const REDIRECT_URL_VALIDATION_SCHEMA = yup.object().shape({\n fromPath: yup\n .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\n .string()\n .required(\n t(\"neetoRedirectUrls.redirect.validations.required\", {\n entity: \"Destination\",\n })\n )\n .matches(\n new RegExp(`${VALID_URL_REGEX.source}|${URL_PATHNAME_REGEX.source}`),\n t(\"neetoRedirectUrls.redirect.validations.destination\")\n )\n .test(\n \"paths-not-same\",\n t(\"neetoRedirectUrls.redirect.validations.samePaths\"),\n (value, context) => {\n const { fromPath } = context.parent;\n if (!value || !fromPath) return true;\n\n return value !== fromPath;\n }\n ),\n});\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\";\n\nimport { REDIRECT_URL_VALIDATION_SCHEMA } from \"./constants\";\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: REDIRECT_URL_VALIDATION_SCHEMA,\n onSubmit: (values, formikBag) => {\n handleSubmit({ ...values }, formikBag);\n },\n }}\n >\n <>\n <Pane.Body>\n <div className=\"w-full space-y-4\">\n <Input\n required\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 required\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","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\nexport const SHOW_TOASTR_CONFIG = { showToastr: false };\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 adminPanel: \"/admin/admin-panel\",\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.adminPanel,\n text: t(\"neetoRedirectUrls.settings.title\"),\n },\n {\n link: buildUrl(routes.admin.adminPanel, {\n category: category.toLowerCase(),\n }),\n text: SETTINGS_CATEGORIES_LABELS[category],\n },\n ...(pageTitle ? [{ text: pageTitle }] : []),\n];\n\nexport const normalizeURL = url => (url ? url.replace(/\\/+$/, \"\") : \"\");\n\nexport const handleError = (setStatus, error) => {\n const { response } = error;\n if (response && response.data && response.data.errors) {\n setStatus(response.data.errors);\n }\n};\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, config }) =>\n axios.post(REDIRECT_URLS_BASE_URL, payload, config);\n\nconst update = ({ id, payload, config }) =>\n axios.put(`${REDIRECT_URLS_BASE_URL}/${id}`, payload, config);\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 { VALID_URL_REGEX } from \"neetocommons/constants\";\nimport * as yup from \"yup\";\n\nimport { normalizeURL } from \"components/utils\";\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 VALID_URL_REGEX,\n t(\"neetoRedirectUrls.redirect.validations.destination\")\n )\n .test(\n \"not-duplicate-domain\",\n t(\"neetoRedirectUrls.redirect.validations.duplicateDomain\"),\n value => {\n if (!value) return true;\n\n const domainUrls =\n window.globalProps.organization?.domainUrls?.map(normalizeURL) ||\n [];\n\n return !domainUrls.includes(normalizeURL(value));\n }\n ),\n }),\n});\n","import { useEffect, useState } from \"react\";\n\nimport { isPresent } from \"neetocist\";\nimport { Edit } from \"neetoicons\";\nimport CardLayout from \"neetomolecules/CardLayout\";\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, entity, helpDocUrls }) => {\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 <Form\n className=\"mb-6 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 <CardLayout containerClassName=\"ml-0\">\n <div className=\"flex items-center justify-between\">\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 values={{ entity, app: window.globalProps.appName }}\n components={{\n Link: (\n <Button\n className=\"text-sm\"\n data-cy=\"domain-level-redirections-help-button\"\n style=\"link\"\n target=\"_blank\"\n href={\n helpDocUrls.domainLevelRedirectUrl ||\n DOMAIN_LEVEL_REDIRECT_HELP_DOC_URL\n }\n />\n ),\n }}\n />\n </Typography>\n </div>\n </div>\n {domainRedirectionActive && (\n <div className=\"mt-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 data-cy=\"domain-level-redirection-edit-btn\"\n icon={Edit}\n style=\"link\"\n onClick={() => setIsEditingDomainRedirect(true)}\n />\n </>\n )}\n </div>\n )}\n </CardLayout>\n )}\n </Form>\n );\n};\n\nexport default DomainRedirection;\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 \"data-cy\": \"neeto-redirect-url-edit-btn\",\n label: t(\"neetoRedirectUrls.common.edit\"),\n onClick: () => {\n setUrlDetailsToEdit({ id, fromPath, toPath });\n },\n },\n {\n key: \"delete-menu\",\n \"data-cy\": \"neeto-redirect-url-delete-btn\",\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 width: 300,\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 dropdownButtonProps={{ className: \"mr-1 my-1\" }}\n dropdownProps={{\n strategy: \"fixed\",\n appendTo: () => document.body,\n }}\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 width: 300,\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 { showThumbsUpToastr } from \"neetocommons/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 { SHOW_TOASTR_CONFIG } from \"components/constants\";\nimport { handleError } from \"components/utils\";\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 = ({ entity, helpDocUrls = {} }) => {\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 = (\n redirectUrl,\n { setSubmitting, setStatus }\n ) => {\n createRedirectUrl(\n { payload: redirectUrl, config: SHOW_TOASTR_CONFIG },\n {\n onError: error => {\n handleError(setStatus, error);\n setSubmitting(false);\n },\n onSuccess: () => {\n showThumbsUpToastr();\n setIsModalOpen(false);\n },\n }\n );\n };\n\n const handleRedirectUrlUpdate = (\n redirectUrl,\n { setSubmitting, setStatus }\n ) => {\n updateRedirectUrl(\n { id: redirectUrl.id, payload: redirectUrl, config: SHOW_TOASTR_CONFIG },\n {\n onError: error => {\n handleError(setStatus, error);\n setSubmitting(false);\n },\n onSuccess: () => {\n showThumbsUpToastr();\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 <Header\n breadcrumbs={buildBreadcrumbs(pageTitle)}\n title={pageTitle}\n actionBlock={\n <Button\n data-cy=\"add-new-redirect-url-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 titleHelpPopoverProps={{\n title: t(\"neetoRedirectUrls.settings.redirecturl.title\"),\n description: t(\n \"neetoRedirectUrls.settings.redirecturl.description\"\n ),\n helpLinkProps: {\n href:\n helpDocUrls.createRedirectUrl ||\n CREATE_REDIRECT_URL_HELP_DOC_URL,\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 <Button\n style=\"link\"\n target=\"_blank\"\n href={\n helpDocUrls.createRedirectUrl ||\n CREATE_REDIRECT_URL_HELP_DOC_URL\n }\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\n {...{ domainRedirectUrl, entity, helpDocUrls }}\n />\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_PATHNAME_REGEX","REDIRECT_URL_VALIDATION_SCHEMA","yup","object","shape","string","required","entity","matches","RegExp","concat","VALID_URL_REGEX","source","test","value","context","parent","RedirectUrlPane","_ref$initialValues","initialValues","_ref$setInitialFocusF","setInitialFocusField","noop","redirectUrlId","_jsxs","_Fragment","children","Pane","Header","Typography","style","Form","formikProps","validationSchema","formikBag","_objectSpread","Body","className","Input","label","name","ref","placeholder","window","location","origin","Footer","ActionBlock","cancelButtonProps","onClick","SETTINGS_CATEGORIES","GENERAL","SETTINGS_CATEGORIES_LABELS","_defineProperty","SHOW_TOASTR_CONFIG","showToastr","routes","admin","index","courses","chapters","show","chapterVersions","pages","pageVersions","deployments","configure","security","certificateConfiguration","pullRequestApps","courseDeployments","members","adminPanel","reports","invalidUrls","assets","databases","videos","audios","resources","home","buildSettingsBreadcrumbs","category","pageTitle","link","text","buildUrl","toLowerCase","_toConsumableArray","normalizeURL","url","replace","handleError","setStatus","error","response","data","errors","REDIRECT_URLS_BASE_URL","fetch","axios","get","fetchAll","params","create","payload","config","post","update","_ref2","put","destroy","redirectUrlApi","QUERY_KEYS","REDIRECT_URLS","useFetchAllRedirectUrls","searchQuery","options","useQuery","queryKey","queryFn","useCreateRedirectUrl","useMutationWithInvalidation","keysToInvalidate","useUpdateRedirectUrl","useDestroyRedirectUrl","DOC_BASE_URL","globalProps","appName","CREATE_REDIRECT_URL_HELP_DOC_URL","DOMAIN_LEVEL_REDIRECT_HELP_DOC_URL","DOMAIN_REDIRECTION_VALIDATION_SCHEMA","nullable","when","is","then","_window$globalProps$o","domainUrls","organization","map","includes","DomainRedirection","domainRedirectUrl","helpDocUrls","_useState","useState","_useState2","_slicedToArray","isEditingDomainRedirect","setIsEditingDomainRedirect","_useCreateRedirectUrl","createLink","mutateAsync","_useUpdateRedirectUrl","updateLink","_useDestroyRedirectUr","destroyLink","mutate","domainRedirectionActive","isPresent","redirection_type","handleRemoveRedirection","domainLinkActive","useEffect","enableReinitialize","dirty","CardLayout","containerClassName","Label","Switch","component","weight","app","components","Link","Button","target","href","domainLevelRedirectUrl","FormikInlineInput","handleCancel","disabled","submitButtonProps","icon","Edit","buildBreadcrumbs","buildMoreMenuItems","redirectUrl","setUrlDetailsToEdit","setUrlDetailsToDelete","key","RedirectUrlsTable","_ref$redirectUrls","redirectUrls","currentPageNumber","setCurrentPageNumber","recordsCount","isFetching","truncateUrl","urlString","String","length","slice","columnData","dataIndex","width","render","_","MoreDropdown","dropdownButtonProps","dropdownProps","strategy","appendTo","document","body","menuItems","TableWrapper","hasPagination","DEFAULT_PAGE_SIZE","Table","fixedHeight","handlePageChange","page","loading","rowData","totalCount","paginationProps","hideOnSinglePage","showSizeChanger","RedirectUrls","_ref$helpDocUrls","_useQueryParams","useQueryParams","_useQueryParams$searc","searchTerm","initialFocusField","useRef","_useState3","_useState4","urlDetailsToDelete","_useState5","_useState6","urlDetailsToEdit","_useState7","_useState8","isModalOpen","setIsModalOpen","createRedirectUrl","isEmpty","_useFetchAllRedirectU","_useFetchAllRedirectU2","_useFetchAllRedirectU3","_useFetchAllRedirectU4","isLoading","isFiltersVisible","updateRedirectUrl","deleteRedirectUrl","handleCreateRedirectUrl","setSubmitting","onError","onSuccess","showThumbsUpToastr","handleRedirectUrlUpdate","_ref3","handleRedirectUrlDelete","urlId","onSettled","fieldRef","current","Container","PageLoader","breadcrumbs","actionBlock","searchProps","titleHelpPopoverProps","description","helpLinkProps","NoData","helpText","helpLink","primaryButtonProps","initialFocusRef","isNotNil"],"mappings":"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"}
@@ -312,8 +312,10 @@ var DOMAIN_REDIRECTION_VALIDATION_SCHEMA = yup__namespace.object().shape({
312
312
  then: yup__namespace.string().required(i18next.t("neetoRedirectUrls.redirect.validations.required", {
313
313
  entity: "Destination"
314
314
  })).matches(constants.VALID_URL_REGEX, i18next.t("neetoRedirectUrls.redirect.validations.destination")).test("not-duplicate-domain", i18next.t("neetoRedirectUrls.redirect.validations.duplicateDomain"), function (value) {
315
+ var _window$globalProps$o;
315
316
  if (!value) return true;
316
- return normalizeURL(value) !== normalizeURL(location.origin);
317
+ var domainUrls = ((_window$globalProps$o = window.globalProps.organization) === null || _window$globalProps$o === void 0 || (_window$globalProps$o = _window$globalProps$o.domainUrls) === null || _window$globalProps$o === void 0 ? void 0 : _window$globalProps$o.map(normalizeURL)) || [];
318
+ return !domainUrls.includes(normalizeURL(value));
317
319
  })
318
320
  })
319
321
  });
@@ -504,6 +506,7 @@ var RedirectUrlsTable = function RedirectUrlsTable(_ref) {
504
506
  title: t("neetoRedirectUrls.redirect.source"),
505
507
  dataIndex: "source",
506
508
  key: "name",
509
+ width: 300,
507
510
  render: function render(_, redirectUrl) {
508
511
  var fromPath = redirectUrl.fromPath;
509
512
  return /*#__PURE__*/jsxRuntime.jsxs("div", {
@@ -511,8 +514,14 @@ var RedirectUrlsTable = function RedirectUrlsTable(_ref) {
511
514
  children: [/*#__PURE__*/jsxRuntime.jsx("span", {
512
515
  children: fromPath && truncateUrl(fromPath)
513
516
  }), /*#__PURE__*/jsxRuntime.jsx(MoreDropdown, {
517
+ dropdownButtonProps: {
518
+ className: "mr-1 my-1"
519
+ },
514
520
  dropdownProps: {
515
- strategy: "fixed"
521
+ strategy: "fixed",
522
+ appendTo: function appendTo() {
523
+ return document.body;
524
+ }
516
525
  },
517
526
  menuItems: buildMoreMenuItems({
518
527
  redirectUrl: redirectUrl,
@@ -526,6 +535,7 @@ var RedirectUrlsTable = function RedirectUrlsTable(_ref) {
526
535
  title: t("neetoRedirectUrls.redirect.destination"),
527
536
  dataIndex: "toPath",
528
537
  key: "toPath",
538
+ width: 300,
529
539
  render: function render(toPath) {
530
540
  return toPath && truncateUrl(toPath);
531
541
  }
@@ -631,8 +641,6 @@ var RedirectUrls = function RedirectUrls(_ref) {
631
641
  },
632
642
  onSuccess: function onSuccess() {
633
643
  utils.showThumbsUpToastr();
634
- },
635
- onSettled: function onSettled() {
636
644
  setUrlDetailsToEdit(null);
637
645
  }
638
646
  });