Skip to content

Commit d5b7ac1

Browse files
refactor: migrate settings reducer to ts (#400)
1 parent fd4741f commit d5b7ac1

File tree

15 files changed

+98
-53
lines changed

15 files changed

+98
-53
lines changed
Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,23 @@
11
import {RadioButton} from '@gravity-ui/uikit';
22

3-
import {ALL, PROBLEMS, IProblemFilterValues} from '../../utils/constants';
3+
import type {ValueOf} from '../../types/common';
4+
import {ProblemFilterValues} from '../../store/reducers/settings/settings';
45

56
interface ProblemFilterProps {
6-
value: IProblemFilterValues;
7+
value: ValueOf<typeof ProblemFilterValues>;
78
onChange: (value: string) => void;
89
className?: string;
910
}
1011

1112
export const ProblemFilter = ({value, onChange, className}: ProblemFilterProps) => {
1213
return (
1314
<RadioButton value={value} onUpdate={onChange} className={className}>
14-
<RadioButton.Option value={ALL}>{ALL}</RadioButton.Option>
15-
<RadioButton.Option value={PROBLEMS}>{PROBLEMS}</RadioButton.Option>
15+
<RadioButton.Option value={ProblemFilterValues.ALL}>
16+
{ProblemFilterValues.ALL}
17+
</RadioButton.Option>
18+
<RadioButton.Option value={ProblemFilterValues.PROBLEMS}>
19+
{ProblemFilterValues.PROBLEMS}
20+
</RadioButton.Option>
1621
</RadioButton>
1722
);
1823
};

src/containers/App/Content.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ import ReduxTooltip from '../ReduxTooltip/ReduxTooltip';
1616
import Header from '../Header/Header';
1717
import AppIcons from '../AppIcons/AppIcons';
1818

19-
import {getParsedSettingValue} from '../../store/reducers/settings';
19+
import {getParsedSettingValue} from '../../store/reducers/settings/settings';
2020
import {THEME_KEY} from '../../utils/constants';
2121

2222
import './App.scss';

src/containers/AsideNavigation/AsideNavigation.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ import {UserSettings} from '../UserSettings/UserSettings';
2424
import routes, {createHref, CLUSTER_PAGES} from '../../routes';
2525

2626
import {logout} from '../../store/reducers/authentication';
27-
import {getSettingValue, setSettingValue} from '../../store/reducers/settings';
27+
import {getParsedSettingValue, setSettingValue} from '../../store/reducers/settings/settings';
2828

2929
import {ASIDE_HEADER_COMPACT_KEY} from '../../utils/constants';
3030

@@ -273,7 +273,7 @@ const mapStateToProps = (state: any) => {
273273

274274
return {
275275
ydbUser,
276-
compact: JSON.parse(getSettingValue(state, ASIDE_HEADER_COMPACT_KEY)),
276+
compact: getParsedSettingValue(state, ASIDE_HEADER_COMPACT_KEY),
277277
};
278278
};
279279

src/containers/Nodes/Nodes.tsx

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import {useDispatch} from 'react-redux';
55
import DataTable from '@gravity-ui/react-data-table';
66

77
import type {EPathType} from '../../types/api/schema';
8+
import type {ValueOf} from '../../types/common';
89

910
import {AccessDenied} from '../../components/Errors/403';
1011
import {Illustration} from '../../components/Illustration';
@@ -16,11 +17,7 @@ import {EntitiesCount} from '../../components/EntitiesCount';
1617

1718
import routes, {CLUSTER_PAGES, createHref} from '../../routes';
1819

19-
import {
20-
ALL,
21-
DEFAULT_TABLE_SETTINGS,
22-
USE_NODES_ENDPOINT_IN_DIAGNOSTICS_KEY,
23-
} from '../../utils/constants';
20+
import {DEFAULT_TABLE_SETTINGS, USE_NODES_ENDPOINT_IN_DIAGNOSTICS_KEY} from '../../utils/constants';
2421
import {useAutofetcher, useSetting, useTypedSelector} from '../../utils/hooks';
2522
import {AdditionalNodesInfo, isUnavailableNode, NodesUptimeFilterValues} from '../../utils/nodes';
2623

@@ -33,7 +30,7 @@ import {
3330
resetNodesState,
3431
getComputeNodes,
3532
} from '../../store/reducers/nodes';
36-
import {changeFilter} from '../../store/reducers/settings';
33+
import {changeFilter, ProblemFilterValues} from '../../store/reducers/settings/settings';
3734
import {hideTooltip, showTooltip} from '../../store/reducers/tooltip';
3835

3936
import {isDatabaseEntityType} from '../Tenant/utils/schema';
@@ -104,7 +101,7 @@ export const Nodes = ({path, type, className, additionalNodesInfo = {}}: NodesPr
104101
};
105102

106103
const handleProblemFilterChange = (value: string) => {
107-
dispatch(changeFilter(value));
104+
dispatch(changeFilter(value as ValueOf<typeof ProblemFilterValues>));
108105
};
109106

110107
const handleUptimeFilterChange = (value: string) => {
@@ -148,7 +145,10 @@ export const Nodes = ({path, type, className, additionalNodesInfo = {}}: NodesPr
148145
});
149146

150147
if (nodes && nodes.length === 0) {
151-
if (problemFilter !== ALL || nodesUptimeFilter !== NodesUptimeFilterValues.All) {
148+
if (
149+
problemFilter !== ProblemFilterValues.ALL ||
150+
nodesUptimeFilter !== NodesUptimeFilterValues.All
151+
) {
152152
return <Illustration name="thumbsUp" width="200" />;
153153
}
154154
}

src/containers/Tenant/Diagnostics/Network/Network.js

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,7 @@ import {Illustration} from '../../../../components/Illustration';
1414

1515
import {getNetworkInfo, setDataWasNotLoaded} from '../../../../store/reducers/network';
1616
import {hideTooltip, showTooltip} from '../../../../store/reducers/tooltip';
17-
import {ALL, PROBLEMS} from '../../../../utils/constants';
18-
import {changeFilter} from '../../../../store/reducers/settings';
17+
import {changeFilter, ProblemFilterValues} from '../../../../store/reducers/settings/settings';
1918
import {AutoFetcher} from '../../../../utils/autofetcher';
2019
import {getDefaultNodePath} from '../../../Node/NodePages';
2120

@@ -178,8 +177,9 @@ class Network extends React.Component {
178177
}
179178

180179
if (
181-
(filter === PROBLEMS && capacity !== connected) ||
182-
filter === ALL ||
180+
(filter === ProblemFilterValues.PROBLEMS &&
181+
capacity !== connected) ||
182+
filter === ProblemFilterValues.ALL ||
183183
isRight
184184
) {
185185
problemNodesCount++;
@@ -218,8 +218,9 @@ class Network extends React.Component {
218218
}
219219

220220
if (
221-
(filter === PROBLEMS && capacity !== connected) ||
222-
filter === ALL ||
221+
(filter === ProblemFilterValues.PROBLEMS &&
222+
capacity !== connected) ||
223+
filter === ProblemFilterValues.ALL ||
223224
isRight
224225
) {
225226
problemNodesCount++;
@@ -254,7 +255,7 @@ class Network extends React.Component {
254255
);
255256
});
256257

257-
if (filter === PROBLEMS && problemNodesCount === 0) {
258+
if (filter === ProblemFilterValues.PROBLEMS && problemNodesCount === 0) {
258259
return <Illustration name="thumbsUp" width="200" />;
259260
} else {
260261
return result;

src/containers/Tenant/ObjectGeneralTabs/ObjectGeneralTabs.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import {Tabs} from '@gravity-ui/uikit';
88

99
import routes, {createHref} from '../../../routes';
1010
import {TENANT_INITIAL_TAB_KEY} from '../../../utils/constants';
11-
import {setSettingValue} from '../../../store/reducers/settings';
11+
import {setSettingValue} from '../../../store/reducers/settings/settings';
1212

1313
import {TenantTabsGroups, TENANT_GENERAL_TABS} from '../TenantPages';
1414

src/containers/Tenant/QueryEditor/QueryEditor.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ import {
2424
setMonacoHotKey,
2525
} from '../../../store/reducers/executeQuery';
2626
import {getExplainQuery, getExplainQueryAst} from '../../../store/reducers/explainQuery';
27-
import {getParsedSettingValue, setSettingValue} from '../../../store/reducers/settings';
27+
import {getParsedSettingValue, setSettingValue} from '../../../store/reducers/settings/settings';
2828
import {
2929
DEFAULT_IS_QUERY_RESULT_COLLAPSED,
3030
DEFAULT_SIZE_RESULT_PANE_KEY,

src/containers/Tenants/Tenants.js

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,13 @@ import routes, {CLUSTER_PAGES, createHref} from '../../routes';
1919
import {formatCPU, formatBytesToGigabyte, formatNumber} from '../../utils';
2020
import {hideTooltip, showTooltip} from '../../store/reducers/tooltip';
2121
import {withSearch} from '../../HOCS';
22-
import {ALL, DEFAULT_TABLE_SETTINGS, TENANT_INITIAL_TAB_KEY} from '../../utils/constants';
22+
import {DEFAULT_TABLE_SETTINGS, TENANT_INITIAL_TAB_KEY} from '../../utils/constants';
2323
import {getTenantsInfo} from '../../store/reducers/tenants/tenants';
24-
import {changeFilter, getSettingValue} from '../../store/reducers/settings';
24+
import {
25+
changeFilter,
26+
getSettingValue,
27+
ProblemFilterValues,
28+
} from '../../store/reducers/settings/settings';
2529
import {setHeader} from '../../store/reducers/header';
2630

2731
import {clusterName} from '../../store';
@@ -63,7 +67,7 @@ class Tenants extends React.Component {
6367
};
6468

6569
static filterTenants(tenants, filter) {
66-
if (filter === ALL) {
70+
if (filter === ProblemFilterValues.ALL) {
6771
return tenants;
6872
}
6973

@@ -311,7 +315,7 @@ class Tenants extends React.Component {
311315
},
312316
];
313317

314-
if (filteredTenants.length === 0 && filter !== ALL) {
318+
if (filteredTenants.length === 0 && filter !== ProblemFilterValues.ALL) {
315319
return <Illustration name="thumbsUp" width="200" />;
316320
}
317321

src/store/reducers/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ import partitions from './partitions/partitions';
1919
import executeQuery from './executeQuery';
2020
import explainQuery from './explainQuery';
2121
import tabletsFilters from './tabletsFilters';
22-
import settings from './settings';
22+
import settings from './settings/settings';
2323
import preview from './preview';
2424
import nodesList from './nodesList';
2525
import describe from './describe';

src/store/reducers/nodes.ts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import {createSelector, Selector} from 'reselect';
33
import {escapeRegExp} from 'lodash/fp';
44

55
import '../../services/api';
6-
import {ALL, HOUR_IN_SECONDS, IProblemFilterValues} from '../../utils/constants';
6+
import {HOUR_IN_SECONDS} from '../../utils/constants';
77
import {calcUptime, calcUptimeInSeconds} from '../../utils';
88
import {NodesUptimeFilterValues} from '../../utils/nodes';
99
import type {
@@ -14,9 +14,11 @@ import type {
1414
INodesRootStateSlice,
1515
INodesState,
1616
} from '../../types/store/nodes';
17+
import type {ValueOf} from '../../types/common';
1718
import {EFlag} from '../../types/api/enums';
1819

1920
import {createRequestActionTypes, createApiRequest} from '../utils';
21+
import {ProblemFilterValues} from './settings/settings';
2022

2123
export const FETCH_NODES = createRequestActionTypes('nodes', 'FETCH_NODES');
2224

@@ -178,9 +180,9 @@ const getNodesList = (state: INodesRootStateSlice) => state.nodes.data;
178180

179181
const filterNodesByProblemsStatus = (
180182
nodesList: INodesPreparedEntity[] = [],
181-
problemFilter: IProblemFilterValues,
183+
problemFilter: ValueOf<typeof ProblemFilterValues>,
182184
) => {
183-
if (problemFilter === ALL) {
185+
if (problemFilter === ProblemFilterValues.ALL) {
184186
return nodesList;
185187
}
186188

0 commit comments

Comments
 (0)