{formattedContentTypeLayout.map((block, blockIndex) => {
if (isDynamicZone(block)) {
@@ -285,7 +285,8 @@ const EditView = ({
currentEnvironment,
slug,
source,
- emitEvent
+ emitEvent,
+ true
)}
diff --git a/packages/strapi-plugin-content-manager/admin/src/containers/ListView/components.js b/packages/strapi-plugin-content-manager/admin/src/containers/ListView/components.js
index 4fc82a4385..b327bd5fef 100644
--- a/packages/strapi-plugin-content-manager/admin/src/containers/ListView/components.js
+++ b/packages/strapi-plugin-content-manager/admin/src/containers/ListView/components.js
@@ -4,7 +4,7 @@ import { Button } from 'strapi-helper-plugin';
import RemoveIcon from '../../assets/images/icon-cross-blue.svg';
const Wrapper = styled.div`
- padding-top: 19px;
+ padding-top: 1px;
`;
const AddFilterCta = styled(Button)`
diff --git a/packages/strapi-plugin-content-manager/admin/src/translations/en.json b/packages/strapi-plugin-content-manager/admin/src/translations/en.json
index 169d870cf9..51aba85bd5 100644
--- a/packages/strapi-plugin-content-manager/admin/src/translations/en.json
+++ b/packages/strapi-plugin-content-manager/admin/src/translations/en.json
@@ -57,6 +57,7 @@
"containers.Edit.submit": "Save",
"containers.Edit.Link.Layout": "Configure the layout",
"containers.Edit.Link.Fields": "Edit the fields",
+ "containers.Edit.Link.Model": "Edit the content-type",
"containers.EditView.notification.errors": "The form contains some errors",
"containers.Home.introduction": "To edit your entries go to the specific link in the left menu. This plugin doesn't have a proper way to edit settings and it's still under active development.",
"containers.Home.pluginHeaderDescription": "Manage your entries through a powerful and beautiful interface.",
diff --git a/packages/strapi-plugin-content-manager/admin/src/translations/fr.json b/packages/strapi-plugin-content-manager/admin/src/translations/fr.json
index 73799193ce..0497941c04 100644
--- a/packages/strapi-plugin-content-manager/admin/src/translations/fr.json
+++ b/packages/strapi-plugin-content-manager/admin/src/translations/fr.json
@@ -57,6 +57,7 @@
"containers.EditView.notification.errors": "Le formulaire contient des erreurs",
"containers.Edit.Link.Layout": "Paramétrer la vue",
"containers.Edit.Link.Fields": "Éditer le modèle",
+ "containers.Edit.Link.Model": "Éditer le modèle",
"containers.Home.introduction": "Pour éditer du contenu, choisissez un type de données dans le menu de gauche.",
"containers.Home.pluginHeaderDescription": "Créer et modifier votre type de contenu",
"containers.Home.pluginHeaderTitle": "Type de contenu",
diff --git a/packages/strapi-plugin-content-manager/admin/src/containers/EditView/utils/getComponents.js b/packages/strapi-plugin-content-manager/admin/src/utils/getComponents.js
similarity index 94%
rename from packages/strapi-plugin-content-manager/admin/src/containers/EditView/utils/getComponents.js
rename to packages/strapi-plugin-content-manager/admin/src/utils/getComponents.js
index 4b720835c7..e1e01f6df4 100644
--- a/packages/strapi-plugin-content-manager/admin/src/containers/EditView/utils/getComponents.js
+++ b/packages/strapi-plugin-content-manager/admin/src/utils/getComponents.js
@@ -1,6 +1,6 @@
import React from 'react';
import { get } from 'lodash';
-import pluginId from '../../../pluginId';
+import pluginId from '../pluginId';
/**
* Retrieve external links from injected components
@@ -12,7 +12,8 @@ const getInjectedComponents = (
currentEnvironment,
slug,
source,
- emitEvent
+ emitEvent,
+ push
) => {
const componentsToInject = Object.keys(plugins).reduce((acc, current) => {
// Retrieve injected compos from plugin
@@ -35,6 +36,7 @@ const getInjectedComponents = (
getContentTypeBuilderBaseUrl={() =>
'/plugins/content-type-builder/models/'
}
+ push={push}
{...compo.props}
key={compo.key}
onClick={() => {
diff --git a/packages/strapi-plugin-content-type-builder/admin/src/InjectedComponents/ContentManager/EditViewButton.js b/packages/strapi-plugin-content-type-builder/admin/src/InjectedComponents/ContentManager/EditViewButton.js
new file mode 100644
index 0000000000..5441e0a347
--- /dev/null
+++ b/packages/strapi-plugin-content-type-builder/admin/src/InjectedComponents/ContentManager/EditViewButton.js
@@ -0,0 +1,59 @@
+/**
+ *
+ * EditViewButton
+ *
+ */
+
+import React from 'react';
+import PropTypes from 'prop-types';
+import { useGlobalContext } from 'strapi-helper-plugin';
+import { Button } from '@buffetjs/core';
+
+// Create link from content-type-builder to content-manager
+function EditViewButton(props) {
+ const { formatMessage } = useGlobalContext();
+ // Retrieve URL from props
+ const base = `${props.getContentTypeBuilderBaseUrl()}${props.getModelName()}`;
+ const url =
+ props.getSource() === 'users-permissions'
+ ? `${base}&source=${props.getSource()}`
+ : base;
+
+ const handleClick = () => {
+ props.push(url);
+ };
+
+ if (props.getSource() === 'admin') {
+ return null;
+ }
+
+ if (props.currentEnvironment === 'development') {
+ return (
+
+ );
+ }
+
+ return null;
+}
+
+EditViewButton.propTypes = {
+ currentEnvironment: PropTypes.string.isRequired,
+ getContentTypeBuilderBaseUrl: PropTypes.func.isRequired,
+ getModelName: PropTypes.func.isRequired,
+ getSource: PropTypes.func.isRequired,
+ push: PropTypes.func.isRequired,
+};
+
+export default EditViewButton;
diff --git a/packages/strapi-plugin-content-type-builder/admin/src/index.js b/packages/strapi-plugin-content-type-builder/admin/src/index.js
index f3f8d93cb0..247ce31421 100644
--- a/packages/strapi-plugin-content-type-builder/admin/src/index.js
+++ b/packages/strapi-plugin-content-type-builder/admin/src/index.js
@@ -4,6 +4,7 @@ import pluginPkg from '../../package.json';
import App from './containers/App';
import Initializer from './containers/Initializer';
import Link from './InjectedComponents/ContentManager/EditViewLink';
+import Button from './InjectedComponents/ContentManager/EditViewButton';
import lifecycles from './lifecycles';
import trads from './translations';
import pluginId from './pluginId';
@@ -34,6 +35,12 @@ const plugin = {
icon: 'fa-cog',
},
},
+ {
+ plugin: 'content-manager.editPage',
+ area: 'left.links',
+ component: Button,
+ key: 'content-type-builder.form',
+ },
],
layout: null,
lifecycles,
@@ -53,7 +60,6 @@ const plugin = {
? `/models/${uid}&source=${source}`
: `/models/${uid}`;
},
-
trads,
};