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

View File

@ -31,7 +31,9 @@ export const fetchDiffFiles = ({ state, commit }) => {
export const startRenderDiffsQueue = ({ state, commit }) => { export const startRenderDiffsQueue = ({ state, commit }) => {
const checkItem = () => { 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) { if (nextFile) {
requestAnimationFrame(() => { requestAnimationFrame(() => {
commit(types.RENDER_FILE, nextFile); commit(types.RENDER_FILE, nextFile);

View File

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