diff --git a/packages/strapi-helper-plugin/lib/src/components/Input/index.js b/packages/strapi-helper-plugin/lib/src/components/Input/index.js
index 69e9d3464f..3e19eb4856 100644
--- a/packages/strapi-helper-plugin/lib/src/components/Input/index.js
+++ b/packages/strapi-helper-plugin/lib/src/components/Input/index.js
@@ -165,6 +165,7 @@ class Input extends React.Component { // eslint-disable-line react/prefer-statel
value={value}
dateFormat='YYYY-MM-DD'
timeFormat='HH:mm:ss'
+ tabIndex={this.props.tabIndex}
utc={true}
inputProps={{
placeholder: this.props.placeholder,
@@ -214,6 +215,7 @@ class Input extends React.Component { // eslint-disable-line react/prefer-statel
disabled={this.props.disabled}
type="email"
autoFocus={this.props.autoFocus}
+ tabIndex={this.props.tabIndex}
/>
)}
@@ -244,6 +246,7 @@ class Input extends React.Component { // eslint-disable-line react/prefer-statel
autoComplete="off"
disabled={this.props.disabled}
autoFocus={this.props.autoFocus}
+ tabIndex={this.props.tabIndex}
/>
)}
@@ -278,6 +281,7 @@ class Input extends React.Component { // eslint-disable-line react/prefer-statel
disabled={this.props.disabled}
type={type}
autoFocus={this.props.autoFocus}
+ tabIndex={this.props.tabIndex}
/>
)}
@@ -366,6 +370,7 @@ class Input extends React.Component { // eslint-disable-line react/prefer-statel
disabled={this.props.disabled}
type="text"
autoFocus={this.props.autoFocus}
+ tabIndex={this.props.tabIndex}
/>
)}
@@ -406,6 +411,7 @@ class Input extends React.Component { // eslint-disable-line react/prefer-statel
placeholder={placeholder}
disabled={this.props.disabled}
autoFocus={this.props.autoFocus}
+ tabIndex={this.props.tabIndex}
/>
)}
@@ -467,6 +473,7 @@ class Input extends React.Component { // eslint-disable-line react/prefer-statel
placeholder={placeholder}
disabled={this.props.disabled}
autoFocus={this.props.autoFocus}
+ tabIndex={this.props.tabIndex}
/>;
const link = !isEmpty(this.props.linkContent) ? : '';
@@ -616,6 +623,7 @@ Input.propTypes = {
search: PropTypes.bool,
selectOptions: PropTypes.array,
selectOptionsFetchSucceeded: PropTypes.bool,
+ tabIndex: PropTypes.string,
title: PropTypes.string,
type: PropTypes.string.isRequired,
validations: PropTypes.object.isRequired,
@@ -644,6 +652,7 @@ Input.defaultProps = {
search: false,
selectOptions: [],
selectOptionsFetchSucceeded: false,
+ tabIndex: '0',
value: ''
};
diff --git a/packages/strapi-plugin-content-manager/admin/src/components/EditForm/index.js b/packages/strapi-plugin-content-manager/admin/src/components/EditForm/index.js
index 49dde72f5f..70d8c968b6 100755
--- a/packages/strapi-plugin-content-manager/admin/src/components/EditForm/index.js
+++ b/packages/strapi-plugin-content-manager/admin/src/components/EditForm/index.js
@@ -57,7 +57,7 @@ class EditForm extends React.Component {
const displayedFields = merge(get(currentLayout), omit(currentSchema.fields, 'id'));
// List fields inputs
- const fields = Object.keys(displayedFields).map(attr => {
+ const fields = Object.keys(displayedFields).map((attr, key) => {
const details = displayedFields[attr];
const errorIndex = findIndex(this.props.formErrors, ['name', attr]);
const errors = errorIndex !== -1 ? this.props.formErrors[errorIndex].errors : [];
@@ -74,6 +74,7 @@ class EditForm extends React.Component {
return (
diff --git a/packages/strapi-plugin-content-type-builder/admin/src/components/RelationBox/index.js b/packages/strapi-plugin-content-type-builder/admin/src/components/RelationBox/index.js
index 038dbf94d2..16abe2f996 100644
--- a/packages/strapi-plugin-content-type-builder/admin/src/components/RelationBox/index.js
+++ b/packages/strapi-plugin-content-type-builder/admin/src/components/RelationBox/index.js
@@ -119,6 +119,7 @@ class RelationBox extends React.Component { // eslint-disable-line react/prefer-
errors={this.props.errors}
didCheckErrors={this.props.didCheckErrors}
pluginID="content-type-builder"
+ autoFocus={this.props.autoFocus}
/>;
const dropDown = !isEmpty(this.props.dropDownItems) ? this.renderDropdownMenu() : '';
@@ -150,6 +151,7 @@ class RelationBox extends React.Component { // eslint-disable-line react/prefer-
}
RelationBox.propTypes = {
+ autoFocus: PropTypes.bool,
contentTypeTargetPlaceholder: PropTypes.string,
didCheckErrors: PropTypes.bool.isRequired,
dropDownItems: PropTypes.array,
@@ -165,6 +167,7 @@ RelationBox.propTypes = {
};
RelationBox.defaultProps = {
+ autoFocus: false,
contentTypeTargetPlaceholder: '',
dropDownItems: [],
errors: [],
diff --git a/packages/strapi-plugin-users-permissions/models/User.settings.json b/packages/strapi-plugin-users-permissions/models/User.settings.json
index 6bea21386c..bbd8bb545f 100644
--- a/packages/strapi-plugin-users-permissions/models/User.settings.json
+++ b/packages/strapi-plugin-users-permissions/models/User.settings.json
@@ -9,13 +9,15 @@
"type": "string",
"minLength": 3,
"unique": true,
- "configurable": false
+ "configurable": false,
+ "required": true
},
"email": {
"type": "email",
"minLength": 6,
"unique": true,
- "configurable": false
+ "configurable": false,
+ "required": true
},
"provider": {
"type": "string",
@@ -24,7 +26,8 @@
"password": {
"type": "password",
"minLength": 6,
- "configurable": false
+ "configurable": false,
+ "required": true
},
"resetPasswordToken": {
"type": "string",
@@ -36,4 +39,4 @@
}
},
"connection": "default"
-}
\ No newline at end of file
+}