#40: Support for remote Windows mounts - partial
This commit is contained in:
@@ -7,13 +7,13 @@ import {
|
||||
SET_DISPLAY_SELECT_APPPLATFORM
|
||||
} from '../actions/common_actions';
|
||||
|
||||
export const createCommonReducer = (platform, appPlatform, version) => {
|
||||
export const createCommonReducer = (platformInfo, version) => {
|
||||
return createReducer({
|
||||
AllowMount: false,
|
||||
AppPlatform: appPlatform,
|
||||
AppPlatform: platformInfo.AppPlatform,
|
||||
AppReady: false,
|
||||
DisplaySelectAppPlatform: false,
|
||||
Platform: platform,
|
||||
Platform: platformInfo.Platform,
|
||||
RebootRequired: false,
|
||||
Version: version,
|
||||
}, {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import * as Constants from '../../constants';
|
||||
import {createReducer} from 'redux-starter-kit';
|
||||
import {
|
||||
displayConfiguration,
|
||||
DISPLAY_CONFIGURATION,
|
||||
RESET_MOUNTS_STATE,
|
||||
SET_ALLOW_MOUNT,
|
||||
setAutoMountProcessed,
|
||||
@@ -11,115 +11,123 @@ import {
|
||||
SET_PROVIDER_STATE
|
||||
} from '../actions/mount_actions';
|
||||
|
||||
const providerState = Constants.PROVIDER_LIST.map(provider=> {
|
||||
return {
|
||||
[provider]: {
|
||||
AutoMount: false,
|
||||
AutoRestart: false,
|
||||
MountLocation: '',
|
||||
export const createMountReducer = state => {
|
||||
let providerList = [
|
||||
...Constants.PROVIDER_LIST,
|
||||
...(state.RemoteMounts||['Remotelocalhost:20000']),
|
||||
];
|
||||
const providerState = providerList.map(provider=> {
|
||||
return {
|
||||
[provider]: {
|
||||
AutoMount: false,
|
||||
AutoRestart: false,
|
||||
MountLocation: '',
|
||||
}
|
||||
}
|
||||
}
|
||||
}).reduce((map, obj) => {
|
||||
return {
|
||||
...map,
|
||||
...obj
|
||||
}
|
||||
});
|
||||
}).reduce((map, obj) => {
|
||||
return {
|
||||
...map,
|
||||
...obj
|
||||
}
|
||||
});
|
||||
|
||||
const mountState = Constants.PROVIDER_LIST.map(provider => {
|
||||
return {
|
||||
[provider]: {
|
||||
AllowMount: false,
|
||||
DriveLetters: [],
|
||||
Mounted: false,
|
||||
const mountState = providerList.map(provider => {
|
||||
return {
|
||||
[provider]: {
|
||||
AllowMount: false,
|
||||
DriveLetters: [],
|
||||
Mounted: false,
|
||||
}
|
||||
}
|
||||
}
|
||||
}).reduce((map, obj) => {
|
||||
return {
|
||||
...map,
|
||||
...obj
|
||||
}
|
||||
});
|
||||
}).reduce((map, obj) => {
|
||||
return {
|
||||
...map,
|
||||
...obj
|
||||
}
|
||||
});
|
||||
|
||||
export const mountReducer = createReducer({
|
||||
AutoMountProcessed: false,
|
||||
DisplayConfiguration: null,
|
||||
MountsBusy: false,
|
||||
MountState: mountState,
|
||||
ProviderState: providerState,
|
||||
RemoteMounts: [],
|
||||
}, {
|
||||
[displayConfiguration]: (state, action) => {
|
||||
return {
|
||||
...state,
|
||||
DisplayConfiguration: action.payload
|
||||
};
|
||||
},
|
||||
[RESET_MOUNTS_STATE]: (state, action) => {
|
||||
return {
|
||||
...state,
|
||||
MountsBusy: false,
|
||||
MountState: mountState,
|
||||
return createReducer({
|
||||
AutoMountProcessed: false,
|
||||
DisplayConfiguration: null,
|
||||
DisplayRemoteConfiguration: false,
|
||||
MountsBusy: false,
|
||||
MountState: mountState,
|
||||
ProviderState: providerState,
|
||||
RemoteMounts: state.RemoteMounts ? state.RemoteMounts : ['Remotelocalhost:20000'],
|
||||
}, {
|
||||
[DISPLAY_CONFIGURATION]: (state, action) => {
|
||||
return {
|
||||
...state,
|
||||
DisplayConfiguration: action.payload.provider,
|
||||
DisplayRemoteConfiguration: action.payload.remote,
|
||||
};
|
||||
},
|
||||
[RESET_MOUNTS_STATE]: (state, action) => {
|
||||
return {
|
||||
...state,
|
||||
MountsBusy: false,
|
||||
MountState: mountState,
|
||||
}
|
||||
},
|
||||
[setAutoMountProcessed]: (state, action) => {
|
||||
return {
|
||||
...state,
|
||||
AutoMountProcessed: action.payload
|
||||
};
|
||||
},
|
||||
[SET_ALLOW_MOUNT]: (state, action) => {
|
||||
return {
|
||||
...state,
|
||||
MountState: {
|
||||
...state.MountState,
|
||||
[action.payload.provider]: {
|
||||
...state.MountState[action.payload.provider],
|
||||
AllowMount: action.payload.allow,
|
||||
}
|
||||
}
|
||||
};
|
||||
},
|
||||
[setBusy]: (state, action) => {
|
||||
return {
|
||||
...state,
|
||||
MountsBusy: action.payload
|
||||
};
|
||||
},
|
||||
[SET_MOUNT_STATE]: (state, action) => {
|
||||
return {
|
||||
...state,
|
||||
MountState: {
|
||||
...state.MountState,
|
||||
[action.payload.provider]: {
|
||||
...state.MountState[action.payload.provider],
|
||||
...action.payload.state
|
||||
},
|
||||
}
|
||||
};
|
||||
},
|
||||
[SET_MOUNTED]: (state, action) => {
|
||||
return {
|
||||
...state,
|
||||
MountState: {
|
||||
...state.MountState,
|
||||
[action.payload.provider]: {
|
||||
...state.MountState[action.payload.provider],
|
||||
Mounted: action.payload.mounted,
|
||||
}
|
||||
}
|
||||
};
|
||||
},
|
||||
[SET_PROVIDER_STATE]: (state, action) => {
|
||||
return {
|
||||
...state,
|
||||
ProviderState: {
|
||||
...state.ProviderState,
|
||||
[action.payload.provider]: {
|
||||
...state.ProviderState[action.payload.provider],
|
||||
...action.payload.state
|
||||
},
|
||||
}
|
||||
};
|
||||
}
|
||||
},
|
||||
[setAutoMountProcessed]: (state, action) => {
|
||||
return {
|
||||
...state,
|
||||
AutoMountProcessed: action.payload
|
||||
};
|
||||
},
|
||||
[SET_ALLOW_MOUNT]: (state, action) => {
|
||||
return {
|
||||
...state,
|
||||
MountState: {
|
||||
...state.MountState,
|
||||
[action.payload.provider]: {
|
||||
...state.MountState[action.payload.provider],
|
||||
AllowMount: action.payload.allow,
|
||||
}
|
||||
}
|
||||
};
|
||||
},
|
||||
[setBusy]: (state, action) => {
|
||||
return {
|
||||
...state,
|
||||
MountsBusy: action.payload
|
||||
};
|
||||
},
|
||||
[SET_MOUNT_STATE]: (state, action) => {
|
||||
return {
|
||||
...state,
|
||||
MountState: {
|
||||
...state.MountState,
|
||||
[action.payload.provider]: {
|
||||
...state.MountState[action.payload.provider],
|
||||
...action.payload.state
|
||||
},
|
||||
}
|
||||
};
|
||||
},
|
||||
[SET_MOUNTED]: (state, action) => {
|
||||
return {
|
||||
...state,
|
||||
MountState: {
|
||||
...state.MountState,
|
||||
[action.payload.provider]: {
|
||||
...state.MountState[action.payload.provider],
|
||||
Mounted: action.payload.mounted,
|
||||
}
|
||||
}
|
||||
};
|
||||
},
|
||||
[SET_PROVIDER_STATE]: (state, action) => {
|
||||
return {
|
||||
...state,
|
||||
ProviderState: {
|
||||
...state.ProviderState,
|
||||
[action.payload.provider]: {
|
||||
...state.ProviderState[action.payload.provider],
|
||||
...action.payload.state
|
||||
},
|
||||
}
|
||||
};
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
Reference in New Issue
Block a user