mirror of
https://github.com/reduxjs/redux-devtools.git
synced 2025-07-23 06:29:51 +03:00
stash
This commit is contained in:
parent
11add6a54c
commit
c746f29e9d
|
@ -8,16 +8,20 @@ import {
|
||||||
Notification,
|
Notification,
|
||||||
Dialog,
|
Dialog,
|
||||||
} from 'devui';
|
} from 'devui';
|
||||||
import { formSchema, uiSchema, defaultFormData } from './templateForm';
|
|
||||||
import { MdAdd } from 'react-icons/md';
|
import { MdAdd } from 'react-icons/md';
|
||||||
import { MdEdit } from 'react-icons/md';
|
import { MdEdit } from 'react-icons/md';
|
||||||
|
import { Action } from 'redux';
|
||||||
|
import { TabComponentProps } from 'redux-devtools-inspector-monitor';
|
||||||
|
import { formSchema, uiSchema, defaultFormData } from './templateForm';
|
||||||
import TestGenerator from './TestGenerator';
|
import TestGenerator from './TestGenerator';
|
||||||
import jestTemplate from './redux/jest/template';
|
import jestTemplate from './redux/jest/template';
|
||||||
import mochaTemplate from './redux/mocha/template';
|
import mochaTemplate from './redux/mocha/template';
|
||||||
import tapeTemplate from './redux/tape/template';
|
import tapeTemplate from './redux/tape/template';
|
||||||
import avaTemplate from './redux/ava/template';
|
import avaTemplate from './redux/ava/template';
|
||||||
|
import { Template } from './types';
|
||||||
|
import { DevtoolsInspectorState } from 'redux-devtools-inspector-monitor/lib/redux';
|
||||||
|
|
||||||
export const getDefaultTemplates = (/* lib */) =>
|
export const getDefaultTemplates = (/* lib */): Template[] =>
|
||||||
/*
|
/*
|
||||||
if (lib === 'redux') {
|
if (lib === 'redux') {
|
||||||
return [mochaTemplate, tapeTemplate, avaTemplate];
|
return [mochaTemplate, tapeTemplate, avaTemplate];
|
||||||
|
@ -26,15 +30,27 @@ export const getDefaultTemplates = (/* lib */) =>
|
||||||
*/
|
*/
|
||||||
[jestTemplate, mochaTemplate, tapeTemplate, avaTemplate];
|
[jestTemplate, mochaTemplate, tapeTemplate, avaTemplate];
|
||||||
|
|
||||||
export default class TestTab extends Component {
|
interface TestGeneratorMonitorState {
|
||||||
constructor(props) {
|
hideTip?: boolean;
|
||||||
super(props);
|
selected?: number;
|
||||||
this.state = { dialogStatus: null };
|
templates: Template[];
|
||||||
}
|
}
|
||||||
|
|
||||||
getPersistedState = () => this.props.monitorState.testGenerator || {};
|
interface State {
|
||||||
|
dialogStatus: 'Add' | 'Edit' | null;
|
||||||
|
}
|
||||||
|
|
||||||
handleSelectTemplate = (selectedTemplate) => {
|
export default class TestTab<S, A extends Action<unknown>> extends Component<
|
||||||
|
TabComponentProps<S, A>,
|
||||||
|
State
|
||||||
|
> {
|
||||||
|
state: State = { dialogStatus: null };
|
||||||
|
|
||||||
|
getPersistedState = (): TestGeneratorMonitorState =>
|
||||||
|
(this.props.monitorState as { testGenerator?: TestGeneratorMonitorState })
|
||||||
|
.testGenerator || {};
|
||||||
|
|
||||||
|
handleSelectTemplate = (selectedTemplate: Template) => {
|
||||||
const { templates = getDefaultTemplates() } = this.getPersistedState();
|
const { templates = getDefaultTemplates() } = this.getPersistedState();
|
||||||
this.updateState({ selected: templates.indexOf(selectedTemplate) });
|
this.updateState({ selected: templates.indexOf(selectedTemplate) });
|
||||||
};
|
};
|
||||||
|
@ -93,10 +109,12 @@ export default class TestTab extends Component {
|
||||||
updateState = (newState) => {
|
updateState = (newState) => {
|
||||||
this.props.updateMonitorState({
|
this.props.updateMonitorState({
|
||||||
testGenerator: {
|
testGenerator: {
|
||||||
...this.props.monitorState.testGenerator,
|
...(this.props.monitorState as {
|
||||||
|
testGenerator?: TestGeneratorMonitorState;
|
||||||
|
}).testGenerator,
|
||||||
...newState,
|
...newState,
|
||||||
},
|
},
|
||||||
});
|
} as Partial<DevtoolsInspectorState>);
|
||||||
};
|
};
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
|
@ -164,20 +182,20 @@ export default class TestTab extends Component {
|
||||||
</Container>
|
</Container>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
TestTab.propTypes = {
|
static propTypes = {
|
||||||
monitorState: PropTypes.shape({
|
monitorState: PropTypes.shape({
|
||||||
testGenerator: PropTypes.shape({
|
testGenerator: PropTypes.shape({
|
||||||
templates: PropTypes.array,
|
templates: PropTypes.array,
|
||||||
selected: PropTypes.number,
|
selected: PropTypes.number,
|
||||||
hideTip: PropTypes.bool,
|
hideTip: PropTypes.bool,
|
||||||
}),
|
}),
|
||||||
}).isRequired,
|
}).isRequired,
|
||||||
/*
|
/*
|
||||||
options: PropTypes.shape({
|
options: PropTypes.shape({
|
||||||
lib: PropTypes.string
|
lib: PropTypes.string
|
||||||
}).isRequired,
|
}).isRequired,
|
||||||
*/
|
*/
|
||||||
updateMonitorState: PropTypes.func.isRequired,
|
updateMonitorState: PropTypes.func.isRequired,
|
||||||
};
|
};
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user