From fc1541330b8bb4b1c44a2550cd122b54abcc47bb Mon Sep 17 00:00:00 2001 From: HichamELBSI Date: Wed, 12 Feb 2020 17:54:08 +0100 Subject: [PATCH] Fix after PR comments Signed-off-by: HichamELBSI --- .../components/LeftMenuLinkContainer/index.js | 2 +- .../LeftMenuLinkContainer/messages.json | 6 ++-- .../LeftMenuLinkHeader/SearchButton.js | 7 ++++ .../components/LeftMenuLinkHeader/Title.js | 29 +++++++++++++++ .../components/LeftMenuLinkHeader/index.js | 36 +++++++------------ .../LeftMenuLinkSection/EmptyLinksList.js | 22 ++++++++++++ .../LeftMenuLinkSection/LeftMenuListLink.js | 8 +++++ .../components/LeftMenuLinkSection/index.js | 16 ++------- .../admin/src/translations/en.json | 3 +- .../admin/src/translations/fr.json | 1 + .../admin/src/translations/pl.json | 1 - .../admin/src/translations/tr.json | 1 - .../admin/src/translations/zh-Hans.json | 2 +- .../admin/src/containers/Initializer/index.js | 24 +++++-------- 14 files changed, 97 insertions(+), 61 deletions(-) create mode 100644 packages/strapi-admin/admin/src/components/LeftMenuLinkHeader/SearchButton.js create mode 100644 packages/strapi-admin/admin/src/components/LeftMenuLinkHeader/Title.js create mode 100644 packages/strapi-admin/admin/src/components/LeftMenuLinkSection/EmptyLinksList.js create mode 100644 packages/strapi-admin/admin/src/components/LeftMenuLinkSection/LeftMenuListLink.js diff --git a/packages/strapi-admin/admin/src/components/LeftMenuLinkContainer/index.js b/packages/strapi-admin/admin/src/components/LeftMenuLinkContainer/index.js index 80d5fd4f79..c3e8684cdf 100644 --- a/packages/strapi-admin/admin/src/components/LeftMenuLinkContainer/index.js +++ b/packages/strapi-admin/admin/src/components/LeftMenuLinkContainer/index.js @@ -37,7 +37,7 @@ const LeftMenuLinkContainer = ({ plugins }) => { return acc; }, {}); - // Generate the list of plugin links + // Generate the list of plugin links (plugins without a mainComponent should not appear in the left menu) const pluginsLinks = Object.values(plugins) .filter( plugin => diff --git a/packages/strapi-admin/admin/src/components/LeftMenuLinkContainer/messages.json b/packages/strapi-admin/admin/src/components/LeftMenuLinkContainer/messages.json index ff97b58916..57d344a2e5 100644 --- a/packages/strapi-admin/admin/src/components/LeftMenuLinkContainer/messages.json +++ b/packages/strapi-admin/admin/src/components/LeftMenuLinkContainer/messages.json @@ -1,9 +1,9 @@ { - "contentTypes": { - "id": "app.components.LeftMenuLinkContainer.contentTypes", + "collectionType": { + "id": "app.components.LeftMenuLinkContainer.collectionTypes", "defaultMessage": "Collection Types" }, - "singleTypes": { + "singleType": { "id": "app.components.LeftMenuLinkContainer.singleTypes", "defaultMessage": "Single Types" }, diff --git a/packages/strapi-admin/admin/src/components/LeftMenuLinkHeader/SearchButton.js b/packages/strapi-admin/admin/src/components/LeftMenuLinkHeader/SearchButton.js new file mode 100644 index 0000000000..8b6d3cadac --- /dev/null +++ b/packages/strapi-admin/admin/src/components/LeftMenuLinkHeader/SearchButton.js @@ -0,0 +1,7 @@ +import styled from 'styled-components'; + +const SearchButton = styled.button` + padding: 0 10px; +`; + +export default SearchButton; diff --git a/packages/strapi-admin/admin/src/components/LeftMenuLinkHeader/Title.js b/packages/strapi-admin/admin/src/components/LeftMenuLinkHeader/Title.js new file mode 100644 index 0000000000..c52f648943 --- /dev/null +++ b/packages/strapi-admin/admin/src/components/LeftMenuLinkHeader/Title.js @@ -0,0 +1,29 @@ +import styled from 'styled-components'; + +const Title = styled.div` + display: flex; + justify-content: space-between; + padding-left: 2rem; + padding-right: 1.6rem; + padding-top: 0.7rem; + margin-bottom: 0.8rem; + color: ${props => props.theme.main.colors.leftMenu['title-color']}; + text-transform: uppercase; + font-size: 1.1rem; + letter-spacing: 0.1rem; + font-weight: 800; +`; + +Title.defaultProps = { + theme: { + main: { + colors: { + leftMenu: { + 'title-color': '#5b626f', + }, + }, + }, + }, +}; + +export default Title; diff --git a/packages/strapi-admin/admin/src/components/LeftMenuLinkHeader/index.js b/packages/strapi-admin/admin/src/components/LeftMenuLinkHeader/index.js index bc4ca1c46f..3180931d38 100644 --- a/packages/strapi-admin/admin/src/components/LeftMenuLinkHeader/index.js +++ b/packages/strapi-admin/admin/src/components/LeftMenuLinkHeader/index.js @@ -2,28 +2,12 @@ import React, { useState, createRef, useEffect } from 'react'; import { camelCase } from 'lodash'; import PropTypes from 'prop-types'; import { FormattedMessage } from 'react-intl'; -import styled from 'styled-components'; import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; import messages from '../LeftMenuLinkContainer/messages.json'; import Search from './Search'; - -const Title = styled.div` - display: flex; - justify-content: space-between; - padding-left: 2rem; - padding-right: 1.6rem; - padding-top: 0.7rem; - margin-bottom: 0.8rem; - color: ${props => props.theme.main.colors.leftMenu['title-color']}; - text-transform: uppercase; - font-size: 1.1rem; - letter-spacing: 0.1rem; - font-weight: 800; -`; -const SearchButton = styled.button` - padding: 0 10px; -`; +import Title from './Title'; +import SearchButton from './SearchButton'; const LeftMenuLinkHeader = ({ section, searchable, setSearch, search }) => { const [showSearch, setShowSearch] = useState(false); @@ -63,12 +47,16 @@ const LeftMenuLinkHeader = ({ section, searchable, setSearch, search }) => {
- + + {message => ( + + )} + diff --git a/packages/strapi-admin/admin/src/components/LeftMenuLinkSection/EmptyLinksList.js b/packages/strapi-admin/admin/src/components/LeftMenuLinkSection/EmptyLinksList.js new file mode 100644 index 0000000000..9d50131fb2 --- /dev/null +++ b/packages/strapi-admin/admin/src/components/LeftMenuLinkSection/EmptyLinksList.js @@ -0,0 +1,22 @@ +import styled from 'styled-components'; + +const EmptyLinksList = styled.div` + color: ${props => props.theme.main.colors.white}; + padding-left: 1.6rem; + padding-right: 1.6rem; + font-weight: 300; + min-height: 3.6rem; + padding-top: 0.2rem; +`; + +EmptyLinksList.defaultProps = { + theme: { + main: { + colors: { + white: '#ffffff', + }, + }, + }, +}; + +export default EmptyLinksList; diff --git a/packages/strapi-admin/admin/src/components/LeftMenuLinkSection/LeftMenuListLink.js b/packages/strapi-admin/admin/src/components/LeftMenuLinkSection/LeftMenuListLink.js new file mode 100644 index 0000000000..7b24b9cfca --- /dev/null +++ b/packages/strapi-admin/admin/src/components/LeftMenuLinkSection/LeftMenuListLink.js @@ -0,0 +1,8 @@ +import styled from 'styled-components'; + +const LeftMenuListLink = styled.div` + max-height: 180px; + overflow: auto; +`; + +export default LeftMenuListLink; diff --git a/packages/strapi-admin/admin/src/components/LeftMenuLinkSection/index.js b/packages/strapi-admin/admin/src/components/LeftMenuLinkSection/index.js index fc5bda113d..39c41483e0 100644 --- a/packages/strapi-admin/admin/src/components/LeftMenuLinkSection/index.js +++ b/packages/strapi-admin/admin/src/components/LeftMenuLinkSection/index.js @@ -1,25 +1,13 @@ import React, { useState } from 'react'; import PropTypes from 'prop-types'; import matchSorter from 'match-sorter'; -import styled from 'styled-components'; import { sortBy } from 'lodash'; import { FormattedMessage } from 'react-intl'; import LeftMenuLink from '../LeftMenuLink'; import LeftMenuLinkHeader from '../LeftMenuLinkHeader'; - -const LeftMenuListLink = styled.div` - max-height: 180px; - overflow: auto; -`; -const EmptyLinksList = styled.div` - color: ${props => props.theme.main.colors.white}; - padding-left: 1.6rem; - padding-right: 1.6rem; - font-weight: 300; - min-height: 3.6rem; - padding-top: 0.2rem; -`; +import EmptyLinksList from './EmptyLinksList'; +import LeftMenuListLink from './LeftMenuListLink'; const LeftMenuLinksSection = ({ section, diff --git a/packages/strapi-admin/admin/src/translations/en.json b/packages/strapi-admin/admin/src/translations/en.json index 3ce50c4e62..bf5a5adf2d 100644 --- a/packages/strapi-admin/admin/src/translations/en.json +++ b/packages/strapi-admin/admin/src/translations/en.json @@ -76,7 +76,7 @@ "app.components.LeftMenuLinkContainer.general": "General", "app.components.LeftMenuLinkContainer.installNewPlugin": "Marketplace", "app.components.LeftMenuLinkContainer.listPlugins": "Plugins", - "app.components.LeftMenuLinkContainer.contentTypes": "Collection Types", + "app.components.LeftMenuLinkContainer.collectionTypes": "Collection Types", "app.components.LeftMenuLinkContainer.singleTypes": "Single Types", "app.components.LeftMenuLinkContainer.noPluginsInstalled": "No plugins installed yet", "app.components.LeftMenuLinkContainer.plugins": "Plugins", @@ -143,6 +143,7 @@ "components.PageFooter.select": "entries per page", "components.ProductionBlocker.description": "For safety purposes we have to disable this plugin in other environments.", "components.ProductionBlocker.header": "This plugin is only available in development.", + "components.Search.placeholder": "Search...", "components.Wysiwyg.ToggleMode.markdown": "Switch to markdown", "components.Wysiwyg.ToggleMode.preview": "Switch to preview", "components.Wysiwyg.collapse": "Collapse", diff --git a/packages/strapi-admin/admin/src/translations/fr.json b/packages/strapi-admin/admin/src/translations/fr.json index 1e6106f721..aa224f8097 100644 --- a/packages/strapi-admin/admin/src/translations/fr.json +++ b/packages/strapi-admin/admin/src/translations/fr.json @@ -139,6 +139,7 @@ "components.PageFooter.select": "entrées par page", "components.ProductionBlocker.description": "Pour des raisons de sécurité il est désactivé dans les autres environnements.", "components.ProductionBlocker.header": "Ce plugin est disponible uniquement en développement.", + "components.Search.placeholder": "Rechercher...", "components.Wysiwyg.ToggleMode.markdown": "Retour au markdown", "components.Wysiwyg.ToggleMode.preview": "Voir une prévisualisation", "components.Wysiwyg.collapse": "Fermer", diff --git a/packages/strapi-admin/admin/src/translations/pl.json b/packages/strapi-admin/admin/src/translations/pl.json index 420f932ba1..720d984709 100644 --- a/packages/strapi-admin/admin/src/translations/pl.json +++ b/packages/strapi-admin/admin/src/translations/pl.json @@ -74,7 +74,6 @@ "app.components.LeftMenuLinkContainer.general": "Ogólne", "app.components.LeftMenuLinkContainer.installNewPlugin": "Sklep", "app.components.LeftMenuLinkContainer.listPlugins": "Wtyczki", - "app.components.LeftMenuLinkContainer.contentTypes": "Modele", "app.components.LeftMenuLinkContainer.noPluginsInstalled": "Brak zainstalowanych wtyczek", "app.components.LeftMenuLinkContainer.plugins": "Wtyczki", "app.components.LeftMenuLinkContainer.settings": "Ustawienia", diff --git a/packages/strapi-admin/admin/src/translations/tr.json b/packages/strapi-admin/admin/src/translations/tr.json index e720c08395..51a1c50364 100644 --- a/packages/strapi-admin/admin/src/translations/tr.json +++ b/packages/strapi-admin/admin/src/translations/tr.json @@ -73,7 +73,6 @@ "app.components.LeftMenuLinkContainer.general": "Genel", "app.components.LeftMenuLinkContainer.installNewPlugin": "Mağaza", "app.components.LeftMenuLinkContainer.listPlugins": "Eklentiler", - "app.components.LeftMenuLinkContainer.contentTypes": "İçerik Tipi", "app.components.LeftMenuLinkContainer.noPluginsInstalled": "Yüklenen eklenti bulunmamaktadır.", "app.components.LeftMenuLinkContainer.plugins": "Eklentiler", "app.components.LeftMenuLinkContainer.settings": "Ayarlar", diff --git a/packages/strapi-admin/admin/src/translations/zh-Hans.json b/packages/strapi-admin/admin/src/translations/zh-Hans.json index 6bd3d73bcb..51229e450c 100644 --- a/packages/strapi-admin/admin/src/translations/zh-Hans.json +++ b/packages/strapi-admin/admin/src/translations/zh-Hans.json @@ -76,7 +76,7 @@ "app.components.LeftMenuLinkContainer.general": "常规", "app.components.LeftMenuLinkContainer.installNewPlugin": "市场", "app.components.LeftMenuLinkContainer.listPlugins": "插件", - "app.components.LeftMenuLinkContainer.contentTypes": "Content Types", + "app.components.LeftMenuLinkContainer.collectionTypes": "Collection Types", "app.components.LeftMenuLinkContainer.noPluginsInstalled": "还没有安装插件", "app.components.LeftMenuLinkContainer.plugins": "插件", "app.components.LeftMenuLinkContainer.settings": "设置", diff --git a/packages/strapi-plugin-content-manager/admin/src/containers/Initializer/index.js b/packages/strapi-plugin-content-manager/admin/src/containers/Initializer/index.js index bae10b3ec9..251e20a149 100644 --- a/packages/strapi-plugin-content-manager/admin/src/containers/Initializer/index.js +++ b/packages/strapi-plugin-content-manager/admin/src/containers/Initializer/index.js @@ -6,6 +6,7 @@ import { useEffect, useRef } from 'react'; import PropTypes from 'prop-types'; +import { chain } from 'lodash'; import { request } from 'strapi-helper-plugin'; import pluginId from '../../pluginId'; @@ -21,22 +22,15 @@ const Initializer = ({ updatePlugin }) => { try { const { data } = await request(requestURL, { method: 'GET' }); - const menu = [ - { - name: 'Content Types', - links: data.filter( - contentType => contentType.schema.kind === 'collectionType' - ), - }, - { - name: 'Single Types', - links: data.filter( - contentType => contentType.schema.kind === 'singleType' - ), - }, - ]; - ref.current(pluginId, 'leftMenuSections', menu); + ref.current( + pluginId, + 'leftMenuSections', + chain(data) + .groupBy('schema.kind') + .map((value, key) => ({ name: key, links: value })) + .value() + ); ref.current(pluginId, 'isReady', true); } catch (err) { strapi.notification.error('content-manager.error.model.fetch');