Single mount detection

This commit is contained in:
2019-11-11 13:15:57 -06:00
parent 1f42d5cff4
commit c33f142f27
5 changed files with 129 additions and 69 deletions

View File

@@ -6,7 +6,7 @@ import {
removeRemoteMount3,
RESET_MOUNTS_STATE,
SET_ALLOW_MOUNT,
setAutoMountProcessed,
SET_AUTO_MOUNT_PROCESSED,
setBusy,
SET_MOUNT_STATE,
SET_MOUNTED,
@@ -48,8 +48,19 @@ export const createMountReducer = state => {
}
});
const autoMountProcessed = providerList.map(provider => {
return {
[provider]: false,
}
}).reduce((map, obj) => {
return {
...map,
...obj
}
});
return createReducer({
AutoMountProcessed: false,
AutoMountProcessed: autoMountProcessed,
DisplayConfiguration: null,
DisplayRemoteConfiguration: false,
MountsBusy: false,
@@ -71,8 +82,13 @@ export const createMountReducer = state => {
AutoRestart: false,
MountLocation: '',
};
let autoMountProcessed = {...state.AutoMountProcessed};
autoMountProcessed[action.payload] = true;
return {
...state,
AutoMountProcessed: autoMountProcessed,
MountState: mountState,
ProviderState: providerState,
RemoteMounts: [...state.RemoteMounts, action.payload],
@@ -86,11 +102,20 @@ export const createMountReducer = state => {
};
},
[removeRemoteMount3]: (state, action) => {
let mountState = {...state.MountState};
delete mountState[action.payload];
let providerState = {...state.ProviderState};
delete providerState[action.payload];
let autoMountProcessed = {...state.AutoMountProcessed};
delete autoMountProcessed[action.payload];
const remoteMounts = state.RemoteMounts.filter(i => i !== action.payload);
return {
...state,
AutoMountProcessed: autoMountProcessed,
MountState: mountState,
ProviderState: providerState,
RemoteMounts: remoteMounts,
};
@@ -102,10 +127,13 @@ export const createMountReducer = state => {
MountState: mountState,
}
},
[setAutoMountProcessed]: (state, action) => {
[SET_AUTO_MOUNT_PROCESSED]: (state, action) => {
return {
...state,
AutoMountProcessed: action.payload
AutoMountProcessed: {
...state.AutoMountProcessed,
[action.payload.provider]: action.payload.processed,
}
};
},
[SET_ALLOW_MOUNT]: (state, action) => {