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 +}