74 lines
1.7 KiB
JavaScript
74 lines
1.7 KiB
JavaScript
import * as types from '../mutation_types';
|
|
import { findIndexOfFile } from '../utils';
|
|
|
|
export default {
|
|
[types.SET_FILE_ACTIVE](state, { file, active }) {
|
|
Object.assign(file, {
|
|
active,
|
|
});
|
|
|
|
Object.assign(state, {
|
|
selectedFile: file,
|
|
});
|
|
},
|
|
[types.TOGGLE_FILE_OPEN](state, file) {
|
|
Object.assign(file, {
|
|
opened: !file.opened,
|
|
});
|
|
|
|
if (file.opened) {
|
|
state.openFiles.push(file);
|
|
} else {
|
|
state.openFiles.splice(findIndexOfFile(state.openFiles, file), 1);
|
|
}
|
|
},
|
|
[types.SET_FILE_DATA](state, { data, file }) {
|
|
Object.assign(file, {
|
|
blamePath: data.blame_path,
|
|
commitsPath: data.commits_path,
|
|
permalink: data.permalink,
|
|
rawPath: data.raw_path,
|
|
binary: data.binary,
|
|
html: data.html,
|
|
renderError: data.render_error,
|
|
});
|
|
},
|
|
[types.SET_FILE_RAW_DATA](state, { file, raw }) {
|
|
Object.assign(file, {
|
|
raw,
|
|
});
|
|
},
|
|
[types.UPDATE_FILE_CONTENT](state, { file, content }) {
|
|
const changed = content !== file.raw;
|
|
|
|
Object.assign(file, {
|
|
content,
|
|
changed,
|
|
});
|
|
},
|
|
[types.SET_FILE_LANGUAGE](state, { file, fileLanguage }) {
|
|
Object.assign(file, {
|
|
fileLanguage,
|
|
});
|
|
},
|
|
[types.SET_FILE_EOL](state, { file, eol }) {
|
|
Object.assign(file, {
|
|
eol,
|
|
});
|
|
},
|
|
[types.SET_FILE_POSITION](state, { file, editorRow, editorColumn }) {
|
|
Object.assign(file, {
|
|
editorRow,
|
|
editorColumn,
|
|
});
|
|
},
|
|
[types.DISCARD_FILE_CHANGES](state, file) {
|
|
Object.assign(file, {
|
|
content: file.raw,
|
|
changed: false,
|
|
});
|
|
},
|
|
[types.CREATE_TMP_FILE](state, { file, parent }) {
|
|
parent.tree.push(file);
|
|
},
|
|
};
|