Hook up Test All Applications button in UI

This commit is contained in:
Qstick
2021-02-20 17:42:56 -05:00
parent c12052867a
commit 512216cf90
4 changed files with 69 additions and 28 deletions

View File

@@ -1,4 +1,5 @@
import React, { Fragment } 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';
@@ -8,33 +9,47 @@ import SettingsToolbarConnector from 'Settings/SettingsToolbarConnector';
import translate from 'Utilities/String/translate';
import ApplicationsConnector from './Applications/ApplicationsConnector';
function ApplicationSettings() {
return (
<PageContent title={translate('Applications')}>
<SettingsToolbarConnector
showSave={false}
additionalButtons={
<Fragment>
<PageToolbarSeparator />
class ApplicationSettings extends Component {
render() {
const {
isTestingAll,
dispatchTestAllApplications
} = this.props;
<PageToolbarButton
label={translate('SyncAppIndexers')}
iconName={icons.REFRESH}
/>
return (
<PageContent title={translate('Applications')}>
<SettingsToolbarConnector
showSave={false}
additionalButtons={
<Fragment>
<PageToolbarSeparator />
<PageToolbarButton
label={translate('TestAllApps')}
iconName={icons.TEST}
/>
</Fragment>
}
/>
<PageToolbarButton
label={translate('SyncAppIndexers')}
iconName={icons.REFRESH}
/>
<PageContentBody>
<ApplicationsConnector />
</PageContentBody>
</PageContent>
);
<PageToolbarButton
label={translate('TestAllApps')}
iconName={icons.TEST}
isSpinning={isTestingAll}
onPress={dispatchTestAllApplications}
/>
</Fragment>
}
/>
<PageContentBody>
<ApplicationsConnector />
</PageContentBody>
</PageContent>
);
}
}
ApplicationSettings.propTypes = {
isTestingAll: PropTypes.bool.isRequired,
dispatchTestAllApplications: PropTypes.func.isRequired
};
export default ApplicationSettings;

View File

@@ -0,0 +1,21 @@
import { connect } from 'react-redux';
import { createSelector } from 'reselect';
import { testAllApplications } from 'Store/Actions/settingsActions';
import ApplicationSettings from './ApplicationSettings';
function createMapStateToProps() {
return createSelector(
(state) => state.settings.applications.isTestingAll,
(isTestingAll) => {
return {
isTestingAll
};
}
);
}
const mapDispatchToProps = {
dispatchTestAllApplications: testAllApplications
};
export default connect(createMapStateToProps, mapDispatchToProps)(ApplicationSettings);