From d5adb8cdaa01c4d42cbf8b03a9e95c9664941401 Mon Sep 17 00:00:00 2001 From: cyril lopez Date: Mon, 7 Aug 2017 12:50:32 +0200 Subject: [PATCH] Add flags for languages --- .../EditFormSectionSubNested/index.js | 2 +- .../admin/src/components/InputText/index.js | 2 -- .../components/WithFormSection/styles.scss | 7 +++++++ .../admin/src/containers/App/index.js | 2 ++ .../admin/src/containers/Home/actions.js | 10 ++++++++- .../admin/src/containers/Home/index.js | 21 ++++++++++++++++--- .../admin/src/containers/Home/sagas.js | 14 +++++++++++-- .../package-lock.json | 5 +++++ .../package.json | 1 + 9 files changed, 55 insertions(+), 9 deletions(-) diff --git a/packages/strapi-plugin-settings-manager/admin/src/components/EditFormSectionSubNested/index.js b/packages/strapi-plugin-settings-manager/admin/src/components/EditFormSectionSubNested/index.js index 45bbc134f9..96e0cb67ac 100644 --- a/packages/strapi-plugin-settings-manager/admin/src/components/EditFormSectionSubNested/index.js +++ b/packages/strapi-plugin-settings-manager/admin/src/components/EditFormSectionSubNested/index.js @@ -11,7 +11,7 @@ import WithFormSection from 'components/WithFormSection'; class EditFormSectionSubNested extends React.Component { // eslint-disable-line react/prefer-stateless-function render() { return ( -
+
{map(this.props.section, (item, key) => ( this.props.renderInput(item, key) diff --git a/packages/strapi-plugin-settings-manager/admin/src/components/InputText/index.js b/packages/strapi-plugin-settings-manager/admin/src/components/InputText/index.js index aace8ab1f4..eaf0a9e83b 100644 --- a/packages/strapi-plugin-settings-manager/admin/src/components/InputText/index.js +++ b/packages/strapi-plugin-settings-manager/admin/src/components/InputText/index.js @@ -116,9 +116,7 @@ class InputText extends React.Component { // eslint-disable-line react/prefer-st } render() { - console.log(this.props) const inputValue = this.props.value || ''; - console.log(inputValue) // override default onBlur const handleBlur = this.props.handleBlur || this.handleBlur; // override bootStrapClass diff --git a/packages/strapi-plugin-settings-manager/admin/src/components/WithFormSection/styles.scss b/packages/strapi-plugin-settings-manager/admin/src/components/WithFormSection/styles.scss index cdab06ae10..b7687f4505 100644 --- a/packages/strapi-plugin-settings-manager/admin/src/components/WithFormSection/styles.scss +++ b/packages/strapi-plugin-settings-manager/admin/src/components/WithFormSection/styles.scss @@ -16,3 +16,10 @@ .padded { padding: 0 15px 0 15px; } + + +.subNestedFormContainer { + margin: 1rem 15px; + padding: 0 2rem; + background: #FAFAFB; +} diff --git a/packages/strapi-plugin-settings-manager/admin/src/containers/App/index.js b/packages/strapi-plugin-settings-manager/admin/src/containers/App/index.js index 1cd454d8b2..fee31bcc21 100644 --- a/packages/strapi-plugin-settings-manager/admin/src/containers/App/index.js +++ b/packages/strapi-plugin-settings-manager/admin/src/containers/App/index.js @@ -10,6 +10,7 @@ import { connect } from 'react-redux'; import { createStructuredSelector } from 'reselect'; import { bindActionCreators } from 'redux'; import { map } from 'lodash'; +import 'flag-icon-css/css/flag-icon.css'; import { pluginId } from 'app'; import PluginLeftMenu from 'components/PluginLeftMenu'; import { define } from 'i18n'; @@ -24,6 +25,7 @@ define(map(messages, (message, id) => ({ } ))); + class App extends React.Component { componentDidMount() { this.props.menuFetch(); diff --git a/packages/strapi-plugin-settings-manager/admin/src/containers/Home/actions.js b/packages/strapi-plugin-settings-manager/admin/src/containers/Home/actions.js index 75023cce1c..d58cf0a983 100644 --- a/packages/strapi-plugin-settings-manager/admin/src/containers/Home/actions.js +++ b/packages/strapi-plugin-settings-manager/admin/src/containers/Home/actions.js @@ -4,7 +4,7 @@ * */ -import { forEach, has, remove } from 'lodash'; +import { includes, forEach, has, remove, get, split } from 'lodash'; import { CONFIG_FETCH, LANGUAGES_FETCH, @@ -123,9 +123,17 @@ function getDataFromConfigs(configs) { }); }); + if (configs.name === 'form.security.name' && includes(split(get(data, 'security.xframe.value'), ' '), 'ALLOW-FROM')) { + const allowFromValue = split(get(data, 'security.xframe.value'), ' ')[0]; + const allowFromValueNested = split(get(data, 'security.xframe.value'), ' ')[1]; + data['security.xframe.value'] = allowFromValue; + data['security.xframe.value.nested'] = allowFromValueNested; + + } return data; } + export function changeDefaultLanguage(configsDisplay, newLanguage) { return { type: CHANGE_DEFAULT_LANGUAGE, diff --git a/packages/strapi-plugin-settings-manager/admin/src/containers/Home/index.js b/packages/strapi-plugin-settings-manager/admin/src/containers/Home/index.js index bfd0ee6ffd..0a81413f50 100644 --- a/packages/strapi-plugin-settings-manager/admin/src/containers/Home/index.js +++ b/packages/strapi-plugin-settings-manager/admin/src/containers/Home/index.js @@ -242,7 +242,7 @@ export class Home extends React.Component { // eslint-disable-line react/prefer- } }); - if (has(this.props.home.modifiedData, 'security.xframe.value.nested')) { + if (has(this.props.home.modifiedData, 'security.xframe.value.nested') && this.props.home.modifiedData['security.xframe.value'] === 'ALLOW-FROM') { const value = includes(this.props.home.modifiedData['security.xframe.value.nested'], 'ALLOW-FROM') ? `ALLOW-FROM ${this.props.home.modifiedData['security.xframe.value.nested']}` : `ALLOW-FROM.ALLOW-FROM ${this.props.home.modifiedData['security.xframe.value.nested']}`; @@ -289,11 +289,24 @@ export class Home extends React.Component { // eslint-disable-line react/prefer- )} ; + const flagName = this.formatLanguageLocale(props.name); + let flag; + switch (flagName.length) { + case 2: + flag = toLower(flagName[1]); + break; + case 3: + flag = toLower(flagName[2]); + break; + default: + flag = toLower(flagName[0]); + } + return (
  • -
    {key}
    +
    {languageDisplay}
    {props.name}
    @@ -339,11 +352,12 @@ export class Home extends React.Component { // eslint-disable-line react/prefer- renderPopUpFormLanguage = (section, props) => ( map(section.items, (item, key) => (
    - {props.renderInput(item, key)} + {props.renderInput(item, key, this.renderCustomLanguagesSelectOption)}
    )) ) + renderRowDatabase = (props, key) => ( // const isDefaultConnection = this.props.home.modifiedData['database.defaultConnection'] === props.host; + {this.renderComponent()}
    ); diff --git a/packages/strapi-plugin-settings-manager/admin/src/containers/Home/sagas.js b/packages/strapi-plugin-settings-manager/admin/src/containers/Home/sagas.js index 331757f7df..a57eaf2378 100644 --- a/packages/strapi-plugin-settings-manager/admin/src/containers/Home/sagas.js +++ b/packages/strapi-plugin-settings-manager/admin/src/containers/Home/sagas.js @@ -1,6 +1,6 @@ import { LOCATION_CHANGE } from 'react-router-redux'; -import { forEach, set } from 'lodash'; +import { forEach, set, join, split, toLower, upperCase } from 'lodash'; import { takeLatest } from 'redux-saga'; import { call, take, put, fork, cancel, select } from 'redux-saga/effects'; import request from 'utils/request'; @@ -165,8 +165,18 @@ export function* fetchLanguages() { export function* postLanguage() { try { const newLanguage = yield select(makeSelectModifiedData()); + const languageArray = []; + + forEach(split(newLanguage['language.defaultLocale'], '_'), (value, key) => { + if (key === 0){ + languageArray.push(toLower(value)); + } else { + languageArray.push(upperCase(value)); + } + }); + const body = { - name: newLanguage['language.language.defaultLocale'], + name: join(languageArray, '_'), }; const opts = { body, diff --git a/packages/strapi-plugin-settings-manager/package-lock.json b/packages/strapi-plugin-settings-manager/package-lock.json index 31e303fdce..a4092b73ef 100644 --- a/packages/strapi-plugin-settings-manager/package-lock.json +++ b/packages/strapi-plugin-settings-manager/package-lock.json @@ -1371,6 +1371,11 @@ } } }, + "flag-icon-css": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/flag-icon-css/-/flag-icon-css-2.8.0.tgz", + "integrity": "sha1-7BDCD+QXreeHoJUgBjAGnKQ2pWk=" + }, "flagged-respawn": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-0.3.2.tgz", diff --git a/packages/strapi-plugin-settings-manager/package.json b/packages/strapi-plugin-settings-manager/package.json index e0969b3e04..6750402b57 100644 --- a/packages/strapi-plugin-settings-manager/package.json +++ b/packages/strapi-plugin-settings-manager/package.json @@ -25,6 +25,7 @@ }, "dependencies": { "bootstrap": "^4.0.0-alpha.6", + "flag-icon-css": "^2.8.0", "react": "^15.6.1", "react-dom": "^15.6.1", "react-transition-group": "^1.2.0",