|
|
@ -9,7 +9,6 @@ export const fileSystemInitialState = { |
|
|
|
files: { |
|
|
|
files: { |
|
|
|
files: [], |
|
|
|
files: [], |
|
|
|
expandPath: [], |
|
|
|
expandPath: [], |
|
|
|
workspaceName: null, |
|
|
|
|
|
|
|
blankPath: null, |
|
|
|
blankPath: null, |
|
|
|
isRequesting: false, |
|
|
|
isRequesting: false, |
|
|
|
isSuccessful: false, |
|
|
|
isSuccessful: false, |
|
|
@ -83,7 +82,7 @@ export const fileSystemReducer = (state = fileSystemInitialState, action: Action |
|
|
|
...state, |
|
|
|
...state, |
|
|
|
files: { |
|
|
|
files: { |
|
|
|
...state.files, |
|
|
|
...state.files, |
|
|
|
files: resolveDirectory(state.files.workspaceName, action.payload.path, state.files.files, action.payload.files), |
|
|
|
files: resolveDirectory(state.provider.provider, action.payload.path, state.files.files, action.payload.files), |
|
|
|
isRequesting: false, |
|
|
|
isRequesting: false, |
|
|
|
isSuccessful: true, |
|
|
|
isSuccessful: true, |
|
|
|
error: null |
|
|
|
error: null |
|
|
@ -135,21 +134,12 @@ export const fileSystemReducer = (state = fileSystemInitialState, action: Action |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
case 'SET_CURRENT_WORKSPACE': { |
|
|
|
|
|
|
|
return { |
|
|
|
|
|
|
|
...state, |
|
|
|
|
|
|
|
files: { |
|
|
|
|
|
|
|
...state.files, |
|
|
|
|
|
|
|
workspaceName: action.payload |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
case 'ADD_INPUT_FIELD': { |
|
|
|
case 'ADD_INPUT_FIELD': { |
|
|
|
return { |
|
|
|
return { |
|
|
|
...state, |
|
|
|
...state, |
|
|
|
files: { |
|
|
|
files: { |
|
|
|
...state.files, |
|
|
|
...state.files, |
|
|
|
files: addInputField(state.files.workspaceName, action.payload.path, state.files.files, action.payload.files), |
|
|
|
files: addInputField(state.provider.provider, action.payload.path, state.files.files, action.payload.files), |
|
|
|
blankPath: action.payload.path, |
|
|
|
blankPath: action.payload.path, |
|
|
|
isRequesting: false, |
|
|
|
isRequesting: false, |
|
|
|
isSuccessful: true, |
|
|
|
isSuccessful: true, |
|
|
@ -162,7 +152,7 @@ export const fileSystemReducer = (state = fileSystemInitialState, action: Action |
|
|
|
...state, |
|
|
|
...state, |
|
|
|
files: { |
|
|
|
files: { |
|
|
|
...state.files, |
|
|
|
...state.files, |
|
|
|
files: removeInputField(state.files.workspaceName, state.files.blankPath, state.files.files), |
|
|
|
files: removeInputField(state.provider.provider, state.files.blankPath, state.files.files), |
|
|
|
blankPath: null, |
|
|
|
blankPath: null, |
|
|
|
isRequesting: false, |
|
|
|
isRequesting: false, |
|
|
|
isSuccessful: true, |
|
|
|
isSuccessful: true, |
|
|
@ -175,7 +165,7 @@ export const fileSystemReducer = (state = fileSystemInitialState, action: Action |
|
|
|
...state, |
|
|
|
...state, |
|
|
|
files: { |
|
|
|
files: { |
|
|
|
...state.files, |
|
|
|
...state.files, |
|
|
|
files: fileAdded(state.files.workspaceName, action.payload.path, state.files.files, action.payload.files), |
|
|
|
files: fileAdded(state.provider.provider, action.payload.path, state.files.files, action.payload.files), |
|
|
|
expandPath: [...new Set([...state.files.expandPath, action.payload.path])], |
|
|
|
expandPath: [...new Set([...state.files.expandPath, action.payload.path])], |
|
|
|
isRequesting: false, |
|
|
|
isRequesting: false, |
|
|
|
isSuccessful: true, |
|
|
|
isSuccessful: true, |
|
|
@ -188,7 +178,7 @@ export const fileSystemReducer = (state = fileSystemInitialState, action: Action |
|
|
|
...state, |
|
|
|
...state, |
|
|
|
files: { |
|
|
|
files: { |
|
|
|
...state.files, |
|
|
|
...state.files, |
|
|
|
files: folderAdded(state.files.workspaceName, action.payload.path, state.files.files, action.payload.files), |
|
|
|
files: folderAdded(state.provider.provider, action.payload.path, state.files.files, action.payload.files), |
|
|
|
expandPath: [...new Set([...state.files.expandPath, action.payload.path])], |
|
|
|
expandPath: [...new Set([...state.files.expandPath, action.payload.path])], |
|
|
|
isRequesting: false, |
|
|
|
isRequesting: false, |
|
|
|
isSuccessful: true, |
|
|
|
isSuccessful: true, |
|
|
@ -201,7 +191,7 @@ export const fileSystemReducer = (state = fileSystemInitialState, action: Action |
|
|
|
...state, |
|
|
|
...state, |
|
|
|
files: { |
|
|
|
files: { |
|
|
|
...state.files, |
|
|
|
...state.files, |
|
|
|
files: fileRemoved(state.files.workspaceName, action.payload.path, action.payload.removePath, state.files.files), |
|
|
|
files: fileRemoved(state.provider.provider, action.payload.path, action.payload.removePath, state.files.files), |
|
|
|
isRequesting: false, |
|
|
|
isRequesting: false, |
|
|
|
isSuccessful: true, |
|
|
|
isSuccessful: true, |
|
|
|
error: null |
|
|
|
error: null |
|
|
@ -213,7 +203,7 @@ export const fileSystemReducer = (state = fileSystemInitialState, action: Action |
|
|
|
...state, |
|
|
|
...state, |
|
|
|
files: { |
|
|
|
files: { |
|
|
|
...state.files, |
|
|
|
...state.files, |
|
|
|
files: fileRenamed(state.files.workspaceName, action.payload.path, action.payload.removePath, state.files.files, action.payload.files), |
|
|
|
files: fileRenamed(state.provider.provider, action.payload.path, action.payload.removePath, state.files.files, action.payload.files), |
|
|
|
isRequesting: false, |
|
|
|
isRequesting: false, |
|
|
|
isSuccessful: true, |
|
|
|
isSuccessful: true, |
|
|
|
error: null |
|
|
|
error: null |
|
|
@ -244,7 +234,9 @@ export const fileSystemReducer = (state = fileSystemInitialState, action: Action |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
const resolveDirectory = (root, path: string, files, content) => { |
|
|
|
const resolveDirectory = (provider, path: string, files, content) => { |
|
|
|
|
|
|
|
const root = provider.workspace || provider.type |
|
|
|
|
|
|
|
|
|
|
|
if (path === root) return { [root]: { ...content[root], ...files[root] } } |
|
|
|
if (path === root) return { [root]: { ...content[root], ...files[root] } } |
|
|
|
const pathArr: string[] = path.split('/').filter(value => value) |
|
|
|
const pathArr: string[] = path.split('/').filter(value => value) |
|
|
|
|
|
|
|
|
|
|
@ -287,14 +279,18 @@ const removePath = (root, path: string, pathName, files) => { |
|
|
|
return files |
|
|
|
return files |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
const addInputField = (root, path: string, files, content) => { |
|
|
|
const addInputField = (provider, path: string, files, content) => { |
|
|
|
|
|
|
|
const root = provider.workspace || provider.type || '' |
|
|
|
|
|
|
|
|
|
|
|
if (path === root) return { [root]: { ...content[root], ...files[root] } } |
|
|
|
if (path === root) return { [root]: { ...content[root], ...files[root] } } |
|
|
|
const result = resolveDirectory(root, path, files, content) |
|
|
|
const result = resolveDirectory(provider, path, files, content) |
|
|
|
|
|
|
|
|
|
|
|
return result |
|
|
|
return result |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
const removeInputField = (root, path: string, files) => { |
|
|
|
const removeInputField = (provider, path: string, files) => { |
|
|
|
|
|
|
|
const root = provider.workspace || provider.type || '' |
|
|
|
|
|
|
|
|
|
|
|
if (path === root) { |
|
|
|
if (path === root) { |
|
|
|
delete files[root][path + '/' + 'blank'] |
|
|
|
delete files[root][path + '/' + 'blank'] |
|
|
|
return files |
|
|
|
return files |
|
|
@ -302,15 +298,17 @@ const removeInputField = (root, path: string, files) => { |
|
|
|
return removePath(root, path, path + '/' + 'blank', files) |
|
|
|
return removePath(root, path, path + '/' + 'blank', files) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
const fileAdded = (root, path: string, files, content) => { |
|
|
|
const fileAdded = (provider, path: string, files, content) => { |
|
|
|
return resolveDirectory(root, path, files, content) |
|
|
|
return resolveDirectory(provider, path, files, content) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
const folderAdded = (root, path: string, files, content) => { |
|
|
|
const folderAdded = (provider, path: string, files, content) => { |
|
|
|
return resolveDirectory(root, path, files, content) |
|
|
|
return resolveDirectory(provider, path, files, content) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
const fileRemoved = (root, path: string, removedPath: string, files) => { |
|
|
|
const fileRemoved = (provider, path: string, removedPath: string, files) => { |
|
|
|
|
|
|
|
const root = provider.workspace || provider.type || '' |
|
|
|
|
|
|
|
|
|
|
|
if (path === root) { |
|
|
|
if (path === root) { |
|
|
|
delete files[root][removedPath] |
|
|
|
delete files[root][removedPath] |
|
|
|
|
|
|
|
|
|
|
@ -319,7 +317,9 @@ const fileRemoved = (root, path: string, removedPath: string, files) => { |
|
|
|
return removePath(root, path, extractNameFromKey(removedPath), files) |
|
|
|
return removePath(root, path, extractNameFromKey(removedPath), files) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
const fileRenamed = (root, path: string, removePath: string, files, content) => { |
|
|
|
const fileRenamed = (provider, path: string, removePath: string, files, content) => { |
|
|
|
|
|
|
|
const root = provider.workspace || provider.type || '' |
|
|
|
|
|
|
|
|
|
|
|
if (path === root) { |
|
|
|
if (path === root) { |
|
|
|
const allFiles = { [root]: { ...content[root], ...files[root] } } |
|
|
|
const allFiles = { [root]: { ...content[root], ...files[root] } } |
|
|
|
|
|
|
|
|
|
|
|