From 654a7cf5aac706ec17dcbef323ce8e46163dbe32 Mon Sep 17 00:00:00 2001 From: cyril lopez Date: Wed, 26 Jul 2017 11:48:05 +0200 Subject: [PATCH] Display input on the entire line if the input hads a nested input --- .../src/components/EditFormSection/index.js | 2 +- .../src/components/WithFormSection/index.js | 13 +- .../package-lock.json | 339 ++++++++++++------ 3 files changed, 238 insertions(+), 116 deletions(-) diff --git a/packages/strapi-plugin-settings-manager/admin/src/components/EditFormSection/index.js b/packages/strapi-plugin-settings-manager/admin/src/components/EditFormSection/index.js index f364b31720..498086e6d1 100644 --- a/packages/strapi-plugin-settings-manager/admin/src/components/EditFormSection/index.js +++ b/packages/strapi-plugin-settings-manager/admin/src/components/EditFormSection/index.js @@ -26,7 +26,7 @@ class EditFormSection extends React.Component { // eslint-disable-line react/pre
{map(this.props.section.items, (item, key) => ( - this.props.renderInput(item, key) + this.props.renderInput(this.props.section.items, item, key) ))}
diff --git a/packages/strapi-plugin-settings-manager/admin/src/components/WithFormSection/index.js b/packages/strapi-plugin-settings-manager/admin/src/components/WithFormSection/index.js index 1e6f26f4ba..c9b4389454 100644 --- a/packages/strapi-plugin-settings-manager/admin/src/components/WithFormSection/index.js +++ b/packages/strapi-plugin-settings-manager/admin/src/components/WithFormSection/index.js @@ -5,6 +5,8 @@ */ import React from 'react'; +import { forEach, has } from 'lodash'; + import InputNumber from 'components/InputNumber'; import InputText from 'components/InputText'; import InputToggle from 'components/InputToggle'; @@ -20,7 +22,7 @@ const WithFormSection = (InnerComponent) => class extends React.Component { values: React.PropTypes.object, } - renderInput = (props, key) => { + renderInput = (section, props, key) => { const inputs = { string: InputText, number: InputNumber, @@ -29,11 +31,18 @@ const WithFormSection = (InnerComponent) => class extends React.Component { select: InputSelect, }; const Input = inputs[props.type]; - const customBootstrapClass = config[props.target] || ''; + let customBootstrapClass = config[props.target] || ''; const inputValue = this.props.values[props.target]; // retrieve options for the select input const selectOptions = props.type === 'enum' || props.type === 'select' ? props.items : []; + // check if there is inside a section an input that requires nested input to display it on the entire line + forEach(section, (items) => { + forEach(items.items, (item) => { + customBootstrapClass = has(item, 'items') && items.type === 'enum' ? 'col-md-6 offset-md-6 pull-md-6' : ''; + }); + }); + return (