提交 fc312d75 编写于 作者: S Sandeep Somavarapu

Retain sizes on refresh

上级 879a776e
...@@ -419,16 +419,14 @@ export class ViewsViewlet extends PanelViewlet { ...@@ -419,16 +419,14 @@ export class ViewsViewlet extends PanelViewlet {
for (const view of panels) { for (const view of panels) {
let viewState = this.viewsStates.get(view.id); let viewState = this.viewsStates.get(view.id);
if (!viewState || typeof viewState.size === 'undefined' || !view.isExpanded() !== viewState.collapsed) { if (!viewState || typeof viewState.size === 'undefined' || !view.isExpanded() !== viewState.collapsed) {
viewState = this.updateViewStateSize(view); this.updateViewStateSize(view);
this.viewsStates.set(view.id, viewState);
} }
} }
if (toRemove.length) { if (toRemove.length) {
for (const viewDescriptor of toRemove) { for (const viewDescriptor of toRemove) {
let view = this.getView(viewDescriptor.id); let view = this.getView(viewDescriptor.id);
const viewState = this.updateViewStateSize(view); this.updateViewStateSize(view);
this.viewsStates.set(view.id, viewState);
this.removePanel(view); this.removePanel(view);
this.viewsViewletPanels.splice(this.viewsViewletPanels.indexOf(view), 1); this.viewsViewletPanels.splice(this.viewsViewletPanels.indexOf(view), 1);
} }
...@@ -451,7 +449,7 @@ export class ViewsViewlet extends PanelViewlet { ...@@ -451,7 +449,7 @@ export class ViewsViewlet extends PanelViewlet {
this.addPanel(view, size, index); this.addPanel(view, size, index);
this.viewsViewletPanels.splice(index, 0, view); this.viewsViewletPanels.splice(index, 0, view);
this.viewsStates.set(view.id, this.updateViewStateSize(view)); this.updateViewStateSize(view);
} }
return TPromise.join(toCreate.map(view => view.create())) return TPromise.join(toCreate.map(view => view.create()))
...@@ -465,8 +463,7 @@ export class ViewsViewlet extends PanelViewlet { ...@@ -465,8 +463,7 @@ export class ViewsViewlet extends PanelViewlet {
private updateAllViewsSizes(): void { private updateAllViewsSizes(): void {
for (const view of this.viewsViewletPanels) { for (const view of this.viewsViewletPanels) {
let viewState = this.updateViewStateSize(view); this.updateViewStateSize(view);
this.viewsStates.set(view.id, viewState);
} }
} }
...@@ -619,10 +616,13 @@ export class ViewsViewlet extends PanelViewlet { ...@@ -619,10 +616,13 @@ export class ViewsViewlet extends PanelViewlet {
return this.viewsViewletPanels.filter(view => view.id === id)[0]; return this.viewsViewletPanels.filter(view => view.id === id)[0];
} }
private updateViewStateSize(view: ViewsViewletPanel): IViewState { private updateViewStateSize(view: ViewsViewletPanel): void {
const currentState = this.viewsStates.get(view.id); if (this.didLayout) {
const newViewState = this.createViewState(view); const currentState = this.viewsStates.get(view.id);
return currentState ? { ...currentState, collapsed: newViewState.collapsed, size: newViewState.size } : newViewState; const newViewState = this.createViewState(view);
const stateToUpdate = currentState ? { ...currentState, collapsed: newViewState.collapsed, size: newViewState.size } : newViewState;
this.viewsStates.set(view.id, stateToUpdate);
}
} }
protected createViewState(view: ViewsViewletPanel): IViewState { protected createViewState(view: ViewsViewletPanel): IViewState {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册