From 3e1779c896ba50e06fcdd4d962c340aae9809b4c Mon Sep 17 00:00:00 2001 From: Virginie Ky Date: Thu, 21 Nov 2019 18:48:13 +0100 Subject: [PATCH] Dynamic zones ui --- .../admin/src/components/DynamicZone/RoundCTA.js | 11 ++++++++++- .../admin/src/components/DynamicZone/index.js | 6 ++++-- .../admin/src/components/SelectMany/ListItem.js | 4 +--- .../admin/src/components/SelectWrapper/index.js | 9 +++------ .../admin/src/containers/EditView/index.js | 7 ++----- .../EditViewDataManagerProvider/index.js | 15 +++------------ .../admin/src/containers/ListView/index.js | 6 +----- .../admin/src/utils/getComponents.js | 2 -- .../ContentManager/EditViewButton.js | 11 +---------- .../ContentManager/EditViewLink.js | 11 +---------- 10 files changed, 26 insertions(+), 56 deletions(-) diff --git a/packages/strapi-plugin-content-manager/admin/src/components/DynamicZone/RoundCTA.js b/packages/strapi-plugin-content-manager/admin/src/components/DynamicZone/RoundCTA.js index 127691210c..0d8b06904f 100644 --- a/packages/strapi-plugin-content-manager/admin/src/components/DynamicZone/RoundCTA.js +++ b/packages/strapi-plugin-content-manager/admin/src/components/DynamicZone/RoundCTA.js @@ -15,10 +15,19 @@ const RoundCTA = styled.div` line-height: 27px; margin: auto; } - &:hover { + &:not(.arrow-btn):hover { background-color: #faa684; color: #f64d0a; } + &.arrow-btn { + height: 22px; + width: 22px; + background-color: #ffffff; + border: 2px solid #ffffff; + &:hover { + background-color: #f2f3f4; + } + } `; export default RoundCTA; diff --git a/packages/strapi-plugin-content-manager/admin/src/components/DynamicZone/index.js b/packages/strapi-plugin-content-manager/admin/src/components/DynamicZone/index.js index fedb410f7c..a5cdb219d6 100644 --- a/packages/strapi-plugin-content-manager/admin/src/components/DynamicZone/index.js +++ b/packages/strapi-plugin-content-manager/admin/src/components/DynamicZone/index.js @@ -91,7 +91,8 @@ const DynamicZone = ({ max, min, name }) => {
{showDownIcon && ( moveComponentDown(name, index)} > @@ -99,7 +100,8 @@ const DynamicZone = ({ max, min, name }) => { )} {showUpIcon && ( moveComponentUp(name, index)} > diff --git a/packages/strapi-plugin-content-manager/admin/src/components/SelectMany/ListItem.js b/packages/strapi-plugin-content-manager/admin/src/components/SelectMany/ListItem.js index 8d5e8107be..17a49e0c39 100644 --- a/packages/strapi-plugin-content-manager/admin/src/components/SelectMany/ListItem.js +++ b/packages/strapi-plugin-content-manager/admin/src/components/SelectMany/ListItem.js @@ -16,10 +16,9 @@ function ListItem({ moveRelation, nextSearch, onRemove, - source, targetModel, }) { - const to = `/plugins/${pluginId}/${targetModel}/${data.id}?source=${source}&redirectUrl=${nextSearch}`; + const to = `/plugins/${pluginId}/${targetModel}/${data.id}?redirectUrl=${nextSearch}`; const originalIndex = findRelation(data.id).index; const [{ isDragging }, drag, preview] = useDrag({ @@ -73,7 +72,6 @@ ListItem.propTypes = { moveRelation: PropTypes.func, nextSearch: PropTypes.string, onRemove: PropTypes.func, - source: PropTypes.string.isRequired, targetModel: PropTypes.string, }; diff --git a/packages/strapi-plugin-content-manager/admin/src/components/SelectWrapper/index.js b/packages/strapi-plugin-content-manager/admin/src/components/SelectWrapper/index.js index 21b0529c69..bb23afb7a5 100644 --- a/packages/strapi-plugin-content-manager/admin/src/components/SelectWrapper/index.js +++ b/packages/strapi-plugin-content-manager/admin/src/components/SelectWrapper/index.js @@ -3,7 +3,7 @@ import React, { useState, useEffect, useRef, memo } from 'react'; import PropTypes from 'prop-types'; import { FormattedMessage } from 'react-intl'; import { Link, useLocation } from 'react-router-dom'; -import { get, isArray, isEmpty } from 'lodash'; +import { cloneDeep, get, isArray, isEmpty } from 'lodash'; import { request } from 'strapi-helper-plugin'; import pluginId from '../../pluginId'; import useDataManager from '../../hooks/useDataManager'; @@ -22,7 +22,6 @@ function SelectWrapper({ relationType, targetModel, placeholder, - plugin, }) { const { pathname, search } = useLocation(); const { @@ -33,13 +32,12 @@ function SelectWrapper({ onRemoveRelation, } = useDataManager(); const { isDraggingComponent } = useEditView(); + const value = get(modifiedData, name, null); - const source = isEmpty(plugin) ? 'content-manager' : plugin; const [state, setState] = useState({ _q: '', _limit: 20, _start: 0, - source, }); const [options, setOptions] = useState([]); const [isLoading, setIsLoading] = useState(true); @@ -153,7 +151,7 @@ function SelectWrapper({ const nextSearch = `${pathname}${search}`; const to = `/plugins/${pluginId}/${targetModel}/${ value ? value.id : null - }?source=${source}&redirectUrl=${nextSearch}`; + }?redirectUrl=${nextSearch}`; const link = value === null || value === undefined || @@ -210,7 +208,6 @@ function SelectWrapper({ placeholder ) } - source={source} targetModel={targetModel} value={value} /> diff --git a/packages/strapi-plugin-content-manager/admin/src/containers/EditView/index.js b/packages/strapi-plugin-content-manager/admin/src/containers/EditView/index.js index ac87a08a87..fd332fab4d 100644 --- a/packages/strapi-plugin-content-manager/admin/src/containers/EditView/index.js +++ b/packages/strapi-plugin-content-manager/admin/src/containers/EditView/index.js @@ -9,7 +9,7 @@ import React, { import PropTypes from 'prop-types'; import { get } from 'lodash'; import { useHistory, useLocation } from 'react-router-dom'; -import { BackHeader, getQueryParameters, LiLink } from 'strapi-helper-plugin'; +import { BackHeader, LiLink } from 'strapi-helper-plugin'; import pluginId from '../../pluginId'; import Container from '../../components/Container'; import DynamicZone from '../../components/DynamicZone'; @@ -64,7 +64,6 @@ const EditView = ({ () => get(currentContentTypeLayoutData, ['schema'], {}), [currentContentTypeLayoutData] ); - const source = getQueryParameters(search, 'source'); const getFieldMetas = useCallback( fieldName => { @@ -276,8 +275,7 @@ const EditView = ({ }} icon="layout" key={`${pluginId}.link`} - // url={`/plugins/${pluginId}/ctm-configurations/edit-settings/content-types/${slug}${`?source=${source}`}`} - url={`ctm-configurations/edit-settings/content-types${`?source=${source}`}`} + url={`ctm-configurations/edit-settings/content-types`} onClick={() => { // emitEvent('willEditContentTypeLayoutFromEditView'); }} @@ -287,7 +285,6 @@ const EditView = ({ plugins, currentEnvironment, slug, - source, emitEvent, true )} diff --git a/packages/strapi-plugin-content-manager/admin/src/containers/EditViewDataManagerProvider/index.js b/packages/strapi-plugin-content-manager/admin/src/containers/EditViewDataManagerProvider/index.js index c85a560af9..1041cce2a3 100644 --- a/packages/strapi-plugin-content-manager/admin/src/containers/EditViewDataManagerProvider/index.js +++ b/packages/strapi-plugin-content-manager/admin/src/containers/EditViewDataManagerProvider/index.js @@ -1,12 +1,8 @@ import React, { useEffect, useReducer } from 'react'; -import { useLocation, useParams } from 'react-router-dom'; +import { useParams } from 'react-router-dom'; import PropTypes from 'prop-types'; import { cloneDeep, get, isEmpty, set } from 'lodash'; -import { - getQueryParameters, - request, - LoadingIndicatorPage, -} from 'strapi-helper-plugin'; +import { request, LoadingIndicatorPage } from 'strapi-helper-plugin'; import pluginId from '../../pluginId'; import EditViewDataManagerContext from '../../contexts/EditViewDataManager'; import createYupSchema from './utils/schema'; @@ -27,7 +23,6 @@ const EditViewDataManagerProvider = ({ }) => { const { id } = useParams(); // Retrieve the search - const { search } = useLocation(); const [reducerState, dispatch] = useReducer(reducer, initialState, init); const { formErrors, @@ -42,7 +37,6 @@ const EditViewDataManagerProvider = ({ const abortController = new AbortController(); const { signal } = abortController; const isCreatingEntry = id === 'create'; - const source = getQueryParameters(search, 'source'); useEffect(() => { if (!isLoading) { @@ -56,7 +50,6 @@ const EditViewDataManagerProvider = ({ try { const data = await request(getRequestUrl(`${slug}/${id}`), { method: 'GET', - params: { source }, signal, }); @@ -107,7 +100,7 @@ const EditViewDataManagerProvider = ({ abortController.abort(); }; // eslint-disable-next-line react-hooks/exhaustive-deps - }, [id, slug, source]); + }, [id, slug]); const addComponentToDynamicZone = ( keys, @@ -236,7 +229,6 @@ const EditViewDataManagerProvider = ({ { method, headers, - params: { source }, body: formData, signal, }, @@ -369,7 +361,6 @@ const EditViewDataManagerProvider = ({ setIsSubmitting, shouldShowLoadingState, slug, - source, }} > {showLoader ? ( diff --git a/packages/strapi-plugin-content-manager/admin/src/containers/ListView/index.js b/packages/strapi-plugin-content-manager/admin/src/containers/ListView/index.js index 7f388405c4..3a9878d2f8 100644 --- a/packages/strapi-plugin-content-manager/admin/src/containers/ListView/index.js +++ b/packages/strapi-plugin-content-manager/admin/src/containers/ListView/index.js @@ -400,11 +400,7 @@ function ListView({ }} popUpWarningType="danger" onConfirm={() => { - onDeleteSeveralData( - entriesToDelete, - slug, - getSearchParams().source - ); + onDeleteSeveralData(entriesToDelete, slug); }} /> diff --git a/packages/strapi-plugin-content-manager/admin/src/utils/getComponents.js b/packages/strapi-plugin-content-manager/admin/src/utils/getComponents.js index e1e01f6df4..8016389c3e 100644 --- a/packages/strapi-plugin-content-manager/admin/src/utils/getComponents.js +++ b/packages/strapi-plugin-content-manager/admin/src/utils/getComponents.js @@ -11,7 +11,6 @@ const getInjectedComponents = ( plugins, currentEnvironment, slug, - source, emitEvent, push ) => { @@ -32,7 +31,6 @@ const getInjectedComponents = ( slug} - getSource={() => source} getContentTypeBuilderBaseUrl={() => '/plugins/content-type-builder/models/' } 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 index 5441e0a347..9f9c184e46 100644 --- 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 @@ -13,20 +13,12 @@ import { Button } from '@buffetjs/core'; 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 url = `${props.getContentTypeBuilderBaseUrl()}${props.getModelName()}`; const handleClick = () => { props.push(url); }; - if (props.getSource() === 'admin') { - return null; - } - if (props.currentEnvironment === 'development') { return (