@mattisvensson/strapi-plugin-webatlas 0.7.0 → 0.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_chunks/{index-BOEv4jIJ.js → index-2J9mPFyV.js} +5 -5
- package/dist/_chunks/{index-BOEv4jIJ.js.map → index-2J9mPFyV.js.map} +1 -1
- package/dist/_chunks/{index-UJ0LQ3Y3.js → index-B79--vLg.js} +1 -1
- package/dist/_chunks/{index-D_QCV5Z5.js.map → index-B79--vLg.js.map} +1 -1
- package/dist/_chunks/{index-BgzZLDPv.mjs → index-BFMLU2kR.mjs} +9 -8
- package/dist/_chunks/index-BFMLU2kR.mjs.map +1 -0
- package/dist/_chunks/{index-CZ5qsGXH.mjs → index-C6Dorrjz.mjs} +5 -5
- package/dist/_chunks/{index-CZ5qsGXH.mjs.map → index-C6Dorrjz.mjs.map} +1 -1
- package/dist/_chunks/{index-ByU38WNH.js → index-C6e9wLau.js} +4 -4
- package/dist/_chunks/index-C6e9wLau.js.map +1 -0
- package/dist/_chunks/{index-BoVX1KF8.js → index-CHB_8c7e.js} +1 -1
- package/dist/_chunks/{index-Bg96TqDm.js.map → index-CHB_8c7e.js.map} +1 -1
- package/dist/_chunks/{index-B6MYtu3A.mjs → index-D5Uc0GLu.mjs} +8 -9
- package/dist/_chunks/index-D5Uc0GLu.mjs.map +1 -0
- package/dist/_chunks/{index-dSU20yZ4.js → index-DCejsR9X.js} +9 -8
- package/dist/_chunks/index-DCejsR9X.js.map +1 -0
- package/dist/_chunks/{index-BPhRQoGD.mjs → index-DLZJ_sUK.mjs} +2 -2
- package/dist/_chunks/{index-BPhRQoGD.mjs.map → index-DLZJ_sUK.mjs.map} +1 -1
- package/dist/_chunks/{index-D3xDvB4d.mjs → index-DY1ICa5c.mjs} +4 -4
- package/dist/_chunks/index-DY1ICa5c.mjs.map +1 -0
- package/dist/_chunks/{index-DKdAgBbF.mjs → index-DcFYhqke.mjs} +1 -1
- package/dist/_chunks/index-DcFYhqke.mjs.map +1 -0
- package/dist/_chunks/{index-mObQ5NXj.js → index-DeCgextE.js} +8 -9
- package/dist/_chunks/index-DeCgextE.js.map +1 -0
- package/dist/_chunks/{index-BEgpEtto.mjs → index-DzqTj_0f.mjs} +2 -2
- package/dist/_chunks/{index-BEgpEtto.mjs.map → index-DzqTj_0f.mjs.map} +1 -1
- package/dist/_chunks/{index-BdlPAWj6.mjs → index-KC82xDAD.mjs} +1 -1
- package/dist/_chunks/index-KC82xDAD.mjs.map +1 -0
- package/dist/_chunks/{index-D_QCV5Z5.js → index-NZpDoHIv.js} +2 -2
- package/dist/_chunks/index-NZpDoHIv.js.map +1 -0
- package/dist/_chunks/{index-Bg96TqDm.js → index-dzRHjemo.js} +2 -2
- package/dist/_chunks/index-dzRHjemo.js.map +1 -0
- package/dist/admin/index.js +1 -1
- package/dist/admin/index.mjs +1 -1
- package/dist/server/index.js +1 -1
- package/dist/server/index.mjs +1 -1
- package/package.json +1 -1
- package/dist/_chunks/index-B6MYtu3A.mjs.map +0 -1
- package/dist/_chunks/index-mObQ5NXj.js.map +0 -1
|
@@ -2,7 +2,7 @@ import { jsxs, jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import { useReducer, useState, useEffect } from "react";
|
|
3
3
|
import { Button, Box, Accordion, Field, SingleSelect, SingleSelectOption, MultiSelect, MultiSelectOption } from "@strapi/design-system";
|
|
4
4
|
import { Page, Layouts, useNotification } from "@strapi/strapi/admin";
|
|
5
|
-
import { P as PLUGIN_NAME, g as getTranslation, T as Tooltip, b as usePluginConfig, c as useAllContentTypes, t as transformToUrl } from "./index-
|
|
5
|
+
import { P as PLUGIN_NAME, g as getTranslation, T as Tooltip, b as usePluginConfig, c as useAllContentTypes, t as transformToUrl } from "./index-DY1ICa5c.mjs";
|
|
6
6
|
import { useIntl } from "react-intl";
|
|
7
7
|
import "@strapi/icons/symbols";
|
|
8
8
|
import { F as FullLoader } from "./FullLoader-CrPED_dY.mjs";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-DcFYhqke.mjs","sources":["../../admin/src/pages/Settings/PageWrapper.tsx","../../admin/src/pages/Settings/ContentTypeAccordion.tsx","../../admin/src/pages/Settings/index.tsx"],"sourcesContent":["import { Button, Box } from '@strapi/design-system';\nimport { Page, Layouts} from '@strapi/strapi/admin'\nimport { PLUGIN_NAME } from '../../../../pluginId';\nimport { getTranslation } from '../../utils';\nimport { useIntl } from 'react-intl';\nimport type { ConfigContentType } from '../../../../types';\n\nexport default function PageWrapper({ \n settingsState, \n initialState, \n save, \n isSaving,\n children\n}: { \n settingsState?: any, \n initialState?: any, \n save?: () => void, \n isSaving?: boolean,\n children: React.ReactNode \n}) {\n\n const { formatMessage } = useIntl();\n \n return (\n <Page.Main>\n <Layouts.Header\n title={PLUGIN_NAME}\n subtitle={formatMessage({\n id: getTranslation('settings.page.subtitle'),\n defaultMessage: 'Settings',\n })}\n primaryAction={ settingsState && initialState && save &&\n <Button\n type=\"submit\"\n onClick={() => save()}\n loading={isSaving}\n disabled={\n JSON.stringify(settingsState) === JSON.stringify(initialState)\n || settingsState.selectedContentTypes.find((cta: ConfigContentType) => !cta.default) !== undefined\n || isSaving\n }\n >\n {formatMessage({\n id: getTranslation('save'),\n defaultMessage: 'Save',\n })}\n </Button>\n }\n />\n <Layouts.Content>\n <Box\n background='neutral0'\n borderColor=\"neutral150\"\n hasRadius\n paddingBottom={4}\n paddingLeft={4}\n paddingRight={4}\n paddingTop={6}\n shadow=\"tableShadow\"\n >\n {children}\n </Box>\n </Layouts.Content>\n </Page.Main>\n )\n}","import { SingleSelect, SingleSelectOption } from '@strapi/design-system';\nimport Tooltip from '../../components/Tooltip'\nimport { Box, Accordion, Field } from '@strapi/design-system';\nimport { getTranslation } from '../../utils';\nimport { useIntl } from 'react-intl';\nimport type { ContentType, ConfigContentType } from '../../../../types';\n\nexport default function ContentTypeAccordion({ \n contentType,\n contentTypeSettings,\n dispatch\n}: { \n contentType: ContentType | undefined, \n contentTypeSettings: ConfigContentType, \n dispatch: React.Dispatch<any>\n}) {\n \n const { formatMessage } = useIntl();\n\n if (!contentType) return null\n\n return (\n <Box\n borderColor={!contentTypeSettings.default && 'danger500'}\n key={contentType.uid}\n >\n <Accordion.Item key={contentType.uid} value={contentType.uid} size=\"S\">\n <Accordion.Header>\n <Accordion.Trigger>\n {contentType?.info.displayName}\n </Accordion.Trigger>\n </Accordion.Header>\n <Accordion.Content>\n <Box padding={3}>\n <Field.Root\n name=\"selectedContentTypes\"\n hint={formatMessage({\n id: getTranslation('settings.page.defaultField.hint'),\n defaultMessage: 'The selected field from the content type will be used to generate the URL alias. Use a field that is unique and descriptive, such as a \"title\" or \"name\".',\n })}\n error={!contentTypeSettings.default && formatMessage({\n id: getTranslation('settings.page.defaultField.error'),\n defaultMessage: 'Please select a default field',\n })}\n required\n >\n <Field.Label>\n {formatMessage({\n id: getTranslation('settings.page.defaultField'),\n defaultMessage: 'Default URL Alias field',\n })}\n </Field.Label>\n <SingleSelect\n name={`defaultField-${contentType.uid}`}\n onClear={() => dispatch({ type: 'SET_DEFAULT_FIELD', payload: { ctUid: contentType.uid, field: '' } })}\n value={contentTypeSettings?.default || ''}\n onChange={(value: string) => dispatch({ type: 'SET_DEFAULT_FIELD', payload: { ctUid: contentType.uid, field: value } })}\n >\n {Object.entries(contentType.attributes).map(([key], index) => {\n if (\n key === 'id' || \n key === 'documentId' ||\n key === 'createdAt' || \n key === 'updatedAt' || \n key === 'createdBy' || \n key === 'updatedBy' ||\n key === 'webatlas_path' ||\n key === 'webatlas_override'\n ) return null\n return <SingleSelectOption key={index} value={key}>{key}</SingleSelectOption>\n })}\n </SingleSelect>\n <Field.Hint/>\n </Field.Root>\n <Box paddingTop={4}>\n <Field.Root\n name=\"urlAliasPattern\"\n hint={formatMessage({\n id: getTranslation('settings.page.urlAliasPattern.hint'),\n defaultMessage: 'The pattern to prepend to the generated URL alias. For example, if you enter \"blog\" and the value of default field is \"My First Post\", the generated URL alias will be \"blog/my-first-post\". Leave empty for no prefix.',\n })}\n >\n <Field.Label>\n {formatMessage({\n id: getTranslation('settings.page.urlAliasPattern'),\n defaultMessage: 'URL Alias Pattern',\n })}\n <Tooltip description={formatMessage({\n id: getTranslation('settings.page.urlAliasPattern.tooltip'),\n defaultMessage: 'Leading and trailing slashes will be removed. Spaces will be replaced with hyphens. Special characters will be encoded.',\n })} />\n </Field.Label>\n <Field.Input\n value={contentTypeSettings.pattern}\n onChange={(e: React.ChangeEvent<HTMLInputElement>) => dispatch({ type: 'SET_PATTERN', payload: { ctUid: contentType.uid, pattern: e.target.value } })}\n disabled={!contentTypeSettings.default}\n type=\"text\"\n placeholder={formatMessage({\n id: getTranslation('settings.page.urlAliasPattern.placeholder'),\n defaultMessage: 'e.g. blog',\n })}\n />\n <Field.Hint />\n </Field.Root>\n </Box>\n </Box>\n </Accordion.Content>\n </Accordion.Item>\n </Box>\n \n )\n}","/*\n *\n * Settings\n * This file contains the settings page for the Webatlas plugin in Strapi.\n * It allows users to configure which content types are enabled for URL aliases and navigations,\n * as well as setting default fields and the URL alias patterns for each content type. \n *\n*/\n\nimport { useEffect, useState, useReducer } from 'react';\nimport { Box, Accordion, Field } from '@strapi/design-system';\nimport { useNotification } from '@strapi/strapi/admin'\nimport { MultiSelect, MultiSelectOption } from '@strapi/design-system';\nimport usePluginConfig from '../../hooks/usePluginConfig';\nimport type { ContentType, ConfigContentType, PluginConfig } from '../../../../types';\nimport transformToUrl from '../../../../utils/transformToUrl';\nimport useAllContentTypes from '../../hooks/useAllContentTypes';\nimport { getTranslation } from '../../utils';\nimport { useIntl } from 'react-intl';\nimport { FullLoader } from '../../components/UI';\nimport PageWrapper from './PageWrapper';\nimport ContentTypeAccordion from './ContentTypeAccordion';\n\ntype Action =\n | { type: 'SET_SELECTED_CONTENT_TYPES'; payload: ConfigContentType[] }\n | { type: 'SET_DEFAULT_FIELD'; payload: { ctUid: string; field: string } }\n | { type: 'SET_PATTERN'; payload: { ctUid: string; pattern: string } }\n\nfunction reducer(settingsState: PluginConfig, action: Action): PluginConfig {\n let updatedContentTypes\n switch (action.type) {\n case 'SET_SELECTED_CONTENT_TYPES':\n updatedContentTypes = action.payload.map(ct => {\n return settingsState.selectedContentTypes.find((cta: ConfigContentType) => cta.uid === ct.uid) || ct\n })\n return { ...settingsState, selectedContentTypes: updatedContentTypes };\n case 'SET_DEFAULT_FIELD':\n updatedContentTypes = settingsState.selectedContentTypes.map(ct =>\n ct.uid === action.payload.ctUid ? { ...ct, default: action.payload.field } : ct\n );\n return { ...settingsState, selectedContentTypes: updatedContentTypes };\n case 'SET_PATTERN':\n updatedContentTypes = settingsState.selectedContentTypes.map(ct =>\n ct.uid === action.payload.ctUid ? { ...ct, pattern: transformToUrl(action.payload.pattern) } : ct\n );\n return { ...settingsState, selectedContentTypes: updatedContentTypes };\n default:\n throw new Error();\n }\n}\n\nconst Settings = () => {\n const { config, setConfig, loading, fetchError } = usePluginConfig();\n const [settingsState, dispatch] = useReducer(reducer, config || { selectedContentTypes: [] });\n const { contentTypes: allContentTypesData } = useAllContentTypes();\n const allContentTypes = allContentTypesData?.filter((ct: ContentType) => ct.pluginOptions?.webatlas?.active === true);\n const [initialState, setInitialState] = useState(config || { selectedContentTypes: [] })\n const { toggleNotification } = useNotification();\n const { formatMessage } = useIntl();\n const [isSaving, setIsSaving] = useState(false);\n\n useEffect(() => {\n setInitialState(config || { selectedContentTypes: [] })\n }, [config]);\n\n useEffect(() => {\n if (!config) return;\n dispatch({ type: 'SET_SELECTED_CONTENT_TYPES', payload: config.selectedContentTypes });\n }, [config]);\n \n useEffect(() => {\n if (fetchError) {\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: getTranslation('notification.error'),\n defaultMessage: 'An error occurred',\n }) + ': ' + fetchError,\n });\n }\n }, [fetchError, toggleNotification, formatMessage]);\n\n async function save() {\n if (\n !settingsState \n || settingsState.selectedContentTypes.find((cta: ConfigContentType) => !cta.default) !== undefined\n ) return\n\n setIsSaving(true);\n try {\n await setConfig(settingsState)\n setInitialState(settingsState)\n\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: getTranslation('notification.settings.saved'),\n defaultMessage: 'Settings saved successfully',\n }),\n });\n setIsSaving(false);\n } catch (err) {\n setIsSaving(false);\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: getTranslation('notification.error'),\n defaultMessage: 'An error occurred',\n }) + ': ' + err,\n });\n console.error(err);\n }\n }\n\n if (loading) {\n return <PageWrapper>\n <FullLoader height={200} />\n </PageWrapper>\n }\n\n return (\n <PageWrapper settingsState={settingsState} initialState={initialState} save={save} isSaving={isSaving}>\n <Field.Root\n name=\"selectedContentTypes\"\n hint={formatMessage({\n id: getTranslation('settings.page.enabledContentTypes.hint'),\n defaultMessage: 'Select the content types for which you want to enable URL aliases',\n })}\n >\n <Field.Label>\n {formatMessage({\n id: getTranslation('settings.page.enabledContentTypes'),\n defaultMessage: 'Enabled Content Types',\n })}\n </Field.Label>\n <MultiSelect\n placeholder={formatMessage({\n id: getTranslation('settings.page.enabledContentTypes.placeholder'),\n defaultMessage: 'Select content types...',\n })}\n onClear={() => dispatch({ type: 'SET_SELECTED_CONTENT_TYPES', payload: [] })}\n value={[...settingsState.selectedContentTypes.map((ct: ConfigContentType) => ct.uid)]}\n onChange={(value: string[]) =>\n dispatch({\n type: 'SET_SELECTED_CONTENT_TYPES',\n payload: value.map(v => ({\n uid: v,\n default: '',\n pattern: '',\n })),\n })\n }\n withTags\n >\n {allContentTypes && allContentTypes.map(item => \n <MultiSelectOption key={item.uid} value={item.uid}>{item.info.displayName}</MultiSelectOption>\n )}\n </MultiSelect>\n <Field.Hint/>\n </Field.Root>\n {settingsState.selectedContentTypes && settingsState.selectedContentTypes.length > 0 && \n <Box paddingTop={4}>\n <Field.Root name=\"selectedContentTypesAccordion\">\n <Field.Label>\n {formatMessage({\n id: getTranslation('settings.page.contentTypeSettings'),\n defaultMessage: 'Content Type settings',\n })}\n </Field.Label>\n <Accordion.Root>\n {settingsState.selectedContentTypes?.map((contentTypeSettings: ConfigContentType) => {\n const ct: ContentType | undefined = allContentTypes?.find((item) => item.uid === contentTypeSettings.uid)\n return <ContentTypeAccordion key={contentTypeSettings.uid} contentType={ct} contentTypeSettings={contentTypeSettings} dispatch={dispatch} />\n })}\n </Accordion.Root>\n </Field.Root>\n </Box>\n }\n </PageWrapper>\n );\n};\n\nexport default Settings;\n"],"names":[],"mappings":";;;;;;;;AAOA,SAAwB,YAAY;AAAA,EAClC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAMG;AAEK,QAAA,EAAE,cAAc,IAAI,QAAQ;AAGhC,SAAA,qBAAC,KAAK,MAAL,EACC,UAAA;AAAA,IAAA;AAAA,MAAC,QAAQ;AAAA,MAAR;AAAA,QACC,OAAO;AAAA,QACP,UAAU,cAAc;AAAA,UACtB,IAAI,eAAe,wBAAwB;AAAA,UAC3C,gBAAgB;AAAA,QAAA,CACjB;AAAA,QACD,eAAgB,iBAAiB,gBAAgB,QAC/C;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,MAAK;AAAA,YACL,SAAS,MAAM,KAAK;AAAA,YACpB,SAAS;AAAA,YACT,UACE,KAAK,UAAU,aAAa,MAAM,KAAK,UAAU,YAAY,KAC1D,cAAc,qBAAqB,KAAK,CAAC,QAA2B,CAAC,IAAI,OAAO,MAAM,UACtF;AAAA,YAGJ,UAAc,cAAA;AAAA,cACb,IAAI,eAAe,MAAM;AAAA,cACzB,gBAAgB;AAAA,YACjB,CAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MACH;AAAA,IAEJ;AAAA,IACA,oBAAC,QAAQ,SAAR,EACC,UAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,YAAW;AAAA,QACX,aAAY;AAAA,QACZ,WAAS;AAAA,QACT,eAAe;AAAA,QACf,aAAa;AAAA,QACb,cAAc;AAAA,QACd,YAAY;AAAA,QACZ,QAAO;AAAA,QAEN;AAAA,MAAA;AAAA,IAAA,EAEL,CAAA;AAAA,EAAA,GACF;AAEJ;AC1DA,SAAwB,qBAAqB;AAAA,EAC3C;AAAA,EACA;AAAA,EACA;AACF,GAIG;AAEK,QAAA,EAAE,cAAc,IAAI,QAAQ;AAE9B,MAAA,CAAC,YAAoB,QAAA;AAGvB,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAa,CAAC,oBAAoB,WAAW;AAAA,MAG7C,UAAA,qBAAC,UAAU,MAAV,EAAqC,OAAO,YAAY,KAAK,MAAK,KACjE,UAAA;AAAA,QAAC,oBAAA,UAAU,QAAV,EACC,UAAC,oBAAA,UAAU,SAAV,EACE,UAAA,aAAa,KAAK,YAAA,CACrB,EACF,CAAA;AAAA,4BACC,UAAU,SAAV,EACC,UAAC,qBAAA,KAAA,EAAI,SAAS,GACZ,UAAA;AAAA,UAAA;AAAA,YAAC,MAAM;AAAA,YAAN;AAAA,cACC,MAAK;AAAA,cACL,MAAM,cAAc;AAAA,gBAClB,IAAI,eAAe,iCAAiC;AAAA,gBACpD,gBAAgB;AAAA,cAAA,CACjB;AAAA,cACD,OAAO,CAAC,oBAAoB,WAAW,cAAc;AAAA,gBACnD,IAAI,eAAe,kCAAkC;AAAA,gBACrD,gBAAgB;AAAA,cAAA,CACjB;AAAA,cACD,UAAQ;AAAA,cAER,UAAA;AAAA,gBAAC,oBAAA,MAAM,OAAN,EACE,UAAc,cAAA;AAAA,kBACb,IAAI,eAAe,4BAA4B;AAAA,kBAC/C,gBAAgB;AAAA,gBACjB,CAAA,GACH;AAAA,gBACA;AAAA,kBAAC;AAAA,kBAAA;AAAA,oBACC,MAAM,gBAAgB,YAAY,GAAG;AAAA,oBACrC,SAAS,MAAM,SAAS,EAAE,MAAM,qBAAqB,SAAS,EAAE,OAAO,YAAY,KAAK,OAAO,MAAM;AAAA,oBACrG,OAAO,qBAAqB,WAAW;AAAA,oBACvC,UAAU,CAAC,UAAkB,SAAS,EAAE,MAAM,qBAAqB,SAAS,EAAE,OAAO,YAAY,KAAK,OAAO,SAAS;AAAA,oBAErH,UAAA,OAAO,QAAQ,YAAY,UAAU,EAAE,IAAI,CAAC,CAAC,GAAG,GAAG,UAAU;AAC5D,0BACE,QAAQ,QACR,QAAQ,gBACR,QAAQ,eACR,QAAQ,eACR,QAAQ,eACR,QAAQ,eACR,QAAQ,mBACR,QAAQ,oBACD,QAAA;AACT,6BAAQ,oBAAA,oBAAA,EAA+B,OAAO,KAAM,iBAApB,KAAwB;AAAA,oBACzD,CAAA;AAAA,kBAAA;AAAA,gBACH;AAAA,gBACA,oBAAC,MAAM,MAAN,CAAU,CAAA;AAAA,cAAA;AAAA,YAAA;AAAA,UACb;AAAA,UACA,oBAAC,KAAI,EAAA,YAAY,GACf,UAAA;AAAA,YAAC,MAAM;AAAA,YAAN;AAAA,cACC,MAAK;AAAA,cACL,MAAM,cAAc;AAAA,gBAClB,IAAI,eAAe,oCAAoC;AAAA,gBACvD,gBAAgB;AAAA,cAAA,CACjB;AAAA,cAED,UAAA;AAAA,gBAAC,qBAAA,MAAM,OAAN,EACE,UAAA;AAAA,kBAAc,cAAA;AAAA,oBACb,IAAI,eAAe,+BAA+B;AAAA,oBAClD,gBAAgB;AAAA,kBAAA,CACjB;AAAA,kBACD,oBAAC,SAAQ,EAAA,aAAa,cAAc;AAAA,oBAClC,IAAI,eAAe,uCAAuC;AAAA,oBAC1D,gBAAgB;AAAA,kBAAA,CACjB,EAAG,CAAA;AAAA,gBAAA,GACN;AAAA,gBACA;AAAA,kBAAC,MAAM;AAAA,kBAAN;AAAA,oBACC,OAAO,oBAAoB;AAAA,oBAC3B,UAAU,CAAC,MAA2C,SAAS,EAAE,MAAM,eAAe,SAAS,EAAE,OAAO,YAAY,KAAK,SAAS,EAAE,OAAO,MAAA,GAAS;AAAA,oBACpJ,UAAU,CAAC,oBAAoB;AAAA,oBAC/B,MAAK;AAAA,oBACL,aAAa,cAAc;AAAA,sBACzB,IAAI,eAAe,2CAA2C;AAAA,sBAC9D,gBAAgB;AAAA,oBACjB,CAAA;AAAA,kBAAA;AAAA,gBACH;AAAA,gBACA,oBAAC,MAAM,MAAN,CAAW,CAAA;AAAA,cAAA;AAAA,YAAA;AAAA,UAAA,EAEhB,CAAA;AAAA,QAAA,EAAA,CACF,EACF,CAAA;AAAA,MAAA,EAAA,GAhFmB,YAAY,GAiFjC;AAAA,IAAA;AAAA,IAnFK,YAAY;AAAA,EAoFnB;AAGJ;ACnFA,SAAS,QAAQ,eAA6B,QAA8B;AACtE,MAAA;AACJ,UAAQ,OAAO,MAAM;AAAA,IACnB,KAAK;AACmB,4BAAA,OAAO,QAAQ,IAAI,CAAM,OAAA;AACtC,eAAA,cAAc,qBAAqB,KAAK,CAAC,QAA2B,IAAI,QAAQ,GAAG,GAAG,KAAK;AAAA,MAAA,CACnG;AACD,aAAO,EAAE,GAAG,eAAe,sBAAsB,oBAAoB;AAAA,IACvE,KAAK;AACH,4BAAsB,cAAc,qBAAqB;AAAA,QAAI,CAC3D,OAAA,GAAG,QAAQ,OAAO,QAAQ,QAAQ,EAAE,GAAG,IAAI,SAAS,OAAO,QAAQ,UAAU;AAAA,MAC/E;AACA,aAAO,EAAE,GAAG,eAAe,sBAAsB,oBAAoB;AAAA,IACvE,KAAK;AACH,4BAAsB,cAAc,qBAAqB;AAAA,QAAI,CAC3D,OAAA,GAAG,QAAQ,OAAO,QAAQ,QAAQ,EAAE,GAAG,IAAI,SAAS,eAAe,OAAO,QAAQ,OAAO,MAAM;AAAA,MACjG;AACA,aAAO,EAAE,GAAG,eAAe,sBAAsB,oBAAoB;AAAA,IACvE;AACE,YAAM,IAAI,MAAM;AAAA,EAAA;AAEtB;AAEA,MAAM,WAAW,MAAM;AACrB,QAAM,EAAE,QAAQ,WAAW,SAAS,WAAA,IAAe,gBAAgB;AAC7D,QAAA,CAAC,eAAe,QAAQ,IAAI,WAAW,SAAS,UAAU,EAAE,sBAAsB,CAAA,GAAI;AAC5F,QAAM,EAAE,cAAc,oBAAoB,IAAI,mBAAmB;AAC3D,QAAA,kBAAkB,qBAAqB,OAAO,CAAC,OAAoB,GAAG,eAAe,UAAU,WAAW,IAAI;AAC9G,QAAA,CAAC,cAAc,eAAe,IAAI,SAAS,UAAU,EAAE,sBAAsB,CAAA,GAAI;AACjF,QAAA,EAAE,mBAAmB,IAAI,gBAAgB;AACzC,QAAA,EAAE,cAAc,IAAI,QAAQ;AAClC,QAAM,CAAC,UAAU,WAAW,IAAI,SAAS,KAAK;AAE9C,YAAU,MAAM;AACd,oBAAgB,UAAU,EAAE,sBAAsB,IAAI;AAAA,EAAA,GACrD,CAAC,MAAM,CAAC;AAEX,YAAU,MAAM;AACd,QAAI,CAAC,OAAQ;AACb,aAAS,EAAE,MAAM,8BAA8B,SAAS,OAAO,sBAAsB;AAAA,EAAA,GACpF,CAAC,MAAM,CAAC;AAEX,YAAU,MAAM;AACd,QAAI,YAAY;AACK,yBAAA;AAAA,QACjB,MAAM;AAAA,QACN,SAAS,cAAc;AAAA,UACrB,IAAI,eAAe,oBAAoB;AAAA,UACvC,gBAAgB;AAAA,QACjB,CAAA,IAAI,OAAO;AAAA,MAAA,CACb;AAAA,IAAA;AAAA,EAEF,GAAA,CAAC,YAAY,oBAAoB,aAAa,CAAC;AAElD,iBAAe,OAAO;AAElB,QAAA,CAAC,iBACE,cAAc,qBAAqB,KAAK,CAAC,QAA2B,CAAC,IAAI,OAAO,MAAM,OACzF;AAEF,gBAAY,IAAI;AACZ,QAAA;AACF,YAAM,UAAU,aAAa;AAC7B,sBAAgB,aAAa;AAEV,yBAAA;AAAA,QACjB,MAAM;AAAA,QACN,SAAS,cAAc;AAAA,UACrB,IAAI,eAAe,6BAA6B;AAAA,UAChD,gBAAgB;AAAA,QACjB,CAAA;AAAA,MAAA,CACF;AACD,kBAAY,KAAK;AAAA,aACV,KAAK;AACZ,kBAAY,KAAK;AACE,yBAAA;AAAA,QACjB,MAAM;AAAA,QACN,SAAS,cAAc;AAAA,UACrB,IAAI,eAAe,oBAAoB;AAAA,UACvC,gBAAgB;AAAA,QACjB,CAAA,IAAI,OAAO;AAAA,MAAA,CACb;AACD,cAAQ,MAAM,GAAG;AAAA,IAAA;AAAA,EACnB;AAGF,MAAI,SAAS;AACX,+BAAQ,aACN,EAAA,UAAA,oBAAC,YAAW,EAAA,QAAQ,IAAK,CAAA,GAC3B;AAAA,EAAA;AAGF,SACG,qBAAA,aAAA,EAAY,eAA8B,cAA4B,MAAY,UACjF,UAAA;AAAA,IAAA;AAAA,MAAC,MAAM;AAAA,MAAN;AAAA,QACC,MAAK;AAAA,QACL,MAAM,cAAc;AAAA,UAClB,IAAI,eAAe,wCAAwC;AAAA,UAC3D,gBAAgB;AAAA,QAAA,CACjB;AAAA,QAED,UAAA;AAAA,UAAC,oBAAA,MAAM,OAAN,EACE,UAAc,cAAA;AAAA,YACb,IAAI,eAAe,mCAAmC;AAAA,YACtD,gBAAgB;AAAA,UACjB,CAAA,GACH;AAAA,UACA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,aAAa,cAAc;AAAA,gBACzB,IAAI,eAAe,+CAA+C;AAAA,gBAClE,gBAAgB;AAAA,cAAA,CACjB;AAAA,cACD,SAAS,MAAM,SAAS,EAAE,MAAM,8BAA8B,SAAS,CAAA,GAAI;AAAA,cAC3E,OAAO,CAAC,GAAG,cAAc,qBAAqB,IAAI,CAAC,OAA0B,GAAG,GAAG,CAAC;AAAA,cACpF,UAAU,CAAC,UACT,SAAS;AAAA,gBACP,MAAM;AAAA,gBACN,SAAS,MAAM,IAAI,CAAM,OAAA;AAAA,kBACvB,KAAK;AAAA,kBACL,SAAS;AAAA,kBACT,SAAS;AAAA,gBAAA,EACT;AAAA,cAAA,CACH;AAAA,cAEH,UAAQ;AAAA,cAEP,6BAAmB,gBAAgB;AAAA,gBAAI,CAAA,SACrC,oBAAA,mBAAA,EAAiC,OAAO,KAAK,KAAM,UAAK,KAAA,KAAK,YAAtC,GAAA,KAAK,GAA6C;AAAA,cAAA;AAAA,YAC5E;AAAA,UACF;AAAA,UACA,oBAAC,MAAM,MAAN,CAAU,CAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IACb;AAAA,IACC,cAAc,wBAAwB,cAAc,qBAAqB,SAAS,KACjF,oBAAC,KAAI,EAAA,YAAY,GACf,UAAC,qBAAA,MAAM,MAAN,EAAW,MAAK,iCACf,UAAA;AAAA,MAAC,oBAAA,MAAM,OAAN,EACE,UAAc,cAAA;AAAA,QACb,IAAI,eAAe,mCAAmC;AAAA,QACtD,gBAAgB;AAAA,MACjB,CAAA,GACH;AAAA,MACA,oBAAC,UAAU,MAAV,EACE,wBAAc,sBAAsB,IAAI,CAAC,wBAA2C;AAC7E,cAAA,KAA8B,iBAAiB,KAAK,CAAC,SAAS,KAAK,QAAQ,oBAAoB,GAAG;AACxG,mCAAQ,sBAAmD,EAAA,aAAa,IAAI,qBAA0C,SAAA,GAApF,oBAAoB,GAAoF;AAAA,MAAA,CAC3I,EACH,CAAA;AAAA,IAAA,EAAA,CACF,EACF,CAAA;AAAA,EAAA,GAEJ;AAEJ;"}
|
|
@@ -7,7 +7,7 @@ const designSystem = require("@strapi/design-system");
|
|
|
7
7
|
const React = require("react");
|
|
8
8
|
const ReactDOM = require("react-dom");
|
|
9
9
|
const reactIntl = require("react-intl");
|
|
10
|
-
const index = require("./index-
|
|
10
|
+
const index = require("./index-C6e9wLau.js");
|
|
11
11
|
const admin = require("@strapi/strapi/admin");
|
|
12
12
|
const FullLoader = require("./FullLoader-Cmsf8xS6.js");
|
|
13
13
|
const symbols = require("@strapi/icons/symbols");
|
|
@@ -99,7 +99,6 @@ function Delete({ variant, item, onDelete }) {
|
|
|
99
99
|
const { setModalType } = React.useContext(ModalContext);
|
|
100
100
|
const { formatMessage } = reactIntl.useIntl();
|
|
101
101
|
const { deleteNavigation } = index.useApi();
|
|
102
|
-
reactRouterDom.useNavigate();
|
|
103
102
|
const handleDelete = async () => {
|
|
104
103
|
try {
|
|
105
104
|
if (variant === "NavDelete") {
|
|
@@ -11909,9 +11908,9 @@ const Navigation = () => {
|
|
|
11909
11908
|
async function fetchNavigations() {
|
|
11910
11909
|
if (!navigationId) {
|
|
11911
11910
|
const navs = await getNavigation({ variant: "namesOnly" });
|
|
11912
|
-
if (navs && navs.length > 0)
|
|
11911
|
+
if (navs && navs.length > 0)
|
|
11913
11912
|
navigate(`/plugins/webatlas/navigation/${navs[0].documentId}`);
|
|
11914
|
-
|
|
11913
|
+
setLoading(false);
|
|
11915
11914
|
return;
|
|
11916
11915
|
}
|
|
11917
11916
|
if (cachedNavigations.current) {
|
|
@@ -12034,7 +12033,7 @@ const Navigation = () => {
|
|
|
12034
12033
|
) : null;
|
|
12035
12034
|
setProjected(projection);
|
|
12036
12035
|
}, [activeId, overId, offsetLeft, navigationItems]);
|
|
12037
|
-
if (loading
|
|
12036
|
+
if (loading) {
|
|
12038
12037
|
return /* @__PURE__ */ jsxRuntime.jsx(PageWrapper, { navigations, loading, children: /* @__PURE__ */ jsxRuntime.jsx(FullLoader.FullLoader, {}) });
|
|
12039
12038
|
}
|
|
12040
12039
|
return /* @__PURE__ */ jsxRuntime.jsx(ModalContext.Provider, { value: { modalType, setModalType }, children: /* @__PURE__ */ jsxRuntime.jsxs(SelectedNavigationContext.Provider, { value: { selectedNavigation, setSelectedNavigation }, children: [
|
|
@@ -12127,8 +12126,9 @@ const Navigation = () => {
|
|
|
12127
12126
|
{
|
|
12128
12127
|
variant: "NavDelete",
|
|
12129
12128
|
item: actionItem,
|
|
12130
|
-
onDelete: async () => {
|
|
12129
|
+
onDelete: async (deletedItem) => {
|
|
12131
12130
|
cachedNavigations.current = null;
|
|
12131
|
+
setNavigations((navs) => navs.filter((nav) => nav.id !== deletedItem.id));
|
|
12132
12132
|
navigate("/plugins/webatlas/navigation");
|
|
12133
12133
|
}
|
|
12134
12134
|
}
|
|
@@ -12155,9 +12155,9 @@ const Navigation = () => {
|
|
|
12155
12155
|
{
|
|
12156
12156
|
variant: "ItemDelete",
|
|
12157
12157
|
item: actionItem,
|
|
12158
|
-
onDelete: (
|
|
12158
|
+
onDelete: (deletedItem) => {
|
|
12159
12159
|
setNavigationItems(
|
|
12160
|
-
(items) => items?.map((item) => item.id ===
|
|
12160
|
+
(items) => items?.map((item) => item.id === deletedItem.id ? deletedItem : item)
|
|
12161
12161
|
);
|
|
12162
12162
|
}
|
|
12163
12163
|
}
|
|
@@ -12227,4 +12227,3 @@ const App = () => {
|
|
|
12227
12227
|
] });
|
|
12228
12228
|
};
|
|
12229
12229
|
exports.default = App;
|
|
12230
|
-
//# sourceMappingURL=index-mObQ5NXj.js.map
|