Moved logic to mark selected server to parent component in order to affect all children compo0nents on the same route

This commit is contained in:
Alejandro Celaya
2018-07-24 19:17:01 +02:00
parent 3eaa66435a
commit 78ba7c75ff
6 changed files with 72 additions and 41 deletions

View File

@@ -1,10 +1,12 @@
import { LIST_SHORT_URLS } from '../../short-urls/reducers/shortUrlsList';
import ShlinkApiClient from '../../api/ShlinkApiClient';
import ServersService from '../../servers/services';
const SELECT_SERVER = 'shlink/selectedServer/SELECT_SERVER';
const RESET_SELECTED_SERVER = 'shlink/selectedServer/RESET_SELECTED_SERVER';
export default function reducer(state = null, action) {
switch (action.type) {
case LIST_SHORT_URLS:
case SELECT_SERVER:
return action.selectedServer;
case RESET_SELECTED_SERVER:
return null;
@@ -14,3 +16,13 @@ export default function reducer(state = null, action) {
}
export const resetSelectedServer = () => ({ type: RESET_SELECTED_SERVER });
export const selectServer = serverId => {
const selectedServer = ServersService.findServerById(serverId);
ShlinkApiClient.setConfig(selectedServer);
return {
type: SELECT_SERVER,
selectedServer
}
};