@strapi/i18n 0.0.0-experimental.35644b9b8cc9cb7d3104ab14464d2de4f1bd19ed → 0.0.0-experimental.36f6fd69b4f935991d26f27957949ec71f187528
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/admin/index.js +0 -1
- package/dist/admin/index.js.map +1 -1
- package/dist/admin/index.mjs +0 -1
- package/dist/admin/index.mjs.map +1 -1
- package/dist/admin/middlewares/extendCTBAttributeInitialData.js +34 -24
- package/dist/admin/middlewares/extendCTBAttributeInitialData.js.map +1 -1
- package/dist/admin/middlewares/extendCTBAttributeInitialData.mjs +34 -24
- package/dist/admin/middlewares/extendCTBAttributeInitialData.mjs.map +1 -1
- package/dist/admin/src/utils/schemas.d.ts +642 -16
- package/dist/admin/utils/fields.js +6 -1
- package/dist/admin/utils/fields.js.map +1 -1
- package/dist/admin/utils/fields.mjs +6 -1
- package/dist/admin/utils/fields.mjs.map +1 -1
- package/dist/admin/utils/schemas.js +19 -13
- package/dist/admin/utils/schemas.js.map +1 -1
- package/dist/admin/utils/schemas.mjs +19 -13
- package/dist/admin/utils/schemas.mjs.map +1 -1
- package/package.json +8 -8
package/dist/admin/index.js
CHANGED
package/dist/admin/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../admin/src/index.ts"],"sourcesContent":["import get from 'lodash/get';\nimport * as yup from 'yup';\n\nimport { CheckboxConfirmation } from './components/CheckboxConfirmation';\nimport {\n BulkLocalePublishAction,\n BulkLocaleUnpublishAction,\n DeleteLocaleAction,\n LocalePickerAction,\n FillFromAnotherLocaleAction,\n} from './components/CMHeaderActions';\nimport {\n DeleteModalAdditionalInfo,\n PublishModalAdditionalInfo,\n UnpublishModalAdditionalInfo,\n} from './components/CMListViewModalsAdditionalInformation';\nimport { LocalePicker } from './components/LocalePicker';\nimport { PERMISSIONS } from './constants';\nimport { mutateEditViewHook } from './contentManagerHooks/editView';\nimport { addColumnToTableHook } from './contentManagerHooks/listView';\nimport { addLocaleToReleasesHook } from './contentReleasesHooks/releaseDetailsView';\nimport { extendCTBAttributeInitialDataMiddleware } from './middlewares/extendCTBAttributeInitialData';\nimport { extendCTBInitialDataMiddleware } from './middlewares/extendCTBInitialData';\nimport { localeMiddleware } from './middlewares/rbac-middleware';\nimport { pluginId } from './pluginId';\nimport { i18nApi } from './services/api';\nimport { LOCALIZED_FIELDS } from './utils/fields';\nimport { getTranslation } from './utils/getTranslation';\nimport { prefixPluginTranslations } from './utils/prefixPluginTranslations';\nimport { mutateCTBContentTypeSchema } from './utils/schemas';\n\nimport type { DocumentActionComponent } from '@strapi/content-manager/strapi-admin';\n\n// eslint-disable-next-line import/no-default-export\nexport default {\n register(app: any) {\n app.addMiddlewares([extendCTBAttributeInitialDataMiddleware, extendCTBInitialDataMiddleware]);\n app.addMiddlewares([() => i18nApi.middleware]);\n app.addReducers({\n [i18nApi.reducerPath]: i18nApi.reducer,\n });\n app.addRBACMiddleware([localeMiddleware]);\n app.registerPlugin({\n id: pluginId,\n name: pluginId,\n });\n },\n bootstrap(app: any) {\n // // Hook that adds a column into the CM's LV table\n app.registerHook('Admin/CM/pages/ListView/inject-column-in-table', addColumnToTableHook);\n app.registerHook('Admin/CM/pages/EditView/mutate-edit-view-layout', mutateEditViewHook);\n // Hooks that checks if the locale is present in the release\n app.registerHook(\n 'ContentReleases/pages/ReleaseDetails/add-locale-in-releases',\n addLocaleToReleasesHook\n );\n\n // Add the settings link\n app.addSettingsLink('global', {\n intlLabel: {\n id: getTranslation('plugin.name'),\n defaultMessage: 'Internationalization',\n },\n id: 'internationalization',\n to: 'internationalization',\n Component: () =>\n import('./pages/SettingsPage').then((mod) => ({ default: mod.ProtectedSettingsPage })),\n permissions: PERMISSIONS.accessMain,\n });\n\n const contentManager = app.getPlugin('content-manager');\n\n contentManager.apis.addDocumentHeaderAction([LocalePickerAction, FillFromAnotherLocaleAction]);\n contentManager.apis.addDocumentAction((actions: DocumentActionComponent[]) => {\n const indexOfDeleteAction = actions.findIndex((action) => action.type === 'delete');\n actions.splice(indexOfDeleteAction, 0, DeleteLocaleAction);\n return actions;\n });\n\n contentManager.apis.addDocumentAction((actions: DocumentActionComponent[]) => {\n // When enabled the bulk locale publish action should be the first action\n // in 'More Document Actions' and therefore the third action in the array\n actions.splice(2, 0, BulkLocalePublishAction);\n actions.splice(5, 0, BulkLocaleUnpublishAction);\n return actions;\n });\n\n contentManager.injectComponent('listView', 'actions', {\n name: 'i18n-locale-filter',\n Component: LocalePicker,\n });\n\n contentManager.injectComponent('listView', 'publishModalAdditionalInfos', {\n name: 'i18n-publish-bullets-in-modal',\n Component: PublishModalAdditionalInfo,\n });\n\n contentManager.injectComponent('listView', 'unpublishModalAdditionalInfos', {\n name: 'i18n-unpublish-bullets-in-modal',\n Component: UnpublishModalAdditionalInfo,\n });\n\n contentManager.injectComponent('listView', 'deleteModalAdditionalInfos', {\n name: 'i18n-delete-bullets-in-modal',\n Component: DeleteModalAdditionalInfo,\n });\n\n const ctbPlugin = app.getPlugin('content-type-builder');\n\n if (ctbPlugin) {\n const ctbFormsAPI = ctbPlugin.apis.forms;\n ctbFormsAPI.addContentTypeSchemaMutation(mutateCTBContentTypeSchema);\n ctbFormsAPI.components.add({ id: 'checkboxConfirmation', component: CheckboxConfirmation });\n\n ctbFormsAPI.extendContentType({\n validator: () => ({\n i18n: yup.object().shape({\n localized: yup.bool(),\n }),\n }),\n form: {\n advanced() {\n return [\n {\n name: 'pluginOptions.i18n.localized',\n description: {\n id: getTranslation('plugin.schema.i18n.localized.description-content-type'),\n defaultMessage: 'Allows translating an entry into different languages',\n },\n type: 'checkboxConfirmation',\n intlLabel: {\n id: getTranslation('plugin.schema.i18n.localized.label-content-type'),\n defaultMessage: 'Localization',\n },\n },\n ];\n },\n },\n });\n\n ctbFormsAPI.extendFields(LOCALIZED_FIELDS, {\n form: {\n advanced({ contentTypeSchema, forTarget, type, step }: any) {\n if (forTarget !== 'contentType') {\n return [];\n }\n\n const hasI18nEnabled = get(\n contentTypeSchema,\n ['schema', 'pluginOptions', 'i18n', 'localized'],\n false\n );\n\n if (!hasI18nEnabled) {\n return [];\n }\n\n if (type === 'component' && step === '1') {\n return [];\n }\n\n return [\n {\n name: 'pluginOptions.i18n.localized',\n description: {\n id: getTranslation('plugin.schema.i18n.localized.description-field'),\n defaultMessage: 'The field can have different values in each locale',\n },\n type: 'checkbox',\n intlLabel: {\n id: getTranslation('plugin.schema.i18n.localized.label-field'),\n defaultMessage: 'Enable localization for this field',\n },\n },\n ];\n },\n },\n });\n }\n },\n async registerTrads({ locales }: { locales: string[] }) {\n const importedTrads = await Promise.all(\n locales.map((locale) => {\n return import(`./translations/${locale}.json`)\n .then(({ default: data }) => {\n return {\n data: prefixPluginTranslations(data, pluginId),\n locale,\n };\n })\n .catch(() => {\n return {\n data: {},\n locale,\n };\n });\n })\n );\n\n return Promise.resolve(importedTrads);\n },\n};\n"],"names":["register","app","addMiddlewares","extendCTBAttributeInitialDataMiddleware","extendCTBInitialDataMiddleware","i18nApi","middleware","addReducers","reducerPath","reducer","addRBACMiddleware","localeMiddleware","registerPlugin","id","pluginId","name","bootstrap","registerHook","addColumnToTableHook","mutateEditViewHook","addLocaleToReleasesHook","addSettingsLink","intlLabel","getTranslation","defaultMessage","to","Component","then","mod","default","ProtectedSettingsPage","permissions","PERMISSIONS","accessMain","contentManager","getPlugin","apis","addDocumentHeaderAction","LocalePickerAction","FillFromAnotherLocaleAction","addDocumentAction","actions","indexOfDeleteAction","findIndex","action","type","splice","DeleteLocaleAction","BulkLocalePublishAction","BulkLocaleUnpublishAction","injectComponent","LocalePicker","PublishModalAdditionalInfo","UnpublishModalAdditionalInfo","DeleteModalAdditionalInfo","ctbPlugin","ctbFormsAPI","forms","addContentTypeSchemaMutation","mutateCTBContentTypeSchema","components","add","component","CheckboxConfirmation","extendContentType","validator","i18n","yup","object","shape","localized","bool","form","advanced","description","extendFields","LOCALIZED_FIELDS","contentTypeSchema","forTarget","step","hasI18nEnabled","get","registerTrads","locales","importedTrads","Promise","all","map","locale","data","prefixPluginTranslations","catch","resolve"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"index.js","sources":["../../admin/src/index.ts"],"sourcesContent":["import get from 'lodash/get';\nimport * as yup from 'yup';\n\nimport { CheckboxConfirmation } from './components/CheckboxConfirmation';\nimport {\n BulkLocalePublishAction,\n BulkLocaleUnpublishAction,\n DeleteLocaleAction,\n LocalePickerAction,\n FillFromAnotherLocaleAction,\n} from './components/CMHeaderActions';\nimport {\n DeleteModalAdditionalInfo,\n PublishModalAdditionalInfo,\n UnpublishModalAdditionalInfo,\n} from './components/CMListViewModalsAdditionalInformation';\nimport { LocalePicker } from './components/LocalePicker';\nimport { PERMISSIONS } from './constants';\nimport { mutateEditViewHook } from './contentManagerHooks/editView';\nimport { addColumnToTableHook } from './contentManagerHooks/listView';\nimport { addLocaleToReleasesHook } from './contentReleasesHooks/releaseDetailsView';\nimport { extendCTBAttributeInitialDataMiddleware } from './middlewares/extendCTBAttributeInitialData';\nimport { extendCTBInitialDataMiddleware } from './middlewares/extendCTBInitialData';\nimport { localeMiddleware } from './middlewares/rbac-middleware';\nimport { pluginId } from './pluginId';\nimport { i18nApi } from './services/api';\nimport { LOCALIZED_FIELDS } from './utils/fields';\nimport { getTranslation } from './utils/getTranslation';\nimport { prefixPluginTranslations } from './utils/prefixPluginTranslations';\nimport { mutateCTBContentTypeSchema } from './utils/schemas';\n\nimport type { DocumentActionComponent } from '@strapi/content-manager/strapi-admin';\n\n// eslint-disable-next-line import/no-default-export\nexport default {\n register(app: any) {\n app.addMiddlewares([extendCTBAttributeInitialDataMiddleware, extendCTBInitialDataMiddleware]);\n app.addMiddlewares([() => i18nApi.middleware]);\n app.addReducers({\n [i18nApi.reducerPath]: i18nApi.reducer,\n });\n app.addRBACMiddleware([localeMiddleware]);\n app.registerPlugin({\n id: pluginId,\n name: pluginId,\n });\n },\n bootstrap(app: any) {\n // // Hook that adds a column into the CM's LV table\n app.registerHook('Admin/CM/pages/ListView/inject-column-in-table', addColumnToTableHook);\n app.registerHook('Admin/CM/pages/EditView/mutate-edit-view-layout', mutateEditViewHook);\n // Hooks that checks if the locale is present in the release\n app.registerHook(\n 'ContentReleases/pages/ReleaseDetails/add-locale-in-releases',\n addLocaleToReleasesHook\n );\n\n // Add the settings link\n app.addSettingsLink('global', {\n intlLabel: {\n id: getTranslation('plugin.name'),\n defaultMessage: 'Internationalization',\n },\n id: 'internationalization',\n to: 'internationalization',\n Component: () =>\n import('./pages/SettingsPage').then((mod) => ({ default: mod.ProtectedSettingsPage })),\n permissions: PERMISSIONS.accessMain,\n });\n\n const contentManager = app.getPlugin('content-manager');\n\n contentManager.apis.addDocumentHeaderAction([LocalePickerAction, FillFromAnotherLocaleAction]);\n contentManager.apis.addDocumentAction((actions: DocumentActionComponent[]) => {\n const indexOfDeleteAction = actions.findIndex((action) => action.type === 'delete');\n actions.splice(indexOfDeleteAction, 0, DeleteLocaleAction);\n return actions;\n });\n\n contentManager.apis.addDocumentAction((actions: DocumentActionComponent[]) => {\n // When enabled the bulk locale publish action should be the first action\n // in 'More Document Actions' and therefore the third action in the array\n actions.splice(2, 0, BulkLocalePublishAction);\n actions.splice(5, 0, BulkLocaleUnpublishAction);\n return actions;\n });\n\n contentManager.injectComponent('listView', 'actions', {\n name: 'i18n-locale-filter',\n Component: LocalePicker,\n });\n\n contentManager.injectComponent('listView', 'publishModalAdditionalInfos', {\n name: 'i18n-publish-bullets-in-modal',\n Component: PublishModalAdditionalInfo,\n });\n\n contentManager.injectComponent('listView', 'unpublishModalAdditionalInfos', {\n name: 'i18n-unpublish-bullets-in-modal',\n Component: UnpublishModalAdditionalInfo,\n });\n\n contentManager.injectComponent('listView', 'deleteModalAdditionalInfos', {\n name: 'i18n-delete-bullets-in-modal',\n Component: DeleteModalAdditionalInfo,\n });\n\n const ctbPlugin = app.getPlugin('content-type-builder');\n\n if (ctbPlugin) {\n const ctbFormsAPI = ctbPlugin.apis.forms;\n ctbFormsAPI.addContentTypeSchemaMutation(mutateCTBContentTypeSchema);\n ctbFormsAPI.components.add({ id: 'checkboxConfirmation', component: CheckboxConfirmation });\n\n ctbFormsAPI.extendContentType({\n validator: () => ({\n i18n: yup.object().shape({\n localized: yup.bool(),\n }),\n }),\n form: {\n advanced() {\n return [\n {\n name: 'pluginOptions.i18n.localized',\n description: {\n id: getTranslation('plugin.schema.i18n.localized.description-content-type'),\n defaultMessage: 'Allows translating an entry into different languages',\n },\n type: 'checkboxConfirmation',\n intlLabel: {\n id: getTranslation('plugin.schema.i18n.localized.label-content-type'),\n defaultMessage: 'Localization',\n },\n },\n ];\n },\n },\n });\n\n ctbFormsAPI.extendFields(LOCALIZED_FIELDS, {\n form: {\n advanced({ contentTypeSchema, forTarget, type, step }: any) {\n if (forTarget !== 'contentType') {\n return [];\n }\n\n const hasI18nEnabled = get(\n contentTypeSchema,\n ['pluginOptions', 'i18n', 'localized'],\n false\n );\n\n if (!hasI18nEnabled) {\n return [];\n }\n\n if (type === 'component' && step === '1') {\n return [];\n }\n\n return [\n {\n name: 'pluginOptions.i18n.localized',\n description: {\n id: getTranslation('plugin.schema.i18n.localized.description-field'),\n defaultMessage: 'The field can have different values in each locale',\n },\n type: 'checkbox',\n intlLabel: {\n id: getTranslation('plugin.schema.i18n.localized.label-field'),\n defaultMessage: 'Enable localization for this field',\n },\n },\n ];\n },\n },\n });\n }\n },\n async registerTrads({ locales }: { locales: string[] }) {\n const importedTrads = await Promise.all(\n locales.map((locale) => {\n return import(`./translations/${locale}.json`)\n .then(({ default: data }) => {\n return {\n data: prefixPluginTranslations(data, pluginId),\n locale,\n };\n })\n .catch(() => {\n return {\n data: {},\n locale,\n };\n });\n })\n );\n\n return Promise.resolve(importedTrads);\n },\n};\n"],"names":["register","app","addMiddlewares","extendCTBAttributeInitialDataMiddleware","extendCTBInitialDataMiddleware","i18nApi","middleware","addReducers","reducerPath","reducer","addRBACMiddleware","localeMiddleware","registerPlugin","id","pluginId","name","bootstrap","registerHook","addColumnToTableHook","mutateEditViewHook","addLocaleToReleasesHook","addSettingsLink","intlLabel","getTranslation","defaultMessage","to","Component","then","mod","default","ProtectedSettingsPage","permissions","PERMISSIONS","accessMain","contentManager","getPlugin","apis","addDocumentHeaderAction","LocalePickerAction","FillFromAnotherLocaleAction","addDocumentAction","actions","indexOfDeleteAction","findIndex","action","type","splice","DeleteLocaleAction","BulkLocalePublishAction","BulkLocaleUnpublishAction","injectComponent","LocalePicker","PublishModalAdditionalInfo","UnpublishModalAdditionalInfo","DeleteModalAdditionalInfo","ctbPlugin","ctbFormsAPI","forms","addContentTypeSchemaMutation","mutateCTBContentTypeSchema","components","add","component","CheckboxConfirmation","extendContentType","validator","i18n","yup","object","shape","localized","bool","form","advanced","description","extendFields","LOCALIZED_FIELDS","contentTypeSchema","forTarget","step","hasI18nEnabled","get","registerTrads","locales","importedTrads","Promise","all","map","locale","data","prefixPluginTranslations","catch","resolve"],"mappings":"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"}
|
package/dist/admin/index.mjs
CHANGED
package/dist/admin/index.mjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../admin/src/index.ts"],"sourcesContent":["import get from 'lodash/get';\nimport * as yup from 'yup';\n\nimport { CheckboxConfirmation } from './components/CheckboxConfirmation';\nimport {\n BulkLocalePublishAction,\n BulkLocaleUnpublishAction,\n DeleteLocaleAction,\n LocalePickerAction,\n FillFromAnotherLocaleAction,\n} from './components/CMHeaderActions';\nimport {\n DeleteModalAdditionalInfo,\n PublishModalAdditionalInfo,\n UnpublishModalAdditionalInfo,\n} from './components/CMListViewModalsAdditionalInformation';\nimport { LocalePicker } from './components/LocalePicker';\nimport { PERMISSIONS } from './constants';\nimport { mutateEditViewHook } from './contentManagerHooks/editView';\nimport { addColumnToTableHook } from './contentManagerHooks/listView';\nimport { addLocaleToReleasesHook } from './contentReleasesHooks/releaseDetailsView';\nimport { extendCTBAttributeInitialDataMiddleware } from './middlewares/extendCTBAttributeInitialData';\nimport { extendCTBInitialDataMiddleware } from './middlewares/extendCTBInitialData';\nimport { localeMiddleware } from './middlewares/rbac-middleware';\nimport { pluginId } from './pluginId';\nimport { i18nApi } from './services/api';\nimport { LOCALIZED_FIELDS } from './utils/fields';\nimport { getTranslation } from './utils/getTranslation';\nimport { prefixPluginTranslations } from './utils/prefixPluginTranslations';\nimport { mutateCTBContentTypeSchema } from './utils/schemas';\n\nimport type { DocumentActionComponent } from '@strapi/content-manager/strapi-admin';\n\n// eslint-disable-next-line import/no-default-export\nexport default {\n register(app: any) {\n app.addMiddlewares([extendCTBAttributeInitialDataMiddleware, extendCTBInitialDataMiddleware]);\n app.addMiddlewares([() => i18nApi.middleware]);\n app.addReducers({\n [i18nApi.reducerPath]: i18nApi.reducer,\n });\n app.addRBACMiddleware([localeMiddleware]);\n app.registerPlugin({\n id: pluginId,\n name: pluginId,\n });\n },\n bootstrap(app: any) {\n // // Hook that adds a column into the CM's LV table\n app.registerHook('Admin/CM/pages/ListView/inject-column-in-table', addColumnToTableHook);\n app.registerHook('Admin/CM/pages/EditView/mutate-edit-view-layout', mutateEditViewHook);\n // Hooks that checks if the locale is present in the release\n app.registerHook(\n 'ContentReleases/pages/ReleaseDetails/add-locale-in-releases',\n addLocaleToReleasesHook\n );\n\n // Add the settings link\n app.addSettingsLink('global', {\n intlLabel: {\n id: getTranslation('plugin.name'),\n defaultMessage: 'Internationalization',\n },\n id: 'internationalization',\n to: 'internationalization',\n Component: () =>\n import('./pages/SettingsPage').then((mod) => ({ default: mod.ProtectedSettingsPage })),\n permissions: PERMISSIONS.accessMain,\n });\n\n const contentManager = app.getPlugin('content-manager');\n\n contentManager.apis.addDocumentHeaderAction([LocalePickerAction, FillFromAnotherLocaleAction]);\n contentManager.apis.addDocumentAction((actions: DocumentActionComponent[]) => {\n const indexOfDeleteAction = actions.findIndex((action) => action.type === 'delete');\n actions.splice(indexOfDeleteAction, 0, DeleteLocaleAction);\n return actions;\n });\n\n contentManager.apis.addDocumentAction((actions: DocumentActionComponent[]) => {\n // When enabled the bulk locale publish action should be the first action\n // in 'More Document Actions' and therefore the third action in the array\n actions.splice(2, 0, BulkLocalePublishAction);\n actions.splice(5, 0, BulkLocaleUnpublishAction);\n return actions;\n });\n\n contentManager.injectComponent('listView', 'actions', {\n name: 'i18n-locale-filter',\n Component: LocalePicker,\n });\n\n contentManager.injectComponent('listView', 'publishModalAdditionalInfos', {\n name: 'i18n-publish-bullets-in-modal',\n Component: PublishModalAdditionalInfo,\n });\n\n contentManager.injectComponent('listView', 'unpublishModalAdditionalInfos', {\n name: 'i18n-unpublish-bullets-in-modal',\n Component: UnpublishModalAdditionalInfo,\n });\n\n contentManager.injectComponent('listView', 'deleteModalAdditionalInfos', {\n name: 'i18n-delete-bullets-in-modal',\n Component: DeleteModalAdditionalInfo,\n });\n\n const ctbPlugin = app.getPlugin('content-type-builder');\n\n if (ctbPlugin) {\n const ctbFormsAPI = ctbPlugin.apis.forms;\n ctbFormsAPI.addContentTypeSchemaMutation(mutateCTBContentTypeSchema);\n ctbFormsAPI.components.add({ id: 'checkboxConfirmation', component: CheckboxConfirmation });\n\n ctbFormsAPI.extendContentType({\n validator: () => ({\n i18n: yup.object().shape({\n localized: yup.bool(),\n }),\n }),\n form: {\n advanced() {\n return [\n {\n name: 'pluginOptions.i18n.localized',\n description: {\n id: getTranslation('plugin.schema.i18n.localized.description-content-type'),\n defaultMessage: 'Allows translating an entry into different languages',\n },\n type: 'checkboxConfirmation',\n intlLabel: {\n id: getTranslation('plugin.schema.i18n.localized.label-content-type'),\n defaultMessage: 'Localization',\n },\n },\n ];\n },\n },\n });\n\n ctbFormsAPI.extendFields(LOCALIZED_FIELDS, {\n form: {\n advanced({ contentTypeSchema, forTarget, type, step }: any) {\n if (forTarget !== 'contentType') {\n return [];\n }\n\n const hasI18nEnabled = get(\n contentTypeSchema,\n ['schema', 'pluginOptions', 'i18n', 'localized'],\n false\n );\n\n if (!hasI18nEnabled) {\n return [];\n }\n\n if (type === 'component' && step === '1') {\n return [];\n }\n\n return [\n {\n name: 'pluginOptions.i18n.localized',\n description: {\n id: getTranslation('plugin.schema.i18n.localized.description-field'),\n defaultMessage: 'The field can have different values in each locale',\n },\n type: 'checkbox',\n intlLabel: {\n id: getTranslation('plugin.schema.i18n.localized.label-field'),\n defaultMessage: 'Enable localization for this field',\n },\n },\n ];\n },\n },\n });\n }\n },\n async registerTrads({ locales }: { locales: string[] }) {\n const importedTrads = await Promise.all(\n locales.map((locale) => {\n return import(`./translations/${locale}.json`)\n .then(({ default: data }) => {\n return {\n data: prefixPluginTranslations(data, pluginId),\n locale,\n };\n })\n .catch(() => {\n return {\n data: {},\n locale,\n };\n });\n })\n );\n\n return Promise.resolve(importedTrads);\n },\n};\n"],"names":["register","app","addMiddlewares","extendCTBAttributeInitialDataMiddleware","extendCTBInitialDataMiddleware","i18nApi","middleware","addReducers","reducerPath","reducer","addRBACMiddleware","localeMiddleware","registerPlugin","id","pluginId","name","bootstrap","registerHook","addColumnToTableHook","mutateEditViewHook","addLocaleToReleasesHook","addSettingsLink","intlLabel","getTranslation","defaultMessage","to","Component","then","mod","default","ProtectedSettingsPage","permissions","PERMISSIONS","accessMain","contentManager","getPlugin","apis","addDocumentHeaderAction","LocalePickerAction","FillFromAnotherLocaleAction","addDocumentAction","actions","indexOfDeleteAction","findIndex","action","type","splice","DeleteLocaleAction","BulkLocalePublishAction","BulkLocaleUnpublishAction","injectComponent","LocalePicker","PublishModalAdditionalInfo","UnpublishModalAdditionalInfo","DeleteModalAdditionalInfo","ctbPlugin","ctbFormsAPI","forms","addContentTypeSchemaMutation","mutateCTBContentTypeSchema","components","add","component","CheckboxConfirmation","extendContentType","validator","i18n","yup","object","shape","localized","bool","form","advanced","description","extendFields","LOCALIZED_FIELDS","contentTypeSchema","forTarget","step","hasI18nEnabled","get","registerTrads","locales","importedTrads","Promise","all","map","locale","data","prefixPluginTranslations","catch","resolve"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../admin/src/index.ts"],"sourcesContent":["import get from 'lodash/get';\nimport * as yup from 'yup';\n\nimport { CheckboxConfirmation } from './components/CheckboxConfirmation';\nimport {\n BulkLocalePublishAction,\n BulkLocaleUnpublishAction,\n DeleteLocaleAction,\n LocalePickerAction,\n FillFromAnotherLocaleAction,\n} from './components/CMHeaderActions';\nimport {\n DeleteModalAdditionalInfo,\n PublishModalAdditionalInfo,\n UnpublishModalAdditionalInfo,\n} from './components/CMListViewModalsAdditionalInformation';\nimport { LocalePicker } from './components/LocalePicker';\nimport { PERMISSIONS } from './constants';\nimport { mutateEditViewHook } from './contentManagerHooks/editView';\nimport { addColumnToTableHook } from './contentManagerHooks/listView';\nimport { addLocaleToReleasesHook } from './contentReleasesHooks/releaseDetailsView';\nimport { extendCTBAttributeInitialDataMiddleware } from './middlewares/extendCTBAttributeInitialData';\nimport { extendCTBInitialDataMiddleware } from './middlewares/extendCTBInitialData';\nimport { localeMiddleware } from './middlewares/rbac-middleware';\nimport { pluginId } from './pluginId';\nimport { i18nApi } from './services/api';\nimport { LOCALIZED_FIELDS } from './utils/fields';\nimport { getTranslation } from './utils/getTranslation';\nimport { prefixPluginTranslations } from './utils/prefixPluginTranslations';\nimport { mutateCTBContentTypeSchema } from './utils/schemas';\n\nimport type { DocumentActionComponent } from '@strapi/content-manager/strapi-admin';\n\n// eslint-disable-next-line import/no-default-export\nexport default {\n register(app: any) {\n app.addMiddlewares([extendCTBAttributeInitialDataMiddleware, extendCTBInitialDataMiddleware]);\n app.addMiddlewares([() => i18nApi.middleware]);\n app.addReducers({\n [i18nApi.reducerPath]: i18nApi.reducer,\n });\n app.addRBACMiddleware([localeMiddleware]);\n app.registerPlugin({\n id: pluginId,\n name: pluginId,\n });\n },\n bootstrap(app: any) {\n // // Hook that adds a column into the CM's LV table\n app.registerHook('Admin/CM/pages/ListView/inject-column-in-table', addColumnToTableHook);\n app.registerHook('Admin/CM/pages/EditView/mutate-edit-view-layout', mutateEditViewHook);\n // Hooks that checks if the locale is present in the release\n app.registerHook(\n 'ContentReleases/pages/ReleaseDetails/add-locale-in-releases',\n addLocaleToReleasesHook\n );\n\n // Add the settings link\n app.addSettingsLink('global', {\n intlLabel: {\n id: getTranslation('plugin.name'),\n defaultMessage: 'Internationalization',\n },\n id: 'internationalization',\n to: 'internationalization',\n Component: () =>\n import('./pages/SettingsPage').then((mod) => ({ default: mod.ProtectedSettingsPage })),\n permissions: PERMISSIONS.accessMain,\n });\n\n const contentManager = app.getPlugin('content-manager');\n\n contentManager.apis.addDocumentHeaderAction([LocalePickerAction, FillFromAnotherLocaleAction]);\n contentManager.apis.addDocumentAction((actions: DocumentActionComponent[]) => {\n const indexOfDeleteAction = actions.findIndex((action) => action.type === 'delete');\n actions.splice(indexOfDeleteAction, 0, DeleteLocaleAction);\n return actions;\n });\n\n contentManager.apis.addDocumentAction((actions: DocumentActionComponent[]) => {\n // When enabled the bulk locale publish action should be the first action\n // in 'More Document Actions' and therefore the third action in the array\n actions.splice(2, 0, BulkLocalePublishAction);\n actions.splice(5, 0, BulkLocaleUnpublishAction);\n return actions;\n });\n\n contentManager.injectComponent('listView', 'actions', {\n name: 'i18n-locale-filter',\n Component: LocalePicker,\n });\n\n contentManager.injectComponent('listView', 'publishModalAdditionalInfos', {\n name: 'i18n-publish-bullets-in-modal',\n Component: PublishModalAdditionalInfo,\n });\n\n contentManager.injectComponent('listView', 'unpublishModalAdditionalInfos', {\n name: 'i18n-unpublish-bullets-in-modal',\n Component: UnpublishModalAdditionalInfo,\n });\n\n contentManager.injectComponent('listView', 'deleteModalAdditionalInfos', {\n name: 'i18n-delete-bullets-in-modal',\n Component: DeleteModalAdditionalInfo,\n });\n\n const ctbPlugin = app.getPlugin('content-type-builder');\n\n if (ctbPlugin) {\n const ctbFormsAPI = ctbPlugin.apis.forms;\n ctbFormsAPI.addContentTypeSchemaMutation(mutateCTBContentTypeSchema);\n ctbFormsAPI.components.add({ id: 'checkboxConfirmation', component: CheckboxConfirmation });\n\n ctbFormsAPI.extendContentType({\n validator: () => ({\n i18n: yup.object().shape({\n localized: yup.bool(),\n }),\n }),\n form: {\n advanced() {\n return [\n {\n name: 'pluginOptions.i18n.localized',\n description: {\n id: getTranslation('plugin.schema.i18n.localized.description-content-type'),\n defaultMessage: 'Allows translating an entry into different languages',\n },\n type: 'checkboxConfirmation',\n intlLabel: {\n id: getTranslation('plugin.schema.i18n.localized.label-content-type'),\n defaultMessage: 'Localization',\n },\n },\n ];\n },\n },\n });\n\n ctbFormsAPI.extendFields(LOCALIZED_FIELDS, {\n form: {\n advanced({ contentTypeSchema, forTarget, type, step }: any) {\n if (forTarget !== 'contentType') {\n return [];\n }\n\n const hasI18nEnabled = get(\n contentTypeSchema,\n ['pluginOptions', 'i18n', 'localized'],\n false\n );\n\n if (!hasI18nEnabled) {\n return [];\n }\n\n if (type === 'component' && step === '1') {\n return [];\n }\n\n return [\n {\n name: 'pluginOptions.i18n.localized',\n description: {\n id: getTranslation('plugin.schema.i18n.localized.description-field'),\n defaultMessage: 'The field can have different values in each locale',\n },\n type: 'checkbox',\n intlLabel: {\n id: getTranslation('plugin.schema.i18n.localized.label-field'),\n defaultMessage: 'Enable localization for this field',\n },\n },\n ];\n },\n },\n });\n }\n },\n async registerTrads({ locales }: { locales: string[] }) {\n const importedTrads = await Promise.all(\n locales.map((locale) => {\n return import(`./translations/${locale}.json`)\n .then(({ default: data }) => {\n return {\n data: prefixPluginTranslations(data, pluginId),\n locale,\n };\n })\n .catch(() => {\n return {\n data: {},\n locale,\n };\n });\n })\n );\n\n return Promise.resolve(importedTrads);\n },\n};\n"],"names":["register","app","addMiddlewares","extendCTBAttributeInitialDataMiddleware","extendCTBInitialDataMiddleware","i18nApi","middleware","addReducers","reducerPath","reducer","addRBACMiddleware","localeMiddleware","registerPlugin","id","pluginId","name","bootstrap","registerHook","addColumnToTableHook","mutateEditViewHook","addLocaleToReleasesHook","addSettingsLink","intlLabel","getTranslation","defaultMessage","to","Component","then","mod","default","ProtectedSettingsPage","permissions","PERMISSIONS","accessMain","contentManager","getPlugin","apis","addDocumentHeaderAction","LocalePickerAction","FillFromAnotherLocaleAction","addDocumentAction","actions","indexOfDeleteAction","findIndex","action","type","splice","DeleteLocaleAction","BulkLocalePublishAction","BulkLocaleUnpublishAction","injectComponent","LocalePicker","PublishModalAdditionalInfo","UnpublishModalAdditionalInfo","DeleteModalAdditionalInfo","ctbPlugin","ctbFormsAPI","forms","addContentTypeSchemaMutation","mutateCTBContentTypeSchema","components","add","component","CheckboxConfirmation","extendContentType","validator","i18n","yup","object","shape","localized","bool","form","advanced","description","extendFields","LOCALIZED_FIELDS","contentTypeSchema","forTarget","step","hasI18nEnabled","get","registerTrads","locales","importedTrads","Promise","all","map","locale","data","prefixPluginTranslations","catch","resolve"],"mappings":"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"}
|
@@ -4,35 +4,38 @@ var get = require('lodash/get');
|
|
4
4
|
|
5
5
|
const extendCTBAttributeInitialDataMiddleware = ()=>{
|
6
6
|
return ({ getState })=>(next)=>(action)=>{
|
7
|
-
const enhanceAction = ()=>{
|
7
|
+
const enhanceAction = ({ uid })=>{
|
8
8
|
// the block here is to catch the error when trying to access the state
|
9
9
|
// of the ctb when the plugin is not mounted
|
10
10
|
try {
|
11
11
|
const store = getState();
|
12
|
-
const
|
12
|
+
const type = get(store, [
|
13
13
|
'content-type-builder_dataManagerProvider',
|
14
|
-
'
|
15
|
-
'
|
16
|
-
|
14
|
+
'current',
|
15
|
+
'contentTypes',
|
16
|
+
uid
|
17
|
+
]);
|
18
|
+
if (!type || type.modelType !== 'contentType') {
|
19
|
+
return next(action);
|
20
|
+
}
|
21
|
+
const hasi18nEnabled = get(type, [
|
17
22
|
'pluginOptions',
|
18
23
|
'i18n',
|
19
24
|
'localized'
|
20
25
|
], false);
|
21
26
|
if (hasi18nEnabled) {
|
22
|
-
const pluginOptions = action.options ? {
|
23
|
-
...action.options.pluginOptions,
|
24
|
-
i18n: {
|
25
|
-
localized: true
|
26
|
-
}
|
27
|
-
} : {
|
28
|
-
i18n: {
|
29
|
-
localized: true
|
30
|
-
}
|
31
|
-
};
|
32
27
|
return next({
|
33
28
|
...action,
|
34
|
-
|
35
|
-
|
29
|
+
payload: {
|
30
|
+
...action.payload,
|
31
|
+
options: {
|
32
|
+
pluginOptions: {
|
33
|
+
...action?.payload?.options?.pluginOptions ?? {},
|
34
|
+
i18n: {
|
35
|
+
localized: true
|
36
|
+
}
|
37
|
+
}
|
38
|
+
}
|
36
39
|
}
|
37
40
|
});
|
38
41
|
}
|
@@ -41,17 +44,24 @@ const extendCTBAttributeInitialDataMiddleware = ()=>{
|
|
41
44
|
return next(action);
|
42
45
|
}
|
43
46
|
};
|
44
|
-
|
47
|
+
const { payload = {}, type } = action ?? {};
|
48
|
+
if (type === 'formModal/setAttributeDataSchema' && ![
|
45
49
|
'relation',
|
46
50
|
'component'
|
47
|
-
].includes(
|
48
|
-
return enhanceAction(
|
51
|
+
].includes(payload.attributeType) && !payload.isEditing) {
|
52
|
+
return enhanceAction({
|
53
|
+
uid: payload.uid
|
54
|
+
});
|
49
55
|
}
|
50
|
-
if (
|
51
|
-
return enhanceAction(
|
56
|
+
if (type === 'formModal/setCustomFieldDataSchema' && !payload.isEditing) {
|
57
|
+
return enhanceAction({
|
58
|
+
uid: payload.uid
|
59
|
+
});
|
52
60
|
}
|
53
|
-
if (
|
54
|
-
return enhanceAction(
|
61
|
+
if (type === 'formModal/resetPropsAndSetFormForAddingAnExistingCompo' || type === 'formModal/resetPropsAndSaveCurrentData') {
|
62
|
+
return enhanceAction({
|
63
|
+
uid: payload.uid
|
64
|
+
});
|
55
65
|
}
|
56
66
|
return next(action);
|
57
67
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"extendCTBAttributeInitialData.js","sources":["../../../admin/src/middlewares/extendCTBAttributeInitialData.ts"],"sourcesContent":["import get from 'lodash/get';\n\nimport type { Middleware } from '@reduxjs/toolkit';\nimport type { Store } from '@strapi/admin/strapi-admin';\n\nconst extendCTBAttributeInitialDataMiddleware: () => Middleware<\n object,\n ReturnType<Store['getState']>\n> = () => {\n return ({ getState }) =>\n (next) =>\n (action) => {\n const enhanceAction = () => {\n // the block here is to catch the error when trying to access the state\n // of the ctb when the plugin is not mounted\n try {\n const store = getState();\n\n const
|
1
|
+
{"version":3,"file":"extendCTBAttributeInitialData.js","sources":["../../../admin/src/middlewares/extendCTBAttributeInitialData.ts"],"sourcesContent":["import get from 'lodash/get';\n\nimport type { Middleware } from '@reduxjs/toolkit';\nimport type { Store } from '@strapi/admin/strapi-admin';\n\nconst extendCTBAttributeInitialDataMiddleware: () => Middleware<\n object,\n ReturnType<Store['getState']>\n> = () => {\n return ({ getState }) =>\n (next) =>\n (action) => {\n const enhanceAction = ({ uid }: { uid: string }) => {\n // the block here is to catch the error when trying to access the state\n // of the ctb when the plugin is not mounted\n try {\n const store = getState();\n\n const type = get(store, [\n 'content-type-builder_dataManagerProvider',\n 'current',\n 'contentTypes',\n uid,\n ]);\n\n if (!type || type.modelType !== 'contentType') {\n return next(action);\n }\n\n const hasi18nEnabled = get(type, ['pluginOptions', 'i18n', 'localized'], false);\n\n if (hasi18nEnabled) {\n return next({\n ...action,\n payload: {\n ...action.payload,\n options: {\n pluginOptions: {\n ...(action?.payload?.options?.pluginOptions ?? {}),\n i18n: {\n localized: true,\n },\n },\n },\n },\n });\n }\n\n return next(action);\n } catch (err) {\n return next(action);\n }\n };\n\n const { payload = {}, type } = action ?? {};\n\n if (\n type === 'formModal/setAttributeDataSchema' &&\n !['relation', 'component'].includes(payload.attributeType) &&\n !payload.isEditing\n ) {\n return enhanceAction({\n uid: payload.uid,\n });\n }\n\n if (type === 'formModal/setCustomFieldDataSchema' && !payload.isEditing) {\n return enhanceAction({\n uid: payload.uid,\n });\n }\n\n if (\n type === 'formModal/resetPropsAndSetFormForAddingAnExistingCompo' ||\n type === 'formModal/resetPropsAndSaveCurrentData'\n ) {\n return enhanceAction({\n uid: payload.uid,\n });\n }\n\n return next(action);\n };\n};\n\nexport { extendCTBAttributeInitialDataMiddleware };\n"],"names":["extendCTBAttributeInitialDataMiddleware","getState","next","action","enhanceAction","uid","store","type","get","modelType","hasi18nEnabled","payload","options","pluginOptions","i18n","localized","err","includes","attributeType","isEditing"],"mappings":";;;;AAKA,MAAMA,uCAGF,GAAA,IAAA;AACF,IAAA,OAAO,CAAC,EAAEC,QAAQ,EAAE,GAClB,CAACC,OACD,CAACC,MAAAA,GAAAA;AACC,gBAAA,MAAMC,aAAgB,GAAA,CAAC,EAAEC,GAAG,EAAmB,GAAA;;;oBAG7C,IAAI;AACF,wBAAA,MAAMC,KAAQL,GAAAA,QAAAA,EAAAA;wBAEd,MAAMM,IAAAA,GAAOC,IAAIF,KAAO,EAAA;AACtB,4BAAA,0CAAA;AACA,4BAAA,SAAA;AACA,4BAAA,cAAA;AACAD,4BAAAA;AACD,yBAAA,CAAA;AAED,wBAAA,IAAI,CAACE,IAAAA,IAAQA,IAAKE,CAAAA,SAAS,KAAK,aAAe,EAAA;AAC7C,4BAAA,OAAOP,IAAKC,CAAAA,MAAAA,CAAAA;AACd;wBAEA,MAAMO,cAAAA,GAAiBF,IAAID,IAAM,EAAA;AAAC,4BAAA,eAAA;AAAiB,4BAAA,MAAA;AAAQ,4BAAA;yBAAY,EAAE,KAAA,CAAA;AAEzE,wBAAA,IAAIG,cAAgB,EAAA;AAClB,4BAAA,OAAOR,IAAK,CAAA;AACV,gCAAA,GAAGC,MAAM;gCACTQ,OAAS,EAAA;AACP,oCAAA,GAAGR,OAAOQ,OAAO;oCACjBC,OAAS,EAAA;wCACPC,aAAe,EAAA;AACb,4CAAA,GAAIV,MAAQQ,EAAAA,OAAAA,EAASC,OAASC,EAAAA,aAAAA,IAAiB,EAAE;4CACjDC,IAAM,EAAA;gDACJC,SAAW,EAAA;AACb;AACF;AACF;AACF;AACF,6BAAA,CAAA;AACF;AAEA,wBAAA,OAAOb,IAAKC,CAAAA,MAAAA,CAAAA;AACd,qBAAA,CAAE,OAAOa,GAAK,EAAA;AACZ,wBAAA,OAAOd,IAAKC,CAAAA,MAAAA,CAAAA;AACd;AACF,iBAAA;gBAEA,MAAM,EAAEQ,UAAU,EAAE,EAAEJ,IAAI,EAAE,GAAGJ,MAAAA,IAAU,EAAC;gBAE1C,IACEI,IAAAA,KAAS,sCACT,CAAC;AAAC,oBAAA,UAAA;AAAY,oBAAA;iBAAY,CAACU,QAAQ,CAACN,OAAQO,CAAAA,aAAa,KACzD,CAACP,OAAAA,CAAQQ,SAAS,EAClB;AACA,oBAAA,OAAOf,aAAc,CAAA;AACnBC,wBAAAA,GAAAA,EAAKM,QAAQN;AACf,qBAAA,CAAA;AACF;AAEA,gBAAA,IAAIE,IAAS,KAAA,oCAAA,IAAwC,CAACI,OAAAA,CAAQQ,SAAS,EAAE;AACvE,oBAAA,OAAOf,aAAc,CAAA;AACnBC,wBAAAA,GAAAA,EAAKM,QAAQN;AACf,qBAAA,CAAA;AACF;gBAEA,IACEE,IAAAA,KAAS,wDACTA,IAAAA,IAAAA,KAAS,wCACT,EAAA;AACA,oBAAA,OAAOH,aAAc,CAAA;AACnBC,wBAAAA,GAAAA,EAAKM,QAAQN;AACf,qBAAA,CAAA;AACF;AAEA,gBAAA,OAAOH,IAAKC,CAAAA,MAAAA,CAAAA;AACd,aAAA;AACJ;;;;"}
|
@@ -2,35 +2,38 @@ import get from 'lodash/get';
|
|
2
2
|
|
3
3
|
const extendCTBAttributeInitialDataMiddleware = ()=>{
|
4
4
|
return ({ getState })=>(next)=>(action)=>{
|
5
|
-
const enhanceAction = ()=>{
|
5
|
+
const enhanceAction = ({ uid })=>{
|
6
6
|
// the block here is to catch the error when trying to access the state
|
7
7
|
// of the ctb when the plugin is not mounted
|
8
8
|
try {
|
9
9
|
const store = getState();
|
10
|
-
const
|
10
|
+
const type = get(store, [
|
11
11
|
'content-type-builder_dataManagerProvider',
|
12
|
-
'
|
13
|
-
'
|
14
|
-
|
12
|
+
'current',
|
13
|
+
'contentTypes',
|
14
|
+
uid
|
15
|
+
]);
|
16
|
+
if (!type || type.modelType !== 'contentType') {
|
17
|
+
return next(action);
|
18
|
+
}
|
19
|
+
const hasi18nEnabled = get(type, [
|
15
20
|
'pluginOptions',
|
16
21
|
'i18n',
|
17
22
|
'localized'
|
18
23
|
], false);
|
19
24
|
if (hasi18nEnabled) {
|
20
|
-
const pluginOptions = action.options ? {
|
21
|
-
...action.options.pluginOptions,
|
22
|
-
i18n: {
|
23
|
-
localized: true
|
24
|
-
}
|
25
|
-
} : {
|
26
|
-
i18n: {
|
27
|
-
localized: true
|
28
|
-
}
|
29
|
-
};
|
30
25
|
return next({
|
31
26
|
...action,
|
32
|
-
|
33
|
-
|
27
|
+
payload: {
|
28
|
+
...action.payload,
|
29
|
+
options: {
|
30
|
+
pluginOptions: {
|
31
|
+
...action?.payload?.options?.pluginOptions ?? {},
|
32
|
+
i18n: {
|
33
|
+
localized: true
|
34
|
+
}
|
35
|
+
}
|
36
|
+
}
|
34
37
|
}
|
35
38
|
});
|
36
39
|
}
|
@@ -39,17 +42,24 @@ const extendCTBAttributeInitialDataMiddleware = ()=>{
|
|
39
42
|
return next(action);
|
40
43
|
}
|
41
44
|
};
|
42
|
-
|
45
|
+
const { payload = {}, type } = action ?? {};
|
46
|
+
if (type === 'formModal/setAttributeDataSchema' && ![
|
43
47
|
'relation',
|
44
48
|
'component'
|
45
|
-
].includes(
|
46
|
-
return enhanceAction(
|
49
|
+
].includes(payload.attributeType) && !payload.isEditing) {
|
50
|
+
return enhanceAction({
|
51
|
+
uid: payload.uid
|
52
|
+
});
|
47
53
|
}
|
48
|
-
if (
|
49
|
-
return enhanceAction(
|
54
|
+
if (type === 'formModal/setCustomFieldDataSchema' && !payload.isEditing) {
|
55
|
+
return enhanceAction({
|
56
|
+
uid: payload.uid
|
57
|
+
});
|
50
58
|
}
|
51
|
-
if (
|
52
|
-
return enhanceAction(
|
59
|
+
if (type === 'formModal/resetPropsAndSetFormForAddingAnExistingCompo' || type === 'formModal/resetPropsAndSaveCurrentData') {
|
60
|
+
return enhanceAction({
|
61
|
+
uid: payload.uid
|
62
|
+
});
|
53
63
|
}
|
54
64
|
return next(action);
|
55
65
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"extendCTBAttributeInitialData.mjs","sources":["../../../admin/src/middlewares/extendCTBAttributeInitialData.ts"],"sourcesContent":["import get from 'lodash/get';\n\nimport type { Middleware } from '@reduxjs/toolkit';\nimport type { Store } from '@strapi/admin/strapi-admin';\n\nconst extendCTBAttributeInitialDataMiddleware: () => Middleware<\n object,\n ReturnType<Store['getState']>\n> = () => {\n return ({ getState }) =>\n (next) =>\n (action) => {\n const enhanceAction = () => {\n // the block here is to catch the error when trying to access the state\n // of the ctb when the plugin is not mounted\n try {\n const store = getState();\n\n const
|
1
|
+
{"version":3,"file":"extendCTBAttributeInitialData.mjs","sources":["../../../admin/src/middlewares/extendCTBAttributeInitialData.ts"],"sourcesContent":["import get from 'lodash/get';\n\nimport type { Middleware } from '@reduxjs/toolkit';\nimport type { Store } from '@strapi/admin/strapi-admin';\n\nconst extendCTBAttributeInitialDataMiddleware: () => Middleware<\n object,\n ReturnType<Store['getState']>\n> = () => {\n return ({ getState }) =>\n (next) =>\n (action) => {\n const enhanceAction = ({ uid }: { uid: string }) => {\n // the block here is to catch the error when trying to access the state\n // of the ctb when the plugin is not mounted\n try {\n const store = getState();\n\n const type = get(store, [\n 'content-type-builder_dataManagerProvider',\n 'current',\n 'contentTypes',\n uid,\n ]);\n\n if (!type || type.modelType !== 'contentType') {\n return next(action);\n }\n\n const hasi18nEnabled = get(type, ['pluginOptions', 'i18n', 'localized'], false);\n\n if (hasi18nEnabled) {\n return next({\n ...action,\n payload: {\n ...action.payload,\n options: {\n pluginOptions: {\n ...(action?.payload?.options?.pluginOptions ?? {}),\n i18n: {\n localized: true,\n },\n },\n },\n },\n });\n }\n\n return next(action);\n } catch (err) {\n return next(action);\n }\n };\n\n const { payload = {}, type } = action ?? {};\n\n if (\n type === 'formModal/setAttributeDataSchema' &&\n !['relation', 'component'].includes(payload.attributeType) &&\n !payload.isEditing\n ) {\n return enhanceAction({\n uid: payload.uid,\n });\n }\n\n if (type === 'formModal/setCustomFieldDataSchema' && !payload.isEditing) {\n return enhanceAction({\n uid: payload.uid,\n });\n }\n\n if (\n type === 'formModal/resetPropsAndSetFormForAddingAnExistingCompo' ||\n type === 'formModal/resetPropsAndSaveCurrentData'\n ) {\n return enhanceAction({\n uid: payload.uid,\n });\n }\n\n return next(action);\n };\n};\n\nexport { extendCTBAttributeInitialDataMiddleware };\n"],"names":["extendCTBAttributeInitialDataMiddleware","getState","next","action","enhanceAction","uid","store","type","get","modelType","hasi18nEnabled","payload","options","pluginOptions","i18n","localized","err","includes","attributeType","isEditing"],"mappings":";;AAKA,MAAMA,uCAGF,GAAA,IAAA;AACF,IAAA,OAAO,CAAC,EAAEC,QAAQ,EAAE,GAClB,CAACC,OACD,CAACC,MAAAA,GAAAA;AACC,gBAAA,MAAMC,aAAgB,GAAA,CAAC,EAAEC,GAAG,EAAmB,GAAA;;;oBAG7C,IAAI;AACF,wBAAA,MAAMC,KAAQL,GAAAA,QAAAA,EAAAA;wBAEd,MAAMM,IAAAA,GAAOC,IAAIF,KAAO,EAAA;AACtB,4BAAA,0CAAA;AACA,4BAAA,SAAA;AACA,4BAAA,cAAA;AACAD,4BAAAA;AACD,yBAAA,CAAA;AAED,wBAAA,IAAI,CAACE,IAAAA,IAAQA,IAAKE,CAAAA,SAAS,KAAK,aAAe,EAAA;AAC7C,4BAAA,OAAOP,IAAKC,CAAAA,MAAAA,CAAAA;AACd;wBAEA,MAAMO,cAAAA,GAAiBF,IAAID,IAAM,EAAA;AAAC,4BAAA,eAAA;AAAiB,4BAAA,MAAA;AAAQ,4BAAA;yBAAY,EAAE,KAAA,CAAA;AAEzE,wBAAA,IAAIG,cAAgB,EAAA;AAClB,4BAAA,OAAOR,IAAK,CAAA;AACV,gCAAA,GAAGC,MAAM;gCACTQ,OAAS,EAAA;AACP,oCAAA,GAAGR,OAAOQ,OAAO;oCACjBC,OAAS,EAAA;wCACPC,aAAe,EAAA;AACb,4CAAA,GAAIV,MAAQQ,EAAAA,OAAAA,EAASC,OAASC,EAAAA,aAAAA,IAAiB,EAAE;4CACjDC,IAAM,EAAA;gDACJC,SAAW,EAAA;AACb;AACF;AACF;AACF;AACF,6BAAA,CAAA;AACF;AAEA,wBAAA,OAAOb,IAAKC,CAAAA,MAAAA,CAAAA;AACd,qBAAA,CAAE,OAAOa,GAAK,EAAA;AACZ,wBAAA,OAAOd,IAAKC,CAAAA,MAAAA,CAAAA;AACd;AACF,iBAAA;gBAEA,MAAM,EAAEQ,UAAU,EAAE,EAAEJ,IAAI,EAAE,GAAGJ,MAAAA,IAAU,EAAC;gBAE1C,IACEI,IAAAA,KAAS,sCACT,CAAC;AAAC,oBAAA,UAAA;AAAY,oBAAA;iBAAY,CAACU,QAAQ,CAACN,OAAQO,CAAAA,aAAa,KACzD,CAACP,OAAAA,CAAQQ,SAAS,EAClB;AACA,oBAAA,OAAOf,aAAc,CAAA;AACnBC,wBAAAA,GAAAA,EAAKM,QAAQN;AACf,qBAAA,CAAA;AACF;AAEA,gBAAA,IAAIE,IAAS,KAAA,oCAAA,IAAwC,CAACI,OAAAA,CAAQQ,SAAS,EAAE;AACvE,oBAAA,OAAOf,aAAc,CAAA;AACnBC,wBAAAA,GAAAA,EAAKM,QAAQN;AACf,qBAAA,CAAA;AACF;gBAEA,IACEE,IAAAA,KAAS,wDACTA,IAAAA,IAAAA,KAAS,wCACT,EAAA;AACA,oBAAA,OAAOH,aAAc,CAAA;AACnBC,wBAAAA,GAAAA,EAAKM,QAAQN;AACf,qBAAA,CAAA;AACF;AAEA,gBAAA,OAAOH,IAAKC,CAAAA,MAAAA,CAAAA;AACd,aAAA;AACJ;;;;"}
|