@strapi/admin 4.3.4 → 4.3.5
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/admin/src/StrapiApp.js +23 -23
- package/admin/src/components/AuthenticatedApp/index.js +15 -12
- package/admin/src/components/AuthenticatedApp/utils/api.js +1 -1
- package/admin/src/components/AutoReloadOverlayBlockerProvider/index.js +8 -6
- package/admin/src/components/ConfigurationsProvider/index.js +21 -12
- package/admin/src/components/ConfigurationsProvider/reducer.js +1 -1
- package/admin/src/components/GuidedTour/Homepage/components/Stepper.js +1 -1
- package/admin/src/components/GuidedTour/Homepage/index.js +2 -2
- package/admin/src/components/GuidedTour/Modal/components/Content.js +6 -6
- package/admin/src/components/GuidedTour/Modal/components/Modal.js +1 -1
- package/admin/src/components/GuidedTour/Modal/index.js +2 -4
- package/admin/src/components/GuidedTour/Modal/reducer.js +1 -1
- package/admin/src/components/GuidedTour/index.js +4 -4
- package/admin/src/components/GuidedTour/init.js +2 -2
- package/admin/src/components/GuidedTour/reducer.js +1 -1
- package/admin/src/components/GuidedTour/utils/isGuidedTourCompleted.js +1 -1
- package/admin/src/components/GuidedTour/utils/persistStateToLocaleStorage.js +4 -4
- package/admin/src/components/LanguageProvider/index.js +1 -1
- package/admin/src/components/LanguageProvider/init.js +1 -1
- package/admin/src/components/LeftMenu/index.js +6 -6
- package/admin/src/components/Notifications/Notification/index.js +3 -4
- package/admin/src/components/Notifications/index.js +2 -2
- package/admin/src/components/Notifications/reducer.js +2 -2
- package/admin/src/components/PluginsInitializer/index.js +4 -2
- package/admin/src/components/PluginsInitializer/init.js +1 -1
- package/admin/src/components/PluginsInitializer/reducer.js +1 -1
- package/admin/src/components/PrivateRoute/index.js +1 -1
- package/admin/src/components/RBACProvider/actions.js +1 -1
- package/admin/src/components/RBACProvider/index.js +1 -1
- package/admin/src/components/RBACProvider/reducer.js +2 -2
- package/admin/src/components/ThemeToggleProvider/index.js +1 -1
- package/admin/src/components/UpgradePlanModal/index.js +1 -1
- package/admin/src/content-manager/components/AttributeFilter/Filters.js +1 -1
- package/admin/src/content-manager/components/AttributeFilter/hooks/useAllowedAttributes.js +1 -1
- package/admin/src/content-manager/components/AttributeFilter/index.js +1 -1
- package/admin/src/content-manager/components/Block/index.js +1 -1
- package/admin/src/content-manager/components/CollectionTypeFormWrapper/index.js +7 -12
- package/admin/src/content-manager/components/DragLayer/index.js +1 -1
- package/admin/src/content-manager/components/DynamicTable/CellContent/RelationMultiple/index.js +1 -1
- package/admin/src/content-manager/components/DynamicTable/CellContent/RepeatableComponent/index.js +1 -1
- package/admin/src/content-manager/components/DynamicTable/TableRows/index.js +4 -4
- package/admin/src/content-manager/components/DynamicTable/index.js +25 -4
- package/admin/src/content-manager/components/DynamicZone/components/AddComponentButton/index.js +18 -20
- package/admin/src/content-manager/components/DynamicZone/components/Component/index.js +1 -1
- package/admin/src/content-manager/components/DynamicZone/components/ComponentPicker/Category/ComponentCard/index.js +1 -1
- package/admin/src/content-manager/components/DynamicZone/components/ComponentPicker/index.js +3 -3
- package/admin/src/content-manager/components/DynamicZone/index.js +10 -10
- package/admin/src/content-manager/components/DynamicZone/utils/connect.js +1 -1
- package/admin/src/content-manager/components/DynamicZone/utils/select.js +1 -1
- package/admin/src/content-manager/components/EditViewDataManagerProvider/index.js +6 -6
- package/admin/src/content-manager/components/EditViewDataManagerProvider/reducer.js +1 -1
- package/admin/src/content-manager/components/EditViewDataManagerProvider/utils/cleanData.js +4 -4
- package/admin/src/content-manager/components/EditViewDataManagerProvider/utils/schema.js +18 -18
- package/admin/src/content-manager/components/FieldComponent/utils/connect.js +1 -1
- package/admin/src/content-manager/components/FieldComponent/utils/select.js +6 -6
- package/admin/src/content-manager/components/FormTitle/index.js +1 -1
- package/admin/src/content-manager/components/InjectionZoneList/index.js +1 -1
- package/admin/src/content-manager/components/InputJSON/index.js +5 -6
- package/admin/src/content-manager/components/InputJSON/jsonlint.js +13 -13
- package/admin/src/content-manager/components/InputUID/index.js +1 -1
- package/admin/src/content-manager/components/InputUID/regex.js +1 -1
- package/admin/src/content-manager/components/Inputs/index.js +32 -5
- package/admin/src/content-manager/components/Inputs/utils/connect.js +1 -1
- package/admin/src/content-manager/components/Inputs/utils/generateOptions.js +1 -1
- package/admin/src/content-manager/components/Inputs/utils/getStep.js +1 -5
- package/admin/src/content-manager/components/LayoutDndProvider/index.js +6 -6
- package/admin/src/content-manager/components/NonRepeatableComponent/index.js +4 -4
- package/admin/src/content-manager/components/PreviewWysiwyg/utils/mdRenderer.js +1 -1
- package/admin/src/content-manager/components/PreviewWysiwyg/utils/satinizeHtml.js +1 -1
- package/admin/src/content-manager/components/RepeatableComponent/AccordionGroupCustom/index.js +1 -1
- package/admin/src/content-manager/components/RepeatableComponent/DraggedItem/index.js +9 -15
- package/admin/src/content-manager/components/RepeatableComponent/DraggedItem/utils/connect.js +1 -1
- package/admin/src/content-manager/components/RepeatableComponent/index.js +5 -5
- package/admin/src/content-manager/components/RepeatableComponent/utils/connect.js +1 -1
- package/admin/src/content-manager/components/RepeatableComponent/utils/getComponentErrorKeys.js +2 -2
- package/admin/src/content-manager/components/SectionTitle/index.js +1 -1
- package/admin/src/content-manager/components/SelectMany/ListItem.js +1 -1
- package/admin/src/content-manager/components/SelectMany/index.js +1 -1
- package/admin/src/content-manager/components/SelectOne/SingleValue.js +1 -1
- package/admin/src/content-manager/components/SelectWrapper/Option.js +1 -1
- package/admin/src/content-manager/components/SelectWrapper/index.js +16 -26
- package/admin/src/content-manager/components/SelectWrapper/utils/connect.js +1 -1
- package/admin/src/content-manager/components/SingleTypeFormWrapper/index.js +6 -11
- package/admin/src/content-manager/components/SingleTypeFormWrapper/utils/getRequestUrl.js +1 -1
- package/admin/src/content-manager/components/Wysiwyg/Editor.js +1 -1
- package/admin/src/content-manager/components/Wysiwyg/EditorLayout.js +1 -1
- package/admin/src/content-manager/components/Wysiwyg/WysiwygFooter.js +1 -1
- package/admin/src/content-manager/components/Wysiwyg/WysiwygNav.js +4 -4
- package/admin/src/content-manager/components/Wysiwyg/index.js +5 -5
- package/admin/src/content-manager/components/Wysiwyg/utils/utils.js +4 -4
- package/admin/src/content-manager/hooks/useContentTypeLayout/index.js +1 -1
- package/admin/src/content-manager/hooks/useFetchContentTypeLayout/index.js +3 -3
- package/admin/src/content-manager/hooks/useFetchContentTypeLayout/reducer.js +1 -1
- package/admin/src/content-manager/hooks/useFetchContentTypeLayout/utils/formatLayouts.js +7 -7
- package/admin/src/content-manager/hooks/useFindRedirectionLink/index.js +1 -1
- package/admin/src/content-manager/hooks/useFindRedirectionLink/selectors.js +1 -1
- package/admin/src/content-manager/hooks/useSyncRbac/reducer.js +1 -1
- package/admin/src/content-manager/hooks/useSyncRbac/selectors.js +2 -2
- package/admin/src/content-manager/pages/App/LeftMenu/index.js +8 -8
- package/admin/src/content-manager/pages/App/index.js +3 -3
- package/admin/src/content-manager/pages/App/reducer.js +1 -1
- package/admin/src/content-manager/pages/App/selectors.js +4 -4
- package/admin/src/content-manager/pages/App/useModels.js +1 -1
- package/admin/src/content-manager/pages/App/utils/generateModelsLinks.js +2 -2
- package/admin/src/content-manager/pages/CollectionTypeRecursivePath/index.js +1 -1
- package/admin/src/content-manager/pages/ComponentSetttingsView/index.js +2 -2
- package/admin/src/content-manager/pages/EditSettingsView/components/ComponentFieldList.js +1 -1
- package/admin/src/content-manager/pages/EditSettingsView/components/DisplayedFieldButton.js +5 -5
- package/admin/src/content-manager/pages/EditSettingsView/components/DisplayedFields.js +1 -1
- package/admin/src/content-manager/pages/EditSettingsView/components/DynamicZoneList.js +1 -1
- package/admin/src/content-manager/pages/EditSettingsView/components/GenericInput.js +3 -3
- package/admin/src/content-manager/pages/EditSettingsView/components/ModalForm.js +36 -5
- package/admin/src/content-manager/pages/EditSettingsView/components/RelationalFieldButton.js +3 -3
- package/admin/src/content-manager/pages/EditSettingsView/components/RelationalFields.js +1 -1
- package/admin/src/content-manager/pages/EditSettingsView/index.js +21 -21
- package/admin/src/content-manager/pages/EditSettingsView/reducer.js +1 -1
- package/admin/src/content-manager/pages/EditSettingsView/utils/createPossibleMainFieldsForModelsAndComponents.js +2 -2
- package/admin/src/content-manager/pages/EditSettingsView/utils/getInputProps.js +1 -1
- package/admin/src/content-manager/pages/EditSettingsView/utils/layout.js +12 -12
- package/admin/src/content-manager/pages/EditView/DeleteLink/index.js +1 -1
- package/admin/src/content-manager/pages/EditView/DeleteLink/utils/connect.js +1 -1
- package/admin/src/content-manager/pages/EditView/DraftAndPublishBadge/utils/connect.js +1 -1
- package/admin/src/content-manager/pages/EditView/Header/index.js +4 -4
- package/admin/src/content-manager/pages/EditView/Header/utils/connect.js +1 -1
- package/admin/src/content-manager/pages/EditView/Header/utils/getDraftRelations.js +3 -3
- package/admin/src/content-manager/pages/EditView/Informations/utils/getUnits.js +1 -1
- package/admin/src/content-manager/pages/EditView/index.js +7 -10
- package/admin/src/content-manager/pages/EditView/utils/createAttributesLayout.js +2 -2
- package/admin/src/content-manager/pages/EditView/utils/getFieldsActionMatchingPermissions.js +1 -1
- package/admin/src/content-manager/pages/EditViewLayoutManager/Permissions.js +1 -1
- package/admin/src/content-manager/pages/EditViewLayoutManager/reducer.js +1 -1
- package/admin/src/content-manager/pages/EditViewLayoutManager/selectors.js +1 -1
- package/admin/src/content-manager/pages/ListSettingsView/components/DraggableCard.js +6 -6
- package/admin/src/content-manager/pages/ListSettingsView/components/EditFieldForm.js +4 -3
- package/admin/src/content-manager/pages/ListSettingsView/components/Settings.js +9 -9
- package/admin/src/content-manager/pages/ListSettingsView/components/SortDisplayedFields.js +2 -2
- package/admin/src/content-manager/pages/ListSettingsView/index.js +9 -9
- package/admin/src/content-manager/pages/ListSettingsView/reducer.js +1 -1
- package/admin/src/content-manager/pages/ListSettingsView/utils/ellipsisCardTitle.js +1 -1
- package/admin/src/content-manager/pages/ListView/FieldPicker/index.js +8 -7
- package/admin/src/content-manager/pages/ListView/FieldPicker/utils/getAllAllowedHeader.js +1 -1
- package/admin/src/content-manager/pages/ListView/actions.js +1 -1
- package/admin/src/content-manager/pages/ListView/index.js +3 -3
- package/admin/src/content-manager/pages/ListView/reducer.js +2 -2
- package/admin/src/content-manager/pages/ListView/selectors.js +3 -3
- package/admin/src/content-manager/pages/ListView/utils/createPluginsFilter.js +1 -1
- package/admin/src/content-manager/pages/ListViewLayoutManager/Permissions.js +2 -2
- package/admin/src/content-manager/sharedReducers/crudReducer/actions.js +3 -3
- package/admin/src/content-manager/sharedReducers/crudReducer/reducer.js +1 -1
- package/admin/src/content-manager/sharedReducers/crudReducer/selectors.js +1 -1
- package/admin/src/content-manager/utils/checkIfAttributeIsDisplayable.js +1 -1
- package/admin/src/content-manager/utils/formatLayoutToApi.js +2 -2
- package/admin/src/content-manager/utils/generatePermissionsObject.js +3 -2
- package/admin/src/content-manager/utils/getFieldName.js +2 -2
- package/admin/src/content-manager/utils/getMaxTempKey.js +2 -2
- package/admin/src/content-manager/utils/getRequestUrl.js +1 -1
- package/admin/src/content-manager/utils/getTrad.js +1 -1
- package/admin/src/content-manager/utils/mergeMetasWithSchema.js +2 -2
- package/admin/src/content-manager/utils/removeKeyInObject.js +1 -1
- package/admin/src/content-manager/utils/removePasswordFieldsFromData.js +2 -2
- package/admin/src/core/apis/Plugin.js +1 -1
- package/admin/src/core/store/configureStore.js +1 -1
- package/admin/src/core/store/createReducer.js +1 -1
- package/admin/src/core/utils/axiosInstance.js +4 -4
- package/admin/src/core/utils/createHook.js +2 -2
- package/admin/src/hooks/useFetchEnabledPlugins/index.js +3 -3
- package/admin/src/hooks/useFetchMarketplacePlugins/index.js +3 -3
- package/admin/src/hooks/useFetchMarketplacePlugins/utils/api.js +1 -1
- package/admin/src/hooks/useFetchMarketplaceProviders/index.js +3 -3
- package/admin/src/hooks/useFetchPermissionsLayout/index.js +1 -1
- package/admin/src/hooks/useFetchPermissionsLayout/reducer.js +1 -1
- package/admin/src/hooks/useFetchRole/index.js +4 -4
- package/admin/src/hooks/useFetchRole/reducer.js +1 -1
- package/admin/src/hooks/useMenu/reducer.js +1 -1
- package/admin/src/hooks/useMenu/utils/getGeneralLinks.js +3 -1
- package/admin/src/hooks/useModels/index.js +1 -1
- package/admin/src/hooks/useModels/reducer.js +3 -3
- package/admin/src/hooks/useRolesList/reducer.js +1 -1
- package/admin/src/hooks/useSettingsForm/index.js +2 -2
- package/admin/src/hooks/useSettingsForm/reducer.js +1 -1
- package/admin/src/hooks/useSettingsMenu/index.js +2 -2
- package/admin/src/hooks/useSettingsMenu/init.js +1 -1
- package/admin/src/hooks/useSettingsMenu/reducer.js +3 -3
- package/admin/src/hooks/useSettingsMenu/utils/formatLinks.js +3 -3
- package/admin/src/hooks/useSettingsMenu/utils/sortLinks.js +1 -1
- package/admin/src/index.js +1 -1
- package/admin/src/layouts/UnauthenticatedLayout/LocaleToggle/index.js +1 -1
- package/admin/src/pages/Admin/Onboarding/index.js +2 -2
- package/admin/src/pages/Admin/index.js +2 -2
- package/admin/src/pages/App/index.js +13 -5
- package/admin/src/pages/App/reducer.js +1 -1
- package/admin/src/pages/AuthPage/components/ForgotPassword/index.js +1 -1
- package/admin/src/pages/AuthPage/components/Login/BaseLogin.js +4 -4
- package/admin/src/pages/AuthPage/components/Login/index.js +2 -2
- package/admin/src/pages/AuthPage/components/Register/index.js +6 -6
- package/admin/src/pages/AuthPage/components/ResetPassword/index.js +5 -5
- package/admin/src/pages/AuthPage/init.js +1 -1
- package/admin/src/pages/AuthPage/reducer.js +1 -1
- package/admin/src/pages/AuthPage/utils/forms.js +2 -8
- package/admin/src/pages/HomePage/ContentBlocks.js +1 -1
- package/admin/src/pages/HomePage/SocialLinks.js +1 -1
- package/admin/src/pages/HomePage/index.js +3 -3
- package/admin/src/pages/InstalledPluginsPage/Plugins.js +1 -1
- package/admin/src/pages/MarketplacePage/components/NpmPackagesGrid/index.js +2 -2
- package/admin/src/pages/MarketplacePage/index.js +6 -10
- package/admin/src/pages/ProfilePage/index.js +20 -23
- package/admin/src/pages/ProfilePage/utils/api.js +1 -1
- package/admin/src/pages/SettingsPage/components/SettingsNav/index.js +4 -4
- package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/index.js +2 -2
- package/admin/src/pages/SettingsPage/pages/ApiTokens/ListView/DynamicTable/index.js +8 -6
- package/admin/src/pages/SettingsPage/pages/ApiTokens/ListView/index.js +25 -13
- package/admin/src/pages/SettingsPage/pages/ApiTokens/ListView/utils/tableHeaders.js +16 -4
- package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/Form/index.js +1 -1
- package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/Form/reducer.js +1 -1
- package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoInput/index.js +1 -1
- package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoInput/reducer.js +1 -1
- package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/FromComputerForm.js +1 -1
- package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/FromUrlForm.js +2 -2
- package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/index.js +1 -1
- package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/reducer.js +1 -1
- package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/index.js +4 -4
- package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/utils/api.js +1 -1
- package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/utils/getFormData.js +1 -1
- package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/utils/parseFileMetadatas.js +4 -4
- package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/utils/prefixAllUrls.js +1 -1
- package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/utils/urlToFile.js +1 -1
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ConditionsModal/ActionRow/index.js +4 -4
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ConditionsModal/index.js +2 -2
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/Collapse/index.js +5 -8
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/Collapse/utils/generateCheckboxesActions.js +1 -1
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/ActionRow/index.js +3 -3
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/ActionRow/utils/getRowLabelCheckboxeState.js +1 -1
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/Header/index.js +1 -1
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/SubActionRow/index.js +8 -12
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/utils/generateHeadersFromActions.js +1 -1
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/utils/activeStyle.js +1 -1
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/utils/getAvailableActions.js +1 -1
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapses/index.js +1 -1
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Curve/index.js +1 -1
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/GlobalActions/index.js +1 -1
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/GlobalActions/utils/findDisplayedActions.js +1 -1
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/GlobalActions/utils/getRowLabelCheckboxesState.js +2 -2
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/index.js +9 -8
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/reducer.js +4 -4
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/createDefaultCTFormFromLayout.js +1 -1
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/findMatchingPermissions.js +1 -1
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/formatContentTypesPermissionToAPI.js +2 -2
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/formatLayoutForSettingsAndPlugins.js +1 -1
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/formatPermissionsToAPI.js +1 -1
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/formatSettingsPermissionsToAPI.js +4 -4
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/updateConditionsToFalse.js +2 -2
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/PluginsAndSettings/SubCategory/index.js +5 -8
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/PluginsAndSettings/SubCategory/utils/formatActions.js +2 -2
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/PluginsAndSettings/SubCategory/utils/getConditionsButtonState.js +2 -2
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/PluginsAndSettings/index.js +1 -1
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/RoleForm/index.js +67 -69
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/RowLabelWithCheckbox/index.js +4 -3
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/utils/createArrayOfValues.js +2 -2
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/utils/getCheckboxState.js +3 -3
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/utils/removeConditionKeyFromData.js +1 -1
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/index.js +58 -60
- package/admin/src/pages/SettingsPage/pages/Roles/ListPage/index.js +6 -10
- package/admin/src/pages/SettingsPage/pages/Users/EditPage/index.js +3 -3
- package/admin/src/pages/SettingsPage/pages/Users/EditPage/utils/api.js +1 -1
- package/admin/src/pages/SettingsPage/pages/Users/ListPage/DynamicTable/TableRows/index.js +4 -4
- package/admin/src/pages/SettingsPage/pages/Users/ListPage/Filters/index.js +1 -1
- package/admin/src/pages/SettingsPage/pages/Users/ListPage/ModalForm/index.js +8 -8
- package/admin/src/pages/SettingsPage/pages/Users/ListPage/ModalForm/utils/schema.js +2 -8
- package/admin/src/pages/SettingsPage/pages/Users/ListPage/index.js +17 -11
- package/admin/src/pages/SettingsPage/pages/Users/ListPage/utils/api.js +1 -1
- package/admin/src/pages/SettingsPage/pages/Users/ListPage/utils/tableHeaders.js +46 -14
- package/admin/src/pages/SettingsPage/pages/Users/components/SelectRoles/index.js +2 -2
- package/admin/src/pages/SettingsPage/pages/Users/utils/validations/users/profile.js +1 -5
- package/admin/src/pages/SettingsPage/pages/Users/utils/validations/users/roles.js +1 -4
- package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/EventInput/EventRow.js +5 -5
- package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/EventInput/index.js +4 -4
- package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/EventInput/utils/formatValue.js +1 -1
- package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/HeadersInput/Combobox.js +4 -4
- package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/TriggerContainer/index.js +1 -1
- package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/utils/fieldsRegex.js +2 -2
- package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/utils/schema.js +1 -1
- package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/index.js +9 -9
- package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/reducer.js +2 -2
- package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/utils/formatData.js +2 -2
- package/admin/src/pages/SettingsPage/pages/Webhooks/ListView/index.js +6 -6
- package/admin/src/pages/SettingsPage/pages/Webhooks/ListView/reducer.js +4 -4
- package/admin/src/pages/SettingsPage/utils/createSectionsRoutes.js +3 -3
- package/admin/src/pages/SettingsPage/utils/defaultRoutes.js +12 -12
- package/admin/src/pages/SettingsPage/utils/getSectionsToDisplay.js +2 -2
- package/admin/src/pages/UseCasePage/index.js +2 -2
- package/admin/src/shared/components/InjectionZone/index.js +1 -1
- package/admin/src/shared/hooks/useInjectionZone/index.js +1 -1
- package/admin/src/translations/ca.json +4 -4
- package/admin/src/translations/de.json +4 -4
- package/admin/src/translations/dk.json +4 -4
- package/admin/src/translations/en.json +16 -15
- package/admin/src/translations/es.json +163 -6
- package/admin/src/translations/fr.json +4 -4
- package/admin/src/translations/gu.json +4 -4
- package/admin/src/translations/he.json +3 -3
- package/admin/src/translations/hi.json +4 -4
- package/admin/src/translations/hu.json +4 -4
- package/admin/src/translations/id.json +4 -4
- package/admin/src/translations/it.json +4 -4
- package/admin/src/translations/ja.json +4 -4
- package/admin/src/translations/ko.json +4 -4
- package/admin/src/translations/ml.json +4 -4
- package/admin/src/translations/nl.json +4 -4
- package/admin/src/translations/no.json +3 -3
- package/admin/src/translations/pl.json +4 -4
- package/admin/src/translations/pt-BR.json +177 -24
- package/admin/src/translations/ru.json +4 -4
- package/admin/src/translations/sa.json +4 -4
- package/admin/src/translations/sk.json +4 -4
- package/admin/src/translations/sv.json +665 -11
- package/admin/src/translations/th.json +3 -3
- package/admin/src/translations/zh-Hans.json +12 -15
- package/admin/src/translations/zh.json +4 -4
- package/admin/src/utils/getAttributesToDisplay.js +1 -1
- package/admin/src/utils/getExistingActions.js +2 -2
- package/admin/src/utils/getFullName.js +1 -1
- package/admin/src/utils/getRequestUrl.js +1 -1
- package/admin/src/utils/makeUniqueRoutes.js +2 -2
- package/admin/src/utils/sortLinks.js +1 -1
- package/build/{1669.0551026a.chunk.js → 1669.4ce92b2f.chunk.js} +1 -1
- package/build/{6925.fb35248e.chunk.js → 6925.f5c8b6fc.chunk.js} +4 -4
- package/build/{7866.29d1f169.chunk.js → 7866.22e3c9f8.chunk.js} +1 -1
- package/build/8773.4e36117f.chunk.js +325 -0
- package/build/Admin-authenticatedApp.a8659dc6.chunk.js +80 -0
- package/build/Admin_InternalErrorPage.12e24216.chunk.js +1 -0
- package/build/{Admin_marketplace.0b758aac.chunk.js → Admin_marketplace.2d181ad7.chunk.js} +1 -1
- package/build/Admin_pluginsPage.4d59785a.chunk.js +1 -0
- package/build/Admin_profilePage.8617313a.chunk.js +15 -0
- package/build/Admin_settingsPage.e58753c8.chunk.js +178 -0
- package/build/admin-app.05edc328.chunk.js +112 -0
- package/build/admin-edit-roles-page.554ba3fa.chunk.js +1 -0
- package/build/admin-edit-users.5bebf473.chunk.js +10 -0
- package/build/admin-users.1d0aa7a0.chunk.js +11 -0
- package/build/{api-tokens-create-page.442e3be0.chunk.js → api-tokens-create-page.b4a9987d.chunk.js} +1 -1
- package/build/{api-tokens-edit-page.5f34eec7.chunk.js → api-tokens-edit-page.6f5b4e26.chunk.js} +1 -1
- package/build/api-tokens-list-page.06938769.chunk.js +15 -0
- package/build/ca-json.d16c1d28.chunk.js +1 -0
- package/build/content-manager.62390771.chunk.js +1178 -0
- package/build/{content-type-builder-list-view.4a704844.chunk.js → content-type-builder-list-view.76a69473.chunk.js} +9 -9
- package/build/content-type-builder-translation-pt-BR-json.d6c7fcc1.chunk.js +1 -0
- package/build/content-type-builder.42cecba9.chunk.js +142 -0
- package/build/de-json.a9b514dc.chunk.js +1 -0
- package/build/dk-json.09e8d145.chunk.js +1 -0
- package/build/en-json.1bf20384.chunk.js +1 -0
- package/build/es-json.bb1fc425.chunk.js +1 -0
- package/build/fr-json.a3cf2e0b.chunk.js +1 -0
- package/build/gu-json.d8311297.chunk.js +1 -0
- package/build/he-json.3b825d80.chunk.js +1 -0
- package/build/hi-json.0edb8d29.chunk.js +1 -0
- package/build/hu-json.7855529a.chunk.js +1 -0
- package/build/i18n-settings-page.bf1304b0.chunk.js +101 -0
- package/build/i18n-translation-fr-json.b401aa34.chunk.js +1 -0
- package/build/id-json.df9618f2.chunk.js +1 -0
- package/build/index.html +1 -1
- package/build/it-json.a21bf078.chunk.js +1 -0
- package/build/ja-json.7b0d9067.chunk.js +1 -0
- package/build/ko-json.983c1f8f.chunk.js +1 -0
- package/build/main.f220d4d1.js +9321 -0
- package/build/ml-json.8dd021c8.chunk.js +1 -0
- package/build/nl-json.29d2eb37.chunk.js +1 -0
- package/build/no-json.40386397.chunk.js +1 -0
- package/build/pl-json.1f04f00c.chunk.js +1 -0
- package/build/pt-BR-json.b4bc8efe.chunk.js +1 -0
- package/build/ru-json.7ab40ccf.chunk.js +1 -0
- package/build/{runtime~main.3dfda620.js → runtime~main.a3bde347.js} +2 -2
- package/build/sa-json.c5a9f4ea.chunk.js +1 -0
- package/build/sk-json.e4c24c4e.chunk.js +1 -0
- package/build/sv-json.c3f471ae.chunk.js +1 -0
- package/build/th-json.a59ffb32.chunk.js +1 -0
- package/build/upload-translation-es-json.0f90db48.chunk.js +1 -0
- package/build/{upload-translation-th-json.64dd70ce.chunk.js → upload-translation-th-json.9e1fda51.chunk.js} +1 -1
- package/build/upload.7084cea6.chunk.js +7 -0
- package/build/{users-advanced-settings-page.f38654fc.chunk.js → users-advanced-settings-page.f11c8af4.chunk.js} +1 -1
- package/build/{users-email-settings-page.899e7fbd.chunk.js → users-email-settings-page.73c41236.chunk.js} +1 -1
- package/build/{users-providers-settings-page.a0b0fe39.chunk.js → users-providers-settings-page.f8e78537.chunk.js} +1 -1
- package/build/users-roles-settings-page.cafb4fe5.chunk.js +30 -0
- package/build/{webhook-edit-page.3417d93c.chunk.js → webhook-edit-page.9aba79b2.chunk.js} +3 -3
- package/build/zh-Hans-json.77a42bc5.chunk.js +1 -0
- package/build/zh-json.451a0271.chunk.js +1 -0
- package/ee/admin/hooks/useAuthProviders/reducer.js +1 -1
- package/ee/admin/pages/AuthPage/components/Login/index.js +2 -2
- package/ee/admin/pages/AuthPage/components/Providers/SSOProviders.js +3 -3
- package/ee/admin/pages/SettingsPage/SingleSignOn/index.js +3 -3
- package/ee/admin/pages/SettingsPage/pages/Roles/CreatePage/index.js +11 -9
- package/ee/admin/pages/SettingsPage/pages/Roles/ListPage/index.js +8 -8
- package/ee/admin/pages/SettingsPage/pages/Roles/ListPage/reducer.js +1 -1
- package/ee/admin/pages/SettingsPage/utils/customRoutes.js +1 -1
- package/ee/server/controllers/authentication/middlewares.js +1 -1
- package/ee/server/controllers/authentication/utils.js +1 -1
- package/ee/server/controllers/role.js +4 -4
- package/ee/server/services/passport/provider-registry.js +1 -1
- package/ee/server/services/passport/sso.js +1 -1
- package/ee/server/services/passport.js +1 -1
- package/ee/server/services/role.js +1 -1
- package/ee/server/validation/authentication.js +1 -1
- package/ee/server/validation/role.js +3 -6
- package/ee/server/validation/user.js +1 -1
- package/env.js +2 -2
- package/index.js +2 -2
- package/jest.config.front.js +3 -1
- package/package.json +24 -15
- package/scripts/build.js +2 -2
- package/scripts/create-dev-plugins-file.js +5 -7
- package/scripts/create-plugins-file.js +2 -2
- package/server/config/admin-conditions.js +3 -3
- package/server/controllers/admin.js +1 -1
- package/server/controllers/authentication.js +1 -1
- package/server/controllers/formatters/format-actions-by-sections.js +8 -5
- package/server/controllers/role.js +1 -1
- package/server/controllers/user.js +1 -1
- package/server/controllers/webhooks.js +6 -16
- package/server/domain/action/index.js +3 -3
- package/server/domain/action/provider.js +2 -2
- package/server/domain/condition/index.js +2 -2
- package/server/domain/condition/provider.js +1 -1
- package/server/domain/permission/index.js +3 -3
- package/server/domain/user.js +2 -2
- package/server/policies/hasPermissions.js +5 -5
- package/server/policies/isAuthenticatedAdmin.js +1 -1
- package/server/routes/serve-admin-panel.js +1 -1
- package/server/services/action.js +1 -1
- package/server/services/api-token.js +5 -5
- package/server/services/auth.js +2 -2
- package/server/services/condition.js +1 -1
- package/server/services/content-type.js +5 -3
- package/server/services/passport/local-strategy.js +2 -2
- package/server/services/passport.js +2 -4
- package/server/services/permission/engine-hooks.js +1 -1
- package/server/services/permission/engine.js +9 -9
- package/server/services/permission/permissions-manager/query-builers.js +5 -5
- package/server/services/permission/permissions-manager/sanitize.js +6 -10
- package/server/services/permission/queries.js +12 -13
- package/server/services/permission/sections-builder/handlers.js +21 -19
- package/server/services/permission/sections-builder/section.js +2 -2
- package/server/services/permission/sections-builder/utils.js +5 -5
- package/server/services/project-settings.js +9 -12
- package/server/services/role.js +15 -13
- package/server/services/token.js +2 -2
- package/server/services/user.js +11 -11
- package/server/strategies/admin.js +1 -1
- package/server/strategies/api-token.js +3 -3
- package/server/utils/index.js +1 -1
- package/server/validation/action-provider.js +6 -12
- package/server/validation/api-tokens.js +4 -16
- package/server/validation/authentication/renew-token.js +1 -5
- package/server/validation/common-functions/check-fields-are-correctly-nested.js +5 -3
- package/server/validation/common-functions/check-fields-dont-have-duplicates.js +3 -2
- package/server/validation/common-validators.js +74 -71
- package/server/validation/permission.js +13 -13
- package/server/validation/policies/hasPermissions.js +2 -6
- package/server/validation/user.js +1 -5
- package/utils/create-cache-dir.js +3 -3
- package/utils/get-custom-app-config-file.js +3 -3
- package/utils/get-plugins-path.js +3 -2
- package/utils/should-build-admin.js +4 -4
- package/webpack.config.js +2 -7
- package/build/8773.c190837d.chunk.js +0 -330
- package/build/Admin-authenticatedApp.380e5e99.chunk.js +0 -80
- package/build/Admin_InternalErrorPage.25c53284.chunk.js +0 -1
- package/build/Admin_pluginsPage.0992c2b5.chunk.js +0 -1
- package/build/Admin_profilePage.35ce8e94.chunk.js +0 -15
- package/build/Admin_settingsPage.76ee4c17.chunk.js +0 -178
- package/build/admin-app.93ff2e38.chunk.js +0 -112
- package/build/admin-edit-roles-page.358d98c1.chunk.js +0 -1
- package/build/admin-edit-users.7d9cf406.chunk.js +0 -10
- package/build/admin-users.bb3a8eb6.chunk.js +0 -11
- package/build/api-tokens-list-page.5ea3f6ce.chunk.js +0 -15
- package/build/ca-json.0097e443.chunk.js +0 -1
- package/build/content-manager.55791f82.chunk.js +0 -1178
- package/build/content-type-builder-translation-pt-BR-json.5739a2aa.chunk.js +0 -1
- package/build/content-type-builder.f48a28f9.chunk.js +0 -142
- package/build/de-json.0b92acd2.chunk.js +0 -1
- package/build/dk-json.9f1bc016.chunk.js +0 -1
- package/build/en-json.6d70e9ff.chunk.js +0 -1
- package/build/es-json.2a5a9fc1.chunk.js +0 -1
- package/build/fr-json.84064a0b.chunk.js +0 -1
- package/build/gu-json.dafa6f0d.chunk.js +0 -1
- package/build/he-json.d40da459.chunk.js +0 -1
- package/build/hi-json.b4ae16d1.chunk.js +0 -1
- package/build/hu-json.c81ce352.chunk.js +0 -1
- package/build/i18n-settings-page.9d426e96.chunk.js +0 -101
- package/build/i18n-translation-fr-json.0839d68d.chunk.js +0 -1
- package/build/id-json.fad45d17.chunk.js +0 -1
- package/build/it-json.12df4cdf.chunk.js +0 -1
- package/build/ja-json.850237e9.chunk.js +0 -1
- package/build/ko-json.2f3d256e.chunk.js +0 -1
- package/build/main.66ef8611.js +0 -9317
- package/build/ml-json.dc946c7f.chunk.js +0 -1
- package/build/nl-json.465b173f.chunk.js +0 -1
- package/build/no-json.e8749dd4.chunk.js +0 -1
- package/build/pl-json.4d11f53d.chunk.js +0 -1
- package/build/pt-BR-json.6301d49b.chunk.js +0 -1
- package/build/ru-json.28147733.chunk.js +0 -1
- package/build/sa-json.be504091.chunk.js +0 -1
- package/build/sk-json.5b33afc2.chunk.js +0 -1
- package/build/sv-json.cdcac02d.chunk.js +0 -1
- package/build/th-json.3aadaec6.chunk.js +0 -1
- package/build/upload-translation-es-json.6b1813b6.chunk.js +0 -1
- package/build/upload.0af4feca.chunk.js +0 -7
- package/build/users-roles-settings-page.1206751f.chunk.js +0 -30
- package/build/zh-Hans-json.eac1d90a.chunk.js +0 -1
- package/build/zh-json.96bf6019.chunk.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[2282],{51509:(ee,S,s)=>{s.r(S),s.d(S,{ProvidersPage:()=>he,default:()=>Ke});var e=s(32735),R=s(5636),i=s(88425),j=s(23973),Z=s.n(j),I=s(23940),w=s.n(I),f=s(16925),y=s(11856),E=s(16540),F=s(29270),u=s(53214),b=s(95602),B=s(28004),T=s(20763),L=s(95717),x=s.n(L),W=s(84968),o=s(5173),c=s(59677);const te={id:(0,c.OB)("PopUpForm.Providers.redirectURL.front-end.label"),defaultMessage:"The redirect URL to your front-end app"},re={id:"http://www.client-app.com",defaultMessage:"http://www.client-app.com"},H={id:(0,c.OB)("PopUpForm.Providers.enabled.description"),defaultMessage:"If disabled, users won't be able to use this provider."},V={id:(0,c.OB)("PopUpForm.Providers.enabled.label"),defaultMessage:"Enable"},ae={id:(0,c.OB)("PopUpForm.Providers.key.label"),defaultMessage:"Client ID"},se={id:(0,c.OB)("PopUpForm.Providers.redirectURL.label"),defaultMessage:"The redirect URL to add in your {provider} application configurations"},A={id:(0,c.OB)("PopUpForm.Providers.key.placeholder"),defaultMessage:"TEXT"},ne={id:(0,c.OB)("PopUpForm.Providers.secret.label"),defaultMessage:"Client Secret"},G={email:{form:[[{intlLabel:V,name:"enabled",type:"bool",description:H,size:6}]],schema:o.Ry().shape({enabled:o.Xg().required(i.translatedErrors.required)})},providers:{form:[[{intlLabel:V,name:"enabled",type:"bool",description:H,size:6,validations:{required:!0}}],[{intlLabel:ae,name:"key",type:"text",placeholder:A,size:12,validations:{required:!0}}],[{intlLabel:ne,name:"secret",type:"text",placeholder:A,size:12,validations:{required:!0}}],[{intlLabel:te,placeholder:re,name:"callback",type:"text",size:12,validations:{required:!0}}],[{intlLabel:se,name:"noName",type:"text",validations:{},size:12,disabled:!0}]],schema:o.Ry().shape({enabled:o.Xg().required(i.translatedErrors.required),key:o.Z_().when("enabled",{is:!0,then:o.Z_().required(i.translatedErrors.required),otherwise:o.Z_()}),secret:o.Z_().when("enabled",{is:!0,then:o.Z_().required(i.translatedErrors.required),otherwise:o.Z_()}),callback:o.Z_().when("enabled",{is:!0,then:o.Z_().required(i.translatedErrors.required),otherwise:o.Z_()})})},providersWithSubdomain:{form:[[{intlLabel:V,name:"enabled",type:"bool",description:H,size:6,validations:{required:!0}}],[{intlLabel:ae,name:"key",type:"text",placeholder:A,size:12,validations:{required:!0}}],[{intlLabel:ne,name:"secret",type:"text",placeholder:A,size:12,validations:{required:!0}}],[{intlLabel:{id:(0,c.OB)("PopUpForm.Providers.subdomain.label"),defaultMessage:"Host URI (Subdomain)"},name:"subdomain",type:"text",placeholder:{id:(0,c.OB)("PopUpForm.Providers.subdomain.placeholder"),defaultMessage:"my.subdomain.com"},size:12,validations:{required:!0}}],[{intlLabel:te,placeholder:re,name:"callback",type:"text",size:12,validations:{required:!0}}],[{intlLabel:se,name:"noName",type:"text",validations:{},size:12,disabled:!0}]],schema:o.Ry().shape({enabled:o.Xg().required(i.translatedErrors.required),key:o.Z_().when("enabled",{is:!0,then:o.Z_().required(i.translatedErrors.required),otherwise:o.Z_()}),secret:o.Z_().when("enabled",{is:!0,then:o.Z_().required(i.translatedErrors.required),otherwise:o.Z_()}),subdomain:o.Z_().when("enabled",{is:!0,then:o.Z_().required(i.translatedErrors.required),otherwise:o.Z_()}),callback:o.Z_().when("enabled",{is:!0,then:o.Z_().required(i.translatedErrors.required),otherwise:o.Z_()})})}};var be=(t,r,a)=>new Promise((g,m)=>{var P=d=>{try{h(a.next(d))}catch(l){m(l)}},p=d=>{try{h(a.throw(d))}catch(l){m(l)}},h=d=>d.done?g(d.value):Promise.resolve(d.value).then(P,p);h((a=a.apply(t,r)).next())});const Ee=t=>be(void 0,null,function*(){try{const{data:r}=yield c.be.get((0,c.Gc)("providers"));return r}catch(r){throw t({type:"warning",message:{id:"notification.error"}}),new Error("error")}}),Oe=t=>c.be.put((0,c.Gc)("providers"),t);var Me=s(92891);const Te=t=>(0,Me.sortBy)(Object.keys(t).reduce((r,a)=>{const{icon:g,enabled:m,subdomain:P}=t[a],p=g==="envelope"?["fas","envelope"]:["fab",g];return P!==void 0?r.push({name:a,icon:p,enabled:m,subdomain:P}):r.push({name:a,icon:p,enabled:m}),r},[]),"name");var oe=s(88369),le=s(44526),Le=s(90662),ie=s(71657),de=s(78330),N=s(4122),Re=s(60216),n=s.n(Re),Be=s(83281),Ce=s(63865),Se=s(37178),Ie=Object.defineProperty,ue=Object.getOwnPropertySymbols,Fe=Object.prototype.hasOwnProperty,Ue=Object.prototype.propertyIsEnumerable,ce=(t,r,a)=>r in t?Ie(t,r,{enumerable:!0,configurable:!0,writable:!0,value:a}):t[r]=a,X=(t,r)=>{for(var a in r||(r={}))Fe.call(r,a)&&ce(t,a,r[a]);if(ue)for(var a of ue(r))Ue.call(r,a)&&ce(t,a,r[a]);return t};const $=({description:t,disabled:r,intlLabel:a,error:g,name:m,onChange:P,placeholder:p,providerToEditName:h,type:d,value:l})=>{const{formatMessage:O}=(0,R.useIntl)(),C=m==="noName"?`${strapi.backendURL}/api/connect/${h}/callback`:l,U=O({id:a.id,defaultMessage:a.defaultMessage},X({provider:h},a.values)),M=t?O({id:t.id,defaultMessage:t.defaultMessage},X({provider:h},t.values)):"";if(d==="bool")return e.createElement(Ce.ToggleInput,{"aria-label":m,checked:l,disabled:r,hint:M,label:U,name:m,offLabel:O({id:"app.components.ToggleCheckbox.off-label",defaultMessage:"Off"}),onLabel:O({id:"app.components.ToggleCheckbox.on-label",defaultMessage:"On"}),onChange:D=>{P({target:{name:m,value:D.target.checked}})}});const k=p?O({id:p.id,defaultMessage:p.defaultMessage},X({},p.values)):"",Y=g?O({id:g,defaultMessage:g}):"";return e.createElement(Se.TextInput,{"aria-label":m,disabled:r,error:Y,label:U,name:m,onChange:P,placeholder:k,type:d,value:C})};$.defaultProps={description:null,disabled:!1,error:"",placeholder:null,value:""},$.propTypes={description:n().shape({id:n().string.isRequired,defaultMessage:n().string.isRequired,values:n().object}),disabled:n().bool,error:n().string,intlLabel:n().shape({id:n().string.isRequired,defaultMessage:n().string.isRequired,values:n().object}).isRequired,name:n().string.isRequired,onChange:n().func.isRequired,placeholder:n().shape({id:n().string.isRequired,defaultMessage:n().string.isRequired,values:n().object}),providerToEditName:n().string.isRequired,type:n().string.isRequired,value:n().oneOfType([n().bool,n().string])};const Ze=$;var we=Object.defineProperty,xe=Object.defineProperties,De=Object.getOwnPropertyDescriptors,me=Object.getOwnPropertySymbols,je=Object.prototype.hasOwnProperty,Ae=Object.prototype.propertyIsEnumerable,pe=(t,r,a)=>r in t?we(t,r,{enumerable:!0,configurable:!0,writable:!0,value:a}):t[r]=a,Ne=(t,r)=>{for(var a in r||(r={}))je.call(r,a)&&pe(t,a,r[a]);if(me)for(var a of me(r))Ae.call(r,a)&&pe(t,a,r[a]);return t},ze=(t,r)=>xe(t,De(r));const K=({headerBreadcrumbs:t,initialData:r,isSubmiting:a,layout:g,isOpen:m,onSubmit:P,onToggle:p,providerToEditName:h})=>{const{formatMessage:d}=(0,R.useIntl)();return m?e.createElement(N.ModalLayout,{onClose:p,labelledBy:"title"},e.createElement(N.ModalHeader,null,e.createElement(ie.Breadcrumbs,{label:t.join(", ")},t.map(l=>e.createElement(ie.Crumb,{key:l},l)))),e.createElement(Be.Formik,{onSubmit:l=>P(l),initialValues:r,validationSchema:g.schema,validateOnChange:!1},({errors:l,handleChange:O,values:C})=>e.createElement(i.Form,null,e.createElement(N.ModalBody,null,e.createElement(Le.Stack,{spacing:1},e.createElement(de.Grid,{gap:5},g.form.map(U=>U.map(M=>e.createElement(de.GridItem,{key:M.name,col:M.size,xs:12},e.createElement(Ze,ze(Ne({},M),{error:l[M.name],onChange:O,value:C[M.name],providerToEditName:h})))))))),e.createElement(N.ModalFooter,{startActions:e.createElement(le.Button,{variant:"tertiary",onClick:p,type:"button"},d({id:"app.components.Button.cancel",defaultMessage:"Cancel"})),endActions:e.createElement(e.Fragment,null,e.createElement(le.Button,{type:"submit",loading:a},d({id:"global.save",defaultMessage:"Save"})))})))):null};K.defaultProps={initialData:null,providerToEditName:null},K.propTypes={headerBreadcrumbs:n().arrayOf(n().string).isRequired,initialData:n().object,layout:n().shape({form:n().arrayOf(n().array),schema:n().object}).isRequired,isOpen:n().bool.isRequired,isSubmiting:n().bool.isRequired,onSubmit:n().func.isRequired,onToggle:n().func.isRequired,providerToEditName:n().string};const qe=K;var We=Object.defineProperty,He=Object.defineProperties,Ve=Object.getOwnPropertyDescriptors,ve=Object.getOwnPropertySymbols,Ge=Object.prototype.hasOwnProperty,Xe=Object.prototype.propertyIsEnumerable,fe=(t,r,a)=>r in t?We(t,r,{enumerable:!0,configurable:!0,writable:!0,value:a}):t[r]=a,Q=(t,r)=>{for(var a in r||(r={}))Ge.call(r,a)&&fe(t,a,r[a]);if(ve)for(var a of ve(r))Xe.call(r,a)&&fe(t,a,r[a]);return t},$e=(t,r)=>He(t,Ve(r)),ge=(t,r,a)=>new Promise((g,m)=>{var P=d=>{try{h(a.next(d))}catch(l){m(l)}},p=d=>{try{h(a.throw(d))}catch(l){m(l)}},h=d=>d.done?g(d.value):Promise.resolve(d.value).then(P,p);h((a=a.apply(t,r)).next())});const he=()=>{const{formatMessage:t}=(0,R.useIntl)();(0,i.useFocusWhenNavigate)();const{notifyStatus:r}=(0,F.useNotifyAT)(),a=(0,W.useQueryClient)(),{trackUsage:g}=(0,i.useTracking)(),m=(0,e.useRef)(g),[P,p]=(0,e.useState)(!1),[h,d]=(0,e.useState)(!1),[l,O]=(0,e.useState)(null),C=(0,i.useNotification)(),{lockApp:U,unlockApp:M}=(0,i.useOverlayBlocker)(),k=(0,e.useMemo)(()=>({update:oe.Z.updateProviders}),[]),{isLoading:Y,allowedActions:{canUpdate:D}}=(0,i.useRBAC)(k),{isLoading:Qe,data:z,isFetching:ke}=(0,W.useQuery)("get-providers",()=>Ee(C),{onSuccess:()=>{r(t({id:(0,c.OB)("Providers.data.loaded"),defaultMessage:"Providers have been loaded"}))},initialData:{}}),Ye=Qe||ke,Je=(0,W.useMutation)(Oe,{onSuccess:()=>ge(void 0,null,function*(){yield a.invalidateQueries("get-providers"),C({type:"info",message:{id:(0,c.OB)("notification.success.submit")}}),m.current("didEditAuthenticationProvider"),d(!1),J(),M()}),onError:()=>{C({type:"warning",message:{id:"notification.error"}}),M(),d(!1)},refetchActive:!1}),q=(0,e.useMemo)(()=>Te(z),[z]),_e=q.length,ye=(0,e.useMemo)(()=>{if(!l)return!1;const v=q.find(_=>_.name===l);return Z()(v,"subdomain")},[q,l]),et=t({id:(0,c.OB)("HeaderNav.link.providers"),defaultMessage:"Providers"}),tt=(0,e.useMemo)(()=>l==="email"?G.email:ye?G.providersWithSubdomain:G.providers,[l,ye]),J=()=>{p(v=>!v)},Pe=v=>{D&&(O(v.name),J())},rt=v=>ge(void 0,null,function*(){d(!0),U(),m.current("willEditAuthenticationProvider");const _=$e(Q({},z),{[l]:v});Je.mutate({providers:_})});return e.createElement(y.Layout,null,e.createElement(i.SettingsPageTitle,{name:et}),e.createElement(E.Main,null,e.createElement(y.HeaderLayout,{title:t({id:(0,c.OB)("HeaderNav.link.providers"),defaultMessage:"Providers"})}),Ye||Y?e.createElement(i.LoadingIndicatorPage,null):e.createElement(y.ContentLayout,null,e.createElement(u.Table,{colCount:4,rowCount:_e+1},e.createElement(u.Thead,null,e.createElement(u.Tr,null,e.createElement(u.Th,null,e.createElement(b.Typography,{variant:"sigma",textColor:"neutral600"},e.createElement(B.VisuallyHidden,null,t({id:(0,c.OB)("Providers.image"),defaultMessage:"Image"})))),e.createElement(u.Th,null,e.createElement(b.Typography,{variant:"sigma",textColor:"neutral600"},t({id:"global.name",defaultMessage:"Name"}))),e.createElement(u.Th,null,e.createElement(b.Typography,{variant:"sigma",textColor:"neutral600"},t({id:(0,c.OB)("Providers.status"),defaultMessage:"Status"}))),e.createElement(u.Th,null,e.createElement(b.Typography,{variant:"sigma"},e.createElement(B.VisuallyHidden,null,t({id:"global.settings",defaultMessage:"Settings"})))))),e.createElement(u.Tbody,null,q.map(v=>e.createElement(u.Tr,Q({key:v.name},(0,i.onRowClick)({fn:()=>Pe(v),condition:D})),e.createElement(u.Td,{width:""},e.createElement(f.G,{icon:v.icon})),e.createElement(u.Td,{width:"45%"},e.createElement(b.Typography,{fontWeight:"semiBold",textColor:"neutral800"},v.name)),e.createElement(u.Td,{width:"65%"},e.createElement(b.Typography,{textColor:v.enabled?"success600":"danger600","data-testid":`enable-${v.name}`},v.enabled?t({id:"global.enabled",defaultMessage:"Enabled"}):t({id:"global.disabled",defaultMessage:"Disabled"}))),e.createElement(u.Td,Q({},i.stopPropagation),D&&e.createElement(T.IconButton,{onClick:()=>Pe(v),noBorder:!0,icon:e.createElement(x(),null),label:"Edit"})))))))),e.createElement(qe,{initialData:z[l],isOpen:P,isSubmiting:h,layout:tt,headerBreadcrumbs:[t({id:(0,c.OB)("PopUpForm.header.edit.providers"),defaultMessage:"Edit Provider"}),w()(l)],onToggle:J,onSubmit:rt,providerToEditName:l}))},Ke=()=>e.createElement(i.CheckPagePermissions,{permissions:oe.Z.readProviders},e.createElement(he,null))},8917:(ee,S,s)=>{s.d(S,{Z:()=>w});var e=s(43653),R=s.n(e),i=s(88425),j=s.n(i),Z=(f,y,E)=>new Promise((F,u)=>{var b=L=>{try{T(E.next(L))}catch(x){u(x)}},B=L=>{try{T(E.throw(L))}catch(x){u(x)}},T=L=>L.done?F(L.value):Promise.resolve(L.value).then(b,B);T((E=E.apply(f,y)).next())});const I=R().create({baseURL:"http://localhost:1337"});I.interceptors.request.use(f=>Z(void 0,null,function*(){return f.headers={Authorization:`Bearer ${i.auth.getToken()}`,Accept:"application/json","Content-Type":"application/json"},f}),f=>{Promise.reject(f)}),I.interceptors.response.use(f=>f,f=>{var y;throw((y=f.response)==null?void 0:y.status)===401&&(i.auth.clearAppStorage(),window.location.reload()),f});const w=I},59677:(ee,S,s)=>{s.d(S,{be:()=>e.Z,YX:()=>j,Gc:()=>w,OB:()=>f.Z});var e=s(8917),R=s(92891);const j=y=>Object.keys(y).reduce((E,F)=>{const u=y[F].controllers,b=Object.keys(u).reduce((B,T)=>((0,R.isEmpty)(u[T])||(B[T]=u[T]),B),{});return(0,R.isEmpty)(b)||(E[F]={controllers:b}),E},{});var Z=s(90201);const w=y=>`/${Z.Z}/${y}`;var f=s(82069)}}]);
|
|
1
|
+
"use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[2282],{51509:(ee,S,s)=>{s.r(S),s.d(S,{ProvidersPage:()=>he,default:()=>Ke});var e=s(32735),R=s(5636),i=s(88425),j=s(23973),Z=s.n(j),I=s(23940),w=s.n(I),f=s(16925),y=s(11856),E=s(16540),F=s(29270),u=s(53214),b=s(95602),B=s(28004),T=s(20763),L=s(95717),x=s.n(L),W=s(84968),o=s(5173),c=s(59677);const te={id:(0,c.OB)("PopUpForm.Providers.redirectURL.front-end.label"),defaultMessage:"The redirect URL to your front-end app"},re={id:"http://www.client-app.com",defaultMessage:"http://www.client-app.com"},H={id:(0,c.OB)("PopUpForm.Providers.enabled.description"),defaultMessage:"If disabled, users won't be able to use this provider."},V={id:(0,c.OB)("PopUpForm.Providers.enabled.label"),defaultMessage:"Enable"},ae={id:(0,c.OB)("PopUpForm.Providers.key.label"),defaultMessage:"Client ID"},se={id:(0,c.OB)("PopUpForm.Providers.redirectURL.label"),defaultMessage:"The redirect URL to add in your {provider} application configurations"},A={id:(0,c.OB)("PopUpForm.Providers.key.placeholder"),defaultMessage:"TEXT"},ne={id:(0,c.OB)("PopUpForm.Providers.secret.label"),defaultMessage:"Client Secret"},G={email:{form:[[{intlLabel:V,name:"enabled",type:"bool",description:H,size:6}]],schema:o.Ry().shape({enabled:o.Xg().required(i.translatedErrors.required)})},providers:{form:[[{intlLabel:V,name:"enabled",type:"bool",description:H,size:6,validations:{required:!0}}],[{intlLabel:ae,name:"key",type:"text",placeholder:A,size:12,validations:{required:!0}}],[{intlLabel:ne,name:"secret",type:"text",placeholder:A,size:12,validations:{required:!0}}],[{intlLabel:te,placeholder:re,name:"callback",type:"text",size:12,validations:{required:!0}}],[{intlLabel:se,name:"noName",type:"text",validations:{},size:12,disabled:!0}]],schema:o.Ry().shape({enabled:o.Xg().required(i.translatedErrors.required),key:o.Z_().when("enabled",{is:!0,then:o.Z_().required(i.translatedErrors.required),otherwise:o.Z_()}),secret:o.Z_().when("enabled",{is:!0,then:o.Z_().required(i.translatedErrors.required),otherwise:o.Z_()}),callback:o.Z_().when("enabled",{is:!0,then:o.Z_().required(i.translatedErrors.required),otherwise:o.Z_()})})},providersWithSubdomain:{form:[[{intlLabel:V,name:"enabled",type:"bool",description:H,size:6,validations:{required:!0}}],[{intlLabel:ae,name:"key",type:"text",placeholder:A,size:12,validations:{required:!0}}],[{intlLabel:ne,name:"secret",type:"text",placeholder:A,size:12,validations:{required:!0}}],[{intlLabel:{id:(0,c.OB)("PopUpForm.Providers.subdomain.label"),defaultMessage:"Host URI (Subdomain)"},name:"subdomain",type:"text",placeholder:{id:(0,c.OB)("PopUpForm.Providers.subdomain.placeholder"),defaultMessage:"my.subdomain.com"},size:12,validations:{required:!0}}],[{intlLabel:te,placeholder:re,name:"callback",type:"text",size:12,validations:{required:!0}}],[{intlLabel:se,name:"noName",type:"text",validations:{},size:12,disabled:!0}]],schema:o.Ry().shape({enabled:o.Xg().required(i.translatedErrors.required),key:o.Z_().when("enabled",{is:!0,then:o.Z_().required(i.translatedErrors.required),otherwise:o.Z_()}),secret:o.Z_().when("enabled",{is:!0,then:o.Z_().required(i.translatedErrors.required),otherwise:o.Z_()}),subdomain:o.Z_().when("enabled",{is:!0,then:o.Z_().required(i.translatedErrors.required),otherwise:o.Z_()}),callback:o.Z_().when("enabled",{is:!0,then:o.Z_().required(i.translatedErrors.required),otherwise:o.Z_()})})}};var be=(t,r,a)=>new Promise((g,m)=>{var P=d=>{try{h(a.next(d))}catch(l){m(l)}},p=d=>{try{h(a.throw(d))}catch(l){m(l)}},h=d=>d.done?g(d.value):Promise.resolve(d.value).then(P,p);h((a=a.apply(t,r)).next())});const Ee=t=>be(void 0,null,function*(){try{const{data:r}=yield c.be.get((0,c.Gc)("providers"));return r}catch(r){throw t({type:"warning",message:{id:"notification.error"}}),new Error("error")}}),Oe=t=>c.be.put((0,c.Gc)("providers"),t);var Me=s(92891);const Te=t=>(0,Me.sortBy)(Object.keys(t).reduce((r,a)=>{const{icon:g,enabled:m,subdomain:P}=t[a],p=g==="envelope"?["fas","envelope"]:["fab",g];return P!==void 0?r.push({name:a,icon:p,enabled:m,subdomain:P}):r.push({name:a,icon:p,enabled:m}),r},[]),"name");var oe=s(88369),le=s(44526),Le=s(90662),ie=s(71657),de=s(78330),N=s(4122),Re=s(60216),n=s.n(Re),Be=s(83281),Ce=s(63865),Se=s(37178),Ie=Object.defineProperty,ue=Object.getOwnPropertySymbols,Fe=Object.prototype.hasOwnProperty,Ue=Object.prototype.propertyIsEnumerable,ce=(t,r,a)=>r in t?Ie(t,r,{enumerable:!0,configurable:!0,writable:!0,value:a}):t[r]=a,X=(t,r)=>{for(var a in r||(r={}))Fe.call(r,a)&&ce(t,a,r[a]);if(ue)for(var a of ue(r))Ue.call(r,a)&&ce(t,a,r[a]);return t};const $=({description:t,disabled:r,intlLabel:a,error:g,name:m,onChange:P,placeholder:p,providerToEditName:h,type:d,value:l})=>{const{formatMessage:O}=(0,R.useIntl)(),C=m==="noName"?`${strapi.backendURL}/api/connect/${h}/callback`:l,U=O({id:a.id,defaultMessage:a.defaultMessage},X({provider:h},a.values)),M=t?O({id:t.id,defaultMessage:t.defaultMessage},X({provider:h},t.values)):"";if(d==="bool")return e.createElement(Ce.ToggleInput,{"aria-label":m,checked:l,disabled:r,hint:M,label:U,name:m,offLabel:O({id:"app.components.ToggleCheckbox.off-label",defaultMessage:"Off"}),onLabel:O({id:"app.components.ToggleCheckbox.on-label",defaultMessage:"On"}),onChange:D=>{P({target:{name:m,value:D.target.checked}})}});const k=p?O({id:p.id,defaultMessage:p.defaultMessage},X({},p.values)):"",Y=g?O({id:g,defaultMessage:g}):"";return e.createElement(Se.TextInput,{"aria-label":m,disabled:r,error:Y,label:U,name:m,onChange:P,placeholder:k,type:d,value:C})};$.defaultProps={description:null,disabled:!1,error:"",placeholder:null,value:""},$.propTypes={description:n().shape({id:n().string.isRequired,defaultMessage:n().string.isRequired,values:n().object}),disabled:n().bool,error:n().string,intlLabel:n().shape({id:n().string.isRequired,defaultMessage:n().string.isRequired,values:n().object}).isRequired,name:n().string.isRequired,onChange:n().func.isRequired,placeholder:n().shape({id:n().string.isRequired,defaultMessage:n().string.isRequired,values:n().object}),providerToEditName:n().string.isRequired,type:n().string.isRequired,value:n().oneOfType([n().bool,n().string])};const Ze=$;var we=Object.defineProperty,xe=Object.defineProperties,De=Object.getOwnPropertyDescriptors,me=Object.getOwnPropertySymbols,je=Object.prototype.hasOwnProperty,Ae=Object.prototype.propertyIsEnumerable,pe=(t,r,a)=>r in t?we(t,r,{enumerable:!0,configurable:!0,writable:!0,value:a}):t[r]=a,Ne=(t,r)=>{for(var a in r||(r={}))je.call(r,a)&&pe(t,a,r[a]);if(me)for(var a of me(r))Ae.call(r,a)&&pe(t,a,r[a]);return t},ze=(t,r)=>xe(t,De(r));const K=({headerBreadcrumbs:t,initialData:r,isSubmiting:a,layout:g,isOpen:m,onSubmit:P,onToggle:p,providerToEditName:h})=>{const{formatMessage:d}=(0,R.useIntl)();return m?e.createElement(N.ModalLayout,{onClose:p,labelledBy:"title"},e.createElement(N.ModalHeader,null,e.createElement(ie.Breadcrumbs,{label:t.join(", ")},t.map(l=>e.createElement(ie.Crumb,{key:l},l)))),e.createElement(Be.Formik,{onSubmit:l=>P(l),initialValues:r,validationSchema:g.schema,validateOnChange:!1},({errors:l,handleChange:O,values:C})=>e.createElement(i.Form,null,e.createElement(N.ModalBody,null,e.createElement(Le.Stack,{spacing:1},e.createElement(de.Grid,{gap:5},g.form.map(U=>U.map(M=>e.createElement(de.GridItem,{key:M.name,col:M.size,xs:12},e.createElement(Ze,ze(Ne({},M),{error:l[M.name],onChange:O,value:C[M.name],providerToEditName:h})))))))),e.createElement(N.ModalFooter,{startActions:e.createElement(le.Button,{variant:"tertiary",onClick:p,type:"button"},d({id:"app.components.Button.cancel",defaultMessage:"Cancel"})),endActions:e.createElement(le.Button,{type:"submit",loading:a},d({id:"global.save",defaultMessage:"Save"}))})))):null};K.defaultProps={initialData:null,providerToEditName:null},K.propTypes={headerBreadcrumbs:n().arrayOf(n().string).isRequired,initialData:n().object,layout:n().shape({form:n().arrayOf(n().array),schema:n().object}).isRequired,isOpen:n().bool.isRequired,isSubmiting:n().bool.isRequired,onSubmit:n().func.isRequired,onToggle:n().func.isRequired,providerToEditName:n().string};const qe=K;var We=Object.defineProperty,He=Object.defineProperties,Ve=Object.getOwnPropertyDescriptors,ve=Object.getOwnPropertySymbols,Ge=Object.prototype.hasOwnProperty,Xe=Object.prototype.propertyIsEnumerable,fe=(t,r,a)=>r in t?We(t,r,{enumerable:!0,configurable:!0,writable:!0,value:a}):t[r]=a,Q=(t,r)=>{for(var a in r||(r={}))Ge.call(r,a)&&fe(t,a,r[a]);if(ve)for(var a of ve(r))Xe.call(r,a)&&fe(t,a,r[a]);return t},$e=(t,r)=>He(t,Ve(r)),ge=(t,r,a)=>new Promise((g,m)=>{var P=d=>{try{h(a.next(d))}catch(l){m(l)}},p=d=>{try{h(a.throw(d))}catch(l){m(l)}},h=d=>d.done?g(d.value):Promise.resolve(d.value).then(P,p);h((a=a.apply(t,r)).next())});const he=()=>{const{formatMessage:t}=(0,R.useIntl)();(0,i.useFocusWhenNavigate)();const{notifyStatus:r}=(0,F.useNotifyAT)(),a=(0,W.useQueryClient)(),{trackUsage:g}=(0,i.useTracking)(),m=(0,e.useRef)(g),[P,p]=(0,e.useState)(!1),[h,d]=(0,e.useState)(!1),[l,O]=(0,e.useState)(null),C=(0,i.useNotification)(),{lockApp:U,unlockApp:M}=(0,i.useOverlayBlocker)(),k=(0,e.useMemo)(()=>({update:oe.Z.updateProviders}),[]),{isLoading:Y,allowedActions:{canUpdate:D}}=(0,i.useRBAC)(k),{isLoading:Qe,data:z,isFetching:ke}=(0,W.useQuery)("get-providers",()=>Ee(C),{onSuccess(){r(t({id:(0,c.OB)("Providers.data.loaded"),defaultMessage:"Providers have been loaded"}))},initialData:{}}),Ye=Qe||ke,Je=(0,W.useMutation)(Oe,{onSuccess(){return ge(this,null,function*(){yield a.invalidateQueries("get-providers"),C({type:"info",message:{id:(0,c.OB)("notification.success.submit")}}),m.current("didEditAuthenticationProvider"),d(!1),J(),M()})},onError(){C({type:"warning",message:{id:"notification.error"}}),M(),d(!1)},refetchActive:!1}),q=(0,e.useMemo)(()=>Te(z),[z]),_e=q.length,ye=(0,e.useMemo)(()=>{if(!l)return!1;const v=q.find(_=>_.name===l);return Z()(v,"subdomain")},[q,l]),et=t({id:(0,c.OB)("HeaderNav.link.providers"),defaultMessage:"Providers"}),tt=(0,e.useMemo)(()=>l==="email"?G.email:ye?G.providersWithSubdomain:G.providers,[l,ye]),J=()=>{p(v=>!v)},Pe=v=>{D&&(O(v.name),J())},rt=v=>ge(void 0,null,function*(){d(!0),U(),m.current("willEditAuthenticationProvider");const _=$e(Q({},z),{[l]:v});Je.mutate({providers:_})});return e.createElement(y.Layout,null,e.createElement(i.SettingsPageTitle,{name:et}),e.createElement(E.Main,null,e.createElement(y.HeaderLayout,{title:t({id:(0,c.OB)("HeaderNav.link.providers"),defaultMessage:"Providers"})}),Ye||Y?e.createElement(i.LoadingIndicatorPage,null):e.createElement(y.ContentLayout,null,e.createElement(u.Table,{colCount:4,rowCount:_e+1},e.createElement(u.Thead,null,e.createElement(u.Tr,null,e.createElement(u.Th,null,e.createElement(b.Typography,{variant:"sigma",textColor:"neutral600"},e.createElement(B.VisuallyHidden,null,t({id:(0,c.OB)("Providers.image"),defaultMessage:"Image"})))),e.createElement(u.Th,null,e.createElement(b.Typography,{variant:"sigma",textColor:"neutral600"},t({id:"global.name",defaultMessage:"Name"}))),e.createElement(u.Th,null,e.createElement(b.Typography,{variant:"sigma",textColor:"neutral600"},t({id:(0,c.OB)("Providers.status"),defaultMessage:"Status"}))),e.createElement(u.Th,null,e.createElement(b.Typography,{variant:"sigma"},e.createElement(B.VisuallyHidden,null,t({id:"global.settings",defaultMessage:"Settings"})))))),e.createElement(u.Tbody,null,q.map(v=>e.createElement(u.Tr,Q({key:v.name},(0,i.onRowClick)({fn:()=>Pe(v),condition:D})),e.createElement(u.Td,{width:""},e.createElement(f.G,{icon:v.icon})),e.createElement(u.Td,{width:"45%"},e.createElement(b.Typography,{fontWeight:"semiBold",textColor:"neutral800"},v.name)),e.createElement(u.Td,{width:"65%"},e.createElement(b.Typography,{textColor:v.enabled?"success600":"danger600","data-testid":`enable-${v.name}`},v.enabled?t({id:"global.enabled",defaultMessage:"Enabled"}):t({id:"global.disabled",defaultMessage:"Disabled"}))),e.createElement(u.Td,Q({},i.stopPropagation),D&&e.createElement(T.IconButton,{onClick:()=>Pe(v),noBorder:!0,icon:e.createElement(x(),null),label:"Edit"})))))))),e.createElement(qe,{initialData:z[l],isOpen:P,isSubmiting:h,layout:tt,headerBreadcrumbs:[t({id:(0,c.OB)("PopUpForm.header.edit.providers"),defaultMessage:"Edit Provider"}),w()(l)],onToggle:J,onSubmit:rt,providerToEditName:l}))},Ke=()=>e.createElement(i.CheckPagePermissions,{permissions:oe.Z.readProviders},e.createElement(he,null))},8917:(ee,S,s)=>{s.d(S,{Z:()=>w});var e=s(43653),R=s.n(e),i=s(88425),j=s.n(i),Z=(f,y,E)=>new Promise((F,u)=>{var b=L=>{try{T(E.next(L))}catch(x){u(x)}},B=L=>{try{T(E.throw(L))}catch(x){u(x)}},T=L=>L.done?F(L.value):Promise.resolve(L.value).then(b,B);T((E=E.apply(f,y)).next())});const I=R().create({baseURL:"http://localhost:1337"});I.interceptors.request.use(f=>Z(void 0,null,function*(){return f.headers={Authorization:`Bearer ${i.auth.getToken()}`,Accept:"application/json","Content-Type":"application/json"},f}),f=>{Promise.reject(f)}),I.interceptors.response.use(f=>f,f=>{var y;throw((y=f.response)==null?void 0:y.status)===401&&(i.auth.clearAppStorage(),window.location.reload()),f});const w=I},59677:(ee,S,s)=>{s.d(S,{be:()=>e.Z,YX:()=>j,Gc:()=>w,OB:()=>f.Z});var e=s(8917),R=s(92891);const j=y=>Object.keys(y).reduce((E,F)=>{const u=y[F].controllers,b=Object.keys(u).reduce((B,T)=>((0,R.isEmpty)(u[T])||(B[T]=u[T]),B),{});return(0,R.isEmpty)(b)||(E[F]={controllers:b}),E},{});var Z=s(90201);const w=y=>`/${Z.Z}/${y}`;var f=s(82069)}}]);
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[8853],{50832:(te,G,a)=>{a.r(G),a.d(G,{default:()=>bs});var s=a(32735),C=a(5141),p=a(88425),b=a(90201),T=a(88369),_=a(44526),D=a(11856),y=a(16540),f=a(53214),U=a(28004),P=a(95602),B=a(29270),F=a(59290),N=a.n(F),E=a(5636),A=a(84968),V=a(58469),x=a(59677),re=(r,e,t)=>new Promise((i,u)=>{var l=n=>{try{o(t.next(n))}catch(c){u(c)}},d=n=>{try{o(t.throw(n))}catch(c){u(c)}},o=n=>n.done?i(n.value):Promise.resolve(n.value).then(l,d);o((t=t.apply(r,e)).next())});const Je=(r,e)=>re(void 0,null,function*(){try{const{data:t}=yield x.be.get((0,x.Gc)("roles"));return e("The roles have loaded successfully"),t}catch(t){throw r({type:"warning",message:{id:"notification.error"}}),new Error("error")}}),qe=(r,e)=>re(void 0,null,function*(){try{yield x.be.delete(`${(0,x.Gc)("roles")}/${r}`)}catch(t){e({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}})}});var et=a(60216),h=a.n(et),se=a(20763),Q=a(19192),tt=a(95717),rt=a.n(tt),st=a(76470),nt=a.n(st),ot=Object.defineProperty,ne=Object.getOwnPropertySymbols,at=Object.prototype.hasOwnProperty,it=Object.prototype.propertyIsEnumerable,oe=(r,e,t)=>e in r?ot(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,ae=(r,e)=>{for(var t in e||(e={}))at.call(e,t)&&oe(r,t,e[t]);if(ne)for(var t of ne(e))it.call(e,t)&&oe(r,t,e[t]);return r};const X=({sortedRoles:r,canDelete:e,permissions:t,setRoleToDelete:i,onDelete:u})=>{const{formatMessage:l}=(0,E.useIntl)(),{push:d}=(0,C.useHistory)(),[o,n]=u,c=m=>e&&!["public","authenticated"].includes(m.type),g=m=>{i(m),n(!o)},v=m=>{d(`/settings/${b.Z}/roles/${m}`)};return s.createElement(f.Tbody,null,r==null?void 0:r.map(m=>s.createElement(f.Tr,ae({key:m.name},(0,p.onRowClick)({fn:()=>v(m.id)})),s.createElement(f.Td,{width:"20%"},s.createElement(P.Typography,null,m.name)),s.createElement(f.Td,{width:"50%"},s.createElement(P.Typography,null,m.description)),s.createElement(f.Td,{width:"30%"},s.createElement(P.Typography,null,`${m.nb_users} ${l({id:"global.users",defaultMessage:"users"}).toLowerCase()}`)),s.createElement(f.Td,null,s.createElement(Q.Flex,ae({justifyContent:"end"},p.stopPropagation),s.createElement(p.CheckPermissions,{permissions:t.updateRole},s.createElement(se.IconButton,{onClick:()=>v(m.id),noBorder:!0,icon:s.createElement(rt(),null),label:l({id:"app.component.table.edit",defaultMessage:"Edit {target}"},{target:`${m.name}`})})),c(m)&&s.createElement(p.CheckPermissions,{permissions:t.deleteRole},s.createElement(se.IconButton,{onClick:()=>g(m.id),noBorder:!0,icon:s.createElement(nt(),null),label:l({id:"global.delete-target",defaultMessage:"Delete {target}"},{target:`${m.name}`})})))))))},lt=X;X.defaultProps={canDelete:!1},X.propTypes={onDelete:h().array.isRequired,permissions:h().object.isRequired,setRoleToDelete:h().func.isRequired,sortedRoles:h().array.isRequired,canDelete:h().bool};var ie=(r,e,t)=>new Promise((i,u)=>{var l=n=>{try{o(t.next(n))}catch(c){u(c)}},d=n=>{try{o(t.throw(n))}catch(c){u(c)}},o=n=>n.done?i(n.value):Promise.resolve(n.value).then(l,d);o((t=t.apply(r,e)).next())});const ct=()=>{const{trackUsage:r}=(0,p.useTracking)(),{formatMessage:e}=(0,E.useIntl)(),{push:t}=(0,C.useHistory)(),i=(0,p.useNotification)(),{notifyStatus:u}=(0,B.useNotifyAT)(),[{query:l}]=(0,p.useQueryParams)(),d=(l==null?void 0:l._q)||"",[o,n]=(0,s.useState)(!1),[c,g]=(0,s.useState)(!1),[v,m]=(0,s.useState)();(0,p.useFocusWhenNavigate)();const R=(0,A.useQueryClient)(),O=(0,s.useMemo)(()=>({create:T.Z.createRole,read:T.Z.readRoles,update:T.Z.updateRole,delete:T.Z.deleteRole}),[]),{isLoading:w,allowedActions:{canRead:M,canDelete:k}}=(0,p.useRBAC)(O),{isLoading:Ts,data:{roles:ee},isFetching:Ds}=(0,A.useQuery)("get-roles",()=>Je(i,u),{initialData:{},enabled:M}),Ye=Ts||Ds,As=()=>{r("willCreateRole"),t(`/settings/${b.Z}/roles/new`)},Ls=()=>{n(!o)},Ss={roles:{id:(0,x.OB)("Roles.empty"),defaultMessage:"You don't have any roles yet."},search:{id:(0,x.OB)("Roles.empty.search"),defaultMessage:"No roles match the search."}},ws=e({id:"global.roles",defaultMessage:"Roles"}),Ms=(0,A.useMutation)(Bs=>qe(Bs,i),{onSuccess(){return ie(this,null,function*(){yield R.invalidateQueries("get-roles")})}}),Us=()=>ie(void 0,null,function*(){g(!0),yield Ms.mutateAsync(v),n(!o),g(!1)}),H=(0,V.ZP)(ee||[],d,{keys:["name","description"]}),Is=d&&!H.length?"search":"roles",js=4,_s=((ee==null?void 0:ee.length)||0)+1;return s.createElement(D.Layout,null,s.createElement(p.SettingsPageTitle,{name:ws}),s.createElement(y.Main,{"aria-busy":Ye},s.createElement(D.HeaderLayout,{title:e({id:"global.roles",defaultMessage:"Roles"}),subtitle:e({id:"Settings.roles.list.description",defaultMessage:"List of roles"}),primaryAction:s.createElement(p.CheckPermissions,{permissions:T.Z.createRole},s.createElement(_.Button,{onClick:As,startIcon:s.createElement(N(),null),size:"L"},e({id:(0,x.OB)("List.button.roles"),defaultMessage:"Add new role"})))}),s.createElement(D.ActionLayout,{startActions:s.createElement(p.SearchURLQuery,{label:e({id:"app.component.search.label",defaultMessage:"Search"})})}),s.createElement(D.ContentLayout,null,!M&&s.createElement(p.NoPermissions,null),(Ye||w)&&s.createElement(p.LoadingIndicatorPage,null),M&&H&&(H==null?void 0:H.length)?s.createElement(f.Table,{colCount:js,rowCount:_s},s.createElement(f.Thead,null,s.createElement(f.Tr,null,s.createElement(f.Th,null,s.createElement(P.Typography,{variant:"sigma",textColor:"neutral600"},e({id:"global.name",defaultMessage:"Name"}))),s.createElement(f.Th,null,s.createElement(P.Typography,{variant:"sigma",textColor:"neutral600"},e({id:"global.description",defaultMessage:"Description"}))),s.createElement(f.Th,null,s.createElement(P.Typography,{variant:"sigma",textColor:"neutral600"},e({id:"global.users",defaultMessage:"Users"}))),s.createElement(f.Th,null,s.createElement(U.VisuallyHidden,null,e({id:"global.actions",defaultMessage:"Actions"}))))),s.createElement(lt,{sortedRoles:H,canDelete:k,permissions:T.Z,setRoleToDelete:m,onDelete:[o,n]})):s.createElement(p.EmptyStateLayout,{content:Ss[Is]})),s.createElement(p.ConfirmDialog,{isConfirmButtonLoading:c,onConfirm:Us,onToggleDialog:Ls,isOpen:o})))},ut=()=>s.createElement(p.CheckPagePermissions,{permissions:T.Z.accessRoles},s.createElement(ct,null));var le=a(83281),L=a(90662),I=a(9808),ce=a(37178),ue=a(90353),dt=a(98599),pt=a.n(dt),mt=a(88677),de=a.n(mt),S=a(78330),Z=a(82069),j=a(92891);const pe=(0,s.createContext)({}),me=({children:r,value:e})=>s.createElement(pe.Provider,{value:e},r),Y=()=>(0,s.useContext)(pe);me.propTypes={children:h().node.isRequired,value:h().object.isRequired};var W=a(19615),gt=a(37213),ft=a.n(gt),Pt=a(15738),vt=a.n(Pt);const yt=r=>{switch(r){case"POST":return{text:"success600",border:"success200",background:"success100"};case"GET":return{text:"secondary600",border:"secondary200",background:"secondary100"};case"PUT":return{text:"warning600",border:"warning200",background:"warning100"};case"DELETE":return{text:"danger600",border:"danger200",background:"danger100"};default:return{text:"neutral600",border:"neutral200",background:"neutral100"}}},Et=(0,W.default)(I.Box)`
|
|
2
|
+
margin: -1px;
|
|
3
|
+
border-radius: ${({theme:r})=>r.spaces[1]} 0 0 ${({theme:r})=>r.spaces[1]};
|
|
4
|
+
`;function J({route:r}){const{formatMessage:e}=(0,E.useIntl)(),{method:t,handler:i,path:u}=r,l=u?vt()(u.split("/")):[],[d="",o=""]=i?i.split("."):[],n=yt(r.method);return s.createElement(L.Stack,{spacing:2},s.createElement(P.Typography,{variant:"delta",as:"h3"},e({id:"users-permissions.BoundRoute.title",defaultMessage:"Bound route to"}),"\xA0",s.createElement("span",null,d),s.createElement(P.Typography,{variant:"delta",textColor:"primary600"},".",o)),s.createElement(L.Stack,{horizontal:!0,hasRadius:!0,background:"neutral0",borderColor:"neutral200",spacing:0},s.createElement(Et,{background:n.background,borderColor:n.border,padding:2},s.createElement(P.Typography,{fontWeight:"bold",textColor:n.text},t)),s.createElement(I.Box,{paddingLeft:2,paddingRight:2},ft()(l,c=>s.createElement(P.Typography,{key:c,textColor:c.includes(":")?"neutral600":"neutral900"},"/",c)))))}J.defaultProps={route:{handler:"Nocontroller.error",method:"GET",path:"/there-is-no-path"}},J.propTypes={route:h().shape({handler:h().string,method:h().string,path:h().string})};const ht=J,Ot=()=>{const{formatMessage:r}=(0,E.useIntl)(),{selectedAction:e,routes:t}=Y(),i=(0,j.without)(e.split("."),"controllers"),u=(0,j.get)(t,i[0]),l=i.slice(1).join("."),d=(0,j.isEmpty)(u)?[]:u.filter(o=>o.handler.endsWith(l));return s.createElement(S.GridItem,{col:5,background:"neutral150",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7,style:{minHeight:"100%"}},e?s.createElement(L.Stack,{spacing:2},d.map((o,n)=>s.createElement(ht,{key:n,route:o}))):s.createElement(L.Stack,{spacing:2},s.createElement(P.Typography,{variant:"delta",as:"h3"},r({id:"users-permissions.Policies.header.title",defaultMessage:"Advanced settings"})),s.createElement(P.Typography,{as:"p",textColor:"neutral600"},r({id:"users-permissions.Policies.header.hint",defaultMessage:"Select the application's actions or the plugin's actions and click on the cog icon to display the bound route"}))))};var q=a(12001),Rt=a(23940),Ct=a.n(Rt);function bt(r){switch(r){case"application":return"Application";case"plugin::content-manager":return"Content manager";case"plugin::content-type-builder":return"Content types builder";case"plugin::documentation":return"Documentation";case"plugin::email":return"Email";case"plugin::i18n":return"i18n";case"plugin::upload":return"Upload";case"plugin::users-permissions":return"Users-permissions";default:return Ct()(r.replace("api::","").replace("plugin::",""))}}const Tt=bt;var Dt=a(98978),ge=a.n(Dt),fe=a(52111),At=a(42258),Lt=a.n(At);const Pe=W.css`
|
|
5
|
+
background: ${r=>r.theme.colors.primary100};
|
|
6
|
+
svg {
|
|
7
|
+
opacity: 1;
|
|
8
|
+
}
|
|
9
|
+
`,St=(0,W.default)(I.Box)`
|
|
10
|
+
display: flex;
|
|
11
|
+
justify-content: space-between;
|
|
12
|
+
align-items: center;
|
|
13
|
+
|
|
14
|
+
svg {
|
|
15
|
+
opacity: 0;
|
|
16
|
+
path {
|
|
17
|
+
fill: ${r=>r.theme.colors.primary600};
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/* Show active style both on hover and when the action is selected */
|
|
22
|
+
${r=>r.isActive&&Pe}
|
|
23
|
+
&:hover {
|
|
24
|
+
${Pe}
|
|
25
|
+
}
|
|
26
|
+
`,wt=W.default.div`
|
|
27
|
+
flex: 1;
|
|
28
|
+
align-self: center;
|
|
29
|
+
border-top: 1px solid ${({theme:r})=>r.colors.neutral150};
|
|
30
|
+
`,ve=({subCategory:r})=>{const{formatMessage:e}=(0,E.useIntl)(),{onChange:t,onChangeSelectAll:i,onSelectedAction:u,selectedAction:l,modifiedData:d}=Y(),o=(0,s.useMemo)(()=>(0,j.get)(d,r.name,{}),[d,r]),n=(0,s.useMemo)(()=>Object.values(o).every(m=>m.enabled===!0),[o]),c=(0,s.useMemo)(()=>Object.values(o).some(m=>m.enabled===!0)&&!n,[o,n]),g=(0,s.useCallback)(({target:{name:m}})=>{i({target:{name:m,value:!n}})},[n,i]),v=(0,s.useCallback)(m=>l===m,[l]);return s.createElement(I.Box,null,s.createElement(Q.Flex,{justifyContent:"space-between",alignItems:"center"},s.createElement(I.Box,{paddingRight:4},s.createElement(P.Typography,{variant:"sigma",textColor:"neutral600"},r.label)),s.createElement(wt,null),s.createElement(I.Box,{paddingLeft:4},s.createElement(fe.Checkbox,{name:r.name,value:n,onValueChange:m=>g({target:{name:r.name,value:m}}),indeterminate:c},e({id:"app.utils.select-all",defaultMessage:"Select all"})))),s.createElement(Q.Flex,{paddingTop:6,paddingBottom:6},s.createElement(S.Grid,{gap:2,style:{flex:1}},r.actions.map(m=>{const R=`${m.name}.enabled`;return s.createElement(S.GridItem,{col:6,key:m.name},s.createElement(St,{isActive:v(m.name),padding:2,hasRadius:!0},s.createElement(fe.Checkbox,{value:(0,j.get)(d,R,!1),name:R,onValueChange:O=>t({target:{name:R,value:O}})},m.label),s.createElement("button",{type:"button","data-testid":"action-cog",onClick:()=>u(m.name),style:{display:"inline-flex",alignItems:"center"}},s.createElement(Lt(),null))))}))))};ve.propTypes={subCategory:h().object.isRequired};const Mt=ve;var Ut=Object.defineProperty,It=Object.defineProperties,jt=Object.getOwnPropertyDescriptors,ye=Object.getOwnPropertySymbols,_t=Object.prototype.hasOwnProperty,Bt=Object.prototype.propertyIsEnumerable,Ee=(r,e,t)=>e in r?Ut(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,xt=(r,e)=>{for(var t in e||(e={}))_t.call(e,t)&&Ee(r,t,e[t]);if(ye)for(var t of ye(e))Bt.call(e,t)&&Ee(r,t,e[t]);return r},Nt=(r,e)=>It(r,jt(e));const he=({name:r,permissions:e})=>{const t=(0,s.useMemo)(()=>ge()(Object.values(e.controllers).reduce((i,u,l)=>{const d=`${r}.controllers.${Object.keys(e.controllers)[l]}`,o=ge()(Object.keys(u).reduce((n,c)=>[...n,Nt(xt({},u[c]),{label:c,name:`${d}.${c}`})],[]),"label");return[...i,{actions:o,label:Object.keys(e.controllers)[l],name:d}]},[]),"label"),[r,e]);return s.createElement(I.Box,{padding:6},t.map(i=>s.createElement(Mt,{key:i.name,subCategory:i})))};he.propTypes={name:h().string.isRequired,permissions:h().object.isRequired};const Gt=he;var Ft=Object.defineProperty,Zt=Object.defineProperties,$t=Object.getOwnPropertyDescriptors,Oe=Object.getOwnPropertySymbols,kt=Object.prototype.hasOwnProperty,Vt=Object.prototype.propertyIsEnumerable,Re=(r,e,t)=>e in r?Ft(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Ht=(r,e)=>{for(var t in e||(e={}))kt.call(e,t)&&Re(r,t,e[t]);if(Oe)for(var t of Oe(e))Vt.call(e,t)&&Re(r,t,e[t]);return r},Wt=(r,e)=>Zt(r,$t(e));const zt=(r,e)=>{const t=Object.keys(e).sort().map(i=>({name:i,isOpen:!1}));return Wt(Ht({},r),{collapses:t})};var z=a(49415),Kt=Object.defineProperty,Qt=Object.defineProperties,Xt=Object.getOwnPropertyDescriptors,Ce=Object.getOwnPropertySymbols,Yt=Object.prototype.hasOwnProperty,Jt=Object.prototype.propertyIsEnumerable,be=(r,e,t)=>e in r?Kt(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Te=(r,e)=>{for(var t in e||(e={}))Yt.call(e,t)&&be(r,t,e[t]);if(Ce)for(var t of Ce(e))Jt.call(e,t)&&be(r,t,e[t]);return r},De=(r,e)=>Qt(r,Xt(e));const qt={collapses:[]},er=(r,e)=>(0,z.default)(r,t=>{switch(e.type){case"TOGGLE_COLLAPSE":{t.collapses=r.collapses.map((i,u)=>u===e.index?De(Te({},i),{isOpen:!i.isOpen}):De(Te({},i),{isOpen:!1}));break}default:return t}}),tr=()=>{const{modifiedData:r}=Y(),{formatMessage:e}=(0,E.useIntl)(),[{collapses:t},i]=(0,s.useReducer)(er,qt,l=>zt(l,r)),u=l=>i({type:"TOGGLE_COLLAPSE",index:l});return s.createElement(L.Stack,{spacing:1},t.map((l,d)=>s.createElement(q.Accordion,{expanded:l.isOpen,onToggle:()=>u(d),key:l.name,variant:d%2===0?"secondary":void 0},s.createElement(q.AccordionToggle,{title:Tt(l.name),description:e({id:"users-permissions.Plugin.permissions.plugins.description",defaultMessage:"Define all allowed actions for the {name} plugin."},{name:l.name}),variant:d%2?"primary":"secondary"}),s.createElement(q.AccordionContent,null,s.createElement(I.Box,null,s.createElement(Gt,{permissions:r[l.name],name:l.name}))))))};var rr=Object.defineProperty,sr=Object.defineProperties,nr=Object.getOwnPropertyDescriptors,Ae=Object.getOwnPropertySymbols,or=Object.prototype.hasOwnProperty,ar=Object.prototype.propertyIsEnumerable,Le=(r,e,t)=>e in r?rr(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,ir=(r,e)=>{for(var t in e||(e={}))or.call(e,t)&&Le(r,t,e[t]);if(Ae)for(var t of Ae(e))ar.call(e,t)&&Le(r,t,e[t]);return r},lr=(r,e)=>sr(r,nr(e));const cr={initialData:{},modifiedData:{},routes:{},selectedAction:"",policies:[]},ur=(r,e)=>(0,z.default)(r,t=>{switch(e.type){case"ON_CHANGE":{const i=e.keys.length,u=e.keys[i-1]==="enabled";if(e.value&&u){const l=(0,j.take)(e.keys,i-1).join(".");t.selectedAction=l}(0,j.set)(t,["modifiedData",...e.keys],e.value);break}case"ON_CHANGE_SELECT_ALL":{const i=["modifiedData",...e.keys],u=(0,j.get)(r,i,{}),l=Object.keys(u).reduce((d,o)=>(d[o]=lr(ir({},u[o]),{enabled:e.value}),d),{});(0,j.set)(t,i,l);break}case"ON_RESET":{t.modifiedData=r.initialData;break}case"ON_SUBMIT_SUCCEEDED":{t.initialData=r.modifiedData;break}case"SELECT_ACTION":{const{actionToSelect:i}=e;t.selectedAction=i===r.selectedAction?"":i;break}default:return t}});var dr=Object.defineProperty,pr=Object.defineProperties,mr=Object.getOwnPropertyDescriptors,Se=Object.getOwnPropertySymbols,gr=Object.prototype.hasOwnProperty,fr=Object.prototype.propertyIsEnumerable,we=(r,e,t)=>e in r?dr(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Pr=(r,e)=>{for(var t in e||(e={}))gr.call(e,t)&&we(r,t,e[t]);if(Se)for(var t of Se(e))fr.call(e,t)&&we(r,t,e[t]);return r},vr=(r,e)=>pr(r,mr(e));const yr=(r,e,t)=>vr(Pr({},r),{initialData:e,modifiedData:e,routes:t});var Er=Object.defineProperty,hr=Object.defineProperties,Or=Object.getOwnPropertyDescriptors,Me=Object.getOwnPropertySymbols,Rr=Object.prototype.hasOwnProperty,Cr=Object.prototype.propertyIsEnumerable,Ue=(r,e,t)=>e in r?Er(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,br=(r,e)=>{for(var t in e||(e={}))Rr.call(e,t)&&Ue(r,t,e[t]);if(Me)for(var t of Me(e))Cr.call(e,t)&&Ue(r,t,e[t]);return r},Tr=(r,e)=>hr(r,Or(e));const Ie=(0,s.forwardRef)(({permissions:r,routes:e},t)=>{const{formatMessage:i}=(0,E.useIntl)(),[u,l]=(0,s.useReducer)(ur,cr,g=>yr(g,r,e));(0,s.useImperativeHandle)(t,()=>({getPermissions(){return{permissions:u.modifiedData}},resetForm(){l({type:"ON_RESET"})},setFormAfterSubmit(){l({type:"ON_SUBMIT_SUCCEEDED"})}}));const d=({target:{name:g,value:v}})=>l({type:"ON_CHANGE",keys:g.split("."),value:v==="empty__string_value"?"":v}),o=({target:{name:g,value:v}})=>l({type:"ON_CHANGE_SELECT_ALL",keys:g.split("."),value:v}),n=g=>l({type:"SELECT_ACTION",actionToSelect:g}),c=Tr(br({},u),{onChange:d,onChangeSelectAll:o,onSelectedAction:n});return s.createElement(me,{value:c},s.createElement(S.Grid,{gap:0,shadow:"filterShadow",hasRadius:!0,background:"neutral0"},s.createElement(S.GridItem,{col:7,paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},s.createElement(L.Stack,{spacing:6},s.createElement(L.Stack,{spacing:2},s.createElement(P.Typography,{variant:"delta",as:"h2"},i({id:(0,Z.Z)("Plugins.header.title"),defaultMessage:"Permissions"})),s.createElement(P.Typography,{as:"p",textColor:"neutral600"},i({id:(0,Z.Z)("Plugins.header.description"),defaultMessage:"Only actions bound by a route are listed below."}))),s.createElement(tr,null))),s.createElement(Ot,null)))});Ie.propTypes={permissions:h().object.isRequired,routes:h().object.isRequired};const je=(0,s.memo)(Ie),Ws={isLoading:!0,modifiedData:{}},zs=(r,e)=>produce(r,t=>{switch(e.type){case"GET_DATA":{t.isLoading=!0,t.modifiedData={};break}case"GET_DATA_SUCCEEDED":{t.isLoading=!1,t.modifiedData=e.data;break}case"GET_DATA_ERROR":{t.isLoading=!0;break}case"ON_SUBMIT_SUCCEEDED":{t.modifiedData=e.data;break}default:return t}}),Ks=null;var Dr=a(98399),Ar=(r,e,t)=>new Promise((i,u)=>{var l=n=>{try{o(t.next(n))}catch(c){u(c)}},d=n=>{try{o(t.throw(n))}catch(c){u(c)}},o=n=>n.done?i(n.value):Promise.resolve(n.value).then(l,d);o((t=t.apply(r,e)).next())});const Qs=(r,e)=>{const{isLoading:t,allowedActions:i}=useRBAC(e),[{isLoading:u,modifiedData:l},d]=useReducer(reducer,initialState),o=useNotification(),n=useRef(!0),c=new AbortController,{signal:g}=c;useEffect(()=>(t||(()=>Ar(void 0,null,function*(){try{d({type:"GET_DATA"});const R=yield request(getRequestURL(r),{method:"GET",signal:g});d({type:"GET_DATA_SUCCEEDED",data:R})}catch(R){n.current&&(d({type:"GET_DATA_ERROR"}),Dr.error(R),o({type:"warning",message:{id:"notification.error"}}))}}))(),()=>{c.abort(),n.current=!1}),[t,r]);const v=useCallback(m=>{d({type:"ON_SUBMIT_SUCCEEDED",data:m})},[]);return{allowedActions:i,dispatchSubmitSucceeded:v,isLoading:u,isLoadingForPermissions:t,modifiedData:l}},Xs=null;var Lr=Object.defineProperty,Sr=Object.defineProperties,wr=Object.getOwnPropertyDescriptors,_e=Object.getOwnPropertySymbols,Mr=Object.prototype.hasOwnProperty,Ur=Object.prototype.propertyIsEnumerable,Be=(r,e,t)=>e in r?Lr(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Ir=(r,e)=>{for(var t in e||(e={}))Mr.call(e,t)&&Be(r,t,e[t]);if(_e)for(var t of _e(e))Ur.call(e,t)&&Be(r,t,e[t]);return r},jr=(r,e)=>Sr(r,wr(e));const Ys=(r,e)=>jr(Ir({},r),{isLoading:e}),Js=null,qs={roles:[],isLoading:!0},en=(r,e)=>produce(r,t=>{switch(e.type){case"GET_DATA":{t.isLoading=!0,t.roles=[];break}case"GET_DATA_SUCCEEDED":{t.roles=e.data,t.isLoading=!1;break}case"GET_DATA_ERROR":{t.isLoading=!1;break}default:return t}}),tn=null;var _r=(r,e,t)=>new Promise((i,u)=>{var l=n=>{try{o(t.next(n))}catch(c){u(c)}},d=n=>{try{o(t.throw(n))}catch(c){u(c)}},o=n=>n.done?i(n.value):Promise.resolve(n.value).then(l,d);o((t=t.apply(r,e)).next())});const rn=(r=!0)=>{const[{roles:e,isLoading:t},i]=useReducer(reducer,initialState,()=>init(initialState,r)),u=useNotification(),l=useRef(!0),d=new AbortController,{signal:o}=d;useEffect(()=>(r&&n(),()=>{d.abort(),l.current=!1}),[r]);const n=()=>_r(void 0,null,function*(){try{i({type:"GET_DATA"});const{roles:c}=yield request(`/${pluginId}/roles`,{method:"GET",signal:o});i({type:"GET_DATA_SUCCEEDED",data:c})}catch(c){const g=get(c,["response","payload","message"],"An error occured");l.current&&(i({type:"GET_DATA_ERROR"}),g!=="Forbidden"&&u({type:"warning",message:g}))}});return{roles:e,isLoading:t,getData:n}},sn=null;var Br=Object.defineProperty,xr=Object.defineProperties,Nr=Object.getOwnPropertyDescriptors,xe=Object.getOwnPropertySymbols,Gr=Object.prototype.hasOwnProperty,Fr=Object.prototype.propertyIsEnumerable,Ne=(r,e,t)=>e in r?Br(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Zr=(r,e)=>{for(var t in e||(e={}))Gr.call(e,t)&&Ne(r,t,e[t]);if(xe)for(var t of xe(e))Fr.call(e,t)&&Ne(r,t,e[t]);return r},$r=(r,e)=>xr(r,Nr(e));const kr=(r,e)=>$r(Zr({},r),{isLoading:e});var K=a(8917);const Ge={permissions:{},routes:{},isLoading:!0},Vr=(r,e)=>(0,z.default)(r,t=>{switch(e.type){case"GET_DATA":{t.isLoading=!0,t.permissions={},t.routes={};break}case"GET_DATA_SUCCEEDED":{t.permissions=e.permissions,t.routes=e.routes,t.isLoading=!1;break}case"GET_DATA_ERROR":{t.isLoading=!1;break}default:return t}});var Fe=(r,e,t)=>new Promise((i,u)=>{var l=n=>{try{o(t.next(n))}catch(c){u(c)}},d=n=>{try{o(t.throw(n))}catch(c){u(c)}},o=n=>n.done?i(n.value):Promise.resolve(n.value).then(l,d);o((t=t.apply(r,e)).next())});const Ze=(r=!0)=>{const e=(0,p.useNotification)(),[{permissions:t,routes:i,isLoading:u},l]=(0,s.useReducer)(Vr,Ge,()=>kr(Ge,r)),d=(0,s.useCallback)(()=>Fe(void 0,null,function*(){try{l({type:"GET_DATA"});const[{permissions:o},{routes:n}]=yield Promise.all([`/${b.Z}/permissions`,`/${b.Z}/routes`].map(c=>Fe(void 0,null,function*(){return(yield K.Z.get(c)).data})));l({type:"GET_DATA_SUCCEEDED",permissions:(0,x.YX)(o),routes:n})}catch(o){const n=(0,j.get)(o,["response","payload","message"],"An error occured");l({type:"GET_DATA_ERROR"}),n!=="Forbidden"&&e({type:"warning",message:n})}}),[e]);return(0,s.useEffect)(()=>{r&&d()},[d,r]),{permissions:t,routes:i,getData:d,isLoading:u}},Hr={role:{},isLoading:!0},Wr=(r,e)=>(0,z.default)(r,t=>{switch(e.type){case"GET_DATA_SUCCEEDED":{t.role=e.role,t.isLoading=!1;break}case"GET_DATA_ERROR":{t.isLoading=!1;break}case"ON_SUBMIT_SUCCEEDED":{t.role.name=e.name,t.role.description=e.description;break}default:return t}});var zr=a(98399),Kr=Object.defineProperty,Qr=Object.defineProperties,Xr=Object.getOwnPropertyDescriptors,$e=Object.getOwnPropertySymbols,Yr=Object.prototype.hasOwnProperty,Jr=Object.prototype.propertyIsEnumerable,ke=(r,e,t)=>e in r?Kr(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Ve=(r,e)=>{for(var t in e||(e={}))Yr.call(e,t)&&ke(r,t,e[t]);if($e)for(var t of $e(e))Jr.call(e,t)&&ke(r,t,e[t]);return r},qr=(r,e)=>Qr(r,Xr(e)),es=(r,e,t)=>new Promise((i,u)=>{var l=n=>{try{o(t.next(n))}catch(c){u(c)}},d=n=>{try{o(t.throw(n))}catch(c){u(c)}},o=n=>n.done?i(n.value):Promise.resolve(n.value).then(l,d);o((t=t.apply(r,e)).next())});const ts=r=>{const[e,t]=(0,s.useReducer)(Wr,Hr),i=(0,p.useNotification)(),u=(0,s.useRef)(null);(0,s.useEffect)(()=>(u.current=!0,r?l(r):t({type:"GET_DATA_SUCCEEDED",role:{}}),()=>u.current=!1),[r]);const l=o=>es(void 0,null,function*(){try{const{data:{role:n}}=yield K.Z.get(`/${b.Z}/roles/${o}`);u.current&&t({type:"GET_DATA_SUCCEEDED",role:n})}catch(n){zr.error(n),t({type:"GET_DATA_ERROR"}),i({type:"warning",message:{id:"notification.error"}})}}),d=(0,s.useCallback)(o=>{t(Ve({type:"ON_SUBMIT_SUCCEEDED"},o))},[]);return qr(Ve({},e),{onSubmitSucceeded:d})};var $=a(5173);const rs=$.Ry().shape({name:$.Z_().required(p.translatedErrors.required),description:$.Z_().required(p.translatedErrors.required)});var ss=a(98399),ns=Object.defineProperty,os=Object.defineProperties,as=Object.getOwnPropertyDescriptors,He=Object.getOwnPropertySymbols,is=Object.prototype.hasOwnProperty,ls=Object.prototype.propertyIsEnumerable,We=(r,e,t)=>e in r?ns(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,ze=(r,e)=>{for(var t in e||(e={}))is.call(e,t)&&We(r,t,e[t]);if(He)for(var t of He(e))ls.call(e,t)&&We(r,t,e[t]);return r},cs=(r,e)=>os(r,as(e)),us=(r,e,t)=>new Promise((i,u)=>{var l=n=>{try{o(t.next(n))}catch(c){u(c)}},d=n=>{try{o(t.throw(n))}catch(c){u(c)}},o=n=>n.done?i(n.value):Promise.resolve(n.value).then(l,d);o((t=t.apply(r,e)).next())});const ds=()=>{const{formatMessage:r}=(0,E.useIntl)(),[e,t]=(0,s.useState)(!1),i=(0,p.useNotification)(),{lockApp:u,unlockApp:l}=(0,p.useOverlayBlocker)(),{params:{id:d}}=(0,C.useRouteMatch)(`/settings/${b.Z}/roles/:id`),{isLoading:o,routes:n}=Ze(),{role:c,onSubmitSucceeded:g,isLoading:v}=ts(d),m=(0,s.useRef)(),R=O=>us(void 0,null,function*(){u(),t(!0);try{const w=m.current.getPermissions();yield K.Z.put(`/${b.Z}/roles/${d}`,cs(ze(ze({},O),w),{users:[]})),g({name:O.name,description:O.description}),i({type:"success",message:{id:(0,Z.Z)("Settings.roles.edited"),defaultMessage:"Role edited"}})}catch(w){ss.error(w),i({type:"warning",message:{id:"notification.error",defaultMessage:"An error occurred"}})}t(!1),l()});return v?s.createElement(p.LoadingIndicatorPage,null):s.createElement(y.Main,null,s.createElement(p.SettingsPageTitle,{name:"Roles"}),s.createElement(le.Formik,{enableReinitialize:!0,initialValues:{name:c.name,description:c.description},onSubmit:R,validationSchema:rs},({handleSubmit:O,values:w,handleChange:M,errors:k})=>s.createElement(p.Form,{noValidate:!0,onSubmit:O},s.createElement(D.HeaderLayout,{primaryAction:!o&&s.createElement(_.Button,{disabled:c.code==="strapi-super-admin",type:"submit",loading:e,startIcon:s.createElement(de(),null)},r({id:"global.save",defaultMessage:"Save"})),title:c.name,subtitle:c.description,navigationAction:s.createElement(p.Link,{startIcon:s.createElement(pt(),null),to:"/settings/users-permissions/roles"},r({id:"global.back",defaultMessage:"Back"}))}),s.createElement(D.ContentLayout,null,s.createElement(L.Stack,{spacing:7},s.createElement(I.Box,{background:"neutral0",hasRadius:!0,shadow:"filterShadow",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},s.createElement(L.Stack,{spacing:4},s.createElement(P.Typography,{variant:"delta",as:"h2"},r({id:(0,Z.Z)("EditPage.form.roles"),defaultMessage:"Role details"})),s.createElement(S.Grid,{gap:4},s.createElement(S.GridItem,{col:6},s.createElement(ce.TextInput,{name:"name",value:w.name||"",onChange:M,label:r({id:"global.name",defaultMessage:"Name"}),error:k.name?r({id:k.name,defaultMessage:"Invalid value"}):null})),s.createElement(S.GridItem,{col:6},s.createElement(ue.Textarea,{name:"description",value:w.description||"",onChange:M,label:r({id:"global.description",defaultMessage:"Description"}),error:k.description?r({id:k.description,defaultMessage:"Invalid value"}):null}))))),!o&&s.createElement(je,{ref:m,permissions:c.permissions,routes:n}))))))},ps=()=>s.createElement(p.CheckPagePermissions,{permissions:T.Z.updateRole},s.createElement(ds,null)),ms=$.Ry().shape({name:$.Z_().required(p.translatedErrors.required),description:$.Z_().required(p.translatedErrors.required)});var gs=a(98399),fs=Object.defineProperty,Ps=Object.defineProperties,vs=Object.getOwnPropertyDescriptors,Ke=Object.getOwnPropertySymbols,ys=Object.prototype.hasOwnProperty,Es=Object.prototype.propertyIsEnumerable,Qe=(r,e,t)=>e in r?fs(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Xe=(r,e)=>{for(var t in e||(e={}))ys.call(e,t)&&Qe(r,t,e[t]);if(Ke)for(var t of Ke(e))Es.call(e,t)&&Qe(r,t,e[t]);return r},hs=(r,e)=>Ps(r,vs(e)),Os=(r,e,t)=>new Promise((i,u)=>{var l=n=>{try{o(t.next(n))}catch(c){u(c)}},d=n=>{try{o(t.throw(n))}catch(c){u(c)}},o=n=>n.done?i(n.value):Promise.resolve(n.value).then(l,d);o((t=t.apply(r,e)).next())});const Rs=()=>{const{formatMessage:r}=(0,E.useIntl)(),[e,t]=(0,s.useState)(!1),i=(0,p.useNotification)(),{goBack:u}=(0,C.useHistory)(),{lockApp:l,unlockApp:d}=(0,p.useOverlayBlocker)(),{isLoading:o,permissions:n,routes:c}=Ze(),{trackUsage:g}=(0,p.useTracking)(),v=(0,s.useRef)(),m=R=>Os(void 0,null,function*(){l(),t(!0);try{const O=v.current.getPermissions();yield K.Z.post(`/${b.Z}/roles`,hs(Xe(Xe({},R),O),{users:[]})),g("didCreateRole"),i({type:"success",message:{id:(0,Z.Z)("Settings.roles.created"),defaultMessage:"Role created"}}),u()}catch(O){gs.error(O),i({type:"warning",message:{id:"notification.error",defaultMessage:"An error occurred"}})}t(!1),d()});return s.createElement(y.Main,null,s.createElement(p.SettingsPageTitle,{name:"Roles"}),s.createElement(le.Formik,{enableReinitialize:!0,initialValues:{name:"",description:""},onSubmit:m,validationSchema:ms},({handleSubmit:R,values:O,handleChange:w,errors:M})=>s.createElement(p.Form,{noValidate:!0,onSubmit:R},s.createElement(D.HeaderLayout,{primaryAction:!o&&s.createElement(_.Button,{type:"submit",loading:e,startIcon:s.createElement(de(),null)},r({id:"global.save",defaultMessage:"Save"})),title:r({id:"Settings.roles.create.title",defaultMessage:"Create a role"}),subtitle:r({id:"Settings.roles.create.description",defaultMessage:"Define the rights given to the role"})}),s.createElement(D.ContentLayout,null,s.createElement(L.Stack,{spacing:7},s.createElement(I.Box,{background:"neutral0",hasRadius:!0,shadow:"filterShadow",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},s.createElement(L.Stack,{spacing:4},s.createElement(P.Typography,{variant:"delta",as:"h2"},r({id:(0,Z.Z)("EditPage.form.roles"),defaultMessage:"Role details"})),s.createElement(S.Grid,{gap:4},s.createElement(S.GridItem,{col:6},s.createElement(ce.TextInput,{name:"name",value:O.name||"",onChange:w,label:r({id:"global.name",defaultMessage:"Name"}),error:M.name?r({id:M.name,defaultMessage:"Invalid value"}):null})),s.createElement(S.GridItem,{col:6},s.createElement(ue.Textarea,{name:"description",value:O.description||"",onChange:w,label:r({id:"global.description",defaultMessage:"Description"}),error:M.description?r({id:M.description,defaultMessage:"Invalid value"}):null}))))),!o&&s.createElement(je,{ref:v,permissions:n,routes:c}))))))},Cs=()=>s.createElement(p.CheckPagePermissions,{permissions:T.Z.createRole},s.createElement(Rs,null)),bs=()=>s.createElement(p.CheckPagePermissions,{permissions:T.Z.accessRoles},s.createElement(C.Switch,null,s.createElement(C.Route,{path:`/settings/${b.Z}/roles/new`,component:Cs,exact:!0}),s.createElement(C.Route,{path:`/settings/${b.Z}/roles/:id`,component:ps,exact:!0}),s.createElement(C.Route,{path:`/settings/${b.Z}/roles`,component:ut,exact:!0}),s.createElement(C.Route,{path:"",component:p.NotFound})))},8917:(te,G,a)=>{a.d(G,{Z:()=>D});var s=a(43653),C=a.n(s),p=a(88425),b=a.n(p),T=(y,f,U)=>new Promise((P,B)=>{var F=A=>{try{E(U.next(A))}catch(V){B(V)}},N=A=>{try{E(U.throw(A))}catch(V){B(V)}},E=A=>A.done?P(A.value):Promise.resolve(A.value).then(F,N);E((U=U.apply(y,f)).next())});const _=C().create({baseURL:"http://localhost:1337"});_.interceptors.request.use(y=>T(void 0,null,function*(){return y.headers={Authorization:`Bearer ${p.auth.getToken()}`,Accept:"application/json","Content-Type":"application/json"},y}),y=>{Promise.reject(y)}),_.interceptors.response.use(y=>y,y=>{var f;throw((f=y.response)==null?void 0:f.status)===401&&(p.auth.clearAppStorage(),window.location.reload()),y});const D=_},59677:(te,G,a)=>{a.d(G,{be:()=>s.Z,YX:()=>b,Gc:()=>D,OB:()=>y.Z});var s=a(8917),C=a(92891);const b=f=>Object.keys(f).reduce((U,P)=>{const B=f[P].controllers,F=Object.keys(B).reduce((N,E)=>((0,C.isEmpty)(B[E])||(N[E]=B[E]),N),{});return(0,C.isEmpty)(F)||(U[P]={controllers:F}),U},{});var T=a(90201);const D=f=>`/${T.Z}/${f}`;var y=a(82069)}}]);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[5162],{49750:function(B,
|
|
1
|
+
(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[5162],{49750:function(B,R,a){(function(e,i){B.exports=i(a(32735))})(this,function(e){return function(i){var P={};function c(o){if(P[o])return P[o].exports;var g=P[o]={i:o,l:!1,exports:{}};return i[o].call(g.exports,g,g.exports,c),g.l=!0,g.exports}return c.m=i,c.c=P,c.d=function(o,g,v){c.o(o,g)||Object.defineProperty(o,g,{enumerable:!0,get:v})},c.r=function(o){typeof Symbol!="undefined"&&Symbol.toStringTag&&Object.defineProperty(o,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(o,"__esModule",{value:!0})},c.t=function(o,g){if(1&g&&(o=c(o)),8&g||4&g&&typeof o=="object"&&o&&o.__esModule)return o;var v=Object.create(null);if(c.r(v),Object.defineProperty(v,"default",{enumerable:!0,value:o}),2&g&&typeof o!="string")for(var k in o)c.d(v,k,function(d){return o[d]}.bind(null,k));return v},c.n=function(o){var g=o&&o.__esModule?function(){return o.default}:function(){return o};return c.d(g,"a",g),g},c.o=function(o,g){return Object.prototype.hasOwnProperty.call(o,g)},c.p="",c(c.s=145)}({0:function(i,P){i.exports=e},145:function(i,P,c){"use strict";c.r(P);var o=c(0);function g(){return(g=Object.assign||function(v){for(var k=1;k<arguments.length;k++){var d=arguments[k];for(var V in d)Object.prototype.hasOwnProperty.call(d,V)&&(v[V]=d[V])}return v}).apply(this,arguments)}P.default=function(v){return o.createElement("svg",g({width:"1em",height:"1em",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},v),o.createElement("path",{d:"M4 20.252V3.748a1 1 0 011.507-.862l14.028 8.252a1 1 0 010 1.724L5.507 21.113A1 1 0 014 20.252z",fill:"#212134"}))}}})})},47272:(B,R,a)=>{"use strict";a.d(R,{Z:()=>it});var e=a(32735),i=a(88425),P=a(16540),c=a(84968),o=a(5141),g=a(73869),v=a(17247),k=a(60216),d=a.n(k),V=a(98599),Ee=a.n(V),ye=a(88677),Y=a.n(ye),be=a(49750),Pe=a.n(be),q=a(11856),F=a(9808),_=a(44526),S=a(90662),z=a(37178),O=a(78330),D=a(83281),L=a(5636),ee=a(20001),I=a(95602),te=a(19615),Ce=a(35980),Oe=a(52111),Me=a(23940),Se=a.n(Me);const H=({disabledEvents:n,name:t,events:r,inputValue:s,handleChange:m,handleChangeAll:E})=>{const b=r.filter(u=>!n.includes(u)),l=s.length===b.length,f=s.length>0,y=({target:{name:u}})=>{E({target:{name:u,value:!l}})};return e.createElement("tr",null,e.createElement("td",null,e.createElement(Oe.Checkbox,{indeterminate:f&&!l,"aria-label":"Select all entries",name:t,onChange:y,value:l},Se()(t))),r.map(u=>e.createElement("td",{key:u},e.createElement(Ce.BaseCheckbox,{disabled:n.includes(u),"aria-label":u,name:u,value:s.includes(u),onValueChange:h=>m({target:{name:u,value:h}})}))))};H.defaultProps={disabledEvents:[],events:[],inputValue:[],handleChange(){},handleChangeAll(){}},H.propTypes={disabledEvents:d().array,events:d().array,inputValue:d().array,handleChange:d().func,handleChangeAll:d().func,name:d().string.isRequired};const Ie=H,xe=n=>n.reduce((t,r)=>{const s=r.split(".")[0];return t[s]||(t[s]=[]),t[s].push(r),t},{}),Te=te.default.table`
|
|
2
2
|
td {
|
|
3
3
|
height: ${52/16}rem;
|
|
4
4
|
width: 10%;
|
|
@@ -13,11 +13,11 @@
|
|
|
13
13
|
tbody tr td:first-child {
|
|
14
14
|
padding-left: ${({theme:n})=>n.spaces[7]};
|
|
15
15
|
}
|
|
16
|
-
`,W={headers:{default:["Settings.webhooks.events.create","Settings.webhooks.events.update","app.utils.delete"],draftAndPublish:["Settings.webhooks.events.create","Settings.webhooks.events.update","app.utils.delete","app.utils.publish","app.utils.unpublish"]},events:{default:{entry:["entry.create","entry.update","entry.delete"],media:["media.create","media.update","media.delete"]},draftAndPublish:{entry:["entry.create","entry.update","entry.delete","entry.publish","entry.unpublish"],media:["media.create","media.update","media.delete"]}}},ne=({isDraftAndPublish:n})=>{const t=n?W.headers.draftAndPublish:W.headers.default,r=n?W.events.draftAndPublish:W.events.default,{formatMessage:s}=(0,L.useIntl)(),{values:m,handleChange:E}=(0,D.useFormikContext)(),b="events",l=m.events,f=[],y=xe(l),u=({target:{name:p,value:T}})=>{let C=new Set(l);T?C.add(p):C.delete(p),E({target:{name:b,value:Array.from(C)}})},h=({target:{name:p,value:T}})=>{let C=new Set(l);T?r[p].forEach(w=>{f.includes(w)||C.add(w)}):r[p].forEach(w=>C.delete(w)),E({target:{name:b,value:Array.from(C)}})};return e.createElement(S.Stack,{spacing:1},e.createElement(ee.FieldLabel,null,s({id:"Settings.webhooks.form.events",defaultMessage:"Events"})),e.createElement(Te,null,e.createElement("thead",null,e.createElement("tr",null,e.createElement("td",null),t.map(p=>p==="app.utils.publish"||p==="app.utils.unpublish"?e.createElement("td",{key:p,title:s({id:"Settings.webhooks.event.publish-tooltip",defaultMessage:"This event only exists for contents with Draft/Publish system enabled"})},e.createElement(I.Typography,{variant:"sigma",textColor:"neutral600"},s({id:p,defaultMessage:p}))):e.createElement("td",{key:p},e.createElement(I.Typography,{variant:"sigma",textColor:"neutral600"},s({id:p,defaultMessage:p})))))),e.createElement("tbody",null,Object.keys(r).map(p=>e.createElement(Ie,{disabledEvents:f,key:p,name:p,events:r[p],inputValue:y[p],handleChange:u,handleChangeAll:h})))))};ne.propTypes={isDraftAndPublish:d().bool.isRequired};const we=ne;var
|
|
16
|
+
`,W={headers:{default:["Settings.webhooks.events.create","Settings.webhooks.events.update","app.utils.delete"],draftAndPublish:["Settings.webhooks.events.create","Settings.webhooks.events.update","app.utils.delete","app.utils.publish","app.utils.unpublish"]},events:{default:{entry:["entry.create","entry.update","entry.delete"],media:["media.create","media.update","media.delete"]},draftAndPublish:{entry:["entry.create","entry.update","entry.delete","entry.publish","entry.unpublish"],media:["media.create","media.update","media.delete"]}}},ne=({isDraftAndPublish:n})=>{const t=n?W.headers.draftAndPublish:W.headers.default,r=n?W.events.draftAndPublish:W.events.default,{formatMessage:s}=(0,L.useIntl)(),{values:m,handleChange:E}=(0,D.useFormikContext)(),b="events",l=m.events,f=[],y=xe(l),u=({target:{name:p,value:T}})=>{let C=new Set(l);T?C.add(p):C.delete(p),E({target:{name:b,value:Array.from(C)}})},h=({target:{name:p,value:T}})=>{let C=new Set(l);T?r[p].forEach(w=>{f.includes(w)||C.add(w)}):r[p].forEach(w=>C.delete(w)),E({target:{name:b,value:Array.from(C)}})};return e.createElement(S.Stack,{spacing:1},e.createElement(ee.FieldLabel,null,s({id:"Settings.webhooks.form.events",defaultMessage:"Events"})),e.createElement(Te,null,e.createElement("thead",null,e.createElement("tr",null,e.createElement("td",null),t.map(p=>p==="app.utils.publish"||p==="app.utils.unpublish"?e.createElement("td",{key:p,title:s({id:"Settings.webhooks.event.publish-tooltip",defaultMessage:"This event only exists for contents with Draft/Publish system enabled"})},e.createElement(I.Typography,{variant:"sigma",textColor:"neutral600"},s({id:p,defaultMessage:p}))):e.createElement("td",{key:p},e.createElement(I.Typography,{variant:"sigma",textColor:"neutral600"},s({id:p,defaultMessage:p})))))),e.createElement("tbody",null,Object.keys(r).map(p=>e.createElement(Ie,{disabledEvents:f,key:p,name:p,events:r[p],inputValue:y[p],handleChange:u,handleChangeAll:h})))))};ne.propTypes={isDraftAndPublish:d().bool.isRequired};const we=ne;var Ae=a(59290),Re=a.n(Ae),j=a(19192),ke=a(74201),re=a(14715);const ae=["A-IM","Accept","Accept-Charset","Accept-Encoding","Accept-Language","Accept-Datetime","Access-Control-Request-Method","Access-Control-Request-Headers","Authorization","Cache-Control","Connection","Content-Length","Content-Type","Cookie","Date","Expect","Forwarded","From","Host","If-Match","If-Modified-Since","If-None-Match","If-Range","If-Unmodified-Since","Max-Forwards","Origin","Pragma","Proxy-Authorization","Range","Referer","TE","User-Agent","Upgrade","Via","Warning"];var De=Object.defineProperty,Le=Object.defineProperties,je=Object.getOwnPropertyDescriptors,U=Object.getOwnPropertySymbols,se=Object.prototype.hasOwnProperty,oe=Object.prototype.propertyIsEnumerable,le=(n,t,r)=>t in n?De(n,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):n[t]=r,Ve=(n,t)=>{for(var r in t||(t={}))se.call(t,r)&&le(n,r,t[r]);if(U)for(var r of U(t))oe.call(t,r)&&le(n,r,t[r]);return n},Be=(n,t)=>Le(n,je(t)),Fe=(n,t)=>{var r={};for(var s in n)se.call(n,s)&&t.indexOf(s)<0&&(r[s]=n[s]);if(n!=null&&U)for(var s of U(n))t.indexOf(s)<0&&oe.call(n,s)&&(r[s]=n[s]);return r};const N=n=>{var t=n,{name:r,onChange:s,value:m}=t,E=Fe(t,["name","onChange","value"]);const[b,l]=(0,e.useState)(m?[...ae,m]:ae),f=u=>{s({target:{name:r,value:u}})},y=u=>{l(h=>[...h,u]),s({target:{name:r,value:u}})};return e.createElement(re.CreatableCombobox,Be(Ve({},E),{onChange:f,onCreateOption:y,placeholder:"",value:m}),b.map(u=>e.createElement(re.ComboboxOption,{value:u,key:u},u)))};N.defaultProps={value:void 0},N.propTypes={name:d().string.isRequired,onChange:d().func.isRequired,value:d().string};const We=N,Ue=()=>{const{formatMessage:n}=(0,L.useIntl)(),{values:t,errors:r}=(0,D.useFormikContext)();return e.createElement(S.Stack,{spacing:1},e.createElement(ee.FieldLabel,null,n({id:"Settings.webhooks.form.headers",defaultMessage:"Headers"})),e.createElement(F.Box,{padding:8,background:"neutral100",hasRadius:!0},e.createElement(D.FieldArray,{validateOnChange:!1,name:"headers",render:({push:s,remove:m})=>{var E;return e.createElement(O.Grid,{gap:4},(E=t.headers)==null?void 0:E.map((b,l)=>{var f,y,u,h,p,T,C,w,G,K;return e.createElement(e.Fragment,{key:l},e.createElement(O.GridItem,{col:6},e.createElement(D.Field,{as:We,name:`headers.${l}.key`,"aria-label":`row ${l+1} key`,label:n({id:"Settings.webhooks.key",defaultMessage:"Key"}),error:((y=(f=r.headers)==null?void 0:f[l])==null?void 0:y.key)&&n({id:(u=r.headers[l])==null?void 0:u.key,defaultMessage:(h=r.headers[l])==null?void 0:h.key})})),e.createElement(O.GridItem,{col:6},e.createElement(j.Flex,{alignItems:"flex-end"},e.createElement(F.Box,{style:{flex:1}},e.createElement(D.Field,{as:z.TextInput,"aria-label":`row ${l+1} value`,label:n({id:"Settings.webhooks.value",defaultMessage:"Value"}),name:`headers.${l}.value`,error:((T=(p=r.headers)==null?void 0:p[l])==null?void 0:T.value)&&n({id:(C=r.headers[l])==null?void 0:C.value,defaultMessage:(w=r.headers[l])==null?void 0:w.value})})),e.createElement(j.Flex,{paddingLeft:2,style:{alignSelf:"center"},paddingTop:(K=(G=r.headers)==null?void 0:G[l])!=null&&K.value?0:5},e.createElement(i.RemoveRoundedButton,{onClick:()=>t.headers.length!==1&&m(l),label:n({id:"Settings.webhooks.headers.remove",defaultMessage:"Remove header row {number}"},{number:l+1})})))))}),e.createElement(O.GridItem,{col:12},e.createElement(ke.TextButton,{type:"button",onClick:()=>{s({key:"",value:""})},startIcon:e.createElement(Re(),null)},n({id:"Settings.webhooks.create.header",defaultMessage:"Create new header"}))))}})))};var $e=a(94009),ie=a.n($e),Ge=a(103),Ke=a.n(Ge);const $=te.default.svg(({theme:n,color:t})=>`
|
|
17
17
|
width: ${12/16}rem;
|
|
18
18
|
height: ${12/16}rem;
|
|
19
19
|
|
|
20
20
|
path {
|
|
21
21
|
fill: ${n.colors[t]};
|
|
22
22
|
}
|
|
23
|
-
`),Z=({isPending:n,statusCode:t})=>{const{formatMessage:r}=(0,L.useIntl)();return n?e.createElement(S.Stack,{horizontal:!0,spacing:2,style:{alignItems:"center"}},e.createElement($,{as:Ke()}),e.createElement(I.Typography,null,r({id:"Settings.webhooks.trigger.pending",defaultMessage:"pending"}))):t>=200&&t<300?e.createElement(S.Stack,{horizontal:!0,spacing:2,style:{alignItems:"center"}},e.createElement($,{as:Y(),color:"success700"}),e.createElement(I.Typography,null,r({id:"Settings.webhooks.trigger.success",defaultMessage:"success"}))):t>=300?e.createElement(S.Stack,{horizontal:!0,spacing:2,style:{alignItems:"center"}},e.createElement($,{as:ie(),color:"danger700"}),e.createElement(I.Typography,null,r({id:"Settings.error",defaultMessage:"error"})," ",t)):null};Z.propTypes={isPending:d().bool.isRequired,statusCode:d().number},Z.defaultProps={statusCode:void 0};const X=({statusCode:n,message:t})=>{const{formatMessage:r}=(0,L.useIntl)();return n>=200&&n<300?e.createElement(j.Flex,{justifyContent:"flex-end"},e.createElement(I.Typography,{textColor:"neutral600",ellipsis:!0},r({id:"Settings.webhooks.trigger.success.label",defaultMessage:"Trigger succeeded"}))):n>=300?e.createElement(j.Flex,{justifyContent:"flex-end"},e.createElement(j.Flex,{maxWidth:(0,i.pxToRem)(250),justifyContent:"flex-end",title:t},e.createElement(I.Typography,{ellipsis:!0,textColor:"neutral600"},t))):null};X.propTypes={statusCode:d().number,message:d().string},X.defaultProps={statusCode:void 0,message:void 0};const de=({onCancel:n})=>{const{formatMessage:t}=(0,L.useIntl)();return e.createElement(j.Flex,{justifyContent:"flex-end"},e.createElement("button",{onClick:n,type:"button"},e.createElement(S.Stack,{horizontal:!0,spacing:2,style:{alignItems:"center"}},e.createElement(I.Typography,{textColor:"neutral400"},t({id:"Settings.webhooks.trigger.cancel",defaultMessage:"cancel"})),e.createElement($,{as:ie(),color:"neutral400"}))))};de.propTypes={onCancel:d().func.isRequired};const Q=({isPending:n,onCancel:t,response:r})=>{const{statusCode:s,message:m}=r,{formatMessage:E}=(0,L.useIntl)();return e.createElement(F.Box,{background:"neutral0",padding:5,shadow:"filterShadow",hasRadius:!0},e.createElement(O.Grid,{gap:4,style:{alignItems:"center"}},e.createElement(O.GridItem,{col:3},e.createElement(I.Typography,null,E({id:"Settings.webhooks.trigger.test",defaultMessage:"Test-trigger"}))),e.createElement(O.GridItem,{col:3},e.createElement(Z,{isPending:n,statusCode:s})),e.createElement(O.GridItem,{col:6},n?e.createElement(de,{onCancel:t}):e.createElement(X,{statusCode:s,message:m}))))};Q.defaultProps={isPending:!1,onCancel
|
|
23
|
+
`),Z=({isPending:n,statusCode:t})=>{const{formatMessage:r}=(0,L.useIntl)();return n?e.createElement(S.Stack,{horizontal:!0,spacing:2,style:{alignItems:"center"}},e.createElement($,{as:Ke()}),e.createElement(I.Typography,null,r({id:"Settings.webhooks.trigger.pending",defaultMessage:"pending"}))):t>=200&&t<300?e.createElement(S.Stack,{horizontal:!0,spacing:2,style:{alignItems:"center"}},e.createElement($,{as:Y(),color:"success700"}),e.createElement(I.Typography,null,r({id:"Settings.webhooks.trigger.success",defaultMessage:"success"}))):t>=300?e.createElement(S.Stack,{horizontal:!0,spacing:2,style:{alignItems:"center"}},e.createElement($,{as:ie(),color:"danger700"}),e.createElement(I.Typography,null,r({id:"Settings.error",defaultMessage:"error"})," ",t)):null};Z.propTypes={isPending:d().bool.isRequired,statusCode:d().number},Z.defaultProps={statusCode:void 0};const X=({statusCode:n,message:t})=>{const{formatMessage:r}=(0,L.useIntl)();return n>=200&&n<300?e.createElement(j.Flex,{justifyContent:"flex-end"},e.createElement(I.Typography,{textColor:"neutral600",ellipsis:!0},r({id:"Settings.webhooks.trigger.success.label",defaultMessage:"Trigger succeeded"}))):n>=300?e.createElement(j.Flex,{justifyContent:"flex-end"},e.createElement(j.Flex,{maxWidth:(0,i.pxToRem)(250),justifyContent:"flex-end",title:t},e.createElement(I.Typography,{ellipsis:!0,textColor:"neutral600"},t))):null};X.propTypes={statusCode:d().number,message:d().string},X.defaultProps={statusCode:void 0,message:void 0};const de=({onCancel:n})=>{const{formatMessage:t}=(0,L.useIntl)();return e.createElement(j.Flex,{justifyContent:"flex-end"},e.createElement("button",{onClick:n,type:"button"},e.createElement(S.Stack,{horizontal:!0,spacing:2,style:{alignItems:"center"}},e.createElement(I.Typography,{textColor:"neutral400"},t({id:"Settings.webhooks.trigger.cancel",defaultMessage:"cancel"})),e.createElement($,{as:ie(),color:"neutral400"}))))};de.propTypes={onCancel:d().func.isRequired};const Q=({isPending:n,onCancel:t,response:r})=>{const{statusCode:s,message:m}=r,{formatMessage:E}=(0,L.useIntl)();return e.createElement(F.Box,{background:"neutral0",padding:5,shadow:"filterShadow",hasRadius:!0},e.createElement(O.Grid,{gap:4,style:{alignItems:"center"}},e.createElement(O.GridItem,{col:3},e.createElement(I.Typography,null,E({id:"Settings.webhooks.trigger.test",defaultMessage:"Test-trigger"}))),e.createElement(O.GridItem,{col:3},e.createElement(Z,{isPending:n,statusCode:s})),e.createElement(O.GridItem,{col:6},n?e.createElement(de,{onCancel:t}):e.createElement(X,{statusCode:s,message:m}))))};Q.defaultProps={isPending:!1,onCancel(){},response:{}},Q.propTypes={isPending:d().bool,onCancel:d().func,response:d().object};const ze=Q;var x=a(5173);const He=/(^$)|(^[A-Za-z][_0-9A-Za-z ]*$)/,Ne=/(^$)|((https?:\/\/.*)(d*)\/?(.*))/,Ze=x.Ry().shape({name:x.Z_(i.translatedErrors.string).required(i.translatedErrors.required).matches(He,i.translatedErrors.regex),url:x.Z_(i.translatedErrors.string).required(i.translatedErrors.required).matches(Ne,i.translatedErrors.regex),headers:x.Vo(n=>{let t=x.IX();if(n.length===1){const{key:r,value:s}=n[0];if(!r&&!s)return t}return t.of(x.Ry().shape({key:x.Z_().required(i.translatedErrors.required),value:x.Z_().required(i.translatedErrors.required)}))}),events:x.IX()}),J=({handleSubmit:n,data:t,triggerWebhook:r,isCreating:s,isTriggering:m,triggerResponse:E,isDraftAndPublishEvents:b})=>{const{formatMessage:l}=(0,L.useIntl)(),[f,y]=(0,e.useState)(!1);return e.createElement(D.Formik,{onSubmit:n,initialValues:{name:(t==null?void 0:t.name)||"",url:(t==null?void 0:t.url)||"",headers:Object.keys((t==null?void 0:t.headers)||[]).length?Object.entries(t.headers).map(([u,h])=>({key:u,value:h})):[{key:"",value:""}],events:(t==null?void 0:t.events)||[]},validationSchema:Ze,validateOnChange:!1,validateOnBlur:!1},({handleSubmit:u,errors:h})=>e.createElement(i.Form,{noValidate:!0},e.createElement(q.HeaderLayout,{primaryAction:e.createElement(S.Stack,{horizontal:!0,spacing:2},e.createElement(_.Button,{onClick:()=>{r(),y(!0)},variant:"tertiary",startIcon:e.createElement(Pe(),null),disabled:s||m,size:"L"},l({id:"Settings.webhooks.trigger",defaultMessage:"Trigger"})),e.createElement(_.Button,{startIcon:e.createElement(Y(),null),onClick:u,type:"submit",size:"L"},l({id:"global.save",defaultMessage:"Save"}))),title:s?l({id:"Settings.webhooks.create",defaultMessage:"Create a webhook"}):t==null?void 0:t.name,navigationAction:e.createElement(i.Link,{startIcon:e.createElement(Ee(),null),to:"/settings/webhooks"},l({id:"global.back",defaultMessage:"Back"}))}),e.createElement(q.ContentLayout,null,e.createElement(S.Stack,{spacing:4},f&&e.createElement("div",{className:"trigger-wrapper"},e.createElement(ze,{isPending:m,response:E,onCancel:()=>y(!1)})),e.createElement(F.Box,{background:"neutral0",padding:8,shadow:"filterShadow",hasRadius:!0},e.createElement(S.Stack,{spacing:6},e.createElement(O.Grid,{gap:6},e.createElement(O.GridItem,{col:6},e.createElement(D.Field,{as:z.TextInput,name:"name",error:h.name&&l({id:h.name}),label:l({id:"global.name",defaultMessage:"Name"}),required:!0})),e.createElement(O.GridItem,{col:12},e.createElement(D.Field,{as:z.TextInput,name:"url",error:h.url&&l({id:h.url}),label:l({id:"Settings.roles.form.input.url",defaultMessage:"Url"}),required:!0}))),e.createElement(Ue,null),e.createElement(we,{isDraftAndPublish:b})))))))};J.propTypes={data:d().object,handleSubmit:d().func.isRequired,triggerWebhook:d().func.isRequired,isCreating:d().bool.isRequired,isDraftAndPublishEvents:d().bool.isRequired,isTriggering:d().bool.isRequired,triggerResponse:d().object},J.defaultProps={data:void 0,triggerResponse:void 0};const Xe=J;var Qe=a(92891),Je=Object.defineProperty,Ye=Object.defineProperties,qe=Object.getOwnPropertyDescriptors,ue=Object.getOwnPropertySymbols,_e=Object.prototype.hasOwnProperty,et=Object.prototype.propertyIsEnumerable,ce=(n,t,r)=>t in n?Je(n,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):n[t]=r,me=(n,t)=>{for(var r in t||(t={}))_e.call(t,r)&&ce(n,r,t[r]);if(ue)for(var r of ue(t))et.call(t,r)&&ce(n,r,t[r]);return n},tt=(n,t)=>Ye(n,qe(t));const nt=n=>{const t=me({},n);return(0,Qe.set)(t,"headers",rt(n.headers)),t},rt=n=>n.reduce((t,r)=>{const{key:s,value:m}=r;return s!==""?tt(me({},t),{[s]:m}):t},{}),ge=nt;var pe=a(98399),at=Object.defineProperty,fe=Object.getOwnPropertySymbols,st=Object.prototype.hasOwnProperty,ot=Object.prototype.propertyIsEnumerable,he=(n,t,r)=>t in n?at(n,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):n[t]=r,lt=(n,t)=>{for(var r in t||(t={}))st.call(t,r)&&he(n,r,t[r]);if(fe)for(var r of fe(t))ot.call(t,r)&&he(n,r,t[r]);return n},ve=(n,t,r)=>new Promise((s,m)=>{var E=f=>{try{l(r.next(f))}catch(y){m(y)}},b=f=>{try{l(r.throw(f))}catch(y){m(y)}},l=f=>f.done?s(f.value):Promise.resolve(f.value).then(E,b);l((r=r.apply(n,t)).next())});const it=()=>{const{params:{id:n}}=(0,o.useRouteMatch)("/settings/webhooks/:id"),{replace:t}=(0,o.useHistory)(),{lockApp:r,unlockApp:s}=(0,i.useOverlayBlocker)(),m=(0,i.useNotification)(),E=(0,c.useQueryClient)(),{isLoading:b,collectionTypes:l}=(0,g.bP)(),f=n==="create",y=(0,e.useCallback)(M=>ve(void 0,null,function*(){const[A,{data:mt}]=yield(0,i.to)((0,i.request)(`/admin/webhooks/${M}`,{method:"GET"}));return A?(m({type:"warning",message:{id:"notification.error"}}),null):mt}),[m]),{isLoading:u,data:h}=(0,c.useQuery)(["get-webhook",n],()=>y(n),{enabled:!f}),{isLoading:p,data:T,isIdle:C,mutate:w}=(0,c.useMutation)(()=>v.be.post(`/admin/webhooks/${n}/trigger`)),G=()=>w(null,{onError(){m({type:"warning",message:{id:"notification.error"}})}}),K=(0,c.useMutation)(M=>(0,i.request)("/admin/webhooks",{method:"POST",body:M})),dt=(0,c.useMutation)(({id:M,body:A})=>(0,i.request)(`/admin/webhooks/${M}`,{method:"PUT",body:A})),ut=M=>ve(void 0,null,function*(){f?(r(),K.mutate(ge(M),{onSuccess(A){m({type:"success",message:{id:"Settings.webhooks.created"}}),t(`/settings/webhooks/${A.data.id}`),s()},onError(A){m({type:"warning",message:{id:"notification.error"}}),pe.log(A),s()}})):(r(),dt.mutate({id:n,body:ge(M)},{onSuccess(){E.invalidateQueries(["get-webhook",n]),m({type:"success",message:{id:"notification.form.success.fields"}}),s()},onError(A){m({type:"warning",message:{id:"notification.error"}}),pe.log(A),s()}}))}),ct=(0,e.useMemo)(()=>l.some(M=>M.options.draftAndPublish===!0),[l]);return u||b?e.createElement(i.LoadingIndicatorPage,null):e.createElement(P.Main,null,e.createElement(i.SettingsPageTitle,{name:"Webhooks"}),e.createElement(Xe,lt({},{handleSubmit:ut,data:h,triggerWebhook:G,isCreating:f,isTriggering:p,isTriggerIdle:C,triggerResponse:T==null?void 0:T.data.data,isDraftAndPublishEvents:ct})))}},33238:(B,R,a)=>{"use strict";a.r(R),a.d(R,{default:()=>v});var e=a(32735),i=a(88425),P=a.n(i),c=a(83983),o=a(47272);const v=()=>e.createElement(i.CheckPagePermissions,{permissions:c.Z.settings.webhooks.create},e.createElement(o.Z,null))},59021:(B,R,a)=>{"use strict";a.r(R),a.d(R,{default:()=>v});var e=a(32735),i=a(88425),P=a.n(i),c=a(83983),o=a(47272);const v=()=>e.createElement(i.CheckPagePermissions,{permissions:c.Z.settings.webhooks.update},e.createElement(o.Z,null))}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[2553],{35964:e=>{e.exports=JSON.parse('{"Analytics":"\u5206\u6790","Auth.components.Oops.text":"\u4F60\u7684\u5E10\u53F7\u5DF2\u7ECF\u88AB\u505C\u7528\u3002","Auth.components.Oops.text.admin":"\u5982\u679C\u8FD9\u662F\u4E2A\u9519\u8BEF\uFF0C\u8BF7\u8054\u7CFB\u4F60\u7684\u7BA1\u7406\u5458\u3002","Auth.components.Oops.title":"\u54CE\u5440...","Auth.form.active.label":"\u6FC0\u6D3B","Auth.form.button.forgot-password":"\u53D1\u9001\u7535\u5B50\u90AE\u4EF6","Auth.form.button.go-home":"\u56DE\u5230\u9996\u9875","Auth.form.button.login":"\u767B\u5F55","Auth.form.button.login.providers.error":"\u65E0\u6CD5\u901A\u8FC7\u9009\u5B9A\u7684\u9A8C\u8BC1\u65B9\u5F0F\u8FDE\u63A5\u4F60\u7684\u5E10\u53F7\u3002","Auth.form.button.login.strapi":"\u901A\u8FC7 Strapi \u767B\u5F55","Auth.form.button.password-recovery":"\u627E\u56DE\u5BC6\u7801","Auth.form.button.register":"\u51C6\u5907\u5F00\u59CB","Auth.form.confirmPassword.label":"\u786E\u8BA4\u5BC6\u7801","Auth.form.currentPassword.label":"\u5F53\u524D\u5BC6\u7801","Auth.form.email.label":"\u7535\u5B50\u90AE\u4EF6","Auth.form.email.placeholder":"\u4F8B\u5982 kai@doe.com","Auth.form.error.blocked":"\u4F60\u7684\u5E10\u53F7\u5DF2\u7ECF\u88AB\u7BA1\u7406\u5458\u7981\u7528\u3002","Auth.form.error.code.provide":"\u63D0\u4F9B\u7684\u4EE3\u7801\u4E0D\u6B63\u786E\u3002","Auth.form.error.confirmed":"\u60A8\u7684\u5E10\u53F7\u5173\u8054\u7684\u7535\u5B50\u90AE\u4EF6\u8FD8\u672A\u5F97\u5230\u786E\u8BA4\u3002","Auth.form.error.email.invalid":"\u7535\u5B50\u90AE\u4EF6\u683C\u5F0F\u4E0D\u6B63\u786E\u3002","Auth.form.error.email.provide":"\u8BF7\u63D0\u4F9B\u60A8\u7684\u7528\u6237\u540D\u6216\u7535\u5B50\u90AE\u4EF6\u3002","Auth.form.error.email.taken":"\u6B64\u7535\u5B50\u90AE\u4EF6\u5730\u5740\u5DF2\u88AB\u5360\u7528","Auth.form.error.invalid":"\u4F7F\u7528\u8005\u540D\u79F0\u6216\u5BC6\u7801\u65E0\u6548\u3002","Auth.form.error.params.provide":"\u5BC6\u7801\u4E0D\u6B63\u786E\u3002","Auth.form.error.password.format":"\u60A8\u7684\u5BC6\u7801\u4E0D\u80FD\u5305\u542B `$` \u7B26\u53F7\u8D85\u8FC7\u4E09\u6B21\u3002","Auth.form.error.password.local":"\u8FD9\u4E2A\u7528\u6237\u4ECE\u672A\u8BBE\u7F6E\u672C\u5730\u5BC6\u7801\uFF0C\u8BF7\u4F7F\u7528\u8D26\u6237\u521B\u5EFA\u65F6\u4F7F\u7528\u7684\u9A8C\u8BC1\u65B9\u5F0F\u767B\u5F55\u3002","Auth.form.error.password.matching":"\u5BC6\u7801\u4E0D\u5339\u914D\u3002","Auth.form.error.password.provide":"\u8BF7\u63D0\u4F9B\u60A8\u7684\u5BC6\u7801\u3002","Auth.form.error.ratelimit":"\u5C1D\u8BD5\u7684\u6B21\u6570\u8FC7\u591A\uFF0C\u8BF7\u7A0D\u540E\u518D\u8BD5\u3002","Auth.form.error.user.not-exist":"\u8FD9\u4E2A\u7535\u5B50\u90AE\u4EF6\u5730\u5740\u4E0D\u5B58\u5728\u3002","Auth.form.error.username.taken":"\u7528\u6237\u540D\u5DF2\u88AB\u5360\u7528\u3002","Auth.form.firstname.label":"\u540D\u5B57","Auth.form.firstname.placeholder":"\u4F8B\u5982\uFF1A\u4E09","Auth.form.forgot-password.email.label":"\u8F93\u5165\u60A8\u7684\u7535\u5B50\u90AE\u4EF6\u5730\u5740","Auth.form.forgot-password.email.label.success":"\u90AE\u4EF6\u6210\u529F\u53D1\u9001","Auth.form.lastname.label":"\u59D3\u6C0F","Auth.form.lastname.placeholder":"\u4F8B\u5982\uFF1A\u5F20","Auth.form.password.hide-password":"\u9690\u85CF\u5BC6\u7801","Auth.form.password.hint":"\u5BC6\u7801\u5FC5\u987B\u5305\u542B\u81F3\u5C11 8 \u4E2A\u5B57\u7B26\uFF0C1 \u4E2A\u5927\u5199\u5B57\u6BCD\uFF0C1 \u4E2A\u5C0F\u5199\u5B57\u6BCD\uFF0C1 \u4E2A\u6570\u5B57","Auth.form.password.show-password":"\u663E\u793A\u5BC6\u7801","Auth.form.register.news.label":"\u8BA9\u6211\u4E86\u89E3\u65B0\u7684\u529F\u80FD\u548C\u5373\u5C06\u5230\u6765\u7684\u6539\u8FDB (\u6253\u52FE\u8868\u793A\u4F60\u63A5\u53D7 {terms} \u548C {policy}))\u3002","Auth.form.register.subtitle":"\u4F60\u7684\u51ED\u8BC1\u53EA\u7528\u4E8E\u7BA1\u7406\u540E\u53F0\u9A8C\u8BC1\u4F60\u7684\u8EAB\u4EFD\u3002\u6240\u6709\u4FDD\u5B58\u7684\u6570\u636E\u90FD\u5C06\u50A8\u5B58\u5728\u4F60\u81EA\u5DF1\u7684\u6570\u636E\u5E93\u4E2D\u3002","Auth.form.rememberMe.label":"\u8BB0\u4F4F\u6211","Auth.form.username.label":"\u7528\u6237\u540D","Auth.form.username.placeholder":"\u5F20\u4E09","Auth.form.welcome.subtitle":"\u767B\u5F55\u60A8\u7684Strapi\u8D26\u6237","Auth.form.welcome.title":"\u6B22\u8FCE\uFF01","Auth.link.forgot-password":"\u5FD8\u8BB0\u5BC6\u7801\uFF1F","Auth.link.ready":"\u51C6\u5907\u597D\u767B\u5F55\u4E86\u5417\uFF1F","Auth.link.signin":"\u767B\u5F55","Auth.link.signin.account":"\u5DF2\u7ECF\u6709\u4E86\u4E00\u4E2A\u8D26\u6237\uFF1F","Auth.login.sso.divider":"\u6216\u7528\u4EE5\u4E0B\u65B9\u5F0F\u767B\u5F55","Auth.login.sso.loading":"\u6B63\u5728\u52A0\u8F7DSSO\u670D\u52A1\u63D0\u4F9B\u5546...","Auth.login.sso.subtitle":"\u901A\u8FC7SSO\u767B\u5F55\u5230\u4F60\u7684\u8D26\u6237","Auth.privacy-policy-agreement.policy":"\u9690\u79C1\u653F\u7B56","Auth.privacy-policy-agreement.terms":"\u4F7F\u7528\u6761\u6B3E","Content Manager":"\u5185\u5BB9\u7BA1\u7406","Content Type Builder":"\u5185\u5BB9\u7C7B\u578B\u6784\u5EFA\u5668","Documentation":"\u6587\u6863","Email":"\u7535\u5B50\u90AE\u4EF6","Files Upload":"\u6587\u4EF6\u4E0A\u4F20","HomePage.helmet.title":"\u9996\u9875","HomePage.roadmap":"\u67E5\u770B\u6211\u4EEC\u7684\u8DEF\u7EBF\u56FE","HomePage.welcome.congrats":"\u606D\u559C\uFF01","HomePage.welcome.congrats.content":"\u4F60\u767B\u5F55\u6210\u4E3A\u7B2C\u4E00\u4E2A\u7BA1\u7406\u5458\uFF0C\u63A2\u7D22 Strapi \u7684\u5F37\u5927\u529F\u80FD\uFF0C","HomePage.welcome.congrats.content.bold":"\u6211\u4EEC\u5EFA\u8BAE\u4F60\u521B\u5EFA\u4F60\u7684\u7B2C\u4E00\u4E2A\u96C6\u5408\u7C7B\u578B\u3002","Media Library":"\u5A92\u4F53\u5E93","New entry":"\u65B0\u6761\u76EE","Password":"\u5BC6\u7801","Provider":"\u63D0\u4F9B\u5546","ResetPasswordToken":"\u91CD\u7F6E\u5BC6\u7801\u4EE4\u724C","Role":"\u89D2\u8272","Roles & Permissions":"\u89D2\u8272\u548C\u6743\u9650","Roles.ListPage.notification.delete-all-not-allowed":"\u4E00\u4E9B\u89D2\u8272\u4E0D\u80FD\u88AB\u5220\u9664\uFF0C\u56E0\u4E3A\u5B83\u4EEC\u4E0E\u7528\u6237\u76F8\u5173\u3002","Roles.ListPage.notification.delete-not-allowed":"\u5982\u679C\u4E00\u4E2A\u89D2\u8272\u4E0E\u7528\u6237\u76F8\u5173\u8054\uFF0C\u5219\u4E0D\u80FD\u88AB\u5220\u9664","Roles.RoleRow.select-all":"\u9009\u62E9 {name} \u8FDB\u884C\u6279\u91CF\u64CD\u4F5C","Roles.components.List.empty.withSearch":"\u627E\u4E0D\u5230\u4F60\u641C\u7D22\u7684\u89D2\u8272 ({search})...","Settings.PageTitle":"\u8BBE\u7F6E - {name}","Settings.apiTokens.addFirstToken":"\u6DFB\u52A0\u4F60\u7684\u7B2C\u4E00\u4E2A API \u4EE4\u724C\u3002","Settings.apiTokens.addNewToken":"\u6DFB\u52A0\u65B0\u7684 API \u4EE4\u724C","Settings.apiTokens.copy.editMessage":"\u51FA\u4E8E\u5B89\u5168\u539F\u56E0\uFF0C\u4F60\u53EA\u80FD\u770B\u5230\u4F60\u7684\u4EE4\u724C\u4E00\u6B21\u3002","Settings.apiTokens.copy.editTitle":"\u8FD9\u4E2A\u4EE4\u724C\u5DF2\u7ECF\u65E0\u6CD5\u4F7F\u7528\u4E86\u3002","Settings.apiTokens.copy.lastWarning":"\u8BF7\u786E\u4FDD\u590D\u5236\u8FD9\u4E2A\u4EE4\u724C\uFF0C\u4F60\u5C06\u65E0\u6CD5\u518D\u770B\u5230\u5B83\u4E86!","Settings.apiTokens.create":"\u521B\u5EFA","Settings.apiTokens.description":"\u5DF2\u6DFB\u52A0\u7684\u53EF\u4F7F\u7528 API \u7684\u4EE4\u724C\u5217\u8868","Settings.apiTokens.emptyStateLayout":"\u4F60\u8FD8\u6CA1\u6709\u4EFB\u4F55\u5185\u5BB9...","Settings.apiTokens.notification.copied":"\u4EE4\u724C\u5DF2\u88AB\u590D\u5236\u81F3\u526A\u8D34\u677F\u3002","Settings.apiTokens.title":"API \u4EE4\u724C","Settings.apiTokens.types.full-access":"\u5B8C\u5168\u8BBF\u95EE","Settings.apiTokens.types.read-only":"\u53EA\u8BFB","Settings.application.description":"\u67E5\u770B\u9879\u76EE\u7684\u8BE6\u7EC6\u4FE1\u606F","Settings.application.edition-title":"\u5F53\u524D\u65B9\u6848","Settings.application.get-help":"\u83B7\u53D6\u5E2E\u52A9","Settings.application.link-pricing":"\u67E5\u770B\u6240\u6709\u4EF7\u683C","Settings.application.link-upgrade":"\u5347\u7EA7\u4F60\u7684\u7BA1\u7406\u540E\u53F0","Settings.application.node-version":"node \u7248\u672C","Settings.application.strapi-version":"strapi \u7248\u672C","Settings.application.strapiVersion":"strapi \u7248\u672C","Settings.application.title":"\u5E94\u7528\u7A0B\u5E8F","Settings.error":"\u9519\u8BEF","Settings.global":"\u5168\u5C40\u8BBE\u7F6E","Settings.permissions":"\u7BA1\u7406\u5458\u6743\u9650","Settings.permissions.category":"{category} \u7684\u6743\u9650\u8BBE\u7F6E","Settings.permissions.category.plugins":"{category} \u63D2\u4EF6\u7684\u6743\u9650\u8BBE\u7F6E","Settings.permissions.conditions.anytime":"\u4EFB\u4F55\u65F6\u5019","Settings.permissions.conditions.apply":"\u542F\u7528","Settings.permissions.conditions.can":"\u53EF\u4EE5","Settings.permissions.conditions.define-conditions":"\u5B9A\u4E49\u6761\u4EF6","Settings.permissions.conditions.links":"\u94FE\u63A5","Settings.permissions.conditions.no-actions":"\u4F60\u9996\u5148\u9700\u8981\u9009\u62E9\u52A8\u4F5C\uFF08\u521B\u5EFA\u3001\u8BFB\u53D6\u3001\u66F4\u65B0......\uFF09\uFF0C\u7136\u540E\u518D\u5BF9\u5176\u5B9A\u4E49\u6761\u4EF6\u3002","Settings.permissions.conditions.none-selected":"\u4EFB\u4F55\u65F6\u5019","Settings.permissions.conditions.or":"\u6216","Settings.permissions.conditions.when":"\u5F53","Settings.permissions.select-all-by-permission":"\u9009\u62E9\u6240\u6709 {label} \u6743\u9650","Settings.permissions.select-by-permission":"\u9009\u62E9 {label} \u6743\u9650","Settings.permissions.users.create":"\u9080\u8BF7\u65B0\u7528\u6237","Settings.permissions.users.email":"\u7535\u5B50\u90AE\u4EF6","Settings.permissions.users.firstname":"\u540D\u5B57","Settings.permissions.users.lastname":"\u59D3\u6C0F","Settings.permissions.users.user-status":"\u662F\u5426\u6FC0\u6D3B","Settings.permissions.users.roles":"\u7528\u6237\u89D2\u8272","Settings.permissions.users.username":"\u7528\u6237\u540D","Settings.permissions.users.active":"\u5DF2\u6FC0\u6D3B","Settings.permissions.users.inactive":"\u672A\u6FC0\u6D3B","Settings.permissions.users.form.sso":"\u901A\u8FC7 SSO \u767B\u5F55","Settings.permissions.users.form.sso.description":"\u5F53\u542F\u7528\u8FD9\u4E2A\u9009\u9879\uFF08ON\uFF09\u65F6\uFF0C\u7528\u6237\u53EF\u4EE5\u901A\u8FC7SSO\u767B\u5F55","Settings.permissions.users.listview.header.subtitle":"\u6240\u6709\u80FD\u591F\u8BBF\u95EE Strapi \u7BA1\u7406\u540E\u53F0\u7684\u7528\u6237","Settings.permissions.users.tabs.label":"\u6807\u7B7E\u9875\u6743\u9650","Settings.permissions.users.strapi-super-admin":"\u8D85\u7EA7\u7BA1\u7406\u5458","Settings.permissions.users.strapi-editor":"\u7F16\u8F91","Settings.permissions.users.strapi-author":"\u4F5C\u8005","Settings.profile.form.notify.data.loaded":"\u4F60\u7684\u4E2A\u4EBA\u6570\u636E\u5DF2\u7ECF\u52A0\u8F7D\u5B8C\u6210","Settings.profile.form.section.experience.clear.select":"\u6E05\u9664\u5DF2\u9009\u62E9\u7684\u754C\u9762\u8BED\u8A00","Settings.profile.form.section.experience.documentation":"\u6587\u6863","Settings.profile.form.section.experience.interfaceLanguage":"\u754C\u9762\u8BED\u8A00","Settings.profile.form.section.experience.interfaceLanguage.hint":"\u5C06\u4F1A\u7528\u6240\u9009\u62E9\u7684\u8BED\u8A00\u663E\u793A\u4F60\u7684\u754C\u9762","Settings.profile.form.section.experience.interfaceLanguageHelp":"\u5F53\u524D\u7684\u8BED\u8A00\u9009\u62E9\u53EA\u4F1A\u66F4\u6539\u4F60\u5F53\u524D\u5E10\u53F7\u754C\u9762\u8BED\u8A00\u3002 \u8BF7\u53C2\u8003\u6B64 {here} \u4E3A\u4F60\u7684\u56E2\u961F\u63D0\u4F9B\u5176\u4ED6\u8BED\u8A00\u3002","Settings.profile.form.section.experience.mode.label":"\u754C\u9762\u98CE\u683C","Settings.profile.form.section.experience.mode.hint":"\u5C06\u4F1A\u7528\u6240\u9009\u62E9\u7684\u98CE\u683C\u663E\u793A\u4F60\u7684\u754C\u9762","Settings.profile.form.section.experience.mode.option-label":"{name}\u754C\u9762","light":"\u6D45\u8272","dark":"\u6DF1\u8272","Settings.profile.form.section.experience.title":"\u4F53\u9A8C","Settings.profile.form.section.helmet.title":"\u7528\u6237\u4E2A\u4EBA\u4FE1\u606F","Settings.profile.form.section.profile.page.title":"\u4E2A\u4EBA\u4FE1\u606F\u9875\u9762","Settings.roles.create.description":"\u5B9A\u4E49\u8D4B\u4E88\u89D2\u8272\u7684\u6743\u9650","Settings.roles.create.title":"\u521B\u5EFA\u89D2\u8272","Settings.roles.created":"\u89D2\u8272\u5DF2\u521B\u5EFA","Settings.roles.edit.title":"\u7F16\u8F91\u89D2\u8272","Settings.roles.form.button.users-with-role":"{number, plural, =0 {# users} one {# user} other {# users}} \u662F\u8FD9\u4E2A\u89D2\u8272","Settings.roles.form.created":"\u5DF2\u521B\u5EFA","Settings.roles.form.description":"\u89D2\u8272\u7684\u540D\u79F0\u4E0E\u63CF\u8FF0","Settings.roles.form.permission.property-label":"{label} \u6743\u9650","Settings.roles.form.permissions.attributesPermissions":"\u5C5E\u6027\u6743\u9650","Settings.roles.form.permissions.create":"\u521B\u5EFA","Settings.roles.form.permissions.delete":"\u5220\u9664","Settings.roles.form.permissions.publish":"\u53D1\u5E03","Settings.roles.form.permissions.read":"\u8BFB\u53D6","Settings.roles.form.permissions.update":"\u66F4\u65B0","Settings.roles.list.button.add":"\u6DFB\u52A0\u89D2\u8272","Settings.roles.list.description":"\u89D2\u8272\u5217\u8868","Settings.roles.title.singular":"\u89D2\u8272","Settings.sso.description":"\u914D\u7F6E Single Sign-On \u5355\u70B9\u767B\u5F55 \u529F\u80FD\u7684\u8BBE\u7F6E\u3002","Settings.sso.form.defaultRole.description":"\u5B83\u5C06\u628A\u65B0\u7684\u8BA4\u8BC1\u7528\u6237\u9644\u52A0\u5230\u9009\u5B9A\u7684\u89D2\u8272\u4E0A\u3002","Settings.sso.form.defaultRole.description-not-allowed":"\u4F60\u9700\u8981\u6709\u8BFB\u53D6\u7BA1\u7406\u5458\u89D2\u8272\u7684\u6743\u9650","Settings.sso.form.defaultRole.label":"\u9ED8\u8BA4\u89D2\u8272","Settings.sso.form.registration.description":"\u5982\u679C\u6CA1\u6709\u8D26\u6237\u5B58\u5728\uFF0C\u5728SSO\u767B\u5F55\u65F6\u521B\u5EFA\u65B0\u7528\u6237\u3002","Settings.sso.form.registration.label":"\u81EA\u52A8\u6CE8\u518C","Settings.sso.title":"\u5355\u70B9\u767B\u5F55","Settings.webhooks.create":"\u521B\u5EFA Webhook","Settings.webhooks.create.header":"\u521B\u5EFA Header","Settings.webhooks.created":"Webhook \u5DF2\u521B\u5EFA","Settings.webhooks.event.publish-tooltip":"\u8FD9\u4E2A\u4E8B\u4EF6\u53EA\u9002\u7528\u4E8E\u542F\u7528\u4E86\u8349\u7A3F/\u53D1\u5E03\u7CFB\u7EDF\u7684\u5185\u5BB9","Settings.webhooks.events.create":"\u521B\u5EFA","Settings.webhooks.events.update":"\u66F4\u65B0","Settings.webhooks.form.events":"\u4E8B\u4EF6","Settings.webhooks.form.headers":"\u8BF7\u6C42\u5934","Settings.webhooks.form.url":"\u8BF7\u6C42\u5730\u5740","Settings.webhooks.headers.remove":"\u79FB\u9664\u7B2C {number} \u884C header","Settings.webhooks.key":"\u952E","Settings.webhooks.list.button.add":"\u6DFB\u52A0 Webhook","Settings.webhooks.list.description":"\u83B7\u5F97 POST \u8BF7\u6C42\u7684\u66F4\u65B0\u901A\u77E5","Settings.webhooks.list.empty.description":"\u6CA1\u6709\u627E\u5230 Webhooks","Settings.webhooks.list.empty.link":"\u67E5\u770B\u6211\u4EEC\u7684\u6587\u6863","Settings.webhooks.list.empty.title":"\u8FD8\u6CA1\u6709 Webhooks","Settings.webhooks.list.th.actions":"\u64CD\u4F5C","Settings.webhooks.list.th.status":"\u72B6\u6001","Settings.webhooks.singular":"webhook","Settings.webhooks.title":"Webhooks","Settings.webhooks.to.delete":"\u5DF2\u9009\u62E9{webhooksToDeleteLength, plural, one {# asset} other {# assets}}","Settings.webhooks.trigger":"\u89E6\u53D1","Settings.webhooks.trigger.cancel":"\u53D6\u6D88\u89E6\u53D1","Settings.webhooks.trigger.pending":"\u7B49\u5F85\u2026","Settings.webhooks.trigger.save":"\u8BF7\u4FDD\u5B58\u5230\u89E6\u53D1","Settings.webhooks.trigger.success":"\u6210\u529F\uFF01","Settings.webhooks.trigger.success.label":"\u89E6\u53D1\u6210\u529F","Settings.webhooks.trigger.test":"\u6D4B\u8BD5\u89E6\u53D1","Settings.webhooks.trigger.title":"\u89E6\u53D1\u524D\u5148\u4FDD\u5B58","Settings.webhooks.value":"\u503C","Username":"\u7528\u6237\u540D","Users":"\u7528\u6237","Users & Permissions":"\u7528\u6237\u548C\u6743\u9650","Users.components.List.empty":"\u8FD8\u6CA1\u6709\u7528\u6237...","Users.components.List.empty.withFilters":"\u6CA1\u6709\u7B26\u5408\u6761\u4EF6\u7684\u7528\u6237...","Users.components.List.empty.withSearch":"\u6CA1\u6709\u7B26\u5408\u641C\u7D22\u6761\u4EF6 ({search}) \u7684\u7528\u6237...","admin.pages.MarketPlacePage.helmet":"\u5E02\u573A - \u63D2\u4EF6","admin.pages.MarketPlacePage.submit.plugin.link":"\u63D0\u4EA4\u60A8\u7684\u63D2\u4EF6","admin.pages.MarketPlacePage.subtitle":"\u4ECEStrapi\u4E2D\u83B7\u5F97\u66F4\u591A","anErrorOccurred":"\u5509\u5440! \u51FA\u9519\u4E86\u3002\u8BF7\u518D\u8BD5\u4E00\u6B21\u3002","app.component.CopyToClipboard.label":"\u590D\u5236\u5230\u526A\u8D34\u677F","app.component.search.label":"\u641C\u7D22 {target}","app.component.table.duplicate":"\u521B\u5EFA {target} \u7684\u526F\u672C","app.component.table.edit":"\u7F16\u8F91 {target}","app.component.table.select.one-entry":"\u9009\u62E9 {target}","app.components.BlockLink.blog":"\u535A\u5BA2","app.components.BlockLink.blog.content":"\u9605\u8BFB\u6709\u5173Strapi\u548C\u751F\u6001\u7CFB\u7EDF\u7684\u6700\u65B0\u6D88\u606F\u3002","app.components.BlockLink.code":"\u4EE3\u7801\u793A\u4F8B","app.components.BlockLink.code.content":"\u901A\u8FC7\u8BD5\u7528\u793E\u533A\u5F00\u53D1\u7684\u771F\u5B9E\u9879\u76EE\u6765\u5B66\u4E60\u3002","app.components.BlockLink.documentation.content":"\u63A2\u7D22\u57FA\u672C\u6982\u5FF5\u3001\u6307\u5357\u548C\u8BF4\u660E\u3002","app.components.BlockLink.tutorial":"\u6559\u7A0B","app.components.BlockLink.tutorial.content":"\u6309\u7167\u624B\u628A\u624B\u6307\u5F15\u6765\u4F7F\u7528\u548C\u5B9A\u5236Strapi\u3002","app.components.Button.cancel":"\u53D6\u6D88","app.components.Button.confirm":"\u786E\u8BA4","app.components.Button.reset":"\u91CD\u7F6E","app.components.ComingSoonPage.comingSoon":"\u5373\u5C06\u63A8\u51FA","app.components.ConfirmDialog.title":"\u786E\u8BA4","app.components.DownloadInfo.download":"\u4E0B\u8F7D\u4E2D...","app.components.DownloadInfo.text":"\u8FD9\u53EF\u80FD\u9700\u8981\u51E0\u5206\u949F\u65F6\u95F4\u3002\u8C22\u8C22\u4F60\u7684\u8010\u5FC3\u3002","app.components.EmptyAttributes.title":"\u76EE\u524D\u8FD8\u6CA1\u6709\u4EFB\u4F55\u5B57\u6BB5","app.components.EmptyStateLayout.content-document":"\u76EE\u524D\u8FD8\u6CA1\u6709\u4EFB\u4F55\u5185\u5BB9\u3002","app.components.EmptyStateLayout.content-permissions":"\u4F60\u6CA1\u6709\u8BBF\u95EE\u8BE5\u5185\u5BB9\u7684\u6743\u9650","app.components.HomePage.button.blog":"\u5728\u535A\u5BA2\u4E0A\u5BDF\u770B\u66F4\u591A\u5185\u5BB9","app.components.HomePage.community":"\u52A0\u5165\u793E\u533A","app.components.HomePage.community.content":"\u5728\u4E0D\u540C\u7684\u9891\u9053\u4E2D\u4E0E\u56E2\u961F\u6210\u5458\u3001\u8D21\u732E\u8005\u548C\u5F00\u53D1\u8005\u8FDB\u884C\u8BA8\u8BBA\u3002","app.components.HomePage.create":"\u521B\u5EFA\u4F60\u7684\u7B2C\u4E00\u4E2A\u5185\u5BB9\u7C7B\u578B","app.components.HomePage.roadmap":"\u67E5\u770B\u6211\u4EEC\u7684\u8DEF\u7EBF\u56FE","app.components.HomePage.welcome":"\u6B22\u8FCE\u52A0\u5165 \u{1F44B}","app.components.HomePage.welcome.again":"\u6B22\u8FCE \u{1F44B}","app.components.HomePage.welcomeBlock.content":"\u606D\u559C! \u60A8\u5DF2\u767B\u5F55\u4E3A\u7B2C\u4E00\u4E2A\u7BA1\u7406\u5458\u3002\u4E3A\u4E86\u63A2\u7D22Strapi\u63D0\u4F9B\u7684\u5F3A\u5927\u529F\u80FD\uFF0C\u6211\u4EEC\u5EFA\u8BAE\u4F60\u521B\u5EFA\u4F60\u7684\u7B2C\u4E00\u4E2A\u5185\u5BB9\u7C7B\u578B","app.components.HomePage.welcomeBlock.content.again":"\u6211\u4EEC\u5E0C\u671B\u4F60\u5728\u4F60\u7684\u9879\u76EE\u4E0A\u6709\u6240\u8FDB\u5C55! \u8BF7\u968F\u65F6\u9605\u8BFB\u5173\u4E8EStrapi\u7684\u6700\u65B0\u6D88\u606F\u3002\u6211\u4EEC\u5C06\u6839\u636E\u60A8\u7684\u53CD\u9988\u610F\u89C1\uFF0C\u5C3D\u529B\u6539\u8FDB\u4EA7\u54C1\u3002","app.components.HomePage.welcomeBlock.content.issues":"\u95EE\u9898\u3002","app.components.HomePage.welcomeBlock.content.raise":"\u6216\u9F13\u52B1","app.components.ImgPreview.hint":"\u5C06\u4F60\u7684\u6587\u4EF6\u62D6\u653E\u5230\u8FD9\u4E2A\u533A\u57DF\uFF0C\u6216{browse}\u4E00\u4E2A\u8981\u4E0A\u4F20\u7684\u6587\u4EF6","app.components.ImgPreview.hint.browse":"\u6D4F\u89C8","app.components.InputFile.newFile":"\u6DFB\u52A0\u65B0\u6587\u4EF6","app.components.InputFileDetails.open":"\u5728\u65B0\u6807\u7B7E\u4E2D\u6253\u5F00","app.components.InputFileDetails.originalName":"\u539F\u6587\u4EF6\u540D\uFF1A","app.components.InputFileDetails.remove":"\u79FB\u9664\u6B64\u6587\u4EF6","app.components.InputFileDetails.size":"\u5927\u5C0F\uFF1A","app.components.InstallPluginPage.Download.description":"\u4E0B\u8F7D\u548C\u5B89\u88C5\u8BE5\u63D2\u4EF6\u53EF\u80FD\u9700\u8981\u51E0\u79D2\u949F\u3002","app.components.InstallPluginPage.Download.title":"\u4E0B\u8F7D\u4E2D...","app.components.InstallPluginPage.description":"\u8F7B\u677E\u5730\u6269\u5C55\u4F60\u7684\u5E94\u7528\u7A0B\u5E8F\u3002","app.components.LeftMenu.collapse":"\u6536\u8D77\u5BFC\u822A\u680F","app.components.LeftMenu.expand":"\u5C55\u5F00\u5BFC\u822A\u680F","app.components.LeftMenu.general":"\u901A\u7528","app.components.LeftMenu.logout":"\u9000\u51FA","app.components.LeftMenu.plugins":"\u63D2\u4EF6","app.components.LeftMenu.navbrand.title":"Strapi \u4EEA\u8868\u76D8","app.components.LeftMenu.navbrand.workplace":"\u5DE5\u4F5C\u7A7A\u95F4","app.components.LeftMenuFooter.help":"\u5E2E\u52A9","app.components.LeftMenuFooter.poweredBy":"\u7531\u4EE5\u4E0B\u673A\u6784\u63D0\u4F9B","app.components.LeftMenuLinkContainer.collectionTypes":"\u96C6\u5408\u7C7B\u578B","app.components.LeftMenuLinkContainer.configuration":"\u914D\u7F6E","app.components.LeftMenuLinkContainer.general":"\u901A\u7528","app.components.LeftMenuLinkContainer.noPluginsInstalled":"\u5C1A\u672A\u5B89\u88C5\u4EFB\u4F55\u63D2\u4EF6","app.components.LeftMenuLinkContainer.plugins":"\u63D2\u4EF6","app.components.LeftMenuLinkContainer.singleTypes":"\u5355\u4E00\u7C7B\u578B","app.components.ListPluginsPage.deletePlugin.description":"\u5378\u8F7D\u63D2\u4EF6\u53EF\u80FD\u9700\u8981\u51E0\u79D2\u949F\u3002","app.components.ListPluginsPage.deletePlugin.title":"\u5378\u8F7D\u4E2D","app.components.ListPluginsPage.description":"\u9879\u76EE\u4E2D\u5DF2\u5B89\u88C5\u7684\u63D2\u4EF6\u7684\u5217\u8868\u3002","app.components.ListPluginsPage.helmet.title":"\u63D2\u4EF6\u5217\u8868","app.components.Logout.logout":"\u9000\u51FA","app.components.Logout.profile":"\u4E2A\u4EBA\u8D44\u6599","app.components.MarketplaceBanner":"\u5728 Strapi Awesome \u4E0A\u53D1\u73B0\u7531\u793E\u533A\u5F00\u53D1\u7684\u63D2\u4EF6\uFF0C\u4EE5\u53CA\u66F4\u591A\u53EF\u4EE5\u542F\u52A8\u4F60\u7684\u9879\u76EE\u7684\u7CBE\u5F69\u5185\u5BB9\u3002","app.components.MarketplaceBanner.image.alt":"strapi \u706B\u7BAD\u6807\u5FD7","app.components.MarketplaceBanner.link":"\u7ACB\u5373\u67E5\u770B","app.components.NotFoundPage.back":"\u8FD4\u56DE\u9996\u9875","app.components.NotFoundPage.description":"\u627E\u4E0D\u5230\u6B64\u9875\u9762","app.components.Official":"\u5B98\u65B9","app.components.Onboarding.help.button":"\u5E2E\u52A9\u6309\u94AE","app.components.Onboarding.label.completed":"\u5B8C\u6210 %","app.components.Onboarding.title":"\u5165\u95E8\u5F71\u7247","app.components.PluginCard.Button.label.download":"\u4E0B\u8F7D","app.components.PluginCard.Button.label.install":"\u5DF2\u5B89\u88C5","app.components.PluginCard.PopUpWarning.install.impossible.autoReload.needed":"\u8981\u542F\u7528autoReload\u529F\u80FD\u3002\u8BF7\u7528`yarn develop`\u542F\u52A8\u4F60\u7684\u5E94\u7528\u7A0B\u5E8F\u3002","app.components.PluginCard.PopUpWarning.install.impossible.confirm":"\u6211\u4E86\u89E3\uFF01","app.components.PluginCard.PopUpWarning.install.impossible.environment":"\u51FA\u4E8E\u5B89\u5168\u539F\u56E0\uFF0C\u63D2\u4EF6\u53EA\u80FD\u5728\u5F00\u53D1\u73AF\u5883\u4E2D\u4E0B\u8F7D\u3002","app.components.PluginCard.PopUpWarning.install.impossible.title":"\u65E0\u6CD5\u4E0B\u8F7D","app.components.PluginCard.compatible":"\u4E0E\u4F60\u7684\u9879\u76EE\u517C\u5BB9","app.components.PluginCard.compatibleCommunity":"\u4E0E\u793E\u533A\u517C\u5BB9","app.components.PluginCard.more-details":"\u66F4\u591A\u8BE6\u60C5","app.components.ToggleCheckbox.off-label":"\u5173","app.components.ToggleCheckbox.on-label":"\u5F00","app.components.UpgradePlanModal.button":"\u4E86\u89D2\u66F4\u591A","app.components.UpgradePlanModal.limit-reached":"\u5DF2\u7ECF\u8FBE\u5230\u4E0A\u9650","app.components.UpgradePlanModal.text-ce":"\u793E\u533A\u7248","app.components.UpgradePlanModal.text-ee":"\u4F01\u4E1A\u7248","app.components.UpgradePlanModal.text-power":"\u901A\u8FC7\u5C06\u60A8\u7684\u65B9\u6848\u5347\u7EA7\u5230\u4F01\u4E1A\u7248\uFF0C\u5F00\u542F Strapi \u7684\u5168\u90E8\u529F\u80FD","app.components.UpgradePlanModal.text-strapi":"\u901A\u8FC7\u5C06\u4F60\u7684\u65B9\u6848\u5347\u7EA7\u5230 Strapi \u7684","app.components.Users.MagicLink.connect":"\u590D\u5236\u5E76\u5206\u4EAB\u6B64\u94FE\u63A5\u7ED9\u7528\u6237\u4EE5\u5F00\u901A\u8D26\u6237","app.components.Users.MagicLink.connect.sso":"\u5C06\u6B64\u94FE\u63A5\u53D1\u9001\u7ED9\u7528\u6237\uFF0C\u7B2C\u4E00\u6B21\u767B\u5F55\u53EF\u4EE5\u901A\u8FC7SSO\u4F9B\u5E94\u5546\u8FDB\u884C\u3002","app.components.Users.ModalCreateBody.block-title.details":"\u7528\u6237\u8BE6\u60C5","app.components.Users.ModalCreateBody.block-title.roles":"\u7528\u6237\u89D2\u8272","app.components.Users.ModalCreateBody.block-title.roles.description":"\u4E00\u4E2A\u7528\u6237\u53EF\u4EE5\u62E5\u6709\u4E00\u4E2A\u6216\u591A\u4E2A\u89D2\u8272","app.components.Users.SortPicker.button-label":"\u6392\u5E8F","app.components.Users.SortPicker.sortby.email_asc":"\u7535\u5B50\u90AE\u4EF6 (A to Z)","app.components.Users.SortPicker.sortby.email_desc":"\u7535\u5B50\u90AE\u4EF6 (Z to A)","app.components.Users.SortPicker.sortby.firstname_asc":"\u540D\u5B57 (A to Z)","app.components.Users.SortPicker.sortby.firstname_desc":"\u540D\u5B57 (Z to A)","app.components.Users.SortPicker.sortby.lastname_asc":"\u59D3\u6C0F (A to Z)","app.components.Users.SortPicker.sortby.lastname_desc":"\u59D3\u6C0F (Z to A)","app.components.Users.SortPicker.sortby.username_asc":"\u7528\u6237\u540D (A to Z)","app.components.Users.SortPicker.sortby.username_desc":"\u7528\u6237\u540D (Z to A)","app.components.listPlugins.button":"\u6DFB\u52A0\u63D2\u4EF6","app.components.listPlugins.title.none":"\u8FD8\u6CA1\u6709\u5B89\u88C5\u63D2\u4EF6","app.components.listPluginsPage.deletePlugin.error":"\u5378\u8F7D\u63D2\u4EF6\u65F6\u53D1\u751F\u9519\u8BEF","app.containers.App.notification.error.init":"\u8BF7\u6C42 API \u65F6\u53D1\u751F\u9519\u8BEF","app.containers.AuthPage.ForgotPasswordSuccess.text.contact-admin":"\u5982\u679C\u4F60\u6CA1\u6709\u6536\u5230\u8FD9\u4E2A\u94FE\u63A5\uFF0C\u8BF7\u8054\u7CFB\u4F60\u7684\u7BA1\u7406\u5458\u3002","app.containers.AuthPage.ForgotPasswordSuccess.text.email":"\u6536\u5230\u4F60\u7684\u5BC6\u7801\u6062\u590D\u94FE\u63A5\u53EF\u80FD\u9700\u8981\u51E0\u5206\u949F\u65F6\u95F4\u3002","app.containers.AuthPage.ForgotPasswordSuccess.title":"\u7535\u5B50\u90AE\u4EF6\u5DF2\u53D1\u9001","app.containers.Users.EditPage.form.active.label":"\u6709\u6548","app.containers.Users.EditPage.header.label":"\u7F16\u8F91 {name}","app.containers.Users.EditPage.header.label-loading":"\u7F16\u8F91\u7528\u6237","app.containers.Users.EditPage.roles-bloc-title":"\u5F52\u5C5E\u7684\u89D2\u8272","app.containers.Users.ModalForm.footer.button-success":"\u9080\u8BF7\u7528\u6237","app.links.configure-view":"\u914D\u7F6E\u89C6\u56FE","app.static.links.cheatsheet":"\u5FEB\u901F\u624B\u518C","app.utils.SelectOption.defaultMessage":" ","app.utils.add-filter":"\u6DFB\u52A0\u8FC7\u6EE4\u5668","app.utils.close-label":"\u5173\u95ED","app.utils.defaultMessage":" ","app.utils.duplicate":"\u521B\u5EFA\u526F\u672C","app.utils.edit":"\u7F16\u8F91","app.utils.errors.file-too-big.message":"\u6587\u4EF6\u592A\u5927\u4E86","app.utils.filter-value":"\u8FC7\u6EE4\u503C","app.utils.filters":"\u8FC7\u6EE4\u5668","app.utils.notify.data-loaded":"{target} \u5DF2\u52A0\u8F7D","app.utils.placeholder.defaultMessage":" ","app.utils.publish":"\u53D1\u5E03","app.utils.select-all":"\u5168\u9009","app.utils.select-field":"\u9009\u62E9\u5B57\u6BB5","app.utils.select-filter":"\u9009\u62E9\u8FC7\u6EE4\u5668","app.utils.unpublish":"\u53D6\u6D88\u53D1\u5E03","clearLabel":"\u6E05\u9664","coming.soon":"\u6B64\u5185\u5BB9\u76EE\u524D\u6B63\u5728\u5EFA\u8BBE\u4E2D\uFF0C\u5C06\u5728\u51E0\u5468\u540E\u6062\u590D!","component.Input.error.validation.integer":"\u8FD9\u4E2A\u503C\u5FC5\u987B\u662F\u4E00\u4E2A\u6574\u6570","components.AutoReloadBlocker.description":"\u7528\u4EE5\u4E0B\u547D\u4EE4\u4E4B\u4E00\u8FD0\u884CStrapi\uFF1A","components.AutoReloadBlocker.header":"\u8FD9\u4E2A\u63D2\u4EF6\u9700\u8981\u91CD\u65B0\u52A0\u8F7D\u540E\u624D\u80FD\u8F7D\u5165","components.ErrorBoundary.title":"\u51FA\u9519\u4E86...","components.FilterOptions.FILTER_TYPES.$contains":"\u5305\u542B (\u533A\u5206\u5927\u5C0F\u5199)","components.FilterOptions.FILTER_TYPES.$endsWith":"\u7ED3\u675F\u4E8E","components.FilterOptions.FILTER_TYPES.$eq":"\u7B49\u4E8E","components.FilterOptions.FILTER_TYPES.$gt":"\u5927\u4E8E","components.FilterOptions.FILTER_TYPES.$gte":"\u5927\u4E8E\u6216\u7B49\u4E8E","components.FilterOptions.FILTER_TYPES.$lt":"\u5C0F\u4E8E","components.FilterOptions.FILTER_TYPES.$lte":"\u5C0F\u4E8E\u6216\u7B49\u4E8E","components.FilterOptions.FILTER_TYPES.$ne":"\u4E0D\u7B49\u4E8E","components.FilterOptions.FILTER_TYPES.$neq":"\u4E0D\u7B49\u4E8E","components.FilterOptions.FILTER_TYPES.$notContains":"\u4E0D\u5305\u542B (\u533A\u5206\u5927\u5C0F\u5199)","components.FilterOptions.FILTER_TYPES.$notNull":"\u4E0D\u4E3A\u7A7A","components.FilterOptions.FILTER_TYPES.$null":"\u4E3A\u7A7A","components.FilterOptions.FILTER_TYPES.$startsWith":"\u5F00\u59CB\u4E8E","components.Input.error.attribute.key.taken":"\u503C\u5DF2\u88AB\u5360\u7528","components.Input.error.attribute.sameKeyAndName":"\u4E0D\u80FD\u76F8\u540C","components.Input.error.attribute.taken":"\u5B57\u6BB5\u540D\u5DF2\u88AB\u5360\u7528","components.Input.error.contain.lowercase":"\u5BC6\u7801\u81F3\u5C11\u5305\u542B\u4E00\u4E2A\u5C0F\u5199\u5B57\u6BCD","components.Input.error.contain.number":"\u5BC6\u7801\u81F3\u5C11\u5305\u542B\u4E00\u4E2A\u6570\u5B57","components.Input.error.contain.uppercase":"\u5BC6\u7801\u81F3\u5C11\u5305\u542B\u4E00\u4E2A\u5927\u5199\u5B57\u6BCD","components.Input.error.contentTypeName.taken":"\u540D\u79F0\u5DF2\u88AB\u5360\u7528","components.Input.error.custom-error":"{errorMessage} ","components.Input.error.password.noMatch":"\u5BC6\u7801\u4E0D\u5339\u914D","components.Input.error.validation.email":"\u90AE\u7BB1\u683C\u5F0F\u4E0D\u6B63\u786E","components.Input.error.validation.json":"JSON\u683C\u5F0F\u4E0D\u6B63\u786E","components.Input.error.validation.max":"\u5927\u4E8E\u6700\u5927\u503C","components.Input.error.validation.maxLength":"\u957F\u5EA6\u592A\u957F","components.Input.error.validation.min":"\u5C0F\u4E8E\u6700\u5C0F\u503C","components.Input.error.validation.minLength":"\u957F\u5EA6\u592A\u77ED","components.Input.error.validation.minSupMax":"\u6700\u5C0F\u503C\u4E0D\u80FD\u5927\u4E8E\u6700\u5927\u503C","components.Input.error.validation.regex":"\u6B63\u5219\u8868\u8FBE\u5F0F\u683C\u5F0F\u4E0D\u6B63\u786E\u3002","components.Input.error.validation.required":"\u5FC5\u586B\u9879","components.Input.error.validation.unique":"\u5DF2\u88AB\u5360\u7528","components.InputSelect.option.placeholder":"\u9009\u62E9","components.ListRow.empty":"\u6CA1\u6709\u6570\u636E\u53EF\u4EE5\u663E\u793A","components.NotAllowedInput.text":"\u6CA1\u6709\u6743\u9650\u663E\u793A\u6B64\u5B57\u6BB5","components.OverlayBlocker.description":"\u4F60\u6B63\u5728\u4F7F\u7528\u4E00\u4E2A\u9700\u8981\u670D\u52A1\u5668\u91CD\u65B0\u542F\u52A8\u7684\u529F\u80FD\u3002\u8BF7\u7B49\u5F85\uFF0C\u76F4\u5230\u670D\u52A1\u5668\u542F\u52A8\u3002","components.OverlayBlocker.description.serverError":"\u670D\u52A1\u5668\u5DF2\u7ECF\u91CD\u65B0\u542F\u52A8\uFF0C\u8BF7\u5728\u7EC8\u7AEF\u68C0\u67E5\u65E5\u5FD7\u3002","components.OverlayBlocker.title":"\u7B49\u5F85\u91CD\u65B0\u542F\u52A8...","components.OverlayBlocker.title.serverError":"\u91CD\u65B0\u542F\u52A8\u65F6\u95F4\u8D85\u8FC7\u9884\u671F","components.PageFooter.select":"\u6761\u6BCF\u9875","components.ProductionBlocker.description":"\u4E3A\u4E86\u5B89\u5168\u8D77\u89C1\uFF0C\u6211\u4EEC\u5FC5\u987B\u5728\u5176\u4ED6\u73AF\u5883\u4E0B\u7981\u7528\u8FD9\u4E2A\u63D2\u4EF6\u3002","components.ProductionBlocker.header":"\u8FD9\u4E2A\u63D2\u4EF6\u53EA\u5728\u5F00\u53D1\u73AF\u5883\u4E2D\u53EF\u7528\u3002","components.Search.placeholder":"\u641C\u7D22...","components.TableHeader.sort":"\u6309{label}\u6392\u5E8F","components.Wysiwyg.ToggleMode.markdown-mode":"Markdown \u6A21\u5F0F","components.Wysiwyg.ToggleMode.preview-mode":"\u9884\u89C8\u6A21\u5F0F","components.Wysiwyg.collapse":"\u6536\u8D77","components.Wysiwyg.selectOptions.H1":"\u6807\u98981","components.Wysiwyg.selectOptions.H2":"\u6807\u98982","components.Wysiwyg.selectOptions.H3":"\u6807\u98983","components.Wysiwyg.selectOptions.H4":"\u6807\u98984","components.Wysiwyg.selectOptions.H5":"\u6807\u98985","components.Wysiwyg.selectOptions.H6":"\u6807\u98986","components.Wysiwyg.selectOptions.title":"\u6DFB\u52A0\u6807\u9898","components.WysiwygBottomControls.charactersIndicators":"\u5B57\u7B26","components.WysiwygBottomControls.fullscreen":"\u5C55\u5F00","components.WysiwygBottomControls.uploadFiles":"\u62D6\u653E\u6587\u4EF6\uFF0C\u4ECE\u526A\u8D34\u677F\u7C98\u8D34\u6216 {browse}.","components.WysiwygBottomControls.uploadFiles.browse":"\u9009\u62E9\u6587\u4EF6","components.pagination.go-to":"\u5230 {page} \u9875","components.pagination.go-to-next":"\u4E0B\u4E00\u9875","components.pagination.go-to-previous":"\u4E0A\u4E00\u9875","components.pagination.remaining-links":"\u53CA {number} \u4E2A\u5176\u4ED6\u94FE\u63A5","components.popUpWarning.button.cancel":"\u4E0D, \u53D6\u6D88","components.popUpWarning.button.confirm":"\u662F, \u786E\u8BA4","components.popUpWarning.message":"\u4F60\u786E\u5B9A\u8981\u5220\u9664\u8FD9\u4E2A\u5417\uFF1F","components.popUpWarning.title":"\u8BF7\u786E\u8BA4","containers.SettingPage.add.relational-field":"\u63D2\u5165\u53E6\u4E00\u4E2A\u5173\u7CFB\u5B57\u6BB5","containers.SettingPage.editSettings.description":"\u62D6\u653E\u5B57\u6BB5\u6765\u6784\u5EFA\u5E03\u5C40","content-manager.App.schemas.data-loaded":"\u6A21\u5F0F\u5DF2\u7ECF\u6210\u529F\u52A0\u8F7D","content-manager.DynamicTable.relation-loaded":"\u5173\u8054\u5DF2\u7ECF\u6210\u529F\u52A0\u8F7D","content-manager.EditRelations.title":"\u5173\u8054\u6570\u636E","content-manager.HeaderLayout.button.label-add-entry":"\u6DFB\u52A0\u6761\u76EE","content-manager.api.id":"API ID","content-manager.components.AddFilterCTA.add":"\u8FC7\u6EE4\u5668","content-manager.components.AddFilterCTA.hide":"\u8FC7\u6EE4\u5668","content-manager.components.DragHandle-label":"\u62D6\u66F3","content-manager.components.DraggableAttr.edit":"\u70B9\u51FB\u4EE5\u7F16\u8F91","content-manager.components.DraggableCard.delete.field":"\u5220\u9664 {item}","content-manager.components.DraggableCard.edit.field":"\u7F16\u8F91 {item}","content-manager.components.DraggableCard.move.field":"\u79FB\u52A8 {item}","content-manager.components.DynamicTable.row-line":"\u7B2C {number} \u6761\u8BB0\u5F55","content-manager.components.DynamicZone.ComponentPicker-label":"\u9009\u62E9\u4E00\u4E2A\u7EC4\u4EF6","content-manager.components.DynamicZone.add-component":"\u6DFB\u52A0\u7EC4\u4EF6 {componentName}","content-manager.components.DynamicZone.delete-label":"\u5220\u9664 {name}","content-manager.components.DynamicZone.error-message":"\u8FD9\u4E2A\u7EC4\u4EF6\u6709\u9519\u8BEF","content-manager.components.DynamicZone.missing-components":"\u8FD9\u91CC {number, plural, =0 {\u6709 # \u9057\u5931\u7684\u7EC4\u4EF6} one {\u6709 # \u9057\u5931\u7684\u7EC4\u4EF6} other {\u6709 # \u9057\u5931\u7684\u7EC4\u4EF6}}","content-manager.components.DynamicZone.move-down-label":"\u5C06\u7EC4\u4EF6\u5411\u4E0B\u79FB\u52A8","content-manager.components.DynamicZone.move-up-label":"\u5C06\u7EC4\u4EF6\u5411\u4E0A\u79FB\u52A8","content-manager.components.DynamicZone.pick-compo":"\u9009\u62E9\u4E00\u4E2A\u7EC4\u4EF6","content-manager.components.DynamicZone.required":"\u5FC5\u987B\u6709\u4E00\u4E2A\u7EC4\u4EF6","content-manager.components.EmptyAttributesBlock.button":"\u524D\u5F80\u8BBE\u7F6E\u9875\u9762","content-manager.components.EmptyAttributesBlock.description":"\u4F60\u53EF\u4EE5\u66F4\u6539\u4F60\u7684\u8BBE\u7F6E","content-manager.components.FieldItem.linkToComponentLayout":"\u8BBE\u7F6E\u7EC4\u4EF6\u7684\u5E03\u5C40","content-manager.components.FieldSelect.label":"\u6DFB\u52A0\u4E00\u4E2A\u5B57\u6BB5","content-manager.components.FilterOptions.button.apply":"\u5E94\u7528","content-manager.components.FiltersPickWrapper.PluginHeader.actions.apply":"\u5E94\u7528","content-manager.components.FiltersPickWrapper.PluginHeader.actions.clearAll":"\u6E05\u9664\u6240\u6709","content-manager.components.FiltersPickWrapper.PluginHeader.description":"\u8BBE\u7F6E\u8FC7\u6EE4\u6761\u76EE\u7684\u6761\u4EF6","content-manager.components.FiltersPickWrapper.PluginHeader.title.filter":"\u8FC7\u6EE4\u5668","content-manager.components.FiltersPickWrapper.hide":"\u9690\u85CF","content-manager.components.LeftMenu.Search.label":"\u641C\u7D22\u5185\u5BB9\u7C7B\u578B","content-manager.components.LeftMenu.collection-types":"\u96C6\u5408\u7C7B\u578B","content-manager.components.LeftMenu.single-types":"\u5355\u4E00\u7C7B\u578B","content-manager.components.LimitSelect.itemsPerPage":"\u6BCF\u9875\u663E\u793A\u6761\u76EE\u6570","content-manager.components.NotAllowedInput.text":"\u6CA1\u6709\u6743\u9650\u663E\u793A\u6B64\u5B57\u6BB5","content-manager.components.RepeatableComponent.error-message":"\u8FD9\u4E2A\u7EC4\u4EF6\u5305\u542B\u9519\u8BEF","content-manager.components.Search.placeholder":"\u641C\u7D22...","content-manager.components.Select.draft-info-title":"\u72B6\u6001: \u8349\u7A3F","content-manager.components.Select.publish-info-title":"\u72B6\u6001: \u5DF2\u53D1\u5E03","content-manager.components.SettingsViewWrapper.pluginHeader.description.edit-settings":"\u81EA\u5B9A\u4E49\u7F16\u8F91\u89C6\u56FE\u7684\u5916\u89C2\u3002","content-manager.components.SettingsViewWrapper.pluginHeader.description.list-settings":"\u5B9A\u4E49\u5217\u8868\u89C6\u56FE\u7684\u8BBE\u7F6E\u3002","content-manager.components.SettingsViewWrapper.pluginHeader.title":"\u914D\u7F6E\u89C6\u56FE - {name}","content-manager.components.TableDelete.delete":"\u5220\u9664\u6240\u6709","content-manager.components.TableDelete.deleteSelected":"\u5220\u9664\u5DF2\u9009","content-manager.components.TableDelete.label":"\u5DF2\u9009\u62E9 {number, plural, one {# \u4E2A\u6761\u76EE} other {# \u4E2A\u6761\u76EE}}","content-manager.components.TableEmpty.withFilters":"\u6309\u8FC7\u6EE4\u6761\u4EF6\u627E\u4E0D\u5230 {contentType}...","content-manager.components.TableEmpty.withSearch":"\u6309\u641C\u7D22\u6761\u4EF6 ({search}) \u627E\u4E0D\u5230\u76F8\u5E94\u7684 {contentType}...","content-manager.components.TableEmpty.withoutFilter":"\u627E\u4E0D\u5230 {contentType}...","content-manager.components.empty-repeatable":"\u8FD8\u6CA1\u6709\u6761\u76EE\u3002\u70B9\u51FB\u4E0B\u9762\u7684\u6309\u94AE\u6DFB\u52A0\u4E00\u4E2A\u3002","content-manager.components.notification.info.maximum-requirement":"\u4F60\u5DF2\u7ECF\u8FBE\u5230\u4E86\u53EF\u5B9A\u4E49\u5B57\u6BB5\u6570\u7684\u6700\u5927\u6570\u91CF","content-manager.components.notification.info.minimum-requirement":"\u6DFB\u52A0\u4E00\u4E2A\u5B57\u6BB5\u4EE5\u7B26\u5408\u5B9A\u4E49\u5B57\u6BB5\u6570\u7684\u6700\u4F4E\u8981\u6C42","content-manager.components.repeatable.reorder.error":"\u5728\u91CD\u65B0\u6392\u5E8F\u60A8\u7684\u7EC4\u4EF6\u5B57\u6BB5\u65F6\u53D1\u751F\u9519\u8BEF\uFF0C\u8BF7\u91CD\u8BD5","content-manager.components.reset-entry":"\u91CD\u7F6E\u6761\u76EE","content-manager.components.uid.apply":"\u5E94\u7528","content-manager.components.uid.available":"\u53EF\u7528","content-manager.components.uid.regenerate":"\u91CD\u65B0\u751F\u6210","content-manager.components.uid.suggested":"\u63A8\u8350","content-manager.components.uid.unavailable":"\u4E0D\u53EF\u7528","content-manager.containers.Edit.Link.Layout":"\u914D\u7F6E\u5E03\u5C40","content-manager.containers.Edit.Link.Model":"\u7F16\u8F91\u96C6\u5408\u7C7B\u578B","content-manager.containers.Edit.addAnItem":"\u6DFB\u52A0\u5173\u8054...","content-manager.containers.Edit.clickToJump":"\u70B9\u51FB\u8DF3\u8F6C\u5230\u8BE5\u6761\u76EE","content-manager.containers.Edit.delete":"\u5220\u9664","content-manager.containers.Edit.delete-entry":"\u5220\u9664\u8BE5\u6761\u76EE","content-manager.containers.Edit.editing":"\u7F16\u8F91\u4E2D...","content-manager.containers.Edit.information":"\u4FE1\u606F","content-manager.containers.Edit.information.by":"\u64CD\u4F5C\u4EBA","content-manager.containers.Edit.information.created":"\u521B\u5EFA\u4E8E","content-manager.containers.Edit.information.draftVersion":"\u8349\u7A3F\u7248\u672C","content-manager.containers.Edit.information.editing":"\u7F16\u8F91\u4E2D","content-manager.containers.Edit.information.lastUpdate":"\u66F4\u65B0\u4E8E","content-manager.containers.Edit.information.publishedVersion":"\u5DF2\u53D1\u5E03\u7248\u672C","content-manager.containers.Edit.pluginHeader.title.new":"\u521B\u5EFA\u65B0\u6761\u76EE","content-manager.containers.Edit.reset":"\u91CD\u7F6E","content-manager.containers.Edit.returnList":"\u8FD4\u56DE\u5217\u8868","content-manager.containers.Edit.seeDetails":"\u8BE6\u60C5","content-manager.containers.Edit.submit":"\u4FDD\u5B58","content-manager.containers.EditSettingsView.modal-form.edit-field":"\u7F16\u8F91\u5B57\u6BB5","content-manager.containers.EditView.add.new-entry":"\u6DFB\u52A0\u65B0\u6761\u76EE","content-manager.containers.EditView.notification.errors":"\u8868\u5355\u4E2D\u5305\u542B\u4E00\u4E9B\u9519\u8BEF","content-manager.containers.Home.introduction":"\u8981\u7F16\u8F91\u4F60\u7684\u6761\u76EE\uFF0C\u8BF7\u5230\u5DE6\u8FB9\u83DC\u5355\u4E2D\u7684\u7279\u5B9A\u94FE\u63A5\u3002\u8FD9\u4E2A\u63D2\u4EF6\u5C1A\u5728\u79EF\u6781\u5F00\u53D1\u4E2D\uFF0C\u6CA1\u6709\u9002\u5F53\u7684\u65B9\u6CD5\u6765\u7F16\u8F91\u8BBE\u7F6E","content-manager.containers.Home.pluginHeaderDescription":"\u901A\u8FC7\u4E00\u4E2A\u5F3A\u5927\u800C\u6F02\u4EAE\u7684\u754C\u9762\u7BA1\u7406\u4F60\u7684\u6761\u76EE\u3002","content-manager.containers.Home.pluginHeaderTitle":"\u5185\u5BB9\u7BA1\u7406\u5668","content-manager.containers.List.draft":"\u8349\u7A3F","content-manager.containers.List.errorFetchRecords":"\u9519\u8BEF","content-manager.containers.List.published":"\u5DF2\u53D1\u5E03","content-manager.containers.ListPage.displayedFields":"\u663E\u793A\u5B57\u6BB5","content-manager.containers.ListPage.items":"{number, plural, =0 {\u9879} one {\u9879} other {\u9879}}","content-manager.containers.ListPage.table-headers.publishedAt":"\u72B6\u6001","content-manager.containers.ListSettingsView.modal-form.edit-label":"\u7F16\u8F91 {fieldName}","content-manager.containers.SettingPage.add.field":"\u6DFB\u52A0\u5B57\u6BB5","content-manager.containers.SettingPage.add.relational-field":"\u6DFB\u52A0\u5173\u8054\u5B57\u6BB5","content-manager.containers.SettingPage.attributes":"\u5C5E\u6027","content-manager.containers.SettingPage.attributes.description":"\u5B9A\u4E49\u5B57\u6BB5\u7684\u6392\u5E8F","content-manager.containers.SettingPage.editSettings.description":"\u62D6\u653E\u5B57\u6BB5\u4EE5\u5EFA\u7ACB\u5E03\u5C40","content-manager.containers.SettingPage.editSettings.entry.title":"\u6761\u76EE\u6807\u9898","content-manager.containers.SettingPage.editSettings.entry.title.description":"\u8BBE\u7F6E\u53EF\u663E\u793A\u7684\u5B57\u6BB5","content-manager.containers.SettingPage.editSettings.relation-field.description":"\u8BBE\u7F6E\u5728\u7F16\u8F91\u548C\u5217\u8868\u89C6\u56FE\u4E2D\u90FD\u53EF\u663E\u793A\u7684\u5B57\u6BB5","content-manager.containers.SettingPage.editSettings.title":"\u7F16\u8F91 (\u8BBE\u7F6E)","content-manager.containers.SettingPage.layout":"\u5E03\u5C40","content-manager.containers.SettingPage.listSettings.description":"\u914D\u7F6E\u96C6\u5408\u7C7B\u578B\u7684\u9009\u9879","content-manager.containers.SettingPage.listSettings.title":"\u5217\u8868\u89C6\u56FE (\u8BBE\u7F6E)","content-manager.containers.SettingPage.pluginHeaderDescription":"\u914D\u7F6E\u6307\u5B9A\u96C6\u5408\u7C7B\u578B\u7684\u8BBE\u7F6E","content-manager.containers.SettingPage.relations":"\u5173\u8054\u5B57\u6BB5","content-manager.containers.SettingPage.settings":"\u8BBE\u7F6E","content-manager.containers.SettingPage.view":"\u89C6\u56FE","content-manager.containers.SettingViewModel.pluginHeader.title":"\u5185\u5BB9\u7BA1\u7406\u5668 - {\u540D\u79F0}","content-manager.containers.SettingsPage.Block.contentType.description":"\u914D\u7F6E\u6307\u5B9A\u5185\u5BB9\u7C7B\u578B\u7684\u8BBE\u7F6E","content-manager.containers.SettingsPage.Block.contentType.title":"\u96C6\u5408\u7C7B\u578B","content-manager.containers.SettingsPage.Block.generalSettings.description":"\u4E3A\u4F60\u7684\u96C6\u5408\u7C7B\u578B\u914D\u7F6E\u9ED8\u8BA4\u9009\u9879","content-manager.containers.SettingsPage.Block.generalSettings.title":"\u901A\u7528","content-manager.containers.SettingsPage.pluginHeaderDescription":"\u4E3A\u4F60\u6240\u6709\u7684\u96C6\u5408\u7C7B\u578B\u548C\u7EC4\u914D\u7F6E\u8BBE\u7F6E","content-manager.containers.SettingsView.list.subtitle":"\u914D\u7F6E\u4F60\u7684\u96C6\u5408\u7C7B\u578B\u548C\u7EC4\u7684\u5E03\u5C40\u548C\u663E\u793A","content-manager.containers.SettingsView.list.title":"\u663E\u793A\u914D\u7F6E","content-manager.edit-settings-view.link-to-ctb.components":"\u7F16\u8F91\u7EC4\u4EF6","content-manager.edit-settings-view.link-to-ctb.content-types":"\u7F16\u8F91\u5185\u5BB9\u7C7B\u578B","content-manager.emptyAttributes.button":"\u524D\u5F80\u96C6\u5408\u7C7B\u578B\u6784\u5EFA\u5668","content-manager.emptyAttributes.description":"\u4E3A\u4F60\u7684\u96C6\u5408\u7C7B\u578B\u4E2D\u6DFB\u52A0\u4F60\u7684\u7B2C\u4E00\u4E2A\u5B57\u6BB5","content-manager.emptyAttributes.title":"\u76EE\u524D\u8FD8\u6CA1\u6709\u4EFB\u4F55\u5B57\u6BB5","content-manager.error.attribute.key.taken":"\u8BE5\u503C\u5DF2\u5B58\u5728","content-manager.error.attribute.sameKeyAndName":"\u4E0D\u80FD\u76F8\u540C","content-manager.error.attribute.taken":"\u8BE5\u5B57\u6BB5\u540D\u5DF2\u5B58\u5728","content-manager.error.contentTypeName.taken":"\u8BE5\u540D\u79F0\u5DF2\u5B58\u5728","content-manager.error.model.fetch":"\u5728\u83B7\u53D6\u6A21\u578B\u914D\u7F6E\u65F6\u53D1\u751F\u4E86\u4E00\u4E2A\u9519\u8BEF\u3002","content-manager.error.record.create":"\u5728\u521B\u5EFA\u8BB0\u5F55\u65F6\u53D1\u751F\u4E86\u4E00\u4E2A\u9519\u8BEF\u3002","content-manager.error.record.delete":"\u5728\u5220\u9664\u8BB0\u5F55\u65F6\u53D1\u751F\u4E86\u4E00\u4E2A\u9519\u8BEF\u3002","content-manager.error.record.fetch":"\u5728\u83B7\u53D6\u8BB0\u5F55\u65F6\u53D1\u751F\u4E86\u4E00\u4E2A\u9519\u8BEF\u3002","content-manager.error.record.update":"\u5728\u8BB0\u5F55\u66F4\u65B0\u65F6\u53D1\u751F\u4E86\u4E00\u4E2A\u9519\u8BEF\u3002","content-manager.error.records.count":"\u5728\u83B7\u53D6\u8BA1\u6570\u5668\u8BB0\u5F55\u65F6\u53D1\u751F\u4E86\u4E00\u4E2A\u9519\u8BEF\u3002","content-manager.error.records.fetch":"\u5728\u83B7\u53D6\u8BB0\u5F55\u65F6\u53D1\u751F\u4E86\u4E00\u4E2A\u9519\u8BEF\u3002","content-manager.error.schema.generation":"\u5728\u751F\u6210\u6A21\u5F0F\u65F6\u53D1\u751F\u4E86\u4E00\u4E2A\u9519\u8BEF\u3002","content-manager.error.validation.json":"\u65E0\u6548\u7684JSON\u683C\u5F0F","content-manager.error.validation.max":"\u6570\u503C\u592A\u5927","content-manager.error.validation.maxLength":"\u957F\u5EA6\u592A\u957F","content-manager.error.validation.min":"\u6570\u503C\u592A\u5C0F","content-manager.error.validation.minLength":"\u957F\u5EA6\u592A\u77ED","content-manager.error.validation.minSupMax":"\u6700\u5C0F\u503C\u4E0D\u80FD\u5927\u4E8E\u6700\u5927\u503C","content-manager.error.validation.regex":"\u6B63\u5219\u8868\u8FBE\u5F0F\u683C\u5F0F\u4E0D\u6B63\u786E","content-manager.error.validation.required":"\u5FC5\u586B\u9879","content-manager.form.Input.bulkActions":"\u5F00\u542F\u6279\u91CF\u64CD\u4F5C","content-manager.form.Input.defaultSort":"\u9ED8\u8BA4\u6392\u5E8F\u5B57\u6BB5","content-manager.form.Input.description":"\u63CF\u8FF0","content-manager.form.Input.description.placeholder":"\u8FD9\u4E2A\u5B57\u6BB5\u7684\u63CF\u8FF0","content-manager.form.Input.editable":"\u53EF\u7F16\u8F91\u5B57\u6BB5","content-manager.form.Input.filters":"\u5F00\u542F\u8FC7\u6EE4\u5668","content-manager.form.Input.label":"\u6807\u7B7E","content-manager.form.Input.label.inputDescription":"\u8BE5\u503C\u4F1A\u8986\u76D6\u663E\u793A\u5728\u8868\u5934\u7684\u6807\u7B7E","content-manager.form.Input.pageEntries":"\u6BCF\u9875\u6761\u76EE\u6570","content-manager.form.Input.pageEntries.inputDescription":"\u6CE8\u610F\uFF1A\u4F60\u53EF\u4EE5\u5728\u96C6\u5408\u7C7B\u578B\u8BBE\u7F6E\u9875\u9762\u4E2D\u8986\u76D6\u8BE5\u503C","content-manager.form.Input.placeholder":"\u63D0\u793A\u4FE1\u606F","content-manager.form.Input.placeholder.placeholder":"\u5728\u6587\u5B57\u8F93\u5165\u6846\u4E2D\u663E\u793A\u63D0\u793A\u4FE1\u606F","content-manager.form.Input.search":"\u5F00\u542F\u641C\u7D22","content-manager.form.Input.search.field":"\u5141\u8BB8\u8BE5\u5B57\u6BB5\u88AB\u641C\u7D22","content-manager.form.Input.sort.field":"\u5141\u8BB8\u6309\u8BE5\u5B57\u6BB5\u6392\u5E8F","content-manager.form.Input.sort.order":"\u9ED8\u8BA4\u6392\u5E8F\u987A\u5E8F","content-manager.form.Input.wysiwyg":"\u6240\u89C1\u5373\u6240\u5F97\u7F16\u8F91\u5668","content-manager.global.displayedFields":"\u5DF2\u663E\u793A\u5B57\u6BB5","content-manager.groups":"\u7FA4\u7EC4","content-manager.groups.numbered":"\u7FA4\u7EC4 ({number})","content-manager.header.name":"\u5185\u5BB9","content-manager.link-to-ctb":"\u7F16\u8F91\u6A21\u578B","content-manager.models":"\u96C6\u5408\u7C7B\u578B","content-manager.models.numbered":"\u96C6\u5408\u7C7B\u578B ({number})","content-manager.notification.error.displayedFields":"\u4F60\u81F3\u5C11\u9700\u8981\u663E\u793A\u4E00\u4E2A\u5B57\u6BB5","content-manager.notification.error.relationship.fetch":"\u5728\u83B7\u53D6\u5173\u7CFB\u65F6\u53D1\u751F\u4E86\u4E00\u4E2A\u9519\u8BEF","content-manager.notification.info.SettingPage.disableSort":"\u4F60\u81F3\u5C11\u9700\u8981\u4E00\u4E2A\u7528\u6765\u6392\u5E8F\u7684\u5B57\u6BB5","content-manager.notification.info.minimumFields":"\u4F60\u81F3\u5C11\u9700\u8981\u4E00\u4E2A\u7528\u6765\u663E\u793A\u7684\u5B57\u6BB5","content-manager.notification.upload.error":"\u5728\u4E0A\u4F20\u6587\u4EF6\u65F6\u53D1\u751F\u4E86\u4E00\u4E2A\u9519\u8BEF","content-manager.pageNotFound":"\u627E\u4E0D\u5230\u9875\u9762","content-manager.pages.ListView.header-subtitle":"\u627E\u5230 {number, plural, =0 {# \u6761\u76EE} one {# \u6761\u76EE} other {# \u6761\u76EE}}","content-manager.pages.NoContentType.button":"\u521B\u5EFA\u4F60\u7684\u7B2C\u4E00\u4E2A\u5185\u5BB9\u7C7B\u578B","content-manager.pages.NoContentType.text":"\u8FD8\u6CA1\u6709\u4EFB\u4F55\u5185\u5BB9\uFF0C\u6211\u4EEC\u5EFA\u8BAE\u60A8\u521B\u5EFA\u60A8\u7684\u7B2C\u4E00\u4E2A\u5185\u5BB9\u7C7B\u578B\u3002","content-manager.permissions.not-allowed.create":"\u4F60\u4E0D\u88AB\u5141\u8BB8\u521B\u5EFA\u6587\u6863","content-manager.permissions.not-allowed.update":"\u4F60\u4E0D\u88AB\u5141\u8BB8\u67E5\u770B\u6587\u4EF6","content-manager.plugin.description.long":"\u67E5\u770B\u3001\u7F16\u8F91\u548C\u5220\u9664\u6570\u636E\u5E93\u4E2D\u7684\u6570\u636E\u7684\u5FEB\u901F\u65B9\u6CD5\u3002","content-manager.plugin.description.short":"\u67E5\u770B\u3001\u7F16\u8F91\u548C\u5220\u9664\u6570\u636E\u5E93\u4E2D\u7684\u6570\u636E\u7684\u5FEB\u901F\u65B9\u6CD5\u3002","content-manager.popUpWarning.bodyMessage.contentType.delete":"\u4F60\u786E\u5B9A\u8981\u5220\u9664\u8FD9\u4E2A\u6761\u76EE\u5417\uFF1F","content-manager.popUpWarning.bodyMessage.contentType.delete.all":"\u4F60\u786E\u5B9A\u8981\u5220\u9664\u8FD9\u4E9B\u6761\u76EE\u5417\uFF1F","content-manager.popUpWarning.warning.cancelAllSettings":"\u4F60\u786E\u5B9A\u8981\u53D6\u6D88\u8FD9\u4E9B\u4FEE\u6539\u5417\uFF1F","content-manager.popUpWarning.warning.publish-question":"\u4F60\u8FD8\u60F3\u53D1\u5E03\u8FD9\u4E2A\u6761\u76EE\u5417\uFF1F","content-manager.popUpWarning.warning.unpublish":"\u53D6\u6D88\u53D1\u5E03\u8FD9\u4E2A\u5185\u5BB9<br></br>\u5C06\u81EA\u52A8\u53D8\u6210\u8349\u7A3F.","content-manager.popUpWarning.warning.unpublish-question":"\u4F60\u786E\u5B9A\u4F60\u8981\u53D6\u6D88\u53D1\u5E03\u5417\uFF1F","content-manager.popUpWarning.warning.updateAllSettings":"\u8FD9\u5C06\u4FEE\u6539\u4F60\u7684\u6240\u6709\u8BBE\u7F6E","content-manager.popUpwarning.warning.has-draft-relations.button-confirm":"\u662F, \u53D1\u5E03","content-manager.popUpwarning.warning.has-draft-relations.message":"<b>{count, plural, =0 { \u4E2A\u5173\u8054\u7684\u5185\u5BB9} one { \u4E2A\u5173\u8054\u7684\u5185\u5BB9} other { \u4E2A\u5173\u8054\u7684\u5185\u5BB9}}</b> \u5C1A\u672A\u53D1\u5E03\u3002<br></br>\u5B83\u53EF\u80FD\u4F1A\u5728\u4F60\u7684\u9879\u76EE\u4E0A\u4EA7\u751F\u5173\u8054\u5931\u6548\u548C\u9519\u8BEF\u3002","content-manager.popover.display-relations.label":"\u663E\u793A\u5173\u8054","content-manager.select.currently.selected":"\u5DF2\u9009\u4E2D {count} \u9879","content-manager.success.record.delete":"\u5DF2\u5220\u9664","content-manager.success.record.publish":"\u5DF2\u53D1\u5E03","content-manager.success.record.save":"\u5DF2\u4FDD\u5B58","content-manager.success.record.unpublish":"\u5DF2\u53D6\u6D88\u53D1\u5E03","content-manager.utils.data-loaded":"\u8FD9\u4E2A {number, plural, =1 {\u6761\u76EE} other {\u6761\u76EE}} \u5DF2\u6210\u529F\u52A0\u8F7D","content-type-builder.button.component.create":"\u521B\u5EFA\u4E00\u4E2A\u65B0\u7684\u7EC4\u4EF6","content-type-builder.button.model.create":"\u521B\u5EFA\u4E00\u4E2A\u65B0\u7684\u96C6\u5408\u7C7B\u578B","content-type-builder.button.single-types.create":"\u521B\u65B0\u4E00\u4E2A\u65B0\u7684\u5355\u4E00\u7C7B\u578B","content-type-builder.form.button.add.field.to.collectionType":"\u4E3A\u8FD9\u4E2A\u96C6\u5408\u7C7B\u578B\u6DFB\u52A0\u53E6\u4E00\u4E2A\u5B57\u6BB5","content-type-builder.form.button.add.field.to.singleType":"\u4E3A\u8FD9\u4E2A\u5355\u4E00\u7C7B\u578B\u6DFB\u52A0\u53E6\u4E00\u4E2A\u5B57\u6BB5","content-type-builder.listView.headerLayout.description":"\u5B9A\u4E49\u5185\u5BB9\u7684\u6570\u636E\u7ED3\u6784","content-type-builder.menu.section.components.name":"\u7EC4\u4EF6","content-type-builder.menu.section.models.name":"\u96C6\u5408\u7C7B\u578B","content-type-builder.menu.section.single-types.name":"\u5355\u4E00\u7C7B\u578B","content-type-builder.plugin.name":"\u6A21\u578B\u6784\u5EFA\u5668","form.button.done":"\u5B8C\u6210","global.search":"\u641C\u7D22","global.back":"\u8FD4\u56DE","global.cancel":"\u53D6\u6D88","global.change-password":"\u4FEE\u6539\u5BC6\u7801","global.content-manager":"\u5185\u5BB9\u7BA1\u7406","global.delete":"\u5220\u9664","global.delete-target":"\u5220\u9664 {target}","global.description":"\u63CF\u8FF0","global.details":"\u8BE6\u60C5","global.documentation":"\u6587\u6863","global.finish":"\u5B8C\u6210","global.marketplace":"\u5E02\u573A","global.name":"\u540D\u79F0","global.password":"\u5BC6\u7801","global.plugins":"\u63D2\u4EF6","global.plugins.content-manager":"\u5185\u5BB9\u7BA1\u7406","global.plugins.content-manager.description":"\u5728\u4F60\u7684\u6570\u636E\u5E93\u91CC\uFF0C\u5FEB\u901F\u7684\u67E5\u770B\u3001\u7F16\u8F91\u548C\u5220\u9664\u6570\u636E\u3002","global.plugins.content-type-builder":"\u6A21\u578B\u6784\u5EFA\u5668","global.plugins.content-type-builder.description":"\u5BF9\u4F60\u7684 API \u6570\u636E\u7ED3\u6784\u8FDB\u884C\u5EFA\u6A21\u3002\u5728\u77ED\u77ED\u7684\u4E00\u5206\u949F\u5185\u521B\u5EFA\u65B0\u7684\u5B57\u6BB5\u548C\u5173\u7CFB\u3002\u8FD9\u4E9B\u6587\u4EF6\u4F1A\u5728\u4F60\u7684\u9879\u76EE\u4E2D\u81EA\u52A8\u521B\u5EFA\u548C\u66F4\u65B0\u3002","global.plugins.email":"\u7535\u5B50\u90AE\u4EF6","global.plugins.email.description":"\u914D\u7F6E\u4F60\u7684\u5E94\u7528\u7A0B\u5E8F\u6765\u53D1\u9001\u7535\u5B50\u90AE\u4EF6\u3002","global.plugins.upload":"\u5A92\u4F53\u5E93","global.plugins.upload.description":"\u5A92\u4F53\u6587\u4EF6\u7BA1\u7406\u3002","global.plugins.graphql":"GraphQL","global.plugins.graphql.description":"\u6DFB\u52A0\u5177\u6709\u9ED8\u8BA4 API \u65B9\u6CD5\u7684 GraphQL \u7AEF\u70B9","global.plugins.documentation":"\u6587\u6863","global.plugins.documentation.description":"\u521B\u5EFA\u4E00\u4E2A OpenAPI \u6587\u6863\uFF0C\u7528 SWAGGER UI \u6765\u53EF\u89C6\u5316\u4F60\u7684 API\u3002","global.plugins.i18n":"\u56FD\u9645\u5316","global.plugins.i18n.description":"\u8FD9\u4E2A\u63D2\u4EF6\u53EF\u4EE5\u4ECE\u7BA1\u7406\u9762\u677F\u548C API \u4E2D\u521B\u5EFA\u3001\u9605\u8BFB\u548C\u66F4\u65B0\u4E0D\u540C\u8BED\u8A00\u7684\u5185\u5BB9\u3002","global.plugins.sentry":"Sentry","global.plugins.sentry.description":"\u5C06 Strapi \u9519\u8BEF\u4E8B\u4EF6\u53D1\u9001\u7ED9 Sentry\u3002","global.plugins.users-permissions":"\u89D2\u8272\u548C\u6743\u9650","global.plugins.users-permissions.description":"\u7528\u4E00\u4E2A\u57FA\u4E8E JWT \u7684\u5B8C\u6574\u8BA4\u8BC1\u8FC7\u7A0B\u6765\u4FDD\u62A4\u4F60\u7684 API\u3002\u8FD9\u4E2A\u63D2\u4EF6\u8FD8\u5E26\u6709\u4E00\u4E2A ACL \u7B56\u7565\uFF0C\u5141\u8BB8\u4F60\u7BA1\u7406\u7528\u6237\u7EC4\u4E4B\u95F4\u7684\u6743\u9650\u3002","global.profile":"\u4E2A\u4EBA\u8D44\u6599","global.prompt.unsaved":"\u60A8\u786E\u5B9A\u8981\u79BB\u5F00\u8FD9\u4E2A\u9875\u9762\u5417\uFF1F\u60A8\u6240\u6709\u7684\u672A\u4FDD\u5B58\u7684\u4FEE\u6539\u90FD\u5C06\u4E22\u5931","global.roles":"\u89D2\u8272\u5217\u8868","global.save":"\u4FDD\u5B58","global.settings":"\u8BBE\u7F6E","global.users":"\u7528\u6237\u5217\u8868","global.type":"\u7C7B\u578B","notification.contentType.relations.conflict":"\u5185\u5BB9\u7C7B\u578B\u6709\u5173\u8054\u51B2\u7A81","notification.default.title":"\u901A\u77E5\uFF1A","notification.error":"\u53D1\u751F\u9519\u8BEF","notification.error.layout":"\u65E0\u6CD5\u83B7\u53D6\u5E03\u5C40","notification.form.error.fields":"\u8868\u5355\u5305\u542B\u4E00\u4E9B\u9519\u8BEF","notification.form.success.fields":"\u4FEE\u6539\u5DF2\u4FDD\u5B58","notification.link-copied":"\u94FE\u63A5\u5DF2\u590D\u5236\u5230\u526A\u8D34\u677F","notification.permission.not-allowed-read":"\u4F60\u4E0D\u88AB\u5141\u8BB8\u67E5\u770B\u6587\u4EF6","notification.success.delete":"\u6761\u76EE\u5DF2\u5220\u9664","notification.success.saved":"\u5DF2\u4FDD\u5B58","notification.success.title":"\u6210\u529F\uFF1A","notification.version.update.message":"\u6709\u65B0\u7248\u672C\u7684 Strapi \u53EF\u7528!","notification.warning.title":"\u8B66\u544A\uFF1A","or":"\u6216","request.error.model.unknown":"\u6A21\u578B\u4E0D\u5B58\u5728","skipToContent":"\u8DF3\u81F3\u5185\u5BB9","submit":"\u63D0\u4EA4"}')}}]);
|