From 696a9c12a11bd200928c34bd291b8ad205fb4522 Mon Sep 17 00:00:00 2001 From: Mario Mol Date: Tue, 20 Nov 2018 18:07:34 -0200 Subject: [PATCH] first version fully working --- e2e/app.e2e-spec.ts | 2 +- ng-gantt/package.json | 2 +- ng-gantt/src/gantt/gantt.component.ts | 10 +- package.json | 1 + src/app/app.component.html | 2 +- src/app/demo/demo.component.html | 4 +- src/app/demo/demo.component.ts | 385 ++++++++++++++++++++++++-- src/styles.css | 2 + 8 files changed, 376 insertions(+), 32 deletions(-) diff --git a/e2e/app.e2e-spec.ts b/e2e/app.e2e-spec.ts index f1213c5..b791733 100644 --- a/e2e/app.e2e-spec.ts +++ b/e2e/app.e2e-spec.ts @@ -11,7 +11,7 @@ describe('ng-packaged App', () => { page.navigateTo(); page.getParagraphText() .then(t => { - expect(t).toEqual('app works!'); + expect(t).toEqual('Welcome to Angular Gantt - ng-gantt'); }); }); }); diff --git a/ng-gantt/package.json b/ng-gantt/package.json index 751b790..0749044 100644 --- a/ng-gantt/package.json +++ b/ng-gantt/package.json @@ -1,6 +1,6 @@ { "name": "ng-gantt", - "version": "1.8.6", + "version": "1.8.7", "license": "MIT", "homepage": "https://github.com/mariohmol/ng-gantt", "repository": { diff --git a/ng-gantt/src/gantt/gantt.component.ts b/ng-gantt/src/gantt/gantt.component.ts index ea20555..c08e5c3 100644 --- a/ng-gantt/src/gantt/gantt.component.ts +++ b/ng-gantt/src/gantt/gantt.component.ts @@ -1,7 +1,8 @@ import { Component, ElementRef, Input, OnInit, ViewChild } from '@angular/core'; -import { JSGantt } from 'jsgantt-improved'; +// import { JSGantt } from 'jsgantt-improved'; +import * as JSGantt from 'jsgantt-improved'; console.log(JSGantt); @Component({ // tslint:disable-next-line:component-selector @@ -38,7 +39,7 @@ export class GanttEditorComponent implements OnInit { optionsBefore = this.editor.options; } // document.getElementById('embedded-Gantt') - const g = this.editor = new JSGantt.GanttChart(this.ganttEditorContainer.nativeElement, 'week'); + const g = this.editor = new (JSGantt).GanttChart(this.ganttEditorContainer.nativeElement, 'week'); if (g.getDivId() != null) { @@ -56,9 +57,10 @@ export class GanttEditorComponent implements OnInit { // Even with setUseSingleCell using Hour format on such a large chart can cause issues in some browsers vFormatArr: ['Day', 'Week', 'Month', 'Quarter'], }); - if (this._data) { + if (this._data && this._data.forEach) { this._data.forEach(row => { - g.AddItemObject(row); + row.pGantt = g; + g.AddTaskItemObject(row); }) } g.Draw(); diff --git a/package.json b/package.json index 60ff72c..169f6c1 100644 --- a/package.json +++ b/package.json @@ -10,6 +10,7 @@ "build:app": "npm run copy && ng build --project packages && rimraf src/ng-gantt", "build:lib": "rimraf dist && ng-packagr -p ng-gantt/package.json", "publish-npm": "npm run build:lib && cd dist/ng-gantt && npm publish", + "reload": "npm run build:lib && npm run build && npm run start", "dev": "cd dist/app && http-server", "test": "ng test", "lint": "ng lint", diff --git a/src/app/app.component.html b/src/app/app.component.html index 0694391..cebb68b 100644 --- a/src/app/app.component.html +++ b/src/app/app.component.html @@ -1,6 +1,6 @@

- Welcome to Angular Json Editor + Welcome to Angular Gantt - ng-gantt

\ No newline at end of file diff --git a/src/app/demo/demo.component.html b/src/app/demo/demo.component.html index 3d6c736..f2d7dea 100644 --- a/src/app/demo/demo.component.html +++ b/src/app/demo/demo.component.html @@ -21,7 +21,7 @@

Force Language to {{editorOptions.language}}< -

Multiple jsgantt

+ \ No newline at end of file diff --git a/src/app/demo/demo.component.ts b/src/app/demo/demo.component.ts index d75dfc9..92a13d9 100644 --- a/src/app/demo/demo.component.ts +++ b/src/app/demo/demo.component.ts @@ -22,29 +22,25 @@ export class DemoComponent implements OnInit { ngOnInit() { - this.data = { - 'randomNumber': 10, - 'products': [ - { - 'name': 'car', - 'product': - [ - { - 'name': 'honda', - 'model': [ - { 'id': 'civic', 'name': 'civic' }, - { 'id': 'accord', 'name': 'accord' }, { 'id': 'crv', 'name': 'crv' }, - { 'id': 'pilot', 'name': 'pilot' }, { 'id': 'odyssey', 'name': 'odyssey' } - ] - } - ] - } - ] - }; - - this.data2 = { - 'nedata': 'test' - }; + this.data = this.initialData(); + + this.data2 = [{ + 'pID': 1, + 'pName': 'Define Chart API', + 'pStart': '', + 'pEnd': '', + 'pClass': 'ggroupblack', + 'pLink': '', + 'pMile': 0, + 'pRes': 'Brian', + 'pComp': 0, + 'pGroup': 1, + 'pParent': 0, + 'pOpen': 1, + 'pDepend': '', + 'pCaption': '', + 'pNotes': 'Some Notes text' + }]; // this.editorOptions.onChange = this.change.bind(this); } @@ -90,4 +86,347 @@ export class DemoComponent implements OnInit { // const changedGantt = this.editor.get(); // console.log(changedGantt); } + + initialData() { + return [{ + 'pID': 1, + 'pName': 'Define Chart API', + 'pStart': '', + 'pEnd': '', + 'pClass': 'ggroupblack', + 'pLink': '', + 'pMile': 0, + 'pRes': 'Brian', + 'pComp': 0, + 'pGroup': 1, + 'pParent': 0, + 'pOpen': 1, + 'pDepend': '', + 'pCaption': '', + 'pNotes': 'Some Notes text' + }, + { + 'pID': 11, + 'pName': 'Chart Object', + 'pStart': '2017-02-20', + 'pEnd': '2017-02-20', + 'pClass': 'gmilestone', + 'pLink': '', + 'pMile': 1, + 'pRes': 'Shlomy', + 'pComp': 100, + 'pGroup': 0, + 'pParent': 1, + 'pOpen': 1, + 'pDepend': '', + 'pCaption': '', + 'pNotes': '' + }, + { + 'pID': 12, + 'pName': 'Task Objects', + 'pStart': '', + 'pEnd': '', + 'pClass': 'ggroupblack', + 'pLink': '', + 'pMile': 0, + 'pRes': 'Shlomy', + 'pComp': 40, + 'pGroup': 1, + 'pParent': 1, + 'pOpen': 1, + 'pDepend': '', + 'pCaption': '', + 'pNotes': '' + }, + { + 'pID': 121, + 'pName': 'Constructor Proc #1234 of February 2017', + 'pStart': '2017-02-21', + 'pEnd': '2017-03-09', + 'pClass': 'gtaskblue', + 'pLink': '', + 'pMile': 0, + 'pRes': 'Brian T.', + 'pComp': 60, + 'pGroup': 0, + 'pParent': 12, + 'pOpen': 1, + 'pDepend': '', + 'pCaption': '', + 'pNotes': '' + }, + { + 'pID': 122, + 'pName': 'Task Variables', + 'pStart': '2017-03-06', + 'pEnd': '2017-03-11', + 'pClass': 'gtaskred', + 'pLink': '', + 'pMile': 0, + 'pRes': 'Brian', + 'pComp': 60, + 'pGroup': 0, + 'pParent': 12, + 'pOpen': 1, + 'pDepend': 121, + 'pCaption': '', + 'pNotes': '' + }, + { + 'pID': 123, + 'pName': 'Task by Minute/Hour', + 'pStart': '2017-03-09', + 'pEnd': '2017-03-14 12: 00', + 'pClass': 'gtaskyellow', + 'pLink': '', + 'pMile': 0, + 'pRes': 'Ilan', + 'pComp': 60, + 'pGroup': 0, + 'pParent': 12, + 'pOpen': 1, + 'pDepend': '', + 'pCaption': '', + 'pNotes': '' + }, + { + 'pID': 124, + 'pName': 'Task Functions', + 'pStart': '2017-03-09', + 'pEnd': '2017-03-29', + 'pClass': 'gtaskred', + 'pLink': '', + 'pMile': 0, + 'pRes': 'Anyone', + 'pComp': 60, + 'pGroup': 0, + 'pParent': 12, + 'pOpen': 1, + 'pDepend': '123SS', + 'pCaption': 'This is a caption', + 'pNotes': null + }, + { + 'pID': 2, + 'pName': 'Create HTML Shell', + 'pStart': '2017-03-24', + 'pEnd': '2017-03-24', + 'pClass': 'gtaskyellow', + 'pLink': '', + 'pMile': 0, + 'pRes': 'Brian', + 'pComp': 20, + 'pGroup': 0, + 'pParent': 0, + 'pOpen': 1, + 'pDepend': 122, + 'pCaption': '', + 'pNotes': '' + }, + { + 'pID': 3, + 'pName': 'Code Javascript', + 'pStart': '', + 'pEnd': '', + 'pClass': 'ggroupblack', + 'pLink': '', + 'pMile': 0, + 'pRes': 'Brian', + 'pComp': 0, + 'pGroup': 1, + 'pParent': 0, + 'pOpen': 1, + 'pDepend': '', + 'pCaption': '', + 'pNotes': '' + }, + { + 'pID': 31, + 'pName': 'Define Variables', + 'pStart': '2017-02-25', + 'pEnd': '2017-03-17', + 'pClass': 'gtaskpurple', + 'pLink': '', + 'pMile': 0, + 'pRes': 'Brian', + 'pComp': 30, + 'pGroup': 0, + 'pParent': 3, + 'pOpen': 1, + 'pDepend': '', + 'pCaption': '', + 'pNotes': '' + }, + { + 'pID': 32, + 'pName': 'Calculate Chart Size', + 'pStart': '2017-03-15', + 'pEnd': '2017-03-24', + 'pClass': 'gtaskgreen', + 'pLink': '', + 'pMile': 0, + 'pRes': 'Shlomy', + 'pComp': 40, + 'pGroup': 0, + 'pParent': 3, + 'pOpen': 1, + 'pDepend': '', + 'pCaption': '', + 'pNotes': '' + }, + { + 'pID': 33, + 'pName': 'Draw Task Items', + 'pStart': '', + 'pEnd': '', + 'pClass': 'ggroupblack', + 'pLink': '', + 'pMile': 0, + 'pRes': 'Someone', + 'pComp': 40, + 'pGroup': 2, + 'pParent': 3, + 'pOpen': 1, + 'pDepend': '', + 'pCaption': '', + 'pNotes': '' + }, + { + 'pID': 332, + 'pName': 'Task Label Table', + 'pStart': '2017-03-06', + 'pEnd': '2017-03-09', + 'pClass': 'gtaskblue', + 'pLink': '', + 'pMile': 0, + 'pRes': 'Brian', + 'pComp': 60, + 'pGroup': 0, + 'pParent': 33, + 'pOpen': 1, + 'pDepend': '', + 'pCaption': '', + 'pNotes': '' + }, + { + 'pID': 333, + 'pName': 'Task Scrolling Grid', + 'pStart': '2017-03-11', + 'pEnd': '2017-03-20', + 'pClass': 'gtaskblue', + 'pLink': '', + 'pMile': 0, + 'pRes': 'Brian', + 'pComp': 0, + 'pGroup': 0, + 'pParent': 33, + 'pOpen': 1, + 'pDepend': '332', + 'pCaption': '', + 'pNotes': '' + }, + { + 'pID': 34, + 'pName': 'Draw Task Bars', + 'pStart': '', + 'pEnd': '', + 'pClass': 'ggroupblack', + 'pLink': '', + 'pMile': 0, + 'pRes': 'Anybody', + 'pComp': 60, + 'pGroup': 1, + 'pParent': 3, + 'pOpen': 0, + 'pDepend': '', + 'pCaption': '', + 'pNotes': '' + }, + { + 'pID': 341, + 'pName': 'Loop each Task', + 'pStart': '2017-03-26', + 'pEnd': '2017-04-11', + 'pClass': 'gtaskred', + 'pLink': '', + 'pMile': 0, + 'pRes': 'Brian', + 'pComp': 60, + 'pGroup': 0, + 'pParent': 34, + 'pOpen': 1, + 'pDepend': '', + 'pCaption': '', + 'pNotes': '' + }, + { + 'pID': 342, + 'pName': 'Calculate Start/Stop', + 'pStart': '2017-04-12', + 'pEnd': '2017-05-18', + 'pClass': 'gtaskpink', + 'pLink': '', + 'pMile': 0, + 'pRes': 'Brian', + 'pComp': 60, + 'pGroup': 0, + 'pParent': 34, + 'pOpen': 1, + 'pDepend': '', + 'pCaption': '', + 'pNotes': '' + }, + { + 'pID': 343, + 'pName': 'Draw Task Div', + 'pStart': '2017-05-13', + 'pEnd': '2017-05-17', + 'pClass': 'gtaskred', + 'pLink': '', + 'pMile': 0, + 'pRes': 'Brian', + 'pComp': 60, + 'pGroup': 0, + 'pParent': 34, + 'pOpen': 1, + 'pDepend': '', + 'pCaption': '', + 'pNotes': '' + }, + { + 'pID': 344, + 'pName': 'Draw Completion Div', + 'pStart': '2017-05-17', + 'pEnd': '2017-06-04', + 'pClass': 'gtaskred', + 'pLink': '', + 'pMile': 0, + 'pRes': 'Brian', + 'pComp': 60, + 'pGroup': 0, + 'pParent': 34, + 'pOpen': 1, + 'pDepend': '342,343', + 'pCaption': '', + 'pNotes': '' + }, + { + 'pID': 35, + 'pName': 'Make Updates', + 'pStart': '2017-07-17', + 'pEnd': '2017-09-04', + 'pClass': 'gtaskpurple', + 'pLink': '', + 'pMile': 0, + 'pRes': 'Brian', + 'pComp': 30, + 'pGroup': 0, + 'pParent': 3, + 'pOpen': 1, + 'pDepend': '333', + 'pCaption': '', + 'pNotes': '' + }]; + } } diff --git a/src/styles.css b/src/styles.css index 8b13789..8c03ce0 100644 --- a/src/styles.css +++ b/src/styles.css @@ -1 +1,3 @@ +/* You can add global styles to this file, and also import other style files */ +@import "~jsgantt-improved/dist/jsgantt.css";