Jointjs integration with angular 33/96933/1
authorArundathi Patil <arundpil@in.ibm.com>
Fri, 11 Oct 2019 12:49:04 +0000 (18:19 +0530)
committerArundathi Patil <arundpil@in.ibm.com>
Fri, 11 Oct 2019 12:49:08 +0000 (18:19 +0530)
Added JointJS dependency to the project

Issue-ID: CCSDK-1826
Change-Id: Iddd014b23d62e1874de4aedb01e3efd53fcf0945
Signed-off-by: Arundathi Patil <arundpil@in.ibm.com>
cds-ui/client/angular.json
cds-ui/client/package.json
cds-ui/client/src/app/app-routing.module.ts
cds-ui/client/src/app/app.module.ts
cds-ui/client/src/app/common/shared/components/home/home.component.html
cds-ui/client/src/app/feature-modules/blueprint-designer/blueprint-designer-routing.module.ts [new file with mode: 0644]
cds-ui/client/src/app/feature-modules/blueprint-designer/blueprint-designer.component.html [new file with mode: 0644]
cds-ui/client/src/app/feature-modules/blueprint-designer/blueprint-designer.component.scss [new file with mode: 0644]
cds-ui/client/src/app/feature-modules/blueprint-designer/blueprint-designer.component.spec.ts [new file with mode: 0644]
cds-ui/client/src/app/feature-modules/blueprint-designer/blueprint-designer.component.ts [new file with mode: 0644]
cds-ui/client/src/app/feature-modules/blueprint-designer/blueprint-designer.module.ts [new file with mode: 0644]

index c5800f0..2bf255d 100644 (file)
                             "./node_modules/@angular/material/prebuilt-themes/indigo-pink.css",
                             "./node_modules/material-design-icons/iconfont/material-icons.css",
                             "./node_modules/font-awesome/css/font-awesome.css",                            
-                            "./node_modules/bootstrap/dist/css/bootstrap.min.css"
+                            "./node_modules/bootstrap/dist/css/bootstrap.min.css",
+                            "./node_modules/jointjs/css/layout.css",
+                            "./node_modules/jointjs/css/themes/material.css",
+                            "./node_modules/jointjs/css/themes/default.css"
                         ],
                         "scripts": [
                             "./node_modules/ace-builds/src-min/ace.js",
                             "./node_modules/ace-builds/src-min/mode-kotlin.js",
                             "./node_modules/ace-builds/src-min/mode-text.js",
                             "./node_modules/ace-builds/src-min/mode-velocity.js",
-                            "./node_modules/ace-builds/src-min/mode-yaml.js"
+                            "./node_modules/ace-builds/src-min/mode-yaml.js",
+                            "./node_modules/jquery/dist/jquery.js",
+                            "./node_modules/lodash/index.js",
+                            "./node_modules/backbone/backbone.js",
+                            "./node_modules/jointjs/dist/joint.js"
                         ]
                     },
                     "configurations": {
index 2e19d29..4da7011 100644 (file)
         "@ngrx/store-devtools": "^6.1.2",
         "@types/d3": "^5.7.0",
         "ang-jsoneditor": "1.6.1",
+        "backbone": "^1.4.0",
+        "bootstrap": "^4.3.1",
         "core-js": "^2.5.4",
         "d3": "^5.9.1",
-        "bootstrap": "^4.3.1",
         "file-saver": "^2.0.1",
         "font-awesome": "^4.7.0",
         "hammerjs": "^2.0.8",
+        "jointjs": "^3.0.4",
+        "jquery": "^3.1.1",
         "jsoneditor": "^5.31.1",
         "jszip": "^3.2.0",
+        "lodash": "^3.10.1",
         "material-design-icons": "^3.0.1",
         "ng2-ace-editor": "^0.3.9",
         "rxjs": "6.3.3",
         "@angular/cli": "7.1.0",
         "@angular/compiler-cli": "7.1.0",
         "@angular/language-service": "7.1.0",
-        "@types/node": "8.9.4",
+        "@types/backbone": "^1.4.1",
         "@types/jasmine": "2.8.8",
         "@types/jasminewd2": "2.0.3",
+        "@types/jointjs": "^2.0.0",
+        "@types/jquery": "^3.3.31",
+        "@types/lodash": "^3.10.1",
+        "@types/node": "^8.10.54",
         "codelyzer": "4.5.0",
         "jasmine-core": "2.99.1",
         "jasmine-spec-reporter": "4.2.1",
index 01ecfe4..9981942 100644 (file)
@@ -42,6 +42,10 @@ const routes: Routes = [
     {
         path: 'controller-catalog',
         loadChildren: './feature-modules/controller-catalog/controller-catalog.module#ControllerCatalogModule'
+    },
+    {
+      path: 'blueprint-designer',
+      loadChildren: './feature-modules/blueprint-designer/blueprint-designer.module#BlueprintDesignerModule'
     }
   ]
 }
index e4cc4a1..998a800 100644 (file)
@@ -33,6 +33,7 @@ import { SharedModule } from './common/shared/shared.module';
 import { CoreModule } from './common/core/core.module';
 import { AppMaterialModule } from './common/modules/app-material.module';
 import { ResourceDefinitionModule } from './feature-modules/resource-definition/resource-definition.module';
+import { BlueprintDesignerModule } from './feature-modules/blueprint-designer/blueprint-designer.module';
 
 @NgModule({ 
   declarations: [
@@ -48,7 +49,8 @@ import { ResourceDefinitionModule } from './feature-modules/resource-definition/
     AppMaterialModule,
     SharedModule,
     CoreModule,
-    ResourceDefinitionModule
+    ResourceDefinitionModule,
+    BlueprintDesignerModule
   ],
   providers: [],
   bootstrap: [AppComponent]
index beff353..2f1ec45 100644 (file)
@@ -53,6 +53,7 @@ limitations under the License.
             </nav> -->
             <a mat-list-item [routerLink]="['/resource-definition']">Resource Definition</a>
             <a mat-list-item [routerLink]="['/controller-catalog']">Controller Catalog</a>
+            <a mat-list-item [routerLink]="['/blueprint-designer']">Blueprint Designer</a>
         </mat-nav-list>
     </mat-sidenav>
 
diff --git a/cds-ui/client/src/app/feature-modules/blueprint-designer/blueprint-designer-routing.module.ts b/cds-ui/client/src/app/feature-modules/blueprint-designer/blueprint-designer-routing.module.ts
new file mode 100644 (file)
index 0000000..6b07496
--- /dev/null
@@ -0,0 +1,38 @@
+/*
+============LICENSE_START==========================================
+===================================================================
+Copyright (C) 2019 IBM Intellectual Property. All rights reserved.
+===================================================================
+
+Unless otherwise specified, all software contained herein is licensed
+under the Apache License, Version 2.0 (the License);
+you may not use this software except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+============LICENSE_END============================================
+*/
+
+import { NgModule } from '@angular/core';
+import { Routes, RouterModule } from '@angular/router';
+import { BlueprintDesignerComponent } from './blueprint-designer.component';
+
+
+const routes: Routes = [
+    {
+        path: '',
+        component: BlueprintDesignerComponent
+    }
+];
+
+@NgModule({
+  imports: [RouterModule.forChild(routes)],
+  exports: [RouterModule]
+})
+export class BlueprintDesignerRoutingModule { }
diff --git a/cds-ui/client/src/app/feature-modules/blueprint-designer/blueprint-designer.component.html b/cds-ui/client/src/app/feature-modules/blueprint-designer/blueprint-designer.component.html
new file mode 100644 (file)
index 0000000..11a5d72
--- /dev/null
@@ -0,0 +1,21 @@
+<!-- ============LICENSE_START==========================================
+===================================================================
+Copyright (C) 2019 IBM Intellectual Property. All rights reserved.
+===================================================================
+
+Unless otherwise specified, all software contained herein is licensed
+under the Apache License, Version 2.0 (the License);
+you may not use this software except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+============LICENSE_END============================================ 
+-->
+
+<div id="paper" style="height: 100%; width: 100%"></div>
diff --git a/cds-ui/client/src/app/feature-modules/blueprint-designer/blueprint-designer.component.scss b/cds-ui/client/src/app/feature-modules/blueprint-designer/blueprint-designer.component.scss
new file mode 100644 (file)
index 0000000..93f5c9d
--- /dev/null
@@ -0,0 +1,20 @@
+/*
+============LICENSE_START==========================================
+===================================================================
+Copyright (C) 2019 IBM Intellectual Property. All rights reserved.
+===================================================================
+
+Unless otherwise specified, all software contained herein is licensed
+under the Apache License, Version 2.0 (the License);
+you may not use this software except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+============LICENSE_END============================================
+*/
\ No newline at end of file
diff --git a/cds-ui/client/src/app/feature-modules/blueprint-designer/blueprint-designer.component.spec.ts b/cds-ui/client/src/app/feature-modules/blueprint-designer/blueprint-designer.component.spec.ts
new file mode 100644 (file)
index 0000000..1972e75
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+============LICENSE_START==========================================
+===================================================================
+Copyright (C) 2019 IBM Intellectual Property. All rights reserved.
+===================================================================
+
+Unless otherwise specified, all software contained herein is licensed
+under the Apache License, Version 2.0 (the License);
+you may not use this software except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+============LICENSE_END============================================
+*/
+
+import { async, ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { BlueprintDesignerComponent } from './blueprint-designer.component';
+
+describe('BlueprintDesignerComponent', () => {
+  let component: BlueprintDesignerComponent;
+  let fixture: ComponentFixture<BlueprintDesignerComponent>;
+
+  beforeEach(async(() => {
+    TestBed.configureTestingModule({
+      declarations: [ BlueprintDesignerComponent ]
+    })
+    .compileComponents();
+  }));
+
+  beforeEach(() => {
+    fixture = TestBed.createComponent(BlueprintDesignerComponent);
+    component = fixture.componentInstance;
+    fixture.detectChanges();
+  });
+
+  it('should create', () => {
+    expect(component).toBeTruthy();
+  });
+});
diff --git a/cds-ui/client/src/app/feature-modules/blueprint-designer/blueprint-designer.component.ts b/cds-ui/client/src/app/feature-modules/blueprint-designer/blueprint-designer.component.ts
new file mode 100644 (file)
index 0000000..ac96377
--- /dev/null
@@ -0,0 +1,71 @@
+/*
+============LICENSE_START==========================================
+===================================================================
+Copyright (C) 2019 IBM Intellectual Property. All rights reserved.
+===================================================================
+
+Unless otherwise specified, all software contained herein is licensed
+under the Apache License, Version 2.0 (the License);
+you may not use this software except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+============LICENSE_END============================================
+*/
+
+import { Component, OnInit } from '@angular/core';
+import * as $ from 'jquery';
+import * as _ from 'lodash';
+import * as joint from '../../../../node_modules/jointjs/dist/joint.js';
+
+@Component({
+  selector: 'app-blueprint-designer',
+  templateUrl: './blueprint-designer.component.html',
+  styleUrls: ['./blueprint-designer.component.scss']
+})
+export class BlueprintDesignerComponent implements OnInit {
+
+  public graph: any;
+  public paper: any;
+
+  constructor() { }
+
+  ngOnInit() {
+    // this.createGraph();
+  }
+
+  createGraph() {
+    this.graph = new joint.dia.Graph,
+      this.paper = new joint.dia.Paper({
+        el: $('#paper'),
+        model: this.graph,
+        height: 700,
+        width: 1000,
+        gridSize: 2,
+        drawGrid: true
+      });
+
+      this.paper = new joint.dia.Paper({
+      el: document.getElementById('paper'),
+      width: 1000,
+      height: 1000,
+      model: this.graph,
+      gridSize: 2,
+      drawGrid: true
+    });
+
+    this.paper.setGrid({
+      name: 'dot',
+      args:
+        { color: 'black', thickness: 2, scaleFactor: 8 }
+
+    }).drawGrid();
+  }
+
+}
diff --git a/cds-ui/client/src/app/feature-modules/blueprint-designer/blueprint-designer.module.ts b/cds-ui/client/src/app/feature-modules/blueprint-designer/blueprint-designer.module.ts
new file mode 100644 (file)
index 0000000..f338f79
--- /dev/null
@@ -0,0 +1,34 @@
+/*
+============LICENSE_START==========================================
+===================================================================
+Copyright (C) 2019 IBM Intellectual Property. All rights reserved.
+===================================================================
+
+Unless otherwise specified, all software contained herein is licensed
+under the Apache License, Version 2.0 (the License);
+you may not use this software except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+============LICENSE_END============================================
+*/
+
+import { NgModule } from '@angular/core';
+import { CommonModule } from '@angular/common';
+import { BlueprintDesignerComponent } from './blueprint-designer.component';
+import { BlueprintDesignerRoutingModule } from './blueprint-designer-routing.module'
+
+@NgModule({
+  declarations: [BlueprintDesignerComponent],
+  imports: [
+    CommonModule,
+    BlueprintDesignerRoutingModule
+  ]
+})
+export class BlueprintDesignerModule { }