mirror of
https://github.com/mathuo/dockview
synced 2025-03-10 07:52:07 +00:00
refactor: set deserializer by default
This commit is contained in:
parent
8918e254ed
commit
db1cb49487
@ -16,7 +16,6 @@ import {
|
||||
DockviewPanelApi,
|
||||
DockviewPanelApiImpl,
|
||||
} from '../../api/dockviewPanelApi';
|
||||
import { DefaultDockviewDeserialzier } from '../../dockview/deserializer';
|
||||
import { IDockviewPanelModel } from '../../dockview/dockviewPanelModel';
|
||||
import { DockviewPanelModelMock } from '../__mocks__/mockDockviewPanelMode';
|
||||
import { DefaultTab } from '../../dockview/components/tab/defaultTab';
|
||||
@ -470,7 +469,6 @@ describe('dockviewComponent', () => {
|
||||
test('serialization', () => {
|
||||
dockview.layout(1000, 1000);
|
||||
|
||||
dockview.deserializer = new DefaultDockviewDeserialzier(dockview);
|
||||
dockview.fromJSON({
|
||||
activeGroup: 'group-1',
|
||||
grid: {
|
||||
@ -1382,7 +1380,6 @@ describe('dockviewComponent', () => {
|
||||
default: PanelContentPartTest,
|
||||
},
|
||||
});
|
||||
dockview.deserializer = new DefaultDockviewDeserialzier(dockview);
|
||||
|
||||
dockview.layout(500, 1000);
|
||||
|
||||
@ -1507,7 +1504,6 @@ describe('dockviewComponent', () => {
|
||||
})
|
||||
);
|
||||
|
||||
dockview.deserializer = new DefaultDockviewDeserialzier(dockview);
|
||||
dockview.fromJSON({
|
||||
activeGroup: 'group-1',
|
||||
grid: {
|
||||
@ -1641,7 +1637,6 @@ describe('dockviewComponent', () => {
|
||||
default: PanelContentPartTest,
|
||||
},
|
||||
});
|
||||
dockview.deserializer = new DefaultDockviewDeserialzier(dockview);
|
||||
dockview.fromJSON({
|
||||
activeGroup: 'group-1',
|
||||
grid: {
|
||||
@ -1731,7 +1726,6 @@ describe('dockviewComponent', () => {
|
||||
test_tab_id: PanelTabPartTest,
|
||||
},
|
||||
});
|
||||
dockview.deserializer = new DefaultDockviewDeserialzier(dockview);
|
||||
dockview.fromJSON({
|
||||
activeGroup: 'group-1',
|
||||
grid: {
|
||||
@ -1840,7 +1834,6 @@ describe('dockviewComponent', () => {
|
||||
test_tab_id: PanelTabPartTest,
|
||||
},
|
||||
});
|
||||
dockview.deserializer = new DefaultDockviewDeserialzier(dockview);
|
||||
dockview.fromJSON({
|
||||
activeGroup: 'group-1',
|
||||
grid: {
|
||||
@ -1928,7 +1921,6 @@ describe('dockviewComponent', () => {
|
||||
},
|
||||
orientation: Orientation.HORIZONTAL,
|
||||
});
|
||||
dockview.deserializer = new DefaultDockviewDeserialzier(dockview);
|
||||
|
||||
expect(dockview.orientation).toBe(Orientation.HORIZONTAL);
|
||||
|
||||
@ -2034,7 +2026,6 @@ describe('dockviewComponent', () => {
|
||||
},
|
||||
orientation: Orientation.HORIZONTAL,
|
||||
});
|
||||
dockview.deserializer = new DefaultDockviewDeserialzier(dockview);
|
||||
|
||||
expect(dockview.orientation).toBe(Orientation.HORIZONTAL);
|
||||
|
||||
@ -2175,7 +2166,6 @@ describe('dockviewComponent', () => {
|
||||
},
|
||||
orientation: Orientation.HORIZONTAL,
|
||||
});
|
||||
dockview.deserializer = new DefaultDockviewDeserialzier(dockview);
|
||||
|
||||
expect(dockview.orientation).toBe(Orientation.HORIZONTAL);
|
||||
|
||||
@ -2303,7 +2293,6 @@ describe('dockviewComponent', () => {
|
||||
},
|
||||
orientation: Orientation.HORIZONTAL,
|
||||
});
|
||||
dockview.deserializer = new DefaultDockviewDeserialzier(dockview);
|
||||
|
||||
expect(dockview.groups.length).toBe(0);
|
||||
});
|
||||
@ -2320,7 +2309,6 @@ describe('dockviewComponent', () => {
|
||||
},
|
||||
orientation: Orientation.HORIZONTAL,
|
||||
});
|
||||
dockview.deserializer = new DefaultDockviewDeserialzier(dockview);
|
||||
|
||||
expect(dockview.groups.length).toBe(0);
|
||||
|
||||
@ -2360,7 +2348,6 @@ describe('dockviewComponent', () => {
|
||||
},
|
||||
orientation: Orientation.HORIZONTAL,
|
||||
});
|
||||
dockview.deserializer = new DefaultDockviewDeserialzier(dockview);
|
||||
|
||||
expect(JSON.parse(JSON.stringify(dockview.toJSON()))).toEqual({
|
||||
grid: {
|
||||
|
@ -16,7 +16,7 @@ import {
|
||||
DockviewDropTargets,
|
||||
} from './types';
|
||||
import { sequentialNumberGenerator } from '../math';
|
||||
import { IPanelDeserializer } from './deserializer';
|
||||
import { DefaultDockviewDeserialzier } from './deserializer';
|
||||
import { createComponent } from '../panel/componentFactory';
|
||||
import {
|
||||
AddGroupOptions,
|
||||
@ -87,7 +87,6 @@ export interface IDockviewComponent extends IBaseGrid<DockviewGroupPanel> {
|
||||
readonly onDidDrop: Event<DockviewDropEvent>;
|
||||
readonly orientation: Orientation;
|
||||
tabHeight: number | undefined;
|
||||
deserializer: IPanelDeserializer | undefined;
|
||||
updateOptions(options: DockviewComponentUpdateOptions): void;
|
||||
moveGroupOrPanel(
|
||||
referenceGroup: DockviewGroupPanel,
|
||||
@ -125,8 +124,8 @@ export class DockviewComponent
|
||||
implements IDockviewComponent
|
||||
{
|
||||
private readonly nextGroupId = sequentialNumberGenerator();
|
||||
private _deserializer: IPanelDeserializer | undefined;
|
||||
private _api: DockviewApi;
|
||||
private readonly _deserializer = new DefaultDockviewDeserialzier(this);
|
||||
private readonly _api: DockviewApi;
|
||||
private _options: Exclude<DockviewComponentOptions, 'orientation'>;
|
||||
private watermark: IWatermarkRenderer | null = null;
|
||||
|
||||
@ -161,14 +160,6 @@ export class DockviewComponent
|
||||
return this.groups.flatMap((group) => group.panels);
|
||||
}
|
||||
|
||||
get deserializer(): IPanelDeserializer | undefined {
|
||||
return this._deserializer;
|
||||
}
|
||||
|
||||
set deserializer(value: IPanelDeserializer | undefined) {
|
||||
this._deserializer = value;
|
||||
}
|
||||
|
||||
get options(): DockviewComponentOptions {
|
||||
return this._options;
|
||||
}
|
||||
@ -428,9 +419,6 @@ export class DockviewComponent
|
||||
fromJSON(data: SerializedDockview): void {
|
||||
this.clear();
|
||||
|
||||
if (!this.deserializer) {
|
||||
throw new Error('no deserializer provided');
|
||||
}
|
||||
const { grid, panels, options, activeGroup } = data;
|
||||
|
||||
if (typeof options?.tabHeight === 'number') {
|
||||
@ -454,7 +442,7 @@ export class DockviewComponent
|
||||
this._onDidAddGroup.fire(group);
|
||||
|
||||
for (const child of views) {
|
||||
const panel = this.deserializer!.fromJSON(
|
||||
const panel = this._deserializer.fromJSON(
|
||||
panels[child],
|
||||
group
|
||||
);
|
||||
|
@ -11,7 +11,6 @@ import {
|
||||
ITabRenderer,
|
||||
watchElementResize,
|
||||
DockviewGroupPanel,
|
||||
DefaultDockviewDeserialzier,
|
||||
} from 'dockview-core';
|
||||
import { ReactPanelContentPart } from './reactContentPart';
|
||||
import { ReactPanelHeaderPart } from './reactHeaderPart';
|
||||
@ -173,7 +172,6 @@ export const DockviewReact = React.forwardRef(
|
||||
});
|
||||
|
||||
domRef.current?.appendChild(dockview.element);
|
||||
dockview.deserializer = new DefaultDockviewDeserialzier(dockview);
|
||||
|
||||
const { clientWidth, clientHeight } = domRef.current!;
|
||||
dockview.layout(clientWidth, clientHeight);
|
||||
|
Loading…
Reference in New Issue
Block a user