@bigbinary/neeto-redirect-urls-frontend 2.1.2 → 2.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,3 +1,5 @@
1
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
+ import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
1
3
  import { useState, useEffect, useRef } from 'react';
2
4
  import { noop, isPresent } from '@bigbinary/neeto-cist';
3
5
  import { useMutationWithInvalidation, useQueryParams } from '@bigbinary/neeto-commons-frontend/react-utils';
@@ -27,104 +29,9 @@ import { DEFAULT_PAGE_SIZE } from '@bigbinary/neeto-commons-frontend/constants';
27
29
  import MoreDropdown from '@bigbinary/neeto-molecules/MoreDropdown';
28
30
  import TableWrapper from '@bigbinary/neeto-molecules/TableWrapper';
29
31
  import Table from '@bigbinary/neetoui/Table';
32
+ import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
30
33
  import { buildUrl } from '@bigbinary/neeto-commons-frontend/utils';
31
34
 
32
- function _typeof(o) {
33
- "@babel/helpers - typeof";
34
-
35
- return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
36
- return typeof o;
37
- } : function (o) {
38
- return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
39
- }, _typeof(o);
40
- }
41
-
42
- function _toPrimitive(input, hint) {
43
- if (_typeof(input) !== "object" || input === null) return input;
44
- var prim = input[Symbol.toPrimitive];
45
- if (prim !== undefined) {
46
- var res = prim.call(input, hint || "default");
47
- if (_typeof(res) !== "object") return res;
48
- throw new TypeError("@@toPrimitive must return a primitive value.");
49
- }
50
- return (hint === "string" ? String : Number)(input);
51
- }
52
-
53
- function _toPropertyKey(arg) {
54
- var key = _toPrimitive(arg, "string");
55
- return _typeof(key) === "symbol" ? key : String(key);
56
- }
57
-
58
- function _defineProperty(obj, key, value) {
59
- key = _toPropertyKey(key);
60
- if (key in obj) {
61
- Object.defineProperty(obj, key, {
62
- value: value,
63
- enumerable: true,
64
- configurable: true,
65
- writable: true
66
- });
67
- } else {
68
- obj[key] = value;
69
- }
70
- return obj;
71
- }
72
-
73
- function _arrayWithHoles(arr) {
74
- if (Array.isArray(arr)) return arr;
75
- }
76
-
77
- function _iterableToArrayLimit(r, l) {
78
- var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
79
- if (null != t) {
80
- var e,
81
- n,
82
- i,
83
- u,
84
- a = [],
85
- f = !0,
86
- o = !1;
87
- try {
88
- if (i = (t = t.call(r)).next, 0 === l) {
89
- if (Object(t) !== t) return;
90
- f = !1;
91
- } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
92
- } catch (r) {
93
- o = !0, n = r;
94
- } finally {
95
- try {
96
- if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return;
97
- } finally {
98
- if (o) throw n;
99
- }
100
- }
101
- return a;
102
- }
103
- }
104
-
105
- function _arrayLikeToArray(arr, len) {
106
- if (len == null || len > arr.length) len = arr.length;
107
- for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
108
- return arr2;
109
- }
110
-
111
- function _unsupportedIterableToArray(o, minLen) {
112
- if (!o) return;
113
- if (typeof o === "string") return _arrayLikeToArray(o, minLen);
114
- var n = Object.prototype.toString.call(o).slice(8, -1);
115
- if (n === "Object" && o.constructor) n = o.constructor.name;
116
- if (n === "Map" || n === "Set") return Array.from(o);
117
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
118
- }
119
-
120
- function _nonIterableRest() {
121
- throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
122
- }
123
-
124
- function _slicedToArray(arr, i) {
125
- return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
126
- }
127
-
128
35
  var DeleteRedirectUrlModal = function DeleteRedirectUrlModal(_ref) {
129
36
  var handleClose = _ref.handleClose,
130
37
  handleSubmit = _ref.handleSubmit,
@@ -423,22 +330,6 @@ var SETTINGS_CATEGORIES = {
423
330
  };
424
331
  var SETTINGS_CATEGORIES_LABELS = _defineProperty({}, SETTINGS_CATEGORIES.GENERAL, t("neetoRedirectUrls.settings.general.title"));
425
332
 
426
- function _arrayWithoutHoles(arr) {
427
- if (Array.isArray(arr)) return _arrayLikeToArray(arr);
428
- }
429
-
430
- function _iterableToArray(iter) {
431
- if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
432
- }
433
-
434
- function _nonIterableSpread() {
435
- throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
436
- }
437
-
438
- function _toConsumableArray(arr) {
439
- return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
440
- }
441
-
442
333
  var routes = {
443
334
  admin: {
444
335
  index: "/admin",
@@ -1 +1 @@
1
- {"version":3,"file":"RedirectUrls.js","sources":["../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../app/javascript/src/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","../node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../node_modules/@babel/runtime/helpers/esm/toConsumableArray.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":["export default function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}","import _typeof from \"./typeof.js\";\nexport default function _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","import React from \"react\";\n\nimport { 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 React from \"react\";\n\nimport { 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 React, { 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","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\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 React from \"react\";\n\nimport { 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 React, { 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":["toPrimitive","toPropertyKey","arrayLikeToArray","arrayWithHoles","iterableToArrayLimit","unsupportedIterableToArray","nonIterableRest","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","arrayWithoutHoles","iterableToArray","nonIterableSpread","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: { 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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"}