aboutsummaryrefslogtreecommitdiffstats
path: root/sdc-workflow-designer-ui/src/app/directive/resizable
diff options
context:
space:
mode:
authorLvbo163 <lv.bo163@zte.com.cn>2018-01-11 10:22:16 +0800
committerLvbo163 <lv.bo163@zte.com.cn>2018-01-11 10:22:16 +0800
commit008518dc35ded3bb6dc3e6352472b5816271f583 (patch)
tree773453bb816e2c1fd15d74f308eab32f6da7bfe0 /sdc-workflow-designer-ui/src/app/directive/resizable
parentccaa7ff4383e127b9c61d1e511ec6741c42dd37a (diff)
adjust folder
change fold menu to menus Issue-ID: SDC-900 Change-Id: Ifce180badf4f468a3291b118bfd4f631483541ec Signed-off-by: Lvbo163 <lv.bo163@zte.com.cn>
Diffstat (limited to 'sdc-workflow-designer-ui/src/app/directive/resizable')
-rw-r--r--sdc-workflow-designer-ui/src/app/directive/resizable/resizable.directive.ts42
1 files changed, 42 insertions, 0 deletions
diff --git a/sdc-workflow-designer-ui/src/app/directive/resizable/resizable.directive.ts b/sdc-workflow-designer-ui/src/app/directive/resizable/resizable.directive.ts
new file mode 100644
index 00000000..b285b595
--- /dev/null
+++ b/sdc-workflow-designer-ui/src/app/directive/resizable/resizable.directive.ts
@@ -0,0 +1,42 @@
+/**
+ * Copyright (c) 2017 ZTE Corporation.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and the Apache License 2.0 which both accompany this distribution,
+ * and are available at http://www.eclipse.org/legal/epl-v10.html
+ * and http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Contributors:
+ * ZTE - initial API and implementation and/or initial documentation
+ */
+
+import { AfterViewInit, Directive, ElementRef } from '@angular/core';
+import * as $ from 'jquery';
+
+import { JsPlumbService } from '../../services/jsplumb.service';
+import { ModelService } from '../../services/model.service';
+
+@Directive({ selector: '[b4tResizable]' })
+export class ResizableDirective implements AfterViewInit {
+
+ constructor(private el: ElementRef,
+ private jsPlumbService: JsPlumbService,
+ private planModelService: ModelService) {
+ }
+
+ public ngAfterViewInit() {
+ console.log('init resizble.');
+
+ $(this.el.nativeElement).resizable({
+ handles: 'all',
+ resize: (event, ui) => {
+ const element = ui.helper[0];
+ this.planModelService.updatePosition(element.id,
+ element.offsetLeft, element.offsetTop, element.offsetWidth, element.offsetHeight - 12);
+ this.jsPlumbService.resizeParent(element, element.parentNode);
+ const node = this.planModelService.getNodeMap().get(element.id);
+ this.jsPlumbService.jsplumbInstanceMap.get(node.parentId).revalidate(element.id);
+ },
+ });
+ }
+}