Fixed text removal memory saving + Fixed collapsed non text files

This commit is contained in:
Tim Zallmann 2018-08-07 17:26:15 +02:00
parent de636f1651
commit 64d0f1e20e
3 changed files with 22 additions and 13 deletions

View File

@ -52,10 +52,16 @@ export default {
handleToggle() {
const { collapsed, highlightedDiffLines, parallelDiffLines } = this.file;
if (collapsed && !highlightedDiffLines && !parallelDiffLines.length) {
if (
collapsed &&
!highlightedDiffLines &&
parallelDiffLines !== undefined &&
!parallelDiffLines.length
) {
this.handleLoadCollapsedDiff();
} else {
this.file.collapsed = !this.file.collapsed;
this.file.renderIt = true;
}
},
handleLoadCollapsedDiff() {
@ -65,6 +71,7 @@ export default {
.then(() => {
this.isLoadingCollapsedDiff = false;
this.file.collapsed = false;
this.file.renderIt = true;
})
.catch(() => {
this.isLoadingCollapsedDiff = false;

View File

@ -31,7 +31,9 @@ export const fetchDiffFiles = ({ state, commit }) => {
export const startRenderDiffsQueue = ({ state, commit }) => {
const checkItem = () => {
const nextFile = state.diffFiles.find(file => !file.renderIt && !file.collapsed);
const nextFile = state.diffFiles.find(
file => !file.renderIt && (!file.collapsed || !file.text),
);
if (nextFile) {
requestAnimationFrame(() => {
commit(types.RENDER_FILE, nextFile);

View File

@ -20,13 +20,6 @@ export default {
diffData.diffFiles.forEach(file => {
if (file.parallelDiffLines) {
file.parallelDiffLines.forEach(line => {
// eslint-disable-next-line no-param-reassign
delete line.text;
});
}
if (file.highlightedDiffLines) {
file.highlightedDiffLines.forEach(line => {
// eslint-disable-next-line no-param-reassign
if (line.left) delete line.left.text;
// eslint-disable-next-line no-param-reassign
@ -35,12 +28,19 @@ export default {
}
if (file.highlightedDiffLines) {
showingLines += file.parallelDiffLines.length;
Object.assign(file, {
renderIt: showingLines < 200,
collapsed: showingLines > 2000,
file.highlightedDiffLines.forEach(line => {
// eslint-disable-next-line no-param-reassign
delete line.text;
});
}
if (file.highlightedDiffLines) {
showingLines += file.parallelDiffLines.length;
}
Object.assign(file, {
renderIt: showingLines < 200,
collapsed: file.text && showingLines > 2000,
});
});
Object.assign(state, {