Skip to content

Commit 3496dce

Browse files
committed
cleaning.
1 parent bb9c36c commit 3496dce

File tree

7 files changed

+35
-49
lines changed

7 files changed

+35
-49
lines changed

designer/src/api/control-bar-api.ts

Lines changed: 3 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,14 @@ import { race, SimpleEvent } from '../core';
22
import { StateModifier } from '../modifier/state-modifier';
33
import { DesignerState } from '../designer-state';
44
import { HistoryController } from '../history-controller';
5-
import { ViewportApi } from './viewport-api';
65

76
export class ControlBarApi {
87
public static create(
98
state: DesignerState,
109
historyController: HistoryController | undefined,
11-
stateModifier: StateModifier,
12-
viewportApi: ViewportApi
10+
stateModifier: StateModifier
1311
): ControlBarApi {
14-
const api = new ControlBarApi(state, historyController, stateModifier, viewportApi);
12+
const api = new ControlBarApi(state, historyController, stateModifier);
1513

1614
race(
1715
0,
@@ -26,24 +24,11 @@ export class ControlBarApi {
2624
private constructor(
2725
private readonly state: DesignerState,
2826
private readonly historyController: HistoryController | undefined,
29-
private readonly stateModifier: StateModifier,
30-
private readonly viewportApi: ViewportApi
27+
private readonly stateModifier: StateModifier
3128
) {}
3229

3330
public readonly onStateChanged = new SimpleEvent<unknown>();
3431

35-
public resetViewport() {
36-
this.viewportApi.resetViewport();
37-
}
38-
39-
public zoomIn() {
40-
this.viewportApi.zoom(true);
41-
}
42-
43-
public zoomOut() {
44-
this.viewportApi.zoom(false);
45-
}
46-
4732
public isDragDisabled(): boolean {
4833
return this.state.isDragDisabled;
4934
}

designer/src/api/designer-api.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ export class DesignerApi {
1313
public static create(context: DesignerContext): DesignerApi {
1414
const workspace = new WorkspaceApi(context.state, context.workspaceController);
1515
const viewportController = context.services.viewportController.create(workspace);
16-
const viewport = new ViewportApi(context.workspaceController, viewportController, workspace);
1716
const toolboxDataProvider = new ToolboxDataProvider(
1817
context.componentContext.iconProvider,
1918
context.i18n,
@@ -22,11 +21,11 @@ export class DesignerApi {
2221

2322
return new DesignerApi(
2423
context.configuration.shadowRoot,
25-
ControlBarApi.create(context.state, context.historyController, context.stateModifier, viewport),
24+
ControlBarApi.create(context.state, context.historyController, context.stateModifier),
2625
new ToolboxApi(context.state, context, context.behaviorController, toolboxDataProvider, context.configuration.uidGenerator),
2726
new EditorApi(context.state, context.definitionWalker, context.stateModifier),
2827
workspace,
29-
viewport,
28+
new ViewportApi(context.state, context.workspaceController, viewportController),
3029
new PathBarApi(context.state, context.definitionWalker),
3130
context.definitionWalker,
3231
context.i18n

designer/src/api/viewport-api.ts

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
import { Vector } from '../core';
22
import { ViewportController } from '../designer-extension';
3+
import { DesignerState } from '../designer-state';
34
import { ViewportAnimator } from '../workspace/viewport/viewport-animator';
45
import { ZoomByWheelCalculator } from '../workspace/viewport/zoom-by-wheel-calculator';
56
import { WorkspaceControllerWrapper } from '../workspace/workspace-controller';
6-
import { WorkspaceApi } from './workspace-api';
77

88
export class ViewportApi {
9-
private readonly animator = new ViewportAnimator(this.api);
9+
private readonly animator = new ViewportAnimator(this.state);
1010

1111
public constructor(
12+
private readonly state: DesignerState,
1213
private readonly workspaceController: WorkspaceControllerWrapper,
13-
private readonly viewportController: ViewportController,
14-
private readonly api: WorkspaceApi
14+
private readonly viewportController: ViewportController
1515
) {}
1616

1717
public limitScale(scale: number): number {
@@ -20,13 +20,13 @@ export class ViewportApi {
2020

2121
public resetViewport() {
2222
const defaultViewport = this.viewportController.getDefault();
23-
this.api.setViewport(defaultViewport);
23+
this.state.setViewport(defaultViewport);
2424
}
2525

2626
public zoom(direction: boolean) {
2727
const viewport = this.viewportController.getZoomed(direction);
2828
if (viewport) {
29-
this.api.setViewport(viewport);
29+
this.state.setViewport(viewport);
3030
}
3131
}
3232

@@ -43,12 +43,11 @@ export class ViewportApi {
4343
}
4444

4545
public handleWheelEvent(e: WheelEvent) {
46-
const viewport = this.api.getViewport();
47-
const canvasPosition = this.api.getCanvasPosition();
46+
const canvasPosition = this.workspaceController.getCanvasPosition();
4847

49-
const newViewport = ZoomByWheelCalculator.calculate(this.viewportController, viewport, canvasPosition, e);
48+
const newViewport = ZoomByWheelCalculator.calculate(this.viewportController, this.state.viewport, canvasPosition, e);
5049
if (newViewport) {
51-
this.api.setViewport(newViewport);
50+
this.state.setViewport(newViewport);
5251
}
5352
}
5453
}

designer/src/api/workspace-api.ts

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,14 @@ export class WorkspaceApi {
99
private readonly workspaceController: WorkspaceControllerWrapper
1010
) {}
1111

12+
public getViewport(): Viewport {
13+
return this.state.viewport;
14+
}
15+
16+
public setViewport(viewport: Viewport) {
17+
this.state.setViewport(viewport);
18+
}
19+
1220
public getCanvasPosition(): Vector {
1321
return this.workspaceController.getCanvasPosition();
1422
}
@@ -21,14 +29,6 @@ export class WorkspaceApi {
2129
return this.workspaceController.getRootComponentSize();
2230
}
2331

24-
public getViewport(): Viewport {
25-
return this.state.viewport;
26-
}
27-
28-
public setViewport(viewport: Viewport) {
29-
this.state.setViewport(viewport);
30-
}
31-
3232
public updateRootComponent() {
3333
this.workspaceController.updateRootComponent();
3434
}

designer/src/control-bar/control-bar.ts

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,13 @@ import { ControlBarView } from './control-bar-view';
22
import { UiComponent } from '../designer-extension';
33
import { ControlBarApi } from '../api/control-bar-api';
44
import { DesignerApi } from '../api/designer-api';
5+
import { ViewportApi } from '../api';
56

67
export class ControlBar implements UiComponent {
78
public static create(parent: HTMLElement, api: DesignerApi): UiComponent {
89
const isUndoRedoSupported = api.controlBar.isUndoRedoSupported();
910
const view = ControlBarView.create(parent, isUndoRedoSupported, api.i18n);
10-
const bar = new ControlBar(view, api.controlBar, isUndoRedoSupported);
11+
const bar = new ControlBar(view, api.controlBar, api.viewport, isUndoRedoSupported);
1112

1213
view.bindResetButtonClick(() => bar.onResetButtonClicked());
1314
view.bindZoomInButtonClick(() => bar.onZoomInButtonClicked());
@@ -28,6 +29,7 @@ export class ControlBar implements UiComponent {
2829
private constructor(
2930
private readonly view: ControlBarView,
3031
private readonly controlBarApi: ControlBarApi,
32+
private readonly viewportApi: ViewportApi,
3133
private readonly isUndoRedoSupported: boolean
3234
) {}
3335

@@ -40,15 +42,15 @@ export class ControlBar implements UiComponent {
4042
}
4143

4244
private onResetButtonClicked() {
43-
this.controlBarApi.resetViewport();
45+
this.viewportApi.resetViewport();
4446
}
4547

4648
private onZoomInButtonClicked() {
47-
this.controlBarApi.zoomIn();
49+
this.viewportApi.zoom(true);
4850
}
4951

5052
private onZoomOutButtonClicked() {
51-
this.controlBarApi.zoomOut();
53+
this.viewportApi.zoom(false);
5254
}
5355

5456
private onMoveButtonClicked() {

designer/src/designer-extension.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,8 @@ export interface SequenceContext {
8383
isPreview: boolean;
8484
}
8585

86+
// StepComponentViewWrapperExtension
87+
8688
export interface StepComponentViewWrapperExtension {
8789
wrap(view: StepComponentView, stepContext: StepContext): StepComponentView;
8890
}

designer/src/workspace/viewport/viewport-animator.ts

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,25 @@
1-
import { WorkspaceApi } from '../../api';
21
import { animate, Animation } from '../../core/animation';
32
import { Viewport } from '../../designer-extension';
3+
import { DesignerState } from '../../designer-state';
44

55
export class ViewportAnimator {
66
private animation?: Animation;
77

8-
public constructor(private readonly api: WorkspaceApi) {}
8+
public constructor(private readonly state: DesignerState) {}
99

1010
public execute(target: Viewport) {
1111
if (this.animation && this.animation.isAlive) {
1212
this.animation.stop();
1313
}
1414

15-
const viewport = this.api.getViewport();
16-
const startPosition = viewport.position;
17-
const startScale = viewport.scale;
15+
const startPosition = this.state.viewport.position;
16+
const startScale = this.state.viewport.scale;
1817
const deltaPosition = startPosition.subtract(target.position);
1918
const deltaScale = startScale - target.scale;
2019

2120
this.animation = animate(150, progress => {
2221
const newScale = startScale - deltaScale * progress;
23-
this.api.setViewport({
22+
this.state.setViewport({
2423
position: startPosition.subtract(deltaPosition.multiplyByScalar(progress)),
2524
scale: newScale
2625
});

0 commit comments

Comments
 (0)