aboutsummaryrefslogtreecommitdiffstats
path: root/sdc-workflow-designer-ui/src/app/paletx/core/overlay/position/overlay-position-builder.ts
diff options
context:
space:
mode:
authorYuanHu <yuan.hu1@zte.com.cn>2018-03-27 17:24:38 +0800
committerYuanHu <yuan.hu1@zte.com.cn>2018-03-27 17:24:38 +0800
commit573f32b362f4639928485d66feb1c0721109716b (patch)
tree39ab8771c9ef87ee2b61abe1e126e31629bdf9eb /sdc-workflow-designer-ui/src/app/paletx/core/overlay/position/overlay-position-builder.ts
parent99fcc841c86367722097f54497dbc7c856c19251 (diff)
Include paletx core
Include paletx core to WF Designer UI. Issue-ID: SDC-1130,SDC-1131 Change-Id: I9a2591e022b5ff118cccbbc839796be19d70df84 Signed-off-by: YuanHu <yuan.hu1@zte.com.cn>
Diffstat (limited to 'sdc-workflow-designer-ui/src/app/paletx/core/overlay/position/overlay-position-builder.ts')
-rw-r--r--sdc-workflow-designer-ui/src/app/paletx/core/overlay/position/overlay-position-builder.ts51
1 files changed, 51 insertions, 0 deletions
diff --git a/sdc-workflow-designer-ui/src/app/paletx/core/overlay/position/overlay-position-builder.ts b/sdc-workflow-designer-ui/src/app/paletx/core/overlay/position/overlay-position-builder.ts
new file mode 100644
index 00000000..0f6735eb
--- /dev/null
+++ b/sdc-workflow-designer-ui/src/app/paletx/core/overlay/position/overlay-position-builder.ts
@@ -0,0 +1,51 @@
+/**
+ * @license
+ * Copyright Google Inc. All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+/* tslint:disable:array-type member-access variable-name typedef
+ only-arrow-functions directive-class-suffix component-class-suffix
+ component-selector no-unnecessary-type-assertion arrow-parens*/
+import {ElementRef, Injectable} from '@angular/core';
+
+import {OriginConnectionPosition, OverlayConnectionPosition} from './connected-position';
+import {ConnectedPositionStrategy} from './connected-position-strategy';
+import {FreePositionStrategy} from './free-position-strategy';
+import {GlobalPositionStrategy} from './global-position-strategy';
+import {ViewportRuler} from './viewport-ruler';
+
+
+/** Builder for overlay position strategy. */
+@Injectable()
+export class OverlayPositionBuilder {
+ constructor(private _viewportRuler: ViewportRuler) {}
+
+ /**
+ * Creates a free position strategy
+ */
+ free(): FreePositionStrategy {
+ return new FreePositionStrategy();
+ }
+
+ /**
+ * Creates a global position strategy.
+ */
+ global(): GlobalPositionStrategy {
+ return new GlobalPositionStrategy();
+ }
+
+ /**
+ * Creates a relative position strategy.
+ * @param elementRef
+ * @param originPos
+ * @param overlayPos
+ */
+ connectedTo(
+ elementRef: ElementRef, originPos: OriginConnectionPosition,
+ overlayPos: OverlayConnectionPosition): ConnectedPositionStrategy {
+ return new ConnectedPositionStrategy(
+ elementRef, originPos, overlayPos, this._viewportRuler);
+ }
+}