Update eslint dependencies

This commit is contained in:
Pierre Burgy 2017-08-18 17:02:33 +02:00
parent b981fed892
commit ddcfd8fb1f
65 changed files with 400 additions and 372 deletions

View File

@ -110,7 +110,7 @@ const registerPlugin = (plugin) => {
// Create a new prefixed route for each plugin routes
if (formattedPlugin && formattedPlugin.routes) {
formattedPlugin.routes.forEach(route => {
formattedPlugin.routes.forEach((route) => {
pluginsRoute.childRoutes.push({
path: `/plugins/${formattedPlugin.id}${route.path}`,
name: `plugins_${formattedPlugin.id}_${route.name}`,

View File

@ -29,9 +29,9 @@ class LeftMenuLink extends React.Component { // eslint-disable-line react/prefer
}
LeftMenuLink.propTypes = {
destination: React.PropTypes.string,
icon: React.PropTypes.string,
label: React.PropTypes.string,
destination: React.PropTypes.string.isRequired.isRequired,
icon: React.PropTypes.string.isRequired.isRequired,
label: React.PropTypes.string.isRequired.isRequired,
};
export default LeftMenuLink;

View File

@ -88,7 +88,7 @@ class LeftMenuLinkContainer extends React.Component { // eslint-disable-line rea
}
LeftMenuLinkContainer.propTypes = {
plugins: React.PropTypes.object,
plugins: React.PropTypes.object.isRequired.isRequired,
};
export default LeftMenuLinkContainer;

View File

@ -54,8 +54,8 @@ class Notification extends React.Component { // eslint-disable-line react/prefer
}
Notification.propTypes = {
notification: React.PropTypes.object,
onHideNotification: React.PropTypes.func,
notification: React.PropTypes.object.isRequired.isRequired,
onHideNotification: React.PropTypes.func.isRequired.isRequired,
};
export default Notification;

View File

@ -38,8 +38,8 @@ class NotificationsContainer extends React.Component { // eslint-disable-line re
}
NotificationsContainer.propTypes = {
notifications: React.PropTypes.object,
onHideNotification: React.PropTypes.func,
notifications: React.PropTypes.object.isRequired.isRequired,
onHideNotification: React.PropTypes.func.isRequired.isRequired,
};
export default NotificationsContainer;

View File

@ -23,8 +23,8 @@ class Plugin extends React.Component { // eslint-disable-line react/prefer-state
}
Plugin.propTypes = {
description: React.PropTypes.object,
title: React.PropTypes.object,
description: React.PropTypes.object.isRequired.isRequired,
title: React.PropTypes.object.isRequired.isRequired,
};
export default Plugin;

View File

@ -31,9 +31,9 @@ class PluginHeader extends React.Component { // eslint-disable-line react/prefer
}
PluginHeader.propTypes = {
actions: React.PropTypes.array,
description: React.PropTypes.object,
title: React.PropTypes.object,
actions: React.PropTypes.array.isRequired.isRequired,
description: React.PropTypes.object.isRequired.isRequired,
title: React.PropTypes.object.isRequired.isRequired,
};
export default PluginHeader;

View File

@ -11,9 +11,9 @@ import styles from './styles.scss';
class PluginHeaderActions extends React.Component { // eslint-disable-line react/prefer-stateless-function
render() {
const actions = this.props.actions && this.props.actions.map((action, i) => (
const actions = this.props.actions && this.props.actions.map((action) => (
<button
key={i}
key={action.label}
className={`btn ${action.class} ${styles.btn}`}
onClick={action.onClick}
disabled={action.disabled}
@ -33,7 +33,7 @@ class PluginHeaderActions extends React.Component { // eslint-disable-line react
}
PluginHeaderActions.propTypes = {
actions: React.PropTypes.array,
actions: React.PropTypes.array.isRequired.isRequired,
};
export default PluginHeaderActions;

View File

@ -25,8 +25,8 @@ class PluginHeaderTitle extends React.Component { // eslint-disable-line react/p
}
PluginHeaderTitle.propTypes = {
description: React.PropTypes.object,
title: React.PropTypes.object,
description: React.PropTypes.object.isRequired.isRequired,
title: React.PropTypes.object.isRequired.isRequired,
};
export default PluginHeaderTitle;

View File

@ -10,7 +10,7 @@ import ToggleOption from 'components/ToggleOption';
import styles from './styles.scss';
function Toggle(props) { // eslint-disable-line react/prefer-stateless-function
function Toggle(props) { // eslint-disable-line react/prefer-stateless-function
let content = (<option>--</option>);
// If we have items, render them
@ -28,9 +28,9 @@ function Toggle(props) { // eslint-disable-line react/prefer-stateless-function
}
Toggle.propTypes = {
messages: React.PropTypes.object,
onToggle: React.PropTypes.func,
values: React.PropTypes.array,
messages: React.PropTypes.object.isRequired.isRequired,
onToggle: React.PropTypes.func.isRequired.isRequired,
values: React.PropTypes.array.isRequired.isRequired,
};
export default Toggle;

View File

@ -16,10 +16,10 @@ const ToggleOption = ({ value, message, intl }) => (
ToggleOption.propTypes = {
intl: intlShape.isRequired,
message: React.PropTypes.oneOfType([
React.PropTypes.object,
React.PropTypes.string,
]),
value: React.PropTypes.string.isRequired,
React.PropTypes.object.isRequired,
React.PropTypes.string.isRequired,
]).isRequired,
value: React.PropTypes.string.isRequired.isRequired,
};
export default injectIntl(ToggleOption);

View File

@ -37,13 +37,13 @@ export class App extends React.Component { // eslint-disable-line react/prefer-s
}
App.contextTypes = {
router: React.PropTypes.object.isRequired,
router: React.PropTypes.object.isRequired.isRequired.isRequired,
};
App.propTypes = {
children: React.PropTypes.node,
notifications: React.PropTypes.object,
onHideNotification: React.PropTypes.func,
children: React.PropTypes.node.isRequired.isRequired,
notifications: React.PropTypes.object.isRequired.isRequired,
onHideNotification: React.PropTypes.func.isRequired.isRequired,
};
const mapStateToProps = createStructuredSelector({

View File

@ -20,7 +20,7 @@ const selectLocationState = () => {
/**
* Direct selector to the languageToggle state domain
*/
const selectApp = () => state => state.get('app');
const selectApp = () => (state) => state.get('app');
/**
* Select the language locale

View File

@ -13,10 +13,6 @@ import { selectPlugins } from 'containers/App/selectors';
import styles from './styles.scss';
export class Content extends React.Component { // eslint-disable-line react/prefer-stateless-function
static propTypes = {
children: React.PropTypes.node,
};
render() {
return (
<div className={styles.content}>
@ -27,6 +23,7 @@ export class Content extends React.Component { // eslint-disable-line react/pref
}
Content.propTypes = {
children: React.PropTypes.node.isRequired.isRequired,
};
const mapStateToProps = createSelector(

View File

@ -35,7 +35,7 @@ export class HomePage extends React.Component { // eslint-disable-line react/pre
}
HomePage.propTypes = {
plugins: React.PropTypes.object,
plugins: React.PropTypes.object.isRequired.isRequired,
};
const mapStateToProps = createStructuredSelector({

View File

@ -23,9 +23,9 @@ export class LanguageProvider extends React.Component { // eslint-disable-line r
}
LanguageProvider.propTypes = {
children: React.PropTypes.element.isRequired,
locale: React.PropTypes.string,
messages: React.PropTypes.object,
children: React.PropTypes.element.isRequired.isRequired.isRequired,
locale: React.PropTypes.string.isRequired.isRequired,
messages: React.PropTypes.object.isRequired.isRequired,
};

View File

@ -3,7 +3,7 @@ import { createSelector } from 'reselect';
/**
* Direct selector to the languageToggle state domain
*/
const selectLanguage = () => state => state.get('language');
const selectLanguage = () => (state) => state.get('language');
/**
* Select the language locale

View File

@ -26,7 +26,7 @@ export class LeftMenu extends React.Component { // eslint-disable-line react/pre
}
LeftMenu.propTypes = {
plugins: React.PropTypes.object,
plugins: React.PropTypes.object.isRequired.isRequired,
};
function mapDispatchToProps(dispatch) {

View File

@ -18,7 +18,7 @@ import styles from './styles.scss';
export class LocaleToggle extends React.Component { // eslint-disable-line
render() {
const messages = {};
languages.forEach(locale => { messages[locale] = locale.toUpperCase(); });
languages.forEach((locale) => { messages[locale] = locale.toUpperCase(); });
return (
<div className={styles.localeToggle}>
@ -29,7 +29,7 @@ export class LocaleToggle extends React.Component { // eslint-disable-line
}
LocaleToggle.propTypes = {
onLocaleToggle: React.PropTypes.func,
onLocaleToggle: React.PropTypes.func.isRequired.isRequired,
};
const mapStateToProps = createSelector(

View File

@ -20,7 +20,7 @@ export class NotificationProvider extends React.Component { // eslint-disable-li
}
NotificationProvider.propTypes = {
children: React.PropTypes.object,
children: React.PropTypes.object.isRequired.isRequired,
};
const mapStateToProps = selectNotificationProvider();

View File

@ -17,9 +17,9 @@ const exposedComponents = {
export class PluginPage extends React.Component { // eslint-disable-line react/prefer-stateless-function
render() {
const containers = this.props.plugins.valueSeq().map((plugin, i) => {
const containers = this.props.plugins.valueSeq().map((plugin) => {
const Elem = plugin.get('mainComponent');
return <Elem key={i} {...this.props} exposedComponents={exposedComponents}></Elem>;
return <Elem key={plugin.id} {...this.props} exposedComponents={exposedComponents}></Elem>;
});
return (
@ -37,11 +37,11 @@ export class PluginPage extends React.Component { // eslint-disable-line react/p
}
PluginPage.contextTypes = {
router: React.PropTypes.object.isRequired,
router: React.PropTypes.object.isRequired.isRequired.isRequired,
};
PluginPage.propTypes = {
plugins: React.PropTypes.object,
plugins: React.PropTypes.object.isRequired.isRequired,
};
const mapStateToProps = createSelector(

View File

@ -27,16 +27,16 @@
},
"devDependencies": {
"cross-env": "^3.1.3",
"eslint": "^3.9.0",
"eslint-config-airbnb": "^12.0.0",
"eslint-config-airbnb-base": "^9.0.0",
"eslint": "^4.4.1",
"eslint-config-airbnb": "^15.1.0",
"eslint-config-airbnb-base": "^11.3.1",
"eslint-config-prettier": "^2.3.0",
"eslint-import-resolver-webpack": "^0.6.0",
"eslint-import-resolver-webpack": "^0.8.3",
"eslint-plugin-babel": "^4.1.2",
"eslint-plugin-import": "^2.0.1",
"eslint-plugin-jsx-a11y": "^2.2.3",
"eslint-plugin-react": "^6.4.1",
"eslint-plugin-redux-saga": "^0.1.5",
"eslint-plugin-import": "^2.7.0",
"eslint-plugin-jsx-a11y": "^6.0.2",
"eslint-plugin-react": "^7.2.1",
"eslint-plugin-redux-saga": "^0.4.0",
"extract-text-webpack-plugin": "^1.0.1",
"html-loader": "^0.4.3",
"html-webpack-plugin": "^2.22.0",

View File

@ -2,7 +2,8 @@
"parser": "babel-eslint",
"extends": [
"airbnb",
"prettier"
"prettier",
"eslint:recommended"
],
"env": {
"browser": true,
@ -16,9 +17,10 @@
"jsx-a11y"
],
"parserOptions": {
"ecmaVersion": 6,
"ecmaVersion": 7,
"sourceType": "module",
"ecmaFeatures": {
"impliedStrict": true,
"jsx": true
}
},
@ -56,11 +58,13 @@
],
"jsx-a11y/aria-props": 2,
"jsx-a11y/heading-has-content": 0,
"jsx-a11y/href-no-hash": 2,
"jsx-a11y/label-has-for": 2,
"jsx-a11y/mouse-events-have-key-events": 2,
"jsx-a11y/role-has-required-aria-props": 2,
"jsx-a11y/role-supports-aria-props": 2,
"jsx-a11y/href-no-hash": "off",
"jsx-a11y/anchor-is-valid": ["warn", { "aspects": ["invalidHref"] }],
"jsx-a11y/no-noninteractive-element-interactions": 0,
"max-len": 0,
"newline-per-chained-call": 0,
"no-console": 1,
@ -82,7 +86,9 @@
"require-yield": 0,
"react/no-unescaped-entities": 0,
"react/prefer-stateless-function": 0,
"react/sort-prop-types": 2
"react/sort-prop-types": 2,
"no-undef": 0,
"react/no-array-index-key": 0
},
"settings": {
"import/resolver": {

View File

@ -92,8 +92,8 @@ module.exports = require('./webpack.base.babel')({
[
require.resolve('babel-preset-latest'),
{
"es2015": {
"modules": false,
es2015: {
modules: false,
},
},
],

View File

@ -49,7 +49,7 @@ function Comp(props) {
// Add contextTypes to get access to the admin router
Comp.contextTypes = {
router: React.PropTypes.object.isRequired,
router: React.PropTypes.object.isRequired.isRequired,
};
// Hot reloadable translation json files

View File

@ -57,16 +57,16 @@
"cross-env": "3.1.3",
"css-loader": "0.25.0",
"enzyme": "2.5.1",
"eslint": "3.9.0",
"eslint-config-airbnb": "12.0.0",
"eslint-config-airbnb-base": "9.0.0",
"eslint-config-prettier": "2.3.0",
"eslint-import-resolver-webpack": "0.6.0",
"eslint-plugin-babel": "^4.1.1",
"eslint-plugin-import": "2.0.1",
"eslint-plugin-jsx-a11y": "2.2.3",
"eslint-plugin-react": "6.4.1",
"eslint-plugin-redux-saga": "0.1.5",
"eslint": "^4.4.1",
"eslint-config-airbnb": "^15.1.0",
"eslint-config-airbnb-base": "^11.3.1",
"eslint-config-prettier": "^2.3.0",
"eslint-import-resolver-webpack": "^0.8.3",
"eslint-plugin-babel": "^4.1.2",
"eslint-plugin-import": "^2.7.0",
"eslint-plugin-jsx-a11y": "^6.0.2",
"eslint-plugin-react": "^7.2.1",
"eslint-plugin-redux-saga": "^0.4.0",
"eventsource-polyfill": "0.9.6",
"expect": "1.20.2",
"expect-jsx": "2.6.0",
@ -123,4 +123,4 @@
"webpack-hot-middleware": "2.13.1",
"whatwg-fetch": "1.0.0"
}
}
}

View File

@ -24,7 +24,7 @@ Container.propTypes = {
children: React.PropTypes.oneOfType([
React.PropTypes.object,
React.PropTypes.array,
]),
]).isRequired,
};
export default Container;

View File

@ -104,7 +104,11 @@ class EditForm extends React.Component {
return (
<div key={attributeKey} className="form-group">
<label htmlFor={attributeKey}>{attributeValue.label || attributeKey}</label>
<label // eslint-disable-line jsx-a11y/label-has-for
htmlFor={attributeKey}
>
{attributeValue.label || attributeKey}
</label>
{description}
{input}
</div>
@ -139,7 +143,7 @@ EditForm.propTypes = {
record: React.PropTypes.oneOfType([
React.PropTypes.object,
React.PropTypes.bool,
]),
]).isRequired,
schema: React.PropTypes.object.isRequired,
setRecordAttribute: React.PropTypes.func.isRequired,
};

View File

@ -70,7 +70,11 @@ class EditFormRelation extends React.Component { // eslint-disable-line react/pr
return (
<div className="form-group">
<label htmlFor={this.props.relation.label}>{this.props.relation.label}</label>
<label // eslint-disable-line jsx-a11y/label-has-for
htmlFor={this.props.relation.label}
>
{this.props.relation.label}
</label>
{description}
<Select.Async
onChange={this.onChange}
@ -87,7 +91,7 @@ EditFormRelation.propTypes = {
record: React.PropTypes.oneOfType([
React.PropTypes.object,
React.PropTypes.bool,
]),
]).isRequired,
relation: React.PropTypes.object.isRequired,
setRecordAttribute: React.PropTypes.func.isRequired,
};

View File

@ -35,15 +35,15 @@ EditFormRelations.propTypes = {
currentModelName: React.PropTypes.oneOfType([
React.PropTypes.bool,
React.PropTypes.string,
]),
]).isRequired,
record: React.PropTypes.oneOfType([
React.PropTypes.object,
React.PropTypes.bool,
]),
]).isRequired,
schema: React.PropTypes.oneOfType([
React.PropTypes.object,
React.PropTypes.bool,
]),
]).isRequired,
setRecordAttribute: React.PropTypes.func.isRequired,
};

View File

@ -241,7 +241,7 @@ Pagination.propTypes = {
count: React.PropTypes.oneOfType([
React.PropTypes.number,
React.PropTypes.bool,
]),
]).isRequired,
currentPage: React.PropTypes.number.isRequired,
limit: React.PropTypes.number.isRequired,
};

View File

@ -42,7 +42,7 @@ TableFooter.propTypes = {
count: React.PropTypes.oneOfType([
React.PropTypes.number,
React.PropTypes.bool,
]),
]).isRequired,
currentPage: React.PropTypes.number.isRequired,
limit: React.PropTypes.number.isRequired,
onLimitChange: React.PropTypes.func.isRequired,

View File

@ -58,7 +58,7 @@ App.contextTypes = {
App.propTypes = {
children: React.PropTypes.node.isRequired,
exposedComponents: React.PropTypes.object.isRequired,
loading: React.PropTypes.bool,
loading: React.PropTypes.bool.isRequired,
loadModels: React.PropTypes.func.isRequired,
updateSchema: React.PropTypes.func.isRequired,
};

View File

@ -135,7 +135,7 @@ Edit.propTypes = {
currentModelName: React.PropTypes.oneOfType([
React.PropTypes.bool,
React.PropTypes.string,
]),
]).isRequired,
deleteRecord: React.PropTypes.func.isRequired,
deleting: React.PropTypes.bool.isRequired,
editing: React.PropTypes.bool.isRequired,
@ -147,12 +147,12 @@ Edit.propTypes = {
record: React.PropTypes.oneOfType([
React.PropTypes.object,
React.PropTypes.bool,
]),
]).isRequired,
routeParams: React.PropTypes.object.isRequired,
schema: React.PropTypes.oneOfType([
React.PropTypes.object,
React.PropTypes.bool,
]),
]).isRequired,
setCurrentModelName: React.PropTypes.func.isRequired,
setInitialState: React.PropTypes.func.isRequired,
setIsCreating: React.PropTypes.func.isRequired,

View File

@ -162,11 +162,11 @@ List.propTypes = {
count: React.PropTypes.oneOfType([
React.PropTypes.number,
React.PropTypes.bool,
]),
]).isRequired,
currentModelName: React.PropTypes.oneOfType([
React.PropTypes.string,
React.PropTypes.bool,
]),
]).isRequired,
currentPage: React.PropTypes.number.isRequired,
exposedComponents: React.PropTypes.object.isRequired,
history: React.PropTypes.object.isRequired,
@ -178,18 +178,19 @@ List.propTypes = {
models: React.PropTypes.oneOfType([
React.PropTypes.object,
React.PropTypes.bool,
]),
]).isRequired,
onLimitChange: React.PropTypes.func.isRequired,
params: React.PropTypes.object.isRequired,
records: React.PropTypes.oneOfType([
React.PropTypes.array,
React.PropTypes.bool,
]),
]).isRequired,
route: React.PropTypes.object.isRequired,
routeParams: React.PropTypes.object.isRequired,
schema: React.PropTypes.oneOfType([
React.PropTypes.object,
React.PropTypes.bool,
]),
]).isRequired,
setCurrentModelName: React.PropTypes.func.isRequired,
sort: React.PropTypes.string.isRequired,
};

View File

@ -33,15 +33,15 @@ const generateSchema = (models) => {
// Model relations
schemaModel.relations = _.mapValues(_.pickBy(model.attributes, attribute =>
attribute.model
), (value, attribute) => ({
columnName: attribute,
model: value.model,
attribute,
label: _.upperFirst(attribute),
description: '',
displayedAttribute: _.findKey(models[value.model].attributes, { type: 'string' }) || 'id',
})
attribute.model
), (value, attribute) => ({
columnName: attribute,
model: value.model,
attribute,
label: _.upperFirst(attribute),
descripion: '',
displayedAttribute: _.findKey(models[value.model].attributes, { type: 'string' }) || 'id',
})
);
// Set the formatted model to the schema

View File

@ -48,16 +48,16 @@
},
"devDependencies": {
"cross-env": "^3.1.3",
"eslint": "^3.9.0",
"eslint-config-airbnb": "^12.0.0",
"eslint-config-airbnb-base": "^9.0.0",
"eslint": "^4.4.1",
"eslint-config-airbnb": "^15.1.0",
"eslint-config-airbnb-base": "^11.3.1",
"eslint-config-prettier": "^2.3.0",
"eslint-import-resolver-webpack": "^0.6.0",
"eslint-import-resolver-webpack": "^0.8.3",
"eslint-plugin-babel": "^4.1.2",
"eslint-plugin-import": "^2.0.1",
"eslint-plugin-jsx-a11y": "^2.2.3",
"eslint-plugin-react": "^6.4.1",
"eslint-plugin-redux-saga": "^0.1.5",
"eslint-plugin-import": "^2.7.0",
"eslint-plugin-jsx-a11y": "^6.0.2",
"eslint-plugin-react": "^7.2.1",
"eslint-plugin-redux-saga": "^0.4.0",
"plop": "^1.5.0",
"prettier": "^1.5.3",
"rimraf": "^2.5.4",

View File

@ -22,11 +22,11 @@ class Button extends React.Component {
}
Button.propTypes = {
addShape: React.PropTypes.bool,
buttonBackground: React.PropTypes.string,
buttonSize: React.PropTypes.string,
handlei18n: React.PropTypes.bool,
label: React.PropTypes.string.isRequired,
addShape: React.PropTypes.bool.isRequired,
buttonBackground: React.PropTypes.string.isRequired,
buttonSize: React.PropTypes.string.isRequired,
handlei18n: React.PropTypes.bool.isRequired,
label: React.PropTypes.string.isRequired.isRequired,
};
export default Button;

View File

@ -22,8 +22,8 @@ class ContentHeader extends React.Component { // eslint-disable-line react/prefe
}
ContentHeader.propTypes = {
description: React.PropTypes.string,
name: React.PropTypes.string,
description: React.PropTypes.string.isRequired,
name: React.PropTypes.string.isRequired,
};
export default ContentHeader;

View File

@ -56,13 +56,13 @@ class EditForm extends React.Component { // eslint-disable-line react/prefer-sta
}
EditForm.propTypes = {
cancelAction: React.PropTypes.bool,
formErrors: React.PropTypes.array,
handleCancel: React.PropTypes.func,
handleChange: React.PropTypes.func.isRequired,
handleSubmit: React.PropTypes.func,
sections: React.PropTypes.array,
values: React.PropTypes.object,
cancelAction: React.PropTypes.bool.isRequired,
formErrors: React.PropTypes.array.isRequired,
handleCancel: React.PropTypes.func.isRequired,
handleChange: React.PropTypes.func.isRequired.isRequired,
handleSubmit: React.PropTypes.func.isRequired,
sections: React.PropTypes.array.isRequired,
values: React.PropTypes.object.isRequired,
};
export default EditForm;

View File

@ -56,13 +56,13 @@ class EditFormSection extends React.Component { // eslint-disable-line react/pre
}
EditFormSection.propTypes = {
formErrors: React.PropTypes.array,
handleChange: React.PropTypes.func,
renderInput: React.PropTypes.func,
section: React.PropTypes.object,
showNestedForm: React.PropTypes.bool,
styles: React.PropTypes.object,
values: React.PropTypes.object,
formErrors: React.PropTypes.array.isRequired,
handleChange: React.PropTypes.func.isRequired,
renderInput: React.PropTypes.func.isRequired,
section: React.PropTypes.object.isRequired,
showNestedForm: React.PropTypes.bool.isRequired,
styles: React.PropTypes.object.isRequired,
values: React.PropTypes.object.isRequired,
};
export default WithFormSection(EditFormSection); // eslint-disable-line new-cap

View File

@ -47,7 +47,7 @@ class EditFormSectionNested extends React.Component { // eslint-disable-line rea
this.setState({ showNestedForm: false });
}
}
})
});
}
});
}
@ -81,15 +81,16 @@ class EditFormSectionNested extends React.Component { // eslint-disable-line rea
}
EditFormSectionNested.propTypes = {
formErrors: React.PropTypes.array,
handleChange: React.PropTypes.func,
renderInput: React.PropTypes.func,
formErrors: React.PropTypes.array.isRequired,
handleChange: React.PropTypes.func.isRequired,
renderInput: React.PropTypes.func.isRequired,
section: React.PropTypes.oneOfType([
React.PropTypes.array,
React.PropTypes.object,
]),
styles: React.PropTypes.object,
values: React.PropTypes.object,
React.PropTypes.array.isRequired,
React.PropTypes.object.isRequired,
]).isRequired,
styles: React.PropTypes.object.isRequired,
value: React.PropTypes.object.isRequired,
values: React.PropTypes.object.isRequired,
};
export default WithFormSection(EditFormSectionNested); // eslint-disable-line new-cap

View File

@ -24,12 +24,12 @@ class EditFormSectionSubNested extends React.Component { // eslint-disable-line
}
EditFormSectionSubNested.propTypes = {
renderInput: React.PropTypes.func,
renderInput: React.PropTypes.func.isRequired,
section: React.PropTypes.oneOfType([
React.PropTypes.array,
React.PropTypes.object,
]),
styles: React.PropTypes.object,
React.PropTypes.array.isRequired,
React.PropTypes.object.isRequired,
]).isRequired,
styles: React.PropTypes.object.isRequired,
};
export default WithFormSection(EditFormSectionSubNested); // eslint-disable-line new-cap

View File

@ -48,8 +48,8 @@ class HeaderNav extends React.Component { // eslint-disable-line react/prefer-st
}
HeaderNav.propTypes = {
links: React.PropTypes.array,
path: React.PropTypes.string,
renderListComponent: React.PropTypes.bool,
links: React.PropTypes.array.isRequired,
path: React.PropTypes.string.isRequired,
renderListComponent: React.PropTypes.bool.isRequired,
}
export default HeaderNav;

View File

@ -44,12 +44,12 @@ class InputEnum extends React.Component { // eslint-disable-line react/prefer-st
}
InputEnum.propTypes = {
customBootstrapClass: React.PropTypes.string,
handleChange: React.PropTypes.func.isRequired,
name: React.PropTypes.string,
selectOptions: React.PropTypes.array,
target: React.PropTypes.string,
value: React.PropTypes.any,
customBootstrapClass: React.PropTypes.string.isRequired,
handleChange: React.PropTypes.func.isRequired.isRequired,
name: React.PropTypes.string.isRequired,
selectOptions: React.PropTypes.array.isRequired,
target: React.PropTypes.string.isRequired,
value: React.PropTypes.any.isRequired,
}
export default InputEnum;

View File

@ -127,18 +127,21 @@ class InputNumber extends React.Component { // eslint-disable-line react/prefer-
const bootStrapClassDanger = !this.props.deactivateErrorHighlight && !isEmpty(this.state.errors) ? 'has-danger' : '';
const placeholder = this.props.placeholder || this.props.name;
const input = placeholder ? this.renderFormattedInput(handleBlur, inputValue, placeholder)
: <input
type="number"
name={this.props.target}
id={this.props.name}
value={inputValue}
onBlur={handleBlur}
onChange={this.props.handleChange}
onFocus={this.props.handleFocus}
className={`form-control ${this.state.errors? 'form-control-danger' : ''}`}
placeholder={placeholder}
/>;
const input = placeholder
? this.renderFormattedInput(handleBlur, inputValue, placeholder)
: (
<input
type="number"
name={this.props.target}
id={this.props.name}
value={inputValue}
onBlur={handleBlur}
onChange={this.props.handleChange}
onFocus={this.props.handleFocus}
className={`form-control ${this.state.errors? 'form-control-danger' : ''}`}
placeholder={placeholder}
/>
);
const requiredClass = this.props.validations.required && this.props.addRequiredInputDesign ? this.props.styles.requiredClass : '';
@ -154,27 +157,27 @@ class InputNumber extends React.Component { // eslint-disable-line react/prefer-
}
InputNumber.propTypes = {
addRequiredInputDesign: React.PropTypes.bool,
customBootstrapClass: React.PropTypes.string,
deactivateErrorHighlight: React.PropTypes.bool,
addRequiredInputDesign: React.PropTypes.bool.isRequired,
customBootstrapClass: React.PropTypes.string.isRequired,
deactivateErrorHighlight: React.PropTypes.bool.isRequired,
errors: React.PropTypes.oneOfType([
React.PropTypes.bool,
React.PropTypes.array,
]),
handleBlur: React.PropTypes.func,
handleChange: React.PropTypes.func.isRequired,
handleFocus: React.PropTypes.func,
inputDescription: React.PropTypes.string,
name: React.PropTypes.string.isRequired,
noErrorsDescription: React.PropTypes.bool,
placeholder: React.PropTypes.string,
styles: React.PropTypes.object,
target: React.PropTypes.string.isRequired,
validations: React.PropTypes.object.isRequired,
React.PropTypes.bool.isRequired,
React.PropTypes.array.isRequired,
]).isRequired,
handleBlur: React.PropTypes.func.isRequired,
handleChange: React.PropTypes.func.isRequired.isRequired,
handleFocus: React.PropTypes.func.isRequired,
inputDescription: React.PropTypes.string.isRequired,
name: React.PropTypes.string.isRequired.isRequired,
noErrorsDescription: React.PropTypes.bool.isRequired,
placeholder: React.PropTypes.string.isRequired,
styles: React.PropTypes.object.isRequired,
target: React.PropTypes.string.isRequired.isRequired,
validations: React.PropTypes.object.isRequired.isRequired,
value: React.PropTypes.oneOfType([
React.PropTypes.number.isRequired,
React.PropTypes.string.isRequired,
]),
React.PropTypes.number.isRequired.isRequired,
React.PropTypes.string.isRequired.isRequired,
]).isRequired,
}
export default WithInput(InputNumber); // eslint-disable-line new-cap

View File

@ -144,20 +144,20 @@ class InputPassword extends React.Component { // eslint-disable-line react/prefe
}
InputPassword.propTypes = {
customBootstrapClass: React.PropTypes.string,
deactivateErrorHighlight: React.PropTypes.bool,
errors: React.PropTypes.array,
handleBlur: React.PropTypes.func,
handleChange: React.PropTypes.func.isRequired,
handleFocus: React.PropTypes.func,
inputDescription: React.PropTypes.string,
name: React.PropTypes.string.isRequired,
noErrorsDescription: React.PropTypes.bool,
placeholder: React.PropTypes.string,
styles: React.PropTypes.object,
target: React.PropTypes.string.isRequired,
validations: React.PropTypes.object.isRequired,
value: React.PropTypes.string,
customBootstrapClass: React.PropTypes.string.isRequired,
deactivateErrorHighlight: React.PropTypes.bool.isRequired,
errors: React.PropTypes.array.isRequired,
handleBlur: React.PropTypes.func.isRequired,
handleChange: React.PropTypes.func.isRequired.isRequired,
handleFocus: React.PropTypes.func.isRequired,
inputDescription: React.PropTypes.string.isRequired,
name: React.PropTypes.string.isRequired.isRequired,
noErrorsDescription: React.PropTypes.bool.isRequired,
placeholder: React.PropTypes.string.isRequired,
styles: React.PropTypes.object.isRequired,
target: React.PropTypes.string.isRequired.isRequired,
validations: React.PropTypes.object.isRequired.isRequired,
value: React.PropTypes.string.isRequired,
};
export default WithInput(InputPassword); // eslint-disable-line new-cap

View File

@ -50,17 +50,17 @@ class InputSelect extends React.Component { // eslint-disable-line react/prefer-
}
InputSelect.propTypes = {
addRequiredInputDesign: React.PropTypes.bool,
customBootstrapClass: React.PropTypes.string,
handleChange: React.PropTypes.func.isRequired,
name: React.PropTypes.string.isRequired,
addRequiredInputDesign: React.PropTypes.bool.isRequired,
customBootstrapClass: React.PropTypes.string.isRequired,
handleChange: React.PropTypes.func.isRequired.isRequired,
name: React.PropTypes.string.isRequired.isRequired,
selectOptions: React.PropTypes.oneOfType([
React.PropTypes.array,
React.PropTypes.object, // TODO remove
]),
target: React.PropTypes.string,
validations: React.PropTypes.object,
value: React.PropTypes.string,
React.PropTypes.array.isRequired,
React.PropTypes.object.isRequired, // TODO remove
]).isRequired,
target: React.PropTypes.string.isRequired,
validations: React.PropTypes.object.isRequired,
value: React.PropTypes.string.isRequired,
};
export default InputSelect;

View File

@ -148,18 +148,21 @@ class InputText extends React.Component { // eslint-disable-line react/prefer-st
const label = this.props.name ? <label htmlFor={this.props.name}><FormattedMessage id={`settings-manager.${this.props.name}`} /></label> : '';
const spacer = !this.props.name ? {marginTop: '2.4rem'} : {marginTop: ''};
const input = placeholder ? this.renderFormattedInput(handleBlur, inputValue, placeholder)
: <input
name={this.props.target}
id={this.props.name}
onBlur={handleBlur}
onFocus={this.props.handleFocus}
onChange={this.props.handleChange}
value={inputValue}
type="text"
className={`form-control ${this.state.errors? 'form-control-danger' : ''}`}
placeholder={placeholder}
/>;
const input = placeholder
? this.renderFormattedInput(handleBlur, inputValue, placeholder)
: (
<input
name={this.props.target}
id={this.props.name}
onBlur={handleBlur}
onFocus={this.props.handleFocus}
onChange={this.props.handleChange}
value={inputValue}
type="text"
className={`form-control ${this.state.errors? 'form-control-danger' : ''}`}
placeholder={placeholder}
/>
);
const requiredClass = this.props.validations.required && this.props.addRequiredInputDesign ? this.props.styles.requiredClass : '';
@ -176,21 +179,21 @@ class InputText extends React.Component { // eslint-disable-line react/prefer-st
}
InputText.propTypes = {
addRequiredInputDesign: React.PropTypes.bool,
customBootstrapClass: React.PropTypes.string,
deactivateErrorHighlight: React.PropTypes.bool,
errors: React.PropTypes.array,
handleBlur: React.PropTypes.func,
handleChange: React.PropTypes.func.isRequired,
handleFocus: React.PropTypes.func,
inputDescription: React.PropTypes.string,
name: React.PropTypes.string.isRequired,
noErrorsDescription: React.PropTypes.bool,
placeholder: React.PropTypes.string,
styles: React.PropTypes.object,
target: React.PropTypes.string,
validations: React.PropTypes.object.isRequired,
value: React.PropTypes.string,
addRequiredInputDesign: React.PropTypes.bool.isRequired,
customBootstrapClass: React.PropTypes.string.isRequired,
deactivateErrorHighlight: React.PropTypes.bool.isRequired,
errors: React.PropTypes.array.isRequired,
handleBlur: React.PropTypes.func.isRequired,
handleChange: React.PropTypes.func.isRequired.isRequired,
handleFocus: React.PropTypes.func.isRequired,
inputDescription: React.PropTypes.string.isRequired,
name: React.PropTypes.string.isRequired.isRequired,
noErrorsDescription: React.PropTypes.bool.isRequired,
placeholder: React.PropTypes.string.isRequired,
styles: React.PropTypes.object.isRequired,
target: React.PropTypes.string.isRequired,
validations: React.PropTypes.object.isRequired.isRequired,
value: React.PropTypes.string.isRequired,
}
export default WithInput(InputText); // eslint-disable-line new-cap

View File

@ -72,12 +72,12 @@ class InputToggle extends React.Component { // eslint-disable-line react/prefer-
}
InputToggle.propTypes = {
customBootstrapClass: React.PropTypes.string,
handleChange: React.PropTypes.func.isRequired,
hiddenLabel: React.PropTypes.bool,
isChecked: React.PropTypes.bool,
name: React.PropTypes.string,
target: React.PropTypes.string.isRequired,
customBootstrapClass: React.PropTypes.string.isRequired,
handleChange: React.PropTypes.func.isRequired.isRequired,
hiddenLabel: React.PropTypes.bool.isRequired,
isChecked: React.PropTypes.bool.isRequired,
name: React.PropTypes.string.isRequired,
target: React.PropTypes.string.isRequired.isRequired,
}
export default InputToggle;

View File

@ -51,14 +51,17 @@ class List extends React.Component { // eslint-disable-line react/prefer-statele
}
render() {
const button = this.props.noListButtonPopUp ? '' :
<ButtonPrimaryHotline
buttonBackground={'secondaryAddType'}
label={this.props.listButtonLabel}
handlei18n={this.props.handlei18n}
addShape
onClick={this.toggle}
/>;
const button = this.props.noListButtonPopUp
? ''
: (
<ButtonPrimaryHotline
buttonBackground={'secondaryAddType'}
label={this.props.listButtonLabel}
handlei18n={this.props.handlei18n}
addShape
onClick={this.toggle}
/>
);
const addListTitleMarginTop = this.props.addListTitleMarginTop ? styles.paddedTopList : '';
@ -128,22 +131,23 @@ class List extends React.Component { // eslint-disable-line react/prefer-statele
}
List.propTypes = {
actionBeforeOpenPopUp: React.PropTypes.func,
addListTitleMarginTop: React.PropTypes.bool,
error: React.PropTypes.bool,
handlei18n: React.PropTypes.bool,
handleListPopUpSubmit: React.PropTypes.func,
listButtonLabel: React.PropTypes.string,
listItems: React.PropTypes.array,
actionBeforeOpenPopUp: React.PropTypes.func.isRequired,
addListTitleMarginTop: React.PropTypes.bool.isRequired,
error: React.PropTypes.bool.isRequired,
formErrors: React.PropTypes.array.isRequired,
handlei18n: React.PropTypes.bool.isRequired,
handleListPopUpSubmit: React.PropTypes.func.isRequired,
listButtonLabel: React.PropTypes.string.isRequired,
listItems: React.PropTypes.array.isRequired,
listTitle: React.PropTypes.oneOfType([
React.PropTypes.string,
React.PropTypes.object,
]),
noListButtonPopUp: React.PropTypes.bool,
React.PropTypes.string.isRequired,
React.PropTypes.object.isRequired,
]).isRequired,
noListButtonPopUp: React.PropTypes.bool.isRequired,
renderRow: React.PropTypes.oneOfType([
React.PropTypes.bool,
React.PropTypes.func,
]),
React.PropTypes.bool.isRequired,
React.PropTypes.func.isRequired,
]).isRequired,
}
export default List;

View File

@ -22,9 +22,9 @@ class PluginLeftMenu extends React.Component { // eslint-disable-line react/pref
}
PluginLeftMenu.propTypes = {
environments: React.PropTypes.array,
envParams: React.PropTypes.string,
sections: React.PropTypes.array.isRequired,
environments: React.PropTypes.array.isRequired,
envParams: React.PropTypes.string.isRequired,
sections: React.PropTypes.array.isRequired.isRequired,
};
export default PluginLeftMenu;

View File

@ -46,10 +46,10 @@ class PluginLeftMenuLink extends React.Component { // eslint-disable-line react/
}
PluginLeftMenuLink.propTypes = {
environments: React.PropTypes.array,
environmentsRequired: React.PropTypes.bool,
envParams: React.PropTypes.string,
link: React.PropTypes.object.isRequired,
environments: React.PropTypes.array.isRequired,
environmentsRequired: React.PropTypes.bool.isRequired,
envParams: React.PropTypes.string.isRequired,
link: React.PropTypes.object.isRequired.isRequired,
};
export default PluginLeftMenuLink;

View File

@ -38,9 +38,9 @@ class PluginLeftMenuSection extends React.Component { // eslint-disable-line rea
}
PluginLeftMenuSection.propTypes = {
environments: React.PropTypes.array,
envParams: React.PropTypes.string,
section: React.PropTypes.object.isRequired,
environments: React.PropTypes.array.isRequired,
envParams: React.PropTypes.string.isRequired,
section: React.PropTypes.object.isRequired.isRequired,
};
export default PluginLeftMenuSection;

View File

@ -41,12 +41,12 @@ class PopUpForm extends React.Component { // eslint-disable-line react/prefer-st
}
PopUpForm.propTypes = {
renderInput: React.PropTypes.func.isRequired,
renderInput: React.PropTypes.func.isRequired.isRequired,
renderPopUpForm: React.PropTypes.oneOfType([
React.PropTypes.func,
React.PropTypes.bool,
]),
sections: React.PropTypes.array,
React.PropTypes.func.isRequired,
React.PropTypes.bool.isRequired,
]).isRequired,
sections: React.PropTypes.array.isRequired,
};
export default WithFormSection(PopUpForm); // eslint-disable-line new-cap

View File

@ -68,13 +68,13 @@ class PopUpWarning extends React.Component { // eslint-disable-line react/prefer
}
PopUpWarning.propTypes = {
dangerMessage: React.PropTypes.string,
handleConfirm: React.PropTypes.func,
handleConfirmDanger: React.PropTypes.func,
isOpen: React.PropTypes.bool.isRequired,
showDanger: React.PropTypes.bool,
toggleModal: React.PropTypes.func.isRequired,
warningMessage: React.PropTypes.string,
dangerMessage: React.PropTypes.string.isRequired,
handleConfirm: React.PropTypes.func.isRequired,
handleConfirmDanger: React.PropTypes.func.isRequired,
isOpen: React.PropTypes.bool.isRequired.isRequired,
showDanger: React.PropTypes.bool.isRequired,
toggleModal: React.PropTypes.func.isRequired.isRequired,
warningMessage: React.PropTypes.string.isRequired,
}
export default PopUpWarning;

View File

@ -119,11 +119,12 @@ class RowDatabase extends React.Component { // eslint-disable-line react/prefer-
}
RowDatabase.propTypes = {
data: React.PropTypes.object.isRequired,
error: React.PropTypes.bool,
getDatabase: React.PropTypes.func,
handleDatabaseDelete: React.PropTypes.func,
handleSubmit: React.PropTypes.func,
}
data: React.PropTypes.object.isRequired.isRequired,
error: React.PropTypes.bool.isRequired,
formErrors: React.PropTypes.array.isRequired,
getDatabase: React.PropTypes.func.isRequired,
handleDatabaseDelete: React.PropTypes.func.isRequired,
handleSubmit: React.PropTypes.func.isRequired,
};
export default RowDatabase;

View File

@ -38,23 +38,27 @@ class RowLanguage extends React.Component { // eslint-disable-line react/prefer-
// apply i18n
const languageDisplay = isObject(languageObject) ? <FormattedMessage {...{ id: `settings-manager.${languageObject.name}` }} /> : '';
const languageLabel = this.props.active ?
<FormattedMessage id="settings-manager.list.languages.default.languages">
{(message) => (
const languageLabel = this.props.active
? (
<FormattedMessage id="settings-manager.list.languages.default.languages">
{(message) => (
<div className={this.props.liStyles.italicText} >
{message}
</div>
)}
</FormattedMessage> :
// set the span's id with the language name to retrieve it
<div className={this.props.liStyles.italicText} >
{message}
</div>
)}
</FormattedMessage>
)
: (
// set the span's id with the language name to retrieve it
<FormattedMessage id="settings-manager.list.languages.set.languages">
{(message) => (
<button className={this.props.liStyles.normal} onClick={this.props.changeDefaultLanguage} id={this.props.name}>
{message}
</button>
)}
</FormattedMessage>;
</FormattedMessage>
);
return (
<li>
@ -84,12 +88,12 @@ class RowLanguage extends React.Component { // eslint-disable-line react/prefer-
}
RowLanguage.propTypes = {
active: React.PropTypes.bool,
changeDefaultLanguage: React.PropTypes.func.isRequired,
handleLanguageDelete: React.PropTypes.func.isRequired,
listLanguages: React.PropTypes.object.isRequired,
liStyles: React.PropTypes.object,
name: React.PropTypes.string.isRequired,
active: React.PropTypes.bool.isRequired,
changeDefaultLanguage: React.PropTypes.func.isRequired.isRequired,
handleLanguageDelete: React.PropTypes.func.isRequired.isRequired,
listLanguages: React.PropTypes.object.isRequired.isRequired,
liStyles: React.PropTypes.object.isRequired,
name: React.PropTypes.string.isRequired.isRequired,
};
export default RowLanguage;

View File

@ -39,10 +39,10 @@ class SelectOptionLanguage extends React.Component { // eslint-disable-line reac
}
SelectOptionLanguage.propTypes = {
isFocused: React.PropTypes.bool,
onFocus: React.PropTypes.func,
onSelect: React.PropTypes.func,
option: React.PropTypes.object.isRequired,
isFocused: React.PropTypes.bool.isRequired,
onFocus: React.PropTypes.func.isRequired,
onSelect: React.PropTypes.func.isRequired,
option: React.PropTypes.object.isRequired.isRequired,
};
export default SelectOptionLanguage;

View File

@ -19,15 +19,15 @@ import styles from './styles.scss';
const WithFormSection = (InnerComponent) => class extends React.Component {
static propTypes = {
addRequiredInputDesign: React.PropTypes.bool,
cancelAction: React.PropTypes.bool,
formErrors: React.PropTypes.array,
handleChange: React.PropTypes.func.isRequired,
addRequiredInputDesign: React.PropTypes.bool.isRequired,
cancelAction: React.PropTypes.bool.isRequired,
formErrors: React.PropTypes.array.isRequired,
handleChange: React.PropTypes.func.isRequired.isRequired,
section: React.PropTypes.oneOfType([
React.PropTypes.object,
React.PropTypes.array,
]),
values: React.PropTypes.object,
React.PropTypes.object.isRequired,
React.PropTypes.array.isRequired,
]).isRequired,
values: React.PropTypes.object.isRequired,
}
constructor(props) {

View File

@ -50,18 +50,18 @@ class App extends React.Component {
}
App.contextTypes = {
router: React.PropTypes.object.isRequired,
router: React.PropTypes.object.isRequired.isRequired,
};
App.propTypes = {
children: React.PropTypes.node.isRequired,
environments: React.PropTypes.array,
environmentsFetch: React.PropTypes.func,
exposedComponents: React.PropTypes.object.isRequired,
loading: React.PropTypes.bool,
menuFetch: React.PropTypes.func,
params: React.PropTypes.object,
sections: React.PropTypes.array.isRequired,
children: React.PropTypes.node.isRequired.isRequired,
environments: React.PropTypes.array.isRequired,
environmentsFetch: React.PropTypes.func.isRequired,
exposedComponents: React.PropTypes.object.isRequired.isRequired,
loading: React.PropTypes.bool.isRequired,
menuFetch: React.PropTypes.func.isRequired,
params: React.PropTypes.object.isRequired,
sections: React.PropTypes.array.isRequired.isRequired,
};
export function mapDispatchToProps(dispatch) {
@ -72,7 +72,7 @@ export function mapDispatchToProps(dispatch) {
},
dispatch
);
};
}
const mapStateToProps = createStructuredSelector({
sections: makeSelectSections(),

View File

@ -430,9 +430,9 @@ export class HomePage extends React.Component { // eslint-disable-line react/pre
}
setDefaultConnectionDb = () => {
const value = this.state.toggleDefaultConnection ?
this.props.home.addDatabaseSection.sections[1].items[0].value
: this.props.home.modifiedData[this.props.home.dbNameTarget];
const value = this.state.toggleDefaultConnection
? this.props.home.addDatabaseSection.sections[1].items[0].value
: this.props.home.modifiedData[this.props.home.dbNameTarget];
const target = { name: 'database.defaultConnection', value };
this.handleChange({target});
this.setState({ toggleDefaultConnection: !this.state.toggleDefaultConnection });
@ -507,26 +507,26 @@ function mapDispatchToProps(dispatch) {
}
HomePage.propTypes = {
cancelChanges: React.PropTypes.func,
changeDefaultLanguage: React.PropTypes.func,
changeInput: React.PropTypes.func,
configFetch: React.PropTypes.func.isRequired,
databaseDelete: React.PropTypes.func,
databaseEdit: React.PropTypes.func,
databasesFetch: React.PropTypes.func,
editSettings: React.PropTypes.func,
emptyDbModifiedData: React.PropTypes.func,
environments: React.PropTypes.array,
home: React.PropTypes.object,
languageDelete: React.PropTypes.func,
languagesFetch: React.PropTypes.func,
location: React.PropTypes.object,
menuSections: React.PropTypes.array,
newDatabasePost: React.PropTypes.func,
newLanguagePost: React.PropTypes.func,
params: React.PropTypes.object.isRequired,
setErrors: React.PropTypes.func,
specificDatabaseFetch: React.PropTypes.func,
cancelChanges: React.PropTypes.func.isRequired,
changeDefaultLanguage: React.PropTypes.func.isRequired,
changeInput: React.PropTypes.func.isRequired,
configFetch: React.PropTypes.func.isRequired.isRequired,
databaseDelete: React.PropTypes.func.isRequired,
databaseEdit: React.PropTypes.func.isRequired,
databasesFetch: React.PropTypes.func.isRequired,
editSettings: React.PropTypes.func.isRequired,
emptyDbModifiedData: React.PropTypes.func.isRequired,
environments: React.PropTypes.array.isRequired,
home: React.PropTypes.object.isRequired,
languageDelete: React.PropTypes.func.isRequired,
languagesFetch: React.PropTypes.func.isRequired,
location: React.PropTypes.object.isRequired,
menuSections: React.PropTypes.array.isRequired,
newDatabasePost: React.PropTypes.func.isRequired,
newLanguagePost: React.PropTypes.func.isRequired,
params: React.PropTypes.object.isRequired.isRequired,
setErrors: React.PropTypes.func.isRequired,
specificDatabaseFetch: React.PropTypes.func.isRequired,
};
export default connect(mapStateToProps, mapDispatchToProps)(HomePage);

View File

@ -60,9 +60,9 @@ function homePageReducer(state = initialState, action) {
return state.updateIn(['modifiedData', action.key], () => action.value);
case CANCEL_CHANGES:
return state
.set('modifiedData', state.get('initialData'))
.set('formErrors', [])
.set('cancelAction', !state.get('cancelAction'));
.set('modifiedData', state.get('initialData'))
.set('formErrors', [])
.set('cancelAction', !state.get('cancelAction'));
case DATABASES_FETCH_SUCCEEDED:
return state
.set('configsDisplay', OrderedMap(action.configsDisplay))
@ -123,10 +123,10 @@ function homePageReducer(state = initialState, action) {
case EMPTY_DB_MODIFIED_DATA:
const defaultDbConnection = state.getIn(['modifiedData', 'database.defaultConnection']);
return state
.set('modifiedData', Map())
.set('dbNameTarget', 'database.connections.${name}.name') // eslint-disable-line no-template-curly-in-string
.set('formErrors', [])
.setIn(['modifiedData', 'database.defaultConnection'], defaultDbConnection);
.set('modifiedData', Map())
.set('dbNameTarget', 'database.connections.${name}.name') // eslint-disable-line no-template-curly-in-string
.set('formErrors', [])
.setIn(['modifiedData', 'database.defaultConnection'], defaultDbConnection);
case NEW_LANGUAGE_POST:
const sections = state.getIn(['configsDisplay', 'sections']);
sections.push({ active: false, name: state.getIn(['modifiedData', 'language.defaultLocale']) });

View File

@ -9,9 +9,9 @@ export default function sendUpdatedParams() {
body[key] = value;
}
else if (key === 'security.xframe.value.nested' && prevSettings['security.xframe.value.nested'] !== this.props.home.modifiedData['security.xframe.value.nested'] && this.props.home.modifiedData['security.xframe.value'] === 'ALLOW-FROM') {
const xFrameValue = 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']}`;
const xFrameValue = 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']}`;
body['security.xframe.value'] = xFrameValue;
}

View File

@ -34,16 +34,16 @@
},
"devDependencies": {
"cross-env": "^3.1.3",
"eslint": "^3.9.0",
"eslint-config-airbnb": "^12.0.0",
"eslint-config-airbnb-base": "^9.0.0",
"eslint": "^4.4.1",
"eslint-config-airbnb": "^15.1.0",
"eslint-config-airbnb-base": "^11.3.1",
"eslint-config-prettier": "^2.3.0",
"eslint-import-resolver-webpack": "^0.6.0",
"eslint-import-resolver-webpack": "^0.8.3",
"eslint-plugin-babel": "^4.1.2",
"eslint-plugin-import": "^2.0.1",
"eslint-plugin-jsx-a11y": "^2.2.3",
"eslint-plugin-react": "^6.4.1",
"eslint-plugin-redux-saga": "^0.1.5",
"eslint-plugin-import": "^2.7.0",
"eslint-plugin-jsx-a11y": "^6.0.2",
"eslint-plugin-react": "^7.2.1",
"eslint-plugin-redux-saga": "^0.4.0",
"plop": "^1.5.0",
"prettier": "^1.5.3",
"rimraf": "^2.5.4",