Skip to content

Commit 5c97d92

Browse files
authored
Merge pull request #1012 from rust-lang/finish-rtk
Finish rewriting reducers in RTK
2 parents 8f6fa1a + 108d50a commit 5c97d92

22 files changed

+272
-314
lines changed

ui/frontend/.eslintrc.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,10 +71,14 @@ module.exports = {
7171
'compileActions.ts',
7272
'editor/AceEditor.tsx',
7373
'editor/SimpleEditor.tsx',
74+
'reducers/browser.ts',
7475
'reducers/client.ts',
76+
'reducers/code.ts',
77+
'reducers/configuration.ts',
7578
'reducers/crates.ts',
7679
'reducers/featureFlags.ts',
7780
'reducers/globalConfiguration.ts',
81+
'reducers/notifications.ts',
7882
'reducers/output/assembly.ts',
7983
'reducers/output/clippy.ts',
8084
'reducers/output/execute.ts',
@@ -87,6 +91,9 @@ module.exports = {
8791
'reducers/output/mir.ts',
8892
'reducers/output/miri.ts',
8993
'reducers/output/wasm.ts',
94+
'reducers/page.ts',
95+
'reducers/position.ts',
96+
'reducers/selection.ts',
9097
'reducers/versions.ts',
9198
'reducers/websocket.ts',
9299
'websocketActions.ts',

ui/frontend/.prettierignore

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,14 @@ node_modules
2222
!compileActions.ts
2323
!editor/AceEditor.tsx
2424
!editor/SimpleEditor.tsx
25+
!reducers/browser.ts
2526
!reducers/client.ts
27+
!reducers/code.ts
28+
!reducers/configuration.ts
2629
!reducers/crates.ts
2730
!reducers/featureFlags.ts
2831
!reducers/globalConfiguration.ts
32+
!reducers/notifications.ts
2933
!reducers/output/assembly.ts
3034
!reducers/output/clippy.ts
3135
!reducers/output/execute.ts
@@ -38,6 +42,9 @@ node_modules
3842
!reducers/output/mir.ts
3943
!reducers/output/miri.ts
4044
!reducers/output/wasm.ts
45+
!reducers/page.ts
46+
!reducers/position.ts
47+
!reducers/selection.ts
4148
!reducers/versions.ts
4249
!reducers/websocket.ts
4350
!websocketActions.ts

ui/frontend/AdvancedOptionsMenu.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import React, { useCallback } from 'react';
22
import { useSelector, useDispatch } from 'react-redux';
33

4-
import * as actions from './actions';
4+
import * as config from './reducers/configuration';
55
import { Either as EitherConfig, Select as SelectConfig } from './ConfigElement';
66
import MenuGroup from './MenuGroup';
77
import { State } from './reducers';
@@ -16,8 +16,8 @@ const AdvancedOptionsMenu: React.FC = () => {
1616

1717
const dispatch = useDispatch();
1818

19-
const changeEdition = useCallback((e: Edition) => dispatch(actions.changeEdition(e)), [dispatch]);
20-
const changeBacktrace = useCallback((b: Backtrace) => dispatch(actions.changeBacktrace(b)), [dispatch]);
19+
const changeEdition = useCallback((e: Edition) => dispatch(config.changeEdition(e)), [dispatch]);
20+
const changeBacktrace = useCallback((b: Backtrace) => dispatch(config.changeBacktrace(b)), [dispatch]);
2121

2222
const channel = useSelector((state: State) => state.configuration.channel);
2323
const switchText = (channel !== Channel.Nightly) ? ' (will select nightly Rust)' : '';

ui/frontend/ChannelMenu.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { useSelector, useDispatch } from 'react-redux';
44
import MenuGroup from './MenuGroup';
55
import SelectOne from './SelectOne';
66

7-
import * as actions from './actions';
7+
import * as config from './reducers/configuration';
88
import * as selectors from './selectors';
99
import State from './state';
1010
import { Channel } from './types';
@@ -25,7 +25,7 @@ const ChannelMenu: React.FC<ChannelMenuProps> = props => {
2525

2626
const dispatch = useDispatch();
2727
const changeChannel = useCallback((channel: Channel) => {
28-
dispatch(actions.changeChannel(channel));
28+
dispatch(config.changeChannel(channel));
2929
props.close();
3030
}, [dispatch, props]);
3131

ui/frontend/ConfigMenu.tsx

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import { useDispatch, useSelector } from 'react-redux';
66
import { Either as EitherConfig, Select as SelectConfig } from './ConfigElement';
77
import MenuGroup from './MenuGroup';
88

9-
import * as actions from './actions';
9+
import * as config from './reducers/configuration';
1010
import State from './state';
1111
import {
1212
AssemblyFlavor,
@@ -33,19 +33,19 @@ const ConfigMenu: React.FC = () => {
3333
const processAssembly = useSelector((state: State) => state.configuration.processAssembly);
3434

3535
const dispatch = useDispatch();
36-
const changeAceTheme = useCallback((t: string) => dispatch(actions.changeAceTheme(t)), [dispatch]);
37-
const changeMonacoTheme = useCallback((t: string) => dispatch(actions.changeMonacoTheme(t)), [dispatch]);
38-
const changeKeybinding = useCallback((k: string) => dispatch(actions.changeKeybinding(k)), [dispatch]);
39-
const changeOrientation = useCallback((o: Orientation) => dispatch(actions.changeOrientation(o)), [dispatch]);
40-
const changeEditorStyle = useCallback((e: Editor) => dispatch(actions.changeEditor(e)), [dispatch]);
36+
const changeAceTheme = useCallback((t: string) => dispatch(config.changeAceTheme(t)), [dispatch]);
37+
const changeMonacoTheme = useCallback((t: string) => dispatch(config.changeMonacoTheme(t)), [dispatch]);
38+
const changeKeybinding = useCallback((k: string) => dispatch(config.changeKeybinding(k)), [dispatch]);
39+
const changeOrientation = useCallback((o: Orientation) => dispatch(config.changeOrientation(o)), [dispatch]);
40+
const changeEditorStyle = useCallback((e: Editor) => dispatch(config.changeEditor(e)), [dispatch]);
4141
const changeAssemblyFlavor =
42-
useCallback((a: AssemblyFlavor) => dispatch(actions.changeAssemblyFlavor(a)), [dispatch]);
42+
useCallback((a: AssemblyFlavor) => dispatch(config.changeAssemblyFlavor(a)), [dispatch]);
4343
const changePairCharacters =
44-
useCallback((p: PairCharacters) => dispatch(actions.changePairCharacters(p)), [dispatch]);
44+
useCallback((p: PairCharacters) => dispatch(config.changePairCharacters(p)), [dispatch]);
4545
const changeProcessAssembly =
46-
useCallback((p: ProcessAssembly) => dispatch(actions.changeProcessAssembly(p)), [dispatch]);
46+
useCallback((p: ProcessAssembly) => dispatch(config.changeProcessAssembly(p)), [dispatch]);
4747
const changeDemangleAssembly =
48-
useCallback((d: DemangleAssembly) => dispatch(actions.changeDemangleAssembly(d)), [dispatch]);
48+
useCallback((d: DemangleAssembly) => dispatch(config.changeDemangleAssembly(d)), [dispatch]);
4949

5050
return (
5151
<Fragment>

ui/frontend/Header.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import ToolsMenu from './ToolsMenu';
2020
import * as actions from './actions';
2121
import { useAppDispatch } from './configureStore';
2222
import { performGistSave } from './reducers/output/gist';
23+
import { navigateToHelp } from './reducers/page';
2324
import * as selectors from './selectors';
2425

2526
import styles from './Header.module.css';
@@ -195,7 +196,7 @@ const ConfigMenuButton: React.FC<PortalProps> = ({ menuContainer }) => {
195196
};
196197

197198
const HelpButton: React.FC = () => (
198-
<IconLink title="View help" action={actions.navigateToHelp}>
199+
<IconLink title="View help" action={navigateToHelp}>
199200
<HelpIcon />
200201
</IconLink>
201202
);

ui/frontend/Help.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
import React from 'react';
22

3-
import * as actions from './actions';
43
import Example from './HelpExample';
54
import Link from './uss-router/Link';
65

76
import styles from './Help.module.css';
87

98
import integer32Logo from './assets/integer32-logo.svg';
9+
import { navigateToIndex } from './reducers/page';
1010

1111
const ACE_URL = 'https://github.com/ajaxorg/ace';
1212
const CLIPPY_URL = 'https://github.com/rust-lang/rust-clippy';
@@ -79,7 +79,7 @@ const Help: React.FC = () => {
7979
return (
8080
<section className={styles.container}>
8181
<h1>The Rust Playground</h1>
82-
<Link action={actions.navigateToIndex}>Return to the playground</Link>
82+
<Link action={navigateToIndex}>Return to the playground</Link>
8383

8484
<LinkableSection id="about" header="About" level="h2">
8585
<p>

ui/frontend/ModeMenu.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { useSelector, useDispatch } from 'react-redux';
44
import MenuGroup from './MenuGroup';
55
import SelectOne from './SelectOne';
66

7-
import * as actions from './actions';
7+
import * as config from './reducers/configuration';
88
import State from './state';
99
import { Mode } from './types';
1010

@@ -16,7 +16,7 @@ const ModeMenu: React.FC<ModeMenuProps> = props => {
1616
const mode = useSelector((state: State) => state.configuration.mode);
1717
const dispatch = useDispatch();
1818
const changeMode = useCallback((mode: Mode) => {
19-
dispatch(actions.changeMode(mode));
19+
dispatch(config.changeMode(mode));
2020
props.close();
2121
}, [dispatch, props]
2222
);

ui/frontend/Notifications.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ import { useDispatch, useSelector } from 'react-redux';
44

55
import { Close } from './Icon';
66

7-
import * as actions from './actions';
87
import * as selectors from './selectors';
8+
import { seenRustSurvey2022 } from './reducers/notifications';
99

1010
import styles from './Notifications.module.css';
1111

@@ -25,7 +25,7 @@ const RustSurvey2022Notification: React.FC = () => {
2525
const showRustSurvey2022 = useSelector(selectors.showRustSurvey2022Selector);
2626

2727
const dispatch = useDispatch();
28-
const seenRustSurvey2021 = useCallback(() => dispatch(actions.seenRustSurvey2022()), [dispatch]);
28+
const seenRustSurvey2021 = useCallback(() => dispatch(seenRustSurvey2022()), [dispatch]);
2929

3030
return showRustSurvey2022 ? (
3131
<Notification onClose={seenRustSurvey2021}>

ui/frontend/Output/Execute.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
import React, { useCallback } from 'react';
22
import { useSelector, useDispatch } from 'react-redux';
33

4-
import * as actions from '../actions';
54
import * as selectors from '../selectors';
65
import { State } from '../reducers';
6+
import * as code from '../reducers/code';
77

88
import Section from './Section';
99
import SimplePane from './SimplePane';
@@ -15,7 +15,7 @@ const Execute: React.FC = () => {
1515
const isAutoBuild = useSelector(selectors.isAutoBuildSelector);
1616

1717
const dispatch = useDispatch();
18-
const addMainFunction = useCallback(() => dispatch(actions.addMainFunction()), [dispatch]);
18+
const addMainFunction = useCallback(() => dispatch(code.addMainFunction()), [dispatch]);
1919

2020
return (
2121
<SimplePane {...details} kind="execute">

0 commit comments

Comments
 (0)