mirror of
https://github.com/mathuo/dockview
synced 2025-02-11 02:45:45 +00:00
Merge pull request #602 from mathuo/601-internal-clean-up-update-function
chore: cleanup internals
This commit is contained in:
commit
7eff8a8642
@ -7,24 +7,8 @@ import { fromPartial } from '@total-typescript/shoehorn';
|
|||||||
|
|
||||||
describe('dockviewPanel', () => {
|
describe('dockviewPanel', () => {
|
||||||
test('update title', () => {
|
test('update title', () => {
|
||||||
const dockviewApiMock = jest.fn<DockviewApi, []>(() => {
|
const api = fromPartial<DockviewApi>({});
|
||||||
return {
|
const accessor = fromPartial<DockviewComponent>({});
|
||||||
onDidActiveChange: jest.fn(),
|
|
||||||
} as any;
|
|
||||||
});
|
|
||||||
const accessorMock = jest.fn<DockviewComponent, []>(() => {
|
|
||||||
return {} as any;
|
|
||||||
});
|
|
||||||
|
|
||||||
const panelModelMock = jest.fn<Partial<IDockviewPanelModel>, []>(() => {
|
|
||||||
return {
|
|
||||||
update: jest.fn(),
|
|
||||||
init: jest.fn(),
|
|
||||||
};
|
|
||||||
});
|
|
||||||
|
|
||||||
const api = new dockviewApiMock();
|
|
||||||
const accessor = new accessorMock();
|
|
||||||
const group = fromPartial<DockviewGroupPanel>({
|
const group = fromPartial<DockviewGroupPanel>({
|
||||||
api: {
|
api: {
|
||||||
onDidVisibilityChange: jest.fn(),
|
onDidVisibilityChange: jest.fn(),
|
||||||
@ -32,7 +16,11 @@ describe('dockviewPanel', () => {
|
|||||||
onDidActiveChange: jest.fn(),
|
onDidActiveChange: jest.fn(),
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
const model = <IDockviewPanelModel>new panelModelMock();
|
const model = fromPartial<IDockviewPanelModel>({
|
||||||
|
update: jest.fn(),
|
||||||
|
init: jest.fn(),
|
||||||
|
dispose: jest.fn(),
|
||||||
|
});
|
||||||
|
|
||||||
const cut = new DockviewPanel(
|
const cut = new DockviewPanel(
|
||||||
'fake-id',
|
'fake-id',
|
||||||
@ -67,23 +55,8 @@ describe('dockviewPanel', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
test('that .setTitle updates the title', () => {
|
test('that .setTitle updates the title', () => {
|
||||||
const dockviewApiMock = jest.fn<DockviewApi, []>(() => {
|
const api = fromPartial<DockviewApi>({});
|
||||||
return {
|
const accessor = fromPartial<DockviewComponent>({});
|
||||||
onDidActiveChange: jest.fn(),
|
|
||||||
} as any;
|
|
||||||
});
|
|
||||||
const accessorMock = jest.fn<DockviewComponent, []>(() => {
|
|
||||||
return {} as any;
|
|
||||||
});
|
|
||||||
const panelModelMock = jest.fn<Partial<IDockviewPanelModel>, []>(() => {
|
|
||||||
return {
|
|
||||||
update: jest.fn(),
|
|
||||||
init: jest.fn(),
|
|
||||||
};
|
|
||||||
});
|
|
||||||
|
|
||||||
const api = new dockviewApiMock();
|
|
||||||
const accessor = new accessorMock();
|
|
||||||
const group = fromPartial<DockviewGroupPanel>({
|
const group = fromPartial<DockviewGroupPanel>({
|
||||||
api: {
|
api: {
|
||||||
onDidVisibilityChange: jest.fn(),
|
onDidVisibilityChange: jest.fn(),
|
||||||
@ -91,7 +64,10 @@ describe('dockviewPanel', () => {
|
|||||||
onDidActiveChange: jest.fn(),
|
onDidActiveChange: jest.fn(),
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
const model = <IDockviewPanelModel>new panelModelMock();
|
const model = fromPartial<IDockviewPanelModel>({
|
||||||
|
update: jest.fn(),
|
||||||
|
init: jest.fn(),
|
||||||
|
});
|
||||||
|
|
||||||
const cut = new DockviewPanel(
|
const cut = new DockviewPanel(
|
||||||
'fake-id',
|
'fake-id',
|
||||||
@ -117,22 +93,8 @@ describe('dockviewPanel', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
test('dispose cleanup', () => {
|
test('dispose cleanup', () => {
|
||||||
const dockviewApiMock = jest.fn<DockviewApi, []>(() => {
|
const api = fromPartial<DockviewApi>({});
|
||||||
return {} as any;
|
const accessor = fromPartial<DockviewComponent>({});
|
||||||
});
|
|
||||||
const accessorMock = jest.fn<DockviewComponent, []>(() => {
|
|
||||||
return {} as any;
|
|
||||||
});
|
|
||||||
const panelModelMock = jest.fn<Partial<IDockviewPanelModel>, []>(() => {
|
|
||||||
return {
|
|
||||||
update: jest.fn(),
|
|
||||||
init: jest.fn(),
|
|
||||||
dispose: jest.fn(),
|
|
||||||
};
|
|
||||||
});
|
|
||||||
|
|
||||||
const api = new dockviewApiMock();
|
|
||||||
const accessor = new accessorMock();
|
|
||||||
const group = fromPartial<DockviewGroupPanel>({
|
const group = fromPartial<DockviewGroupPanel>({
|
||||||
api: {
|
api: {
|
||||||
onDidVisibilityChange: jest
|
onDidVisibilityChange: jest
|
||||||
@ -146,7 +108,11 @@ describe('dockviewPanel', () => {
|
|||||||
.mockReturnValue({ dispose: jest.fn() }),
|
.mockReturnValue({ dispose: jest.fn() }),
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
const model = <IDockviewPanelModel>new panelModelMock();
|
const model = fromPartial<IDockviewPanelModel>({
|
||||||
|
update: jest.fn(),
|
||||||
|
init: jest.fn(),
|
||||||
|
dispose: jest.fn(),
|
||||||
|
});
|
||||||
|
|
||||||
const cut = new DockviewPanel(
|
const cut = new DockviewPanel(
|
||||||
'fake-id',
|
'fake-id',
|
||||||
@ -169,22 +135,8 @@ describe('dockviewPanel', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
test('get params', () => {
|
test('get params', () => {
|
||||||
const dockviewApiMock = jest.fn<DockviewApi, []>(() => {
|
const api = fromPartial<DockviewApi>({});
|
||||||
return {} as any;
|
const accessor = fromPartial<DockviewComponent>({});
|
||||||
});
|
|
||||||
const accessorMock = jest.fn<DockviewComponent, []>(() => {
|
|
||||||
return {} as any;
|
|
||||||
});
|
|
||||||
const panelModelMock = jest.fn<Partial<IDockviewPanelModel>, []>(() => {
|
|
||||||
return {
|
|
||||||
update: jest.fn(),
|
|
||||||
init: jest.fn(),
|
|
||||||
dispose: jest.fn(),
|
|
||||||
};
|
|
||||||
});
|
|
||||||
|
|
||||||
const api = new dockviewApiMock();
|
|
||||||
const accessor = new accessorMock();
|
|
||||||
const group = fromPartial<DockviewGroupPanel>({
|
const group = fromPartial<DockviewGroupPanel>({
|
||||||
api: {
|
api: {
|
||||||
onDidVisibilityChange: jest.fn(),
|
onDidVisibilityChange: jest.fn(),
|
||||||
@ -192,7 +144,11 @@ describe('dockviewPanel', () => {
|
|||||||
onDidActiveChange: jest.fn(),
|
onDidActiveChange: jest.fn(),
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
const model = <IDockviewPanelModel>new panelModelMock();
|
const model = fromPartial<IDockviewPanelModel>({
|
||||||
|
update: jest.fn(),
|
||||||
|
init: jest.fn(),
|
||||||
|
dispose: jest.fn(),
|
||||||
|
});
|
||||||
|
|
||||||
const cut = new DockviewPanel(
|
const cut = new DockviewPanel(
|
||||||
'fake-id',
|
'fake-id',
|
||||||
@ -215,22 +171,8 @@ describe('dockviewPanel', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
test('setSize propagates to underlying group', () => {
|
test('setSize propagates to underlying group', () => {
|
||||||
const dockviewApiMock = jest.fn<DockviewApi, []>(() => {
|
const api = fromPartial<DockviewApi>({});
|
||||||
return {} as any;
|
const accessor = fromPartial<DockviewComponent>({});
|
||||||
});
|
|
||||||
const accessorMock = jest.fn<DockviewComponent, []>(() => {
|
|
||||||
return {} as any;
|
|
||||||
});
|
|
||||||
const panelModelMock = jest.fn<Partial<IDockviewPanelModel>, []>(() => {
|
|
||||||
return {
|
|
||||||
update: jest.fn(),
|
|
||||||
init: jest.fn(),
|
|
||||||
dispose: jest.fn(),
|
|
||||||
};
|
|
||||||
});
|
|
||||||
|
|
||||||
const api = new dockviewApiMock();
|
|
||||||
const accessor = new accessorMock();
|
|
||||||
const group = fromPartial<DockviewGroupPanel>({
|
const group = fromPartial<DockviewGroupPanel>({
|
||||||
api: {
|
api: {
|
||||||
onDidVisibilityChange: jest.fn(),
|
onDidVisibilityChange: jest.fn(),
|
||||||
@ -239,7 +181,11 @@ describe('dockviewPanel', () => {
|
|||||||
setSize: jest.fn(),
|
setSize: jest.fn(),
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
const model = <IDockviewPanelModel>new panelModelMock();
|
const model = fromPartial<IDockviewPanelModel>({
|
||||||
|
update: jest.fn(),
|
||||||
|
init: jest.fn(),
|
||||||
|
dispose: jest.fn(),
|
||||||
|
});
|
||||||
|
|
||||||
const cut = new DockviewPanel(
|
const cut = new DockviewPanel(
|
||||||
'fake-id',
|
'fake-id',
|
||||||
@ -256,27 +202,16 @@ describe('dockviewPanel', () => {
|
|||||||
|
|
||||||
cut.api.setSize({ height: 123, width: 456 });
|
cut.api.setSize({ height: 123, width: 456 });
|
||||||
|
|
||||||
expect(group.api.setSize).toBeCalledWith({ height: 123, width: 456 });
|
expect(group.api.setSize).toHaveBeenCalledWith({
|
||||||
expect(group.api.setSize).toBeCalledTimes(1);
|
height: 123,
|
||||||
|
width: 456,
|
||||||
|
});
|
||||||
|
expect(group.api.setSize).toHaveBeenCalledTimes(1);
|
||||||
});
|
});
|
||||||
|
|
||||||
test('updateParameter', () => {
|
test('updateParameter', () => {
|
||||||
const dockviewApiMock = jest.fn<DockviewApi, []>(() => {
|
const api = fromPartial<DockviewApi>({});
|
||||||
return {} as any;
|
const accessor = fromPartial<DockviewComponent>({});
|
||||||
});
|
|
||||||
const accessorMock = jest.fn<DockviewComponent, []>(() => {
|
|
||||||
return {} as any;
|
|
||||||
});
|
|
||||||
const panelModelMock = jest.fn<Partial<IDockviewPanelModel>, []>(() => {
|
|
||||||
return {
|
|
||||||
update: jest.fn(),
|
|
||||||
init: jest.fn(),
|
|
||||||
dispose: jest.fn(),
|
|
||||||
};
|
|
||||||
});
|
|
||||||
|
|
||||||
const api = new dockviewApiMock();
|
|
||||||
const accessor = new accessorMock();
|
|
||||||
const group = fromPartial<DockviewGroupPanel>({
|
const group = fromPartial<DockviewGroupPanel>({
|
||||||
api: {
|
api: {
|
||||||
onDidVisibilityChange: jest.fn(),
|
onDidVisibilityChange: jest.fn(),
|
||||||
@ -284,7 +219,11 @@ describe('dockviewPanel', () => {
|
|||||||
onDidActiveChange: jest.fn(),
|
onDidActiveChange: jest.fn(),
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
const model = <IDockviewPanelModel>new panelModelMock();
|
const model = fromPartial<IDockviewPanelModel>({
|
||||||
|
update: jest.fn(),
|
||||||
|
init: jest.fn(),
|
||||||
|
dispose: jest.fn(),
|
||||||
|
});
|
||||||
|
|
||||||
const cut = new DockviewPanel(
|
const cut = new DockviewPanel(
|
||||||
'fake-id',
|
'fake-id',
|
||||||
@ -305,6 +244,9 @@ describe('dockviewPanel', () => {
|
|||||||
// update 'a' and add 'c'
|
// update 'a' and add 'c'
|
||||||
cut.update({ params: { a: '-1', c: '3' } });
|
cut.update({ params: { a: '-1', c: '3' } });
|
||||||
expect(cut.params).toEqual({ a: '-1', b: '2', c: '3' });
|
expect(cut.params).toEqual({ a: '-1', b: '2', c: '3' });
|
||||||
|
expect(model.update).toHaveBeenCalledWith({
|
||||||
|
params: { a: '-1', b: '2', c: '3' },
|
||||||
|
});
|
||||||
|
|
||||||
cut.update({ params: { d: '4', e: '5', f: '6' } });
|
cut.update({ params: { d: '4', e: '5', f: '6' } });
|
||||||
expect(cut.params).toEqual({
|
expect(cut.params).toEqual({
|
||||||
@ -315,6 +257,9 @@ describe('dockviewPanel', () => {
|
|||||||
e: '5',
|
e: '5',
|
||||||
f: '6',
|
f: '6',
|
||||||
});
|
});
|
||||||
|
expect(model.update).toHaveBeenCalledWith({
|
||||||
|
params: { a: '-1', b: '2', c: '3', d: '4', e: '5', f: '6' },
|
||||||
|
});
|
||||||
|
|
||||||
cut.update({
|
cut.update({
|
||||||
params: {
|
params: {
|
||||||
@ -335,5 +280,8 @@ describe('dockviewPanel', () => {
|
|||||||
g: '',
|
g: '',
|
||||||
h: null,
|
h: null,
|
||||||
});
|
});
|
||||||
|
expect(model.update).toHaveBeenCalledWith({
|
||||||
|
params: { a: '-1', b: '2', c: '3', d: '', e: null, g: '', h: null },
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@ -137,13 +137,6 @@ export class DockviewPanel
|
|||||||
|
|
||||||
if (didTitleChange) {
|
if (didTitleChange) {
|
||||||
this._title = title;
|
this._title = title;
|
||||||
|
|
||||||
this.view.update({
|
|
||||||
params: {
|
|
||||||
params: this._params,
|
|
||||||
title: this.title,
|
|
||||||
},
|
|
||||||
});
|
|
||||||
this.api._onDidTitleChange.fire({ title });
|
this.api._onDidTitleChange.fire({ title });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -178,10 +171,7 @@ export class DockviewPanel
|
|||||||
|
|
||||||
// update the view with the updated props
|
// update the view with the updated props
|
||||||
this.view.update({
|
this.view.update({
|
||||||
params: {
|
|
||||||
params: this._params,
|
params: this._params,
|
||||||
title: this.title,
|
|
||||||
},
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -52,7 +52,7 @@ export class ReactPanelContentPart implements IContentRenderer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public update(event: PanelUpdateEvent) {
|
public update(event: PanelUpdateEvent) {
|
||||||
this.part?.update(event.params);
|
this.part?.update({ params: event.params });
|
||||||
}
|
}
|
||||||
|
|
||||||
public layout(_width: number, _height: number): void {
|
public layout(_width: number, _height: number): void {
|
||||||
|
@ -44,7 +44,7 @@ export class ReactPanelHeaderPart implements ITabRenderer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public update(event: PanelUpdateEvent): void {
|
public update(event: PanelUpdateEvent): void {
|
||||||
this.part?.update(event.params);
|
this.part?.update({ params: event.params });
|
||||||
}
|
}
|
||||||
|
|
||||||
public layout(_width: number, _height: number): void {
|
public layout(_width: number, _height: number): void {
|
||||||
|
Loading…
Reference in New Issue
Block a user