New: Reset Quality Definitions to default

Closes #2843

(cherry picked from commit d5fff15f32fdb49768dcadd94c760678e650c884)
This commit is contained in:
Qstick 2022-06-05 22:50:46 -05:00
parent cbb14cd148
commit a431a1ce95
12 changed files with 334 additions and 8 deletions

View file

@ -1,9 +1,14 @@
import React, { Component } from 'react';
import PropTypes from 'prop-types';
import React, { Component, Fragment } from 'react';
import PageContent from 'Components/Page/PageContent';
import PageContentBody from 'Components/Page/PageContentBody';
import PageToolbarButton from 'Components/Page/Toolbar/PageToolbarButton';
import PageToolbarSeparator from 'Components/Page/Toolbar/PageToolbarSeparator';
import { icons } from 'Helpers/Props';
import SettingsToolbarConnector from 'Settings/SettingsToolbarConnector';
import translate from 'Utilities/String/translate';
import QualityDefinitionsConnector from './Definition/QualityDefinitionsConnector';
import ResetQualityDefinitionsModal from './Reset/ResetQualityDefinitionsModal';
class Quality extends Component {
@ -17,7 +22,8 @@ class Quality extends Component {
this.state = {
isSaving: false,
hasPendingChanges: false
hasPendingChanges: false,
isConfirmQualityDefinitionResetModalOpen: false
};
}
@ -32,6 +38,14 @@ class Quality extends Component {
this.setState(payload);
};
onResetQualityDefinitionsPress = () => {
this.setState({ isConfirmQualityDefinitionResetModalOpen: true });
};
onCloseResetQualityDefinitionsModal = () => {
this.setState({ isConfirmQualityDefinitionResetModalOpen: false });
};
onSavePress = () => {
if (this._saveCallback) {
this._saveCallback();
@ -44,6 +58,7 @@ class Quality extends Component {
render() {
const {
isSaving,
isResettingQualityDefinitions,
hasPendingChanges
} = this.state;
@ -52,6 +67,18 @@ class Quality extends Component {
<SettingsToolbarConnector
isSaving={isSaving}
hasPendingChanges={hasPendingChanges}
additionalButtons={
<Fragment>
<PageToolbarSeparator />
<PageToolbarButton
label="Reset Definitions"
iconName={icons.REFRESH}
isSpinning={isResettingQualityDefinitions}
onPress={this.onResetQualityDefinitionsPress}
/>
</Fragment>
}
onSavePress={this.onSavePress}
/>
@ -61,9 +88,18 @@ class Quality extends Component {
onChildStateChange={this.onChildStateChange}
/>
</PageContentBody>
<ResetQualityDefinitionsModal
isOpen={this.state.isConfirmQualityDefinitionResetModalOpen}
onModalClose={this.onCloseResetQualityDefinitionsModal}
/>
</PageContent>
);
}
}
Quality.propTypes = {
isResettingQualityDefinitions: PropTypes.bool.isRequired
};
export default Quality;