diff --git a/package.json b/package.json index 5da75c92..f29bb16d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ej2-angular-samples", - "version": "20.3.47", + "version": "20.3.56", "private": true, "dependencies": { "@angular/animations": "~10.0.0", diff --git a/src/app/gantt/event-markers-stackb.json b/src/app/gantt/event-markers-stackb.json index ff4431ad..b0fa5f2e 100644 --- a/src/app/gantt/event-markers-stackb.json +++ b/src/app/gantt/event-markers-stackb.json @@ -1 +1 @@ -{"dependencies.json":"{\"@syncfusion/ej2-base\": \"*\", \"@syncfusion/ej2-buttons\": \"*\", \"@syncfusion/ej2-splitbuttons\": \"*\", \"@syncfusion/ej2-calendars\": \"*\", \"@syncfusion/ej2-charts\": \"*\", \"@syncfusion/ej2-diagrams\": \"*\", \"@syncfusion/ej2-maps\": \"*\", \"@syncfusion/ej2-treemap\": \"*\", \"@syncfusion/ej2-circulargauge\": \"*\", \"@syncfusion/ej2-data\": \"*\", \"@syncfusion/ej2-dropdowns\": \"*\", \"@syncfusion/ej2-grids\": \"*\", \"@syncfusion/ej2-inputs\": \"*\", \"@syncfusion/ej2-lists\": \"*\", \"@syncfusion/ej2-navigations\": \"*\", \"@syncfusion/ej2-popups\": \"*\", \"@syncfusion/ej2-lineargauge\": \"*\", \"@syncfusion/ej2-pdf-export\": \"*\", \"@syncfusion/ej2-compression\": \"*\", \"@syncfusion/ej2-excel-export\": \"*\", \"@syncfusion/ej2-file-utils\": \"*\", \"@syncfusion/ej2-svg-base\": \"*\", \"@syncfusion/ej2-documenteditor\": \"*\", \"@syncfusion/ej2-richtexteditor\": \"*\", \"@syncfusion/ej2-notifications\": \"*\", \"@syncfusion/ej2-heatmap\": \"*\", \"@syncfusion/ej2-pivotview\": \"*\", \"@syncfusion/ej2-schedule\": \"*\", \"@syncfusion/ej2-layouts\": \"*\", \"@syncfusion/ej2-angular-base\": \"*\", \"@syncfusion/ej2-angular-buttons\": \"*\", \"@syncfusion/ej2-angular-splitbuttons\": \"*\", \"@syncfusion/ej2-angular-calendars\": \"*\", \"@syncfusion/ej2-angular-charts\": \"*\", \"@syncfusion/ej2-angular-diagrams\": \"*\", \"@syncfusion/ej2-angular-maps\": \"*\", \"@syncfusion/ej2-angular-treemap\": \"*\", \"@syncfusion/ej2-angular-circulargauge\": \"*\", \"@syncfusion/ej2-angular-dropdowns\": \"*\", \"@syncfusion/ej2-angular-grids\": \"*\", \"@syncfusion/ej2-angular-inputs\": \"*\", \"@syncfusion/ej2-angular-lists\": \"*\", \"@syncfusion/ej2-angular-navigations\": \"*\", \"@syncfusion/ej2-angular-popups\": \"*\", \"@syncfusion/ej2-angular-lineargauge\": \"*\", \"@syncfusion/ej2-angular-documenteditor\": \"*\", \"@syncfusion/ej2-angular-richtexteditor\": \"*\", \"@syncfusion/ej2-angular-notifications\": \"*\", \"@syncfusion/ej2-angular-heatmap\": \"*\", \"@syncfusion/ej2-angular-pivotview\": \"*\", \"@syncfusion/ej2-angular-schedule\": \"*\", \"@syncfusion/ej2-angular-layouts\": \"*\" , \"@angular/http\": \"*\", \"rxjs-compat\":\"*\", \"core-js\": \"2.6.9\"}","main.ts":"import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.error(err));\n","polyfills.ts":"/**\n * This file includes polyfills needed by Angular and is loaded before the app.\n * You can add your own extra polyfills to this file.\n *\n * This file is divided into 2 sections:\n * 1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers.\n * 2. Application imports. Files imported after ZoneJS that should be loaded before your main\n * file.\n *\n * The current setup is for so-called \"evergreen\" browsers; the last versions of browsers that\n * automatically update themselves. This includes Safari >= 10, Chrome >= 55 (including Opera),\n * Edge >= 13 on the desktop, and iOS 10 and Chrome on mobile.\n *\n * Learn more in https://angular.io/guide/browser-support\n */\n\n/***************************************************************************************************\n * BROWSER POLYFILLS\n */\n\n/** IE10 and IE11 requires the following for NgClass support on SVG elements */\n// import 'classlist.js'; // Run `npm install --save classlist.js`.\n\n/**\n * Web Animations `@angular/platform-browser/animations`\n * Only required if AnimationBuilder is used within the application and using IE/Edge or Safari.\n * Standard animation support in Angular DOES NOT require any polyfills (as of Angular 6.0).\n */\n// import 'web-animations-js'; // Run `npm install --save web-animations-js`.\n\n/**\n * By default, zone.js will patch all possible macroTask and DomEvents\n * user can disable parts of macroTask/DomEvents patch by setting following flags\n * because those flags need to be set before `zone.js` being loaded, and webpack\n * will put import in the top of bundle, so user need to create a separate file\n * in this directory (for example: zone-flags.ts), and put the following flags\n * into that file, and then add the following code before importing zone.js.\n * import './zone-flags';\n *\n * The flags allowed in zone-flags.ts are listed here.\n *\n * The following flags will work for all browsers.\n *\n * (window as any).__Zone_disable_requestAnimationFrame = true; // disable patch requestAnimationFrame\n * (window as any).__Zone_disable_on_property = true; // disable patch onProperty such as onclick\n * (window as any).__zone_symbol__UNPATCHED_EVENTS = ['scroll', 'mousemove']; // disable patch specified eventNames\n *\n * in IE/Edge developer tools, the addEventListener will also be wrapped by zone.js\n * with the following flag, it will bypass `zone.js` patch for IE/Edge\n *\n * (window as any).__Zone_enable_cross_context_check = true;\n *\n */\n\n/***************************************************************************************************\n * Zone JS is required by default for Angular itself.\n */\nimport 'zone.js/dist/zone'; // Included with Angular CLI.\n\n\n/***************************************************************************************************\n * APPLICATION IMPORTS\n */\n","angular.json":"{\n \"$schema\": \"./node_modules/@angular/cli/lib/config/schema.json\",\n \"version\": 1,\n \"newProjectRoot\": \"projects\",\n \"projects\": {\n \"demo\": {\n \"root\": \"\",\n \"sourceRoot\": \"\",\n \"projectType\": \"application\",\n \"prefix\": \"app\",\n \"schematics\": {},\n \"architect\": {\n \"build\": {\n \"builder\": \"@angular-devkit/build-angular:browser\",\n \"options\": {\n \"outputPath\": \"dist/demo\",\n \"index\": \"index.html\",\n \"main\": \"main.ts\",\n \"polyfills\": \"polyfills.ts\",\n \"tsConfig\": \"tsconfig.app.json\",\n \"assets\": [\n \"favicon.ico\",\n \"assets\"\n ],\n \"styles\": [\n \n ],\n \"scripts\": []\n },\n \"configurations\": {\n \"production\": {\n \"fileReplacements\": [\n {\n \"replace\": \"src/environments/environment.ts\",\n \"with\": \"src/environments/environment.prod.ts\"\n }\n ],\n \"optimization\": true,\n \"outputHashing\": \"all\",\n \"sourceMap\": false,\n \"extractCss\": true,\n \"namedChunks\": false,\n \"aot\": true,\n \"extractLicenses\": true,\n \"vendorChunk\": false,\n \"buildOptimizer\": true\n }\n }\n },\n \"serve\": {\n \"builder\": \"@angular-devkit/build-angular:dev-server\",\n \"options\": {\n \"browserTarget\": \"demo:build\"\n },\n \"configurations\": {\n \"production\": {\n \"browserTarget\": \"demo:build:production\"\n }\n }\n },\n \"extract-i18n\": {\n \"builder\": \"@angular-devkit/build-angular:extract-i18n\",\n \"options\": {\n \"browserTarget\": \"demo:build\"\n }\n },\n \"test\": {\n \"builder\": \"@angular-devkit/build-angular:karma\",\n \"options\": {\n \"main\": \"src/test.ts\",\n \"polyfills\": \"src/polyfills.ts\",\n \"tsConfig\": \"src/tsconfig.spec.json\",\n \"karmaConfig\": \"src/karma.conf.js\",\n \"styles\": [\n \"styles.css\"\n ],\n \"scripts\": [],\n \"assets\": [\n \"src/favicon.ico\",\n \"src/assets\"\n ]\n }\n },\n \"lint\": {\n \"builder\": \"@angular-devkit/build-angular:tslint\",\n \"options\": {\n \"tsConfig\": [\n \"src/tsconfig.app.json\",\n \"src/tsconfig.spec.json\"\n ],\n \"exclude\": [\n \"**/node_modules/**\"\n ]\n }\n }\n }\n }\n },\n \"defaultProject\": \"demo\"\n }\n \n","environments/environment.ts":"// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\n// The list of file replacements can be found in `angular.json`.\n\nexport const environment = {\n production: false\n};\n\n/*\n * For easier debugging in development mode, you can import the following file\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\n *\n * This import should be commented out in production mode because it will have a negative impact\n * on performance if an error is thrown.\n */\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\n","environments/environment.prod.ts":"export const environment = {\n production: true\n};\n","index.html":"\n\n\n \n Window\n \n \n \n \n\n \n\n \n \n\n \n\n\n","data.ts":"/**\n * Gantt DataSource\n */\n\nexport let projectNewData: Object[] = [\n {\n TaskID: 1,\n TaskName: 'Product concept',\n StartDate: new Date('04/02/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n { TaskID: 2, TaskName: 'Defining the product and its usage', StartDate: new Date('04/02/2019'), Duration: 3, Progress: 30 },\n { TaskID: 3, TaskName: 'Defining target audience', StartDate: new Date('04/02/2019'), Duration: 3 },\n {\n TaskID: 4, TaskName: 'Prepare product sketch and notes', StartDate: new Date('04/02/2019'), Duration: 2,\n Predecessor: '2', Progress: 30\n },\n ]\n },\n {\n TaskID: 5, TaskName: 'Concept approval', StartDate: new Date('04/02/2019'), Duration: 0, Predecessor: '3,4',\n Indicators: [\n {\n 'date': new Date('04/10/2019'),\n 'name': 'Design Phase',\n 'tooltip': 'Design phase completed',\n 'iconClass': 'okIcon e-icons'\n }\n ]\n },\n {\n TaskID: 6,\n TaskName: 'Market research',\n StartDate: new Date('04/02/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 7,\n TaskName: 'Demand analysis',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 8, TaskName: 'Customer strength', StartDate: new Date('04/04/2019'), Duration: 4,\n Predecessor: '5', Progress: 30\n },\n { TaskID: 9, TaskName: 'Market opportunity analysis', StartDate: new Date('04/04/2019'), Duration: 4, Predecessor: '5' }\n ]\n },\n {\n TaskID: 10, TaskName: 'Competitor analysis', StartDate: new Date('04/04/2019'), Duration: 4,\n Predecessor: '7, 8', Progress: 30\n },\n { TaskID: 11, TaskName: 'Product strength analsysis', StartDate: new Date('04/04/2019'), Duration: 4, Predecessor: '9' },\n {\n TaskID: 12, TaskName: 'Research complete', StartDate: new Date('04/04/2019'), Duration: 0, Predecessor: '10',\n Indicators: [\n {\n 'date': new Date('04/20/2019'),\n 'name': 'Research completed',\n 'tooltip': 'Research completed',\n 'iconClass': 'description e-icons'\n }\n ]\n }\n ]\n },\n {\n TaskID: 13,\n TaskName: 'Product design and development',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 14, TaskName: 'Functionality design', StartDate: new Date('04/04/2019'),\n Duration: 3, Progress: 30, Predecessor: '12'\n },\n { TaskID: 15, TaskName: 'Quality design', StartDate: new Date('04/04/2019'), Duration: 3, Predecessor: '12' },\n { TaskID: 16, TaskName: 'Define reliability', StartDate: new Date('04/04/2019'), Duration: 2, Progress: 30, Predecessor: '15' },\n { TaskID: 17, TaskName: 'Identifying raw materials', StartDate: new Date('04/04/2019'), Duration: 2, Predecessor: '15' },\n {\n TaskID: 18,\n TaskName: 'Define cost plan',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 19, TaskName: 'Manufacturing cost', StartDate: new Date('04/04/2019'),\n Duration: 2, Progress: 30, Predecessor: '17'\n },\n { TaskID: 20, TaskName: 'Selling cost', StartDate: new Date('04/04/2019'), Duration: 2, Predecessor: '17' }\n ]\n },\n {\n TaskID: 21,\n TaskName: 'Development of the final design',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 22, TaskName: 'Defining dimensions and package volume', StartDate: new Date('04/04/2019'),\n Duration: 2, Progress: 30, Predecessor: '19,20'\n },\n {\n TaskID: 23, TaskName: 'Develop design to meet industry standards', StartDate: new Date('04/04/2019'),\n Duration: 2, Predecessor: '22'\n },\n { TaskID: 24, TaskName: 'Include all the details', StartDate: new Date('04/04/2019'), Duration: 3, Predecessor: '23' }\n ]\n },\n {\n TaskID: 25, TaskName: 'CAD computer-aided design', StartDate: new Date('04/04/2019'),\n Duration: 3, Progress: 30, Predecessor: '24'\n },\n { TaskID: 26, TaskName: 'CAM computer-aided manufacturing', StartDate: new Date('04/04/2019'), Duration: 3, Predecessor: '25' },\n {\n TaskID: 27, TaskName: 'Design complete', StartDate: new Date('04/04/2019'), Duration: 0, Predecessor: '26' \n }\n\n ]\n },\n { TaskID: 28, TaskName: 'Prototype testing', StartDate: new Date('04/04/2019'), Duration: 4, Progress: 30, Predecessor: '27' },\n { TaskID: 29, TaskName: 'Include feedback', StartDate: new Date('04/04/2019'), Duration: 4, Predecessor: '28ss', Indicators: [\n {\n 'date': new Date('05/24/2019'),\n 'name': 'Production phase',\n 'tooltip': 'Production phase completed',\n 'iconClass': 'okIcon e-icons'\n }\n ], },\n { TaskID: 30, TaskName: 'Manufacturing', StartDate: new Date('04/04/2019'), Duration: 5, Progress: 30, Predecessor: '28,29' },\n { TaskID: 31, TaskName: 'Assembling materials to finsihed goods', StartDate: new Date('04/04/2019'), Duration: 5, Predecessor: '30' },\n {\n TaskID: 32,\n TaskName: 'Feedback and testing',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 33, TaskName: 'Internal testing and feedback', StartDate: new Date('04/04/2019'),\n Duration: 3, Progress: 45, Predecessor: '31'\n },\n {\n TaskID: 34, TaskName: 'Customer testing and feedback', StartDate: new Date('04/04/2019'),\n Duration: 3, Progress: 50, Predecessor: '33'\n }\n ]\n },\n {\n TaskID: 35,\n TaskName: 'Final product development',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 36, TaskName: 'Important improvements', StartDate: new Date('04/04/2019'),\n Duration: 4, Progress: 30, Predecessor: '34'\n },\n {\n TaskID: 37, TaskName: 'Address any unforeseen issues', StartDate: new Date('04/04/2019'),\n Duration: 4, Progress: 30, Predecessor: '36ss',\n Indicators: [\n {\n 'date': new Date('06/21/2019'),\n 'name': 'Sales and marketing',\n 'tooltip': 'Sales and marketing',\n 'iconClass': 'description e-icons'\n }\n ],\n }\n ]\n },\n {\n TaskID: 38,\n TaskName: 'Final product',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n { TaskID: 39, TaskName: 'Branding product', StartDate: new Date('04/04/2019'), Duration: 4, Predecessor: '37' },\n {\n TaskID: 40, TaskName: 'Marketing and presales', StartDate: new Date('04/04/2019'),\n Duration: 4, Progress: 30, Predecessor: '39'\n }\n ]\n }\n];\n\nexport let WorkingTimeRangeData: Object[] = [\n {\n TaskID: 1,\n TaskName: 'Product concept',\n StartDate: new Date('04/02/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n { TaskID: 2, TaskName: 'Defining the product and its usage', StartDate: new Date('04/02/2019'), Duration: 3, Progress: 30 },\n { TaskID: 3, TaskName: 'Defining target audience', StartDate: new Date('04/02/2019'), Duration: 3 },\n {\n TaskID: 4, TaskName: 'Prepare product sketch and notes', StartDate: new Date('04/02/2019'), Duration: 2,\n Predecessor: '2', Progress: 30\n },\n ]\n },\n {\n TaskID: 5, TaskName: 'Concept approval', StartDate: new Date('04/02/2019'), Duration: 0, Predecessor: '3,4',\n Indicators: [\n {\n 'date': new Date('04/10/2019'),\n 'name': '#briefing',\n 'title': 'Product concept breifing',\n }\n ]\n },\n {\n TaskID: 6,\n TaskName: 'Market research',\n StartDate: new Date('04/02/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 7,\n TaskName: 'Demand analysis',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 8, TaskName: 'Customer strength', StartDate: new Date('04/04/2019'), Duration: 4,\n Predecessor: '5', Progress: 30\n },\n { TaskID: 9, TaskName: 'Market opportunity analysis', StartDate: new Date('04/04/2019'), Duration: 4, Predecessor: '5' }\n ]\n },\n {\n TaskID: 10, TaskName: 'Competitor analysis', StartDate: new Date('04/04/2019'), Duration: 4,\n Predecessor: '7, 8', Progress: 30\n },\n { TaskID: 11, TaskName: 'Product strength analsysis', StartDate: new Date('04/04/2019'), Duration: 4, Predecessor: '9' },\n {\n TaskID: 12, TaskName: 'Research complete', StartDate: new Date('04/04/2019'), Duration: 0, Predecessor: '10',\n Indicators: [\n {\n 'date': new Date('04/20/2019'),\n 'name': '#meeting',\n 'title': '1st board of directors meeting',\n }\n ]\n }\n ]\n },\n {\n TaskID: 13,\n TaskName: 'Product design and development',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 14, TaskName: 'Functionality design', StartDate: new Date('04/04/2019'),\n Duration: 3, Progress: 30, Predecessor: '12'\n },\n { TaskID: 15, TaskName: 'Quality design', StartDate: new Date('04/04/2019'), Duration: 3, Predecessor: '12' },\n { TaskID: 16, TaskName: 'Define reliability', StartDate: new Date('04/04/2019'), Duration: 2, Progress: 30, Predecessor: '15' },\n { TaskID: 17, TaskName: 'Identifying raw materials', StartDate: new Date('04/04/2019'), Duration: 2, Predecessor: '15' },\n {\n TaskID: 18,\n TaskName: 'Define cost plan',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 19, TaskName: 'Manufacturing cost', StartDate: new Date('04/04/2019'),\n Duration: 2, Progress: 30, Predecessor: '17'\n },\n { TaskID: 20, TaskName: 'Selling cost', StartDate: new Date('04/04/2019'), Duration: 2, Predecessor: '17' }\n ]\n },\n {\n TaskID: 21,\n TaskName: 'Development of the final design',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 22, TaskName: 'Defining dimensions and package volume', StartDate: new Date('04/04/2019'),\n Duration: 2, Progress: 30, Predecessor: '19,20'\n },\n {\n TaskID: 23, TaskName: 'Develop design to meet industry standards', StartDate: new Date('04/04/2019'),\n Duration: 2, Predecessor: '22'\n },\n { TaskID: 24, TaskName: 'Include all the details', StartDate: new Date('04/04/2019'), Duration: 3, Predecessor: '23' }\n ]\n },\n {\n TaskID: 25, TaskName: 'CAD computer-aided design', StartDate: new Date('04/04/2019'),\n Duration: 3, Progress: 30, Predecessor: '24'\n },\n { TaskID: 26, TaskName: 'CAM computer-aided manufacturing', StartDate: new Date('04/04/2019'), Duration: 3, Predecessor: '25' },\n {\n TaskID: 27, TaskName: 'Design complete', StartDate: new Date('04/04/2019'), Duration: 0, Predecessor: '26' \n }\n\n ]\n },\n { TaskID: 28, TaskName: 'Prototype testing', StartDate: new Date('04/04/2019'), Duration: 4, Progress: 30, Predecessor: '27' },\n { TaskID: 29, TaskName: 'Include feedback', StartDate: new Date('04/04/2019'), Duration: 4, Predecessor: '28ss', Indicators: [\n {\n 'date': new Date('05/24/2019'),\n 'name': 'Production phase',\n 'tooltip': 'Production phase completed',\n 'iconClass': 'okIcon e-icons'\n }\n ], },\n { TaskID: 30, TaskName: 'Manufacturing', StartDate: new Date('04/04/2019'), Duration: 5, Progress: 30, Predecessor: '28,29' },\n { TaskID: 31, TaskName: 'Assembling materials to finsihed goods', StartDate: new Date('04/04/2019'), Duration: 5, Predecessor: '30' },\n {\n TaskID: 32,\n TaskName: 'Feedback and testing',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 33, TaskName: 'Internal testing and feedback', StartDate: new Date('04/04/2019'),\n Duration: 3, Progress: 45, Predecessor: '31'\n },\n {\n TaskID: 34, TaskName: 'Customer testing and feedback', StartDate: new Date('04/04/2019'),\n Duration: 3, Progress: 50, Predecessor: '33'\n }\n ]\n },\n {\n TaskID: 35,\n TaskName: 'Final product development',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 36, TaskName: 'Important improvements', StartDate: new Date('04/04/2019'),\n Duration: 4, Progress: 30, Predecessor: '34'\n },\n {\n TaskID: 37, TaskName: 'Address any unforeseen issues', StartDate: new Date('04/04/2019'),\n Duration: 4, Progress: 30, Predecessor: '36ss'\n }\n ]\n },\n {\n TaskID: 38,\n TaskName: 'Final product',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n { TaskID: 39, TaskName: 'Branding product', StartDate: new Date('04/04/2019'), Duration: 4, Predecessor: '37' },\n {\n TaskID: 40, TaskName: 'Marketing and presales', StartDate: new Date('04/04/2019'),\n Duration: 4, Progress: 30, Predecessor: '39'\n }\n ]\n }\n];\n\nexport let templateData: Object[] = [\n {\n TaskID: 1,\n TaskName: 'Product concept',\n StartDate: new Date('04/02/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n { TaskID: 2, TaskName: 'Defining the product and its usage', StartDate: new Date('04/02/2019'), Duration: 3, Progress: 30, resources: [2] },\n { TaskID: 3, TaskName: 'Defining target audience', StartDate: new Date('04/02/2019'), Duration: 3, resources: [3]},\n { TaskID: 4, TaskName: 'Prepare product sketch and notes', StartDate: new Date('04/02/2019'), Duration: 2, Predecessor: '2', Progress: 30, resources: [4] }]\n },\n {\n TaskID: 5, TaskName: 'Concept approval', StartDate: new Date('04/02/2019'), Duration: 0, Predecessor: '3,4', resources: [1]\n },\n {\n TaskID: 6,\n TaskName: 'Market research',\n StartDate: new Date('04/02/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 7,\n TaskName: 'Demand analysis',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n { TaskID: 8, TaskName: 'Customer strength', StartDate: new Date('04/04/2019'), Duration: 4, Predecessor: '5', Progress: 30, resources: [5] },\n { TaskID: 9, TaskName: 'Market opportunity analysis', StartDate: new Date('04/04/2019'), Duration: 4, Predecessor: '5', resources: [6] }\n ]\n },\n { TaskID: 10, TaskName: 'Competitor analysis', StartDate: new Date('04/04/2019'), Duration: 4, Predecessor: '7, 8', Progress: 30, resources: [4] },\n { TaskID: 11, TaskName: 'Product strength analsysis', StartDate: new Date('04/04/2019'), Duration: 4, Predecessor: '9', resources: [8] },\n ]\n }\n \n]\n\nexport let zoomingData: Object[] = [\n {\n TaskID: 1,\n TaskName: 'Product concept',\n StartDate: new Date('04/02/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n { TaskID: 2, TaskName: 'Defining the product and its usage', StartDate: new Date('04/02/2019'), Duration: 3, Progress: 30 },\n { TaskID: 3, TaskName: 'Defining target audience', StartDate: new Date('04/02/2019'), Duration: 3 },\n {\n TaskID: 4, TaskName: 'Prepare product sketch and notes', StartDate: new Date('04/02/2019'), Duration: 2,\n Predecessor: '2', Progress: 30\n },\n ]\n },\n {\n TaskID: 5, TaskName: 'Concept approval', StartDate: new Date('04/02/2019'), Duration: 0, Predecessor: '3,4',\n Indicators: [\n {\n 'date': new Date('04/10/2019'),\n 'name': '#briefing',\n 'title': 'Product concept breifing',\n }\n ]\n },\n {\n TaskID: 6,\n TaskName: 'Market research',\n StartDate: new Date('04/02/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 7,\n TaskName: 'Demand analysis',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 8, TaskName: 'Customer strength', StartDate: new Date('04/04/2019'), Duration: 4,\n Predecessor: '5', Progress: 30\n },\n { TaskID: 9, TaskName: 'Market opportunity analysis', StartDate: new Date('04/04/2019'), Duration: 4, Predecessor: '5' }\n ]\n },\n {\n TaskID: 10, TaskName: 'Competitor analysis', StartDate: new Date('04/04/2019'), Duration: 4,\n Predecessor: '7, 8', Progress: 30\n },\n { TaskID: 11, TaskName: 'Product strength analsysis', StartDate: new Date('04/04/2019'), Duration: 4, Predecessor: '9' },\n {\n TaskID: 12, TaskName: 'Research complete', StartDate: new Date('04/04/2019'), Duration: 1, Predecessor: '10',\n Indicators: [\n {\n 'date': new Date('04/20/2019'),\n 'name': '#meeting',\n 'title': '1st board of directors meeting',\n }\n ]\n }\n ]\n }\n]\n\nexport let editingResources: Object[] = [\n { resourceId: 1, resourceName: 'Martin Tamer' },\n { resourceId: 2, resourceName: 'Rose Fuller' },\n { resourceId: 3, resourceName: 'Margaret Buchanan' },\n { resourceId: 4, resourceName: 'Fuller King' },\n { resourceId: 5, resourceName: 'Davolio Fuller' },\n { resourceId: 6, resourceName: 'Van Jack' },\n { resourceId: 7, resourceName: 'Fuller Buchanan' },\n { resourceId: 8, resourceName: 'Jack Davolio' },\n { resourceId: 9, resourceName: 'Tamer Vinet' },\n { resourceId: 10, resourceName: 'Vinet Fuller' },\n { resourceId: 11, resourceName: 'Bergs Anton' },\n { resourceId: 12, resourceName: 'Construction Supervisor' }\n];\n\nexport let editingData: Object[] = [\n {\n TaskID: 1,\n TaskName: 'Project initiation',\n StartDate: new Date('04/02/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 2, TaskName: 'Identify site location', StartDate: new Date('04/02/2019'), Duration: 0,\n Progress: 30, resources: [1], info: 'Measure the total property area alloted for construction'\n },\n {\n TaskID: 3, TaskName: 'Perform Soil test', StartDate: new Date('04/02/2019'), Duration: 4, Predecessor: '2',\n resources: [2, 3, 5], info: 'Obtain an engineered soil test of lot where construction is planned.' +\n 'From an engineer or company specializing in soil testing'\n },\n { TaskID: 4, TaskName: 'Soil test approval', StartDate: new Date('04/02/2019'), Duration: 0, Predecessor: '3', Progress: 30 },\n ]\n },\n {\n TaskID: 5,\n TaskName: 'Project estimation',\n StartDate: new Date('04/02/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 6, TaskName: 'Develop floor plan for estimation', StartDate: new Date('04/04/2019'),\n Duration: 3, Predecessor: '4', Progress: 30, resources: 4,\n info: 'Develop floor plans and obtain a materials list for estimations'\n },\n {\n TaskID: 7, TaskName: 'List materials', StartDate: new Date('04/04/2019'),\n Duration: 3, Predecessor: '6', resources: [4, 8], info: ''\n },\n {\n TaskID: 8, TaskName: 'Estimation approval', StartDate: new Date('04/04/2019'),\n Duration: 0, Predecessor: '7', resources: [12, 5], info: ''\n }\n ]\n },\n {\n TaskID: 9, TaskName: 'Sign contract', StartDate: new Date('04/04/2019'), Duration: 1,\n Predecessor: '8', Progress: 30, resources: [12],\n info: 'If required obtain approval from HOA (homeowners association) or ARC (architectural review committee)'\n },\n {\n TaskID: 10,\n TaskName: 'Project approval and kick off',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n Duration: 0,\n Predecessor: '9'\n },\n {\n TaskID: 11,\n TaskName: 'Site work',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 12, TaskName: 'Clear the building site', StartDate: new Date('04/04/2019'),\n Duration: 2, Progress: 30, Predecessor: '9', resources: [6, 7],\n info: 'Clear the building site (demolition of existing home if necessary)'\n },\n {\n TaskID: 13, TaskName: 'Install temporary power service', StartDate: new Date('04/04/2019'),\n Duration: 2, Predecessor: '12', resources: [6, 7], info: ''\n },\n ]\n },\n {\n TaskID: 14,\n TaskName: 'Foundation',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 15, TaskName: 'Excavate for foundations', StartDate: new Date('04/04/2019'),\n Duration: 3, Progress: 30, Predecessor: '13', resources: [2, 8],\n info: 'Excavate the foundation and dig footers (Scope of work is dependent of foundation designed by engineer)'\n },\n {\n TaskID: 16, TaskName: 'Dig footer', StartDate: new Date('04/04/2019'),\n Duration: 2, Predecessor: '15FF', resources: [8], info: ''\n },\n {\n TaskID: 17, TaskName: 'Install plumbing grounds', StartDate: new Date('04/04/2019'), Duration: 4,\n Progress: 30, Predecessor: '15', resources: [9], info: ''\n },\n {\n TaskID: 18, TaskName: 'Pour a foundation and footer with concrete', StartDate: new Date('04/04/2019'),\n Duration: 1, Predecessor: '17', resources: [8, 9, 10], info: ''\n },\n {\n TaskID: 19, TaskName: 'Cure basement walls', StartDate: new Date('04/04/2019'), Duration: 4,\n Progress: 30, Predecessor: '18', resources: [10], info: ''\n },\n ]\n },\n {\n TaskID: 20,\n TaskName: 'Framing',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 21, TaskName: 'Add load-bearing structure', StartDate: new Date('04/04/2019'),\n Duration: 3, Progress: 30, Predecessor: '19', resources: [4, 5],\n info: 'Build the main load-bearing structure out of thick pieces of wood and' +\n 'possibly metal I-beams for large spans with few supports'\n },\n {\n TaskID: 22, TaskName: 'Install floor joists', StartDate: new Date('04/04/2019'),\n Duration: 3, Predecessor: '21', resources: [2, 3], info: 'Add floor and ceiling joists and install subfloor panels'\n },\n {\n TaskID: 23, TaskName: 'Add ceiling joists', StartDate: new Date('04/04/2019'),\n Duration: 3, Progress: 30, Predecessor: '22SS', resources: [5], info: ''\n },\n {\n TaskID: 24, TaskName: 'Install subfloor panels', StartDate: new Date('04/04/2019'),\n Duration: 3, Predecessor: '23', resources: [8, 9]\n },\n {\n TaskID: 25, TaskName: 'Frame floor walls', StartDate: new Date('04/04/2019'), Duration: 3,\n Progress: 30, Predecessor: '24', resources: [10], info: ''\n },\n {\n TaskID: 26, TaskName: 'Frame floor decking', StartDate: new Date('04/04/2019'), Duration: 3,\n Progress: 30, Predecessor: '25SS', resources: [4, 8], info: ''\n },\n ]\n },\n {\n TaskID: 27,\n TaskName: 'Exterior finishing',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 28, TaskName: 'Cover outer walls and roof in OSB', StartDate: new Date('04/04/2019'),\n Duration: 3, Progress: 30, Predecessor: '26', resources: [2, 8],\n info: 'Cover outer walls and roof in OSB or plywood and a water-resistive barrier'\n },\n {\n TaskID: 29, TaskName: 'Add water resistive barrier', StartDate: new Date('04/04/2019'),\n Duration: 3, Predecessor: '28', resources: [1, 10],\n info: 'Cover the walls with siding, typically vinyl, wood, or brick veneer but possibly stone or other materials'\n },\n {\n TaskID: 30, TaskName: 'Install roof shingles', StartDate: new Date('04/04/2019'), Duration: 3,\n Progress: 30, Predecessor: '29', resources: [8, 9], info: 'Install roof shingles or other covering for flat roof'\n },\n { TaskID: 31, TaskName: 'Install windows', StartDate: new Date('04/04/2019'), Duration: 3, Predecessor: '29', resources: 7 },\n ]\n },\n {\n TaskID: 32,\n TaskName: 'Utilities',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 33, TaskName: 'Install internal plumbing', StartDate: new Date('04/04/2019'), Duration: 3,\n Progress: 30, Predecessor: '26', resources: [1, 10]\n },\n {\n TaskID: 34, TaskName: 'Install HVAC', StartDate: new Date('04/04/2019'), Duration: 3, Predecessor: '33',\n resources: [4, 9], info: 'Add internal plumbing, HVAC, electrical, and natural gas utilities'\n },\n {\n TaskID: 35, TaskName: 'Electrical utilities', StartDate: new Date('04/04/2019'), Duration: 3,\n Progress: 30, Predecessor: '34'\n },\n {\n TaskID: 36, TaskName: 'Natural gas utilities', StartDate: new Date('04/04/2019'), Duration: 3,\n Predecessor: '35', resources: 11\n },\n {\n TaskID: 37, TaskName: 'Install bathroom fixtures', StartDate: new Date('04/04/2019'), Duration: 3,\n Progress: 30, Predecessor: '35', resources: [3, 7]\n },\n ],\n info: 'Building inspector visits if necessary to approve utilities and framing'\n },\n {\n TaskID: 38,\n TaskName: 'Interior finsihing',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 39, TaskName: 'Install insulation', StartDate: new Date('04/04/2019'),\n Duration: 3, Progress: 30, Predecessor: '37', resources: [1, 8], info: 'Frame interior walls with wooden 2×4s'\n },\n {\n TaskID: 40, TaskName: 'Install drywall panels', StartDate: new Date('04/04/2019'), Duration: 3,\n Predecessor: '39', resources: 5,\n info: 'Install insulation and interior drywall panels (cementboard for wet areas) and to complete walls and ceilings'\n },\n {\n TaskID: 41, TaskName: 'Spackle', StartDate: new Date('04/04/2019'), Duration: 3,\n Progress: 30, Predecessor: '40', resources: 10\n },\n {\n TaskID: 42, TaskName: 'Apply primer', StartDate: new Date('04/04/2019'), Duration: 3,\n Predecessor: '41', resources: [10, 11]\n },\n {\n TaskID: 43, TaskName: 'Paint wall and ceilings', StartDate: new Date('04/04/2019'),\n Duration: 3, Progress: 30, Predecessor: '42', resources: [2, 9]\n },\n {\n TaskID: 44, TaskName: 'Install modular kitchen', StartDate: new Date('04/04/2019'),\n Duration: 3, Progress: 30, Predecessor: '43', resources: [5, 7]\n },\n ]\n },\n {\n TaskID: 45,\n TaskName: 'Flooring',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 46, TaskName: 'Tile kitchen, bathroom and entry walls', StartDate: new Date('04/04/2019'),\n Duration: 3, Progress: 30, Predecessor: '44', resources: [4, 9, 3],\n info: 'Additional tiling on top of cementboard for wet areas, such as the bathroom and kitchen backsplash'\n },\n {\n TaskID: 47, TaskName: 'Tile floor', StartDate: new Date('04/04/2019'), Duration: 3, Predecessor: '46SS',\n resources: [2, 8], info: 'Installation of final floor covering, such as floor tile, carpet, or wood flooring'\n },\n ]\n },\n {\n TaskID: 48,\n TaskName: 'Final Acceptance',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 49, TaskName: 'Final inspection', StartDate: new Date('04/04/2019'), Duration: 2,\n Progress: 30, Predecessor: '47', resources: 12, info: 'Ensure the contracted items'\n },\n {\n TaskID: 50, TaskName: 'Cleanup for occupancy', StartDate: new Date('04/04/2019'), Duration: 2,\n Predecessor: '49', resources: [1, 5], info: 'Installation of major appliances'\n },\n {\n TaskID: 51, TaskName: 'Property handover', StartDate: new Date('04/04/2019'), Duration: 0,\n Predecessor: '50', info: 'Ending the contract'\n },\n ]\n },\n];\n\nexport let filteredData: Object[] = [\n {\n TaskID: 1,\n TaskName: 'Launch and flight to lunar orbit',\n StartDate: new Date('07/16/1969'),\n subtasks: [\n {\n TaskID: 2, TaskName: 'Apollo 11 blasts off from launch pad', StartDate: new Date('07/16/1969 03:32:00 AM'),\n EndDate: new Date('07/16/1969 03:32:00 AM'), Duration: 0,\n },\n {\n TaskID: 3, TaskName: 'Entry to earth’s orbit', StartDate: new Date('07/16/1969 03:32:00 AM'),\n EndDate: new Date('07/16/1969 03:44:00 AM'), Predecessor: '2FS'\n },\n {\n TaskID: 4, TaskName: 'Travelling in earth’s orbit', StartDate: new Date('07/16/1969 03:44:00 AM'),\n EndDate: new Date('07/16/1969 04:22:13 AM'), Predecessor: '3FS'\n },\n {\n TaskID: 5, TaskName: 'Trajectory change toward the Moon', StartDate: new Date('07/16/1969 04:22:13 AM'),\n EndDate: new Date('07/16/1969 04:52:00 AM'), Predecessor: '4FS'\n },\n {\n TaskID: 6, TaskName: 'extraction maneuver performed', StartDate: new Date('07/16/1969 04:52:00 AM'),\n EndDate: new Date('07/16/1969 04:52:00 AM'), Predecessor: '5FS'\n },\n {\n TaskID: 7, TaskName: 'Travelling toward moon and entering into lunar orbit', StartDate: new Date('07/16/1969 04:52:00 AM'),\n EndDate: new Date('07/16/1969 04:21:50 PM'), Predecessor: '6FS'\n },\n {\n TaskID: 8, TaskName: 'Midcourse correction, sharpening the course and testing the engine',\n StartDate: new Date('07/16/1969 11:22:00 PM'), EndDate: new Date('07/17/1969 05:21:50 AM')\n },\n {\n TaskID: 9, TaskName: 'Reached half the distance spanning between earth and moon',\n StartDate: new Date('07/17/1969 05:22:00 AM'), EndDate: new Date('07/17/1969 08:00:50 PM')\n },\n {\n TaskID: 10, TaskName: 'Reached 3/4th distance spanning between earth and moon',\n StartDate: new Date('07/17/1969 8:02:00 PM'), EndDate: new Date('07/18/1969 04:21:50 PM')\n },\n {\n TaskID: 11, TaskName: 'Reached distance 45000 miles from moon',\n StartDate: new Date('07/18/1969 11:22:00 PM'), EndDate: new Date('07/19/1969 05:21:50 PM')\n },\n ]\n },\n {\n TaskID: 12,\n TaskName: 'Lunar descent',\n StartDate: new Date('07/19/1969 05:21:50 PM'),\n subtasks: [\n {\n TaskID: 13, TaskName: 'Lunar orbiting (30 orbits)', StartDate: new Date('07/19/1969 05:21:50 PM'),\n EndDate: new Date('07/20/1969 12:52:00 AM'), Predecessor: '11FS'\n },\n {\n TaskID: 14, TaskName: 'Landing site identified', StartDate: new Date('07/20/1969 12:52:00 AM'),\n EndDate: new Date('07/20/1969 12:52:00 AM'), Predecessor: '13FS'\n },\n {\n TaskID: 15, TaskName: 'Eagle separated from Columbia.', StartDate: new Date('07/20/1969 05:44:00 PM'),\n EndDate: new Date('07/20/1969 05:44:00 PM')\n },\n {\n TaskID: 16, TaskName: 'Eagle’s decent to Moon', StartDate: new Date('07/20/1969 05:44:00 PM'),\n EndDate: new Date('07/20/1969 08:16:40 PM'), Predecessor: '15FS'\n }\n ]\n },\n {\n TaskID: 17,\n TaskName: 'Landing',\n StartDate: new Date('07/20/1969 08:17:40 PM'),\n subtasks: [\n {\n TaskID: 18, TaskName: 'Eagle’s touch down', StartDate: new Date('07/20/1969 08:17:40 PM'),\n EndDate: new Date('07/20/1969 08:17:40 PM')\n },\n {\n TaskID: 19, TaskName: 'Radio communication and performing post landing checklist',\n StartDate: new Date('07/20/1969 08:17:40 PM'), EndDate: new Date('07/20/1969 11:43:00 PM'), Predecessor: '18FS'\n },\n {\n TaskID: 20, TaskName: 'Preparations for EVA (Extra Vehicular Activity)',\n StartDate: new Date('07/20/1969 11:43:00 PM'), EndDate: new Date('07/21/1969 02:39:33 AM'), Predecessor: '19FS'\n },\n {\n TaskID: 21, TaskName: 'Hatch open and climbing down the moon', StartDate: new Date('07/21/1969 02:39:33 AM'),\n EndDate: new Date('07/21/1969 02:56:15 AM'), Predecessor: '20FS'\n },\n {\n TaskID: 22, TaskName: 'Armstrong stepped down on the moon', StartDate: new Date('07/21/1969 02:56:15 AM'),\n EndDate: new Date('07/21/1969 03:11:00 AM'), Predecessor: '21FS'\n },\n ]\n },\n {\n TaskID: 23,\n TaskName: 'Lunar surface operations',\n StartDate: new Date('07/21/1969'),\n subtasks: [\n {\n TaskID: 24, TaskName: 'Soil sample collections', StartDate: new Date('07/21/1969 02:56:15 AM'),\n EndDate: new Date('07/21/1969 03:11:00 AM')\n },\n {\n TaskID: 25, TaskName: 'Aldrin joined armstrong', StartDate: new Date('07/21/1969 03:11:00 AM'),\n EndDate: new Date('07/21/1969 03:41:00 AM'), Predecessor: '24FS'\n },\n {\n TaskID: 26, TaskName: 'planted the lunar flag assembly', StartDate: new Date('07/21/1969 03:41:00 AM'),\n EndDate: new Date('07/21/1969 03:46:00 AM'), Predecessor: '25FS'\n },\n {\n TaskID: 27, TaskName: 'President richard nixon’s telephone-radio transmission ',\n StartDate: new Date('07/21/1969 03:48:00 AM'), EndDate: new Date('07/21/1969 03:51:00 AM')\n },\n {\n TaskID: 28, TaskName: 'Collect rock samples, photos and other mission controls',\n StartDate: new Date('07/21/1969 03:52:00 AM'), EndDate: new Date('07/21/1969 04:50:00 AM')\n },\n ]\n },\n {\n TaskID: 29,\n TaskName: 'Lunar ascent',\n StartDate: new Date('07/21/1969'),\n subtasks: [\n {\n TaskID: 30, TaskName: 'Climbing the eagle to ascent', StartDate: new Date('07/21/1969 04:51:00 AM'),\n EndDate: new Date('07/21/1969 05:00:00 AM')\n },\n {\n TaskID: 31, TaskName: 'Hatch closing', StartDate: new Date('07/21/1969 05:01:00 AM'),\n EndDate: new Date('07/21/1969 05:01:00 AM'), Predecessor: '30FS'\n },\n {\n TaskID: 32, TaskName: 'Final housekeeping', StartDate: new Date('07/21/1969 05:02:00 AM'),\n EndDate: new Date('07/21/1969 08:00:00 AM')\n },\n {\n TaskID: 33, TaskName: 'Resting of astronauts', StartDate: new Date('07/21/1969 08:00:00 AM'),\n EndDate: new Date('07/21/1969 03:00:00 PM'), Predecessor: '32FS'\n },\n {\n TaskID: 34, TaskName: 'Preparation for lift off and ascent engine started', StartDate: new Date('07/21/1969 03:00:00 PM'),\n EndDate: new Date('07/21/1969 05:54:00 PM'), Predecessor: '33FS'\n },\n {\n TaskID: 35, TaskName: 'Eagle lifted off', StartDate: new Date('07/21/1969 05:54:00 PM'),\n EndDate: new Date('07/21/1969 05:54:00 PM'), Predecessor: '34FS'\n },\n {\n TaskID: 36, TaskName: 'Eagle’s travel toward Columbia', StartDate: new Date('07/21/1969 05:54:00 PM'),\n EndDate: new Date('07/21/1969 09:23:00 PM'), Predecessor: '35FS'\n },\n ]\n },\n {\n TaskID: 37,\n TaskName: 'Return',\n StartDate: new Date('07/21/1969 09:24:00 PM'),\n subtasks: [\n {\n TaskID: 38, TaskName: 'Eagle docked with columbia', StartDate: new Date('07/21/1969 09:24:00 PM'),\n EndDate: new Date('07/21/1969 09:35:00 PM')\n },\n {\n TaskID: 39, TaskName: 'Eagle’s ascent stage jettisoned into lunar orbit', StartDate: new Date('07/21/1969 09:35:00 PM'),\n EndDate: new Date('07/21/1969 11:41:00 PM'), Predecessor: '38FS'\n },\n ]\n },\n {\n TaskID: 40,\n TaskName: 'Decent toward earth and Splashdown',\n StartDate: new Date('07/21/1969'),\n subtasks: [\n {\n TaskID: 41, TaskName: 'Spacecraft reaches 1/4th distance spanning between moon and earth',\n StartDate: new Date('07/21/1969 11:50:00 PM'), EndDate: new Date('07/22/1969 04:40:00 PM')\n },\n {\n TaskID: 42, TaskName: 'Spacecraft travels to midway point of journey',\n StartDate: new Date('07/22/1969 04:40:00 PM'), EndDate: new Date('07/23/1969 04:00:00 PM'), Predecessor: '41FS'\n },\n {\n TaskID: 43, TaskName: 'Spacecraft travels to 3/4th point of journey', StartDate: new Date('07/23/1969 04:40:00 PM'),\n EndDate: new Date('07/24/1969 10:00:00 AM'), Predecessor: '42FS'\n },\n {\n TaskID: 44, TaskName: 'Crew prepares for splashdown', StartDate: new Date('07/24/1969 11:47:00 AM'),\n EndDate: new Date('07/24/1969 04:20:00 PM')\n },\n {\n TaskID: 45, TaskName: 'Command and service modules separates', StartDate: new Date('07/24/1969 04:20:00 PM'),\n EndDate: new Date('07/24/1969 04:35:00 PM'), Predecessor: '44FS'\n },\n {\n TaskID: 46, TaskName: 'Command module re-enters the Earth’s atmosphere', StartDate: new Date('07/24/1969 04:35:00 PM'),\n EndDate: new Date('07/24/1969 04:50:00 PM'), Predecessor: '45FS'\n },\n {\n TaskID: 47, TaskName: 'Spacecraft splashes near USS hornet', StartDate: new Date('07/24/1969 04:51:00 PM'),\n EndDate: new Date('07/24/1969 04:51:00 PM')\n },\n ]\n }\n];\n\nexport let projectResources: Object[] = [\n { resourceId: 1, resourceName: 'Project Manager' },\n { resourceId: 2, resourceName: 'Software Analyst' },\n { resourceId: 3, resourceName: 'Developer' },\n { resourceId: 4, resourceName: 'Testing Engineer' }\n];\n\nexport let projectData: Object[] = [\n {\n taskID: 1,\n taskName: 'Project schedule',\n startDate: new Date('02/08/2019'),\n endDate: new Date('03/15/2019'),\n subtasks: [\n {\n taskID: 2,\n taskName: 'Planning',\n startDate: new Date('02/08/2019'),\n endDate: new Date('02/12/2019'),\n subtasks: [\n {\n taskID: 3, taskName: 'Plan timeline', startDate: new Date('02/08/2019'),\n endDate: new Date('02/12/2019'), duration: 5, progress: '100', resourceId: [1]\n },\n {\n taskID: 4, taskName: 'Plan budget', startDate: new Date('02/08/2019'),\n endDate: new Date('02/12/2019'), duration: 5, progress: '100', resourceId: [1]\n },\n {\n taskID: 5, taskName: 'Allocate resources', startDate: new Date('02/08/2019'),\n endDate: new Date('02/12/2019'), duration: 5, progress: '100', resourceId: [1]\n },\n {\n taskID: 6, taskName: 'Planning complete', startDate: new Date('02/10/2019'),\n endDate: new Date('02/10/2019'), duration: 0, predecessor: '3FS,4FS,5FS'\n }\n ]\n }, {\n taskID: 7,\n taskName: 'Design',\n startDate: new Date('02/15/2019'),\n endDate: new Date('02/19/2019'),\n subtasks: [\n {\n taskID: 8, taskName: 'Software specification', startDate: new Date('02/15/2019'),\n endDate: new Date('02/17/2019'), duration: 3, progress: '60', predecessor: '6FS', resourceId: [2]\n },\n {\n taskID: 9, taskName: 'Develop prototype', startDate: new Date('02/15/2019'),\n endDate: new Date('02/17/2019'), duration: 3, progress: '100', predecessor: '6FS', resourceId: [3]\n },\n {\n taskID: 10, taskName: 'Get approval from customer', startDate: new Date('02/18/2019'),\n endDate: new Date('02/19/2019'), duration: 2, progress: '100', predecessor: '9FS', resourceId: [1]\n },\n {\n taskID: 11, taskName: 'Design complete', startDate: new Date('02/17/2019'),\n endDate: new Date('02/17/2019'), duration: 0, predecessor: '10FS'\n }\n ]\n },\n {\n taskID: 12,\n taskName: 'Implementation phase',\n startDate: new Date('02/25/2019'),\n endDate: new Date('03/05/2019'),\n subtasks: [\n {\n taskID: 13,\n taskName: 'Phase 1',\n startDate: new Date('02/25/2019'),\n endDate: new Date('03/07/2019'),\n subtasks: [{\n taskID: 14,\n taskName: 'Implementation module 1',\n startDate: new Date('02/25/2019'),\n endDate: new Date('03/07/2019'),\n subtasks: [\n {\n taskID: 15, taskName: 'Development task 1', startDate: new Date('02/22/2019'),\n endDate: new Date('02/24/2019'), duration: 3, progress: '50', predecessor: '11FS', resourceId: [3]\n },\n {\n taskID: 16, taskName: 'Development task 2', startDate: new Date('02/22/2019'),\n endDate: new Date('02/24/2019'), duration: 3, progress: '50', predecessor: '11FS', resourceId: [3]\n },\n {\n taskID: 17, taskName: 'Testing', startDate: new Date('02/25/2019'),\n endDate: new Date('02/26/2019'), duration: 2, progress: '0', predecessor: '15FS,16FS', resourceId: [4]\n },\n {\n taskID: 18, taskName: 'Bug fix', startDate: new Date('03/01/2019'),\n endDate: new Date('03/02/2019'), duration: 2, progress: '0', predecessor: '17FS', resourceId: [3]\n },\n {\n taskID: 19, taskName: 'Customer review meeting', startDate: new Date('03/03/2019'),\n endDate: new Date('03/07/2019'), duration: 2, progress: '0', predecessor: '18FS', resourceId: [1]\n },\n {\n taskID: 20, taskName: 'Phase 1 complete', startDate: new Date('03/05/2019'),\n endDate: new Date('03/05/2019'), duration: 0, predecessor: '19FS'\n }\n\n ]\n }]\n },\n\n {\n taskID: 21,\n taskName: 'Phase 2',\n startDate: new Date('02/25/2019'),\n endDate: new Date('03/05/2019'),\n subtasks: [{\n taskID: 22,\n taskName: 'Implementation module 2',\n startDate: new Date('02/25/2019'),\n endDate: new Date('03/05/2019'),\n subtasks: [\n {\n taskID: 23, taskName: 'Development task 1', startDate: new Date('02/22/2019'),\n endDate: new Date('02/25/2019'), duration: 4, progress: '50', resourceId: [3]\n },\n {\n taskID: 24, taskName: 'Development task 2', startDate: new Date('02/22/2019'),\n endDate: new Date('02/25/2019'), duration: 4, progress: '50', resourceId: [3]\n },\n {\n taskID: 25, taskName: 'Testing', startDate: new Date('02/26/2019'),\n endDate: new Date('03/01/2019'), duration: 2, progress: '0', predecessor: '23FS,24FS', resourceId: [4]\n },\n {\n taskID: 26, taskName: 'Bug fix', startDate: new Date('03/02/2019'),\n endDate: new Date('03/03/2019'), duration: 2, progress: '0', predecessor: '25FS', resourceId: [3]\n },\n {\n taskID: 27, taskName: 'Customer review meeting', startDate: new Date('03/07/2019'),\n endDate: new Date('03/09/2019'), duration: 2, progress: '0', predecessor: '26FS', resourceId: [1]\n },\n {\n taskID: 28, taskName: 'Phase 2 complete', startDate: new Date('03/03/2019'),\n endDate: new Date('03/03/2019'), duration: 0, predecessor: '27FS'\n }\n\n ]\n }]\n },\n\n {\n taskID: 29,\n taskName: 'Phase 3',\n startDate: new Date('02/25/2019'),\n endDate: new Date('03/07/2019'),\n subtasks: [{\n taskID: 30,\n taskName: 'Implementation module 3',\n startDate: new Date('02/25/2019'),\n endDate: new Date('03/07/2019'),\n subtasks: [\n {\n taskID: 31, taskName: 'Development task 1', startDate: new Date('02/22/2019'),\n endDate: new Date('02/24/2019'), duration: 3, progress: '50', resourceId: [3]\n },\n {\n taskID: 32, taskName: 'Development task 2', startDate: new Date('02/22/2019'),\n endDate: new Date('02/24/2019'), duration: 3, progress: '50', resourceId: [3]\n },\n {\n taskID: 33, taskName: 'Testing', startDate: new Date('02/25/2019'), endDate: new Date('02/26/2019'),\n duration: 2, progress: '0', predecessor: '31FS,32FS', resourceId: [4]\n },\n {\n taskID: 34, taskName: 'Bug fix', startDate: new Date('03/01/2019'), endDate: new Date('03/05/2019'),\n duration: 2, progress: '0', predecessor: '33FS', resourceId: [3]\n },\n {\n taskID: 35, taskName: 'Customer review meeting', startDate: new Date('03/03/2019'),\n endDate: new Date('03/04/2019'), duration: 2, progress: '0', predecessor: '34FS',\n resourceId: [1]\n },\n {\n taskID: 36, taskName: 'Phase 3 complete', startDate: new Date('03/02/2019'),\n endDate: new Date('03/02/2019'), duration: 0, predecessor: '35FS'\n },\n\n ]\n }]\n }\n ]\n },\n {\n taskID: 37, taskName: 'Integration', startDate: new Date('03/08/2019'), endDate: new Date('03/10/2019'), duration: 3,\n progress: '0', predecessor: '20FS,28FS,36FS', resourceId: [3]\n },\n {\n taskID: 38, taskName: 'Final testing', startDate: new Date('03/11/2019'), endDate: new Date('03/12/2019'), duration: 2,\n progress: '0', predecessor: '37FS', resourceId: [4]\n },\n {\n taskID: 39, taskName: 'Final delivery', startDate: new Date('03/10/2019'), endDate: new Date('03/10/2019'),\n duration: 0, predecessor: '38FS'\n }\n ]\n }\n];\n\nexport let baselineData: Object[] = [\n {\n TaskId: 1, TaskName: 'Receive vehicle and create job card', BaselineStartDate: new Date('03/05/2018 10:00:00 AM'),\n BaselineEndDate: new Date('03/05/2018 10:00:00 AM'), StartDate: new Date('03/05/2018 10:00:00 AM'),\n EndDate: new Date('03/05/2018 10:00:00 AM')\n },\n {\n TaskId: 2, TaskName: 'Allot mechanic and send vehicle to service bay', BaselineStartDate: new Date('03/05/2018 10:00:00 AM'),\n BaselineEndDate: new Date('03/05/2018 10:15:00 AM'), StartDate: new Date('03/05/2018 10:15:00 AM'),\n EndDate: new Date('03/05/2018 10:20:00 AM')\n },\n {\n TaskId: 3, TaskName: 'Change the receive vehicle and create job cardengine oil',\n BaselineStartDate: new Date('03/05/2018 10:15:00 AM'),\n BaselineEndDate: new Date('03/05/2018 10:45:00 AM'), StartDate: new Date('03/05/2018 10:20:00 AM'),\n EndDate: new Date('03/05/2018 10:35:00 AM')\n },\n {\n TaskId: 4, TaskName: 'Replace the oil filter', BaselineStartDate: new Date('03/05/2018 10:45:00 AM'),\n BaselineEndDate: new Date('03/05/2018 11:15:00 AM'), StartDate: new Date('03/05/2018 10:35:00 AM'),\n EndDate: new Date('03/05/2018 11:00:00 AM')\n },\n {\n TaskId: 5, TaskName: 'Replace the air filter', BaselineStartDate: new Date('03/05/2018 10:45:00 AM'),\n BaselineEndDate: new Date('03/05/2018 11:15:00 AM'), StartDate: new Date('03/05/2018 10:35:00 AM'),\n EndDate: new Date('03/05/2018 11:00:00 AM')\n },\n {\n TaskId: 6, TaskName: 'Replace the fuel filter', BaselineStartDate: new Date('03/05/2018 11:15:00 AM'),\n BaselineEndDate: new Date('03/05/2018 11:25:00 AM'), StartDate: new Date('03/05/2018 11:00:00 AM'),\n EndDate: new Date('03/05/2018 11:20:00 AM')\n },\n {\n TaskId: 7, TaskName: 'Replace the cabin filter', BaselineStartDate: new Date('03/05/2018 11:00:00 AM'),\n BaselineEndDate: new Date('03/05/2018 11:20:00 AM'), StartDate: new Date('03/05/2018 11:00:00 AM'),\n EndDate: new Date('03/05/2018 11:25:00 AM')\n },\n {\n TaskId: 8, TaskName: 'Replace the spark plugs', BaselineStartDate: new Date('03/05/2018 11:00:00 AM'),\n BaselineEndDate: new Date('03/05/2018 11:30:00 AM'), StartDate: new Date('03/05/2018 11:25:00 AM'),\n EndDate: new Date('03/05/2018 11:45:00 AM')\n },\n {\n TaskId: 9, TaskName: 'Check level and refill brake fluid/clutch fluid', BaselineStartDate: new Date('03/05/2018 11:20:00 AM'),\n BaselineEndDate: new Date('03/05/2018 11:40:00 AM'), StartDate: new Date('03/05/2018 11:30:00 AM'),\n EndDate: new Date('03/05/2018 11:50:00 AM')\n },\n {\n TaskId: 10, TaskName: 'Check Brake Pads/Liners, Brake Discs/Drums, and replace if worn out.',\n BaselineStartDate: new Date('03/05/2018 11:40:00 AM'),\n BaselineEndDate: new Date('03/05/2018 12:00:00 PM'), StartDate: new Date('03/05/2018 11:50:00 AM'),\n EndDate: new Date('03/05/2018 12:20:00 PM')\n },\n {\n TaskId: 11, TaskName: 'Check level and refill power steering fluid', BaselineStartDate: new Date('03/05/2018 11:40:00 AM'),\n BaselineEndDate: new Date('03/05/2018 12:00:00 PM'), StartDate: new Date('03/05/2018 11:50:00 AM'),\n EndDate: new Date('03/05/2018 12:15:00 PM')\n },\n {\n TaskId: 12, TaskName: 'Check level and refill automatic/manual transmission fluid',\n BaselineStartDate: new Date('03/05/2018 12:00:00 PM'),\n BaselineEndDate: new Date('03/05/2018 12:35:00 PM'), StartDate: new Date('03/05/2018 11:50:00 AM'),\n EndDate: new Date('03/05/2018 12:20:00 PM')\n },\n {\n TaskId: 13, TaskName: 'Grease and lubricate components', BaselineStartDate: new Date('03/05/2018 12:20:00 PM'),\n BaselineEndDate: new Date('03/05/2018 12:35:00 PM'), StartDate: new Date('03/05/2018 12:20:00 PM'),\n EndDate: new Date('03/05/2018 12:45:00 PM')\n },\n {\n TaskId: 14, TaskName: 'Inspect and replace the timing belt or timing chain if needed',\n BaselineStartDate: new Date('03/05/2018 12:35:00 PM'),\n BaselineEndDate: new Date('03/05/2018 1:00:00 PM'), StartDate: new Date('03/05/2018 12:45:00 PM'),\n EndDate: new Date('03/05/2018 1:00:00 PM')\n },\n {\n TaskId: 15, TaskName: 'Wheel balancing', BaselineStartDate: new Date('03/05/2018 1:00:00 PM'),\n BaselineEndDate: new Date('03/05/2018 1:20:00 PM'), StartDate: new Date('03/05/2018 1:00:00 PM'),\n EndDate: new Date('03/05/2018 1:45:00 PM')\n },\n {\n TaskId: 16, TaskName: 'Wheel alignment', BaselineStartDate: new Date('03/05/2018 1:20:00 PM'),\n BaselineEndDate: new Date('03/05/2018 1:45:00 PM'), StartDate: new Date('03/05/2018 1:45:00 PM'),\n EndDate: new Date('03/05/2018 2:45:00 PM')\n },\n {\n TaskId: 17, TaskName: 'Check for proper operation of all lights, wipers etc.', BaselineStartDate: new Date('03/05/2018 1:50:00 PM'),\n BaselineEndDate: new Date('03/05/2018 02:30:00 PM'), StartDate: new Date('03/05/2018 02:45:00 PM'),\n EndDate: new Date('03/05/2018 03:30:00 PM')\n },\n {\n TaskId: 18, TaskName: 'Check for any error codes in the ECU and take corrective action.',\n BaselineStartDate: new Date('03/05/2018 2:30:00 PM'),\n BaselineEndDate: new Date('03/05/2018 3:30:00 PM'), StartDate: new Date('03/05/2018 03:30:00 PM'),\n EndDate: new Date('03/05/2018 04:15:00 PM')\n },\n {\n TaskId: 19, TaskName: 'Use scan tool read trouble code', BaselineStartDate: new Date('03/05/2018 03:30:00 PM'),\n BaselineEndDate: new Date('03/05/2018 04:45:00 PM'), StartDate: new Date('03/05/2018 04:15:00 PM'),\n EndDate: new Date('03/05/2018 04:45:00 PM')\n },\n {\n TaskId: 20, TaskName: 'Exterior washing', BaselineStartDate: new Date('03/05/2018 04:45:00 PM'),\n BaselineEndDate: new Date('03/05/2018 05:15:00 PM'), StartDate: new Date('03/05/2018 04:45:00 PM'),\n EndDate: new Date('03/05/2018 05:30:00 PM')\n },\n {\n TaskId: 21, TaskName: 'Interior vacuuming', BaselineStartDate: new Date('03/05/2018 05:15:00 PM'),\n BaselineEndDate: new Date('03/05/2018 05:45:00 PM'), StartDate: new Date('03/05/2018 05:30:00 PM'),\n EndDate: new Date('03/05/2018 06:00:00 PM')\n },\n {\n TaskId: 22, TaskName: 'Final service inspection', BaselineStartDate: new Date('03/05/2018 05:45:00 PM'),\n BaselineEndDate: new Date('03/05/2018 06:00:00 PM'), StartDate: new Date('03/05/2018 06:00:00 PM'),\n EndDate: new Date('03/05/2018 06:30:00 PM')\n },\n {\n TaskId: 23, TaskName: 'Vehicle handover', BaselineStartDate: new Date('03/05/2018 06:00:00 PM'),\n BaselineEndDate: new Date('03/05/2018 06:00:00 PM'), StartDate: new Date('03/05/2018 06:30:00 PM'),\n EndDate: new Date('03/05/2018 06:30:00 PM')\n }\n];\n\nexport let customizedData: Object[] = [\n {\n TaskId: 1, TaskName: 'Oscar moments', Performance: '90th Academy awards kicks-off and Jimmy kimmel hosts the show',\n StartDate: new Date('03/05/2018 06:00:00 PM'), EndDate: new Date('03/05/2018 06:15:00 PM')\n },\n {\n TaskId: 2, TaskName: 'Actor in a supporting role', Predecessor: '1FS',\n StartDate: new Date('03/05/2018 06:16:00 PM'), EndDate: new Date('03/05/2018 06:25:00 PM'),\n Winner: 'Sam Rockwell', Movie: 'Three Billboards Outside Ebbing, Missouri.'\n },\n {\n TaskId: 3, TaskName: 'Hair and makeup', Movie: 'Darkest Hour', Predecessor: '2FS',\n StartDate: new Date('03/05/2018 06:26:00 PM'), EndDate: new Date('03/05/2018 06:32:00 PM')\n },\n {\n TaskId: 4, TaskName: 'Costume design', Winner: 'Mark Bridges', Movie: 'Phantom Thread', Predecessor: '3FS',\n StartDate: new Date('03/05/2018 06:33:00 PM'), EndDate: new Date('03/05/2018 06:40:00 PM')\n },\n {\n TaskId: 5, TaskName: 'Documentary feature', Winner: 'Bryan Fogel', Movie: ' Icarus', Predecessor: '4FS',\n StartDate: new Date('03/05/2018 06:41:00 PM'), EndDate: new Date('03/05/2018 06:58:00 PM')\n },\n {\n TaskId: 6, TaskName: 'Best sound editing and sound mixing', Winner: 'Richard King and Alex Gibson', Movie: 'Dunkirk',\n StartDate: new Date('03/05/2018 06:59:00 PM'), EndDate: new Date('03/05/2018 07:10:00 PM'), Predecessor: '5FS'\n },\n {\n TaskId: 7, TaskName: 'Production design', Movie: 'The Shape of Water', Predecessor: '6FS',\n StartDate: new Date('03/05/2018 07:11:00 PM'), EndDate: new Date('03/05/2018 07:15:00 PM')\n },\n {\n TaskId: 8, TaskName: 'Oscar performance', Performance: 'Second performance of the night is \"Remember Me\" from Coco',\n StartDate: new Date('03/05/2018 07:16:00 PM'), EndDate: new Date('03/05/2018 07:23:00 PM'), Predecessor: '7FS'\n },\n {\n TaskId: 9, TaskName: 'Best foreign language film goes', Movie: 'A Fantastic Woman', Predecessor: '8FS',\n StartDate: new Date('03/05/2018 07:24:00 PM'), EndDate: new Date('03/05/2018 07:29:00 PM')\n },\n {\n TaskId: 10, TaskName: 'Best supporting actress', Winner: 'Allison Janney', Movie: 'I, Tonya',\n StartDate: new Date('03/05/2018 07:30:00 PM'), EndDate: new Date('03/05/2018 07:35:00 PM'), Predecessor: '9FS'\n },\n {\n TaskId: 11, TaskName: 'Best animated short', Winner: 'Kobe Bryant', Movie: 'Dear Basketball',\n StartDate: new Date('03/05/2018 07:36:00 PM'), EndDate: new Date('03/05/2018 07:45:00 PM'), Predecessor: '10FS'\n },\n {\n TaskId: 12, TaskName: 'Award for best animated feature.', Movie: 'Coco', Predecessor: '11FS',\n StartDate: new Date('03/05/2018 07:46:00 PM'), EndDate: new Date('03/05/2018 07:52:00 PM')\n },\n {\n TaskId: 13, TaskName: 'Best visual effects.', Movie: 'Blade Runner 2049', Predecessor: '12FS',\n StartDate: new Date('03/05/2018 07:53:00 PM'), EndDate: new Date('03/05/2018 07:56:00 PM')\n },\n {\n TaskId: 14, TaskName: 'Achievement in film editing', Movie: 'Dunkirk', Predecessor: '13FS',\n StartDate: new Date('03/05/2018 07:57:00 PM'), EndDate: new Date('03/05/2018 07:59:00 PM')\n },\n {\n TaskId: 15, TaskName: 'Oscar moments', Performance: 'Jimmy Kimmel surprises moviegoers along with celebrities',\n StartDate: new Date('03/05/2018 08:00:00 PM'), EndDate: new Date('03/05/2018 08:09:00 PM'), Predecessor: '14FS'\n },\n {\n TaskId: 16, TaskName: 'Best documentary short', Movie: 'Heaven is a Traffic Jam on the 405', Predecessor: '15FS',\n StartDate: new Date('03/05/2018 08:10:00 PM'), EndDate: new Date('03/05/2018 08:12:00 PM')\n },\n {\n TaskId: 17, TaskName: 'Best live action short film', Movie: 'The Silent Child', Predecessor: '16FS',\n StartDate: new Date('03/05/2018 08:13:00 PM'), EndDate: new Date('03/05/2018 08:15:00 PM')\n },\n {\n TaskId: 18, TaskName: 'Oscar performance',\n Performance: 'Jimmy Kimmel surprCommon and Andra Day performs \"Stand Up for Something\" by \"Marshall\"',\n StartDate: new Date('03/05/2018 08:16:00 PM'), EndDate: new Date('03/05/2018 08:25:00 PM'), Predecessor: '17FS'\n },\n {\n TaskId: 19, TaskName: 'Oscar moments',\n Performance: 'The Oscars are showcasing the #MeToo and #TimesUp movements with a montage and interviews with actors and filmmakers',\n StartDate: new Date('03/05/2018 08:26:00 PM'), EndDate: new Date('03/05/2018 08:29:00 PM'), Predecessor: '18FS'\n },\n {\n TaskId: 20, TaskName: 'Oscar for best adapted screenplay', Winner: 'James Ivory', Movie: 'Call Me By Your Name',\n StartDate: new Date('03/05/2018 08:30:00 PM'), EndDate: new Date('03/05/2018 08:35:00 PM'), Predecessor: '19FS'\n },\n {\n TaskId: 21, TaskName: 'Oscar for best original screenplay', Winner: 'Jordan Peele', Movie: 'Get Out',\n StartDate: new Date('03/05/2018 08:36:00 PM'), EndDate: new Date('03/05/2018 08:44:00 PM'), Predecessor: '20FS'\n },\n {\n TaskId: 22, TaskName: 'Oscar moments',\n Performance: 'Who’s trending on Twitter at the Oscars? Actors Timothée Chalamet, Chadwick Boseman,' +\n 'Tom Holland, Lupita Nyong’o and Adam Rippon.',\n StartDate: new Date('03/05/2018 08:40:00 PM'), EndDate: new Date('03/05/2018 08:45:00 PM'), Predecessor: '21FS'\n },\n {\n TaskId: 23, TaskName: 'Best cinematography', Winner: 'Roger A. Deakins', Movie: 'Blade Runner 2049',\n StartDate: new Date('03/05/2018 08:46:00 PM'), EndDate: new Date('03/05/2018 08:48:00 PM'), Predecessor: '22FS'\n },\n {\n TaskId: 24, TaskName: 'Oscar performance',\n Performance: 'Keala Settle performs the nominated song \"This is Me\" from \"The Greatest Showman\".',\n StartDate: new Date('03/05/2018 08:49:00 PM'), EndDate: new Date('03/05/2018 08:54:00 PM'), Predecessor: '23FS'\n },\n {\n TaskId: 25, TaskName: 'Best original score', Movie: 'The Shape of Water', Predecessor: '24FS',\n StartDate: new Date('03/05/2018 08:55:00 PM'), EndDate: new Date('03/05/2018 08:59:00 PM')\n },\n {\n TaskId: 26, TaskName: 'Award for original song', Winner: 'Remember Me', Movie: 'Coco', Predecessor: '25FS',\n StartDate: new Date('03/05/2018 09:00:00 PM'), EndDate: new Date('03/05/2018 09:07:00 PM')\n },\n {\n TaskId: 27, TaskName: 'Oscar moments', Performance: 'Time to pay tribute to those in the cinema world we lost last year',\n StartDate: new Date('03/05/2018 09:05:00 PM'), EndDate: new Date('03/05/2018 09:11:00 PM'), Predecessor: '26FS'\n },\n {\n TaskId: 28, TaskName: 'Oscar for best director', Winner: 'Guillermo del Toro', Movie: 'The Shape of Water',\n StartDate: new Date('03/05/2018 09:12:00 PM'), EndDate: new Date('03/05/2018 09:19:00 PM'), Predecessor: '27FS'\n },\n {\n TaskId: 29, TaskName: 'Best actor in a leading role', Winner: 'Gary Oldman', Movie: 'The Shape of Water',\n StartDate: new Date('03/05/2018 09:20:00 PM'), EndDate: new Date('03/05/2018 09:29:00 PM'), Predecessor: '28FS'\n },\n {\n TaskId: 30, TaskName: 'Best leading actress', Winner: 'Frances McDormand', Movie: 'Three Billboards Outside Ebbing, Missouri',\n StartDate: new Date('03/05/2018 09:30:00 PM'), EndDate: new Date('03/05/2018 09:44:00 PM'), Predecessor: '29FS'\n },\n {\n TaskId: 31, TaskName: 'Oscar for best picture.', Movie: 'The Shape of Water', Predecessor: '30FS',\n StartDate: new Date('03/05/2018 09:45:00 PM'), EndDate: new Date('03/05/2018 10:00:00 PM')\n },\n {\n TaskId: 32, TaskName: 'Oscar moments', Performance: '90th Academy awards wind-up', Predecessor: '31FS',\n StartDate: new Date('03/05/2018 10:00:00 PM'), EndDate: new Date('03/05/2018 10:00:00 PM'), Duration: 0\n }\n];\n\nexport let unscheduledData: Object[] = [\n {\n TaskId: 1, TaskName: 'Task 1', StartDate: new Date('01/03/2019'),\n EndDate: new Date('01/08/2019'), Duration: '5', TaskType: ''\n },\n {\n TaskId: 2, TaskName: 'Task 2', Duration: '5', TaskType: \"Task with duration only\"\n },\n {\n TaskId: 3, TaskName: 'Task 3', StartDate: new Date('01/03/2019'), TaskType: \"Task with start date only\"\n },\n {\n TaskId: 4, TaskName: 'Task 4', EndDate: new Date('01/08/2019'), TaskType: \"Task with end date only\"\n },\n];\n\nexport let tooltipData: object[] = [\n {\n TaskID: 1,\n TaskName: 'Project initiation',\n StartDate: new Date('04/02/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 2, TaskName: 'Identify site location', StartDate: new Date('04/02/2019'), Duration: 0,\n Progress: 30, resources: [1], info: 'Measure the total property area alloted for construction',\n BaselineStartDate: new Date('04/02/2019'), BaselineEndDate: new Date('04/02/2019')\n },\n {\n TaskID: 3, TaskName: 'Perform soil test', StartDate: new Date('04/02/2019'), Duration: 4, Predecessor: '2',\n resources: [2], info: 'Obtain an engineered soil test of lot where construction is planned.' +\n 'From an engineer or company specializing in soil testing', BaselineStartDate: new Date('04/01/2019'),\n BaselineEndDate: new Date('04/04/2019')\n },\n {\n TaskID: 4, TaskName: 'Soil test approval', StartDate: new Date('04/02/2019'), Duration: 0, Predecessor: '3', Progress: 30,\n BaselineStartDate: new Date('04/06/2019'), BaselineEndDate: new Date('04/06/2019')\n },\n\n ]\n },\n {\n TaskID: 5,\n TaskName: 'Project estimation',\n StartDate: new Date('04/02/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 6, TaskName: 'Develop floor plan for estimation', StartDate: new Date('04/04/2019'),\n Duration: 3, Predecessor: '4', Progress: 30, resources: 4,\n info: 'Develop floor plans and obtain a materials list for estimations',\n BaselineStartDate: new Date('04/05/2019'), BaselineEndDate: new Date('04/07/2019')\n },\n {\n TaskID: 7, TaskName: 'List materials', StartDate: new Date('04/04/2019'),\n Duration: 3, Predecessor: '6', resources: [4], info: '',\n BaselineStartDate: new Date('04/09/2019'), BaselineEndDate: new Date('04/12/2019')\n },\n {\n TaskID: 8, TaskName: 'Estimation approval', StartDate: new Date('04/04/2019'),\n Duration: 0, Predecessor: '7', resources: [12], info: '',\n BaselineStartDate: new Date('04/16/2019'), BaselineEndDate: new Date('04/16/2019')\n }\n ]\n },\n {\n TaskID: 9, TaskName: 'Sign contract', StartDate: new Date('04/04/2019'), Duration: 1,\n Predecessor: '8', Progress: 30, resources: [12],\n info: 'If required obtain approval from HOA (homeowners association) or ARC (architectural review committee)',\n BaselineStartDate: new Date('04/16/2019'), BaselineEndDate: new Date('04/17/2019')\n },\n {\n TaskID: 10,\n TaskName: 'Project approval and kick off',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n Duration: 0,\n Predecessor: '9',\n BaselineStartDate: new Date('04/17/2019'), BaselineEndDate: new Date('04/17/2019')\n },\n {\n TaskID: 11,\n TaskName: 'Site work',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 12, TaskName: 'Clear the building site', StartDate: new Date('04/04/2019'),\n Duration: 2, Progress: 30, Predecessor: '9',\n info: 'Clear the building site (demolition of existing home if necessary)',\n BaselineStartDate: new Date('04/16/2019'), BaselineEndDate: new Date('04/18/2019')\n },\n {\n TaskID: 13, TaskName: 'Install temporary power service', StartDate: new Date('04/04/2019'),\n Duration: 2, Predecessor: '12', info: '',\n BaselineStartDate: new Date('04/17/2019'), BaselineEndDate: new Date('04/19/2019')\n },\n ]\n }\n];\n\nexport let selfData: object[] = [\n { taskID: 1, taskName: \"Project Schedule\", startDate: new Date(\"02/04/2019\"), endDate: new Date(\"03/10/2019\") },\n { taskID: 2, taskName: \"Planning\", startDate: new Date(\"02/04/2019\"), endDate: new Date(\"02/10/2019\"), parentID: 1 },\n { taskID: 3, taskName: \"Plan timeline\", startDate: new Date(\"02/04/2019\"), endDate: new Date(\"02/10/2019\"), duration: 6, progress: \"60\", parentID: 2 },\n { taskID: 4, taskName: \"Plan budget\", startDate: new Date(\"02/04/2019\"), endDate: new Date(\"02/10/2019\"), duration: 6, progress: \"90\", parentID: 2 },\n { taskID: 5, taskName: \"Allocate resources\", startDate: new Date(\"02/04/2019\"), endDate: new Date(\"02/10/2019\"), duration: 6, progress: \"75\", parentID: 2 },\n { taskID: 6, taskName: \"Planning complete\", startDate: new Date(\"02/06/2019\"), endDate: new Date(\"02/10/2019\"), duration: 0, predecessor: \"3FS,4FS,5FS\", parentID: 2 },\n { taskID: 7, taskName: \"Design\", startDate: new Date(\"02/13/2019\"), endDate: new Date(\"02/17/2019\"), parentID: 1, },\n { taskID: 8, taskName: \"Software Specification\", startDate: new Date(\"02/13/2019\"), endDate: new Date(\"02/15/2019\"), duration: 3, progress: \"60\", predecessor: \"6FS\", parentID: 7, },\n { taskID: 9, taskName: \"Develop prototype\", startDate: new Date(\"02/13/2019\"), endDate: new Date(\"02/15/2019\"), duration: 3, progress: \"100\", predecessor: \"6FS\", parentID: 7, },\n { taskID: 10, taskName: \"Get approval from customer\", startDate: new Date(\"02/16/2019\"), endDate: new Date(\"02/17/2019\"), duration: 2, progress: \"100\", predecessor: \"9FS\", parentID: 7, },\n { taskID: 11, taskName: \"Design complete\", startDate: new Date(\"02/17/2019\"), endDate: new Date(\"02/17/2019\"), duration: 0, predecessor: \"10FS\", parentID: 7, }\n];\n\nexport let labelData: object[] = [\n {\n TaskID: 1,\n TaskName: 'Project initiation',\n StartDate: new Date('04/02/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 2, TaskName: 'Identify site location', StartDate: new Date('04/02/2019'), Duration: 0,\n Progress: 30, resources: [1], info: 'Measure the total property area alloted for construction',\n BaselineStartDate: new Date('04/02/2019'), BaselineEndDate: new Date('04/02/2019')\n },\n {\n TaskID: 3, TaskName: 'Perform soil test', StartDate: new Date('04/02/2019'), Duration: 4, Predecessor: '2',\n resources: [2, 3, 5], info: 'Obtain an engineered soil test of lot where construction is planned.' +\n 'From an engineer or company specializing in soil testing', BaselineStartDate: new Date('04/01/2019'),\n BaselineEndDate: new Date('04/04/2019')\n },\n {\n TaskID: 4, TaskName: 'Soil test approval', StartDate: new Date('04/02/2019'), Duration: 0, Predecessor: '3', Progress: 30,\n BaselineStartDate: new Date('04/06/2019'), BaselineEndDate: new Date('04/06/2019')\n },\n\n ]\n },\n {\n TaskID: 5,\n TaskName: 'Project estimation',\n StartDate: new Date('04/02/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 6, TaskName: 'Develop floor plan for estimation', StartDate: new Date('04/04/2019'),\n Duration: 3, Predecessor: '4', Progress: 30, resources: 4,\n info: 'Develop floor plans and obtain a materials list for estimations',\n BaselineStartDate: new Date('04/05/2019'), BaselineEndDate: new Date('04/07/2019')\n },\n {\n TaskID: 7, TaskName: 'List materials', StartDate: new Date('04/04/2019'),\n Duration: 3, Predecessor: '6', resources: [4, 8], info: '',\n BaselineStartDate: new Date('04/09/2019'), BaselineEndDate: new Date('04/12/2019')\n },\n {\n TaskID: 8, TaskName: 'Estimation approval', StartDate: new Date('04/04/2019'),\n Duration: 0, Predecessor: '7', resources: [12, 5], info: '',\n BaselineStartDate: new Date('04/16/2019'), BaselineEndDate: new Date('04/16/2019')\n }\n ]\n },\n {\n TaskID: 9, TaskName: 'Sign contract', StartDate: new Date('04/04/2019'), Duration: 1,\n Predecessor: '8', Progress: 30, resources: [12],\n info: 'If required obtain approval from HOA (homeowners association) or ARC (architectural review committee)',\n BaselineStartDate: new Date('04/16/2019'), BaselineEndDate: new Date('04/17/2019')\n },\n {\n TaskID: 10,\n TaskName: 'Project approval and kick off',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n Duration: 0,\n Predecessor: '9',\n BaselineStartDate: new Date('04/17/2019'), BaselineEndDate: new Date('04/17/2019')\n },\n {\n TaskID: 11,\n TaskName: 'Site work',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 12, TaskName: 'Clear the building site', StartDate: new Date('04/04/2019'),\n Duration: 2, Progress: 30, Predecessor: '9',\n info: 'Clear the building site (demolition of existing home if necessary)',\n BaselineStartDate: new Date('04/16/2019'), BaselineEndDate: new Date('04/18/2019')\n },\n {\n TaskID: 13, TaskName: 'Install temporary power service', StartDate: new Date('04/04/2019'),\n Duration: 2, Predecessor: '12', info: '',\n BaselineStartDate: new Date('04/17/2019'), BaselineEndDate: new Date('04/19/2019')\n },\n ]\n },\n];\nexport let resourceData: object[] = [\n {\n TaskID: 1,\n TaskName: 'Project initiation',\n StartDate: new Date('03/29/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 2, TaskName: 'Identify site location', StartDate: new Date('03/29/2019'), Duration: 2,\n Progress: 30, work: 16, resources: [{ resourceId: 1, unit: 70 }, 6]\n },\n {\n TaskID: 3, TaskName: 'Perform soil test', StartDate: new Date('03/29/2019'), Duration: 4,\n resources: [2, 3, 5], work: 96\n },\n {\n TaskID: 4, TaskName: 'Soil test approval', StartDate: new Date('03/29/2019'), Duration: 1,\n work: 16, resources: [8, { resourceId: 9, unit: 50 }], Progress: 30\n },\n ]\n },\n {\n TaskID: 5,\n TaskName: 'Project estimation', StartDate: new Date('03/29/2019'), EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 6, TaskName: 'Develop floor plan for estimation', StartDate: new Date('03/29/2019'),\n Duration: 3, Progress: 30, resources: [{ resourceId: 4, unit: 50 }], work: 30\n },\n {\n TaskID: 7, TaskName: 'List materials', StartDate: new Date('04/01/2019'), Duration: 3,\n work: 48, resources: [4, 8]\n },\n {\n TaskID: 8, TaskName: 'Estimation approval', StartDate: new Date('04/01/2019'),\n Duration: 2, work: 60, resources: [12, { resourceId: 5, unit: 70 }]\n }\n ]\n },\n {\n TaskID: 9, TaskName: 'Sign contract', StartDate: new Date('04/01/2019'), Duration: 1,\n Progress: 30, resources: [12], work: 24\n }\n];\nexport let resourceResources: object[] = [\n { resourceId: 1, resourceName: 'Martin Tamer' },\n { resourceId: 2, resourceName: 'Rose Fuller' },\n { resourceId: 3, resourceName: 'Margaret Buchanan' },\n { resourceId: 4, resourceName: 'Fuller King' },\n { resourceId: 5, resourceName: 'Davolio Fuller' },\n { resourceId: 6, resourceName: 'Van Jack' },\n { resourceId: 7, resourceName: 'Fuller Buchanan' },\n { resourceId: 8, resourceName: 'Jack Davolio' },\n { resourceId: 9, resourceName: 'Tamer Vinet' },\n { resourceId: 10, resourceName: 'Vinet Fuller' },\n { resourceId: 11, resourceName: 'Bergs Anton' },\n { resourceId: 12, resourceName: 'Construction Supervisor' }\n];\nexport let taskModeData: Object[] = [\n {\n \"TaskID\": 1,\n \"TaskName\": \"Parent Task 1\",\n \"StartDate\": new Date(\"02/27/2017\"),\n \"EndDate\": new Date(\"03/03/2017\"),\n \"Progress\": \"40\",\n \"isManual\" : true,\n resources: [1],\n \"Children\": [\n { \"TaskID\": 2, resources: [2,3],\"TaskName\": \"Child Task 1\", \"StartDate\": new Date(\"02/27/2017\"), \"EndDate\": new Date(\"03/03/2017\"), \"Progress\": \"40\" },\n { \"TaskID\": 3, \"TaskName\": \"Child Task 2\", \"StartDate\": new Date(\"02/26/2017\"), \"EndDate\": new Date(\"03/03/2017\"), \"Progress\": \"40\",\"isManual\": true },\n { \"TaskID\": 4, \"TaskName\": \"Child Task 3\", \"StartDate\": new Date(\"02/27/2017\"), \"EndDate\": new Date(\"03/03/2017\"), \"Duration\": 5, \"Progress\": \"40\", }\n ]\n },\n {\n \"TaskID\": 5,\n \"TaskName\": \"Parent Task 2\",\n \"StartDate\": new Date(\"03/05/2017\"),\n \"EndDate\": new Date(\"03/09/2017\"),\n \"Progress\": \"40\",\n \"isManual\": true,\n \"Children\": [\n { \"TaskID\": 6, \"TaskName\": \"Child Task 1\", \"StartDate\": new Date(\"03/06/2017\"), \"EndDate\": new Date(\"03/09/2017\"), \"Progress\": \"40\" },\n { \"TaskID\": 7, \"TaskName\": \"Child Task 2\", \"StartDate\": new Date(\"03/06/2017\"), \"EndDate\": new Date(\"03/09/2017\"), \"Progress\": \"40\", },\n { \"TaskID\": 8, \"TaskName\": \"Child Task 3\", \"StartDate\": new Date(\"02/28/2017\"), \"EndDate\": new Date(\"03/05/2017\"), \"Progress\": \"40\",\"isManual\":true },\n { \"TaskID\": 9, \"TaskName\": \"Child Task 4\", \"StartDate\": new Date(\"03/04/2017\"), \"EndDate\": new Date(\"03/09/2017\"), \"Progress\": \"40\",\"isManual\":true }\n ]\n },\n {\n \"TaskID\": 10,\n \"TaskName\": \"Parent Task 3\",\n \"StartDate\": new Date(\"03/13/2017\"),\n \"EndDate\": new Date(\"03/17/2017\"),\n \"Progress\": \"40\",\n \"Children\": [\n { \"TaskID\": 11, \"TaskName\": \"Child Task 1\", \"StartDate\": new Date(\"03/13/2017\"), \"EndDate\": new Date(\"03/17/2017\"), \"Progress\": \"40\" },\n { \"TaskID\": 12, \"TaskName\": \"Child Task 2\", \"StartDate\": new Date(\"03/13/2017\"), \"EndDate\": new Date(\"03/17/2017\"), \"Progress\": \"40\", },\n { \"TaskID\": 13, \"TaskName\": \"Child Task 3\", \"StartDate\": new Date(\"03/13/2017\"), \"EndDate\": new Date(\"03/17/2017\"), \"Progress\": \"40\", },\n { \"TaskID\": 14, \"TaskName\": \"Child Task 4\", \"StartDate\": new Date(\"03/12/2017\"), \"EndDate\": new Date(\"03/17/2017\"), \"Progress\": \"40\",\"isManual\":true },\n { \"TaskID\": 15, \"TaskName\": \"Child Task 5\", \"StartDate\": new Date(\"03/13/2017\"), \"EndDate\": new Date(\"03/17/2017\"), \"Progress\": \"40\", }\n ]\n }\n];\nexport let resourcesData: object[] = [\n {\n TaskID: 1,\n TaskName: 'Project initiation',\n StartDate: new Date('03/29/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 2, TaskName: 'Identify site location', StartDate: new Date('03/29/2019'), Duration: 3,\n Progress: 30, work: 10, resources: [{ resourceId: 1, resourceUnit: 50 }]\n },\n {\n TaskID: 3, TaskName: 'Perform soil test', StartDate: new Date('03/29/2019'), Duration: 4,\n resources: [{ resourceId: 2, resourceUnit: 70 }], Progress: 30, work: 20\n },\n {\n TaskID: 4, TaskName: 'Soil test approval', StartDate: new Date('03/29/2019'), Duration: 4,\n resources: [{ resourceId: 1, resourceUnit: 75 }], Predecessor: 2, Progress: 30, work: 10,\n },\n ]\n },\n {\n TaskID: 5,\n TaskName: 'Project estimation', StartDate: new Date('03/29/2019'), EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 6, TaskName: 'Develop floor plan for estimation', StartDate: new Date('03/29/2019'),\n Duration: 3, Progress: 30, resources: [{ resourceId: 2, resourceUnit: 70 }], Predecessor: '3FS+2', work: 30\n },\n {\n TaskID: 7, TaskName: 'List materials', StartDate: new Date('04/08/2019'), Duration: 12,\n resources: [{ resourceId: 6, resourceUnit: 40 }], Progress: 30, work: 40\n },\n {\n TaskID: 8, TaskName: 'Estimation approval', StartDate: new Date('04/03/2019'), \n Duration: 10, resources: [{ resourceId: 5, resourceUnit: 75 }], Progress: 30, work: 60,\n },\n {\n TaskID: 9, TaskName: 'Excavate for foundations', StartDate: new Date('04/01/2019'),\n Duration: 4, Progress: 30, resources: [4]\n },\n {\n TaskID: 10, TaskName: 'Install plumbing grounds', StartDate: new Date('04/08/2019'), Duration: 4,\n Progress: 30, Predecessor: '9SS', resources: [3]\n },\n {\n TaskID: 11, TaskName: 'Dig footer', StartDate: new Date('04/08/2019'),\n Duration: 3, resources: [2]\n },\n {\n TaskID: 12, TaskName: 'Electrical utilities', StartDate: new Date('04/03/2019'),\n Duration: 4, Progress: 30, resources: [3]\n }\n ]\n },\n {\n TaskID: 13, TaskName: 'Sign contract', StartDate: new Date('04/04/2019'), Duration: 2,\n Progress: 30,\n }\n];\nexport let resourceCollection: object[] = [\n { resourceId: 1, resourceName: 'Martin Tamer', resourceGroup: 'Planning Team'},\n { resourceId: 2, resourceName: 'Rose Fuller', resourceGroup: 'Testing Team' },\n { resourceId: 3, resourceName: 'Margaret Buchanan', resourceGroup: 'Approval Team' },\n { resourceId: 4, resourceName: 'Fuller King', resourceGroup: 'Development Team' },\n { resourceId: 5, resourceName: 'Davolio Fuller', resourceGroup: 'Approval Team' },\n { resourceId: 6, resourceName: 'Van Jack', resourceGroup: 'Development Team' }\n];\n\nexport let multitaskbardata: object[] = [\n {\n TaskID: 1,\n TaskName: 'Project initiation',\n StartDate: new Date('03/29/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 2, TaskName: 'Identify site location', StartDate: new Date('03/29/2019'), Duration: 3,\n Progress: 30, work: 10, resources: [{ resourceId: 1, resourceUnit: 50 }]\n },\n {\n TaskID: 3, TaskName: 'Perform soil test', StartDate: new Date('04/03/2019'), Duration: 4,\n resources: [{ resourceId: 1, resourceUnit: 70 }], Predecessor: 2, Progress: 30, work: 20\n },\n {\n TaskID: 4, TaskName: 'Soil test approval', StartDate: new Date('04/09/2019'), Duration: 4,\n resources: [{ resourceId: 1, resourceUnit: 25 }], Predecessor: 3, Progress: 30, work: 10,\n },\n ]\n },\n {\n TaskID: 5,\n TaskName: 'Project estimation', StartDate: new Date('03/29/2019'), EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 6, TaskName: 'Develop floor plan for estimation', StartDate: new Date('04/01/2019'),\n Duration: 5, Progress: 30, resources: [{ resourceId: 2, resourceUnit: 50 }], work: 30\n },\n {\n TaskID: 7, TaskName: 'List materials', StartDate: new Date('04/04/2019'), Duration: 4,\n resources: [{ resourceId: 2, resourceUnit: 40 }], Predecessor: '6FS-2', Progress: 30, work: 40\n },\n {\n TaskID: 8, TaskName: 'Estimation approval', StartDate: new Date('04/09/2019'),\n Duration: 4, resources: [{ resourceId: 2, resourceUnit: 75 }], Predecessor: '7FS-1', Progress: 30, work: 60,\n }\n ]\n },\n {\n TaskID: 9,\n TaskName: 'Site work',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 10, TaskName: 'Install temporary power service', StartDate: new Date('04/01/2019'), Duration: 14,\n Progress: 30, resources: [{ resourceId: 3, resourceUnit: 75 }]\n },\n {\n TaskID: 11, TaskName: 'Clear the building site', StartDate: new Date('04/08/2019'),\n Duration: 9, Progress: 30, Predecessor: '10FS-9', resources: [3]\n },\n {\n TaskID: 12, TaskName: 'Sign contract', StartDate: new Date('04/12/2019'),\n Duration: 5, resources: [3], Predecessor: '11FS-5'\n },\n ]\n },\n {\n TaskID: 13,\n TaskName: 'Foundation',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 14, TaskName: 'Excavate for foundations', StartDate: new Date('04/01/2019'),\n Duration: 2, Progress: 30, resources: [4]\n },\n {\n TaskID: 15, TaskName: 'Dig footer', StartDate: new Date('04/04/2019'),\n Duration: 2, Predecessor: '14FS + 1', resources: [4]\n },\n {\n TaskID: 16, TaskName: 'Install plumbing grounds', StartDate: new Date('04/08/2019'), Duration: 2,\n Progress: 30, Predecessor: 15, resources: [4]\n }\n ]\n },\n {\n TaskID: 17,\n TaskName: 'Framing',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 18, TaskName: 'Add load-bearing structure', StartDate: new Date('04/03/2019'),\n Duration: 2, Progress: 30, resources: [5]\n },\n {\n TaskID: 19, TaskName: 'Natural gas utilities', StartDate: new Date('04/08/2019'),\n Duration: 4, Predecessor: '18', resources: [5]\n },\n {\n TaskID: 20, TaskName: 'Electrical utilities', StartDate: new Date('04/11/2019'),\n Duration: 2, Progress: 30, Predecessor: '19FS + 1', resources: [5]\n }\n ]\n }\n];\nexport let resources: object[] = [\n { resourceId: 1, resourceName: 'Martin Tamer', resourceGroup: 'Planning Team', isExpand: false},\n { resourceId: 2, resourceName: 'Rose Fuller', resourceGroup: 'Testing Team', isExpand: true},\n { resourceId: 3, resourceName: 'Margaret Buchanan', resourceGroup: 'Approval Team', isExpand: false },\n { resourceId: 4, resourceName: 'Fuller King', resourceGroup: 'Development Team', isExpand: false },\n { resourceId: 5, resourceName: 'Davolio Fuller', resourceGroup: 'Approval Team', isExpand: true }\n];\n\nexport let splitTasksData: object[] = [\n {\n TaskID: 1,\n TaskName: 'Project Schedule',\n StartDate: new Date('02/04/2019'),\n EndDate: new Date('03/10/2019'),\n subtasks: [\n {\n TaskID: 2,\n TaskName: 'Planning',\n StartDate: new Date('02/04/2019'),\n subtasks: [\n {\n TaskID: 3, TaskName: 'Plan timeline', StartDate: new Date('02/04/2019'), EndDate: new Date('02/10/2019'),\n Duration: 10, Progress: '60',\n Segments: [\n { StartDate: new Date('02/04/2019'), Duration: 2 },\n { StartDate: new Date('02/05/2019'), Duration: 5 },\n { StartDate: new Date('02/08/2019'), Duration: 3 }\n ]\n },\n {\n TaskID: 4, TaskName: 'Plan budget', StartDate: new Date('02/04/2019'), EndDate: new Date('02/10/2019'),\n Duration: 10, Progress: '90'\n },\n {\n TaskID: 5, TaskName: 'Allocate resources', StartDate: new Date('02/04/2019'), EndDate: new Date('02/10/2019'),\n Duration: 10, Progress: '75',\n Segments: [\n { StartDate: new Date('02/04/2019'), Duration: 4 },\n { StartDate: new Date('02/08/2019'), Duration: 2 }\n ]\n },\n {\n TaskID: 6, TaskName: 'Planning complete', StartDate: new Date('02/21/2019'), EndDate: new Date('02/21/2019'),\n Duration: 0, Predecessor: '3FS,5FS'\n },\n ]\n },\n {\n TaskID: 7,\n TaskName: 'Design',\n StartDate: new Date('02/25/2019'),\n subtasks: [\n {\n TaskID: 8, TaskName: 'Software Specification', StartDate: new Date('02/25/2019'), EndDate: new Date('03/02/2019'),\n Duration: 5, Progress: '60', Predecessor: '6FS'\n },\n {\n TaskID: 9, TaskName: 'Develop prototype', StartDate: new Date('02/25/2019'), EndDate: new Date('03/02/2019'),\n Duration: 5, Progress: '100', Predecessor: '6FS',\n Segments: [\n { StartDate: new Date('02/25/2019'), Duration: 2 },\n { StartDate: new Date('02/28/2019'), Duration: 3 }\n ]\n },\n {\n TaskID: 10, TaskName: 'Get approval from customer', StartDate: new Date('02/25/2019'),\n\t\t\t\t\t\tEndDate: new Date('03/01/2019'), Duration: 4, Progress: '100', Predecessor: '9FS'\n },\n {\n TaskID: 11, TaskName: 'Design complete', StartDate: new Date('02/25/2019'), EndDate: new Date('02/25/2019'),\n Duration: 0, Predecessor: '10FS'\n }\n ]\n }\n ]\n }\n];\n\nexport let tempData: any[] = [\n {\n TaskID: 1, TaskName: 'Product concept',StartDate: new Date('04/02/2019'), EndDate: new Date('04/21/2019'),\n parentID: 0\n },\n {\n TaskID: 2, TaskName: 'Defining the product and its usage', StartDate: new Date('04/02/2019'),\n Duration: 3, Progress: 30, parentID: 1\n },\n {\n TaskID: 3, TaskName: 'Defining target audience', StartDate: new Date('04/02/2019'),\n parentID: 1, Duration: 3\n },\n {\n TaskID: 4, TaskName: 'Prepare product sketch and notes', StartDate: new Date('04/05/2019'),\n Duration: 2, parentID: 1, Progress: 30\n },\n {\n TaskID: 5, TaskName: 'Concept approval', StartDate: new Date('04/08/2019'),\n parentID: 0, Duration: 0\n },\n {\n TaskID: 6, TaskName: 'Market research', StartDate: new Date('04/02/2019'),\n parentID: 0, EndDate: new Date('04/21/2019')\n },\n {\n TaskID: 7, TaskName: 'Demand analysis', StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'), parentID: 6\n },\n {\n TaskID: 8, TaskName: 'Customer strength', StartDate: new Date('04/09/2019'),\n Duration: 4, parentID: 7, Progress: 30\n },\n {\n TaskID: 9, TaskName: 'Market opportunity analysis', StartDate: new Date('04/09/2019'),\n Duration: 4, parentID: 7\n },\n {\n TaskID: 10, TaskName: 'Competitor analysis', StartDate: new Date('04/15/2019'),\n Duration: 4, parentID: 6, Progress: 30\n },\n {\n TaskID: 11, TaskName: 'Product strength analsysis', StartDate: new Date('04/15/2019'),\n Duration: 4, parentID: 6\n },\n {\n TaskID: 12, TaskName: 'Research complete', StartDate: new Date('04/18/2019'),\n Duration: 0, parentID: 6\n },\n {\n TaskID: 13, TaskName: 'Product design and development', StartDate: new Date('04/04/2019'),\n parentID: 0, EndDate: new Date('04/21/2019')\n },\n {\n TaskID: 14, TaskName: 'Functionality design', StartDate: new Date('04/19/2019'),\n Duration: 3, parentID: 13, Progress: 30\n },\n {\n TaskID: 15, TaskName: 'Quality design', StartDate: new Date('04/19/2019'),\n Duration: 3, parentID: 13\n },\n {\n TaskID: 16, TaskName: 'Define reliability', StartDate: new Date('04/24/2019'),\n Duration: 2, Progress: 30, parentID: 13\n },\n {\n TaskID: 17, TaskName: 'Identifying raw materials', StartDate: new Date('04/24/2019'),\n Duration: 2, parentID: 13\n },\n {\n TaskID: 18, TaskName: 'Define cost plan', StartDate: new Date('04/04/2019'),\n parentID: 13, EndDate: new Date('04/21/2019')\n },\n {\n TaskID: 19, TaskName: 'Manufacturing cost', StartDate: new Date('04/26/2019'),\n Duration: 2, Progress: 30, parentID: 18\n },\n {\n TaskID: 20, TaskName: 'Selling cost', StartDate: new Date('04/26/2019'),\n Duration: 2, parentID: 18\n },\n {\n TaskID: 21, TaskName: 'Development of the final design', StartDate: new Date('04/30/2019'),\n parentID: 13, EndDate: new Date('04/21/2019')\n },\n {\n TaskID: 22, TaskName: 'Defining dimensions and package volume', StartDate: new Date('04/30/2019'),\n Duration: 2, parentID: 21, Progress: 30\n },\n {\n TaskID: 23, TaskName: 'Develop design to meet industry standards', StartDate: new Date('05/02/2019'),\n Duration: 2, parentID: 21\n },\n {\n TaskID: 24, TaskName: 'Include all the details', StartDate: new Date('05/06/2019'),\n Duration: 3, parentID: 21\n },\n {\n TaskID: 25, TaskName: 'CAD computer-aided design', StartDate: new Date('05/09/2019'),\n Duration: 3, parentID: 13, Progress: 30\n },\n {\n TaskID: 26, TaskName: 'CAM computer-aided manufacturing', StartDate: new Date('09/14/2019'),\n Duration: 3, parentID: 13\n },\n {\n TaskID: 27, TaskName: 'Design complete', StartDate: new Date('05/16/2019'),\n Duration: 0, parentID: 13\n },\n {\n TaskID: 28, TaskName: 'Prototype testing', StartDate: new Date('05/17/2019'),\n Duration: 4, Progress: 30, parentID: 0\n },\n {\n TaskID: 29, TaskName: 'Include feedback', StartDate: new Date('05/17/2019'),\n Duration: 4, parentID: 0\n },\n {\n TaskID: 30, TaskName: 'Manufacturing', StartDate: new Date('05/23/2019'),\n Duration: 5, Progress: 30, parentID: 0\n },\n {\n TaskID: 31, TaskName: 'Assembling materials to finsihed goods', StartDate: new Date('05/30/2019'),\n Duration: 5, parentID: 0\n },\n {\n TaskID: 32, TaskName: 'Feedback and testing', StartDate: new Date('04/04/2019'),\n parentID: 0, EndDate: new Date('04/21/2019'),\n },\n {\n TaskID: 33, TaskName: 'Internal testing and feedback', StartDate: new Date('06/06/2019'),\n Duration: 3, parentID: 32, Progress: 45\n },\n {\n TaskID: 34, TaskName: 'Customer testing and feedback', StartDate: new Date('06/11/2019'),\n Duration: 3, parentID: 32, Progress: 50\n },\n {\n TaskID: 35, TaskName: 'Final product development', StartDate: new Date('04/04/2019'),\n parentID: 0, EndDate: new Date('04/21/2019'),\n },\n {\n TaskID: 36, TaskName: 'Important improvements', StartDate: new Date('06/14/2019'),\n Duration: 4, Progress: 30, parentID: 35\n },\n {\n TaskID: 37, TaskName: 'Address any unforeseen issues', StartDate: new Date('06/14/2019'),\n Duration: 4, Progress: 30, parentID: 35\n },\n {\n TaskID: 38, TaskName: 'Final product', StartDate: new Date('04/04/2019'),\n parentID: 0, EndDate: new Date('04/21/2019'),\n },\n {\n TaskID: 39, TaskName: 'Branding product', StartDate: new Date('06/20/2019'),\n Duration: 4, parentID: 38\n },\n {\n TaskID: 40, TaskName: 'Marketing and presales', StartDate: new Date('06/26/2019'), Duration: 4,\n Progress: 30, parentID: 38\n }\n];\n\nexport let virtualData: any[] = [];\nlet projId: number = 1;\nfor (let i: number = 0; i < 50; i++) {\n let x: number = virtualData.length + 1;\n let parent: any = {};\n /* tslint:disable:no-string-literal */\n parent['TaskID'] = x;\n parent['TaskName'] = 'Project ' + (i + 1);\n virtualData.push(parent);\n for (let j: number = 0; j < tempData.length; j++) {\n let subtasks: any = {};\n /* tslint:disable:no-string-literal */\n subtasks['TaskID'] = tempData[j].TaskID + x;\n subtasks['TaskName'] = tempData[j].TaskName;\n subtasks['StartDate'] = tempData[j].StartDate;\n subtasks['Duration'] = tempData[j].Duration;\n subtasks['Progress'] = tempData[j].Progress;\n subtasks['parentID'] = tempData[j].parentID + x;\n virtualData.push(subtasks);\n }\n}\n\nexport let timezoneData: object[] = [\n {\n taskID: 1,\n taskName: 'Project Schedule',\n startDate: new Date('02/04/2019 08:00'),\n endDate: new Date('03/10/2019')\n },\n {\n taskID: 2,\n taskName: 'Planning',\n startDate: new Date('02/04/2019 08:00'),\n endDate: new Date('02/10/2019'),\n parentID: 1\n },\n {\n taskID: 3,\n taskName: 'Plan timeline',\n startDate: new Date('02/04/2019 08:00'),\n endDate: new Date('02/10/2019'),\n duration: 6,\n progress: '60',\n parentID: 2\n },\n {\n taskID: 4,\n taskName: 'Plan budget',\n startDate: new Date('02/04/2019 08:00'),\n endDate: new Date('02/10/2019'),\n duration: 6,\n progress: '90',\n parentID: 2\n },\n {\n taskID: 5,\n taskName: 'Allocate resources',\n startDate: new Date('02/04/2019 08:00'),\n endDate: new Date('02/10/2019'),\n duration: 6,\n progress: '75',\n parentID: 2\n },\n {\n taskID: 6,\n taskName: 'Planning complete',\n startDate: new Date('02/06/2019 08:00'),\n endDate: new Date('02/10/2019'),\n duration: 0,\n predecessor: '3FS,4FS,5FS',\n parentID: 2\n },\n {\n taskID: 7,\n taskName: 'Design',\n startDate: new Date('02/13/2019 08:00'),\n endDate: new Date('02/17/2019 08:00'),\n parentID: 1,\n },\n {\n taskID: 8,\n taskName: 'Software Specification',\n startDate: new Date('02/13/2019 08:00'),\n endDate: new Date('02/15/2019'),\n duration: 3,\n progress: '60',\n predecessor: '6FS',\n parentID: 7,\n },\n {\n taskID: 9,\n taskName: 'Develop prototype',\n startDate: new Date('02/13/2019 08:00'),\n endDate: new Date('02/15/2019'),\n duration: 3,\n progress: '100',\n predecessor: '6FS',\n parentID: 7,\n },\n {\n taskID: 10,\n taskName: 'Get approval from customer',\n startDate: new Date('02/16/2019 08:00'),\n endDate: new Date('02/17/2019 08:00'),\n duration: 2,\n progress: '100',\n predecessor: '9FS',\n parentID: 7,\n },\n {\n taskID: 11,\n taskName: 'Design complete',\n startDate: new Date('02/17/2019 08:00'),\n endDate: new Date('02/17/2019 08:00'),\n duration: 0,\n predecessor: '10FS',\n parentID: 7,\n }\n];","app.component.ts":"import { Component, OnInit } from '@angular/core';\nimport { projectNewData } from './data';\n@Component({\n selector: 'app-root',\n templateUrl: 'app.component.html'\n})\nexport class AppComponent {\n public data: object[];\n public taskSettings: object;\n public columns: object[];\n public labelSettings: object;\n public projectStartDate: Date;\n public projectEndDate: Date;\n public eventMarkers: object[];\n public ngOnInit(): void {\n this.data = projectNewData;\n this.taskSettings = {\n id: 'TaskID',\n name: 'TaskName',\n startDate: 'StartDate',\n endDate: 'EndDate',\n duration: 'Duration',\n progress: 'Progress',\n dependency: 'Predecessor',\n child: 'subtasks'\n };\n this.columns = [\n { field: 'TaskID', width: 80 },\n { field: 'TaskName', width: 250 },\n { field: 'StartDate' },\n { field: 'EndDate' },\n { field: 'Duration' },\n { field: 'Predecessor' },\n { field: 'Progress' },\n ];\n this.projectStartDate = new Date('03/24/2019');\n this.projectEndDate = new Date('07/06/2019');\n this.labelSettings = {\n leftLabel: 'TaskName',\n };\n this.eventMarkers = [\n {\n day: new Date('04/02/2019'),\n }, {\n day: new Date(\"04/09/2019\"),\n label: 'Research phase'\n }, {\n day: new Date(\"04/30/2019\"),\n label: 'Design phase'\n }, {\n day: new Date(\"05/23/2019\"),\n label: 'Production phase'\n }, {\n day: new Date(\"06/20/2019\"),\n label: 'Sales and marketing phase'\n }\n ];\n }\n}\n","app/app.module.ts":"import { MultiSelectAllModule } from '@syncfusion/ej2-angular-dropdowns';\n\nimport { TextBoxAllModule, NumericTextBoxAllModule } from '@syncfusion/ej2-angular-inputs';\n\nimport { DropDownListAllModule } from '@syncfusion/ej2-angular-dropdowns';\n\nimport { CheckBoxAllModule } from '@syncfusion/ej2-angular-buttons';\n\nimport { GanttAllModule } from '@syncfusion/ej2-angular-gantt';\n\nimport { HttpModule } from '@angular/http';\n\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\nimport { RouterModule } from '@angular/router';\n\nimport { CommonModule } from '@angular/common';\n\nimport { BrowserModule } from '@angular/platform-browser';\n\nimport { NgModule } from '@angular/core';\nimport { AppComponent } from '../app.component';\n@NgModule({ declarations: [ AppComponent ], imports: [ BrowserModule, GanttAllModule, DropDownListAllModule, CheckBoxAllModule, TextBoxAllModule, NumericTextBoxAllModule, MultiSelectAllModule], providers: [], bootstrap: [AppComponent]\n})\nexport class AppModule { }\n","app.component.html":"\n
\n \n \n
\n","app.component.css":""} \ No newline at end of file +{"dependencies.json":"{\"@syncfusion/ej2-base\": \"*\", \"@syncfusion/ej2-buttons\": \"*\", \"@syncfusion/ej2-splitbuttons\": \"*\", \"@syncfusion/ej2-calendars\": \"*\", \"@syncfusion/ej2-charts\": \"*\", \"@syncfusion/ej2-diagrams\": \"*\", \"@syncfusion/ej2-maps\": \"*\", \"@syncfusion/ej2-treemap\": \"*\", \"@syncfusion/ej2-circulargauge\": \"*\", \"@syncfusion/ej2-data\": \"*\", \"@syncfusion/ej2-dropdowns\": \"*\", \"@syncfusion/ej2-grids\": \"*\", \"@syncfusion/ej2-inputs\": \"*\", \"@syncfusion/ej2-lists\": \"*\", \"@syncfusion/ej2-navigations\": \"*\", \"@syncfusion/ej2-popups\": \"*\", \"@syncfusion/ej2-lineargauge\": \"*\", \"@syncfusion/ej2-pdf-export\": \"*\", \"@syncfusion/ej2-compression\": \"*\", \"@syncfusion/ej2-excel-export\": \"*\", \"@syncfusion/ej2-file-utils\": \"*\", \"@syncfusion/ej2-svg-base\": \"*\", \"@syncfusion/ej2-documenteditor\": \"*\", \"@syncfusion/ej2-richtexteditor\": \"*\", \"@syncfusion/ej2-notifications\": \"*\", \"@syncfusion/ej2-heatmap\": \"*\", \"@syncfusion/ej2-pivotview\": \"*\", \"@syncfusion/ej2-schedule\": \"*\", \"@syncfusion/ej2-layouts\": \"*\", \"@syncfusion/ej2-angular-base\": \"*\", \"@syncfusion/ej2-angular-buttons\": \"*\", \"@syncfusion/ej2-angular-splitbuttons\": \"*\", \"@syncfusion/ej2-angular-calendars\": \"*\", \"@syncfusion/ej2-angular-charts\": \"*\", \"@syncfusion/ej2-angular-diagrams\": \"*\", \"@syncfusion/ej2-angular-maps\": \"*\", \"@syncfusion/ej2-angular-treemap\": \"*\", \"@syncfusion/ej2-angular-circulargauge\": \"*\", \"@syncfusion/ej2-angular-dropdowns\": \"*\", \"@syncfusion/ej2-angular-grids\": \"*\", \"@syncfusion/ej2-angular-inputs\": \"*\", \"@syncfusion/ej2-angular-lists\": \"*\", \"@syncfusion/ej2-angular-navigations\": \"*\", \"@syncfusion/ej2-angular-popups\": \"*\", \"@syncfusion/ej2-angular-lineargauge\": \"*\", \"@syncfusion/ej2-angular-documenteditor\": \"*\", \"@syncfusion/ej2-angular-richtexteditor\": \"*\", \"@syncfusion/ej2-angular-notifications\": \"*\", \"@syncfusion/ej2-angular-heatmap\": \"*\", \"@syncfusion/ej2-angular-pivotview\": \"*\", \"@syncfusion/ej2-angular-schedule\": \"*\", \"@syncfusion/ej2-angular-layouts\": \"*\" , \"@angular/http\": \"*\", \"rxjs-compat\":\"*\", \"core-js\": \"2.6.9\"}","main.ts":"import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.error(err));\n","polyfills.ts":"/**\n * This file includes polyfills needed by Angular and is loaded before the app.\n * You can add your own extra polyfills to this file.\n *\n * This file is divided into 2 sections:\n * 1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers.\n * 2. Application imports. Files imported after ZoneJS that should be loaded before your main\n * file.\n *\n * The current setup is for so-called \"evergreen\" browsers; the last versions of browsers that\n * automatically update themselves. This includes Safari >= 10, Chrome >= 55 (including Opera),\n * Edge >= 13 on the desktop, and iOS 10 and Chrome on mobile.\n *\n * Learn more in https://angular.io/guide/browser-support\n */\n\n/***************************************************************************************************\n * BROWSER POLYFILLS\n */\n\n/** IE10 and IE11 requires the following for NgClass support on SVG elements */\n// import 'classlist.js'; // Run `npm install --save classlist.js`.\n\n/**\n * Web Animations `@angular/platform-browser/animations`\n * Only required if AnimationBuilder is used within the application and using IE/Edge or Safari.\n * Standard animation support in Angular DOES NOT require any polyfills (as of Angular 6.0).\n */\n// import 'web-animations-js'; // Run `npm install --save web-animations-js`.\n\n/**\n * By default, zone.js will patch all possible macroTask and DomEvents\n * user can disable parts of macroTask/DomEvents patch by setting following flags\n * because those flags need to be set before `zone.js` being loaded, and webpack\n * will put import in the top of bundle, so user need to create a separate file\n * in this directory (for example: zone-flags.ts), and put the following flags\n * into that file, and then add the following code before importing zone.js.\n * import './zone-flags';\n *\n * The flags allowed in zone-flags.ts are listed here.\n *\n * The following flags will work for all browsers.\n *\n * (window as any).__Zone_disable_requestAnimationFrame = true; // disable patch requestAnimationFrame\n * (window as any).__Zone_disable_on_property = true; // disable patch onProperty such as onclick\n * (window as any).__zone_symbol__UNPATCHED_EVENTS = ['scroll', 'mousemove']; // disable patch specified eventNames\n *\n * in IE/Edge developer tools, the addEventListener will also be wrapped by zone.js\n * with the following flag, it will bypass `zone.js` patch for IE/Edge\n *\n * (window as any).__Zone_enable_cross_context_check = true;\n *\n */\n\n/***************************************************************************************************\n * Zone JS is required by default for Angular itself.\n */\nimport 'zone.js/dist/zone'; // Included with Angular CLI.\n\n\n/***************************************************************************************************\n * APPLICATION IMPORTS\n */\n","angular.json":"{\n \"$schema\": \"./node_modules/@angular/cli/lib/config/schema.json\",\n \"version\": 1,\n \"newProjectRoot\": \"projects\",\n \"projects\": {\n \"demo\": {\n \"root\": \"\",\n \"sourceRoot\": \"\",\n \"projectType\": \"application\",\n \"prefix\": \"app\",\n \"schematics\": {},\n \"architect\": {\n \"build\": {\n \"builder\": \"@angular-devkit/build-angular:browser\",\n \"options\": {\n \"outputPath\": \"dist/demo\",\n \"index\": \"index.html\",\n \"main\": \"main.ts\",\n \"polyfills\": \"polyfills.ts\",\n \"tsConfig\": \"tsconfig.app.json\",\n \"assets\": [\n \"favicon.ico\",\n \"assets\"\n ],\n \"styles\": [\n \n ],\n \"scripts\": []\n },\n \"configurations\": {\n \"production\": {\n \"fileReplacements\": [\n {\n \"replace\": \"src/environments/environment.ts\",\n \"with\": \"src/environments/environment.prod.ts\"\n }\n ],\n \"optimization\": true,\n \"outputHashing\": \"all\",\n \"sourceMap\": false,\n \"extractCss\": true,\n \"namedChunks\": false,\n \"aot\": true,\n \"extractLicenses\": true,\n \"vendorChunk\": false,\n \"buildOptimizer\": true\n }\n }\n },\n \"serve\": {\n \"builder\": \"@angular-devkit/build-angular:dev-server\",\n \"options\": {\n \"browserTarget\": \"demo:build\"\n },\n \"configurations\": {\n \"production\": {\n \"browserTarget\": \"demo:build:production\"\n }\n }\n },\n \"extract-i18n\": {\n \"builder\": \"@angular-devkit/build-angular:extract-i18n\",\n \"options\": {\n \"browserTarget\": \"demo:build\"\n }\n },\n \"test\": {\n \"builder\": \"@angular-devkit/build-angular:karma\",\n \"options\": {\n \"main\": \"src/test.ts\",\n \"polyfills\": \"src/polyfills.ts\",\n \"tsConfig\": \"src/tsconfig.spec.json\",\n \"karmaConfig\": \"src/karma.conf.js\",\n \"styles\": [\n \"styles.css\"\n ],\n \"scripts\": [],\n \"assets\": [\n \"src/favicon.ico\",\n \"src/assets\"\n ]\n }\n },\n \"lint\": {\n \"builder\": \"@angular-devkit/build-angular:tslint\",\n \"options\": {\n \"tsConfig\": [\n \"src/tsconfig.app.json\",\n \"src/tsconfig.spec.json\"\n ],\n \"exclude\": [\n \"**/node_modules/**\"\n ]\n }\n }\n }\n }\n },\n \"defaultProject\": \"demo\"\n }\n \n","environments/environment.ts":"// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\n// The list of file replacements can be found in `angular.json`.\n\nexport const environment = {\n production: false\n};\n\n/*\n * For easier debugging in development mode, you can import the following file\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\n *\n * This import should be commented out in production mode because it will have a negative impact\n * on performance if an error is thrown.\n */\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\n","environments/environment.prod.ts":"export const environment = {\n production: true\n};\n","index.html":"\n\n\n \n Window\n \n \n \n \n\n \n\n \n \n\n \n\n\n","data.ts":"/**\n * Gantt DataSource\n */\n\nexport let projectNewData: Object[] = [\n {\n TaskID: 1,\n TaskName: 'Product concept',\n StartDate: new Date('04/02/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n { TaskID: 2, TaskName: 'Defining the product and its usage', StartDate: new Date('04/02/2019'), Duration: 3, Progress: 30 },\n { TaskID: 3, TaskName: 'Defining target audience', StartDate: new Date('04/02/2019'), Duration: 3 },\n {\n TaskID: 4, TaskName: 'Prepare product sketch and notes', StartDate: new Date('04/02/2019'), Duration: 2,\n Predecessor: '2', Progress: 30\n },\n ]\n },\n {\n TaskID: 5, TaskName: 'Concept approval', StartDate: new Date('04/02/2019'), Duration: 0, Predecessor: '3,4',\n Indicators: [\n {\n 'date': new Date('04/10/2019'),\n 'name': 'Design Phase',\n 'tooltip': 'Design phase completed',\n 'iconClass': 'okIcon e-icons'\n }\n ]\n },\n {\n TaskID: 6,\n TaskName: 'Market research',\n StartDate: new Date('04/02/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 7,\n TaskName: 'Demand analysis',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 8, TaskName: 'Customer strength', StartDate: new Date('04/04/2019'), Duration: 4,\n Predecessor: '5', Progress: 30\n },\n { TaskID: 9, TaskName: 'Market opportunity analysis', StartDate: new Date('04/04/2019'), Duration: 4, Predecessor: '5' }\n ]\n },\n {\n TaskID: 10, TaskName: 'Competitor analysis', StartDate: new Date('04/04/2019'), Duration: 4,\n Predecessor: '7, 8', Progress: 30\n },\n { TaskID: 11, TaskName: 'Product strength analsysis', StartDate: new Date('04/04/2019'), Duration: 4, Predecessor: '9' },\n {\n TaskID: 12, TaskName: 'Research complete', StartDate: new Date('04/04/2019'), Duration: 0, Predecessor: '10',\n Indicators: [\n {\n 'date': new Date('04/20/2019'),\n 'name': 'Research completed',\n 'tooltip': 'Research completed',\n 'iconClass': 'description e-icons'\n }\n ]\n }\n ]\n },\n {\n TaskID: 13,\n TaskName: 'Product design and development',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 14, TaskName: 'Functionality design', StartDate: new Date('04/04/2019'),\n Duration: 3, Progress: 30, Predecessor: '12'\n },\n { TaskID: 15, TaskName: 'Quality design', StartDate: new Date('04/04/2019'), Duration: 3, Predecessor: '12' },\n { TaskID: 16, TaskName: 'Define reliability', StartDate: new Date('04/04/2019'), Duration: 2, Progress: 30, Predecessor: '15' },\n { TaskID: 17, TaskName: 'Identifying raw materials', StartDate: new Date('04/04/2019'), Duration: 2, Predecessor: '15' },\n {\n TaskID: 18,\n TaskName: 'Define cost plan',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 19, TaskName: 'Manufacturing cost', StartDate: new Date('04/04/2019'),\n Duration: 2, Progress: 30, Predecessor: '17'\n },\n { TaskID: 20, TaskName: 'Selling cost', StartDate: new Date('04/04/2019'), Duration: 2, Predecessor: '17' }\n ]\n },\n {\n TaskID: 21,\n TaskName: 'Development of the final design',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 22, TaskName: 'Defining dimensions and package volume', StartDate: new Date('04/04/2019'),\n Duration: 2, Progress: 30, Predecessor: '19,20'\n },\n {\n TaskID: 23, TaskName: 'Develop design to meet industry standards', StartDate: new Date('04/04/2019'),\n Duration: 2, Predecessor: '22'\n },\n { TaskID: 24, TaskName: 'Include all the details', StartDate: new Date('04/04/2019'), Duration: 3, Predecessor: '23' }\n ]\n },\n {\n TaskID: 25, TaskName: 'CAD computer-aided design', StartDate: new Date('04/04/2019'),\n Duration: 3, Progress: 30, Predecessor: '24'\n },\n { TaskID: 26, TaskName: 'CAM computer-aided manufacturing', StartDate: new Date('04/04/2019'), Duration: 3, Predecessor: '25' },\n {\n TaskID: 27, TaskName: 'Design complete', StartDate: new Date('04/04/2019'), Duration: 0, Predecessor: '26' \n }\n\n ]\n },\n { TaskID: 28, TaskName: 'Prototype testing', StartDate: new Date('04/04/2019'), Duration: 4, Progress: 30, Predecessor: '27' },\n { TaskID: 29, TaskName: 'Include feedback', StartDate: new Date('04/04/2019'), Duration: 4, Predecessor: '28ss', Indicators: [\n {\n 'date': new Date('05/24/2019'),\n 'name': 'Production phase',\n 'tooltip': 'Production phase completed',\n 'iconClass': 'okIcon e-icons'\n }\n ], },\n { TaskID: 30, TaskName: 'Manufacturing', StartDate: new Date('04/04/2019'), Duration: 5, Progress: 30, Predecessor: '28,29' },\n { TaskID: 31, TaskName: 'Assembling materials to finsihed goods', StartDate: new Date('04/04/2019'), Duration: 5, Predecessor: '30' },\n {\n TaskID: 32,\n TaskName: 'Feedback and testing',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 33, TaskName: 'Internal testing and feedback', StartDate: new Date('04/04/2019'),\n Duration: 3, Progress: 45, Predecessor: '31'\n },\n {\n TaskID: 34, TaskName: 'Customer testing and feedback', StartDate: new Date('04/04/2019'),\n Duration: 3, Progress: 50, Predecessor: '33'\n }\n ]\n },\n {\n TaskID: 35,\n TaskName: 'Final product development',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 36, TaskName: 'Important improvements', StartDate: new Date('04/04/2019'),\n Duration: 4, Progress: 30, Predecessor: '34'\n },\n {\n TaskID: 37, TaskName: 'Address any unforeseen issues', StartDate: new Date('04/04/2019'),\n Duration: 4, Progress: 30, Predecessor: '36ss',\n Indicators: [\n {\n 'date': new Date('06/21/2019'),\n 'name': 'Sales and marketing',\n 'tooltip': 'Sales and marketing',\n 'iconClass': 'description e-icons'\n }\n ],\n }\n ]\n },\n {\n TaskID: 38,\n TaskName: 'Final product',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n { TaskID: 39, TaskName: 'Branding product', StartDate: new Date('04/04/2019'), Duration: 4, Predecessor: '37' },\n {\n TaskID: 40, TaskName: 'Marketing and presales', StartDate: new Date('04/04/2019'),\n Duration: 4, Progress: 30, Predecessor: '39'\n }\n ]\n }\n];\n\nexport let WorkingTimeRangeData: Object[] = [\n {\n TaskID: 1,\n TaskName: 'Product concept',\n StartDate: new Date('04/02/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n { TaskID: 2, TaskName: 'Defining the product and its usage', StartDate: new Date('04/02/2019'), Duration: 3, Progress: 30 },\n { TaskID: 3, TaskName: 'Defining target audience', StartDate: new Date('04/02/2019'), Duration: 3 },\n {\n TaskID: 4, TaskName: 'Prepare product sketch and notes', StartDate: new Date('04/02/2019'), Duration: 2,\n Predecessor: '2', Progress: 30\n },\n ]\n },\n {\n TaskID: 5, TaskName: 'Concept approval', StartDate: new Date('04/02/2019'), Duration: 0, Predecessor: '3,4',\n Indicators: [\n {\n 'date': new Date('04/10/2019'),\n 'name': '#briefing',\n 'title': 'Product concept breifing',\n }\n ]\n },\n {\n TaskID: 6,\n TaskName: 'Market research',\n StartDate: new Date('04/02/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 7,\n TaskName: 'Demand analysis',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 8, TaskName: 'Customer strength', StartDate: new Date('04/04/2019'), Duration: 4,\n Predecessor: '5', Progress: 30\n },\n { TaskID: 9, TaskName: 'Market opportunity analysis', StartDate: new Date('04/04/2019'), Duration: 4, Predecessor: '5' }\n ]\n },\n {\n TaskID: 10, TaskName: 'Competitor analysis', StartDate: new Date('04/04/2019'), Duration: 4,\n Predecessor: '7, 8', Progress: 30\n },\n { TaskID: 11, TaskName: 'Product strength analsysis', StartDate: new Date('04/04/2019'), Duration: 4, Predecessor: '9' },\n {\n TaskID: 12, TaskName: 'Research complete', StartDate: new Date('04/04/2019'), Duration: 0, Predecessor: '10',\n Indicators: [\n {\n 'date': new Date('04/20/2019'),\n 'name': '#meeting',\n 'title': '1st board of directors meeting',\n }\n ]\n }\n ]\n },\n {\n TaskID: 13,\n TaskName: 'Product design and development',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 14, TaskName: 'Functionality design', StartDate: new Date('04/04/2019'),\n Duration: 3, Progress: 30, Predecessor: '12'\n },\n { TaskID: 15, TaskName: 'Quality design', StartDate: new Date('04/04/2019'), Duration: 3, Predecessor: '12' },\n { TaskID: 16, TaskName: 'Define reliability', StartDate: new Date('04/04/2019'), Duration: 2, Progress: 30, Predecessor: '15' },\n { TaskID: 17, TaskName: 'Identifying raw materials', StartDate: new Date('04/04/2019'), Duration: 2, Predecessor: '15' },\n {\n TaskID: 18,\n TaskName: 'Define cost plan',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 19, TaskName: 'Manufacturing cost', StartDate: new Date('04/04/2019'),\n Duration: 2, Progress: 30, Predecessor: '17'\n },\n { TaskID: 20, TaskName: 'Selling cost', StartDate: new Date('04/04/2019'), Duration: 2, Predecessor: '17' }\n ]\n },\n {\n TaskID: 21,\n TaskName: 'Development of the final design',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 22, TaskName: 'Defining dimensions and package volume', StartDate: new Date('04/04/2019'),\n Duration: 2, Progress: 30, Predecessor: '19,20'\n },\n {\n TaskID: 23, TaskName: 'Develop design to meet industry standards', StartDate: new Date('04/04/2019'),\n Duration: 2, Predecessor: '22'\n },\n { TaskID: 24, TaskName: 'Include all the details', StartDate: new Date('04/04/2019'), Duration: 3, Predecessor: '23' }\n ]\n },\n {\n TaskID: 25, TaskName: 'CAD computer-aided design', StartDate: new Date('04/04/2019'),\n Duration: 3, Progress: 30, Predecessor: '24'\n },\n { TaskID: 26, TaskName: 'CAM computer-aided manufacturing', StartDate: new Date('04/04/2019'), Duration: 3, Predecessor: '25' },\n {\n TaskID: 27, TaskName: 'Design complete', StartDate: new Date('04/04/2019'), Duration: 0, Predecessor: '26' \n }\n\n ]\n },\n { TaskID: 28, TaskName: 'Prototype testing', StartDate: new Date('04/04/2019'), Duration: 4, Progress: 30, Predecessor: '27' },\n { TaskID: 29, TaskName: 'Include feedback', StartDate: new Date('04/04/2019'), Duration: 4, Predecessor: '28ss', Indicators: [\n {\n 'date': new Date('05/24/2019'),\n 'name': 'Production phase',\n 'tooltip': 'Production phase completed',\n 'iconClass': 'okIcon e-icons'\n }\n ], },\n { TaskID: 30, TaskName: 'Manufacturing', StartDate: new Date('04/04/2019'), Duration: 5, Progress: 30, Predecessor: '28,29' },\n { TaskID: 31, TaskName: 'Assembling materials to finsihed goods', StartDate: new Date('04/04/2019'), Duration: 5, Predecessor: '30' },\n {\n TaskID: 32,\n TaskName: 'Feedback and testing',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 33, TaskName: 'Internal testing and feedback', StartDate: new Date('04/04/2019'),\n Duration: 3, Progress: 45, Predecessor: '31'\n },\n {\n TaskID: 34, TaskName: 'Customer testing and feedback', StartDate: new Date('04/04/2019'),\n Duration: 3, Progress: 50, Predecessor: '33'\n }\n ]\n },\n {\n TaskID: 35,\n TaskName: 'Final product development',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 36, TaskName: 'Important improvements', StartDate: new Date('04/04/2019'),\n Duration: 4, Progress: 30, Predecessor: '34'\n },\n {\n TaskID: 37, TaskName: 'Address any unforeseen issues', StartDate: new Date('04/04/2019'),\n Duration: 4, Progress: 30, Predecessor: '36ss'\n }\n ]\n },\n {\n TaskID: 38,\n TaskName: 'Final product',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n { TaskID: 39, TaskName: 'Branding product', StartDate: new Date('04/04/2019'), Duration: 4, Predecessor: '37' },\n {\n TaskID: 40, TaskName: 'Marketing and presales', StartDate: new Date('04/04/2019'),\n Duration: 4, Progress: 30, Predecessor: '39'\n }\n ]\n }\n];\n\nexport let templateData: Object[] = [\n {\n TaskID: 1,\n TaskName: 'Product concept',\n StartDate: new Date('04/02/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n { TaskID: 2, TaskName: 'Defining the product and its usage', StartDate: new Date('04/02/2019'), Duration: 3, Progress: 30, resources: [2] },\n { TaskID: 3, TaskName: 'Defining target audience', StartDate: new Date('04/02/2019'), Duration: 3, resources: [3]},\n { TaskID: 4, TaskName: 'Prepare product sketch and notes', StartDate: new Date('04/02/2019'), Duration: 2, Predecessor: '2', Progress: 30, resources: [4] }]\n },\n {\n TaskID: 5, TaskName: 'Concept approval', StartDate: new Date('04/02/2019'), Duration: 0, Predecessor: '3,4', resources: [1]\n },\n {\n TaskID: 6,\n TaskName: 'Market research',\n StartDate: new Date('04/02/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 7,\n TaskName: 'Demand analysis',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n { TaskID: 8, TaskName: 'Customer strength', StartDate: new Date('04/04/2019'), Duration: 4, Predecessor: '5', Progress: 30, resources: [5] },\n { TaskID: 9, TaskName: 'Market opportunity analysis', StartDate: new Date('04/04/2019'), Duration: 4, Predecessor: '5', resources: [6] }\n ]\n },\n { TaskID: 10, TaskName: 'Competitor analysis', StartDate: new Date('04/04/2019'), Duration: 4, Predecessor: '7, 8', Progress: 30, resources: [4] },\n { TaskID: 11, TaskName: 'Product strength analsysis', StartDate: new Date('04/04/2019'), Duration: 4, Predecessor: '9', resources: [8] },\n ]\n }\n \n]\n\nexport let zoomingData: Object[] = [\n {\n TaskID: 1,\n TaskName: 'Product concept',\n StartDate: new Date('04/02/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n { TaskID: 2, TaskName: 'Defining the product and its usage', StartDate: new Date('04/02/2019'), Duration: 3, Progress: 30 },\n { TaskID: 3, TaskName: 'Defining target audience', StartDate: new Date('04/02/2019'), Duration: 3 },\n {\n TaskID: 4, TaskName: 'Prepare product sketch and notes', StartDate: new Date('04/02/2019'), Duration: 2,\n Predecessor: '2', Progress: 30\n },\n ]\n },\n {\n TaskID: 5, TaskName: 'Concept approval', StartDate: new Date('04/02/2019'), Duration: 0, Predecessor: '3,4',\n Indicators: [\n {\n 'date': new Date('04/10/2019'),\n 'name': '#briefing',\n 'title': 'Product concept breifing',\n }\n ]\n },\n {\n TaskID: 6,\n TaskName: 'Market research',\n StartDate: new Date('04/02/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 7,\n TaskName: 'Demand analysis',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 8, TaskName: 'Customer strength', StartDate: new Date('04/04/2019'), Duration: 4,\n Predecessor: '5', Progress: 30\n },\n { TaskID: 9, TaskName: 'Market opportunity analysis', StartDate: new Date('04/04/2019'), Duration: 4, Predecessor: '5' }\n ]\n },\n {\n TaskID: 10, TaskName: 'Competitor analysis', StartDate: new Date('04/04/2019'), Duration: 4,\n Predecessor: '7, 8', Progress: 30\n },\n { TaskID: 11, TaskName: 'Product strength analsysis', StartDate: new Date('04/04/2019'), Duration: 4, Predecessor: '9' },\n {\n TaskID: 12, TaskName: 'Research complete', StartDate: new Date('04/04/2019'), Duration: 1, Predecessor: '10',\n Indicators: [\n {\n 'date': new Date('04/20/2019'),\n 'name': '#meeting',\n 'title': '1st board of directors meeting',\n }\n ]\n }\n ]\n }\n]\n\nexport let editingResources: Object[] = [\n { resourceId: 1, resourceName: 'Martin Tamer' },\n { resourceId: 2, resourceName: 'Rose Fuller' },\n { resourceId: 3, resourceName: 'Margaret Buchanan' },\n { resourceId: 4, resourceName: 'Fuller King' },\n { resourceId: 5, resourceName: 'Davolio Fuller' },\n { resourceId: 6, resourceName: 'Van Jack' },\n { resourceId: 7, resourceName: 'Fuller Buchanan' },\n { resourceId: 8, resourceName: 'Jack Davolio' },\n { resourceId: 9, resourceName: 'Tamer Vinet' },\n { resourceId: 10, resourceName: 'Vinet Fuller' },\n { resourceId: 11, resourceName: 'Bergs Anton' },\n { resourceId: 12, resourceName: 'Construction Supervisor' }\n];\n\nexport let editingData: Object[] = [\n {\n TaskID: 1,\n TaskName: 'Project initiation',\n StartDate: new Date('04/02/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 2, TaskName: 'Identify site location', StartDate: new Date('04/02/2019'), Duration: 0,\n Progress: 30, resources: [1], info: 'Measure the total property area alloted for construction'\n },\n {\n TaskID: 3, TaskName: 'Perform Soil test', StartDate: new Date('04/02/2019'), Duration: 4, Predecessor: '2',\n resources: [2, 3, 5], info: 'Obtain an engineered soil test of lot where construction is planned.' +\n 'From an engineer or company specializing in soil testing'\n },\n { TaskID: 4, TaskName: 'Soil test approval', StartDate: new Date('04/02/2019'), Duration: 0, Predecessor: '3', Progress: 30 },\n ]\n },\n {\n TaskID: 5,\n TaskName: 'Project estimation',\n StartDate: new Date('04/02/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 6, TaskName: 'Develop floor plan for estimation', StartDate: new Date('04/04/2019'),\n Duration: 3, Predecessor: '4', Progress: 30, resources: 4,\n info: 'Develop floor plans and obtain a materials list for estimations'\n },\n {\n TaskID: 7, TaskName: 'List materials', StartDate: new Date('04/04/2019'),\n Duration: 3, Predecessor: '6', resources: [4, 8], info: ''\n },\n {\n TaskID: 8, TaskName: 'Estimation approval', StartDate: new Date('04/04/2019'),\n Duration: 0, Predecessor: '7', resources: [12, 5], info: ''\n }\n ]\n },\n {\n TaskID: 9, TaskName: 'Sign contract', StartDate: new Date('04/04/2019'), Duration: 1,\n Predecessor: '8', Progress: 30, resources: [12],\n info: 'If required obtain approval from HOA (homeowners association) or ARC (architectural review committee)'\n },\n {\n TaskID: 10,\n TaskName: 'Project approval and kick off',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n Duration: 0,\n Predecessor: '9'\n },\n {\n TaskID: 11,\n TaskName: 'Site work',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 12, TaskName: 'Clear the building site', StartDate: new Date('04/04/2019'),\n Duration: 2, Progress: 30, Predecessor: '9', resources: [6, 7],\n info: 'Clear the building site (demolition of existing home if necessary)'\n },\n {\n TaskID: 13, TaskName: 'Install temporary power service', StartDate: new Date('04/04/2019'),\n Duration: 2, Predecessor: '12', resources: [6, 7], info: ''\n },\n ]\n },\n {\n TaskID: 14,\n TaskName: 'Foundation',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 15, TaskName: 'Excavate for foundations', StartDate: new Date('04/04/2019'),\n Duration: 3, Progress: 30, Predecessor: '13', resources: [2, 8],\n info: 'Excavate the foundation and dig footers (Scope of work is dependent of foundation designed by engineer)'\n },\n {\n TaskID: 16, TaskName: 'Dig footer', StartDate: new Date('04/04/2019'),\n Duration: 2, Predecessor: '15FF', resources: [8], info: ''\n },\n {\n TaskID: 17, TaskName: 'Install plumbing grounds', StartDate: new Date('04/04/2019'), Duration: 4,\n Progress: 30, Predecessor: '15', resources: [9], info: ''\n },\n {\n TaskID: 18, TaskName: 'Pour a foundation and footer with concrete', StartDate: new Date('04/04/2019'),\n Duration: 1, Predecessor: '17', resources: [8, 9, 10], info: ''\n },\n {\n TaskID: 19, TaskName: 'Cure basement walls', StartDate: new Date('04/04/2019'), Duration: 4,\n Progress: 30, Predecessor: '18', resources: [10], info: ''\n },\n ]\n },\n {\n TaskID: 20,\n TaskName: 'Framing',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 21, TaskName: 'Add load-bearing structure', StartDate: new Date('04/04/2019'),\n Duration: 3, Progress: 30, Predecessor: '19', resources: [4, 5],\n info: 'Build the main load-bearing structure out of thick pieces of wood and' +\n 'possibly metal I-beams for large spans with few supports'\n },\n {\n TaskID: 22, TaskName: 'Install floor joists', StartDate: new Date('04/04/2019'),\n Duration: 3, Predecessor: '21', resources: [2, 3], info: 'Add floor and ceiling joists and install subfloor panels'\n },\n {\n TaskID: 23, TaskName: 'Add ceiling joists', StartDate: new Date('04/04/2019'),\n Duration: 3, Progress: 30, Predecessor: '22SS', resources: [5], info: ''\n },\n {\n TaskID: 24, TaskName: 'Install subfloor panels', StartDate: new Date('04/04/2019'),\n Duration: 3, Predecessor: '23', resources: [8, 9]\n },\n {\n TaskID: 25, TaskName: 'Frame floor walls', StartDate: new Date('04/04/2019'), Duration: 3,\n Progress: 30, Predecessor: '24', resources: [10], info: ''\n },\n {\n TaskID: 26, TaskName: 'Frame floor decking', StartDate: new Date('04/04/2019'), Duration: 3,\n Progress: 30, Predecessor: '25SS', resources: [4, 8], info: ''\n },\n ]\n },\n {\n TaskID: 27,\n TaskName: 'Exterior finishing',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 28, TaskName: 'Cover outer walls and roof in OSB', StartDate: new Date('04/04/2019'),\n Duration: 3, Progress: 30, Predecessor: '26', resources: [2, 8],\n info: 'Cover outer walls and roof in OSB or plywood and a water-resistive barrier'\n },\n {\n TaskID: 29, TaskName: 'Add water resistive barrier', StartDate: new Date('04/04/2019'),\n Duration: 3, Predecessor: '28', resources: [1, 10],\n info: 'Cover the walls with siding, typically vinyl, wood, or brick veneer but possibly stone or other materials'\n },\n {\n TaskID: 30, TaskName: 'Install roof shingles', StartDate: new Date('04/04/2019'), Duration: 3,\n Progress: 30, Predecessor: '29', resources: [8, 9], info: 'Install roof shingles or other covering for flat roof'\n },\n { TaskID: 31, TaskName: 'Install windows', StartDate: new Date('04/04/2019'), Duration: 3, Predecessor: '29', resources: 7 },\n ]\n },\n {\n TaskID: 32,\n TaskName: 'Utilities',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 33, TaskName: 'Install internal plumbing', StartDate: new Date('04/04/2019'), Duration: 3,\n Progress: 30, Predecessor: '26', resources: [1, 10]\n },\n {\n TaskID: 34, TaskName: 'Install HVAC', StartDate: new Date('04/04/2019'), Duration: 3, Predecessor: '33',\n resources: [4, 9], info: 'Add internal plumbing, HVAC, electrical, and natural gas utilities'\n },\n {\n TaskID: 35, TaskName: 'Electrical utilities', StartDate: new Date('04/04/2019'), Duration: 3,\n Progress: 30, Predecessor: '34'\n },\n {\n TaskID: 36, TaskName: 'Natural gas utilities', StartDate: new Date('04/04/2019'), Duration: 3,\n Predecessor: '35', resources: 11\n },\n {\n TaskID: 37, TaskName: 'Install bathroom fixtures', StartDate: new Date('04/04/2019'), Duration: 3,\n Progress: 30, Predecessor: '35', resources: [3, 7]\n },\n ],\n info: 'Building inspector visits if necessary to approve utilities and framing'\n },\n {\n TaskID: 38,\n TaskName: 'Interior finsihing',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 39, TaskName: 'Install insulation', StartDate: new Date('04/04/2019'),\n Duration: 3, Progress: 30, Predecessor: '37', resources: [1, 8], info: 'Frame interior walls with wooden 2×4s'\n },\n {\n TaskID: 40, TaskName: 'Install drywall panels', StartDate: new Date('04/04/2019'), Duration: 3,\n Predecessor: '39', resources: 5,\n info: 'Install insulation and interior drywall panels (cementboard for wet areas) and to complete walls and ceilings'\n },\n {\n TaskID: 41, TaskName: 'Spackle', StartDate: new Date('04/04/2019'), Duration: 3,\n Progress: 30, Predecessor: '40', resources: 10\n },\n {\n TaskID: 42, TaskName: 'Apply primer', StartDate: new Date('04/04/2019'), Duration: 3,\n Predecessor: '41', resources: [10, 11]\n },\n {\n TaskID: 43, TaskName: 'Paint wall and ceilings', StartDate: new Date('04/04/2019'),\n Duration: 3, Progress: 30, Predecessor: '42', resources: [2, 9]\n },\n {\n TaskID: 44, TaskName: 'Install modular kitchen', StartDate: new Date('04/04/2019'),\n Duration: 3, Progress: 30, Predecessor: '43', resources: [5, 7]\n },\n ]\n },\n {\n TaskID: 45,\n TaskName: 'Flooring',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 46, TaskName: 'Tile kitchen, bathroom and entry walls', StartDate: new Date('04/04/2019'),\n Duration: 3, Progress: 30, Predecessor: '44', resources: [4, 9, 3],\n info: 'Additional tiling on top of cementboard for wet areas, such as the bathroom and kitchen backsplash'\n },\n {\n TaskID: 47, TaskName: 'Tile floor', StartDate: new Date('04/04/2019'), Duration: 3, Predecessor: '46SS',\n resources: [2, 8], info: 'Installation of final floor covering, such as floor tile, carpet, or wood flooring'\n },\n ]\n },\n {\n TaskID: 48,\n TaskName: 'Final Acceptance',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 49, TaskName: 'Final inspection', StartDate: new Date('04/04/2019'), Duration: 2,\n Progress: 30, Predecessor: '47', resources: 12, info: 'Ensure the contracted items'\n },\n {\n TaskID: 50, TaskName: 'Cleanup for occupancy', StartDate: new Date('04/04/2019'), Duration: 2,\n Predecessor: '49', resources: [1, 5], info: 'Installation of major appliances'\n },\n {\n TaskID: 51, TaskName: 'Property handover', StartDate: new Date('04/04/2019'), Duration: 0,\n Predecessor: '50', info: 'Ending the contract'\n },\n ]\n },\n];\n\nexport let filteredData: Object[] = [\n {\n TaskID: 1,\n TaskName: 'Launch and flight to lunar orbit',\n StartDate: new Date('07/16/1969'),\n subtasks: [\n {\n TaskID: 2, TaskName: 'Apollo 11 blasts off from launch pad', StartDate: new Date('07/16/1969 03:32:00 AM'),\n EndDate: new Date('07/16/1969 03:32:00 AM'), Duration: 0,\n },\n {\n TaskID: 3, TaskName: 'Entry to earth’s orbit', StartDate: new Date('07/16/1969 03:32:00 AM'),\n EndDate: new Date('07/16/1969 03:44:00 AM'), Predecessor: '2FS'\n },\n {\n TaskID: 4, TaskName: 'Travelling in earth’s orbit', StartDate: new Date('07/16/1969 03:44:00 AM'),\n EndDate: new Date('07/16/1969 04:22:13 AM'), Predecessor: '3FS'\n },\n {\n TaskID: 5, TaskName: 'Trajectory change toward the Moon', StartDate: new Date('07/16/1969 04:22:13 AM'),\n EndDate: new Date('07/16/1969 04:52:00 AM'), Predecessor: '4FS'\n },\n {\n TaskID: 6, TaskName: 'extraction maneuver performed', StartDate: new Date('07/16/1969 04:52:00 AM'),\n EndDate: new Date('07/16/1969 04:52:00 AM'), Predecessor: '5FS'\n },\n {\n TaskID: 7, TaskName: 'Travelling toward moon and entering into lunar orbit', StartDate: new Date('07/16/1969 04:52:00 AM'),\n EndDate: new Date('07/16/1969 04:21:50 PM'), Predecessor: '6FS'\n },\n {\n TaskID: 8, TaskName: 'Midcourse correction, sharpening the course and testing the engine',\n StartDate: new Date('07/16/1969 11:22:00 PM'), EndDate: new Date('07/17/1969 05:21:50 AM')\n },\n {\n TaskID: 9, TaskName: 'Reached half the distance spanning between earth and moon',\n StartDate: new Date('07/17/1969 05:22:00 AM'), EndDate: new Date('07/17/1969 08:00:50 PM')\n },\n {\n TaskID: 10, TaskName: 'Reached 3/4th distance spanning between earth and moon',\n StartDate: new Date('07/17/1969 8:02:00 PM'), EndDate: new Date('07/18/1969 04:21:50 PM')\n },\n {\n TaskID: 11, TaskName: 'Reached distance 45000 miles from moon',\n StartDate: new Date('07/18/1969 11:22:00 PM'), EndDate: new Date('07/19/1969 05:21:50 PM')\n },\n ]\n },\n {\n TaskID: 12,\n TaskName: 'Lunar descent',\n StartDate: new Date('07/19/1969 05:21:50 PM'),\n subtasks: [\n {\n TaskID: 13, TaskName: 'Lunar orbiting (30 orbits)', StartDate: new Date('07/19/1969 05:21:50 PM'),\n EndDate: new Date('07/20/1969 12:52:00 AM'), Predecessor: '11FS'\n },\n {\n TaskID: 14, TaskName: 'Landing site identified', StartDate: new Date('07/20/1969 12:52:00 AM'),\n EndDate: new Date('07/20/1969 12:52:00 AM'), Predecessor: '13FS'\n },\n {\n TaskID: 15, TaskName: 'Eagle separated from Columbia.', StartDate: new Date('07/20/1969 05:44:00 PM'),\n EndDate: new Date('07/20/1969 05:44:00 PM')\n },\n {\n TaskID: 16, TaskName: 'Eagle’s decent to Moon', StartDate: new Date('07/20/1969 05:44:00 PM'),\n EndDate: new Date('07/20/1969 08:16:40 PM'), Predecessor: '15FS'\n }\n ]\n },\n {\n TaskID: 17,\n TaskName: 'Landing',\n StartDate: new Date('07/20/1969 08:17:40 PM'),\n subtasks: [\n {\n TaskID: 18, TaskName: 'Eagle’s touch down', StartDate: new Date('07/20/1969 08:17:40 PM'),\n EndDate: new Date('07/20/1969 08:17:40 PM')\n },\n {\n TaskID: 19, TaskName: 'Radio communication and performing post landing checklist',\n StartDate: new Date('07/20/1969 08:17:40 PM'), EndDate: new Date('07/20/1969 11:43:00 PM'), Predecessor: '18FS'\n },\n {\n TaskID: 20, TaskName: 'Preparations for EVA (Extra Vehicular Activity)',\n StartDate: new Date('07/20/1969 11:43:00 PM'), EndDate: new Date('07/21/1969 02:39:33 AM'), Predecessor: '19FS'\n },\n {\n TaskID: 21, TaskName: 'Hatch open and climbing down the moon', StartDate: new Date('07/21/1969 02:39:33 AM'),\n EndDate: new Date('07/21/1969 02:56:15 AM'), Predecessor: '20FS'\n },\n {\n TaskID: 22, TaskName: 'Armstrong stepped down on the moon', StartDate: new Date('07/21/1969 02:56:15 AM'),\n EndDate: new Date('07/21/1969 03:11:00 AM'), Predecessor: '21FS'\n },\n ]\n },\n {\n TaskID: 23,\n TaskName: 'Lunar surface operations',\n StartDate: new Date('07/21/1969'),\n subtasks: [\n {\n TaskID: 24, TaskName: 'Soil sample collections', StartDate: new Date('07/21/1969 02:56:15 AM'),\n EndDate: new Date('07/21/1969 03:11:00 AM')\n },\n {\n TaskID: 25, TaskName: 'Aldrin joined armstrong', StartDate: new Date('07/21/1969 03:11:00 AM'),\n EndDate: new Date('07/21/1969 03:41:00 AM'), Predecessor: '24FS'\n },\n {\n TaskID: 26, TaskName: 'planted the lunar flag assembly', StartDate: new Date('07/21/1969 03:41:00 AM'),\n EndDate: new Date('07/21/1969 03:46:00 AM'), Predecessor: '25FS'\n },\n {\n TaskID: 27, TaskName: 'President richard nixon’s telephone-radio transmission ',\n StartDate: new Date('07/21/1969 03:48:00 AM'), EndDate: new Date('07/21/1969 03:51:00 AM')\n },\n {\n TaskID: 28, TaskName: 'Collect rock samples, photos and other mission controls',\n StartDate: new Date('07/21/1969 03:52:00 AM'), EndDate: new Date('07/21/1969 04:50:00 AM')\n },\n ]\n },\n {\n TaskID: 29,\n TaskName: 'Lunar ascent',\n StartDate: new Date('07/21/1969'),\n subtasks: [\n {\n TaskID: 30, TaskName: 'Climbing the eagle to ascent', StartDate: new Date('07/21/1969 04:51:00 AM'),\n EndDate: new Date('07/21/1969 05:00:00 AM')\n },\n {\n TaskID: 31, TaskName: 'Hatch closing', StartDate: new Date('07/21/1969 05:01:00 AM'),\n EndDate: new Date('07/21/1969 05:01:00 AM'), Predecessor: '30FS'\n },\n {\n TaskID: 32, TaskName: 'Final housekeeping', StartDate: new Date('07/21/1969 05:02:00 AM'),\n EndDate: new Date('07/21/1969 08:00:00 AM')\n },\n {\n TaskID: 33, TaskName: 'Resting of astronauts', StartDate: new Date('07/21/1969 08:00:00 AM'),\n EndDate: new Date('07/21/1969 03:00:00 PM'), Predecessor: '32FS'\n },\n {\n TaskID: 34, TaskName: 'Preparation for lift off and ascent engine started', StartDate: new Date('07/21/1969 03:00:00 PM'),\n EndDate: new Date('07/21/1969 05:54:00 PM'), Predecessor: '33FS'\n },\n {\n TaskID: 35, TaskName: 'Eagle lifted off', StartDate: new Date('07/21/1969 05:54:00 PM'),\n EndDate: new Date('07/21/1969 05:54:00 PM'), Predecessor: '34FS'\n },\n {\n TaskID: 36, TaskName: 'Eagle’s travel toward Columbia', StartDate: new Date('07/21/1969 05:54:00 PM'),\n EndDate: new Date('07/21/1969 09:23:00 PM'), Predecessor: '35FS'\n },\n ]\n },\n {\n TaskID: 37,\n TaskName: 'Return',\n StartDate: new Date('07/21/1969 09:24:00 PM'),\n subtasks: [\n {\n TaskID: 38, TaskName: 'Eagle docked with columbia', StartDate: new Date('07/21/1969 09:24:00 PM'),\n EndDate: new Date('07/21/1969 09:35:00 PM')\n },\n {\n TaskID: 39, TaskName: 'Eagle’s ascent stage jettisoned into lunar orbit', StartDate: new Date('07/21/1969 09:35:00 PM'),\n EndDate: new Date('07/21/1969 11:41:00 PM'), Predecessor: '38FS'\n },\n ]\n },\n {\n TaskID: 40,\n TaskName: 'Decent toward earth and Splashdown',\n StartDate: new Date('07/21/1969'),\n subtasks: [\n {\n TaskID: 41, TaskName: 'Spacecraft reaches 1/4th distance spanning between moon and earth',\n StartDate: new Date('07/21/1969 11:50:00 PM'), EndDate: new Date('07/22/1969 04:40:00 PM')\n },\n {\n TaskID: 42, TaskName: 'Spacecraft travels to midway point of journey',\n StartDate: new Date('07/22/1969 04:40:00 PM'), EndDate: new Date('07/23/1969 04:00:00 PM'), Predecessor: '41FS'\n },\n {\n TaskID: 43, TaskName: 'Spacecraft travels to 3/4th point of journey', StartDate: new Date('07/23/1969 04:40:00 PM'),\n EndDate: new Date('07/24/1969 10:00:00 AM'), Predecessor: '42FS'\n },\n {\n TaskID: 44, TaskName: 'Crew prepares for splashdown', StartDate: new Date('07/24/1969 11:47:00 AM'),\n EndDate: new Date('07/24/1969 04:20:00 PM')\n },\n {\n TaskID: 45, TaskName: 'Command and service modules separates', StartDate: new Date('07/24/1969 04:20:00 PM'),\n EndDate: new Date('07/24/1969 04:35:00 PM'), Predecessor: '44FS'\n },\n {\n TaskID: 46, TaskName: 'Command module re-enters the Earth’s atmosphere', StartDate: new Date('07/24/1969 04:35:00 PM'),\n EndDate: new Date('07/24/1969 04:50:00 PM'), Predecessor: '45FS'\n },\n {\n TaskID: 47, TaskName: 'Spacecraft splashes near USS hornet', StartDate: new Date('07/24/1969 04:51:00 PM'),\n EndDate: new Date('07/24/1969 04:51:00 PM')\n },\n ]\n }\n];\n\nexport let projectResources: Object[] = [\n { resourceId: 1, resourceName: 'Project Manager' },\n { resourceId: 2, resourceName: 'Software Analyst' },\n { resourceId: 3, resourceName: 'Developer' },\n { resourceId: 4, resourceName: 'Testing Engineer' }\n];\n\nexport let projectData: Object[] = [\n {\n taskID: 1,\n taskName: 'Project schedule',\n startDate: new Date('02/08/2019'),\n endDate: new Date('03/15/2019'),\n subtasks: [\n {\n taskID: 2,\n taskName: 'Planning',\n startDate: new Date('02/08/2019'),\n endDate: new Date('02/12/2019'),\n subtasks: [\n {\n taskID: 3, taskName: 'Plan timeline', startDate: new Date('02/08/2019'),\n endDate: new Date('02/12/2019'), duration: 5, progress: '100', resourceId: [1]\n },\n {\n taskID: 4, taskName: 'Plan budget', startDate: new Date('02/08/2019'),\n endDate: new Date('02/12/2019'), duration: 5, progress: '100', resourceId: [1]\n },\n {\n taskID: 5, taskName: 'Allocate resources', startDate: new Date('02/08/2019'),\n endDate: new Date('02/12/2019'), duration: 5, progress: '100', resourceId: [1]\n },\n {\n taskID: 6, taskName: 'Planning complete', startDate: new Date('02/10/2019'),\n endDate: new Date('02/10/2019'), duration: 0, predecessor: '3FS,4FS,5FS'\n }\n ]\n }, {\n taskID: 7,\n taskName: 'Design',\n startDate: new Date('02/15/2019'),\n endDate: new Date('02/19/2019'),\n subtasks: [\n {\n taskID: 8, taskName: 'Software specification', startDate: new Date('02/15/2019'),\n endDate: new Date('02/17/2019'), duration: 3, progress: '60', predecessor: '6FS', resourceId: [2]\n },\n {\n taskID: 9, taskName: 'Develop prototype', startDate: new Date('02/15/2019'),\n endDate: new Date('02/17/2019'), duration: 3, progress: '100', predecessor: '6FS', resourceId: [3]\n },\n {\n taskID: 10, taskName: 'Get approval from customer', startDate: new Date('02/18/2019'),\n endDate: new Date('02/19/2019'), duration: 2, progress: '100', predecessor: '9FS', resourceId: [1]\n },\n {\n taskID: 11, taskName: 'Design complete', startDate: new Date('02/17/2019'),\n endDate: new Date('02/17/2019'), duration: 0, predecessor: '10FS'\n }\n ]\n },\n {\n taskID: 12,\n taskName: 'Implementation phase',\n startDate: new Date('02/25/2019'),\n endDate: new Date('03/05/2019'),\n subtasks: [\n {\n taskID: 13,\n taskName: 'Phase 1',\n startDate: new Date('02/25/2019'),\n endDate: new Date('03/07/2019'),\n subtasks: [{\n taskID: 14,\n taskName: 'Implementation module 1',\n startDate: new Date('02/25/2019'),\n endDate: new Date('03/07/2019'),\n subtasks: [\n {\n taskID: 15, taskName: 'Development task 1', startDate: new Date('02/22/2019'),\n endDate: new Date('02/24/2019'), duration: 3, progress: '50', predecessor: '11FS', resourceId: [3]\n },\n {\n taskID: 16, taskName: 'Development task 2', startDate: new Date('02/22/2019'),\n endDate: new Date('02/24/2019'), duration: 3, progress: '50', predecessor: '11FS', resourceId: [3]\n },\n {\n taskID: 17, taskName: 'Testing', startDate: new Date('02/25/2019'),\n endDate: new Date('02/26/2019'), duration: 2, progress: '0', predecessor: '15FS,16FS', resourceId: [4]\n },\n {\n taskID: 18, taskName: 'Bug fix', startDate: new Date('03/01/2019'),\n endDate: new Date('03/02/2019'), duration: 2, progress: '0', predecessor: '17FS', resourceId: [3]\n },\n {\n taskID: 19, taskName: 'Customer review meeting', startDate: new Date('03/03/2019'),\n endDate: new Date('03/07/2019'), duration: 2, progress: '0', predecessor: '18FS', resourceId: [1]\n },\n {\n taskID: 20, taskName: 'Phase 1 complete', startDate: new Date('03/05/2019'),\n endDate: new Date('03/05/2019'), duration: 0, predecessor: '19FS'\n }\n\n ]\n }]\n },\n\n {\n taskID: 21,\n taskName: 'Phase 2',\n startDate: new Date('02/25/2019'),\n endDate: new Date('03/05/2019'),\n subtasks: [{\n taskID: 22,\n taskName: 'Implementation module 2',\n startDate: new Date('02/25/2019'),\n endDate: new Date('03/05/2019'),\n subtasks: [\n {\n taskID: 23, taskName: 'Development task 1', startDate: new Date('02/22/2019'),\n endDate: new Date('02/25/2019'), duration: 4, progress: '50', resourceId: [3]\n },\n {\n taskID: 24, taskName: 'Development task 2', startDate: new Date('02/22/2019'),\n endDate: new Date('02/25/2019'), duration: 4, progress: '50', resourceId: [3]\n },\n {\n taskID: 25, taskName: 'Testing', startDate: new Date('02/26/2019'),\n endDate: new Date('03/01/2019'), duration: 2, progress: '0', predecessor: '23FS,24FS', resourceId: [4]\n },\n {\n taskID: 26, taskName: 'Bug fix', startDate: new Date('03/02/2019'),\n endDate: new Date('03/03/2019'), duration: 2, progress: '0', predecessor: '25FS', resourceId: [3]\n },\n {\n taskID: 27, taskName: 'Customer review meeting', startDate: new Date('03/07/2019'),\n endDate: new Date('03/09/2019'), duration: 2, progress: '0', predecessor: '26FS', resourceId: [1]\n },\n {\n taskID: 28, taskName: 'Phase 2 complete', startDate: new Date('03/03/2019'),\n endDate: new Date('03/03/2019'), duration: 0, predecessor: '27FS'\n }\n\n ]\n }]\n },\n\n {\n taskID: 29,\n taskName: 'Phase 3',\n startDate: new Date('02/25/2019'),\n endDate: new Date('03/07/2019'),\n subtasks: [{\n taskID: 30,\n taskName: 'Implementation module 3',\n startDate: new Date('02/25/2019'),\n endDate: new Date('03/07/2019'),\n subtasks: [\n {\n taskID: 31, taskName: 'Development task 1', startDate: new Date('02/22/2019'),\n endDate: new Date('02/24/2019'), duration: 3, progress: '50', resourceId: [3]\n },\n {\n taskID: 32, taskName: 'Development task 2', startDate: new Date('02/22/2019'),\n endDate: new Date('02/24/2019'), duration: 3, progress: '50', resourceId: [3]\n },\n {\n taskID: 33, taskName: 'Testing', startDate: new Date('02/25/2019'), endDate: new Date('02/26/2019'),\n duration: 2, progress: '0', predecessor: '31FS,32FS', resourceId: [4]\n },\n {\n taskID: 34, taskName: 'Bug fix', startDate: new Date('03/01/2019'), endDate: new Date('03/05/2019'),\n duration: 2, progress: '0', predecessor: '33FS', resourceId: [3]\n },\n {\n taskID: 35, taskName: 'Customer review meeting', startDate: new Date('03/03/2019'),\n endDate: new Date('03/04/2019'), duration: 2, progress: '0', predecessor: '34FS',\n resourceId: [1]\n },\n {\n taskID: 36, taskName: 'Phase 3 complete', startDate: new Date('03/02/2019'),\n endDate: new Date('03/02/2019'), duration: 0, predecessor: '35FS'\n },\n\n ]\n }]\n }\n ]\n },\n {\n taskID: 37, taskName: 'Integration', startDate: new Date('03/08/2019'), endDate: new Date('03/10/2019'), duration: 3,\n progress: '0', predecessor: '20FS,28FS,36FS', resourceId: [3]\n },\n {\n taskID: 38, taskName: 'Final testing', startDate: new Date('03/11/2019'), endDate: new Date('03/12/2019'), duration: 2,\n progress: '0', predecessor: '37FS', resourceId: [4]\n },\n {\n taskID: 39, taskName: 'Final delivery', startDate: new Date('03/10/2019'), endDate: new Date('03/10/2019'),\n duration: 0, predecessor: '38FS'\n }\n ]\n }\n];\n\nexport let baselineData: Object[] = [\n {\n TaskId: 1, TaskName: 'Receive vehicle and create job card', BaselineStartDate: new Date('03/05/2018 10:00:00 AM'),\n BaselineEndDate: new Date('03/05/2018 10:00:00 AM'), StartDate: new Date('03/05/2018 10:00:00 AM'),\n EndDate: new Date('03/05/2018 10:00:00 AM')\n },\n {\n TaskId: 2, TaskName: 'Allot mechanic and send vehicle to service bay', BaselineStartDate: new Date('03/05/2018 10:00:00 AM'),\n BaselineEndDate: new Date('03/05/2018 10:15:00 AM'), StartDate: new Date('03/05/2018 10:15:00 AM'),\n EndDate: new Date('03/05/2018 10:20:00 AM')\n },\n {\n TaskId: 3, TaskName: 'Change the receive vehicle and create job cardengine oil',\n BaselineStartDate: new Date('03/05/2018 10:15:00 AM'),\n BaselineEndDate: new Date('03/05/2018 10:45:00 AM'), StartDate: new Date('03/05/2018 10:20:00 AM'),\n EndDate: new Date('03/05/2018 10:35:00 AM')\n },\n {\n TaskId: 4, TaskName: 'Replace the oil filter', BaselineStartDate: new Date('03/05/2018 10:45:00 AM'),\n BaselineEndDate: new Date('03/05/2018 11:15:00 AM'), StartDate: new Date('03/05/2018 10:35:00 AM'),\n EndDate: new Date('03/05/2018 11:00:00 AM')\n },\n {\n TaskId: 5, TaskName: 'Replace the air filter', BaselineStartDate: new Date('03/05/2018 10:45:00 AM'),\n BaselineEndDate: new Date('03/05/2018 11:15:00 AM'), StartDate: new Date('03/05/2018 10:35:00 AM'),\n EndDate: new Date('03/05/2018 11:00:00 AM')\n },\n {\n TaskId: 6, TaskName: 'Replace the fuel filter', BaselineStartDate: new Date('03/05/2018 11:15:00 AM'),\n BaselineEndDate: new Date('03/05/2018 11:25:00 AM'), StartDate: new Date('03/05/2018 11:00:00 AM'),\n EndDate: new Date('03/05/2018 11:20:00 AM')\n },\n {\n TaskId: 7, TaskName: 'Replace the cabin filter', BaselineStartDate: new Date('03/05/2018 11:00:00 AM'),\n BaselineEndDate: new Date('03/05/2018 11:20:00 AM'), StartDate: new Date('03/05/2018 11:00:00 AM'),\n EndDate: new Date('03/05/2018 11:25:00 AM')\n },\n {\n TaskId: 8, TaskName: 'Replace the spark plugs', BaselineStartDate: new Date('03/05/2018 11:00:00 AM'),\n BaselineEndDate: new Date('03/05/2018 11:30:00 AM'), StartDate: new Date('03/05/2018 11:25:00 AM'),\n EndDate: new Date('03/05/2018 11:45:00 AM')\n },\n {\n TaskId: 9, TaskName: 'Check level and refill brake fluid/clutch fluid', BaselineStartDate: new Date('03/05/2018 11:20:00 AM'),\n BaselineEndDate: new Date('03/05/2018 11:40:00 AM'), StartDate: new Date('03/05/2018 11:30:00 AM'),\n EndDate: new Date('03/05/2018 11:50:00 AM')\n },\n {\n TaskId: 10, TaskName: 'Check Brake Pads/Liners, Brake Discs/Drums, and replace if worn out.',\n BaselineStartDate: new Date('03/05/2018 11:40:00 AM'),\n BaselineEndDate: new Date('03/05/2018 12:00:00 PM'), StartDate: new Date('03/05/2018 11:50:00 AM'),\n EndDate: new Date('03/05/2018 12:20:00 PM')\n },\n {\n TaskId: 11, TaskName: 'Check level and refill power steering fluid', BaselineStartDate: new Date('03/05/2018 11:40:00 AM'),\n BaselineEndDate: new Date('03/05/2018 12:00:00 PM'), StartDate: new Date('03/05/2018 11:50:00 AM'),\n EndDate: new Date('03/05/2018 12:15:00 PM')\n },\n {\n TaskId: 12, TaskName: 'Check level and refill automatic/manual transmission fluid',\n BaselineStartDate: new Date('03/05/2018 12:00:00 PM'),\n BaselineEndDate: new Date('03/05/2018 12:35:00 PM'), StartDate: new Date('03/05/2018 11:50:00 AM'),\n EndDate: new Date('03/05/2018 12:20:00 PM')\n },\n {\n TaskId: 13, TaskName: 'Grease and lubricate components', BaselineStartDate: new Date('03/05/2018 12:20:00 PM'),\n BaselineEndDate: new Date('03/05/2018 12:35:00 PM'), StartDate: new Date('03/05/2018 12:20:00 PM'),\n EndDate: new Date('03/05/2018 12:45:00 PM')\n },\n {\n TaskId: 14, TaskName: 'Inspect and replace the timing belt or timing chain if needed',\n BaselineStartDate: new Date('03/05/2018 12:35:00 PM'),\n BaselineEndDate: new Date('03/05/2018 1:00:00 PM'), StartDate: new Date('03/05/2018 12:45:00 PM'),\n EndDate: new Date('03/05/2018 1:00:00 PM')\n },\n {\n TaskId: 15, TaskName: 'Wheel balancing', BaselineStartDate: new Date('03/05/2018 1:00:00 PM'),\n BaselineEndDate: new Date('03/05/2018 1:20:00 PM'), StartDate: new Date('03/05/2018 1:00:00 PM'),\n EndDate: new Date('03/05/2018 1:45:00 PM')\n },\n {\n TaskId: 16, TaskName: 'Wheel alignment', BaselineStartDate: new Date('03/05/2018 1:20:00 PM'),\n BaselineEndDate: new Date('03/05/2018 1:45:00 PM'), StartDate: new Date('03/05/2018 1:45:00 PM'),\n EndDate: new Date('03/05/2018 2:45:00 PM')\n },\n {\n TaskId: 17, TaskName: 'Check for proper operation of all lights, wipers etc.', BaselineStartDate: new Date('03/05/2018 1:50:00 PM'),\n BaselineEndDate: new Date('03/05/2018 02:30:00 PM'), StartDate: new Date('03/05/2018 02:45:00 PM'),\n EndDate: new Date('03/05/2018 03:30:00 PM')\n },\n {\n TaskId: 18, TaskName: 'Check for any error codes in the ECU and take corrective action.',\n BaselineStartDate: new Date('03/05/2018 2:30:00 PM'),\n BaselineEndDate: new Date('03/05/2018 3:30:00 PM'), StartDate: new Date('03/05/2018 03:30:00 PM'),\n EndDate: new Date('03/05/2018 04:15:00 PM')\n },\n {\n TaskId: 19, TaskName: 'Use scan tool read trouble code', BaselineStartDate: new Date('03/05/2018 03:30:00 PM'),\n BaselineEndDate: new Date('03/05/2018 04:45:00 PM'), StartDate: new Date('03/05/2018 04:15:00 PM'),\n EndDate: new Date('03/05/2018 04:45:00 PM')\n },\n {\n TaskId: 20, TaskName: 'Exterior washing', BaselineStartDate: new Date('03/05/2018 04:45:00 PM'),\n BaselineEndDate: new Date('03/05/2018 05:15:00 PM'), StartDate: new Date('03/05/2018 04:45:00 PM'),\n EndDate: new Date('03/05/2018 05:30:00 PM')\n },\n {\n TaskId: 21, TaskName: 'Interior vacuuming', BaselineStartDate: new Date('03/05/2018 05:15:00 PM'),\n BaselineEndDate: new Date('03/05/2018 05:45:00 PM'), StartDate: new Date('03/05/2018 05:30:00 PM'),\n EndDate: new Date('03/05/2018 06:00:00 PM')\n },\n {\n TaskId: 22, TaskName: 'Final service inspection', BaselineStartDate: new Date('03/05/2018 05:45:00 PM'),\n BaselineEndDate: new Date('03/05/2018 06:00:00 PM'), StartDate: new Date('03/05/2018 06:00:00 PM'),\n EndDate: new Date('03/05/2018 06:30:00 PM')\n },\n {\n TaskId: 23, TaskName: 'Vehicle handover', BaselineStartDate: new Date('03/05/2018 06:00:00 PM'),\n BaselineEndDate: new Date('03/05/2018 06:00:00 PM'), StartDate: new Date('03/05/2018 06:30:00 PM'),\n EndDate: new Date('03/05/2018 06:30:00 PM')\n }\n];\n\nexport let customizedData: Object[] = [\n {\n TaskId: 1, TaskName: 'Oscar moments', Performance: '90th Academy awards kicks-off and Jimmy kimmel hosts the show',\n StartDate: new Date('03/05/2018 06:00:00 PM'), EndDate: new Date('03/05/2018 06:15:00 PM')\n },\n {\n TaskId: 2, TaskName: 'Actor in a supporting role', Predecessor: '1FS',\n StartDate: new Date('03/05/2018 06:16:00 PM'), EndDate: new Date('03/05/2018 06:25:00 PM'),\n Winner: 'Sam Rockwell', Movie: 'Three Billboards Outside Ebbing, Missouri.'\n },\n {\n TaskId: 3, TaskName: 'Hair and makeup', Movie: 'Darkest Hour', Predecessor: '2FS',\n StartDate: new Date('03/05/2018 06:26:00 PM'), EndDate: new Date('03/05/2018 06:32:00 PM')\n },\n {\n TaskId: 4, TaskName: 'Costume design', Winner: 'Mark Bridges', Movie: 'Phantom Thread', Predecessor: '3FS',\n StartDate: new Date('03/05/2018 06:33:00 PM'), EndDate: new Date('03/05/2018 06:40:00 PM')\n },\n {\n TaskId: 5, TaskName: 'Documentary feature', Winner: 'Bryan Fogel', Movie: ' Icarus', Predecessor: '4FS',\n StartDate: new Date('03/05/2018 06:41:00 PM'), EndDate: new Date('03/05/2018 06:58:00 PM')\n },\n {\n TaskId: 6, TaskName: 'Best sound editing and sound mixing', Winner: 'Richard King and Alex Gibson', Movie: 'Dunkirk',\n StartDate: new Date('03/05/2018 06:59:00 PM'), EndDate: new Date('03/05/2018 07:10:00 PM'), Predecessor: '5FS'\n },\n {\n TaskId: 7, TaskName: 'Production design', Movie: 'The Shape of Water', Predecessor: '6FS',\n StartDate: new Date('03/05/2018 07:11:00 PM'), EndDate: new Date('03/05/2018 07:15:00 PM')\n },\n {\n TaskId: 8, TaskName: 'Oscar performance', Performance: 'Second performance of the night is \"Remember Me\" from Coco',\n StartDate: new Date('03/05/2018 07:16:00 PM'), EndDate: new Date('03/05/2018 07:23:00 PM'), Predecessor: '7FS'\n },\n {\n TaskId: 9, TaskName: 'Best foreign language film goes', Movie: 'A Fantastic Woman', Predecessor: '8FS',\n StartDate: new Date('03/05/2018 07:24:00 PM'), EndDate: new Date('03/05/2018 07:29:00 PM')\n },\n {\n TaskId: 10, TaskName: 'Best supporting actress', Winner: 'Allison Janney', Movie: 'I, Tonya',\n StartDate: new Date('03/05/2018 07:30:00 PM'), EndDate: new Date('03/05/2018 07:35:00 PM'), Predecessor: '9FS'\n },\n {\n TaskId: 11, TaskName: 'Best animated short', Winner: 'Kobe Bryant', Movie: 'Dear Basketball',\n StartDate: new Date('03/05/2018 07:36:00 PM'), EndDate: new Date('03/05/2018 07:45:00 PM'), Predecessor: '10FS'\n },\n {\n TaskId: 12, TaskName: 'Award for best animated feature.', Movie: 'Coco', Predecessor: '11FS',\n StartDate: new Date('03/05/2018 07:46:00 PM'), EndDate: new Date('03/05/2018 07:52:00 PM')\n },\n {\n TaskId: 13, TaskName: 'Best visual effects.', Movie: 'Blade Runner 2049', Predecessor: '12FS',\n StartDate: new Date('03/05/2018 07:53:00 PM'), EndDate: new Date('03/05/2018 07:56:00 PM')\n },\n {\n TaskId: 14, TaskName: 'Achievement in film editing', Movie: 'Dunkirk', Predecessor: '13FS',\n StartDate: new Date('03/05/2018 07:57:00 PM'), EndDate: new Date('03/05/2018 07:59:00 PM')\n },\n {\n TaskId: 15, TaskName: 'Oscar moments', Performance: 'Jimmy Kimmel surprises moviegoers along with celebrities',\n StartDate: new Date('03/05/2018 08:00:00 PM'), EndDate: new Date('03/05/2018 08:09:00 PM'), Predecessor: '14FS'\n },\n {\n TaskId: 16, TaskName: 'Best documentary short', Movie: 'Heaven is a Traffic Jam on the 405', Predecessor: '15FS',\n StartDate: new Date('03/05/2018 08:10:00 PM'), EndDate: new Date('03/05/2018 08:12:00 PM')\n },\n {\n TaskId: 17, TaskName: 'Best live action short film', Movie: 'The Silent Child', Predecessor: '16FS',\n StartDate: new Date('03/05/2018 08:13:00 PM'), EndDate: new Date('03/05/2018 08:15:00 PM')\n },\n {\n TaskId: 18, TaskName: 'Oscar performance',\n Performance: 'Jimmy Kimmel surprCommon and Andra Day performs \"Stand Up for Something\" by \"Marshall\"',\n StartDate: new Date('03/05/2018 08:16:00 PM'), EndDate: new Date('03/05/2018 08:25:00 PM'), Predecessor: '17FS'\n },\n {\n TaskId: 19, TaskName: 'Oscar moments',\n Performance: 'The Oscars are showcasing the #MeToo and #TimesUp movements with a montage and interviews with actors and filmmakers',\n StartDate: new Date('03/05/2018 08:26:00 PM'), EndDate: new Date('03/05/2018 08:29:00 PM'), Predecessor: '18FS'\n },\n {\n TaskId: 20, TaskName: 'Oscar for best adapted screenplay', Winner: 'James Ivory', Movie: 'Call Me By Your Name',\n StartDate: new Date('03/05/2018 08:30:00 PM'), EndDate: new Date('03/05/2018 08:35:00 PM'), Predecessor: '19FS'\n },\n {\n TaskId: 21, TaskName: 'Oscar for best original screenplay', Winner: 'Jordan Peele', Movie: 'Get Out',\n StartDate: new Date('03/05/2018 08:36:00 PM'), EndDate: new Date('03/05/2018 08:44:00 PM'), Predecessor: '20FS'\n },\n {\n TaskId: 22, TaskName: 'Oscar moments',\n Performance: 'Who’s trending on Twitter at the Oscars? Actors Timothée Chalamet, Chadwick Boseman,' +\n 'Tom Holland, Lupita Nyong’o and Adam Rippon.',\n StartDate: new Date('03/05/2018 08:40:00 PM'), EndDate: new Date('03/05/2018 08:45:00 PM'), Predecessor: '21FS'\n },\n {\n TaskId: 23, TaskName: 'Best cinematography', Winner: 'Roger A. Deakins', Movie: 'Blade Runner 2049',\n StartDate: new Date('03/05/2018 08:46:00 PM'), EndDate: new Date('03/05/2018 08:48:00 PM'), Predecessor: '22FS'\n },\n {\n TaskId: 24, TaskName: 'Oscar performance',\n Performance: 'Keala Settle performs the nominated song \"This is Me\" from \"The Greatest Showman\".',\n StartDate: new Date('03/05/2018 08:49:00 PM'), EndDate: new Date('03/05/2018 08:54:00 PM'), Predecessor: '23FS'\n },\n {\n TaskId: 25, TaskName: 'Best original score', Movie: 'The Shape of Water', Predecessor: '24FS',\n StartDate: new Date('03/05/2018 08:55:00 PM'), EndDate: new Date('03/05/2018 08:59:00 PM')\n },\n {\n TaskId: 26, TaskName: 'Award for original song', Winner: 'Remember Me', Movie: 'Coco', Predecessor: '25FS',\n StartDate: new Date('03/05/2018 09:00:00 PM'), EndDate: new Date('03/05/2018 09:07:00 PM')\n },\n {\n TaskId: 27, TaskName: 'Oscar moments', Performance: 'Time to pay tribute to those in the cinema world we lost last year',\n StartDate: new Date('03/05/2018 09:05:00 PM'), EndDate: new Date('03/05/2018 09:11:00 PM'), Predecessor: '26FS'\n },\n {\n TaskId: 28, TaskName: 'Oscar for best director', Winner: 'Guillermo del Toro', Movie: 'The Shape of Water',\n StartDate: new Date('03/05/2018 09:12:00 PM'), EndDate: new Date('03/05/2018 09:19:00 PM'), Predecessor: '27FS'\n },\n {\n TaskId: 29, TaskName: 'Best actor in a leading role', Winner: 'Gary Oldman', Movie: 'The Shape of Water',\n StartDate: new Date('03/05/2018 09:20:00 PM'), EndDate: new Date('03/05/2018 09:29:00 PM'), Predecessor: '28FS'\n },\n {\n TaskId: 30, TaskName: 'Best leading actress', Winner: 'Frances McDormand', Movie: 'Three Billboards Outside Ebbing, Missouri',\n StartDate: new Date('03/05/2018 09:30:00 PM'), EndDate: new Date('03/05/2018 09:44:00 PM'), Predecessor: '29FS'\n },\n {\n TaskId: 31, TaskName: 'Oscar for best picture.', Movie: 'The Shape of Water', Predecessor: '30FS',\n StartDate: new Date('03/05/2018 09:45:00 PM'), EndDate: new Date('03/05/2018 10:00:00 PM')\n },\n {\n TaskId: 32, TaskName: 'Oscar moments', Performance: '90th Academy awards wind-up', Predecessor: '31FS',\n StartDate: new Date('03/05/2018 10:00:00 PM'), EndDate: new Date('03/05/2018 10:00:00 PM'), Duration: 0\n }\n];\n\nexport let unscheduledData: Object[] = [\n {\n TaskId: 1, TaskName: 'Task 1', StartDate: new Date('01/03/2019'),\n EndDate: new Date('01/08/2019'), Duration: '5', TaskType: ''\n },\n {\n TaskId: 2, TaskName: 'Task 2', Duration: '5', TaskType: \"Task with duration only\"\n },\n {\n TaskId: 3, TaskName: 'Task 3', StartDate: new Date('01/03/2019'), TaskType: \"Task with start date only\"\n },\n {\n TaskId: 4, TaskName: 'Task 4', EndDate: new Date('01/08/2019'), TaskType: \"Task with end date only\"\n },\n];\n\nexport let tooltipData: object[] = [\n {\n TaskID: 1,\n TaskName: 'Project initiation',\n StartDate: new Date('04/02/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 2, TaskName: 'Identify site location', StartDate: new Date('04/02/2019'), Duration: 0,\n Progress: 30, resources: [1], info: 'Measure the total property area alloted for construction',\n BaselineStartDate: new Date('04/02/2019'), BaselineEndDate: new Date('04/02/2019')\n },\n {\n TaskID: 3, TaskName: 'Perform soil test', StartDate: new Date('04/02/2019'), Duration: 4, Predecessor: '2',\n resources: [2], info: 'Obtain an engineered soil test of lot where construction is planned.' +\n 'From an engineer or company specializing in soil testing', BaselineStartDate: new Date('04/01/2019'),\n BaselineEndDate: new Date('04/04/2019')\n },\n {\n TaskID: 4, TaskName: 'Soil test approval', StartDate: new Date('04/02/2019'), Duration: 0, Predecessor: '3', Progress: 30,\n BaselineStartDate: new Date('04/06/2019'), BaselineEndDate: new Date('04/06/2019')\n },\n\n ]\n },\n {\n TaskID: 5,\n TaskName: 'Project estimation',\n StartDate: new Date('04/02/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 6, TaskName: 'Develop floor plan for estimation', StartDate: new Date('04/04/2019'),\n Duration: 3, Predecessor: '4', Progress: 30, resources: 4,\n info: 'Develop floor plans and obtain a materials list for estimations',\n BaselineStartDate: new Date('04/05/2019'), BaselineEndDate: new Date('04/07/2019')\n },\n {\n TaskID: 7, TaskName: 'List materials', StartDate: new Date('04/04/2019'),\n Duration: 3, Predecessor: '6', resources: [4], info: '',\n BaselineStartDate: new Date('04/09/2019'), BaselineEndDate: new Date('04/12/2019')\n },\n {\n TaskID: 8, TaskName: 'Estimation approval', StartDate: new Date('04/04/2019'),\n Duration: 0, Predecessor: '7', resources: [12], info: '',\n BaselineStartDate: new Date('04/16/2019'), BaselineEndDate: new Date('04/16/2019')\n }\n ]\n },\n {\n TaskID: 9, TaskName: 'Sign contract', StartDate: new Date('04/04/2019'), Duration: 1,\n Predecessor: '8', Progress: 30, resources: [12],\n info: 'If required obtain approval from HOA (homeowners association) or ARC (architectural review committee)',\n BaselineStartDate: new Date('04/16/2019'), BaselineEndDate: new Date('04/17/2019')\n },\n {\n TaskID: 10,\n TaskName: 'Project approval and kick off',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n Duration: 0,\n Predecessor: '9',\n BaselineStartDate: new Date('04/17/2019'), BaselineEndDate: new Date('04/17/2019')\n },\n {\n TaskID: 11,\n TaskName: 'Site work',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 12, TaskName: 'Clear the building site', StartDate: new Date('04/04/2019'),\n Duration: 2, Progress: 30, Predecessor: '9',\n info: 'Clear the building site (demolition of existing home if necessary)',\n BaselineStartDate: new Date('04/16/2019'), BaselineEndDate: new Date('04/18/2019')\n },\n {\n TaskID: 13, TaskName: 'Install temporary power service', StartDate: new Date('04/04/2019'),\n Duration: 2, Predecessor: '12', info: '',\n BaselineStartDate: new Date('04/17/2019'), BaselineEndDate: new Date('04/19/2019')\n },\n ]\n }\n];\n\nexport let selfData: object[] = [\n { taskID: 1, taskName: \"Project Schedule\", startDate: new Date(\"02/04/2019\"), endDate: new Date(\"03/10/2019\") },\n { taskID: 2, taskName: \"Planning\", startDate: new Date(\"02/04/2019\"), endDate: new Date(\"02/10/2019\"), parentID: 1 },\n { taskID: 3, taskName: \"Plan timeline\", startDate: new Date(\"02/04/2019\"), endDate: new Date(\"02/10/2019\"), duration: 6, progress: \"60\", parentID: 2 },\n { taskID: 4, taskName: \"Plan budget\", startDate: new Date(\"02/04/2019\"), endDate: new Date(\"02/10/2019\"), duration: 6, progress: \"90\", parentID: 2 },\n { taskID: 5, taskName: \"Allocate resources\", startDate: new Date(\"02/04/2019\"), endDate: new Date(\"02/10/2019\"), duration: 6, progress: \"75\", parentID: 2 },\n { taskID: 6, taskName: \"Planning complete\", startDate: new Date(\"02/06/2019\"), endDate: new Date(\"02/10/2019\"), duration: 0, predecessor: \"3FS,4FS,5FS\", parentID: 2 },\n { taskID: 7, taskName: \"Design\", startDate: new Date(\"02/13/2019\"), endDate: new Date(\"02/17/2019\"), parentID: 1, },\n { taskID: 8, taskName: \"Software Specification\", startDate: new Date(\"02/13/2019\"), endDate: new Date(\"02/15/2019\"), duration: 3, progress: \"60\", predecessor: \"6FS\", parentID: 7, },\n { taskID: 9, taskName: \"Develop prototype\", startDate: new Date(\"02/13/2019\"), endDate: new Date(\"02/15/2019\"), duration: 3, progress: \"100\", predecessor: \"6FS\", parentID: 7, },\n { taskID: 10, taskName: \"Get approval from customer\", startDate: new Date(\"02/16/2019\"), endDate: new Date(\"02/17/2019\"), duration: 2, progress: \"100\", predecessor: \"9FS\", parentID: 7, },\n { taskID: 11, taskName: \"Design complete\", startDate: new Date(\"02/17/2019\"), endDate: new Date(\"02/17/2019\"), duration: 0, predecessor: \"10FS\", parentID: 7, }\n];\n\nexport let labelData: object[] = [\n {\n TaskID: 1,\n TaskName: 'Project initiation',\n StartDate: new Date('04/02/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 2, TaskName: 'Identify site location', StartDate: new Date('04/02/2019'), Duration: 0,\n Progress: 30, resources: [1], info: 'Measure the total property area alloted for construction',\n BaselineStartDate: new Date('04/02/2019'), BaselineEndDate: new Date('04/02/2019')\n },\n {\n TaskID: 3, TaskName: 'Perform soil test', StartDate: new Date('04/02/2019'), Duration: 4, Predecessor: '2',\n resources: [2, 3, 5], info: 'Obtain an engineered soil test of lot where construction is planned.' +\n 'From an engineer or company specializing in soil testing', BaselineStartDate: new Date('04/01/2019'),\n BaselineEndDate: new Date('04/04/2019')\n },\n {\n TaskID: 4, TaskName: 'Soil test approval', StartDate: new Date('04/02/2019'), Duration: 0, Predecessor: '3', Progress: 30,\n BaselineStartDate: new Date('04/06/2019'), BaselineEndDate: new Date('04/06/2019')\n },\n\n ]\n },\n {\n TaskID: 5,\n TaskName: 'Project estimation',\n StartDate: new Date('04/02/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 6, TaskName: 'Develop floor plan for estimation', StartDate: new Date('04/04/2019'),\n Duration: 3, Predecessor: '4', Progress: 30, resources: 4,\n info: 'Develop floor plans and obtain a materials list for estimations',\n BaselineStartDate: new Date('04/05/2019'), BaselineEndDate: new Date('04/07/2019')\n },\n {\n TaskID: 7, TaskName: 'List materials', StartDate: new Date('04/04/2019'),\n Duration: 3, Predecessor: '6', resources: [4, 8], info: '',\n BaselineStartDate: new Date('04/09/2019'), BaselineEndDate: new Date('04/12/2019')\n },\n {\n TaskID: 8, TaskName: 'Estimation approval', StartDate: new Date('04/04/2019'),\n Duration: 0, Predecessor: '7', resources: [12, 5], info: '',\n BaselineStartDate: new Date('04/16/2019'), BaselineEndDate: new Date('04/16/2019')\n }\n ]\n },\n {\n TaskID: 9, TaskName: 'Sign contract', StartDate: new Date('04/04/2019'), Duration: 1,\n Predecessor: '8', Progress: 30, resources: [12],\n info: 'If required obtain approval from HOA (homeowners association) or ARC (architectural review committee)',\n BaselineStartDate: new Date('04/16/2019'), BaselineEndDate: new Date('04/17/2019')\n },\n {\n TaskID: 10,\n TaskName: 'Project approval and kick off',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n Duration: 0,\n Predecessor: '9',\n BaselineStartDate: new Date('04/17/2019'), BaselineEndDate: new Date('04/17/2019')\n },\n {\n TaskID: 11,\n TaskName: 'Site work',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 12, TaskName: 'Clear the building site', StartDate: new Date('04/04/2019'),\n Duration: 2, Progress: 30, Predecessor: '9',\n info: 'Clear the building site (demolition of existing home if necessary)',\n BaselineStartDate: new Date('04/16/2019'), BaselineEndDate: new Date('04/18/2019')\n },\n {\n TaskID: 13, TaskName: 'Install temporary power service', StartDate: new Date('04/04/2019'),\n Duration: 2, Predecessor: '12', info: '',\n BaselineStartDate: new Date('04/17/2019'), BaselineEndDate: new Date('04/19/2019')\n },\n ]\n },\n];\nexport let resourceData: object[] = [\n {\n TaskID: 1,\n TaskName: 'Project initiation',\n StartDate: new Date('03/29/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 2, TaskName: 'Identify site location', StartDate: new Date('03/29/2019'), Duration: 2,\n Progress: 30, work: 16, resources: [{ resourceId: 1, unit: 70 }, 6]\n },\n {\n TaskID: 3, TaskName: 'Perform soil test', StartDate: new Date('03/29/2019'), Duration: 4,\n resources: [2, 3, 5], work: 96\n },\n {\n TaskID: 4, TaskName: 'Soil test approval', StartDate: new Date('03/29/2019'), Duration: 1,\n work: 16, resources: [8, { resourceId: 9, unit: 50 }], Progress: 30\n },\n ]\n },\n {\n TaskID: 5,\n TaskName: 'Project estimation', StartDate: new Date('03/29/2019'), EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 6, TaskName: 'Develop floor plan for estimation', StartDate: new Date('03/29/2019'),\n Duration: 3, Progress: 30, resources: [{ resourceId: 4, unit: 50 }], work: 30\n },\n {\n TaskID: 7, TaskName: 'List materials', StartDate: new Date('04/01/2019'), Duration: 3,\n work: 48, resources: [4, 8]\n },\n {\n TaskID: 8, TaskName: 'Estimation approval', StartDate: new Date('04/01/2019'),\n Duration: 2, work: 60, resources: [12, { resourceId: 5, unit: 70 }]\n }\n ]\n },\n {\n TaskID: 9, TaskName: 'Sign contract', StartDate: new Date('04/01/2019'), Duration: 1,\n Progress: 30, resources: [12], work: 24\n }\n];\nexport let resourceResources: object[] = [\n { resourceId: 1, resourceName: 'Martin Tamer' },\n { resourceId: 2, resourceName: 'Rose Fuller' },\n { resourceId: 3, resourceName: 'Margaret Buchanan' },\n { resourceId: 4, resourceName: 'Fuller King' },\n { resourceId: 5, resourceName: 'Davolio Fuller' },\n { resourceId: 6, resourceName: 'Van Jack' },\n { resourceId: 7, resourceName: 'Fuller Buchanan' },\n { resourceId: 8, resourceName: 'Jack Davolio' },\n { resourceId: 9, resourceName: 'Tamer Vinet' },\n { resourceId: 10, resourceName: 'Vinet Fuller' },\n { resourceId: 11, resourceName: 'Bergs Anton' },\n { resourceId: 12, resourceName: 'Construction Supervisor' }\n];\nexport let taskModeData: Object[] = [\n {\n \"TaskID\": 1,\n \"TaskName\": \"Parent Task 1\",\n \"StartDate\": new Date(\"02/27/2017\"),\n \"EndDate\": new Date(\"03/03/2017\"),\n \"Progress\": \"40\",\n \"isManual\" : true,\n resources: [1],\n \"Children\": [\n { \"TaskID\": 2, resources: [2,3],\"TaskName\": \"Child Task 1\", \"StartDate\": new Date(\"02/27/2017\"), \"EndDate\": new Date(\"03/03/2017\"), \"Progress\": \"40\" },\n { \"TaskID\": 3, \"TaskName\": \"Child Task 2\", \"StartDate\": new Date(\"02/26/2017\"), \"EndDate\": new Date(\"03/03/2017\"), \"Progress\": \"40\",\"isManual\": true },\n { \"TaskID\": 4, \"TaskName\": \"Child Task 3\", \"StartDate\": new Date(\"02/27/2017\"), \"EndDate\": new Date(\"03/03/2017\"), \"Duration\": 5, \"Progress\": \"40\", }\n ]\n },\n {\n \"TaskID\": 5,\n \"TaskName\": \"Parent Task 2\",\n \"StartDate\": new Date(\"03/05/2017\"),\n \"EndDate\": new Date(\"03/09/2017\"),\n \"Progress\": \"40\",\n \"isManual\": true,\n \"Children\": [\n { \"TaskID\": 6, \"TaskName\": \"Child Task 1\", \"StartDate\": new Date(\"03/06/2017\"), \"EndDate\": new Date(\"03/09/2017\"), \"Progress\": \"40\" },\n { \"TaskID\": 7, \"TaskName\": \"Child Task 2\", \"StartDate\": new Date(\"03/06/2017\"), \"EndDate\": new Date(\"03/09/2017\"), \"Progress\": \"40\", },\n { \"TaskID\": 8, \"TaskName\": \"Child Task 3\", \"StartDate\": new Date(\"02/28/2017\"), \"EndDate\": new Date(\"03/05/2017\"), \"Progress\": \"40\",\"isManual\":true },\n { \"TaskID\": 9, \"TaskName\": \"Child Task 4\", \"StartDate\": new Date(\"03/04/2017\"), \"EndDate\": new Date(\"03/09/2017\"), \"Progress\": \"40\",\"isManual\":true }\n ]\n },\n {\n \"TaskID\": 10,\n \"TaskName\": \"Parent Task 3\",\n \"StartDate\": new Date(\"03/13/2017\"),\n \"EndDate\": new Date(\"03/17/2017\"),\n \"Progress\": \"40\",\n \"Children\": [\n { \"TaskID\": 11, \"TaskName\": \"Child Task 1\", \"StartDate\": new Date(\"03/13/2017\"), \"EndDate\": new Date(\"03/17/2017\"), \"Progress\": \"40\" },\n { \"TaskID\": 12, \"TaskName\": \"Child Task 2\", \"StartDate\": new Date(\"03/13/2017\"), \"EndDate\": new Date(\"03/17/2017\"), \"Progress\": \"40\", },\n { \"TaskID\": 13, \"TaskName\": \"Child Task 3\", \"StartDate\": new Date(\"03/13/2017\"), \"EndDate\": new Date(\"03/17/2017\"), \"Progress\": \"40\", },\n { \"TaskID\": 14, \"TaskName\": \"Child Task 4\", \"StartDate\": new Date(\"03/12/2017\"), \"EndDate\": new Date(\"03/17/2017\"), \"Progress\": \"40\",\"isManual\":true },\n { \"TaskID\": 15, \"TaskName\": \"Child Task 5\", \"StartDate\": new Date(\"03/13/2017\"), \"EndDate\": new Date(\"03/17/2017\"), \"Progress\": \"40\", }\n ]\n }\n];\nexport let resourcesData: object[] = [\n {\n TaskID: 1,\n TaskName: 'Project initiation',\n StartDate: new Date('03/29/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 2, TaskName: 'Identify site location', StartDate: new Date('03/29/2019'), Duration: 3,\n Progress: 30, work: 10, resources: [{ resourceId: 1, resourceUnit: 50 }]\n },\n {\n TaskID: 3, TaskName: 'Perform soil test', StartDate: new Date('03/29/2019'), Duration: 4,\n resources: [{ resourceId: 2, resourceUnit: 70 }], Progress: 30, work: 20\n },\n {\n TaskID: 4, TaskName: 'Soil test approval', StartDate: new Date('03/29/2019'), Duration: 4,\n resources: [{ resourceId: 1, resourceUnit: 75 }], Predecessor: 2, Progress: 30, work: 10,\n },\n ]\n },\n {\n TaskID: 5,\n TaskName: 'Project estimation', StartDate: new Date('03/29/2019'), EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 6, TaskName: 'Develop floor plan for estimation', StartDate: new Date('03/29/2019'),\n Duration: 3, Progress: 30, resources: [{ resourceId: 2, resourceUnit: 70 }], Predecessor: '3FS+2', work: 30\n },\n {\n TaskID: 7, TaskName: 'List materials', StartDate: new Date('04/08/2019'), Duration: 12,\n resources: [{ resourceId: 6, resourceUnit: 40 }], Progress: 30, work: 40\n },\n {\n TaskID: 8, TaskName: 'Estimation approval', StartDate: new Date('04/03/2019'), \n Duration: 10, resources: [{ resourceId: 5, resourceUnit: 75 }], Progress: 30, work: 60,\n },\n {\n TaskID: 9, TaskName: 'Excavate for foundations', StartDate: new Date('04/01/2019'),\n Duration: 4, Progress: 30, resources: [4]\n },\n {\n TaskID: 10, TaskName: 'Install plumbing grounds', StartDate: new Date('04/08/2019'), Duration: 4,\n Progress: 30, Predecessor: '9SS', resources: [3]\n },\n {\n TaskID: 11, TaskName: 'Dig footer', StartDate: new Date('04/08/2019'),\n Duration: 3, resources: [2]\n },\n {\n TaskID: 12, TaskName: 'Electrical utilities', StartDate: new Date('04/03/2019'),\n Duration: 4, Progress: 30, resources: [3]\n }\n ]\n },\n {\n TaskID: 13, TaskName: 'Sign contract', StartDate: new Date('04/04/2019'), Duration: 2,\n Progress: 30,\n }\n];\nexport let resourceCollection: object[] = [\n { resourceId: 1, resourceName: 'Martin Tamer', resourceGroup: 'Planning Team'},\n { resourceId: 2, resourceName: 'Rose Fuller', resourceGroup: 'Testing Team' },\n { resourceId: 3, resourceName: 'Margaret Buchanan', resourceGroup: 'Approval Team' },\n { resourceId: 4, resourceName: 'Fuller King', resourceGroup: 'Development Team' },\n { resourceId: 5, resourceName: 'Davolio Fuller', resourceGroup: 'Approval Team' },\n { resourceId: 6, resourceName: 'Van Jack', resourceGroup: 'Development Team' }\n];\n\nexport let multitaskbardata: object[] = [\n {\n TaskID: 1,\n TaskName: 'Project initiation',\n StartDate: new Date('03/29/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 2, TaskName: 'Identify site location', StartDate: new Date('03/29/2019'), Duration: 3,\n Progress: 30, work: 10, resources: [{ resourceId: 1, resourceUnit: 50 }]\n },\n {\n TaskID: 3, TaskName: 'Perform soil test', StartDate: new Date('04/03/2019'), Duration: 4,\n resources: [{ resourceId: 1, resourceUnit: 70 }], Predecessor: 2, Progress: 30, work: 20\n },\n {\n TaskID: 4, TaskName: 'Soil test approval', StartDate: new Date('04/09/2019'), Duration: 4,\n resources: [{ resourceId: 1, resourceUnit: 25 }], Predecessor: 3, Progress: 30, work: 10,\n },\n ]\n },\n {\n TaskID: 5,\n TaskName: 'Project estimation', StartDate: new Date('03/29/2019'), EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 6, TaskName: 'Develop floor plan for estimation', StartDate: new Date('04/01/2019'),\n Duration: 5, Progress: 30, resources: [{ resourceId: 2, resourceUnit: 50 }], work: 30\n },\n {\n TaskID: 7, TaskName: 'List materials', StartDate: new Date('04/04/2019'), Duration: 4,\n resources: [{ resourceId: 2, resourceUnit: 40 }], Predecessor: '6FS-2', Progress: 30, work: 40\n },\n {\n TaskID: 8, TaskName: 'Estimation approval', StartDate: new Date('04/09/2019'),\n Duration: 4, resources: [{ resourceId: 2, resourceUnit: 75 }], Predecessor: '7FS-1', Progress: 30, work: 60,\n }\n ]\n },\n {\n TaskID: 9,\n TaskName: 'Site work',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 10, TaskName: 'Install temporary power service', StartDate: new Date('04/01/2019'), Duration: 14,\n Progress: 30, resources: [{ resourceId: 3, resourceUnit: 75 }]\n },\n {\n TaskID: 11, TaskName: 'Clear the building site', StartDate: new Date('04/08/2019'),\n Duration: 9, Progress: 30, Predecessor: '10FS-9', resources: [3]\n },\n {\n TaskID: 12, TaskName: 'Sign contract', StartDate: new Date('04/12/2019'),\n Duration: 5, resources: [3], Predecessor: '11FS-5'\n },\n ]\n },\n {\n TaskID: 13,\n TaskName: 'Foundation',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 14, TaskName: 'Excavate for foundations', StartDate: new Date('04/01/2019'),\n Duration: 2, Progress: 30, resources: [4]\n },\n {\n TaskID: 15, TaskName: 'Dig footer', StartDate: new Date('04/04/2019'),\n Duration: 2, Predecessor: '14FS + 1', resources: [4]\n },\n {\n TaskID: 16, TaskName: 'Install plumbing grounds', StartDate: new Date('04/08/2019'), Duration: 2,\n Progress: 30, Predecessor: 15, resources: [4]\n }\n ]\n },\n {\n TaskID: 17,\n TaskName: 'Framing',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 18, TaskName: 'Add load-bearing structure', StartDate: new Date('04/03/2019'),\n Duration: 2, Progress: 30, resources: [5]\n },\n {\n TaskID: 19, TaskName: 'Natural gas utilities', StartDate: new Date('04/08/2019'),\n Duration: 4, Predecessor: '18', resources: [5]\n },\n {\n TaskID: 20, TaskName: 'Electrical utilities', StartDate: new Date('04/11/2019'),\n Duration: 2, Progress: 30, Predecessor: '19FS + 1', resources: [5]\n }\n ]\n }\n];\nexport let resources: object[] = [\n { resourceId: 1, resourceName: 'Martin Tamer', resourceGroup: 'Planning Team', isExpand: false},\n { resourceId: 2, resourceName: 'Rose Fuller', resourceGroup: 'Testing Team', isExpand: true},\n { resourceId: 3, resourceName: 'Margaret Buchanan', resourceGroup: 'Approval Team', isExpand: false },\n { resourceId: 4, resourceName: 'Fuller King', resourceGroup: 'Development Team', isExpand: false },\n { resourceId: 5, resourceName: 'Davolio Fuller', resourceGroup: 'Approval Team', isExpand: true }\n];\n\nexport let splitTasksData: object[] = [\n {\n TaskID: 1,\n TaskName: 'Project Schedule',\n StartDate: new Date('02/04/2019'),\n EndDate: new Date('03/10/2019'),\n subtasks: [\n {\n TaskID: 2,\n TaskName: 'Planning',\n StartDate: new Date('02/04/2019'),\n subtasks: [\n {\n TaskID: 3, TaskName: 'Plan timeline', StartDate: new Date('02/04/2019'), EndDate: new Date('02/10/2019'),\n Duration: 10, Progress: '60',\n Segments: [\n { StartDate: new Date('02/04/2019'), Duration: 2 },\n { StartDate: new Date('02/05/2019'), Duration: 5 },\n { StartDate: new Date('02/08/2019'), Duration: 3 }\n ]\n },\n {\n TaskID: 4, TaskName: 'Plan budget', StartDate: new Date('02/04/2019'), EndDate: new Date('02/10/2019'),\n Duration: 10, Progress: '90'\n },\n {\n TaskID: 5, TaskName: 'Allocate resources', StartDate: new Date('02/04/2019'), EndDate: new Date('02/10/2019'),\n Duration: 10, Progress: '75',\n Segments: [\n { StartDate: new Date('02/04/2019'), Duration: 4 },\n { StartDate: new Date('02/08/2019'), Duration: 2 }\n ]\n },\n {\n TaskID: 6, TaskName: 'Planning complete', StartDate: new Date('02/21/2019'), EndDate: new Date('02/21/2019'),\n Duration: 0, Predecessor: '3FS,5FS'\n },\n ]\n },\n {\n TaskID: 7,\n TaskName: 'Design',\n StartDate: new Date('02/25/2019'),\n subtasks: [\n {\n TaskID: 8, TaskName: 'Software Specification', StartDate: new Date('02/25/2019'), EndDate: new Date('03/02/2019'),\n Duration: 5, Progress: '60', Predecessor: '6FS'\n },\n {\n TaskID: 9, TaskName: 'Develop prototype', StartDate: new Date('02/25/2019'), EndDate: new Date('03/02/2019'),\n Duration: 5, Progress: '100', Predecessor: '6FS',\n Segments: [\n { StartDate: new Date('02/25/2019'), Duration: 2 },\n { StartDate: new Date('02/28/2019'), Duration: 3 }\n ]\n },\n {\n TaskID: 10, TaskName: 'Get approval from customer', StartDate: new Date('02/25/2019'),\n\t\t\t\t\t\tEndDate: new Date('03/01/2019'), Duration: 4, Progress: '100', Predecessor: '9FS'\n },\n {\n TaskID: 11, TaskName: 'Design complete', StartDate: new Date('02/25/2019'), EndDate: new Date('02/25/2019'),\n Duration: 0, Predecessor: '10FS'\n }\n ]\n }\n ]\n }\n];\n\nexport let tempData: any[] = [\n {\n TaskID: 1, TaskName: 'Product concept',StartDate: new Date('04/02/2019'), EndDate: new Date('04/21/2019'),\n parentID: 0\n },\n {\n TaskID: 2, TaskName: 'Defining the product and its usage', StartDate: new Date('04/02/2019'),\n Duration: 3, Progress: 30, parentID: 1\n },\n {\n TaskID: 3, TaskName: 'Defining target audience', StartDate: new Date('04/02/2019'),\n parentID: 1, Duration: 3\n },\n {\n TaskID: 4, TaskName: 'Prepare product sketch and notes', StartDate: new Date('04/05/2019'),\n Duration: 2, parentID: 1, Progress: 30\n },\n {\n TaskID: 5, TaskName: 'Concept approval', StartDate: new Date('04/08/2019'),\n parentID: 0, Duration: 0\n },\n {\n TaskID: 6, TaskName: 'Market research', StartDate: new Date('04/02/2019'),\n parentID: 0, EndDate: new Date('04/21/2019')\n },\n {\n TaskID: 7, TaskName: 'Demand analysis', StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'), parentID: 6\n },\n {\n TaskID: 8, TaskName: 'Customer strength', StartDate: new Date('04/09/2019'),\n Duration: 4, parentID: 7, Progress: 30\n },\n {\n TaskID: 9, TaskName: 'Market opportunity analysis', StartDate: new Date('04/09/2019'),\n Duration: 4, parentID: 7\n },\n {\n TaskID: 10, TaskName: 'Competitor analysis', StartDate: new Date('04/15/2019'),\n Duration: 4, parentID: 6, Progress: 30\n },\n {\n TaskID: 11, TaskName: 'Product strength analsysis', StartDate: new Date('04/15/2019'),\n Duration: 4, parentID: 6\n },\n {\n TaskID: 12, TaskName: 'Research complete', StartDate: new Date('04/18/2019'),\n Duration: 0, parentID: 6\n },\n {\n TaskID: 13, TaskName: 'Product design and development', StartDate: new Date('04/04/2019'),\n parentID: 0, EndDate: new Date('04/21/2019')\n },\n {\n TaskID: 14, TaskName: 'Functionality design', StartDate: new Date('04/19/2019'),\n Duration: 3, parentID: 13, Progress: 30\n },\n {\n TaskID: 15, TaskName: 'Quality design', StartDate: new Date('04/19/2019'),\n Duration: 3, parentID: 13\n },\n {\n TaskID: 16, TaskName: 'Define reliability', StartDate: new Date('04/24/2019'),\n Duration: 2, Progress: 30, parentID: 13\n },\n {\n TaskID: 17, TaskName: 'Identifying raw materials', StartDate: new Date('04/24/2019'),\n Duration: 2, parentID: 13\n },\n {\n TaskID: 18, TaskName: 'Define cost plan', StartDate: new Date('04/04/2019'),\n parentID: 13, EndDate: new Date('04/21/2019')\n },\n {\n TaskID: 19, TaskName: 'Manufacturing cost', StartDate: new Date('04/26/2019'),\n Duration: 2, Progress: 30, parentID: 18\n },\n {\n TaskID: 20, TaskName: 'Selling cost', StartDate: new Date('04/26/2019'),\n Duration: 2, parentID: 18\n },\n {\n TaskID: 21, TaskName: 'Development of the final design', StartDate: new Date('04/30/2019'),\n parentID: 13, EndDate: new Date('04/21/2019')\n },\n {\n TaskID: 22, TaskName: 'Defining dimensions and package volume', StartDate: new Date('04/30/2019'),\n Duration: 2, parentID: 21, Progress: 30\n },\n {\n TaskID: 23, TaskName: 'Develop design to meet industry standards', StartDate: new Date('05/02/2019'),\n Duration: 2, parentID: 21\n },\n {\n TaskID: 24, TaskName: 'Include all the details', StartDate: new Date('05/06/2019'),\n Duration: 3, parentID: 21\n },\n {\n TaskID: 25, TaskName: 'CAD computer-aided design', StartDate: new Date('05/09/2019'),\n Duration: 3, parentID: 13, Progress: 30\n },\n {\n TaskID: 26, TaskName: 'CAM computer-aided manufacturing', StartDate: new Date('09/14/2019'),\n Duration: 3, parentID: 13\n },\n {\n TaskID: 27, TaskName: 'Design complete', StartDate: new Date('05/16/2019'),\n Duration: 0, parentID: 13\n },\n {\n TaskID: 28, TaskName: 'Prototype testing', StartDate: new Date('05/17/2019'),\n Duration: 4, Progress: 30, parentID: 0\n },\n {\n TaskID: 29, TaskName: 'Include feedback', StartDate: new Date('05/17/2019'),\n Duration: 4, parentID: 0\n },\n {\n TaskID: 30, TaskName: 'Manufacturing', StartDate: new Date('05/23/2019'),\n Duration: 5, Progress: 30, parentID: 0\n },\n {\n TaskID: 31, TaskName: 'Assembling materials to finsihed goods', StartDate: new Date('05/30/2019'),\n Duration: 5, parentID: 0\n },\n {\n TaskID: 32, TaskName: 'Feedback and testing', StartDate: new Date('04/04/2019'),\n parentID: 0, EndDate: new Date('04/21/2019'),\n },\n {\n TaskID: 33, TaskName: 'Internal testing and feedback', StartDate: new Date('06/06/2019'),\n Duration: 3, parentID: 32, Progress: 45\n },\n {\n TaskID: 34, TaskName: 'Customer testing and feedback', StartDate: new Date('06/11/2019'),\n Duration: 3, parentID: 32, Progress: 50\n },\n {\n TaskID: 35, TaskName: 'Final product development', StartDate: new Date('04/04/2019'),\n parentID: 0, EndDate: new Date('04/21/2019'),\n },\n {\n TaskID: 36, TaskName: 'Important improvements', StartDate: new Date('06/14/2019'),\n Duration: 4, Progress: 30, parentID: 35\n },\n {\n TaskID: 37, TaskName: 'Address any unforeseen issues', StartDate: new Date('06/14/2019'),\n Duration: 4, Progress: 30, parentID: 35\n },\n {\n TaskID: 38, TaskName: 'Final product', StartDate: new Date('04/04/2019'),\n parentID: 0, EndDate: new Date('04/21/2019'),\n },\n {\n TaskID: 39, TaskName: 'Branding product', StartDate: new Date('06/20/2019'),\n Duration: 4, parentID: 38\n },\n {\n TaskID: 40, TaskName: 'Marketing and presales', StartDate: new Date('06/26/2019'), Duration: 4,\n Progress: 30, parentID: 38\n }\n];\n\nexport let virtualData: any[] = [];\nlet projId: number = 1;\nfor (let i: number = 0; i < 50; i++) {\n let x: number = virtualData.length + 1;\n let parent: any = {};\n /* tslint:disable:no-string-literal */\n parent['TaskID'] = x;\n parent['TaskName'] = 'Project ' + (i + 1);\n virtualData.push(parent);\n for (let j: number = 0; j < tempData.length; j++) {\n let subtasks: any = {};\n /* tslint:disable:no-string-literal */\n subtasks['TaskID'] = tempData[j].TaskID + x;\n subtasks['TaskName'] = tempData[j].TaskName;\n subtasks['StartDate'] = tempData[j].StartDate;\n subtasks['Duration'] = tempData[j].Duration;\n subtasks['Progress'] = tempData[j].Progress;\n subtasks['parentID'] = tempData[j].parentID + x;\n virtualData.push(subtasks);\n }\n}\n\nexport let timezoneData: object[] = [\n {\n taskID: 1,\n taskName: 'Project Schedule',\n startDate: new Date('02/04/2019 08:00'),\n endDate: new Date('03/10/2019')\n },\n {\n taskID: 2,\n taskName: 'Planning',\n startDate: new Date('02/04/2019 08:00'),\n endDate: new Date('02/10/2019'),\n parentID: 1\n },\n {\n taskID: 3,\n taskName: 'Plan timeline',\n startDate: new Date('02/04/2019 08:00'),\n endDate: new Date('02/10/2019'),\n duration: 6,\n progress: '60',\n parentID: 2\n },\n {\n taskID: 4,\n taskName: 'Plan budget',\n startDate: new Date('02/04/2019 08:00'),\n endDate: new Date('02/10/2019'),\n duration: 6,\n progress: '90',\n parentID: 2\n },\n {\n taskID: 5,\n taskName: 'Allocate resources',\n startDate: new Date('02/04/2019 08:00'),\n endDate: new Date('02/10/2019'),\n duration: 6,\n progress: '75',\n parentID: 2\n },\n {\n taskID: 6,\n taskName: 'Planning complete',\n startDate: new Date('02/06/2019 08:00'),\n endDate: new Date('02/10/2019'),\n duration: 0,\n predecessor: '3FS,4FS,5FS',\n parentID: 2\n },\n {\n taskID: 7,\n taskName: 'Design',\n startDate: new Date('02/13/2019 08:00'),\n endDate: new Date('02/17/2019 08:00'),\n parentID: 1,\n },\n {\n taskID: 8,\n taskName: 'Software Specification',\n startDate: new Date('02/13/2019 08:00'),\n endDate: new Date('02/15/2019'),\n duration: 3,\n progress: '60',\n predecessor: '6FS',\n parentID: 7,\n },\n {\n taskID: 9,\n taskName: 'Develop prototype',\n startDate: new Date('02/13/2019 08:00'),\n endDate: new Date('02/15/2019'),\n duration: 3,\n progress: '100',\n predecessor: '6FS',\n parentID: 7,\n },\n {\n taskID: 10,\n taskName: 'Get approval from customer',\n startDate: new Date('02/16/2019 08:00'),\n endDate: new Date('02/17/2019 08:00'),\n duration: 2,\n progress: '100',\n predecessor: '9FS',\n parentID: 7,\n },\n {\n taskID: 11,\n taskName: 'Design complete',\n startDate: new Date('02/17/2019 08:00'),\n endDate: new Date('02/17/2019 08:00'),\n duration: 0,\n predecessor: '10FS',\n parentID: 7,\n }\n];","app.component.ts":"import { Component, OnInit } from '@angular/core';\nimport { projectNewData } from './data';\n@Component({\n selector: 'app-root',\n templateUrl: 'app.component.html'\n})\nexport class AppComponent {\n public data: object[];\n public taskSettings: object;\n public columns: object[];\n public labelSettings: object;\n public projectStartDate: Date;\n public projectEndDate: Date;\n public eventMarkers: object[];\n public ngOnInit(): void {\n this.data = projectNewData;\n this.taskSettings = {\n id: 'TaskID',\n name: 'TaskName',\n startDate: 'StartDate',\n endDate: 'EndDate',\n duration: 'Duration',\n progress: 'Progress',\n dependency: 'Predecessor',\n child: 'subtasks'\n };\n this.columns = [\n { field: 'TaskID', width: 80 },\n { field: 'TaskName', width: 250 },\n { field: 'StartDate' },\n { field: 'EndDate' },\n { field: 'Duration' },\n { field: 'Predecessor' },\n { field: 'Progress' },\n ];\n this.projectStartDate = new Date('03/24/2019');\n this.projectEndDate = new Date('07/06/2019');\n this.labelSettings = {\n leftLabel: 'TaskName',\n };\n this.eventMarkers = [\n {\n day: new Date('04/02/2019'),\n label:\"Project starts\"\n }, {\n day: new Date(\"04/09/2019\"),\n label: 'Research phase'\n }, {\n day: new Date(\"04/30/2019\"),\n label: 'Design phase'\n }, {\n day: new Date(\"05/23/2019\"),\n label: 'Production phase'\n }, {\n day: new Date(\"06/20/2019\"),\n label: 'Sales and marketing phase'\n }\n ];\n }\n}\n","app/app.module.ts":"import { MultiSelectAllModule } from '@syncfusion/ej2-angular-dropdowns';\n\nimport { TextBoxAllModule, NumericTextBoxAllModule } from '@syncfusion/ej2-angular-inputs';\n\nimport { DropDownListAllModule } from '@syncfusion/ej2-angular-dropdowns';\n\nimport { CheckBoxAllModule } from '@syncfusion/ej2-angular-buttons';\n\nimport { GanttAllModule } from '@syncfusion/ej2-angular-gantt';\n\nimport { HttpModule } from '@angular/http';\n\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\nimport { RouterModule } from '@angular/router';\n\nimport { CommonModule } from '@angular/common';\n\nimport { BrowserModule } from '@angular/platform-browser';\n\nimport { NgModule } from '@angular/core';\nimport { AppComponent } from '../app.component';\n@NgModule({ declarations: [ AppComponent ], imports: [ BrowserModule, GanttAllModule, DropDownListAllModule, CheckBoxAllModule, TextBoxAllModule, NumericTextBoxAllModule, MultiSelectAllModule], providers: [], bootstrap: [AppComponent]\n})\nexport class AppModule { }\n","app.component.html":"\n
\n \n \n
\n","app.component.css":""} \ No newline at end of file diff --git a/src/app/gantt/event-markers.component.ts b/src/app/gantt/event-markers.component.ts index 9d92fdc0..d204f0f5 100644 --- a/src/app/gantt/event-markers.component.ts +++ b/src/app/gantt/event-markers.component.ts @@ -41,6 +41,7 @@ export class GanttEventMarkersComponent implements OnInit { this.eventMarkers = [ { day: new Date('04/02/2019'), + label:"Project starts" }, { day: new Date("04/09/2019"), label: 'Research phase' diff --git a/src/app/gantt/header-template-stackb.json b/src/app/gantt/header-template-stackb.json index 53b0edbd..0f009ab1 100644 --- a/src/app/gantt/header-template-stackb.json +++ b/src/app/gantt/header-template-stackb.json @@ -1 +1 @@ -{"dependencies.json":"{\"@syncfusion/ej2-base\": \"*\", \"@syncfusion/ej2-buttons\": \"*\", \"@syncfusion/ej2-splitbuttons\": \"*\", \"@syncfusion/ej2-calendars\": \"*\", \"@syncfusion/ej2-charts\": \"*\", \"@syncfusion/ej2-diagrams\": \"*\", \"@syncfusion/ej2-maps\": \"*\", \"@syncfusion/ej2-treemap\": \"*\", \"@syncfusion/ej2-circulargauge\": \"*\", \"@syncfusion/ej2-data\": \"*\", \"@syncfusion/ej2-dropdowns\": \"*\", \"@syncfusion/ej2-grids\": \"*\", \"@syncfusion/ej2-inputs\": \"*\", \"@syncfusion/ej2-lists\": \"*\", \"@syncfusion/ej2-navigations\": \"*\", \"@syncfusion/ej2-popups\": \"*\", \"@syncfusion/ej2-lineargauge\": \"*\", \"@syncfusion/ej2-pdf-export\": \"*\", \"@syncfusion/ej2-compression\": \"*\", \"@syncfusion/ej2-excel-export\": \"*\", \"@syncfusion/ej2-file-utils\": \"*\", \"@syncfusion/ej2-svg-base\": \"*\", \"@syncfusion/ej2-documenteditor\": \"*\", \"@syncfusion/ej2-richtexteditor\": \"*\", \"@syncfusion/ej2-notifications\": \"*\", \"@syncfusion/ej2-heatmap\": \"*\", \"@syncfusion/ej2-pivotview\": \"*\", \"@syncfusion/ej2-schedule\": \"*\", \"@syncfusion/ej2-layouts\": \"*\", \"@syncfusion/ej2-angular-base\": \"*\", \"@syncfusion/ej2-angular-buttons\": \"*\", \"@syncfusion/ej2-angular-splitbuttons\": \"*\", \"@syncfusion/ej2-angular-calendars\": \"*\", \"@syncfusion/ej2-angular-charts\": \"*\", \"@syncfusion/ej2-angular-diagrams\": \"*\", \"@syncfusion/ej2-angular-maps\": \"*\", \"@syncfusion/ej2-angular-treemap\": \"*\", \"@syncfusion/ej2-angular-circulargauge\": \"*\", \"@syncfusion/ej2-angular-dropdowns\": \"*\", \"@syncfusion/ej2-angular-grids\": \"*\", \"@syncfusion/ej2-angular-inputs\": \"*\", \"@syncfusion/ej2-angular-lists\": \"*\", \"@syncfusion/ej2-angular-navigations\": \"*\", \"@syncfusion/ej2-angular-popups\": \"*\", \"@syncfusion/ej2-angular-lineargauge\": \"*\", \"@syncfusion/ej2-angular-documenteditor\": \"*\", \"@syncfusion/ej2-angular-richtexteditor\": \"*\", \"@syncfusion/ej2-angular-notifications\": \"*\", \"@syncfusion/ej2-angular-heatmap\": \"*\", \"@syncfusion/ej2-angular-pivotview\": \"*\", \"@syncfusion/ej2-angular-schedule\": \"*\", \"@syncfusion/ej2-angular-layouts\": \"*\" , \"@angular/http\": \"*\", \"rxjs-compat\":\"*\", \"core-js\": \"2.6.9\"}","main.ts":"import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.error(err));\n","polyfills.ts":"/**\n * This file includes polyfills needed by Angular and is loaded before the app.\n * You can add your own extra polyfills to this file.\n *\n * This file is divided into 2 sections:\n * 1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers.\n * 2. Application imports. Files imported after ZoneJS that should be loaded before your main\n * file.\n *\n * The current setup is for so-called \"evergreen\" browsers; the last versions of browsers that\n * automatically update themselves. This includes Safari >= 10, Chrome >= 55 (including Opera),\n * Edge >= 13 on the desktop, and iOS 10 and Chrome on mobile.\n *\n * Learn more in https://angular.io/guide/browser-support\n */\n\n/***************************************************************************************************\n * BROWSER POLYFILLS\n */\n\n/** IE10 and IE11 requires the following for NgClass support on SVG elements */\n// import 'classlist.js'; // Run `npm install --save classlist.js`.\n\n/**\n * Web Animations `@angular/platform-browser/animations`\n * Only required if AnimationBuilder is used within the application and using IE/Edge or Safari.\n * Standard animation support in Angular DOES NOT require any polyfills (as of Angular 6.0).\n */\n// import 'web-animations-js'; // Run `npm install --save web-animations-js`.\n\n/**\n * By default, zone.js will patch all possible macroTask and DomEvents\n * user can disable parts of macroTask/DomEvents patch by setting following flags\n * because those flags need to be set before `zone.js` being loaded, and webpack\n * will put import in the top of bundle, so user need to create a separate file\n * in this directory (for example: zone-flags.ts), and put the following flags\n * into that file, and then add the following code before importing zone.js.\n * import './zone-flags';\n *\n * The flags allowed in zone-flags.ts are listed here.\n *\n * The following flags will work for all browsers.\n *\n * (window as any).__Zone_disable_requestAnimationFrame = true; // disable patch requestAnimationFrame\n * (window as any).__Zone_disable_on_property = true; // disable patch onProperty such as onclick\n * (window as any).__zone_symbol__UNPATCHED_EVENTS = ['scroll', 'mousemove']; // disable patch specified eventNames\n *\n * in IE/Edge developer tools, the addEventListener will also be wrapped by zone.js\n * with the following flag, it will bypass `zone.js` patch for IE/Edge\n *\n * (window as any).__Zone_enable_cross_context_check = true;\n *\n */\n\n/***************************************************************************************************\n * Zone JS is required by default for Angular itself.\n */\nimport 'zone.js/dist/zone'; // Included with Angular CLI.\n\n\n/***************************************************************************************************\n * APPLICATION IMPORTS\n */\n","angular.json":"{\n \"$schema\": \"./node_modules/@angular/cli/lib/config/schema.json\",\n \"version\": 1,\n \"newProjectRoot\": \"projects\",\n \"projects\": {\n \"demo\": {\n \"root\": \"\",\n \"sourceRoot\": \"\",\n \"projectType\": \"application\",\n \"prefix\": \"app\",\n \"schematics\": {},\n \"architect\": {\n \"build\": {\n \"builder\": \"@angular-devkit/build-angular:browser\",\n \"options\": {\n \"outputPath\": \"dist/demo\",\n \"index\": \"index.html\",\n \"main\": \"main.ts\",\n \"polyfills\": \"polyfills.ts\",\n \"tsConfig\": \"tsconfig.app.json\",\n \"assets\": [\n \"favicon.ico\",\n \"assets\"\n ],\n \"styles\": [\n \n ],\n \"scripts\": []\n },\n \"configurations\": {\n \"production\": {\n \"fileReplacements\": [\n {\n \"replace\": \"src/environments/environment.ts\",\n \"with\": \"src/environments/environment.prod.ts\"\n }\n ],\n \"optimization\": true,\n \"outputHashing\": \"all\",\n \"sourceMap\": false,\n \"extractCss\": true,\n \"namedChunks\": false,\n \"aot\": true,\n \"extractLicenses\": true,\n \"vendorChunk\": false,\n \"buildOptimizer\": true\n }\n }\n },\n \"serve\": {\n \"builder\": \"@angular-devkit/build-angular:dev-server\",\n \"options\": {\n \"browserTarget\": \"demo:build\"\n },\n \"configurations\": {\n \"production\": {\n \"browserTarget\": \"demo:build:production\"\n }\n }\n },\n \"extract-i18n\": {\n \"builder\": \"@angular-devkit/build-angular:extract-i18n\",\n \"options\": {\n \"browserTarget\": \"demo:build\"\n }\n },\n \"test\": {\n \"builder\": \"@angular-devkit/build-angular:karma\",\n \"options\": {\n \"main\": \"src/test.ts\",\n \"polyfills\": \"src/polyfills.ts\",\n \"tsConfig\": \"src/tsconfig.spec.json\",\n \"karmaConfig\": \"src/karma.conf.js\",\n \"styles\": [\n \"styles.css\"\n ],\n \"scripts\": [],\n \"assets\": [\n \"src/favicon.ico\",\n \"src/assets\"\n ]\n }\n },\n \"lint\": {\n \"builder\": \"@angular-devkit/build-angular:tslint\",\n \"options\": {\n \"tsConfig\": [\n \"src/tsconfig.app.json\",\n \"src/tsconfig.spec.json\"\n ],\n \"exclude\": [\n \"**/node_modules/**\"\n ]\n }\n }\n }\n }\n },\n \"defaultProject\": \"demo\"\n }\n \n","environments/environment.ts":"// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\n// The list of file replacements can be found in `angular.json`.\n\nexport const environment = {\n production: false\n};\n\n/*\n * For easier debugging in development mode, you can import the following file\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\n *\n * This import should be commented out in production mode because it will have a negative impact\n * on performance if an error is thrown.\n */\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\n","environments/environment.prod.ts":"export const environment = {\n production: true\n};\n","index.html":"\n\n\n \n Window\n \n \n \n \n\n \n\n \n \n\n \n\n\n","data.ts":"/**\n * Gantt DataSource\n */\n\nexport let projectNewData: Object[] = [\n {\n TaskID: 1,\n TaskName: 'Product concept',\n StartDate: new Date('04/02/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n { TaskID: 2, TaskName: 'Defining the product and its usage', StartDate: new Date('04/02/2019'), Duration: 3, Progress: 30 },\n { TaskID: 3, TaskName: 'Defining target audience', StartDate: new Date('04/02/2019'), Duration: 3 },\n {\n TaskID: 4, TaskName: 'Prepare product sketch and notes', StartDate: new Date('04/02/2019'), Duration: 2,\n Predecessor: '2', Progress: 30\n },\n ]\n },\n {\n TaskID: 5, TaskName: 'Concept approval', StartDate: new Date('04/02/2019'), Duration: 0, Predecessor: '3,4',\n Indicators: [\n {\n 'date': new Date('04/10/2019'),\n 'name': 'Design Phase',\n 'tooltip': 'Design phase completed',\n 'iconClass': 'okIcon e-icons'\n }\n ]\n },\n {\n TaskID: 6,\n TaskName: 'Market research',\n StartDate: new Date('04/02/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 7,\n TaskName: 'Demand analysis',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 8, TaskName: 'Customer strength', StartDate: new Date('04/04/2019'), Duration: 4,\n Predecessor: '5', Progress: 30\n },\n { TaskID: 9, TaskName: 'Market opportunity analysis', StartDate: new Date('04/04/2019'), Duration: 4, Predecessor: '5' }\n ]\n },\n {\n TaskID: 10, TaskName: 'Competitor analysis', StartDate: new Date('04/04/2019'), Duration: 4,\n Predecessor: '7, 8', Progress: 30\n },\n { TaskID: 11, TaskName: 'Product strength analsysis', StartDate: new Date('04/04/2019'), Duration: 4, Predecessor: '9' },\n {\n TaskID: 12, TaskName: 'Research complete', StartDate: new Date('04/04/2019'), Duration: 0, Predecessor: '10',\n Indicators: [\n {\n 'date': new Date('04/20/2019'),\n 'name': 'Research completed',\n 'tooltip': 'Research completed',\n 'iconClass': 'description e-icons'\n }\n ]\n }\n ]\n },\n {\n TaskID: 13,\n TaskName: 'Product design and development',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 14, TaskName: 'Functionality design', StartDate: new Date('04/04/2019'),\n Duration: 3, Progress: 30, Predecessor: '12'\n },\n { TaskID: 15, TaskName: 'Quality design', StartDate: new Date('04/04/2019'), Duration: 3, Predecessor: '12' },\n { TaskID: 16, TaskName: 'Define reliability', StartDate: new Date('04/04/2019'), Duration: 2, Progress: 30, Predecessor: '15' },\n { TaskID: 17, TaskName: 'Identifying raw materials', StartDate: new Date('04/04/2019'), Duration: 2, Predecessor: '15' },\n {\n TaskID: 18,\n TaskName: 'Define cost plan',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 19, TaskName: 'Manufacturing cost', StartDate: new Date('04/04/2019'),\n Duration: 2, Progress: 30, Predecessor: '17'\n },\n { TaskID: 20, TaskName: 'Selling cost', StartDate: new Date('04/04/2019'), Duration: 2, Predecessor: '17' }\n ]\n },\n {\n TaskID: 21,\n TaskName: 'Development of the final design',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 22, TaskName: 'Defining dimensions and package volume', StartDate: new Date('04/04/2019'),\n Duration: 2, Progress: 30, Predecessor: '19,20'\n },\n {\n TaskID: 23, TaskName: 'Develop design to meet industry standards', StartDate: new Date('04/04/2019'),\n Duration: 2, Predecessor: '22'\n },\n { TaskID: 24, TaskName: 'Include all the details', StartDate: new Date('04/04/2019'), Duration: 3, Predecessor: '23' }\n ]\n },\n {\n TaskID: 25, TaskName: 'CAD computer-aided design', StartDate: new Date('04/04/2019'),\n Duration: 3, Progress: 30, Predecessor: '24'\n },\n { TaskID: 26, TaskName: 'CAM computer-aided manufacturing', StartDate: new Date('04/04/2019'), Duration: 3, Predecessor: '25' },\n {\n TaskID: 27, TaskName: 'Design complete', StartDate: new Date('04/04/2019'), Duration: 0, Predecessor: '26' \n }\n\n ]\n },\n { TaskID: 28, TaskName: 'Prototype testing', StartDate: new Date('04/04/2019'), Duration: 4, Progress: 30, Predecessor: '27' },\n { TaskID: 29, TaskName: 'Include feedback', StartDate: new Date('04/04/2019'), Duration: 4, Predecessor: '28ss', Indicators: [\n {\n 'date': new Date('05/24/2019'),\n 'name': 'Production phase',\n 'tooltip': 'Production phase completed',\n 'iconClass': 'okIcon e-icons'\n }\n ], },\n { TaskID: 30, TaskName: 'Manufacturing', StartDate: new Date('04/04/2019'), Duration: 5, Progress: 30, Predecessor: '28,29' },\n { TaskID: 31, TaskName: 'Assembling materials to finsihed goods', StartDate: new Date('04/04/2019'), Duration: 5, Predecessor: '30' },\n {\n TaskID: 32,\n TaskName: 'Feedback and testing',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 33, TaskName: 'Internal testing and feedback', StartDate: new Date('04/04/2019'),\n Duration: 3, Progress: 45, Predecessor: '31'\n },\n {\n TaskID: 34, TaskName: 'Customer testing and feedback', StartDate: new Date('04/04/2019'),\n Duration: 3, Progress: 50, Predecessor: '33'\n }\n ]\n },\n {\n TaskID: 35,\n TaskName: 'Final product development',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 36, TaskName: 'Important improvements', StartDate: new Date('04/04/2019'),\n Duration: 4, Progress: 30, Predecessor: '34'\n },\n {\n TaskID: 37, TaskName: 'Address any unforeseen issues', StartDate: new Date('04/04/2019'),\n Duration: 4, Progress: 30, Predecessor: '36ss',\n Indicators: [\n {\n 'date': new Date('06/21/2019'),\n 'name': 'Sales and marketing',\n 'tooltip': 'Sales and marketing',\n 'iconClass': 'description e-icons'\n }\n ],\n }\n ]\n },\n {\n TaskID: 38,\n TaskName: 'Final product',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n { TaskID: 39, TaskName: 'Branding product', StartDate: new Date('04/04/2019'), Duration: 4, Predecessor: '37' },\n {\n TaskID: 40, TaskName: 'Marketing and presales', StartDate: new Date('04/04/2019'),\n Duration: 4, Progress: 30, Predecessor: '39'\n }\n ]\n }\n];\n\nexport let WorkingTimeRangeData: Object[] = [\n {\n TaskID: 1,\n TaskName: 'Product concept',\n StartDate: new Date('04/02/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n { TaskID: 2, TaskName: 'Defining the product and its usage', StartDate: new Date('04/02/2019'), Duration: 3, Progress: 30 },\n { TaskID: 3, TaskName: 'Defining target audience', StartDate: new Date('04/02/2019'), Duration: 3 },\n {\n TaskID: 4, TaskName: 'Prepare product sketch and notes', StartDate: new Date('04/02/2019'), Duration: 2,\n Predecessor: '2', Progress: 30\n },\n ]\n },\n {\n TaskID: 5, TaskName: 'Concept approval', StartDate: new Date('04/02/2019'), Duration: 0, Predecessor: '3,4',\n Indicators: [\n {\n 'date': new Date('04/10/2019'),\n 'name': '#briefing',\n 'title': 'Product concept breifing',\n }\n ]\n },\n {\n TaskID: 6,\n TaskName: 'Market research',\n StartDate: new Date('04/02/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 7,\n TaskName: 'Demand analysis',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 8, TaskName: 'Customer strength', StartDate: new Date('04/04/2019'), Duration: 4,\n Predecessor: '5', Progress: 30\n },\n { TaskID: 9, TaskName: 'Market opportunity analysis', StartDate: new Date('04/04/2019'), Duration: 4, Predecessor: '5' }\n ]\n },\n {\n TaskID: 10, TaskName: 'Competitor analysis', StartDate: new Date('04/04/2019'), Duration: 4,\n Predecessor: '7, 8', Progress: 30\n },\n { TaskID: 11, TaskName: 'Product strength analsysis', StartDate: new Date('04/04/2019'), Duration: 4, Predecessor: '9' },\n {\n TaskID: 12, TaskName: 'Research complete', StartDate: new Date('04/04/2019'), Duration: 0, Predecessor: '10',\n Indicators: [\n {\n 'date': new Date('04/20/2019'),\n 'name': '#meeting',\n 'title': '1st board of directors meeting',\n }\n ]\n }\n ]\n },\n {\n TaskID: 13,\n TaskName: 'Product design and development',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 14, TaskName: 'Functionality design', StartDate: new Date('04/04/2019'),\n Duration: 3, Progress: 30, Predecessor: '12'\n },\n { TaskID: 15, TaskName: 'Quality design', StartDate: new Date('04/04/2019'), Duration: 3, Predecessor: '12' },\n { TaskID: 16, TaskName: 'Define reliability', StartDate: new Date('04/04/2019'), Duration: 2, Progress: 30, Predecessor: '15' },\n { TaskID: 17, TaskName: 'Identifying raw materials', StartDate: new Date('04/04/2019'), Duration: 2, Predecessor: '15' },\n {\n TaskID: 18,\n TaskName: 'Define cost plan',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 19, TaskName: 'Manufacturing cost', StartDate: new Date('04/04/2019'),\n Duration: 2, Progress: 30, Predecessor: '17'\n },\n { TaskID: 20, TaskName: 'Selling cost', StartDate: new Date('04/04/2019'), Duration: 2, Predecessor: '17' }\n ]\n },\n {\n TaskID: 21,\n TaskName: 'Development of the final design',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 22, TaskName: 'Defining dimensions and package volume', StartDate: new Date('04/04/2019'),\n Duration: 2, Progress: 30, Predecessor: '19,20'\n },\n {\n TaskID: 23, TaskName: 'Develop design to meet industry standards', StartDate: new Date('04/04/2019'),\n Duration: 2, Predecessor: '22'\n },\n { TaskID: 24, TaskName: 'Include all the details', StartDate: new Date('04/04/2019'), Duration: 3, Predecessor: '23' }\n ]\n },\n {\n TaskID: 25, TaskName: 'CAD computer-aided design', StartDate: new Date('04/04/2019'),\n Duration: 3, Progress: 30, Predecessor: '24'\n },\n { TaskID: 26, TaskName: 'CAM computer-aided manufacturing', StartDate: new Date('04/04/2019'), Duration: 3, Predecessor: '25' },\n {\n TaskID: 27, TaskName: 'Design complete', StartDate: new Date('04/04/2019'), Duration: 0, Predecessor: '26' \n }\n\n ]\n },\n { TaskID: 28, TaskName: 'Prototype testing', StartDate: new Date('04/04/2019'), Duration: 4, Progress: 30, Predecessor: '27' },\n { TaskID: 29, TaskName: 'Include feedback', StartDate: new Date('04/04/2019'), Duration: 4, Predecessor: '28ss', Indicators: [\n {\n 'date': new Date('05/24/2019'),\n 'name': 'Production phase',\n 'tooltip': 'Production phase completed',\n 'iconClass': 'okIcon e-icons'\n }\n ], },\n { TaskID: 30, TaskName: 'Manufacturing', StartDate: new Date('04/04/2019'), Duration: 5, Progress: 30, Predecessor: '28,29' },\n { TaskID: 31, TaskName: 'Assembling materials to finsihed goods', StartDate: new Date('04/04/2019'), Duration: 5, Predecessor: '30' },\n {\n TaskID: 32,\n TaskName: 'Feedback and testing',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 33, TaskName: 'Internal testing and feedback', StartDate: new Date('04/04/2019'),\n Duration: 3, Progress: 45, Predecessor: '31'\n },\n {\n TaskID: 34, TaskName: 'Customer testing and feedback', StartDate: new Date('04/04/2019'),\n Duration: 3, Progress: 50, Predecessor: '33'\n }\n ]\n },\n {\n TaskID: 35,\n TaskName: 'Final product development',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 36, TaskName: 'Important improvements', StartDate: new Date('04/04/2019'),\n Duration: 4, Progress: 30, Predecessor: '34'\n },\n {\n TaskID: 37, TaskName: 'Address any unforeseen issues', StartDate: new Date('04/04/2019'),\n Duration: 4, Progress: 30, Predecessor: '36ss'\n }\n ]\n },\n {\n TaskID: 38,\n TaskName: 'Final product',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n { TaskID: 39, TaskName: 'Branding product', StartDate: new Date('04/04/2019'), Duration: 4, Predecessor: '37' },\n {\n TaskID: 40, TaskName: 'Marketing and presales', StartDate: new Date('04/04/2019'),\n Duration: 4, Progress: 30, Predecessor: '39'\n }\n ]\n }\n];\n\nexport let templateData: Object[] = [\n {\n TaskID: 1,\n TaskName: 'Product concept',\n StartDate: new Date('04/02/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n { TaskID: 2, TaskName: 'Defining the product and its usage', StartDate: new Date('04/02/2019'), Duration: 3, Progress: 30, resources: [2] },\n { TaskID: 3, TaskName: 'Defining target audience', StartDate: new Date('04/02/2019'), Duration: 3, resources: [3]},\n { TaskID: 4, TaskName: 'Prepare product sketch and notes', StartDate: new Date('04/02/2019'), Duration: 2, Predecessor: '2', Progress: 30, resources: [4] }]\n },\n {\n TaskID: 5, TaskName: 'Concept approval', StartDate: new Date('04/02/2019'), Duration: 0, Predecessor: '3,4', resources: [1]\n },\n {\n TaskID: 6,\n TaskName: 'Market research',\n StartDate: new Date('04/02/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 7,\n TaskName: 'Demand analysis',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n { TaskID: 8, TaskName: 'Customer strength', StartDate: new Date('04/04/2019'), Duration: 4, Predecessor: '5', Progress: 30, resources: [5] },\n { TaskID: 9, TaskName: 'Market opportunity analysis', StartDate: new Date('04/04/2019'), Duration: 4, Predecessor: '5', resources: [6] }\n ]\n },\n { TaskID: 10, TaskName: 'Competitor analysis', StartDate: new Date('04/04/2019'), Duration: 4, Predecessor: '7, 8', Progress: 30, resources: [4] },\n { TaskID: 11, TaskName: 'Product strength analsysis', StartDate: new Date('04/04/2019'), Duration: 4, Predecessor: '9', resources: [8] },\n ]\n }\n \n]\n\nexport let zoomingData: Object[] = [\n {\n TaskID: 1,\n TaskName: 'Product concept',\n StartDate: new Date('04/02/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n { TaskID: 2, TaskName: 'Defining the product and its usage', StartDate: new Date('04/02/2019'), Duration: 3, Progress: 30 },\n { TaskID: 3, TaskName: 'Defining target audience', StartDate: new Date('04/02/2019'), Duration: 3 },\n {\n TaskID: 4, TaskName: 'Prepare product sketch and notes', StartDate: new Date('04/02/2019'), Duration: 2,\n Predecessor: '2', Progress: 30\n },\n ]\n },\n {\n TaskID: 5, TaskName: 'Concept approval', StartDate: new Date('04/02/2019'), Duration: 0, Predecessor: '3,4',\n Indicators: [\n {\n 'date': new Date('04/10/2019'),\n 'name': '#briefing',\n 'title': 'Product concept breifing',\n }\n ]\n },\n {\n TaskID: 6,\n TaskName: 'Market research',\n StartDate: new Date('04/02/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 7,\n TaskName: 'Demand analysis',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 8, TaskName: 'Customer strength', StartDate: new Date('04/04/2019'), Duration: 4,\n Predecessor: '5', Progress: 30\n },\n { TaskID: 9, TaskName: 'Market opportunity analysis', StartDate: new Date('04/04/2019'), Duration: 4, Predecessor: '5' }\n ]\n },\n {\n TaskID: 10, TaskName: 'Competitor analysis', StartDate: new Date('04/04/2019'), Duration: 4,\n Predecessor: '7, 8', Progress: 30\n },\n { TaskID: 11, TaskName: 'Product strength analsysis', StartDate: new Date('04/04/2019'), Duration: 4, Predecessor: '9' },\n {\n TaskID: 12, TaskName: 'Research complete', StartDate: new Date('04/04/2019'), Duration: 1, Predecessor: '10',\n Indicators: [\n {\n 'date': new Date('04/20/2019'),\n 'name': '#meeting',\n 'title': '1st board of directors meeting',\n }\n ]\n }\n ]\n }\n]\n\nexport let editingResources: Object[] = [\n { resourceId: 1, resourceName: 'Martin Tamer' },\n { resourceId: 2, resourceName: 'Rose Fuller' },\n { resourceId: 3, resourceName: 'Margaret Buchanan' },\n { resourceId: 4, resourceName: 'Fuller King' },\n { resourceId: 5, resourceName: 'Davolio Fuller' },\n { resourceId: 6, resourceName: 'Van Jack' },\n { resourceId: 7, resourceName: 'Fuller Buchanan' },\n { resourceId: 8, resourceName: 'Jack Davolio' },\n { resourceId: 9, resourceName: 'Tamer Vinet' },\n { resourceId: 10, resourceName: 'Vinet Fuller' },\n { resourceId: 11, resourceName: 'Bergs Anton' },\n { resourceId: 12, resourceName: 'Construction Supervisor' }\n];\n\nexport let editingData: Object[] = [\n {\n TaskID: 1,\n TaskName: 'Project initiation',\n StartDate: new Date('04/02/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 2, TaskName: 'Identify site location', StartDate: new Date('04/02/2019'), Duration: 0,\n Progress: 30, resources: [1], info: 'Measure the total property area alloted for construction'\n },\n {\n TaskID: 3, TaskName: 'Perform Soil test', StartDate: new Date('04/02/2019'), Duration: 4, Predecessor: '2',\n resources: [2, 3, 5], info: 'Obtain an engineered soil test of lot where construction is planned.' +\n 'From an engineer or company specializing in soil testing'\n },\n { TaskID: 4, TaskName: 'Soil test approval', StartDate: new Date('04/02/2019'), Duration: 0, Predecessor: '3', Progress: 30 },\n ]\n },\n {\n TaskID: 5,\n TaskName: 'Project estimation',\n StartDate: new Date('04/02/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 6, TaskName: 'Develop floor plan for estimation', StartDate: new Date('04/04/2019'),\n Duration: 3, Predecessor: '4', Progress: 30, resources: 4,\n info: 'Develop floor plans and obtain a materials list for estimations'\n },\n {\n TaskID: 7, TaskName: 'List materials', StartDate: new Date('04/04/2019'),\n Duration: 3, Predecessor: '6', resources: [4, 8], info: ''\n },\n {\n TaskID: 8, TaskName: 'Estimation approval', StartDate: new Date('04/04/2019'),\n Duration: 0, Predecessor: '7', resources: [12, 5], info: ''\n }\n ]\n },\n {\n TaskID: 9, TaskName: 'Sign contract', StartDate: new Date('04/04/2019'), Duration: 1,\n Predecessor: '8', Progress: 30, resources: [12],\n info: 'If required obtain approval from HOA (homeowners association) or ARC (architectural review committee)'\n },\n {\n TaskID: 10,\n TaskName: 'Project approval and kick off',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n Duration: 0,\n Predecessor: '9'\n },\n {\n TaskID: 11,\n TaskName: 'Site work',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 12, TaskName: 'Clear the building site', StartDate: new Date('04/04/2019'),\n Duration: 2, Progress: 30, Predecessor: '9', resources: [6, 7],\n info: 'Clear the building site (demolition of existing home if necessary)'\n },\n {\n TaskID: 13, TaskName: 'Install temporary power service', StartDate: new Date('04/04/2019'),\n Duration: 2, Predecessor: '12', resources: [6, 7], info: ''\n },\n ]\n },\n {\n TaskID: 14,\n TaskName: 'Foundation',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 15, TaskName: 'Excavate for foundations', StartDate: new Date('04/04/2019'),\n Duration: 3, Progress: 30, Predecessor: '13', resources: [2, 8],\n info: 'Excavate the foundation and dig footers (Scope of work is dependent of foundation designed by engineer)'\n },\n {\n TaskID: 16, TaskName: 'Dig footer', StartDate: new Date('04/04/2019'),\n Duration: 2, Predecessor: '15FF', resources: [8], info: ''\n },\n {\n TaskID: 17, TaskName: 'Install plumbing grounds', StartDate: new Date('04/04/2019'), Duration: 4,\n Progress: 30, Predecessor: '15', resources: [9], info: ''\n },\n {\n TaskID: 18, TaskName: 'Pour a foundation and footer with concrete', StartDate: new Date('04/04/2019'),\n Duration: 1, Predecessor: '17', resources: [8, 9, 10], info: ''\n },\n {\n TaskID: 19, TaskName: 'Cure basement walls', StartDate: new Date('04/04/2019'), Duration: 4,\n Progress: 30, Predecessor: '18', resources: [10], info: ''\n },\n ]\n },\n {\n TaskID: 20,\n TaskName: 'Framing',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 21, TaskName: 'Add load-bearing structure', StartDate: new Date('04/04/2019'),\n Duration: 3, Progress: 30, Predecessor: '19', resources: [4, 5],\n info: 'Build the main load-bearing structure out of thick pieces of wood and' +\n 'possibly metal I-beams for large spans with few supports'\n },\n {\n TaskID: 22, TaskName: 'Install floor joists', StartDate: new Date('04/04/2019'),\n Duration: 3, Predecessor: '21', resources: [2, 3], info: 'Add floor and ceiling joists and install subfloor panels'\n },\n {\n TaskID: 23, TaskName: 'Add ceiling joists', StartDate: new Date('04/04/2019'),\n Duration: 3, Progress: 30, Predecessor: '22SS', resources: [5], info: ''\n },\n {\n TaskID: 24, TaskName: 'Install subfloor panels', StartDate: new Date('04/04/2019'),\n Duration: 3, Predecessor: '23', resources: [8, 9]\n },\n {\n TaskID: 25, TaskName: 'Frame floor walls', StartDate: new Date('04/04/2019'), Duration: 3,\n Progress: 30, Predecessor: '24', resources: [10], info: ''\n },\n {\n TaskID: 26, TaskName: 'Frame floor decking', StartDate: new Date('04/04/2019'), Duration: 3,\n Progress: 30, Predecessor: '25SS', resources: [4, 8], info: ''\n },\n ]\n },\n {\n TaskID: 27,\n TaskName: 'Exterior finishing',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 28, TaskName: 'Cover outer walls and roof in OSB', StartDate: new Date('04/04/2019'),\n Duration: 3, Progress: 30, Predecessor: '26', resources: [2, 8],\n info: 'Cover outer walls and roof in OSB or plywood and a water-resistive barrier'\n },\n {\n TaskID: 29, TaskName: 'Add water resistive barrier', StartDate: new Date('04/04/2019'),\n Duration: 3, Predecessor: '28', resources: [1, 10],\n info: 'Cover the walls with siding, typically vinyl, wood, or brick veneer but possibly stone or other materials'\n },\n {\n TaskID: 30, TaskName: 'Install roof shingles', StartDate: new Date('04/04/2019'), Duration: 3,\n Progress: 30, Predecessor: '29', resources: [8, 9], info: 'Install roof shingles or other covering for flat roof'\n },\n { TaskID: 31, TaskName: 'Install windows', StartDate: new Date('04/04/2019'), Duration: 3, Predecessor: '29', resources: 7 },\n ]\n },\n {\n TaskID: 32,\n TaskName: 'Utilities',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 33, TaskName: 'Install internal plumbing', StartDate: new Date('04/04/2019'), Duration: 3,\n Progress: 30, Predecessor: '26', resources: [1, 10]\n },\n {\n TaskID: 34, TaskName: 'Install HVAC', StartDate: new Date('04/04/2019'), Duration: 3, Predecessor: '33',\n resources: [4, 9], info: 'Add internal plumbing, HVAC, electrical, and natural gas utilities'\n },\n {\n TaskID: 35, TaskName: 'Electrical utilities', StartDate: new Date('04/04/2019'), Duration: 3,\n Progress: 30, Predecessor: '34'\n },\n {\n TaskID: 36, TaskName: 'Natural gas utilities', StartDate: new Date('04/04/2019'), Duration: 3,\n Predecessor: '35', resources: 11\n },\n {\n TaskID: 37, TaskName: 'Install bathroom fixtures', StartDate: new Date('04/04/2019'), Duration: 3,\n Progress: 30, Predecessor: '35', resources: [3, 7]\n },\n ],\n info: 'Building inspector visits if necessary to approve utilities and framing'\n },\n {\n TaskID: 38,\n TaskName: 'Interior finsihing',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 39, TaskName: 'Install insulation', StartDate: new Date('04/04/2019'),\n Duration: 3, Progress: 30, Predecessor: '37', resources: [1, 8], info: 'Frame interior walls with wooden 2×4s'\n },\n {\n TaskID: 40, TaskName: 'Install drywall panels', StartDate: new Date('04/04/2019'), Duration: 3,\n Predecessor: '39', resources: 5,\n info: 'Install insulation and interior drywall panels (cementboard for wet areas) and to complete walls and ceilings'\n },\n {\n TaskID: 41, TaskName: 'Spackle', StartDate: new Date('04/04/2019'), Duration: 3,\n Progress: 30, Predecessor: '40', resources: 10\n },\n {\n TaskID: 42, TaskName: 'Apply primer', StartDate: new Date('04/04/2019'), Duration: 3,\n Predecessor: '41', resources: [10, 11]\n },\n {\n TaskID: 43, TaskName: 'Paint wall and ceilings', StartDate: new Date('04/04/2019'),\n Duration: 3, Progress: 30, Predecessor: '42', resources: [2, 9]\n },\n {\n TaskID: 44, TaskName: 'Install modular kitchen', StartDate: new Date('04/04/2019'),\n Duration: 3, Progress: 30, Predecessor: '43', resources: [5, 7]\n },\n ]\n },\n {\n TaskID: 45,\n TaskName: 'Flooring',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 46, TaskName: 'Tile kitchen, bathroom and entry walls', StartDate: new Date('04/04/2019'),\n Duration: 3, Progress: 30, Predecessor: '44', resources: [4, 9, 3],\n info: 'Additional tiling on top of cementboard for wet areas, such as the bathroom and kitchen backsplash'\n },\n {\n TaskID: 47, TaskName: 'Tile floor', StartDate: new Date('04/04/2019'), Duration: 3, Predecessor: '46SS',\n resources: [2, 8], info: 'Installation of final floor covering, such as floor tile, carpet, or wood flooring'\n },\n ]\n },\n {\n TaskID: 48,\n TaskName: 'Final Acceptance',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 49, TaskName: 'Final inspection', StartDate: new Date('04/04/2019'), Duration: 2,\n Progress: 30, Predecessor: '47', resources: 12, info: 'Ensure the contracted items'\n },\n {\n TaskID: 50, TaskName: 'Cleanup for occupancy', StartDate: new Date('04/04/2019'), Duration: 2,\n Predecessor: '49', resources: [1, 5], info: 'Installation of major appliances'\n },\n {\n TaskID: 51, TaskName: 'Property handover', StartDate: new Date('04/04/2019'), Duration: 0,\n Predecessor: '50', info: 'Ending the contract'\n },\n ]\n },\n];\n\nexport let filteredData: Object[] = [\n {\n TaskID: 1,\n TaskName: 'Launch and flight to lunar orbit',\n StartDate: new Date('07/16/1969'),\n subtasks: [\n {\n TaskID: 2, TaskName: 'Apollo 11 blasts off from launch pad', StartDate: new Date('07/16/1969 03:32:00 AM'),\n EndDate: new Date('07/16/1969 03:32:00 AM'), Duration: 0,\n },\n {\n TaskID: 3, TaskName: 'Entry to earth’s orbit', StartDate: new Date('07/16/1969 03:32:00 AM'),\n EndDate: new Date('07/16/1969 03:44:00 AM'), Predecessor: '2FS'\n },\n {\n TaskID: 4, TaskName: 'Travelling in earth’s orbit', StartDate: new Date('07/16/1969 03:44:00 AM'),\n EndDate: new Date('07/16/1969 04:22:13 AM'), Predecessor: '3FS'\n },\n {\n TaskID: 5, TaskName: 'Trajectory change toward the Moon', StartDate: new Date('07/16/1969 04:22:13 AM'),\n EndDate: new Date('07/16/1969 04:52:00 AM'), Predecessor: '4FS'\n },\n {\n TaskID: 6, TaskName: 'extraction maneuver performed', StartDate: new Date('07/16/1969 04:52:00 AM'),\n EndDate: new Date('07/16/1969 04:52:00 AM'), Predecessor: '5FS'\n },\n {\n TaskID: 7, TaskName: 'Travelling toward moon and entering into lunar orbit', StartDate: new Date('07/16/1969 04:52:00 AM'),\n EndDate: new Date('07/16/1969 04:21:50 PM'), Predecessor: '6FS'\n },\n {\n TaskID: 8, TaskName: 'Midcourse correction, sharpening the course and testing the engine',\n StartDate: new Date('07/16/1969 11:22:00 PM'), EndDate: new Date('07/17/1969 05:21:50 AM')\n },\n {\n TaskID: 9, TaskName: 'Reached half the distance spanning between earth and moon',\n StartDate: new Date('07/17/1969 05:22:00 AM'), EndDate: new Date('07/17/1969 08:00:50 PM')\n },\n {\n TaskID: 10, TaskName: 'Reached 3/4th distance spanning between earth and moon',\n StartDate: new Date('07/17/1969 8:02:00 PM'), EndDate: new Date('07/18/1969 04:21:50 PM')\n },\n {\n TaskID: 11, TaskName: 'Reached distance 45000 miles from moon',\n StartDate: new Date('07/18/1969 11:22:00 PM'), EndDate: new Date('07/19/1969 05:21:50 PM')\n },\n ]\n },\n {\n TaskID: 12,\n TaskName: 'Lunar descent',\n StartDate: new Date('07/19/1969 05:21:50 PM'),\n subtasks: [\n {\n TaskID: 13, TaskName: 'Lunar orbiting (30 orbits)', StartDate: new Date('07/19/1969 05:21:50 PM'),\n EndDate: new Date('07/20/1969 12:52:00 AM'), Predecessor: '11FS'\n },\n {\n TaskID: 14, TaskName: 'Landing site identified', StartDate: new Date('07/20/1969 12:52:00 AM'),\n EndDate: new Date('07/20/1969 12:52:00 AM'), Predecessor: '13FS'\n },\n {\n TaskID: 15, TaskName: 'Eagle separated from Columbia.', StartDate: new Date('07/20/1969 05:44:00 PM'),\n EndDate: new Date('07/20/1969 05:44:00 PM')\n },\n {\n TaskID: 16, TaskName: 'Eagle’s decent to Moon', StartDate: new Date('07/20/1969 05:44:00 PM'),\n EndDate: new Date('07/20/1969 08:16:40 PM'), Predecessor: '15FS'\n }\n ]\n },\n {\n TaskID: 17,\n TaskName: 'Landing',\n StartDate: new Date('07/20/1969 08:17:40 PM'),\n subtasks: [\n {\n TaskID: 18, TaskName: 'Eagle’s touch down', StartDate: new Date('07/20/1969 08:17:40 PM'),\n EndDate: new Date('07/20/1969 08:17:40 PM')\n },\n {\n TaskID: 19, TaskName: 'Radio communication and performing post landing checklist',\n StartDate: new Date('07/20/1969 08:17:40 PM'), EndDate: new Date('07/20/1969 11:43:00 PM'), Predecessor: '18FS'\n },\n {\n TaskID: 20, TaskName: 'Preparations for EVA (Extra Vehicular Activity)',\n StartDate: new Date('07/20/1969 11:43:00 PM'), EndDate: new Date('07/21/1969 02:39:33 AM'), Predecessor: '19FS'\n },\n {\n TaskID: 21, TaskName: 'Hatch open and climbing down the moon', StartDate: new Date('07/21/1969 02:39:33 AM'),\n EndDate: new Date('07/21/1969 02:56:15 AM'), Predecessor: '20FS'\n },\n {\n TaskID: 22, TaskName: 'Armstrong stepped down on the moon', StartDate: new Date('07/21/1969 02:56:15 AM'),\n EndDate: new Date('07/21/1969 03:11:00 AM'), Predecessor: '21FS'\n },\n ]\n },\n {\n TaskID: 23,\n TaskName: 'Lunar surface operations',\n StartDate: new Date('07/21/1969'),\n subtasks: [\n {\n TaskID: 24, TaskName: 'Soil sample collections', StartDate: new Date('07/21/1969 02:56:15 AM'),\n EndDate: new Date('07/21/1969 03:11:00 AM')\n },\n {\n TaskID: 25, TaskName: 'Aldrin joined armstrong', StartDate: new Date('07/21/1969 03:11:00 AM'),\n EndDate: new Date('07/21/1969 03:41:00 AM'), Predecessor: '24FS'\n },\n {\n TaskID: 26, TaskName: 'planted the lunar flag assembly', StartDate: new Date('07/21/1969 03:41:00 AM'),\n EndDate: new Date('07/21/1969 03:46:00 AM'), Predecessor: '25FS'\n },\n {\n TaskID: 27, TaskName: 'President richard nixon’s telephone-radio transmission ',\n StartDate: new Date('07/21/1969 03:48:00 AM'), EndDate: new Date('07/21/1969 03:51:00 AM')\n },\n {\n TaskID: 28, TaskName: 'Collect rock samples, photos and other mission controls',\n StartDate: new Date('07/21/1969 03:52:00 AM'), EndDate: new Date('07/21/1969 04:50:00 AM')\n },\n ]\n },\n {\n TaskID: 29,\n TaskName: 'Lunar ascent',\n StartDate: new Date('07/21/1969'),\n subtasks: [\n {\n TaskID: 30, TaskName: 'Climbing the eagle to ascent', StartDate: new Date('07/21/1969 04:51:00 AM'),\n EndDate: new Date('07/21/1969 05:00:00 AM')\n },\n {\n TaskID: 31, TaskName: 'Hatch closing', StartDate: new Date('07/21/1969 05:01:00 AM'),\n EndDate: new Date('07/21/1969 05:01:00 AM'), Predecessor: '30FS'\n },\n {\n TaskID: 32, TaskName: 'Final housekeeping', StartDate: new Date('07/21/1969 05:02:00 AM'),\n EndDate: new Date('07/21/1969 08:00:00 AM')\n },\n {\n TaskID: 33, TaskName: 'Resting of astronauts', StartDate: new Date('07/21/1969 08:00:00 AM'),\n EndDate: new Date('07/21/1969 03:00:00 PM'), Predecessor: '32FS'\n },\n {\n TaskID: 34, TaskName: 'Preparation for lift off and ascent engine started', StartDate: new Date('07/21/1969 03:00:00 PM'),\n EndDate: new Date('07/21/1969 05:54:00 PM'), Predecessor: '33FS'\n },\n {\n TaskID: 35, TaskName: 'Eagle lifted off', StartDate: new Date('07/21/1969 05:54:00 PM'),\n EndDate: new Date('07/21/1969 05:54:00 PM'), Predecessor: '34FS'\n },\n {\n TaskID: 36, TaskName: 'Eagle’s travel toward Columbia', StartDate: new Date('07/21/1969 05:54:00 PM'),\n EndDate: new Date('07/21/1969 09:23:00 PM'), Predecessor: '35FS'\n },\n ]\n },\n {\n TaskID: 37,\n TaskName: 'Return',\n StartDate: new Date('07/21/1969 09:24:00 PM'),\n subtasks: [\n {\n TaskID: 38, TaskName: 'Eagle docked with columbia', StartDate: new Date('07/21/1969 09:24:00 PM'),\n EndDate: new Date('07/21/1969 09:35:00 PM')\n },\n {\n TaskID: 39, TaskName: 'Eagle’s ascent stage jettisoned into lunar orbit', StartDate: new Date('07/21/1969 09:35:00 PM'),\n EndDate: new Date('07/21/1969 11:41:00 PM'), Predecessor: '38FS'\n },\n ]\n },\n {\n TaskID: 40,\n TaskName: 'Decent toward earth and Splashdown',\n StartDate: new Date('07/21/1969'),\n subtasks: [\n {\n TaskID: 41, TaskName: 'Spacecraft reaches 1/4th distance spanning between moon and earth',\n StartDate: new Date('07/21/1969 11:50:00 PM'), EndDate: new Date('07/22/1969 04:40:00 PM')\n },\n {\n TaskID: 42, TaskName: 'Spacecraft travels to midway point of journey',\n StartDate: new Date('07/22/1969 04:40:00 PM'), EndDate: new Date('07/23/1969 04:00:00 PM'), Predecessor: '41FS'\n },\n {\n TaskID: 43, TaskName: 'Spacecraft travels to 3/4th point of journey', StartDate: new Date('07/23/1969 04:40:00 PM'),\n EndDate: new Date('07/24/1969 10:00:00 AM'), Predecessor: '42FS'\n },\n {\n TaskID: 44, TaskName: 'Crew prepares for splashdown', StartDate: new Date('07/24/1969 11:47:00 AM'),\n EndDate: new Date('07/24/1969 04:20:00 PM')\n },\n {\n TaskID: 45, TaskName: 'Command and service modules separates', StartDate: new Date('07/24/1969 04:20:00 PM'),\n EndDate: new Date('07/24/1969 04:35:00 PM'), Predecessor: '44FS'\n },\n {\n TaskID: 46, TaskName: 'Command module re-enters the Earth’s atmosphere', StartDate: new Date('07/24/1969 04:35:00 PM'),\n EndDate: new Date('07/24/1969 04:50:00 PM'), Predecessor: '45FS'\n },\n {\n TaskID: 47, TaskName: 'Spacecraft splashes near USS hornet', StartDate: new Date('07/24/1969 04:51:00 PM'),\n EndDate: new Date('07/24/1969 04:51:00 PM')\n },\n ]\n }\n];\n\nexport let projectResources: Object[] = [\n { resourceId: 1, resourceName: 'Project Manager' },\n { resourceId: 2, resourceName: 'Software Analyst' },\n { resourceId: 3, resourceName: 'Developer' },\n { resourceId: 4, resourceName: 'Testing Engineer' }\n];\n\nexport let projectData: Object[] = [\n {\n taskID: 1,\n taskName: 'Project schedule',\n startDate: new Date('02/08/2019'),\n endDate: new Date('03/15/2019'),\n subtasks: [\n {\n taskID: 2,\n taskName: 'Planning',\n startDate: new Date('02/08/2019'),\n endDate: new Date('02/12/2019'),\n subtasks: [\n {\n taskID: 3, taskName: 'Plan timeline', startDate: new Date('02/08/2019'),\n endDate: new Date('02/12/2019'), duration: 5, progress: '100', resourceId: [1]\n },\n {\n taskID: 4, taskName: 'Plan budget', startDate: new Date('02/08/2019'),\n endDate: new Date('02/12/2019'), duration: 5, progress: '100', resourceId: [1]\n },\n {\n taskID: 5, taskName: 'Allocate resources', startDate: new Date('02/08/2019'),\n endDate: new Date('02/12/2019'), duration: 5, progress: '100', resourceId: [1]\n },\n {\n taskID: 6, taskName: 'Planning complete', startDate: new Date('02/10/2019'),\n endDate: new Date('02/10/2019'), duration: 0, predecessor: '3FS,4FS,5FS'\n }\n ]\n }, {\n taskID: 7,\n taskName: 'Design',\n startDate: new Date('02/15/2019'),\n endDate: new Date('02/19/2019'),\n subtasks: [\n {\n taskID: 8, taskName: 'Software specification', startDate: new Date('02/15/2019'),\n endDate: new Date('02/17/2019'), duration: 3, progress: '60', predecessor: '6FS', resourceId: [2]\n },\n {\n taskID: 9, taskName: 'Develop prototype', startDate: new Date('02/15/2019'),\n endDate: new Date('02/17/2019'), duration: 3, progress: '100', predecessor: '6FS', resourceId: [3]\n },\n {\n taskID: 10, taskName: 'Get approval from customer', startDate: new Date('02/18/2019'),\n endDate: new Date('02/19/2019'), duration: 2, progress: '100', predecessor: '9FS', resourceId: [1]\n },\n {\n taskID: 11, taskName: 'Design complete', startDate: new Date('02/17/2019'),\n endDate: new Date('02/17/2019'), duration: 0, predecessor: '10FS'\n }\n ]\n },\n {\n taskID: 12,\n taskName: 'Implementation phase',\n startDate: new Date('02/25/2019'),\n endDate: new Date('03/05/2019'),\n subtasks: [\n {\n taskID: 13,\n taskName: 'Phase 1',\n startDate: new Date('02/25/2019'),\n endDate: new Date('03/07/2019'),\n subtasks: [{\n taskID: 14,\n taskName: 'Implementation module 1',\n startDate: new Date('02/25/2019'),\n endDate: new Date('03/07/2019'),\n subtasks: [\n {\n taskID: 15, taskName: 'Development task 1', startDate: new Date('02/22/2019'),\n endDate: new Date('02/24/2019'), duration: 3, progress: '50', predecessor: '11FS', resourceId: [3]\n },\n {\n taskID: 16, taskName: 'Development task 2', startDate: new Date('02/22/2019'),\n endDate: new Date('02/24/2019'), duration: 3, progress: '50', predecessor: '11FS', resourceId: [3]\n },\n {\n taskID: 17, taskName: 'Testing', startDate: new Date('02/25/2019'),\n endDate: new Date('02/26/2019'), duration: 2, progress: '0', predecessor: '15FS,16FS', resourceId: [4]\n },\n {\n taskID: 18, taskName: 'Bug fix', startDate: new Date('03/01/2019'),\n endDate: new Date('03/02/2019'), duration: 2, progress: '0', predecessor: '17FS', resourceId: [3]\n },\n {\n taskID: 19, taskName: 'Customer review meeting', startDate: new Date('03/03/2019'),\n endDate: new Date('03/07/2019'), duration: 2, progress: '0', predecessor: '18FS', resourceId: [1]\n },\n {\n taskID: 20, taskName: 'Phase 1 complete', startDate: new Date('03/05/2019'),\n endDate: new Date('03/05/2019'), duration: 0, predecessor: '19FS'\n }\n\n ]\n }]\n },\n\n {\n taskID: 21,\n taskName: 'Phase 2',\n startDate: new Date('02/25/2019'),\n endDate: new Date('03/05/2019'),\n subtasks: [{\n taskID: 22,\n taskName: 'Implementation module 2',\n startDate: new Date('02/25/2019'),\n endDate: new Date('03/05/2019'),\n subtasks: [\n {\n taskID: 23, taskName: 'Development task 1', startDate: new Date('02/22/2019'),\n endDate: new Date('02/25/2019'), duration: 4, progress: '50', resourceId: [3]\n },\n {\n taskID: 24, taskName: 'Development task 2', startDate: new Date('02/22/2019'),\n endDate: new Date('02/25/2019'), duration: 4, progress: '50', resourceId: [3]\n },\n {\n taskID: 25, taskName: 'Testing', startDate: new Date('02/26/2019'),\n endDate: new Date('03/01/2019'), duration: 2, progress: '0', predecessor: '23FS,24FS', resourceId: [4]\n },\n {\n taskID: 26, taskName: 'Bug fix', startDate: new Date('03/02/2019'),\n endDate: new Date('03/03/2019'), duration: 2, progress: '0', predecessor: '25FS', resourceId: [3]\n },\n {\n taskID: 27, taskName: 'Customer review meeting', startDate: new Date('03/07/2019'),\n endDate: new Date('03/09/2019'), duration: 2, progress: '0', predecessor: '26FS', resourceId: [1]\n },\n {\n taskID: 28, taskName: 'Phase 2 complete', startDate: new Date('03/03/2019'),\n endDate: new Date('03/03/2019'), duration: 0, predecessor: '27FS'\n }\n\n ]\n }]\n },\n\n {\n taskID: 29,\n taskName: 'Phase 3',\n startDate: new Date('02/25/2019'),\n endDate: new Date('03/07/2019'),\n subtasks: [{\n taskID: 30,\n taskName: 'Implementation module 3',\n startDate: new Date('02/25/2019'),\n endDate: new Date('03/07/2019'),\n subtasks: [\n {\n taskID: 31, taskName: 'Development task 1', startDate: new Date('02/22/2019'),\n endDate: new Date('02/24/2019'), duration: 3, progress: '50', resourceId: [3]\n },\n {\n taskID: 32, taskName: 'Development task 2', startDate: new Date('02/22/2019'),\n endDate: new Date('02/24/2019'), duration: 3, progress: '50', resourceId: [3]\n },\n {\n taskID: 33, taskName: 'Testing', startDate: new Date('02/25/2019'), endDate: new Date('02/26/2019'),\n duration: 2, progress: '0', predecessor: '31FS,32FS', resourceId: [4]\n },\n {\n taskID: 34, taskName: 'Bug fix', startDate: new Date('03/01/2019'), endDate: new Date('03/05/2019'),\n duration: 2, progress: '0', predecessor: '33FS', resourceId: [3]\n },\n {\n taskID: 35, taskName: 'Customer review meeting', startDate: new Date('03/03/2019'),\n endDate: new Date('03/04/2019'), duration: 2, progress: '0', predecessor: '34FS',\n resourceId: [1]\n },\n {\n taskID: 36, taskName: 'Phase 3 complete', startDate: new Date('03/02/2019'),\n endDate: new Date('03/02/2019'), duration: 0, predecessor: '35FS'\n },\n\n ]\n }]\n }\n ]\n },\n {\n taskID: 37, taskName: 'Integration', startDate: new Date('03/08/2019'), endDate: new Date('03/10/2019'), duration: 3,\n progress: '0', predecessor: '20FS,28FS,36FS', resourceId: [3]\n },\n {\n taskID: 38, taskName: 'Final testing', startDate: new Date('03/11/2019'), endDate: new Date('03/12/2019'), duration: 2,\n progress: '0', predecessor: '37FS', resourceId: [4]\n },\n {\n taskID: 39, taskName: 'Final delivery', startDate: new Date('03/10/2019'), endDate: new Date('03/10/2019'),\n duration: 0, predecessor: '38FS'\n }\n ]\n }\n];\n\nexport let baselineData: Object[] = [\n {\n TaskId: 1, TaskName: 'Receive vehicle and create job card', BaselineStartDate: new Date('03/05/2018 10:00:00 AM'),\n BaselineEndDate: new Date('03/05/2018 10:00:00 AM'), StartDate: new Date('03/05/2018 10:00:00 AM'),\n EndDate: new Date('03/05/2018 10:00:00 AM')\n },\n {\n TaskId: 2, TaskName: 'Allot mechanic and send vehicle to service bay', BaselineStartDate: new Date('03/05/2018 10:00:00 AM'),\n BaselineEndDate: new Date('03/05/2018 10:15:00 AM'), StartDate: new Date('03/05/2018 10:15:00 AM'),\n EndDate: new Date('03/05/2018 10:20:00 AM')\n },\n {\n TaskId: 3, TaskName: 'Change the receive vehicle and create job cardengine oil',\n BaselineStartDate: new Date('03/05/2018 10:15:00 AM'),\n BaselineEndDate: new Date('03/05/2018 10:45:00 AM'), StartDate: new Date('03/05/2018 10:20:00 AM'),\n EndDate: new Date('03/05/2018 10:35:00 AM')\n },\n {\n TaskId: 4, TaskName: 'Replace the oil filter', BaselineStartDate: new Date('03/05/2018 10:45:00 AM'),\n BaselineEndDate: new Date('03/05/2018 11:15:00 AM'), StartDate: new Date('03/05/2018 10:35:00 AM'),\n EndDate: new Date('03/05/2018 11:00:00 AM')\n },\n {\n TaskId: 5, TaskName: 'Replace the air filter', BaselineStartDate: new Date('03/05/2018 10:45:00 AM'),\n BaselineEndDate: new Date('03/05/2018 11:15:00 AM'), StartDate: new Date('03/05/2018 10:35:00 AM'),\n EndDate: new Date('03/05/2018 11:00:00 AM')\n },\n {\n TaskId: 6, TaskName: 'Replace the fuel filter', BaselineStartDate: new Date('03/05/2018 11:15:00 AM'),\n BaselineEndDate: new Date('03/05/2018 11:25:00 AM'), StartDate: new Date('03/05/2018 11:00:00 AM'),\n EndDate: new Date('03/05/2018 11:20:00 AM')\n },\n {\n TaskId: 7, TaskName: 'Replace the cabin filter', BaselineStartDate: new Date('03/05/2018 11:00:00 AM'),\n BaselineEndDate: new Date('03/05/2018 11:20:00 AM'), StartDate: new Date('03/05/2018 11:00:00 AM'),\n EndDate: new Date('03/05/2018 11:25:00 AM')\n },\n {\n TaskId: 8, TaskName: 'Replace the spark plugs', BaselineStartDate: new Date('03/05/2018 11:00:00 AM'),\n BaselineEndDate: new Date('03/05/2018 11:30:00 AM'), StartDate: new Date('03/05/2018 11:25:00 AM'),\n EndDate: new Date('03/05/2018 11:45:00 AM')\n },\n {\n TaskId: 9, TaskName: 'Check level and refill brake fluid/clutch fluid', BaselineStartDate: new Date('03/05/2018 11:20:00 AM'),\n BaselineEndDate: new Date('03/05/2018 11:40:00 AM'), StartDate: new Date('03/05/2018 11:30:00 AM'),\n EndDate: new Date('03/05/2018 11:50:00 AM')\n },\n {\n TaskId: 10, TaskName: 'Check Brake Pads/Liners, Brake Discs/Drums, and replace if worn out.',\n BaselineStartDate: new Date('03/05/2018 11:40:00 AM'),\n BaselineEndDate: new Date('03/05/2018 12:00:00 PM'), StartDate: new Date('03/05/2018 11:50:00 AM'),\n EndDate: new Date('03/05/2018 12:20:00 PM')\n },\n {\n TaskId: 11, TaskName: 'Check level and refill power steering fluid', BaselineStartDate: new Date('03/05/2018 11:40:00 AM'),\n BaselineEndDate: new Date('03/05/2018 12:00:00 PM'), StartDate: new Date('03/05/2018 11:50:00 AM'),\n EndDate: new Date('03/05/2018 12:15:00 PM')\n },\n {\n TaskId: 12, TaskName: 'Check level and refill automatic/manual transmission fluid',\n BaselineStartDate: new Date('03/05/2018 12:00:00 PM'),\n BaselineEndDate: new Date('03/05/2018 12:35:00 PM'), StartDate: new Date('03/05/2018 11:50:00 AM'),\n EndDate: new Date('03/05/2018 12:20:00 PM')\n },\n {\n TaskId: 13, TaskName: 'Grease and lubricate components', BaselineStartDate: new Date('03/05/2018 12:20:00 PM'),\n BaselineEndDate: new Date('03/05/2018 12:35:00 PM'), StartDate: new Date('03/05/2018 12:20:00 PM'),\n EndDate: new Date('03/05/2018 12:45:00 PM')\n },\n {\n TaskId: 14, TaskName: 'Inspect and replace the timing belt or timing chain if needed',\n BaselineStartDate: new Date('03/05/2018 12:35:00 PM'),\n BaselineEndDate: new Date('03/05/2018 1:00:00 PM'), StartDate: new Date('03/05/2018 12:45:00 PM'),\n EndDate: new Date('03/05/2018 1:00:00 PM')\n },\n {\n TaskId: 15, TaskName: 'Wheel balancing', BaselineStartDate: new Date('03/05/2018 1:00:00 PM'),\n BaselineEndDate: new Date('03/05/2018 1:20:00 PM'), StartDate: new Date('03/05/2018 1:00:00 PM'),\n EndDate: new Date('03/05/2018 1:45:00 PM')\n },\n {\n TaskId: 16, TaskName: 'Wheel alignment', BaselineStartDate: new Date('03/05/2018 1:20:00 PM'),\n BaselineEndDate: new Date('03/05/2018 1:45:00 PM'), StartDate: new Date('03/05/2018 1:45:00 PM'),\n EndDate: new Date('03/05/2018 2:45:00 PM')\n },\n {\n TaskId: 17, TaskName: 'Check for proper operation of all lights, wipers etc.', BaselineStartDate: new Date('03/05/2018 1:50:00 PM'),\n BaselineEndDate: new Date('03/05/2018 02:30:00 PM'), StartDate: new Date('03/05/2018 02:45:00 PM'),\n EndDate: new Date('03/05/2018 03:30:00 PM')\n },\n {\n TaskId: 18, TaskName: 'Check for any error codes in the ECU and take corrective action.',\n BaselineStartDate: new Date('03/05/2018 2:30:00 PM'),\n BaselineEndDate: new Date('03/05/2018 3:30:00 PM'), StartDate: new Date('03/05/2018 03:30:00 PM'),\n EndDate: new Date('03/05/2018 04:15:00 PM')\n },\n {\n TaskId: 19, TaskName: 'Use scan tool read trouble code', BaselineStartDate: new Date('03/05/2018 03:30:00 PM'),\n BaselineEndDate: new Date('03/05/2018 04:45:00 PM'), StartDate: new Date('03/05/2018 04:15:00 PM'),\n EndDate: new Date('03/05/2018 04:45:00 PM')\n },\n {\n TaskId: 20, TaskName: 'Exterior washing', BaselineStartDate: new Date('03/05/2018 04:45:00 PM'),\n BaselineEndDate: new Date('03/05/2018 05:15:00 PM'), StartDate: new Date('03/05/2018 04:45:00 PM'),\n EndDate: new Date('03/05/2018 05:30:00 PM')\n },\n {\n TaskId: 21, TaskName: 'Interior vacuuming', BaselineStartDate: new Date('03/05/2018 05:15:00 PM'),\n BaselineEndDate: new Date('03/05/2018 05:45:00 PM'), StartDate: new Date('03/05/2018 05:30:00 PM'),\n EndDate: new Date('03/05/2018 06:00:00 PM')\n },\n {\n TaskId: 22, TaskName: 'Final service inspection', BaselineStartDate: new Date('03/05/2018 05:45:00 PM'),\n BaselineEndDate: new Date('03/05/2018 06:00:00 PM'), StartDate: new Date('03/05/2018 06:00:00 PM'),\n EndDate: new Date('03/05/2018 06:30:00 PM')\n },\n {\n TaskId: 23, TaskName: 'Vehicle handover', BaselineStartDate: new Date('03/05/2018 06:00:00 PM'),\n BaselineEndDate: new Date('03/05/2018 06:00:00 PM'), StartDate: new Date('03/05/2018 06:30:00 PM'),\n EndDate: new Date('03/05/2018 06:30:00 PM')\n }\n];\n\nexport let customizedData: Object[] = [\n {\n TaskId: 1, TaskName: 'Oscar moments', Performance: '90th Academy awards kicks-off and Jimmy kimmel hosts the show',\n StartDate: new Date('03/05/2018 06:00:00 PM'), EndDate: new Date('03/05/2018 06:15:00 PM')\n },\n {\n TaskId: 2, TaskName: 'Actor in a supporting role', Predecessor: '1FS',\n StartDate: new Date('03/05/2018 06:16:00 PM'), EndDate: new Date('03/05/2018 06:25:00 PM'),\n Winner: 'Sam Rockwell', Movie: 'Three Billboards Outside Ebbing, Missouri.'\n },\n {\n TaskId: 3, TaskName: 'Hair and makeup', Movie: 'Darkest Hour', Predecessor: '2FS',\n StartDate: new Date('03/05/2018 06:26:00 PM'), EndDate: new Date('03/05/2018 06:32:00 PM')\n },\n {\n TaskId: 4, TaskName: 'Costume design', Winner: 'Mark Bridges', Movie: 'Phantom Thread', Predecessor: '3FS',\n StartDate: new Date('03/05/2018 06:33:00 PM'), EndDate: new Date('03/05/2018 06:40:00 PM')\n },\n {\n TaskId: 5, TaskName: 'Documentary feature', Winner: 'Bryan Fogel', Movie: ' Icarus', Predecessor: '4FS',\n StartDate: new Date('03/05/2018 06:41:00 PM'), EndDate: new Date('03/05/2018 06:58:00 PM')\n },\n {\n TaskId: 6, TaskName: 'Best sound editing and sound mixing', Winner: 'Richard King and Alex Gibson', Movie: 'Dunkirk',\n StartDate: new Date('03/05/2018 06:59:00 PM'), EndDate: new Date('03/05/2018 07:10:00 PM'), Predecessor: '5FS'\n },\n {\n TaskId: 7, TaskName: 'Production design', Movie: 'The Shape of Water', Predecessor: '6FS',\n StartDate: new Date('03/05/2018 07:11:00 PM'), EndDate: new Date('03/05/2018 07:15:00 PM')\n },\n {\n TaskId: 8, TaskName: 'Oscar performance', Performance: 'Second performance of the night is \"Remember Me\" from Coco',\n StartDate: new Date('03/05/2018 07:16:00 PM'), EndDate: new Date('03/05/2018 07:23:00 PM'), Predecessor: '7FS'\n },\n {\n TaskId: 9, TaskName: 'Best foreign language film goes', Movie: 'A Fantastic Woman', Predecessor: '8FS',\n StartDate: new Date('03/05/2018 07:24:00 PM'), EndDate: new Date('03/05/2018 07:29:00 PM')\n },\n {\n TaskId: 10, TaskName: 'Best supporting actress', Winner: 'Allison Janney', Movie: 'I, Tonya',\n StartDate: new Date('03/05/2018 07:30:00 PM'), EndDate: new Date('03/05/2018 07:35:00 PM'), Predecessor: '9FS'\n },\n {\n TaskId: 11, TaskName: 'Best animated short', Winner: 'Kobe Bryant', Movie: 'Dear Basketball',\n StartDate: new Date('03/05/2018 07:36:00 PM'), EndDate: new Date('03/05/2018 07:45:00 PM'), Predecessor: '10FS'\n },\n {\n TaskId: 12, TaskName: 'Award for best animated feature.', Movie: 'Coco', Predecessor: '11FS',\n StartDate: new Date('03/05/2018 07:46:00 PM'), EndDate: new Date('03/05/2018 07:52:00 PM')\n },\n {\n TaskId: 13, TaskName: 'Best visual effects.', Movie: 'Blade Runner 2049', Predecessor: '12FS',\n StartDate: new Date('03/05/2018 07:53:00 PM'), EndDate: new Date('03/05/2018 07:56:00 PM')\n },\n {\n TaskId: 14, TaskName: 'Achievement in film editing', Movie: 'Dunkirk', Predecessor: '13FS',\n StartDate: new Date('03/05/2018 07:57:00 PM'), EndDate: new Date('03/05/2018 07:59:00 PM')\n },\n {\n TaskId: 15, TaskName: 'Oscar moments', Performance: 'Jimmy Kimmel surprises moviegoers along with celebrities',\n StartDate: new Date('03/05/2018 08:00:00 PM'), EndDate: new Date('03/05/2018 08:09:00 PM'), Predecessor: '14FS'\n },\n {\n TaskId: 16, TaskName: 'Best documentary short', Movie: 'Heaven is a Traffic Jam on the 405', Predecessor: '15FS',\n StartDate: new Date('03/05/2018 08:10:00 PM'), EndDate: new Date('03/05/2018 08:12:00 PM')\n },\n {\n TaskId: 17, TaskName: 'Best live action short film', Movie: 'The Silent Child', Predecessor: '16FS',\n StartDate: new Date('03/05/2018 08:13:00 PM'), EndDate: new Date('03/05/2018 08:15:00 PM')\n },\n {\n TaskId: 18, TaskName: 'Oscar performance',\n Performance: 'Jimmy Kimmel surprCommon and Andra Day performs \"Stand Up for Something\" by \"Marshall\"',\n StartDate: new Date('03/05/2018 08:16:00 PM'), EndDate: new Date('03/05/2018 08:25:00 PM'), Predecessor: '17FS'\n },\n {\n TaskId: 19, TaskName: 'Oscar moments',\n Performance: 'The Oscars are showcasing the #MeToo and #TimesUp movements with a montage and interviews with actors and filmmakers',\n StartDate: new Date('03/05/2018 08:26:00 PM'), EndDate: new Date('03/05/2018 08:29:00 PM'), Predecessor: '18FS'\n },\n {\n TaskId: 20, TaskName: 'Oscar for best adapted screenplay', Winner: 'James Ivory', Movie: 'Call Me By Your Name',\n StartDate: new Date('03/05/2018 08:30:00 PM'), EndDate: new Date('03/05/2018 08:35:00 PM'), Predecessor: '19FS'\n },\n {\n TaskId: 21, TaskName: 'Oscar for best original screenplay', Winner: 'Jordan Peele', Movie: 'Get Out',\n StartDate: new Date('03/05/2018 08:36:00 PM'), EndDate: new Date('03/05/2018 08:44:00 PM'), Predecessor: '20FS'\n },\n {\n TaskId: 22, TaskName: 'Oscar moments',\n Performance: 'Who’s trending on Twitter at the Oscars? Actors Timothée Chalamet, Chadwick Boseman,' +\n 'Tom Holland, Lupita Nyong’o and Adam Rippon.',\n StartDate: new Date('03/05/2018 08:40:00 PM'), EndDate: new Date('03/05/2018 08:45:00 PM'), Predecessor: '21FS'\n },\n {\n TaskId: 23, TaskName: 'Best cinematography', Winner: 'Roger A. Deakins', Movie: 'Blade Runner 2049',\n StartDate: new Date('03/05/2018 08:46:00 PM'), EndDate: new Date('03/05/2018 08:48:00 PM'), Predecessor: '22FS'\n },\n {\n TaskId: 24, TaskName: 'Oscar performance',\n Performance: 'Keala Settle performs the nominated song \"This is Me\" from \"The Greatest Showman\".',\n StartDate: new Date('03/05/2018 08:49:00 PM'), EndDate: new Date('03/05/2018 08:54:00 PM'), Predecessor: '23FS'\n },\n {\n TaskId: 25, TaskName: 'Best original score', Movie: 'The Shape of Water', Predecessor: '24FS',\n StartDate: new Date('03/05/2018 08:55:00 PM'), EndDate: new Date('03/05/2018 08:59:00 PM')\n },\n {\n TaskId: 26, TaskName: 'Award for original song', Winner: 'Remember Me', Movie: 'Coco', Predecessor: '25FS',\n StartDate: new Date('03/05/2018 09:00:00 PM'), EndDate: new Date('03/05/2018 09:07:00 PM')\n },\n {\n TaskId: 27, TaskName: 'Oscar moments', Performance: 'Time to pay tribute to those in the cinema world we lost last year',\n StartDate: new Date('03/05/2018 09:05:00 PM'), EndDate: new Date('03/05/2018 09:11:00 PM'), Predecessor: '26FS'\n },\n {\n TaskId: 28, TaskName: 'Oscar for best director', Winner: 'Guillermo del Toro', Movie: 'The Shape of Water',\n StartDate: new Date('03/05/2018 09:12:00 PM'), EndDate: new Date('03/05/2018 09:19:00 PM'), Predecessor: '27FS'\n },\n {\n TaskId: 29, TaskName: 'Best actor in a leading role', Winner: 'Gary Oldman', Movie: 'The Shape of Water',\n StartDate: new Date('03/05/2018 09:20:00 PM'), EndDate: new Date('03/05/2018 09:29:00 PM'), Predecessor: '28FS'\n },\n {\n TaskId: 30, TaskName: 'Best leading actress', Winner: 'Frances McDormand', Movie: 'Three Billboards Outside Ebbing, Missouri',\n StartDate: new Date('03/05/2018 09:30:00 PM'), EndDate: new Date('03/05/2018 09:44:00 PM'), Predecessor: '29FS'\n },\n {\n TaskId: 31, TaskName: 'Oscar for best picture.', Movie: 'The Shape of Water', Predecessor: '30FS',\n StartDate: new Date('03/05/2018 09:45:00 PM'), EndDate: new Date('03/05/2018 10:00:00 PM')\n },\n {\n TaskId: 32, TaskName: 'Oscar moments', Performance: '90th Academy awards wind-up', Predecessor: '31FS',\n StartDate: new Date('03/05/2018 10:00:00 PM'), EndDate: new Date('03/05/2018 10:00:00 PM'), Duration: 0\n }\n];\n\nexport let unscheduledData: Object[] = [\n {\n TaskId: 1, TaskName: 'Task 1', StartDate: new Date('01/03/2019'),\n EndDate: new Date('01/08/2019'), Duration: '5', TaskType: ''\n },\n {\n TaskId: 2, TaskName: 'Task 2', Duration: '5', TaskType: \"Task with duration only\"\n },\n {\n TaskId: 3, TaskName: 'Task 3', StartDate: new Date('01/03/2019'), TaskType: \"Task with start date only\"\n },\n {\n TaskId: 4, TaskName: 'Task 4', EndDate: new Date('01/08/2019'), TaskType: \"Task with end date only\"\n },\n];\n\nexport let tooltipData: object[] = [\n {\n TaskID: 1,\n TaskName: 'Project initiation',\n StartDate: new Date('04/02/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 2, TaskName: 'Identify site location', StartDate: new Date('04/02/2019'), Duration: 0,\n Progress: 30, resources: [1], info: 'Measure the total property area alloted for construction',\n BaselineStartDate: new Date('04/02/2019'), BaselineEndDate: new Date('04/02/2019')\n },\n {\n TaskID: 3, TaskName: 'Perform soil test', StartDate: new Date('04/02/2019'), Duration: 4, Predecessor: '2',\n resources: [2], info: 'Obtain an engineered soil test of lot where construction is planned.' +\n 'From an engineer or company specializing in soil testing', BaselineStartDate: new Date('04/01/2019'),\n BaselineEndDate: new Date('04/04/2019')\n },\n {\n TaskID: 4, TaskName: 'Soil test approval', StartDate: new Date('04/02/2019'), Duration: 0, Predecessor: '3', Progress: 30,\n BaselineStartDate: new Date('04/06/2019'), BaselineEndDate: new Date('04/06/2019')\n },\n\n ]\n },\n {\n TaskID: 5,\n TaskName: 'Project estimation',\n StartDate: new Date('04/02/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 6, TaskName: 'Develop floor plan for estimation', StartDate: new Date('04/04/2019'),\n Duration: 3, Predecessor: '4', Progress: 30, resources: 4,\n info: 'Develop floor plans and obtain a materials list for estimations',\n BaselineStartDate: new Date('04/05/2019'), BaselineEndDate: new Date('04/07/2019')\n },\n {\n TaskID: 7, TaskName: 'List materials', StartDate: new Date('04/04/2019'),\n Duration: 3, Predecessor: '6', resources: [4], info: '',\n BaselineStartDate: new Date('04/09/2019'), BaselineEndDate: new Date('04/12/2019')\n },\n {\n TaskID: 8, TaskName: 'Estimation approval', StartDate: new Date('04/04/2019'),\n Duration: 0, Predecessor: '7', resources: [12], info: '',\n BaselineStartDate: new Date('04/16/2019'), BaselineEndDate: new Date('04/16/2019')\n }\n ]\n },\n {\n TaskID: 9, TaskName: 'Sign contract', StartDate: new Date('04/04/2019'), Duration: 1,\n Predecessor: '8', Progress: 30, resources: [12],\n info: 'If required obtain approval from HOA (homeowners association) or ARC (architectural review committee)',\n BaselineStartDate: new Date('04/16/2019'), BaselineEndDate: new Date('04/17/2019')\n },\n {\n TaskID: 10,\n TaskName: 'Project approval and kick off',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n Duration: 0,\n Predecessor: '9',\n BaselineStartDate: new Date('04/17/2019'), BaselineEndDate: new Date('04/17/2019')\n },\n {\n TaskID: 11,\n TaskName: 'Site work',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 12, TaskName: 'Clear the building site', StartDate: new Date('04/04/2019'),\n Duration: 2, Progress: 30, Predecessor: '9',\n info: 'Clear the building site (demolition of existing home if necessary)',\n BaselineStartDate: new Date('04/16/2019'), BaselineEndDate: new Date('04/18/2019')\n },\n {\n TaskID: 13, TaskName: 'Install temporary power service', StartDate: new Date('04/04/2019'),\n Duration: 2, Predecessor: '12', info: '',\n BaselineStartDate: new Date('04/17/2019'), BaselineEndDate: new Date('04/19/2019')\n },\n ]\n }\n];\n\nexport let selfData: object[] = [\n { taskID: 1, taskName: \"Project Schedule\", startDate: new Date(\"02/04/2019\"), endDate: new Date(\"03/10/2019\") },\n { taskID: 2, taskName: \"Planning\", startDate: new Date(\"02/04/2019\"), endDate: new Date(\"02/10/2019\"), parentID: 1 },\n { taskID: 3, taskName: \"Plan timeline\", startDate: new Date(\"02/04/2019\"), endDate: new Date(\"02/10/2019\"), duration: 6, progress: \"60\", parentID: 2 },\n { taskID: 4, taskName: \"Plan budget\", startDate: new Date(\"02/04/2019\"), endDate: new Date(\"02/10/2019\"), duration: 6, progress: \"90\", parentID: 2 },\n { taskID: 5, taskName: \"Allocate resources\", startDate: new Date(\"02/04/2019\"), endDate: new Date(\"02/10/2019\"), duration: 6, progress: \"75\", parentID: 2 },\n { taskID: 6, taskName: \"Planning complete\", startDate: new Date(\"02/06/2019\"), endDate: new Date(\"02/10/2019\"), duration: 0, predecessor: \"3FS,4FS,5FS\", parentID: 2 },\n { taskID: 7, taskName: \"Design\", startDate: new Date(\"02/13/2019\"), endDate: new Date(\"02/17/2019\"), parentID: 1, },\n { taskID: 8, taskName: \"Software Specification\", startDate: new Date(\"02/13/2019\"), endDate: new Date(\"02/15/2019\"), duration: 3, progress: \"60\", predecessor: \"6FS\", parentID: 7, },\n { taskID: 9, taskName: \"Develop prototype\", startDate: new Date(\"02/13/2019\"), endDate: new Date(\"02/15/2019\"), duration: 3, progress: \"100\", predecessor: \"6FS\", parentID: 7, },\n { taskID: 10, taskName: \"Get approval from customer\", startDate: new Date(\"02/16/2019\"), endDate: new Date(\"02/17/2019\"), duration: 2, progress: \"100\", predecessor: \"9FS\", parentID: 7, },\n { taskID: 11, taskName: \"Design complete\", startDate: new Date(\"02/17/2019\"), endDate: new Date(\"02/17/2019\"), duration: 0, predecessor: \"10FS\", parentID: 7, }\n];\n\nexport let labelData: object[] = [\n {\n TaskID: 1,\n TaskName: 'Project initiation',\n StartDate: new Date('04/02/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 2, TaskName: 'Identify site location', StartDate: new Date('04/02/2019'), Duration: 0,\n Progress: 30, resources: [1], info: 'Measure the total property area alloted for construction',\n BaselineStartDate: new Date('04/02/2019'), BaselineEndDate: new Date('04/02/2019')\n },\n {\n TaskID: 3, TaskName: 'Perform soil test', StartDate: new Date('04/02/2019'), Duration: 4, Predecessor: '2',\n resources: [2, 3, 5], info: 'Obtain an engineered soil test of lot where construction is planned.' +\n 'From an engineer or company specializing in soil testing', BaselineStartDate: new Date('04/01/2019'),\n BaselineEndDate: new Date('04/04/2019')\n },\n {\n TaskID: 4, TaskName: 'Soil test approval', StartDate: new Date('04/02/2019'), Duration: 0, Predecessor: '3', Progress: 30,\n BaselineStartDate: new Date('04/06/2019'), BaselineEndDate: new Date('04/06/2019')\n },\n\n ]\n },\n {\n TaskID: 5,\n TaskName: 'Project estimation',\n StartDate: new Date('04/02/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 6, TaskName: 'Develop floor plan for estimation', StartDate: new Date('04/04/2019'),\n Duration: 3, Predecessor: '4', Progress: 30, resources: 4,\n info: 'Develop floor plans and obtain a materials list for estimations',\n BaselineStartDate: new Date('04/05/2019'), BaselineEndDate: new Date('04/07/2019')\n },\n {\n TaskID: 7, TaskName: 'List materials', StartDate: new Date('04/04/2019'),\n Duration: 3, Predecessor: '6', resources: [4, 8], info: '',\n BaselineStartDate: new Date('04/09/2019'), BaselineEndDate: new Date('04/12/2019')\n },\n {\n TaskID: 8, TaskName: 'Estimation approval', StartDate: new Date('04/04/2019'),\n Duration: 0, Predecessor: '7', resources: [12, 5], info: '',\n BaselineStartDate: new Date('04/16/2019'), BaselineEndDate: new Date('04/16/2019')\n }\n ]\n },\n {\n TaskID: 9, TaskName: 'Sign contract', StartDate: new Date('04/04/2019'), Duration: 1,\n Predecessor: '8', Progress: 30, resources: [12],\n info: 'If required obtain approval from HOA (homeowners association) or ARC (architectural review committee)',\n BaselineStartDate: new Date('04/16/2019'), BaselineEndDate: new Date('04/17/2019')\n },\n {\n TaskID: 10,\n TaskName: 'Project approval and kick off',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n Duration: 0,\n Predecessor: '9',\n BaselineStartDate: new Date('04/17/2019'), BaselineEndDate: new Date('04/17/2019')\n },\n {\n TaskID: 11,\n TaskName: 'Site work',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 12, TaskName: 'Clear the building site', StartDate: new Date('04/04/2019'),\n Duration: 2, Progress: 30, Predecessor: '9',\n info: 'Clear the building site (demolition of existing home if necessary)',\n BaselineStartDate: new Date('04/16/2019'), BaselineEndDate: new Date('04/18/2019')\n },\n {\n TaskID: 13, TaskName: 'Install temporary power service', StartDate: new Date('04/04/2019'),\n Duration: 2, Predecessor: '12', info: '',\n BaselineStartDate: new Date('04/17/2019'), BaselineEndDate: new Date('04/19/2019')\n },\n ]\n },\n];\nexport let resourceData: object[] = [\n {\n TaskID: 1,\n TaskName: 'Project initiation',\n StartDate: new Date('03/29/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 2, TaskName: 'Identify site location', StartDate: new Date('03/29/2019'), Duration: 2,\n Progress: 30, work: 16, resources: [{ resourceId: 1, unit: 70 }, 6]\n },\n {\n TaskID: 3, TaskName: 'Perform soil test', StartDate: new Date('03/29/2019'), Duration: 4,\n resources: [2, 3, 5], work: 96\n },\n {\n TaskID: 4, TaskName: 'Soil test approval', StartDate: new Date('03/29/2019'), Duration: 1,\n work: 16, resources: [8, { resourceId: 9, unit: 50 }], Progress: 30\n },\n ]\n },\n {\n TaskID: 5,\n TaskName: 'Project estimation', StartDate: new Date('03/29/2019'), EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 6, TaskName: 'Develop floor plan for estimation', StartDate: new Date('03/29/2019'),\n Duration: 3, Progress: 30, resources: [{ resourceId: 4, unit: 50 }], work: 30\n },\n {\n TaskID: 7, TaskName: 'List materials', StartDate: new Date('04/01/2019'), Duration: 3,\n work: 48, resources: [4, 8]\n },\n {\n TaskID: 8, TaskName: 'Estimation approval', StartDate: new Date('04/01/2019'),\n Duration: 2, work: 60, resources: [12, { resourceId: 5, unit: 70 }]\n }\n ]\n },\n {\n TaskID: 9, TaskName: 'Sign contract', StartDate: new Date('04/01/2019'), Duration: 1,\n Progress: 30, resources: [12], work: 24\n }\n];\nexport let resourceResources: object[] = [\n { resourceId: 1, resourceName: 'Martin Tamer' },\n { resourceId: 2, resourceName: 'Rose Fuller' },\n { resourceId: 3, resourceName: 'Margaret Buchanan' },\n { resourceId: 4, resourceName: 'Fuller King' },\n { resourceId: 5, resourceName: 'Davolio Fuller' },\n { resourceId: 6, resourceName: 'Van Jack' },\n { resourceId: 7, resourceName: 'Fuller Buchanan' },\n { resourceId: 8, resourceName: 'Jack Davolio' },\n { resourceId: 9, resourceName: 'Tamer Vinet' },\n { resourceId: 10, resourceName: 'Vinet Fuller' },\n { resourceId: 11, resourceName: 'Bergs Anton' },\n { resourceId: 12, resourceName: 'Construction Supervisor' }\n];\nexport let taskModeData: Object[] = [\n {\n \"TaskID\": 1,\n \"TaskName\": \"Parent Task 1\",\n \"StartDate\": new Date(\"02/27/2017\"),\n \"EndDate\": new Date(\"03/03/2017\"),\n \"Progress\": \"40\",\n \"isManual\" : true,\n resources: [1],\n \"Children\": [\n { \"TaskID\": 2, resources: [2,3],\"TaskName\": \"Child Task 1\", \"StartDate\": new Date(\"02/27/2017\"), \"EndDate\": new Date(\"03/03/2017\"), \"Progress\": \"40\" },\n { \"TaskID\": 3, \"TaskName\": \"Child Task 2\", \"StartDate\": new Date(\"02/26/2017\"), \"EndDate\": new Date(\"03/03/2017\"), \"Progress\": \"40\",\"isManual\": true },\n { \"TaskID\": 4, \"TaskName\": \"Child Task 3\", \"StartDate\": new Date(\"02/27/2017\"), \"EndDate\": new Date(\"03/03/2017\"), \"Duration\": 5, \"Progress\": \"40\", }\n ]\n },\n {\n \"TaskID\": 5,\n \"TaskName\": \"Parent Task 2\",\n \"StartDate\": new Date(\"03/05/2017\"),\n \"EndDate\": new Date(\"03/09/2017\"),\n \"Progress\": \"40\",\n \"isManual\": true,\n \"Children\": [\n { \"TaskID\": 6, \"TaskName\": \"Child Task 1\", \"StartDate\": new Date(\"03/06/2017\"), \"EndDate\": new Date(\"03/09/2017\"), \"Progress\": \"40\" },\n { \"TaskID\": 7, \"TaskName\": \"Child Task 2\", \"StartDate\": new Date(\"03/06/2017\"), \"EndDate\": new Date(\"03/09/2017\"), \"Progress\": \"40\", },\n { \"TaskID\": 8, \"TaskName\": \"Child Task 3\", \"StartDate\": new Date(\"02/28/2017\"), \"EndDate\": new Date(\"03/05/2017\"), \"Progress\": \"40\",\"isManual\":true },\n { \"TaskID\": 9, \"TaskName\": \"Child Task 4\", \"StartDate\": new Date(\"03/04/2017\"), \"EndDate\": new Date(\"03/09/2017\"), \"Progress\": \"40\",\"isManual\":true }\n ]\n },\n {\n \"TaskID\": 10,\n \"TaskName\": \"Parent Task 3\",\n \"StartDate\": new Date(\"03/13/2017\"),\n \"EndDate\": new Date(\"03/17/2017\"),\n \"Progress\": \"40\",\n \"Children\": [\n { \"TaskID\": 11, \"TaskName\": \"Child Task 1\", \"StartDate\": new Date(\"03/13/2017\"), \"EndDate\": new Date(\"03/17/2017\"), \"Progress\": \"40\" },\n { \"TaskID\": 12, \"TaskName\": \"Child Task 2\", \"StartDate\": new Date(\"03/13/2017\"), \"EndDate\": new Date(\"03/17/2017\"), \"Progress\": \"40\", },\n { \"TaskID\": 13, \"TaskName\": \"Child Task 3\", \"StartDate\": new Date(\"03/13/2017\"), \"EndDate\": new Date(\"03/17/2017\"), \"Progress\": \"40\", },\n { \"TaskID\": 14, \"TaskName\": \"Child Task 4\", \"StartDate\": new Date(\"03/12/2017\"), \"EndDate\": new Date(\"03/17/2017\"), \"Progress\": \"40\",\"isManual\":true },\n { \"TaskID\": 15, \"TaskName\": \"Child Task 5\", \"StartDate\": new Date(\"03/13/2017\"), \"EndDate\": new Date(\"03/17/2017\"), \"Progress\": \"40\", }\n ]\n }\n];\nexport let resourcesData: object[] = [\n {\n TaskID: 1,\n TaskName: 'Project initiation',\n StartDate: new Date('03/29/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 2, TaskName: 'Identify site location', StartDate: new Date('03/29/2019'), Duration: 3,\n Progress: 30, work: 10, resources: [{ resourceId: 1, resourceUnit: 50 }]\n },\n {\n TaskID: 3, TaskName: 'Perform soil test', StartDate: new Date('03/29/2019'), Duration: 4,\n resources: [{ resourceId: 2, resourceUnit: 70 }], Progress: 30, work: 20\n },\n {\n TaskID: 4, TaskName: 'Soil test approval', StartDate: new Date('03/29/2019'), Duration: 4,\n resources: [{ resourceId: 1, resourceUnit: 75 }], Predecessor: 2, Progress: 30, work: 10,\n },\n ]\n },\n {\n TaskID: 5,\n TaskName: 'Project estimation', StartDate: new Date('03/29/2019'), EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 6, TaskName: 'Develop floor plan for estimation', StartDate: new Date('03/29/2019'),\n Duration: 3, Progress: 30, resources: [{ resourceId: 2, resourceUnit: 70 }], Predecessor: '3FS+2', work: 30\n },\n {\n TaskID: 7, TaskName: 'List materials', StartDate: new Date('04/08/2019'), Duration: 12,\n resources: [{ resourceId: 6, resourceUnit: 40 }], Progress: 30, work: 40\n },\n {\n TaskID: 8, TaskName: 'Estimation approval', StartDate: new Date('04/03/2019'), \n Duration: 10, resources: [{ resourceId: 5, resourceUnit: 75 }], Progress: 30, work: 60,\n },\n {\n TaskID: 9, TaskName: 'Excavate for foundations', StartDate: new Date('04/01/2019'),\n Duration: 4, Progress: 30, resources: [4]\n },\n {\n TaskID: 10, TaskName: 'Install plumbing grounds', StartDate: new Date('04/08/2019'), Duration: 4,\n Progress: 30, Predecessor: '9SS', resources: [3]\n },\n {\n TaskID: 11, TaskName: 'Dig footer', StartDate: new Date('04/08/2019'),\n Duration: 3, resources: [2]\n },\n {\n TaskID: 12, TaskName: 'Electrical utilities', StartDate: new Date('04/03/2019'),\n Duration: 4, Progress: 30, resources: [3]\n }\n ]\n },\n {\n TaskID: 13, TaskName: 'Sign contract', StartDate: new Date('04/04/2019'), Duration: 2,\n Progress: 30,\n }\n];\nexport let resourceCollection: object[] = [\n { resourceId: 1, resourceName: 'Martin Tamer', resourceGroup: 'Planning Team'},\n { resourceId: 2, resourceName: 'Rose Fuller', resourceGroup: 'Testing Team' },\n { resourceId: 3, resourceName: 'Margaret Buchanan', resourceGroup: 'Approval Team' },\n { resourceId: 4, resourceName: 'Fuller King', resourceGroup: 'Development Team' },\n { resourceId: 5, resourceName: 'Davolio Fuller', resourceGroup: 'Approval Team' },\n { resourceId: 6, resourceName: 'Van Jack', resourceGroup: 'Development Team' }\n];\n\nexport let multitaskbardata: object[] = [\n {\n TaskID: 1,\n TaskName: 'Project initiation',\n StartDate: new Date('03/29/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 2, TaskName: 'Identify site location', StartDate: new Date('03/29/2019'), Duration: 3,\n Progress: 30, work: 10, resources: [{ resourceId: 1, resourceUnit: 50 }]\n },\n {\n TaskID: 3, TaskName: 'Perform soil test', StartDate: new Date('04/03/2019'), Duration: 4,\n resources: [{ resourceId: 1, resourceUnit: 70 }], Predecessor: 2, Progress: 30, work: 20\n },\n {\n TaskID: 4, TaskName: 'Soil test approval', StartDate: new Date('04/09/2019'), Duration: 4,\n resources: [{ resourceId: 1, resourceUnit: 25 }], Predecessor: 3, Progress: 30, work: 10,\n },\n ]\n },\n {\n TaskID: 5,\n TaskName: 'Project estimation', StartDate: new Date('03/29/2019'), EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 6, TaskName: 'Develop floor plan for estimation', StartDate: new Date('04/01/2019'),\n Duration: 5, Progress: 30, resources: [{ resourceId: 2, resourceUnit: 50 }], work: 30\n },\n {\n TaskID: 7, TaskName: 'List materials', StartDate: new Date('04/04/2019'), Duration: 4,\n resources: [{ resourceId: 2, resourceUnit: 40 }], Predecessor: '6FS-2', Progress: 30, work: 40\n },\n {\n TaskID: 8, TaskName: 'Estimation approval', StartDate: new Date('04/09/2019'),\n Duration: 4, resources: [{ resourceId: 2, resourceUnit: 75 }], Predecessor: '7FS-1', Progress: 30, work: 60,\n }\n ]\n },\n {\n TaskID: 9,\n TaskName: 'Site work',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 10, TaskName: 'Install temporary power service', StartDate: new Date('04/01/2019'), Duration: 14,\n Progress: 30, resources: [{ resourceId: 3, resourceUnit: 75 }]\n },\n {\n TaskID: 11, TaskName: 'Clear the building site', StartDate: new Date('04/08/2019'),\n Duration: 9, Progress: 30, Predecessor: '10FS-9', resources: [3]\n },\n {\n TaskID: 12, TaskName: 'Sign contract', StartDate: new Date('04/12/2019'),\n Duration: 5, resources: [3], Predecessor: '11FS-5'\n },\n ]\n },\n {\n TaskID: 13,\n TaskName: 'Foundation',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 14, TaskName: 'Excavate for foundations', StartDate: new Date('04/01/2019'),\n Duration: 2, Progress: 30, resources: [4]\n },\n {\n TaskID: 15, TaskName: 'Dig footer', StartDate: new Date('04/04/2019'),\n Duration: 2, Predecessor: '14FS + 1', resources: [4]\n },\n {\n TaskID: 16, TaskName: 'Install plumbing grounds', StartDate: new Date('04/08/2019'), Duration: 2,\n Progress: 30, Predecessor: 15, resources: [4]\n }\n ]\n },\n {\n TaskID: 17,\n TaskName: 'Framing',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 18, TaskName: 'Add load-bearing structure', StartDate: new Date('04/03/2019'),\n Duration: 2, Progress: 30, resources: [5]\n },\n {\n TaskID: 19, TaskName: 'Natural gas utilities', StartDate: new Date('04/08/2019'),\n Duration: 4, Predecessor: '18', resources: [5]\n },\n {\n TaskID: 20, TaskName: 'Electrical utilities', StartDate: new Date('04/11/2019'),\n Duration: 2, Progress: 30, Predecessor: '19FS + 1', resources: [5]\n }\n ]\n }\n];\nexport let resources: object[] = [\n { resourceId: 1, resourceName: 'Martin Tamer', resourceGroup: 'Planning Team', isExpand: false},\n { resourceId: 2, resourceName: 'Rose Fuller', resourceGroup: 'Testing Team', isExpand: true},\n { resourceId: 3, resourceName: 'Margaret Buchanan', resourceGroup: 'Approval Team', isExpand: false },\n { resourceId: 4, resourceName: 'Fuller King', resourceGroup: 'Development Team', isExpand: false },\n { resourceId: 5, resourceName: 'Davolio Fuller', resourceGroup: 'Approval Team', isExpand: true }\n];\n\nexport let splitTasksData: object[] = [\n {\n TaskID: 1,\n TaskName: 'Project Schedule',\n StartDate: new Date('02/04/2019'),\n EndDate: new Date('03/10/2019'),\n subtasks: [\n {\n TaskID: 2,\n TaskName: 'Planning',\n StartDate: new Date('02/04/2019'),\n subtasks: [\n {\n TaskID: 3, TaskName: 'Plan timeline', StartDate: new Date('02/04/2019'), EndDate: new Date('02/10/2019'),\n Duration: 10, Progress: '60',\n Segments: [\n { StartDate: new Date('02/04/2019'), Duration: 2 },\n { StartDate: new Date('02/05/2019'), Duration: 5 },\n { StartDate: new Date('02/08/2019'), Duration: 3 }\n ]\n },\n {\n TaskID: 4, TaskName: 'Plan budget', StartDate: new Date('02/04/2019'), EndDate: new Date('02/10/2019'),\n Duration: 10, Progress: '90'\n },\n {\n TaskID: 5, TaskName: 'Allocate resources', StartDate: new Date('02/04/2019'), EndDate: new Date('02/10/2019'),\n Duration: 10, Progress: '75',\n Segments: [\n { StartDate: new Date('02/04/2019'), Duration: 4 },\n { StartDate: new Date('02/08/2019'), Duration: 2 }\n ]\n },\n {\n TaskID: 6, TaskName: 'Planning complete', StartDate: new Date('02/21/2019'), EndDate: new Date('02/21/2019'),\n Duration: 0, Predecessor: '3FS,5FS'\n },\n ]\n },\n {\n TaskID: 7,\n TaskName: 'Design',\n StartDate: new Date('02/25/2019'),\n subtasks: [\n {\n TaskID: 8, TaskName: 'Software Specification', StartDate: new Date('02/25/2019'), EndDate: new Date('03/02/2019'),\n Duration: 5, Progress: '60', Predecessor: '6FS'\n },\n {\n TaskID: 9, TaskName: 'Develop prototype', StartDate: new Date('02/25/2019'), EndDate: new Date('03/02/2019'),\n Duration: 5, Progress: '100', Predecessor: '6FS',\n Segments: [\n { StartDate: new Date('02/25/2019'), Duration: 2 },\n { StartDate: new Date('02/28/2019'), Duration: 3 }\n ]\n },\n {\n TaskID: 10, TaskName: 'Get approval from customer', StartDate: new Date('02/25/2019'),\n\t\t\t\t\t\tEndDate: new Date('03/01/2019'), Duration: 4, Progress: '100', Predecessor: '9FS'\n },\n {\n TaskID: 11, TaskName: 'Design complete', StartDate: new Date('02/25/2019'), EndDate: new Date('02/25/2019'),\n Duration: 0, Predecessor: '10FS'\n }\n ]\n }\n ]\n }\n];\n\nexport let tempData: any[] = [\n {\n TaskID: 1, TaskName: 'Product concept',StartDate: new Date('04/02/2019'), EndDate: new Date('04/21/2019'),\n parentID: 0\n },\n {\n TaskID: 2, TaskName: 'Defining the product and its usage', StartDate: new Date('04/02/2019'),\n Duration: 3, Progress: 30, parentID: 1\n },\n {\n TaskID: 3, TaskName: 'Defining target audience', StartDate: new Date('04/02/2019'),\n parentID: 1, Duration: 3\n },\n {\n TaskID: 4, TaskName: 'Prepare product sketch and notes', StartDate: new Date('04/05/2019'),\n Duration: 2, parentID: 1, Progress: 30\n },\n {\n TaskID: 5, TaskName: 'Concept approval', StartDate: new Date('04/08/2019'),\n parentID: 0, Duration: 0\n },\n {\n TaskID: 6, TaskName: 'Market research', StartDate: new Date('04/02/2019'),\n parentID: 0, EndDate: new Date('04/21/2019')\n },\n {\n TaskID: 7, TaskName: 'Demand analysis', StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'), parentID: 6\n },\n {\n TaskID: 8, TaskName: 'Customer strength', StartDate: new Date('04/09/2019'),\n Duration: 4, parentID: 7, Progress: 30\n },\n {\n TaskID: 9, TaskName: 'Market opportunity analysis', StartDate: new Date('04/09/2019'),\n Duration: 4, parentID: 7\n },\n {\n TaskID: 10, TaskName: 'Competitor analysis', StartDate: new Date('04/15/2019'),\n Duration: 4, parentID: 6, Progress: 30\n },\n {\n TaskID: 11, TaskName: 'Product strength analsysis', StartDate: new Date('04/15/2019'),\n Duration: 4, parentID: 6\n },\n {\n TaskID: 12, TaskName: 'Research complete', StartDate: new Date('04/18/2019'),\n Duration: 0, parentID: 6\n },\n {\n TaskID: 13, TaskName: 'Product design and development', StartDate: new Date('04/04/2019'),\n parentID: 0, EndDate: new Date('04/21/2019')\n },\n {\n TaskID: 14, TaskName: 'Functionality design', StartDate: new Date('04/19/2019'),\n Duration: 3, parentID: 13, Progress: 30\n },\n {\n TaskID: 15, TaskName: 'Quality design', StartDate: new Date('04/19/2019'),\n Duration: 3, parentID: 13\n },\n {\n TaskID: 16, TaskName: 'Define reliability', StartDate: new Date('04/24/2019'),\n Duration: 2, Progress: 30, parentID: 13\n },\n {\n TaskID: 17, TaskName: 'Identifying raw materials', StartDate: new Date('04/24/2019'),\n Duration: 2, parentID: 13\n },\n {\n TaskID: 18, TaskName: 'Define cost plan', StartDate: new Date('04/04/2019'),\n parentID: 13, EndDate: new Date('04/21/2019')\n },\n {\n TaskID: 19, TaskName: 'Manufacturing cost', StartDate: new Date('04/26/2019'),\n Duration: 2, Progress: 30, parentID: 18\n },\n {\n TaskID: 20, TaskName: 'Selling cost', StartDate: new Date('04/26/2019'),\n Duration: 2, parentID: 18\n },\n {\n TaskID: 21, TaskName: 'Development of the final design', StartDate: new Date('04/30/2019'),\n parentID: 13, EndDate: new Date('04/21/2019')\n },\n {\n TaskID: 22, TaskName: 'Defining dimensions and package volume', StartDate: new Date('04/30/2019'),\n Duration: 2, parentID: 21, Progress: 30\n },\n {\n TaskID: 23, TaskName: 'Develop design to meet industry standards', StartDate: new Date('05/02/2019'),\n Duration: 2, parentID: 21\n },\n {\n TaskID: 24, TaskName: 'Include all the details', StartDate: new Date('05/06/2019'),\n Duration: 3, parentID: 21\n },\n {\n TaskID: 25, TaskName: 'CAD computer-aided design', StartDate: new Date('05/09/2019'),\n Duration: 3, parentID: 13, Progress: 30\n },\n {\n TaskID: 26, TaskName: 'CAM computer-aided manufacturing', StartDate: new Date('09/14/2019'),\n Duration: 3, parentID: 13\n },\n {\n TaskID: 27, TaskName: 'Design complete', StartDate: new Date('05/16/2019'),\n Duration: 0, parentID: 13\n },\n {\n TaskID: 28, TaskName: 'Prototype testing', StartDate: new Date('05/17/2019'),\n Duration: 4, Progress: 30, parentID: 0\n },\n {\n TaskID: 29, TaskName: 'Include feedback', StartDate: new Date('05/17/2019'),\n Duration: 4, parentID: 0\n },\n {\n TaskID: 30, TaskName: 'Manufacturing', StartDate: new Date('05/23/2019'),\n Duration: 5, Progress: 30, parentID: 0\n },\n {\n TaskID: 31, TaskName: 'Assembling materials to finsihed goods', StartDate: new Date('05/30/2019'),\n Duration: 5, parentID: 0\n },\n {\n TaskID: 32, TaskName: 'Feedback and testing', StartDate: new Date('04/04/2019'),\n parentID: 0, EndDate: new Date('04/21/2019'),\n },\n {\n TaskID: 33, TaskName: 'Internal testing and feedback', StartDate: new Date('06/06/2019'),\n Duration: 3, parentID: 32, Progress: 45\n },\n {\n TaskID: 34, TaskName: 'Customer testing and feedback', StartDate: new Date('06/11/2019'),\n Duration: 3, parentID: 32, Progress: 50\n },\n {\n TaskID: 35, TaskName: 'Final product development', StartDate: new Date('04/04/2019'),\n parentID: 0, EndDate: new Date('04/21/2019'),\n },\n {\n TaskID: 36, TaskName: 'Important improvements', StartDate: new Date('06/14/2019'),\n Duration: 4, Progress: 30, parentID: 35\n },\n {\n TaskID: 37, TaskName: 'Address any unforeseen issues', StartDate: new Date('06/14/2019'),\n Duration: 4, Progress: 30, parentID: 35\n },\n {\n TaskID: 38, TaskName: 'Final product', StartDate: new Date('04/04/2019'),\n parentID: 0, EndDate: new Date('04/21/2019'),\n },\n {\n TaskID: 39, TaskName: 'Branding product', StartDate: new Date('06/20/2019'),\n Duration: 4, parentID: 38\n },\n {\n TaskID: 40, TaskName: 'Marketing and presales', StartDate: new Date('06/26/2019'), Duration: 4,\n Progress: 30, parentID: 38\n }\n];\n\nexport let virtualData: any[] = [];\nlet projId: number = 1;\nfor (let i: number = 0; i < 50; i++) {\n let x: number = virtualData.length + 1;\n let parent: any = {};\n /* tslint:disable:no-string-literal */\n parent['TaskID'] = x;\n parent['TaskName'] = 'Project ' + (i + 1);\n virtualData.push(parent);\n for (let j: number = 0; j < tempData.length; j++) {\n let subtasks: any = {};\n /* tslint:disable:no-string-literal */\n subtasks['TaskID'] = tempData[j].TaskID + x;\n subtasks['TaskName'] = tempData[j].TaskName;\n subtasks['StartDate'] = tempData[j].StartDate;\n subtasks['Duration'] = tempData[j].Duration;\n subtasks['Progress'] = tempData[j].Progress;\n subtasks['parentID'] = tempData[j].parentID + x;\n virtualData.push(subtasks);\n }\n}\n\nexport let timezoneData: object[] = [\n {\n taskID: 1,\n taskName: 'Project Schedule',\n startDate: new Date('02/04/2019 08:00'),\n endDate: new Date('03/10/2019')\n },\n {\n taskID: 2,\n taskName: 'Planning',\n startDate: new Date('02/04/2019 08:00'),\n endDate: new Date('02/10/2019'),\n parentID: 1\n },\n {\n taskID: 3,\n taskName: 'Plan timeline',\n startDate: new Date('02/04/2019 08:00'),\n endDate: new Date('02/10/2019'),\n duration: 6,\n progress: '60',\n parentID: 2\n },\n {\n taskID: 4,\n taskName: 'Plan budget',\n startDate: new Date('02/04/2019 08:00'),\n endDate: new Date('02/10/2019'),\n duration: 6,\n progress: '90',\n parentID: 2\n },\n {\n taskID: 5,\n taskName: 'Allocate resources',\n startDate: new Date('02/04/2019 08:00'),\n endDate: new Date('02/10/2019'),\n duration: 6,\n progress: '75',\n parentID: 2\n },\n {\n taskID: 6,\n taskName: 'Planning complete',\n startDate: new Date('02/06/2019 08:00'),\n endDate: new Date('02/10/2019'),\n duration: 0,\n predecessor: '3FS,4FS,5FS',\n parentID: 2\n },\n {\n taskID: 7,\n taskName: 'Design',\n startDate: new Date('02/13/2019 08:00'),\n endDate: new Date('02/17/2019 08:00'),\n parentID: 1,\n },\n {\n taskID: 8,\n taskName: 'Software Specification',\n startDate: new Date('02/13/2019 08:00'),\n endDate: new Date('02/15/2019'),\n duration: 3,\n progress: '60',\n predecessor: '6FS',\n parentID: 7,\n },\n {\n taskID: 9,\n taskName: 'Develop prototype',\n startDate: new Date('02/13/2019 08:00'),\n endDate: new Date('02/15/2019'),\n duration: 3,\n progress: '100',\n predecessor: '6FS',\n parentID: 7,\n },\n {\n taskID: 10,\n taskName: 'Get approval from customer',\n startDate: new Date('02/16/2019 08:00'),\n endDate: new Date('02/17/2019 08:00'),\n duration: 2,\n progress: '100',\n predecessor: '9FS',\n parentID: 7,\n },\n {\n taskID: 11,\n taskName: 'Design complete',\n startDate: new Date('02/17/2019 08:00'),\n endDate: new Date('02/17/2019 08:00'),\n duration: 0,\n predecessor: '10FS',\n parentID: 7,\n }\n];","app.component.ts":"import { Component, OnInit} from '@angular/core';\nimport { templateData, editingResources } from './data';\n\n@Component({\n selector: 'app-root',\n templateUrl: 'app.component.html'\n})\n\nexport class AppComponent {\n public data: object[];\n public taskSettings: object;\n public columns: object[];\n public labelSettings: object;\n public resources: object[];\n public resourceFields: object ;\n public projectStartDate: Date;\n public splitterSettings: object;\n public projectEndDate: Date;\n public ngOnInit(): void {\n this.data = templateData;\n this.taskSettings = {\n id: 'TaskID',\n name: 'TaskName',\n startDate: 'StartDate',\n endDate:'EndDate',\n duration: 'Duration',\n progress: 'Progress',\n dependency: 'Predecessor',\n child: 'subtasks',\n resourceInfo: 'resources'\n };\n this.resourceFields = {\n id: 'resourceId',\n name: 'resourceName'\n };\n this.splitterSettings = {\n columnIndex: 4\n },\n this.labelSettings = {\n rightLabel: 'TaskName'\n };\n this.resources = editingResources;\n this.projectStartDate= new Date('03/25/2019');\n this.projectEndDate= new Date('07/28/2019');\n }\n}\n","app/app.module.ts":"import { MultiSelectAllModule } from '@syncfusion/ej2-angular-dropdowns';\n\nimport { TextBoxAllModule, NumericTextBoxAllModule } from '@syncfusion/ej2-angular-inputs';\n\nimport { DropDownListAllModule } from '@syncfusion/ej2-angular-dropdowns';\n\nimport { CheckBoxAllModule } from '@syncfusion/ej2-angular-buttons';\n\nimport { GanttAllModule } from '@syncfusion/ej2-angular-gantt';\n\nimport { HttpModule } from '@angular/http';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\nimport { CommonModule } from '@angular/common';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { NgModule } from '@angular/core';\n\nimport { AppComponent } from '../app.component';\n\n@NgModule({ declarations: [ AppComponent ], imports: [ BrowserModule, GanttAllModule, DropDownListAllModule, CheckBoxAllModule, TextBoxAllModule, NumericTextBoxAllModule, MultiSelectAllModule], providers: [], bootstrap: [AppComponent]\n})\nexport class AppModule { }\n","app.component.html":"\n
\n \n \n \n \n Task Name\n \n \n \n \n Start Date\n \n \n \n \n Resources\n \n \n \n \n Duration\n \n \n \n \n Progress\n \n \n \n\n \n
Source:\n https://en.wikipedia.org/\n
\n
\n\n","app.component.css":""} \ No newline at end of file +{"dependencies.json":"{\"@syncfusion/ej2-base\": \"*\", \"@syncfusion/ej2-buttons\": \"*\", \"@syncfusion/ej2-splitbuttons\": \"*\", \"@syncfusion/ej2-calendars\": \"*\", \"@syncfusion/ej2-charts\": \"*\", \"@syncfusion/ej2-diagrams\": \"*\", \"@syncfusion/ej2-maps\": \"*\", \"@syncfusion/ej2-treemap\": \"*\", \"@syncfusion/ej2-circulargauge\": \"*\", \"@syncfusion/ej2-data\": \"*\", \"@syncfusion/ej2-dropdowns\": \"*\", \"@syncfusion/ej2-grids\": \"*\", \"@syncfusion/ej2-inputs\": \"*\", \"@syncfusion/ej2-lists\": \"*\", \"@syncfusion/ej2-navigations\": \"*\", \"@syncfusion/ej2-popups\": \"*\", \"@syncfusion/ej2-lineargauge\": \"*\", \"@syncfusion/ej2-pdf-export\": \"*\", \"@syncfusion/ej2-compression\": \"*\", \"@syncfusion/ej2-excel-export\": \"*\", \"@syncfusion/ej2-file-utils\": \"*\", \"@syncfusion/ej2-svg-base\": \"*\", \"@syncfusion/ej2-documenteditor\": \"*\", \"@syncfusion/ej2-richtexteditor\": \"*\", \"@syncfusion/ej2-notifications\": \"*\", \"@syncfusion/ej2-heatmap\": \"*\", \"@syncfusion/ej2-pivotview\": \"*\", \"@syncfusion/ej2-schedule\": \"*\", \"@syncfusion/ej2-layouts\": \"*\", \"@syncfusion/ej2-angular-base\": \"*\", \"@syncfusion/ej2-angular-buttons\": \"*\", \"@syncfusion/ej2-angular-splitbuttons\": \"*\", \"@syncfusion/ej2-angular-calendars\": \"*\", \"@syncfusion/ej2-angular-charts\": \"*\", \"@syncfusion/ej2-angular-diagrams\": \"*\", \"@syncfusion/ej2-angular-maps\": \"*\", \"@syncfusion/ej2-angular-treemap\": \"*\", \"@syncfusion/ej2-angular-circulargauge\": \"*\", \"@syncfusion/ej2-angular-dropdowns\": \"*\", \"@syncfusion/ej2-angular-grids\": \"*\", \"@syncfusion/ej2-angular-inputs\": \"*\", \"@syncfusion/ej2-angular-lists\": \"*\", \"@syncfusion/ej2-angular-navigations\": \"*\", \"@syncfusion/ej2-angular-popups\": \"*\", \"@syncfusion/ej2-angular-lineargauge\": \"*\", \"@syncfusion/ej2-angular-documenteditor\": \"*\", \"@syncfusion/ej2-angular-richtexteditor\": \"*\", \"@syncfusion/ej2-angular-notifications\": \"*\", \"@syncfusion/ej2-angular-heatmap\": \"*\", \"@syncfusion/ej2-angular-pivotview\": \"*\", \"@syncfusion/ej2-angular-schedule\": \"*\", \"@syncfusion/ej2-angular-layouts\": \"*\" , \"@angular/http\": \"*\", \"rxjs-compat\":\"*\", \"core-js\": \"2.6.9\"}","main.ts":"import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.error(err));\n","polyfills.ts":"/**\n * This file includes polyfills needed by Angular and is loaded before the app.\n * You can add your own extra polyfills to this file.\n *\n * This file is divided into 2 sections:\n * 1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers.\n * 2. Application imports. Files imported after ZoneJS that should be loaded before your main\n * file.\n *\n * The current setup is for so-called \"evergreen\" browsers; the last versions of browsers that\n * automatically update themselves. This includes Safari >= 10, Chrome >= 55 (including Opera),\n * Edge >= 13 on the desktop, and iOS 10 and Chrome on mobile.\n *\n * Learn more in https://angular.io/guide/browser-support\n */\n\n/***************************************************************************************************\n * BROWSER POLYFILLS\n */\n\n/** IE10 and IE11 requires the following for NgClass support on SVG elements */\n// import 'classlist.js'; // Run `npm install --save classlist.js`.\n\n/**\n * Web Animations `@angular/platform-browser/animations`\n * Only required if AnimationBuilder is used within the application and using IE/Edge or Safari.\n * Standard animation support in Angular DOES NOT require any polyfills (as of Angular 6.0).\n */\n// import 'web-animations-js'; // Run `npm install --save web-animations-js`.\n\n/**\n * By default, zone.js will patch all possible macroTask and DomEvents\n * user can disable parts of macroTask/DomEvents patch by setting following flags\n * because those flags need to be set before `zone.js` being loaded, and webpack\n * will put import in the top of bundle, so user need to create a separate file\n * in this directory (for example: zone-flags.ts), and put the following flags\n * into that file, and then add the following code before importing zone.js.\n * import './zone-flags';\n *\n * The flags allowed in zone-flags.ts are listed here.\n *\n * The following flags will work for all browsers.\n *\n * (window as any).__Zone_disable_requestAnimationFrame = true; // disable patch requestAnimationFrame\n * (window as any).__Zone_disable_on_property = true; // disable patch onProperty such as onclick\n * (window as any).__zone_symbol__UNPATCHED_EVENTS = ['scroll', 'mousemove']; // disable patch specified eventNames\n *\n * in IE/Edge developer tools, the addEventListener will also be wrapped by zone.js\n * with the following flag, it will bypass `zone.js` patch for IE/Edge\n *\n * (window as any).__Zone_enable_cross_context_check = true;\n *\n */\n\n/***************************************************************************************************\n * Zone JS is required by default for Angular itself.\n */\nimport 'zone.js/dist/zone'; // Included with Angular CLI.\n\n\n/***************************************************************************************************\n * APPLICATION IMPORTS\n */\n","angular.json":"{\n \"$schema\": \"./node_modules/@angular/cli/lib/config/schema.json\",\n \"version\": 1,\n \"newProjectRoot\": \"projects\",\n \"projects\": {\n \"demo\": {\n \"root\": \"\",\n \"sourceRoot\": \"\",\n \"projectType\": \"application\",\n \"prefix\": \"app\",\n \"schematics\": {},\n \"architect\": {\n \"build\": {\n \"builder\": \"@angular-devkit/build-angular:browser\",\n \"options\": {\n \"outputPath\": \"dist/demo\",\n \"index\": \"index.html\",\n \"main\": \"main.ts\",\n \"polyfills\": \"polyfills.ts\",\n \"tsConfig\": \"tsconfig.app.json\",\n \"assets\": [\n \"favicon.ico\",\n \"assets\"\n ],\n \"styles\": [\n \n ],\n \"scripts\": []\n },\n \"configurations\": {\n \"production\": {\n \"fileReplacements\": [\n {\n \"replace\": \"src/environments/environment.ts\",\n \"with\": \"src/environments/environment.prod.ts\"\n }\n ],\n \"optimization\": true,\n \"outputHashing\": \"all\",\n \"sourceMap\": false,\n \"extractCss\": true,\n \"namedChunks\": false,\n \"aot\": true,\n \"extractLicenses\": true,\n \"vendorChunk\": false,\n \"buildOptimizer\": true\n }\n }\n },\n \"serve\": {\n \"builder\": \"@angular-devkit/build-angular:dev-server\",\n \"options\": {\n \"browserTarget\": \"demo:build\"\n },\n \"configurations\": {\n \"production\": {\n \"browserTarget\": \"demo:build:production\"\n }\n }\n },\n \"extract-i18n\": {\n \"builder\": \"@angular-devkit/build-angular:extract-i18n\",\n \"options\": {\n \"browserTarget\": \"demo:build\"\n }\n },\n \"test\": {\n \"builder\": \"@angular-devkit/build-angular:karma\",\n \"options\": {\n \"main\": \"src/test.ts\",\n \"polyfills\": \"src/polyfills.ts\",\n \"tsConfig\": \"src/tsconfig.spec.json\",\n \"karmaConfig\": \"src/karma.conf.js\",\n \"styles\": [\n \"styles.css\"\n ],\n \"scripts\": [],\n \"assets\": [\n \"src/favicon.ico\",\n \"src/assets\"\n ]\n }\n },\n \"lint\": {\n \"builder\": \"@angular-devkit/build-angular:tslint\",\n \"options\": {\n \"tsConfig\": [\n \"src/tsconfig.app.json\",\n \"src/tsconfig.spec.json\"\n ],\n \"exclude\": [\n \"**/node_modules/**\"\n ]\n }\n }\n }\n }\n },\n \"defaultProject\": \"demo\"\n }\n \n","environments/environment.ts":"// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\n// The list of file replacements can be found in `angular.json`.\n\nexport const environment = {\n production: false\n};\n\n/*\n * For easier debugging in development mode, you can import the following file\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\n *\n * This import should be commented out in production mode because it will have a negative impact\n * on performance if an error is thrown.\n */\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\n","environments/environment.prod.ts":"export const environment = {\n production: true\n};\n","index.html":"\n\n\n \n Window\n \n \n \n \n\n \n\n \n \n\n \n\n\n","data.ts":"/**\n * Gantt DataSource\n */\n\nexport let projectNewData: Object[] = [\n {\n TaskID: 1,\n TaskName: 'Product concept',\n StartDate: new Date('04/02/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n { TaskID: 2, TaskName: 'Defining the product and its usage', StartDate: new Date('04/02/2019'), Duration: 3, Progress: 30 },\n { TaskID: 3, TaskName: 'Defining target audience', StartDate: new Date('04/02/2019'), Duration: 3 },\n {\n TaskID: 4, TaskName: 'Prepare product sketch and notes', StartDate: new Date('04/02/2019'), Duration: 2,\n Predecessor: '2', Progress: 30\n },\n ]\n },\n {\n TaskID: 5, TaskName: 'Concept approval', StartDate: new Date('04/02/2019'), Duration: 0, Predecessor: '3,4',\n Indicators: [\n {\n 'date': new Date('04/10/2019'),\n 'name': 'Design Phase',\n 'tooltip': 'Design phase completed',\n 'iconClass': 'okIcon e-icons'\n }\n ]\n },\n {\n TaskID: 6,\n TaskName: 'Market research',\n StartDate: new Date('04/02/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 7,\n TaskName: 'Demand analysis',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 8, TaskName: 'Customer strength', StartDate: new Date('04/04/2019'), Duration: 4,\n Predecessor: '5', Progress: 30\n },\n { TaskID: 9, TaskName: 'Market opportunity analysis', StartDate: new Date('04/04/2019'), Duration: 4, Predecessor: '5' }\n ]\n },\n {\n TaskID: 10, TaskName: 'Competitor analysis', StartDate: new Date('04/04/2019'), Duration: 4,\n Predecessor: '7, 8', Progress: 30\n },\n { TaskID: 11, TaskName: 'Product strength analsysis', StartDate: new Date('04/04/2019'), Duration: 4, Predecessor: '9' },\n {\n TaskID: 12, TaskName: 'Research complete', StartDate: new Date('04/04/2019'), Duration: 0, Predecessor: '10',\n Indicators: [\n {\n 'date': new Date('04/20/2019'),\n 'name': 'Research completed',\n 'tooltip': 'Research completed',\n 'iconClass': 'description e-icons'\n }\n ]\n }\n ]\n },\n {\n TaskID: 13,\n TaskName: 'Product design and development',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 14, TaskName: 'Functionality design', StartDate: new Date('04/04/2019'),\n Duration: 3, Progress: 30, Predecessor: '12'\n },\n { TaskID: 15, TaskName: 'Quality design', StartDate: new Date('04/04/2019'), Duration: 3, Predecessor: '12' },\n { TaskID: 16, TaskName: 'Define reliability', StartDate: new Date('04/04/2019'), Duration: 2, Progress: 30, Predecessor: '15' },\n { TaskID: 17, TaskName: 'Identifying raw materials', StartDate: new Date('04/04/2019'), Duration: 2, Predecessor: '15' },\n {\n TaskID: 18,\n TaskName: 'Define cost plan',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 19, TaskName: 'Manufacturing cost', StartDate: new Date('04/04/2019'),\n Duration: 2, Progress: 30, Predecessor: '17'\n },\n { TaskID: 20, TaskName: 'Selling cost', StartDate: new Date('04/04/2019'), Duration: 2, Predecessor: '17' }\n ]\n },\n {\n TaskID: 21,\n TaskName: 'Development of the final design',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 22, TaskName: 'Defining dimensions and package volume', StartDate: new Date('04/04/2019'),\n Duration: 2, Progress: 30, Predecessor: '19,20'\n },\n {\n TaskID: 23, TaskName: 'Develop design to meet industry standards', StartDate: new Date('04/04/2019'),\n Duration: 2, Predecessor: '22'\n },\n { TaskID: 24, TaskName: 'Include all the details', StartDate: new Date('04/04/2019'), Duration: 3, Predecessor: '23' }\n ]\n },\n {\n TaskID: 25, TaskName: 'CAD computer-aided design', StartDate: new Date('04/04/2019'),\n Duration: 3, Progress: 30, Predecessor: '24'\n },\n { TaskID: 26, TaskName: 'CAM computer-aided manufacturing', StartDate: new Date('04/04/2019'), Duration: 3, Predecessor: '25' },\n {\n TaskID: 27, TaskName: 'Design complete', StartDate: new Date('04/04/2019'), Duration: 0, Predecessor: '26' \n }\n\n ]\n },\n { TaskID: 28, TaskName: 'Prototype testing', StartDate: new Date('04/04/2019'), Duration: 4, Progress: 30, Predecessor: '27' },\n { TaskID: 29, TaskName: 'Include feedback', StartDate: new Date('04/04/2019'), Duration: 4, Predecessor: '28ss', Indicators: [\n {\n 'date': new Date('05/24/2019'),\n 'name': 'Production phase',\n 'tooltip': 'Production phase completed',\n 'iconClass': 'okIcon e-icons'\n }\n ], },\n { TaskID: 30, TaskName: 'Manufacturing', StartDate: new Date('04/04/2019'), Duration: 5, Progress: 30, Predecessor: '28,29' },\n { TaskID: 31, TaskName: 'Assembling materials to finsihed goods', StartDate: new Date('04/04/2019'), Duration: 5, Predecessor: '30' },\n {\n TaskID: 32,\n TaskName: 'Feedback and testing',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 33, TaskName: 'Internal testing and feedback', StartDate: new Date('04/04/2019'),\n Duration: 3, Progress: 45, Predecessor: '31'\n },\n {\n TaskID: 34, TaskName: 'Customer testing and feedback', StartDate: new Date('04/04/2019'),\n Duration: 3, Progress: 50, Predecessor: '33'\n }\n ]\n },\n {\n TaskID: 35,\n TaskName: 'Final product development',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 36, TaskName: 'Important improvements', StartDate: new Date('04/04/2019'),\n Duration: 4, Progress: 30, Predecessor: '34'\n },\n {\n TaskID: 37, TaskName: 'Address any unforeseen issues', StartDate: new Date('04/04/2019'),\n Duration: 4, Progress: 30, Predecessor: '36ss',\n Indicators: [\n {\n 'date': new Date('06/21/2019'),\n 'name': 'Sales and marketing',\n 'tooltip': 'Sales and marketing',\n 'iconClass': 'description e-icons'\n }\n ],\n }\n ]\n },\n {\n TaskID: 38,\n TaskName: 'Final product',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n { TaskID: 39, TaskName: 'Branding product', StartDate: new Date('04/04/2019'), Duration: 4, Predecessor: '37' },\n {\n TaskID: 40, TaskName: 'Marketing and presales', StartDate: new Date('04/04/2019'),\n Duration: 4, Progress: 30, Predecessor: '39'\n }\n ]\n }\n];\n\nexport let WorkingTimeRangeData: Object[] = [\n {\n TaskID: 1,\n TaskName: 'Product concept',\n StartDate: new Date('04/02/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n { TaskID: 2, TaskName: 'Defining the product and its usage', StartDate: new Date('04/02/2019'), Duration: 3, Progress: 30 },\n { TaskID: 3, TaskName: 'Defining target audience', StartDate: new Date('04/02/2019'), Duration: 3 },\n {\n TaskID: 4, TaskName: 'Prepare product sketch and notes', StartDate: new Date('04/02/2019'), Duration: 2,\n Predecessor: '2', Progress: 30\n },\n ]\n },\n {\n TaskID: 5, TaskName: 'Concept approval', StartDate: new Date('04/02/2019'), Duration: 0, Predecessor: '3,4',\n Indicators: [\n {\n 'date': new Date('04/10/2019'),\n 'name': '#briefing',\n 'title': 'Product concept breifing',\n }\n ]\n },\n {\n TaskID: 6,\n TaskName: 'Market research',\n StartDate: new Date('04/02/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 7,\n TaskName: 'Demand analysis',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 8, TaskName: 'Customer strength', StartDate: new Date('04/04/2019'), Duration: 4,\n Predecessor: '5', Progress: 30\n },\n { TaskID: 9, TaskName: 'Market opportunity analysis', StartDate: new Date('04/04/2019'), Duration: 4, Predecessor: '5' }\n ]\n },\n {\n TaskID: 10, TaskName: 'Competitor analysis', StartDate: new Date('04/04/2019'), Duration: 4,\n Predecessor: '7, 8', Progress: 30\n },\n { TaskID: 11, TaskName: 'Product strength analsysis', StartDate: new Date('04/04/2019'), Duration: 4, Predecessor: '9' },\n {\n TaskID: 12, TaskName: 'Research complete', StartDate: new Date('04/04/2019'), Duration: 0, Predecessor: '10',\n Indicators: [\n {\n 'date': new Date('04/20/2019'),\n 'name': '#meeting',\n 'title': '1st board of directors meeting',\n }\n ]\n }\n ]\n },\n {\n TaskID: 13,\n TaskName: 'Product design and development',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 14, TaskName: 'Functionality design', StartDate: new Date('04/04/2019'),\n Duration: 3, Progress: 30, Predecessor: '12'\n },\n { TaskID: 15, TaskName: 'Quality design', StartDate: new Date('04/04/2019'), Duration: 3, Predecessor: '12' },\n { TaskID: 16, TaskName: 'Define reliability', StartDate: new Date('04/04/2019'), Duration: 2, Progress: 30, Predecessor: '15' },\n { TaskID: 17, TaskName: 'Identifying raw materials', StartDate: new Date('04/04/2019'), Duration: 2, Predecessor: '15' },\n {\n TaskID: 18,\n TaskName: 'Define cost plan',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 19, TaskName: 'Manufacturing cost', StartDate: new Date('04/04/2019'),\n Duration: 2, Progress: 30, Predecessor: '17'\n },\n { TaskID: 20, TaskName: 'Selling cost', StartDate: new Date('04/04/2019'), Duration: 2, Predecessor: '17' }\n ]\n },\n {\n TaskID: 21,\n TaskName: 'Development of the final design',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 22, TaskName: 'Defining dimensions and package volume', StartDate: new Date('04/04/2019'),\n Duration: 2, Progress: 30, Predecessor: '19,20'\n },\n {\n TaskID: 23, TaskName: 'Develop design to meet industry standards', StartDate: new Date('04/04/2019'),\n Duration: 2, Predecessor: '22'\n },\n { TaskID: 24, TaskName: 'Include all the details', StartDate: new Date('04/04/2019'), Duration: 3, Predecessor: '23' }\n ]\n },\n {\n TaskID: 25, TaskName: 'CAD computer-aided design', StartDate: new Date('04/04/2019'),\n Duration: 3, Progress: 30, Predecessor: '24'\n },\n { TaskID: 26, TaskName: 'CAM computer-aided manufacturing', StartDate: new Date('04/04/2019'), Duration: 3, Predecessor: '25' },\n {\n TaskID: 27, TaskName: 'Design complete', StartDate: new Date('04/04/2019'), Duration: 0, Predecessor: '26' \n }\n\n ]\n },\n { TaskID: 28, TaskName: 'Prototype testing', StartDate: new Date('04/04/2019'), Duration: 4, Progress: 30, Predecessor: '27' },\n { TaskID: 29, TaskName: 'Include feedback', StartDate: new Date('04/04/2019'), Duration: 4, Predecessor: '28ss', Indicators: [\n {\n 'date': new Date('05/24/2019'),\n 'name': 'Production phase',\n 'tooltip': 'Production phase completed',\n 'iconClass': 'okIcon e-icons'\n }\n ], },\n { TaskID: 30, TaskName: 'Manufacturing', StartDate: new Date('04/04/2019'), Duration: 5, Progress: 30, Predecessor: '28,29' },\n { TaskID: 31, TaskName: 'Assembling materials to finsihed goods', StartDate: new Date('04/04/2019'), Duration: 5, Predecessor: '30' },\n {\n TaskID: 32,\n TaskName: 'Feedback and testing',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 33, TaskName: 'Internal testing and feedback', StartDate: new Date('04/04/2019'),\n Duration: 3, Progress: 45, Predecessor: '31'\n },\n {\n TaskID: 34, TaskName: 'Customer testing and feedback', StartDate: new Date('04/04/2019'),\n Duration: 3, Progress: 50, Predecessor: '33'\n }\n ]\n },\n {\n TaskID: 35,\n TaskName: 'Final product development',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 36, TaskName: 'Important improvements', StartDate: new Date('04/04/2019'),\n Duration: 4, Progress: 30, Predecessor: '34'\n },\n {\n TaskID: 37, TaskName: 'Address any unforeseen issues', StartDate: new Date('04/04/2019'),\n Duration: 4, Progress: 30, Predecessor: '36ss'\n }\n ]\n },\n {\n TaskID: 38,\n TaskName: 'Final product',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n { TaskID: 39, TaskName: 'Branding product', StartDate: new Date('04/04/2019'), Duration: 4, Predecessor: '37' },\n {\n TaskID: 40, TaskName: 'Marketing and presales', StartDate: new Date('04/04/2019'),\n Duration: 4, Progress: 30, Predecessor: '39'\n }\n ]\n }\n];\n\nexport let templateData: Object[] = [\n {\n TaskID: 1,\n TaskName: 'Product concept',\n StartDate: new Date('04/02/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n { TaskID: 2, TaskName: 'Defining the product and its usage', StartDate: new Date('04/02/2019'), Duration: 3, Progress: 30, resources: [2] },\n { TaskID: 3, TaskName: 'Defining target audience', StartDate: new Date('04/02/2019'), Duration: 3, resources: [3]},\n { TaskID: 4, TaskName: 'Prepare product sketch and notes', StartDate: new Date('04/02/2019'), Duration: 2, Predecessor: '2', Progress: 30, resources: [4] }]\n },\n {\n TaskID: 5, TaskName: 'Concept approval', StartDate: new Date('04/02/2019'), Duration: 0, Predecessor: '3,4', resources: [1]\n },\n {\n TaskID: 6,\n TaskName: 'Market research',\n StartDate: new Date('04/02/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 7,\n TaskName: 'Demand analysis',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n { TaskID: 8, TaskName: 'Customer strength', StartDate: new Date('04/04/2019'), Duration: 4, Predecessor: '5', Progress: 30, resources: [5] },\n { TaskID: 9, TaskName: 'Market opportunity analysis', StartDate: new Date('04/04/2019'), Duration: 4, Predecessor: '5', resources: [6] }\n ]\n },\n { TaskID: 10, TaskName: 'Competitor analysis', StartDate: new Date('04/04/2019'), Duration: 4, Predecessor: '7, 8', Progress: 30, resources: [4] },\n { TaskID: 11, TaskName: 'Product strength analsysis', StartDate: new Date('04/04/2019'), Duration: 4, Predecessor: '9', resources: [8] },\n ]\n }\n \n]\n\nexport let zoomingData: Object[] = [\n {\n TaskID: 1,\n TaskName: 'Product concept',\n StartDate: new Date('04/02/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n { TaskID: 2, TaskName: 'Defining the product and its usage', StartDate: new Date('04/02/2019'), Duration: 3, Progress: 30 },\n { TaskID: 3, TaskName: 'Defining target audience', StartDate: new Date('04/02/2019'), Duration: 3 },\n {\n TaskID: 4, TaskName: 'Prepare product sketch and notes', StartDate: new Date('04/02/2019'), Duration: 2,\n Predecessor: '2', Progress: 30\n },\n ]\n },\n {\n TaskID: 5, TaskName: 'Concept approval', StartDate: new Date('04/02/2019'), Duration: 0, Predecessor: '3,4',\n Indicators: [\n {\n 'date': new Date('04/10/2019'),\n 'name': '#briefing',\n 'title': 'Product concept breifing',\n }\n ]\n },\n {\n TaskID: 6,\n TaskName: 'Market research',\n StartDate: new Date('04/02/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 7,\n TaskName: 'Demand analysis',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 8, TaskName: 'Customer strength', StartDate: new Date('04/04/2019'), Duration: 4,\n Predecessor: '5', Progress: 30\n },\n { TaskID: 9, TaskName: 'Market opportunity analysis', StartDate: new Date('04/04/2019'), Duration: 4, Predecessor: '5' }\n ]\n },\n {\n TaskID: 10, TaskName: 'Competitor analysis', StartDate: new Date('04/04/2019'), Duration: 4,\n Predecessor: '7, 8', Progress: 30\n },\n { TaskID: 11, TaskName: 'Product strength analsysis', StartDate: new Date('04/04/2019'), Duration: 4, Predecessor: '9' },\n {\n TaskID: 12, TaskName: 'Research complete', StartDate: new Date('04/04/2019'), Duration: 1, Predecessor: '10',\n Indicators: [\n {\n 'date': new Date('04/20/2019'),\n 'name': '#meeting',\n 'title': '1st board of directors meeting',\n }\n ]\n }\n ]\n }\n]\n\nexport let editingResources: Object[] = [\n { resourceId: 1, resourceName: 'Martin Tamer' },\n { resourceId: 2, resourceName: 'Rose Fuller' },\n { resourceId: 3, resourceName: 'Margaret Buchanan' },\n { resourceId: 4, resourceName: 'Fuller King' },\n { resourceId: 5, resourceName: 'Davolio Fuller' },\n { resourceId: 6, resourceName: 'Van Jack' },\n { resourceId: 7, resourceName: 'Fuller Buchanan' },\n { resourceId: 8, resourceName: 'Jack Davolio' },\n { resourceId: 9, resourceName: 'Tamer Vinet' },\n { resourceId: 10, resourceName: 'Vinet Fuller' },\n { resourceId: 11, resourceName: 'Bergs Anton' },\n { resourceId: 12, resourceName: 'Construction Supervisor' }\n];\n\nexport let editingData: Object[] = [\n {\n TaskID: 1,\n TaskName: 'Project initiation',\n StartDate: new Date('04/02/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 2, TaskName: 'Identify site location', StartDate: new Date('04/02/2019'), Duration: 0,\n Progress: 30, resources: [1], info: 'Measure the total property area alloted for construction'\n },\n {\n TaskID: 3, TaskName: 'Perform Soil test', StartDate: new Date('04/02/2019'), Duration: 4, Predecessor: '2',\n resources: [2, 3, 5], info: 'Obtain an engineered soil test of lot where construction is planned.' +\n 'From an engineer or company specializing in soil testing'\n },\n { TaskID: 4, TaskName: 'Soil test approval', StartDate: new Date('04/02/2019'), Duration: 0, Predecessor: '3', Progress: 30 },\n ]\n },\n {\n TaskID: 5,\n TaskName: 'Project estimation',\n StartDate: new Date('04/02/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 6, TaskName: 'Develop floor plan for estimation', StartDate: new Date('04/04/2019'),\n Duration: 3, Predecessor: '4', Progress: 30, resources: 4,\n info: 'Develop floor plans and obtain a materials list for estimations'\n },\n {\n TaskID: 7, TaskName: 'List materials', StartDate: new Date('04/04/2019'),\n Duration: 3, Predecessor: '6', resources: [4, 8], info: ''\n },\n {\n TaskID: 8, TaskName: 'Estimation approval', StartDate: new Date('04/04/2019'),\n Duration: 0, Predecessor: '7', resources: [12, 5], info: ''\n }\n ]\n },\n {\n TaskID: 9, TaskName: 'Sign contract', StartDate: new Date('04/04/2019'), Duration: 1,\n Predecessor: '8', Progress: 30, resources: [12],\n info: 'If required obtain approval from HOA (homeowners association) or ARC (architectural review committee)'\n },\n {\n TaskID: 10,\n TaskName: 'Project approval and kick off',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n Duration: 0,\n Predecessor: '9'\n },\n {\n TaskID: 11,\n TaskName: 'Site work',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 12, TaskName: 'Clear the building site', StartDate: new Date('04/04/2019'),\n Duration: 2, Progress: 30, Predecessor: '9', resources: [6, 7],\n info: 'Clear the building site (demolition of existing home if necessary)'\n },\n {\n TaskID: 13, TaskName: 'Install temporary power service', StartDate: new Date('04/04/2019'),\n Duration: 2, Predecessor: '12', resources: [6, 7], info: ''\n },\n ]\n },\n {\n TaskID: 14,\n TaskName: 'Foundation',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 15, TaskName: 'Excavate for foundations', StartDate: new Date('04/04/2019'),\n Duration: 3, Progress: 30, Predecessor: '13', resources: [2, 8],\n info: 'Excavate the foundation and dig footers (Scope of work is dependent of foundation designed by engineer)'\n },\n {\n TaskID: 16, TaskName: 'Dig footer', StartDate: new Date('04/04/2019'),\n Duration: 2, Predecessor: '15FF', resources: [8], info: ''\n },\n {\n TaskID: 17, TaskName: 'Install plumbing grounds', StartDate: new Date('04/04/2019'), Duration: 4,\n Progress: 30, Predecessor: '15', resources: [9], info: ''\n },\n {\n TaskID: 18, TaskName: 'Pour a foundation and footer with concrete', StartDate: new Date('04/04/2019'),\n Duration: 1, Predecessor: '17', resources: [8, 9, 10], info: ''\n },\n {\n TaskID: 19, TaskName: 'Cure basement walls', StartDate: new Date('04/04/2019'), Duration: 4,\n Progress: 30, Predecessor: '18', resources: [10], info: ''\n },\n ]\n },\n {\n TaskID: 20,\n TaskName: 'Framing',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 21, TaskName: 'Add load-bearing structure', StartDate: new Date('04/04/2019'),\n Duration: 3, Progress: 30, Predecessor: '19', resources: [4, 5],\n info: 'Build the main load-bearing structure out of thick pieces of wood and' +\n 'possibly metal I-beams for large spans with few supports'\n },\n {\n TaskID: 22, TaskName: 'Install floor joists', StartDate: new Date('04/04/2019'),\n Duration: 3, Predecessor: '21', resources: [2, 3], info: 'Add floor and ceiling joists and install subfloor panels'\n },\n {\n TaskID: 23, TaskName: 'Add ceiling joists', StartDate: new Date('04/04/2019'),\n Duration: 3, Progress: 30, Predecessor: '22SS', resources: [5], info: ''\n },\n {\n TaskID: 24, TaskName: 'Install subfloor panels', StartDate: new Date('04/04/2019'),\n Duration: 3, Predecessor: '23', resources: [8, 9]\n },\n {\n TaskID: 25, TaskName: 'Frame floor walls', StartDate: new Date('04/04/2019'), Duration: 3,\n Progress: 30, Predecessor: '24', resources: [10], info: ''\n },\n {\n TaskID: 26, TaskName: 'Frame floor decking', StartDate: new Date('04/04/2019'), Duration: 3,\n Progress: 30, Predecessor: '25SS', resources: [4, 8], info: ''\n },\n ]\n },\n {\n TaskID: 27,\n TaskName: 'Exterior finishing',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 28, TaskName: 'Cover outer walls and roof in OSB', StartDate: new Date('04/04/2019'),\n Duration: 3, Progress: 30, Predecessor: '26', resources: [2, 8],\n info: 'Cover outer walls and roof in OSB or plywood and a water-resistive barrier'\n },\n {\n TaskID: 29, TaskName: 'Add water resistive barrier', StartDate: new Date('04/04/2019'),\n Duration: 3, Predecessor: '28', resources: [1, 10],\n info: 'Cover the walls with siding, typically vinyl, wood, or brick veneer but possibly stone or other materials'\n },\n {\n TaskID: 30, TaskName: 'Install roof shingles', StartDate: new Date('04/04/2019'), Duration: 3,\n Progress: 30, Predecessor: '29', resources: [8, 9], info: 'Install roof shingles or other covering for flat roof'\n },\n { TaskID: 31, TaskName: 'Install windows', StartDate: new Date('04/04/2019'), Duration: 3, Predecessor: '29', resources: 7 },\n ]\n },\n {\n TaskID: 32,\n TaskName: 'Utilities',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 33, TaskName: 'Install internal plumbing', StartDate: new Date('04/04/2019'), Duration: 3,\n Progress: 30, Predecessor: '26', resources: [1, 10]\n },\n {\n TaskID: 34, TaskName: 'Install HVAC', StartDate: new Date('04/04/2019'), Duration: 3, Predecessor: '33',\n resources: [4, 9], info: 'Add internal plumbing, HVAC, electrical, and natural gas utilities'\n },\n {\n TaskID: 35, TaskName: 'Electrical utilities', StartDate: new Date('04/04/2019'), Duration: 3,\n Progress: 30, Predecessor: '34'\n },\n {\n TaskID: 36, TaskName: 'Natural gas utilities', StartDate: new Date('04/04/2019'), Duration: 3,\n Predecessor: '35', resources: 11\n },\n {\n TaskID: 37, TaskName: 'Install bathroom fixtures', StartDate: new Date('04/04/2019'), Duration: 3,\n Progress: 30, Predecessor: '35', resources: [3, 7]\n },\n ],\n info: 'Building inspector visits if necessary to approve utilities and framing'\n },\n {\n TaskID: 38,\n TaskName: 'Interior finsihing',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 39, TaskName: 'Install insulation', StartDate: new Date('04/04/2019'),\n Duration: 3, Progress: 30, Predecessor: '37', resources: [1, 8], info: 'Frame interior walls with wooden 2×4s'\n },\n {\n TaskID: 40, TaskName: 'Install drywall panels', StartDate: new Date('04/04/2019'), Duration: 3,\n Predecessor: '39', resources: 5,\n info: 'Install insulation and interior drywall panels (cementboard for wet areas) and to complete walls and ceilings'\n },\n {\n TaskID: 41, TaskName: 'Spackle', StartDate: new Date('04/04/2019'), Duration: 3,\n Progress: 30, Predecessor: '40', resources: 10\n },\n {\n TaskID: 42, TaskName: 'Apply primer', StartDate: new Date('04/04/2019'), Duration: 3,\n Predecessor: '41', resources: [10, 11]\n },\n {\n TaskID: 43, TaskName: 'Paint wall and ceilings', StartDate: new Date('04/04/2019'),\n Duration: 3, Progress: 30, Predecessor: '42', resources: [2, 9]\n },\n {\n TaskID: 44, TaskName: 'Install modular kitchen', StartDate: new Date('04/04/2019'),\n Duration: 3, Progress: 30, Predecessor: '43', resources: [5, 7]\n },\n ]\n },\n {\n TaskID: 45,\n TaskName: 'Flooring',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 46, TaskName: 'Tile kitchen, bathroom and entry walls', StartDate: new Date('04/04/2019'),\n Duration: 3, Progress: 30, Predecessor: '44', resources: [4, 9, 3],\n info: 'Additional tiling on top of cementboard for wet areas, such as the bathroom and kitchen backsplash'\n },\n {\n TaskID: 47, TaskName: 'Tile floor', StartDate: new Date('04/04/2019'), Duration: 3, Predecessor: '46SS',\n resources: [2, 8], info: 'Installation of final floor covering, such as floor tile, carpet, or wood flooring'\n },\n ]\n },\n {\n TaskID: 48,\n TaskName: 'Final Acceptance',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 49, TaskName: 'Final inspection', StartDate: new Date('04/04/2019'), Duration: 2,\n Progress: 30, Predecessor: '47', resources: 12, info: 'Ensure the contracted items'\n },\n {\n TaskID: 50, TaskName: 'Cleanup for occupancy', StartDate: new Date('04/04/2019'), Duration: 2,\n Predecessor: '49', resources: [1, 5], info: 'Installation of major appliances'\n },\n {\n TaskID: 51, TaskName: 'Property handover', StartDate: new Date('04/04/2019'), Duration: 0,\n Predecessor: '50', info: 'Ending the contract'\n },\n ]\n },\n];\n\nexport let filteredData: Object[] = [\n {\n TaskID: 1,\n TaskName: 'Launch and flight to lunar orbit',\n StartDate: new Date('07/16/1969'),\n subtasks: [\n {\n TaskID: 2, TaskName: 'Apollo 11 blasts off from launch pad', StartDate: new Date('07/16/1969 03:32:00 AM'),\n EndDate: new Date('07/16/1969 03:32:00 AM'), Duration: 0,\n },\n {\n TaskID: 3, TaskName: 'Entry to earth’s orbit', StartDate: new Date('07/16/1969 03:32:00 AM'),\n EndDate: new Date('07/16/1969 03:44:00 AM'), Predecessor: '2FS'\n },\n {\n TaskID: 4, TaskName: 'Travelling in earth’s orbit', StartDate: new Date('07/16/1969 03:44:00 AM'),\n EndDate: new Date('07/16/1969 04:22:13 AM'), Predecessor: '3FS'\n },\n {\n TaskID: 5, TaskName: 'Trajectory change toward the Moon', StartDate: new Date('07/16/1969 04:22:13 AM'),\n EndDate: new Date('07/16/1969 04:52:00 AM'), Predecessor: '4FS'\n },\n {\n TaskID: 6, TaskName: 'extraction maneuver performed', StartDate: new Date('07/16/1969 04:52:00 AM'),\n EndDate: new Date('07/16/1969 04:52:00 AM'), Predecessor: '5FS'\n },\n {\n TaskID: 7, TaskName: 'Travelling toward moon and entering into lunar orbit', StartDate: new Date('07/16/1969 04:52:00 AM'),\n EndDate: new Date('07/16/1969 04:21:50 PM'), Predecessor: '6FS'\n },\n {\n TaskID: 8, TaskName: 'Midcourse correction, sharpening the course and testing the engine',\n StartDate: new Date('07/16/1969 11:22:00 PM'), EndDate: new Date('07/17/1969 05:21:50 AM')\n },\n {\n TaskID: 9, TaskName: 'Reached half the distance spanning between earth and moon',\n StartDate: new Date('07/17/1969 05:22:00 AM'), EndDate: new Date('07/17/1969 08:00:50 PM')\n },\n {\n TaskID: 10, TaskName: 'Reached 3/4th distance spanning between earth and moon',\n StartDate: new Date('07/17/1969 8:02:00 PM'), EndDate: new Date('07/18/1969 04:21:50 PM')\n },\n {\n TaskID: 11, TaskName: 'Reached distance 45000 miles from moon',\n StartDate: new Date('07/18/1969 11:22:00 PM'), EndDate: new Date('07/19/1969 05:21:50 PM')\n },\n ]\n },\n {\n TaskID: 12,\n TaskName: 'Lunar descent',\n StartDate: new Date('07/19/1969 05:21:50 PM'),\n subtasks: [\n {\n TaskID: 13, TaskName: 'Lunar orbiting (30 orbits)', StartDate: new Date('07/19/1969 05:21:50 PM'),\n EndDate: new Date('07/20/1969 12:52:00 AM'), Predecessor: '11FS'\n },\n {\n TaskID: 14, TaskName: 'Landing site identified', StartDate: new Date('07/20/1969 12:52:00 AM'),\n EndDate: new Date('07/20/1969 12:52:00 AM'), Predecessor: '13FS'\n },\n {\n TaskID: 15, TaskName: 'Eagle separated from Columbia.', StartDate: new Date('07/20/1969 05:44:00 PM'),\n EndDate: new Date('07/20/1969 05:44:00 PM')\n },\n {\n TaskID: 16, TaskName: 'Eagle’s decent to Moon', StartDate: new Date('07/20/1969 05:44:00 PM'),\n EndDate: new Date('07/20/1969 08:16:40 PM'), Predecessor: '15FS'\n }\n ]\n },\n {\n TaskID: 17,\n TaskName: 'Landing',\n StartDate: new Date('07/20/1969 08:17:40 PM'),\n subtasks: [\n {\n TaskID: 18, TaskName: 'Eagle’s touch down', StartDate: new Date('07/20/1969 08:17:40 PM'),\n EndDate: new Date('07/20/1969 08:17:40 PM')\n },\n {\n TaskID: 19, TaskName: 'Radio communication and performing post landing checklist',\n StartDate: new Date('07/20/1969 08:17:40 PM'), EndDate: new Date('07/20/1969 11:43:00 PM'), Predecessor: '18FS'\n },\n {\n TaskID: 20, TaskName: 'Preparations for EVA (Extra Vehicular Activity)',\n StartDate: new Date('07/20/1969 11:43:00 PM'), EndDate: new Date('07/21/1969 02:39:33 AM'), Predecessor: '19FS'\n },\n {\n TaskID: 21, TaskName: 'Hatch open and climbing down the moon', StartDate: new Date('07/21/1969 02:39:33 AM'),\n EndDate: new Date('07/21/1969 02:56:15 AM'), Predecessor: '20FS'\n },\n {\n TaskID: 22, TaskName: 'Armstrong stepped down on the moon', StartDate: new Date('07/21/1969 02:56:15 AM'),\n EndDate: new Date('07/21/1969 03:11:00 AM'), Predecessor: '21FS'\n },\n ]\n },\n {\n TaskID: 23,\n TaskName: 'Lunar surface operations',\n StartDate: new Date('07/21/1969'),\n subtasks: [\n {\n TaskID: 24, TaskName: 'Soil sample collections', StartDate: new Date('07/21/1969 02:56:15 AM'),\n EndDate: new Date('07/21/1969 03:11:00 AM')\n },\n {\n TaskID: 25, TaskName: 'Aldrin joined armstrong', StartDate: new Date('07/21/1969 03:11:00 AM'),\n EndDate: new Date('07/21/1969 03:41:00 AM'), Predecessor: '24FS'\n },\n {\n TaskID: 26, TaskName: 'planted the lunar flag assembly', StartDate: new Date('07/21/1969 03:41:00 AM'),\n EndDate: new Date('07/21/1969 03:46:00 AM'), Predecessor: '25FS'\n },\n {\n TaskID: 27, TaskName: 'President richard nixon’s telephone-radio transmission ',\n StartDate: new Date('07/21/1969 03:48:00 AM'), EndDate: new Date('07/21/1969 03:51:00 AM')\n },\n {\n TaskID: 28, TaskName: 'Collect rock samples, photos and other mission controls',\n StartDate: new Date('07/21/1969 03:52:00 AM'), EndDate: new Date('07/21/1969 04:50:00 AM')\n },\n ]\n },\n {\n TaskID: 29,\n TaskName: 'Lunar ascent',\n StartDate: new Date('07/21/1969'),\n subtasks: [\n {\n TaskID: 30, TaskName: 'Climbing the eagle to ascent', StartDate: new Date('07/21/1969 04:51:00 AM'),\n EndDate: new Date('07/21/1969 05:00:00 AM')\n },\n {\n TaskID: 31, TaskName: 'Hatch closing', StartDate: new Date('07/21/1969 05:01:00 AM'),\n EndDate: new Date('07/21/1969 05:01:00 AM'), Predecessor: '30FS'\n },\n {\n TaskID: 32, TaskName: 'Final housekeeping', StartDate: new Date('07/21/1969 05:02:00 AM'),\n EndDate: new Date('07/21/1969 08:00:00 AM')\n },\n {\n TaskID: 33, TaskName: 'Resting of astronauts', StartDate: new Date('07/21/1969 08:00:00 AM'),\n EndDate: new Date('07/21/1969 03:00:00 PM'), Predecessor: '32FS'\n },\n {\n TaskID: 34, TaskName: 'Preparation for lift off and ascent engine started', StartDate: new Date('07/21/1969 03:00:00 PM'),\n EndDate: new Date('07/21/1969 05:54:00 PM'), Predecessor: '33FS'\n },\n {\n TaskID: 35, TaskName: 'Eagle lifted off', StartDate: new Date('07/21/1969 05:54:00 PM'),\n EndDate: new Date('07/21/1969 05:54:00 PM'), Predecessor: '34FS'\n },\n {\n TaskID: 36, TaskName: 'Eagle’s travel toward Columbia', StartDate: new Date('07/21/1969 05:54:00 PM'),\n EndDate: new Date('07/21/1969 09:23:00 PM'), Predecessor: '35FS'\n },\n ]\n },\n {\n TaskID: 37,\n TaskName: 'Return',\n StartDate: new Date('07/21/1969 09:24:00 PM'),\n subtasks: [\n {\n TaskID: 38, TaskName: 'Eagle docked with columbia', StartDate: new Date('07/21/1969 09:24:00 PM'),\n EndDate: new Date('07/21/1969 09:35:00 PM')\n },\n {\n TaskID: 39, TaskName: 'Eagle’s ascent stage jettisoned into lunar orbit', StartDate: new Date('07/21/1969 09:35:00 PM'),\n EndDate: new Date('07/21/1969 11:41:00 PM'), Predecessor: '38FS'\n },\n ]\n },\n {\n TaskID: 40,\n TaskName: 'Decent toward earth and Splashdown',\n StartDate: new Date('07/21/1969'),\n subtasks: [\n {\n TaskID: 41, TaskName: 'Spacecraft reaches 1/4th distance spanning between moon and earth',\n StartDate: new Date('07/21/1969 11:50:00 PM'), EndDate: new Date('07/22/1969 04:40:00 PM')\n },\n {\n TaskID: 42, TaskName: 'Spacecraft travels to midway point of journey',\n StartDate: new Date('07/22/1969 04:40:00 PM'), EndDate: new Date('07/23/1969 04:00:00 PM'), Predecessor: '41FS'\n },\n {\n TaskID: 43, TaskName: 'Spacecraft travels to 3/4th point of journey', StartDate: new Date('07/23/1969 04:40:00 PM'),\n EndDate: new Date('07/24/1969 10:00:00 AM'), Predecessor: '42FS'\n },\n {\n TaskID: 44, TaskName: 'Crew prepares for splashdown', StartDate: new Date('07/24/1969 11:47:00 AM'),\n EndDate: new Date('07/24/1969 04:20:00 PM')\n },\n {\n TaskID: 45, TaskName: 'Command and service modules separates', StartDate: new Date('07/24/1969 04:20:00 PM'),\n EndDate: new Date('07/24/1969 04:35:00 PM'), Predecessor: '44FS'\n },\n {\n TaskID: 46, TaskName: 'Command module re-enters the Earth’s atmosphere', StartDate: new Date('07/24/1969 04:35:00 PM'),\n EndDate: new Date('07/24/1969 04:50:00 PM'), Predecessor: '45FS'\n },\n {\n TaskID: 47, TaskName: 'Spacecraft splashes near USS hornet', StartDate: new Date('07/24/1969 04:51:00 PM'),\n EndDate: new Date('07/24/1969 04:51:00 PM')\n },\n ]\n }\n];\n\nexport let projectResources: Object[] = [\n { resourceId: 1, resourceName: 'Project Manager' },\n { resourceId: 2, resourceName: 'Software Analyst' },\n { resourceId: 3, resourceName: 'Developer' },\n { resourceId: 4, resourceName: 'Testing Engineer' }\n];\n\nexport let projectData: Object[] = [\n {\n taskID: 1,\n taskName: 'Project schedule',\n startDate: new Date('02/08/2019'),\n endDate: new Date('03/15/2019'),\n subtasks: [\n {\n taskID: 2,\n taskName: 'Planning',\n startDate: new Date('02/08/2019'),\n endDate: new Date('02/12/2019'),\n subtasks: [\n {\n taskID: 3, taskName: 'Plan timeline', startDate: new Date('02/08/2019'),\n endDate: new Date('02/12/2019'), duration: 5, progress: '100', resourceId: [1]\n },\n {\n taskID: 4, taskName: 'Plan budget', startDate: new Date('02/08/2019'),\n endDate: new Date('02/12/2019'), duration: 5, progress: '100', resourceId: [1]\n },\n {\n taskID: 5, taskName: 'Allocate resources', startDate: new Date('02/08/2019'),\n endDate: new Date('02/12/2019'), duration: 5, progress: '100', resourceId: [1]\n },\n {\n taskID: 6, taskName: 'Planning complete', startDate: new Date('02/10/2019'),\n endDate: new Date('02/10/2019'), duration: 0, predecessor: '3FS,4FS,5FS'\n }\n ]\n }, {\n taskID: 7,\n taskName: 'Design',\n startDate: new Date('02/15/2019'),\n endDate: new Date('02/19/2019'),\n subtasks: [\n {\n taskID: 8, taskName: 'Software specification', startDate: new Date('02/15/2019'),\n endDate: new Date('02/17/2019'), duration: 3, progress: '60', predecessor: '6FS', resourceId: [2]\n },\n {\n taskID: 9, taskName: 'Develop prototype', startDate: new Date('02/15/2019'),\n endDate: new Date('02/17/2019'), duration: 3, progress: '100', predecessor: '6FS', resourceId: [3]\n },\n {\n taskID: 10, taskName: 'Get approval from customer', startDate: new Date('02/18/2019'),\n endDate: new Date('02/19/2019'), duration: 2, progress: '100', predecessor: '9FS', resourceId: [1]\n },\n {\n taskID: 11, taskName: 'Design complete', startDate: new Date('02/17/2019'),\n endDate: new Date('02/17/2019'), duration: 0, predecessor: '10FS'\n }\n ]\n },\n {\n taskID: 12,\n taskName: 'Implementation phase',\n startDate: new Date('02/25/2019'),\n endDate: new Date('03/05/2019'),\n subtasks: [\n {\n taskID: 13,\n taskName: 'Phase 1',\n startDate: new Date('02/25/2019'),\n endDate: new Date('03/07/2019'),\n subtasks: [{\n taskID: 14,\n taskName: 'Implementation module 1',\n startDate: new Date('02/25/2019'),\n endDate: new Date('03/07/2019'),\n subtasks: [\n {\n taskID: 15, taskName: 'Development task 1', startDate: new Date('02/22/2019'),\n endDate: new Date('02/24/2019'), duration: 3, progress: '50', predecessor: '11FS', resourceId: [3]\n },\n {\n taskID: 16, taskName: 'Development task 2', startDate: new Date('02/22/2019'),\n endDate: new Date('02/24/2019'), duration: 3, progress: '50', predecessor: '11FS', resourceId: [3]\n },\n {\n taskID: 17, taskName: 'Testing', startDate: new Date('02/25/2019'),\n endDate: new Date('02/26/2019'), duration: 2, progress: '0', predecessor: '15FS,16FS', resourceId: [4]\n },\n {\n taskID: 18, taskName: 'Bug fix', startDate: new Date('03/01/2019'),\n endDate: new Date('03/02/2019'), duration: 2, progress: '0', predecessor: '17FS', resourceId: [3]\n },\n {\n taskID: 19, taskName: 'Customer review meeting', startDate: new Date('03/03/2019'),\n endDate: new Date('03/07/2019'), duration: 2, progress: '0', predecessor: '18FS', resourceId: [1]\n },\n {\n taskID: 20, taskName: 'Phase 1 complete', startDate: new Date('03/05/2019'),\n endDate: new Date('03/05/2019'), duration: 0, predecessor: '19FS'\n }\n\n ]\n }]\n },\n\n {\n taskID: 21,\n taskName: 'Phase 2',\n startDate: new Date('02/25/2019'),\n endDate: new Date('03/05/2019'),\n subtasks: [{\n taskID: 22,\n taskName: 'Implementation module 2',\n startDate: new Date('02/25/2019'),\n endDate: new Date('03/05/2019'),\n subtasks: [\n {\n taskID: 23, taskName: 'Development task 1', startDate: new Date('02/22/2019'),\n endDate: new Date('02/25/2019'), duration: 4, progress: '50', resourceId: [3]\n },\n {\n taskID: 24, taskName: 'Development task 2', startDate: new Date('02/22/2019'),\n endDate: new Date('02/25/2019'), duration: 4, progress: '50', resourceId: [3]\n },\n {\n taskID: 25, taskName: 'Testing', startDate: new Date('02/26/2019'),\n endDate: new Date('03/01/2019'), duration: 2, progress: '0', predecessor: '23FS,24FS', resourceId: [4]\n },\n {\n taskID: 26, taskName: 'Bug fix', startDate: new Date('03/02/2019'),\n endDate: new Date('03/03/2019'), duration: 2, progress: '0', predecessor: '25FS', resourceId: [3]\n },\n {\n taskID: 27, taskName: 'Customer review meeting', startDate: new Date('03/07/2019'),\n endDate: new Date('03/09/2019'), duration: 2, progress: '0', predecessor: '26FS', resourceId: [1]\n },\n {\n taskID: 28, taskName: 'Phase 2 complete', startDate: new Date('03/03/2019'),\n endDate: new Date('03/03/2019'), duration: 0, predecessor: '27FS'\n }\n\n ]\n }]\n },\n\n {\n taskID: 29,\n taskName: 'Phase 3',\n startDate: new Date('02/25/2019'),\n endDate: new Date('03/07/2019'),\n subtasks: [{\n taskID: 30,\n taskName: 'Implementation module 3',\n startDate: new Date('02/25/2019'),\n endDate: new Date('03/07/2019'),\n subtasks: [\n {\n taskID: 31, taskName: 'Development task 1', startDate: new Date('02/22/2019'),\n endDate: new Date('02/24/2019'), duration: 3, progress: '50', resourceId: [3]\n },\n {\n taskID: 32, taskName: 'Development task 2', startDate: new Date('02/22/2019'),\n endDate: new Date('02/24/2019'), duration: 3, progress: '50', resourceId: [3]\n },\n {\n taskID: 33, taskName: 'Testing', startDate: new Date('02/25/2019'), endDate: new Date('02/26/2019'),\n duration: 2, progress: '0', predecessor: '31FS,32FS', resourceId: [4]\n },\n {\n taskID: 34, taskName: 'Bug fix', startDate: new Date('03/01/2019'), endDate: new Date('03/05/2019'),\n duration: 2, progress: '0', predecessor: '33FS', resourceId: [3]\n },\n {\n taskID: 35, taskName: 'Customer review meeting', startDate: new Date('03/03/2019'),\n endDate: new Date('03/04/2019'), duration: 2, progress: '0', predecessor: '34FS',\n resourceId: [1]\n },\n {\n taskID: 36, taskName: 'Phase 3 complete', startDate: new Date('03/02/2019'),\n endDate: new Date('03/02/2019'), duration: 0, predecessor: '35FS'\n },\n\n ]\n }]\n }\n ]\n },\n {\n taskID: 37, taskName: 'Integration', startDate: new Date('03/08/2019'), endDate: new Date('03/10/2019'), duration: 3,\n progress: '0', predecessor: '20FS,28FS,36FS', resourceId: [3]\n },\n {\n taskID: 38, taskName: 'Final testing', startDate: new Date('03/11/2019'), endDate: new Date('03/12/2019'), duration: 2,\n progress: '0', predecessor: '37FS', resourceId: [4]\n },\n {\n taskID: 39, taskName: 'Final delivery', startDate: new Date('03/10/2019'), endDate: new Date('03/10/2019'),\n duration: 0, predecessor: '38FS'\n }\n ]\n }\n];\n\nexport let baselineData: Object[] = [\n {\n TaskId: 1, TaskName: 'Receive vehicle and create job card', BaselineStartDate: new Date('03/05/2018 10:00:00 AM'),\n BaselineEndDate: new Date('03/05/2018 10:00:00 AM'), StartDate: new Date('03/05/2018 10:00:00 AM'),\n EndDate: new Date('03/05/2018 10:00:00 AM')\n },\n {\n TaskId: 2, TaskName: 'Allot mechanic and send vehicle to service bay', BaselineStartDate: new Date('03/05/2018 10:00:00 AM'),\n BaselineEndDate: new Date('03/05/2018 10:15:00 AM'), StartDate: new Date('03/05/2018 10:15:00 AM'),\n EndDate: new Date('03/05/2018 10:20:00 AM')\n },\n {\n TaskId: 3, TaskName: 'Change the receive vehicle and create job cardengine oil',\n BaselineStartDate: new Date('03/05/2018 10:15:00 AM'),\n BaselineEndDate: new Date('03/05/2018 10:45:00 AM'), StartDate: new Date('03/05/2018 10:20:00 AM'),\n EndDate: new Date('03/05/2018 10:35:00 AM')\n },\n {\n TaskId: 4, TaskName: 'Replace the oil filter', BaselineStartDate: new Date('03/05/2018 10:45:00 AM'),\n BaselineEndDate: new Date('03/05/2018 11:15:00 AM'), StartDate: new Date('03/05/2018 10:35:00 AM'),\n EndDate: new Date('03/05/2018 11:00:00 AM')\n },\n {\n TaskId: 5, TaskName: 'Replace the air filter', BaselineStartDate: new Date('03/05/2018 10:45:00 AM'),\n BaselineEndDate: new Date('03/05/2018 11:15:00 AM'), StartDate: new Date('03/05/2018 10:35:00 AM'),\n EndDate: new Date('03/05/2018 11:00:00 AM')\n },\n {\n TaskId: 6, TaskName: 'Replace the fuel filter', BaselineStartDate: new Date('03/05/2018 11:15:00 AM'),\n BaselineEndDate: new Date('03/05/2018 11:25:00 AM'), StartDate: new Date('03/05/2018 11:00:00 AM'),\n EndDate: new Date('03/05/2018 11:20:00 AM')\n },\n {\n TaskId: 7, TaskName: 'Replace the cabin filter', BaselineStartDate: new Date('03/05/2018 11:00:00 AM'),\n BaselineEndDate: new Date('03/05/2018 11:20:00 AM'), StartDate: new Date('03/05/2018 11:00:00 AM'),\n EndDate: new Date('03/05/2018 11:25:00 AM')\n },\n {\n TaskId: 8, TaskName: 'Replace the spark plugs', BaselineStartDate: new Date('03/05/2018 11:00:00 AM'),\n BaselineEndDate: new Date('03/05/2018 11:30:00 AM'), StartDate: new Date('03/05/2018 11:25:00 AM'),\n EndDate: new Date('03/05/2018 11:45:00 AM')\n },\n {\n TaskId: 9, TaskName: 'Check level and refill brake fluid/clutch fluid', BaselineStartDate: new Date('03/05/2018 11:20:00 AM'),\n BaselineEndDate: new Date('03/05/2018 11:40:00 AM'), StartDate: new Date('03/05/2018 11:30:00 AM'),\n EndDate: new Date('03/05/2018 11:50:00 AM')\n },\n {\n TaskId: 10, TaskName: 'Check Brake Pads/Liners, Brake Discs/Drums, and replace if worn out.',\n BaselineStartDate: new Date('03/05/2018 11:40:00 AM'),\n BaselineEndDate: new Date('03/05/2018 12:00:00 PM'), StartDate: new Date('03/05/2018 11:50:00 AM'),\n EndDate: new Date('03/05/2018 12:20:00 PM')\n },\n {\n TaskId: 11, TaskName: 'Check level and refill power steering fluid', BaselineStartDate: new Date('03/05/2018 11:40:00 AM'),\n BaselineEndDate: new Date('03/05/2018 12:00:00 PM'), StartDate: new Date('03/05/2018 11:50:00 AM'),\n EndDate: new Date('03/05/2018 12:15:00 PM')\n },\n {\n TaskId: 12, TaskName: 'Check level and refill automatic/manual transmission fluid',\n BaselineStartDate: new Date('03/05/2018 12:00:00 PM'),\n BaselineEndDate: new Date('03/05/2018 12:35:00 PM'), StartDate: new Date('03/05/2018 11:50:00 AM'),\n EndDate: new Date('03/05/2018 12:20:00 PM')\n },\n {\n TaskId: 13, TaskName: 'Grease and lubricate components', BaselineStartDate: new Date('03/05/2018 12:20:00 PM'),\n BaselineEndDate: new Date('03/05/2018 12:35:00 PM'), StartDate: new Date('03/05/2018 12:20:00 PM'),\n EndDate: new Date('03/05/2018 12:45:00 PM')\n },\n {\n TaskId: 14, TaskName: 'Inspect and replace the timing belt or timing chain if needed',\n BaselineStartDate: new Date('03/05/2018 12:35:00 PM'),\n BaselineEndDate: new Date('03/05/2018 1:00:00 PM'), StartDate: new Date('03/05/2018 12:45:00 PM'),\n EndDate: new Date('03/05/2018 1:00:00 PM')\n },\n {\n TaskId: 15, TaskName: 'Wheel balancing', BaselineStartDate: new Date('03/05/2018 1:00:00 PM'),\n BaselineEndDate: new Date('03/05/2018 1:20:00 PM'), StartDate: new Date('03/05/2018 1:00:00 PM'),\n EndDate: new Date('03/05/2018 1:45:00 PM')\n },\n {\n TaskId: 16, TaskName: 'Wheel alignment', BaselineStartDate: new Date('03/05/2018 1:20:00 PM'),\n BaselineEndDate: new Date('03/05/2018 1:45:00 PM'), StartDate: new Date('03/05/2018 1:45:00 PM'),\n EndDate: new Date('03/05/2018 2:45:00 PM')\n },\n {\n TaskId: 17, TaskName: 'Check for proper operation of all lights, wipers etc.', BaselineStartDate: new Date('03/05/2018 1:50:00 PM'),\n BaselineEndDate: new Date('03/05/2018 02:30:00 PM'), StartDate: new Date('03/05/2018 02:45:00 PM'),\n EndDate: new Date('03/05/2018 03:30:00 PM')\n },\n {\n TaskId: 18, TaskName: 'Check for any error codes in the ECU and take corrective action.',\n BaselineStartDate: new Date('03/05/2018 2:30:00 PM'),\n BaselineEndDate: new Date('03/05/2018 3:30:00 PM'), StartDate: new Date('03/05/2018 03:30:00 PM'),\n EndDate: new Date('03/05/2018 04:15:00 PM')\n },\n {\n TaskId: 19, TaskName: 'Use scan tool read trouble code', BaselineStartDate: new Date('03/05/2018 03:30:00 PM'),\n BaselineEndDate: new Date('03/05/2018 04:45:00 PM'), StartDate: new Date('03/05/2018 04:15:00 PM'),\n EndDate: new Date('03/05/2018 04:45:00 PM')\n },\n {\n TaskId: 20, TaskName: 'Exterior washing', BaselineStartDate: new Date('03/05/2018 04:45:00 PM'),\n BaselineEndDate: new Date('03/05/2018 05:15:00 PM'), StartDate: new Date('03/05/2018 04:45:00 PM'),\n EndDate: new Date('03/05/2018 05:30:00 PM')\n },\n {\n TaskId: 21, TaskName: 'Interior vacuuming', BaselineStartDate: new Date('03/05/2018 05:15:00 PM'),\n BaselineEndDate: new Date('03/05/2018 05:45:00 PM'), StartDate: new Date('03/05/2018 05:30:00 PM'),\n EndDate: new Date('03/05/2018 06:00:00 PM')\n },\n {\n TaskId: 22, TaskName: 'Final service inspection', BaselineStartDate: new Date('03/05/2018 05:45:00 PM'),\n BaselineEndDate: new Date('03/05/2018 06:00:00 PM'), StartDate: new Date('03/05/2018 06:00:00 PM'),\n EndDate: new Date('03/05/2018 06:30:00 PM')\n },\n {\n TaskId: 23, TaskName: 'Vehicle handover', BaselineStartDate: new Date('03/05/2018 06:00:00 PM'),\n BaselineEndDate: new Date('03/05/2018 06:00:00 PM'), StartDate: new Date('03/05/2018 06:30:00 PM'),\n EndDate: new Date('03/05/2018 06:30:00 PM')\n }\n];\n\nexport let customizedData: Object[] = [\n {\n TaskId: 1, TaskName: 'Oscar moments', Performance: '90th Academy awards kicks-off and Jimmy kimmel hosts the show',\n StartDate: new Date('03/05/2018 06:00:00 PM'), EndDate: new Date('03/05/2018 06:15:00 PM')\n },\n {\n TaskId: 2, TaskName: 'Actor in a supporting role', Predecessor: '1FS',\n StartDate: new Date('03/05/2018 06:16:00 PM'), EndDate: new Date('03/05/2018 06:25:00 PM'),\n Winner: 'Sam Rockwell', Movie: 'Three Billboards Outside Ebbing, Missouri.'\n },\n {\n TaskId: 3, TaskName: 'Hair and makeup', Movie: 'Darkest Hour', Predecessor: '2FS',\n StartDate: new Date('03/05/2018 06:26:00 PM'), EndDate: new Date('03/05/2018 06:32:00 PM')\n },\n {\n TaskId: 4, TaskName: 'Costume design', Winner: 'Mark Bridges', Movie: 'Phantom Thread', Predecessor: '3FS',\n StartDate: new Date('03/05/2018 06:33:00 PM'), EndDate: new Date('03/05/2018 06:40:00 PM')\n },\n {\n TaskId: 5, TaskName: 'Documentary feature', Winner: 'Bryan Fogel', Movie: ' Icarus', Predecessor: '4FS',\n StartDate: new Date('03/05/2018 06:41:00 PM'), EndDate: new Date('03/05/2018 06:58:00 PM')\n },\n {\n TaskId: 6, TaskName: 'Best sound editing and sound mixing', Winner: 'Richard King and Alex Gibson', Movie: 'Dunkirk',\n StartDate: new Date('03/05/2018 06:59:00 PM'), EndDate: new Date('03/05/2018 07:10:00 PM'), Predecessor: '5FS'\n },\n {\n TaskId: 7, TaskName: 'Production design', Movie: 'The Shape of Water', Predecessor: '6FS',\n StartDate: new Date('03/05/2018 07:11:00 PM'), EndDate: new Date('03/05/2018 07:15:00 PM')\n },\n {\n TaskId: 8, TaskName: 'Oscar performance', Performance: 'Second performance of the night is \"Remember Me\" from Coco',\n StartDate: new Date('03/05/2018 07:16:00 PM'), EndDate: new Date('03/05/2018 07:23:00 PM'), Predecessor: '7FS'\n },\n {\n TaskId: 9, TaskName: 'Best foreign language film goes', Movie: 'A Fantastic Woman', Predecessor: '8FS',\n StartDate: new Date('03/05/2018 07:24:00 PM'), EndDate: new Date('03/05/2018 07:29:00 PM')\n },\n {\n TaskId: 10, TaskName: 'Best supporting actress', Winner: 'Allison Janney', Movie: 'I, Tonya',\n StartDate: new Date('03/05/2018 07:30:00 PM'), EndDate: new Date('03/05/2018 07:35:00 PM'), Predecessor: '9FS'\n },\n {\n TaskId: 11, TaskName: 'Best animated short', Winner: 'Kobe Bryant', Movie: 'Dear Basketball',\n StartDate: new Date('03/05/2018 07:36:00 PM'), EndDate: new Date('03/05/2018 07:45:00 PM'), Predecessor: '10FS'\n },\n {\n TaskId: 12, TaskName: 'Award for best animated feature.', Movie: 'Coco', Predecessor: '11FS',\n StartDate: new Date('03/05/2018 07:46:00 PM'), EndDate: new Date('03/05/2018 07:52:00 PM')\n },\n {\n TaskId: 13, TaskName: 'Best visual effects.', Movie: 'Blade Runner 2049', Predecessor: '12FS',\n StartDate: new Date('03/05/2018 07:53:00 PM'), EndDate: new Date('03/05/2018 07:56:00 PM')\n },\n {\n TaskId: 14, TaskName: 'Achievement in film editing', Movie: 'Dunkirk', Predecessor: '13FS',\n StartDate: new Date('03/05/2018 07:57:00 PM'), EndDate: new Date('03/05/2018 07:59:00 PM')\n },\n {\n TaskId: 15, TaskName: 'Oscar moments', Performance: 'Jimmy Kimmel surprises moviegoers along with celebrities',\n StartDate: new Date('03/05/2018 08:00:00 PM'), EndDate: new Date('03/05/2018 08:09:00 PM'), Predecessor: '14FS'\n },\n {\n TaskId: 16, TaskName: 'Best documentary short', Movie: 'Heaven is a Traffic Jam on the 405', Predecessor: '15FS',\n StartDate: new Date('03/05/2018 08:10:00 PM'), EndDate: new Date('03/05/2018 08:12:00 PM')\n },\n {\n TaskId: 17, TaskName: 'Best live action short film', Movie: 'The Silent Child', Predecessor: '16FS',\n StartDate: new Date('03/05/2018 08:13:00 PM'), EndDate: new Date('03/05/2018 08:15:00 PM')\n },\n {\n TaskId: 18, TaskName: 'Oscar performance',\n Performance: 'Jimmy Kimmel surprCommon and Andra Day performs \"Stand Up for Something\" by \"Marshall\"',\n StartDate: new Date('03/05/2018 08:16:00 PM'), EndDate: new Date('03/05/2018 08:25:00 PM'), Predecessor: '17FS'\n },\n {\n TaskId: 19, TaskName: 'Oscar moments',\n Performance: 'The Oscars are showcasing the #MeToo and #TimesUp movements with a montage and interviews with actors and filmmakers',\n StartDate: new Date('03/05/2018 08:26:00 PM'), EndDate: new Date('03/05/2018 08:29:00 PM'), Predecessor: '18FS'\n },\n {\n TaskId: 20, TaskName: 'Oscar for best adapted screenplay', Winner: 'James Ivory', Movie: 'Call Me By Your Name',\n StartDate: new Date('03/05/2018 08:30:00 PM'), EndDate: new Date('03/05/2018 08:35:00 PM'), Predecessor: '19FS'\n },\n {\n TaskId: 21, TaskName: 'Oscar for best original screenplay', Winner: 'Jordan Peele', Movie: 'Get Out',\n StartDate: new Date('03/05/2018 08:36:00 PM'), EndDate: new Date('03/05/2018 08:44:00 PM'), Predecessor: '20FS'\n },\n {\n TaskId: 22, TaskName: 'Oscar moments',\n Performance: 'Who’s trending on Twitter at the Oscars? Actors Timothée Chalamet, Chadwick Boseman,' +\n 'Tom Holland, Lupita Nyong’o and Adam Rippon.',\n StartDate: new Date('03/05/2018 08:40:00 PM'), EndDate: new Date('03/05/2018 08:45:00 PM'), Predecessor: '21FS'\n },\n {\n TaskId: 23, TaskName: 'Best cinematography', Winner: 'Roger A. Deakins', Movie: 'Blade Runner 2049',\n StartDate: new Date('03/05/2018 08:46:00 PM'), EndDate: new Date('03/05/2018 08:48:00 PM'), Predecessor: '22FS'\n },\n {\n TaskId: 24, TaskName: 'Oscar performance',\n Performance: 'Keala Settle performs the nominated song \"This is Me\" from \"The Greatest Showman\".',\n StartDate: new Date('03/05/2018 08:49:00 PM'), EndDate: new Date('03/05/2018 08:54:00 PM'), Predecessor: '23FS'\n },\n {\n TaskId: 25, TaskName: 'Best original score', Movie: 'The Shape of Water', Predecessor: '24FS',\n StartDate: new Date('03/05/2018 08:55:00 PM'), EndDate: new Date('03/05/2018 08:59:00 PM')\n },\n {\n TaskId: 26, TaskName: 'Award for original song', Winner: 'Remember Me', Movie: 'Coco', Predecessor: '25FS',\n StartDate: new Date('03/05/2018 09:00:00 PM'), EndDate: new Date('03/05/2018 09:07:00 PM')\n },\n {\n TaskId: 27, TaskName: 'Oscar moments', Performance: 'Time to pay tribute to those in the cinema world we lost last year',\n StartDate: new Date('03/05/2018 09:05:00 PM'), EndDate: new Date('03/05/2018 09:11:00 PM'), Predecessor: '26FS'\n },\n {\n TaskId: 28, TaskName: 'Oscar for best director', Winner: 'Guillermo del Toro', Movie: 'The Shape of Water',\n StartDate: new Date('03/05/2018 09:12:00 PM'), EndDate: new Date('03/05/2018 09:19:00 PM'), Predecessor: '27FS'\n },\n {\n TaskId: 29, TaskName: 'Best actor in a leading role', Winner: 'Gary Oldman', Movie: 'The Shape of Water',\n StartDate: new Date('03/05/2018 09:20:00 PM'), EndDate: new Date('03/05/2018 09:29:00 PM'), Predecessor: '28FS'\n },\n {\n TaskId: 30, TaskName: 'Best leading actress', Winner: 'Frances McDormand', Movie: 'Three Billboards Outside Ebbing, Missouri',\n StartDate: new Date('03/05/2018 09:30:00 PM'), EndDate: new Date('03/05/2018 09:44:00 PM'), Predecessor: '29FS'\n },\n {\n TaskId: 31, TaskName: 'Oscar for best picture.', Movie: 'The Shape of Water', Predecessor: '30FS',\n StartDate: new Date('03/05/2018 09:45:00 PM'), EndDate: new Date('03/05/2018 10:00:00 PM')\n },\n {\n TaskId: 32, TaskName: 'Oscar moments', Performance: '90th Academy awards wind-up', Predecessor: '31FS',\n StartDate: new Date('03/05/2018 10:00:00 PM'), EndDate: new Date('03/05/2018 10:00:00 PM'), Duration: 0\n }\n];\n\nexport let unscheduledData: Object[] = [\n {\n TaskId: 1, TaskName: 'Task 1', StartDate: new Date('01/03/2019'),\n EndDate: new Date('01/08/2019'), Duration: '5', TaskType: ''\n },\n {\n TaskId: 2, TaskName: 'Task 2', Duration: '5', TaskType: \"Task with duration only\"\n },\n {\n TaskId: 3, TaskName: 'Task 3', StartDate: new Date('01/03/2019'), TaskType: \"Task with start date only\"\n },\n {\n TaskId: 4, TaskName: 'Task 4', EndDate: new Date('01/08/2019'), TaskType: \"Task with end date only\"\n },\n];\n\nexport let tooltipData: object[] = [\n {\n TaskID: 1,\n TaskName: 'Project initiation',\n StartDate: new Date('04/02/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 2, TaskName: 'Identify site location', StartDate: new Date('04/02/2019'), Duration: 0,\n Progress: 30, resources: [1], info: 'Measure the total property area alloted for construction',\n BaselineStartDate: new Date('04/02/2019'), BaselineEndDate: new Date('04/02/2019')\n },\n {\n TaskID: 3, TaskName: 'Perform soil test', StartDate: new Date('04/02/2019'), Duration: 4, Predecessor: '2',\n resources: [2], info: 'Obtain an engineered soil test of lot where construction is planned.' +\n 'From an engineer or company specializing in soil testing', BaselineStartDate: new Date('04/01/2019'),\n BaselineEndDate: new Date('04/04/2019')\n },\n {\n TaskID: 4, TaskName: 'Soil test approval', StartDate: new Date('04/02/2019'), Duration: 0, Predecessor: '3', Progress: 30,\n BaselineStartDate: new Date('04/06/2019'), BaselineEndDate: new Date('04/06/2019')\n },\n\n ]\n },\n {\n TaskID: 5,\n TaskName: 'Project estimation',\n StartDate: new Date('04/02/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 6, TaskName: 'Develop floor plan for estimation', StartDate: new Date('04/04/2019'),\n Duration: 3, Predecessor: '4', Progress: 30, resources: 4,\n info: 'Develop floor plans and obtain a materials list for estimations',\n BaselineStartDate: new Date('04/05/2019'), BaselineEndDate: new Date('04/07/2019')\n },\n {\n TaskID: 7, TaskName: 'List materials', StartDate: new Date('04/04/2019'),\n Duration: 3, Predecessor: '6', resources: [4], info: '',\n BaselineStartDate: new Date('04/09/2019'), BaselineEndDate: new Date('04/12/2019')\n },\n {\n TaskID: 8, TaskName: 'Estimation approval', StartDate: new Date('04/04/2019'),\n Duration: 0, Predecessor: '7', resources: [12], info: '',\n BaselineStartDate: new Date('04/16/2019'), BaselineEndDate: new Date('04/16/2019')\n }\n ]\n },\n {\n TaskID: 9, TaskName: 'Sign contract', StartDate: new Date('04/04/2019'), Duration: 1,\n Predecessor: '8', Progress: 30, resources: [12],\n info: 'If required obtain approval from HOA (homeowners association) or ARC (architectural review committee)',\n BaselineStartDate: new Date('04/16/2019'), BaselineEndDate: new Date('04/17/2019')\n },\n {\n TaskID: 10,\n TaskName: 'Project approval and kick off',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n Duration: 0,\n Predecessor: '9',\n BaselineStartDate: new Date('04/17/2019'), BaselineEndDate: new Date('04/17/2019')\n },\n {\n TaskID: 11,\n TaskName: 'Site work',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 12, TaskName: 'Clear the building site', StartDate: new Date('04/04/2019'),\n Duration: 2, Progress: 30, Predecessor: '9',\n info: 'Clear the building site (demolition of existing home if necessary)',\n BaselineStartDate: new Date('04/16/2019'), BaselineEndDate: new Date('04/18/2019')\n },\n {\n TaskID: 13, TaskName: 'Install temporary power service', StartDate: new Date('04/04/2019'),\n Duration: 2, Predecessor: '12', info: '',\n BaselineStartDate: new Date('04/17/2019'), BaselineEndDate: new Date('04/19/2019')\n },\n ]\n }\n];\n\nexport let selfData: object[] = [\n { taskID: 1, taskName: \"Project Schedule\", startDate: new Date(\"02/04/2019\"), endDate: new Date(\"03/10/2019\") },\n { taskID: 2, taskName: \"Planning\", startDate: new Date(\"02/04/2019\"), endDate: new Date(\"02/10/2019\"), parentID: 1 },\n { taskID: 3, taskName: \"Plan timeline\", startDate: new Date(\"02/04/2019\"), endDate: new Date(\"02/10/2019\"), duration: 6, progress: \"60\", parentID: 2 },\n { taskID: 4, taskName: \"Plan budget\", startDate: new Date(\"02/04/2019\"), endDate: new Date(\"02/10/2019\"), duration: 6, progress: \"90\", parentID: 2 },\n { taskID: 5, taskName: \"Allocate resources\", startDate: new Date(\"02/04/2019\"), endDate: new Date(\"02/10/2019\"), duration: 6, progress: \"75\", parentID: 2 },\n { taskID: 6, taskName: \"Planning complete\", startDate: new Date(\"02/06/2019\"), endDate: new Date(\"02/10/2019\"), duration: 0, predecessor: \"3FS,4FS,5FS\", parentID: 2 },\n { taskID: 7, taskName: \"Design\", startDate: new Date(\"02/13/2019\"), endDate: new Date(\"02/17/2019\"), parentID: 1, },\n { taskID: 8, taskName: \"Software Specification\", startDate: new Date(\"02/13/2019\"), endDate: new Date(\"02/15/2019\"), duration: 3, progress: \"60\", predecessor: \"6FS\", parentID: 7, },\n { taskID: 9, taskName: \"Develop prototype\", startDate: new Date(\"02/13/2019\"), endDate: new Date(\"02/15/2019\"), duration: 3, progress: \"100\", predecessor: \"6FS\", parentID: 7, },\n { taskID: 10, taskName: \"Get approval from customer\", startDate: new Date(\"02/16/2019\"), endDate: new Date(\"02/17/2019\"), duration: 2, progress: \"100\", predecessor: \"9FS\", parentID: 7, },\n { taskID: 11, taskName: \"Design complete\", startDate: new Date(\"02/17/2019\"), endDate: new Date(\"02/17/2019\"), duration: 0, predecessor: \"10FS\", parentID: 7, }\n];\n\nexport let labelData: object[] = [\n {\n TaskID: 1,\n TaskName: 'Project initiation',\n StartDate: new Date('04/02/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 2, TaskName: 'Identify site location', StartDate: new Date('04/02/2019'), Duration: 0,\n Progress: 30, resources: [1], info: 'Measure the total property area alloted for construction',\n BaselineStartDate: new Date('04/02/2019'), BaselineEndDate: new Date('04/02/2019')\n },\n {\n TaskID: 3, TaskName: 'Perform soil test', StartDate: new Date('04/02/2019'), Duration: 4, Predecessor: '2',\n resources: [2, 3, 5], info: 'Obtain an engineered soil test of lot where construction is planned.' +\n 'From an engineer or company specializing in soil testing', BaselineStartDate: new Date('04/01/2019'),\n BaselineEndDate: new Date('04/04/2019')\n },\n {\n TaskID: 4, TaskName: 'Soil test approval', StartDate: new Date('04/02/2019'), Duration: 0, Predecessor: '3', Progress: 30,\n BaselineStartDate: new Date('04/06/2019'), BaselineEndDate: new Date('04/06/2019')\n },\n\n ]\n },\n {\n TaskID: 5,\n TaskName: 'Project estimation',\n StartDate: new Date('04/02/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 6, TaskName: 'Develop floor plan for estimation', StartDate: new Date('04/04/2019'),\n Duration: 3, Predecessor: '4', Progress: 30, resources: 4,\n info: 'Develop floor plans and obtain a materials list for estimations',\n BaselineStartDate: new Date('04/05/2019'), BaselineEndDate: new Date('04/07/2019')\n },\n {\n TaskID: 7, TaskName: 'List materials', StartDate: new Date('04/04/2019'),\n Duration: 3, Predecessor: '6', resources: [4, 8], info: '',\n BaselineStartDate: new Date('04/09/2019'), BaselineEndDate: new Date('04/12/2019')\n },\n {\n TaskID: 8, TaskName: 'Estimation approval', StartDate: new Date('04/04/2019'),\n Duration: 0, Predecessor: '7', resources: [12, 5], info: '',\n BaselineStartDate: new Date('04/16/2019'), BaselineEndDate: new Date('04/16/2019')\n }\n ]\n },\n {\n TaskID: 9, TaskName: 'Sign contract', StartDate: new Date('04/04/2019'), Duration: 1,\n Predecessor: '8', Progress: 30, resources: [12],\n info: 'If required obtain approval from HOA (homeowners association) or ARC (architectural review committee)',\n BaselineStartDate: new Date('04/16/2019'), BaselineEndDate: new Date('04/17/2019')\n },\n {\n TaskID: 10,\n TaskName: 'Project approval and kick off',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n Duration: 0,\n Predecessor: '9',\n BaselineStartDate: new Date('04/17/2019'), BaselineEndDate: new Date('04/17/2019')\n },\n {\n TaskID: 11,\n TaskName: 'Site work',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 12, TaskName: 'Clear the building site', StartDate: new Date('04/04/2019'),\n Duration: 2, Progress: 30, Predecessor: '9',\n info: 'Clear the building site (demolition of existing home if necessary)',\n BaselineStartDate: new Date('04/16/2019'), BaselineEndDate: new Date('04/18/2019')\n },\n {\n TaskID: 13, TaskName: 'Install temporary power service', StartDate: new Date('04/04/2019'),\n Duration: 2, Predecessor: '12', info: '',\n BaselineStartDate: new Date('04/17/2019'), BaselineEndDate: new Date('04/19/2019')\n },\n ]\n },\n];\nexport let resourceData: object[] = [\n {\n TaskID: 1,\n TaskName: 'Project initiation',\n StartDate: new Date('03/29/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 2, TaskName: 'Identify site location', StartDate: new Date('03/29/2019'), Duration: 2,\n Progress: 30, work: 16, resources: [{ resourceId: 1, unit: 70 }, 6]\n },\n {\n TaskID: 3, TaskName: 'Perform soil test', StartDate: new Date('03/29/2019'), Duration: 4,\n resources: [2, 3, 5], work: 96\n },\n {\n TaskID: 4, TaskName: 'Soil test approval', StartDate: new Date('03/29/2019'), Duration: 1,\n work: 16, resources: [8, { resourceId: 9, unit: 50 }], Progress: 30\n },\n ]\n },\n {\n TaskID: 5,\n TaskName: 'Project estimation', StartDate: new Date('03/29/2019'), EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 6, TaskName: 'Develop floor plan for estimation', StartDate: new Date('03/29/2019'),\n Duration: 3, Progress: 30, resources: [{ resourceId: 4, unit: 50 }], work: 30\n },\n {\n TaskID: 7, TaskName: 'List materials', StartDate: new Date('04/01/2019'), Duration: 3,\n work: 48, resources: [4, 8]\n },\n {\n TaskID: 8, TaskName: 'Estimation approval', StartDate: new Date('04/01/2019'),\n Duration: 2, work: 60, resources: [12, { resourceId: 5, unit: 70 }]\n }\n ]\n },\n {\n TaskID: 9, TaskName: 'Sign contract', StartDate: new Date('04/01/2019'), Duration: 1,\n Progress: 30, resources: [12], work: 24\n }\n];\nexport let resourceResources: object[] = [\n { resourceId: 1, resourceName: 'Martin Tamer' },\n { resourceId: 2, resourceName: 'Rose Fuller' },\n { resourceId: 3, resourceName: 'Margaret Buchanan' },\n { resourceId: 4, resourceName: 'Fuller King' },\n { resourceId: 5, resourceName: 'Davolio Fuller' },\n { resourceId: 6, resourceName: 'Van Jack' },\n { resourceId: 7, resourceName: 'Fuller Buchanan' },\n { resourceId: 8, resourceName: 'Jack Davolio' },\n { resourceId: 9, resourceName: 'Tamer Vinet' },\n { resourceId: 10, resourceName: 'Vinet Fuller' },\n { resourceId: 11, resourceName: 'Bergs Anton' },\n { resourceId: 12, resourceName: 'Construction Supervisor' }\n];\nexport let taskModeData: Object[] = [\n {\n \"TaskID\": 1,\n \"TaskName\": \"Parent Task 1\",\n \"StartDate\": new Date(\"02/27/2017\"),\n \"EndDate\": new Date(\"03/03/2017\"),\n \"Progress\": \"40\",\n \"isManual\" : true,\n resources: [1],\n \"Children\": [\n { \"TaskID\": 2, resources: [2,3],\"TaskName\": \"Child Task 1\", \"StartDate\": new Date(\"02/27/2017\"), \"EndDate\": new Date(\"03/03/2017\"), \"Progress\": \"40\" },\n { \"TaskID\": 3, \"TaskName\": \"Child Task 2\", \"StartDate\": new Date(\"02/26/2017\"), \"EndDate\": new Date(\"03/03/2017\"), \"Progress\": \"40\",\"isManual\": true },\n { \"TaskID\": 4, \"TaskName\": \"Child Task 3\", \"StartDate\": new Date(\"02/27/2017\"), \"EndDate\": new Date(\"03/03/2017\"), \"Duration\": 5, \"Progress\": \"40\", }\n ]\n },\n {\n \"TaskID\": 5,\n \"TaskName\": \"Parent Task 2\",\n \"StartDate\": new Date(\"03/05/2017\"),\n \"EndDate\": new Date(\"03/09/2017\"),\n \"Progress\": \"40\",\n \"isManual\": true,\n \"Children\": [\n { \"TaskID\": 6, \"TaskName\": \"Child Task 1\", \"StartDate\": new Date(\"03/06/2017\"), \"EndDate\": new Date(\"03/09/2017\"), \"Progress\": \"40\" },\n { \"TaskID\": 7, \"TaskName\": \"Child Task 2\", \"StartDate\": new Date(\"03/06/2017\"), \"EndDate\": new Date(\"03/09/2017\"), \"Progress\": \"40\", },\n { \"TaskID\": 8, \"TaskName\": \"Child Task 3\", \"StartDate\": new Date(\"02/28/2017\"), \"EndDate\": new Date(\"03/05/2017\"), \"Progress\": \"40\",\"isManual\":true },\n { \"TaskID\": 9, \"TaskName\": \"Child Task 4\", \"StartDate\": new Date(\"03/04/2017\"), \"EndDate\": new Date(\"03/09/2017\"), \"Progress\": \"40\",\"isManual\":true }\n ]\n },\n {\n \"TaskID\": 10,\n \"TaskName\": \"Parent Task 3\",\n \"StartDate\": new Date(\"03/13/2017\"),\n \"EndDate\": new Date(\"03/17/2017\"),\n \"Progress\": \"40\",\n \"Children\": [\n { \"TaskID\": 11, \"TaskName\": \"Child Task 1\", \"StartDate\": new Date(\"03/13/2017\"), \"EndDate\": new Date(\"03/17/2017\"), \"Progress\": \"40\" },\n { \"TaskID\": 12, \"TaskName\": \"Child Task 2\", \"StartDate\": new Date(\"03/13/2017\"), \"EndDate\": new Date(\"03/17/2017\"), \"Progress\": \"40\", },\n { \"TaskID\": 13, \"TaskName\": \"Child Task 3\", \"StartDate\": new Date(\"03/13/2017\"), \"EndDate\": new Date(\"03/17/2017\"), \"Progress\": \"40\", },\n { \"TaskID\": 14, \"TaskName\": \"Child Task 4\", \"StartDate\": new Date(\"03/12/2017\"), \"EndDate\": new Date(\"03/17/2017\"), \"Progress\": \"40\",\"isManual\":true },\n { \"TaskID\": 15, \"TaskName\": \"Child Task 5\", \"StartDate\": new Date(\"03/13/2017\"), \"EndDate\": new Date(\"03/17/2017\"), \"Progress\": \"40\", }\n ]\n }\n];\nexport let resourcesData: object[] = [\n {\n TaskID: 1,\n TaskName: 'Project initiation',\n StartDate: new Date('03/29/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 2, TaskName: 'Identify site location', StartDate: new Date('03/29/2019'), Duration: 3,\n Progress: 30, work: 10, resources: [{ resourceId: 1, resourceUnit: 50 }]\n },\n {\n TaskID: 3, TaskName: 'Perform soil test', StartDate: new Date('03/29/2019'), Duration: 4,\n resources: [{ resourceId: 2, resourceUnit: 70 }], Progress: 30, work: 20\n },\n {\n TaskID: 4, TaskName: 'Soil test approval', StartDate: new Date('03/29/2019'), Duration: 4,\n resources: [{ resourceId: 1, resourceUnit: 75 }], Predecessor: 2, Progress: 30, work: 10,\n },\n ]\n },\n {\n TaskID: 5,\n TaskName: 'Project estimation', StartDate: new Date('03/29/2019'), EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 6, TaskName: 'Develop floor plan for estimation', StartDate: new Date('03/29/2019'),\n Duration: 3, Progress: 30, resources: [{ resourceId: 2, resourceUnit: 70 }], Predecessor: '3FS+2', work: 30\n },\n {\n TaskID: 7, TaskName: 'List materials', StartDate: new Date('04/08/2019'), Duration: 12,\n resources: [{ resourceId: 6, resourceUnit: 40 }], Progress: 30, work: 40\n },\n {\n TaskID: 8, TaskName: 'Estimation approval', StartDate: new Date('04/03/2019'), \n Duration: 10, resources: [{ resourceId: 5, resourceUnit: 75 }], Progress: 30, work: 60,\n },\n {\n TaskID: 9, TaskName: 'Excavate for foundations', StartDate: new Date('04/01/2019'),\n Duration: 4, Progress: 30, resources: [4]\n },\n {\n TaskID: 10, TaskName: 'Install plumbing grounds', StartDate: new Date('04/08/2019'), Duration: 4,\n Progress: 30, Predecessor: '9SS', resources: [3]\n },\n {\n TaskID: 11, TaskName: 'Dig footer', StartDate: new Date('04/08/2019'),\n Duration: 3, resources: [2]\n },\n {\n TaskID: 12, TaskName: 'Electrical utilities', StartDate: new Date('04/03/2019'),\n Duration: 4, Progress: 30, resources: [3]\n }\n ]\n },\n {\n TaskID: 13, TaskName: 'Sign contract', StartDate: new Date('04/04/2019'), Duration: 2,\n Progress: 30,\n }\n];\nexport let resourceCollection: object[] = [\n { resourceId: 1, resourceName: 'Martin Tamer', resourceGroup: 'Planning Team'},\n { resourceId: 2, resourceName: 'Rose Fuller', resourceGroup: 'Testing Team' },\n { resourceId: 3, resourceName: 'Margaret Buchanan', resourceGroup: 'Approval Team' },\n { resourceId: 4, resourceName: 'Fuller King', resourceGroup: 'Development Team' },\n { resourceId: 5, resourceName: 'Davolio Fuller', resourceGroup: 'Approval Team' },\n { resourceId: 6, resourceName: 'Van Jack', resourceGroup: 'Development Team' }\n];\n\nexport let multitaskbardata: object[] = [\n {\n TaskID: 1,\n TaskName: 'Project initiation',\n StartDate: new Date('03/29/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 2, TaskName: 'Identify site location', StartDate: new Date('03/29/2019'), Duration: 3,\n Progress: 30, work: 10, resources: [{ resourceId: 1, resourceUnit: 50 }]\n },\n {\n TaskID: 3, TaskName: 'Perform soil test', StartDate: new Date('04/03/2019'), Duration: 4,\n resources: [{ resourceId: 1, resourceUnit: 70 }], Predecessor: 2, Progress: 30, work: 20\n },\n {\n TaskID: 4, TaskName: 'Soil test approval', StartDate: new Date('04/09/2019'), Duration: 4,\n resources: [{ resourceId: 1, resourceUnit: 25 }], Predecessor: 3, Progress: 30, work: 10,\n },\n ]\n },\n {\n TaskID: 5,\n TaskName: 'Project estimation', StartDate: new Date('03/29/2019'), EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 6, TaskName: 'Develop floor plan for estimation', StartDate: new Date('04/01/2019'),\n Duration: 5, Progress: 30, resources: [{ resourceId: 2, resourceUnit: 50 }], work: 30\n },\n {\n TaskID: 7, TaskName: 'List materials', StartDate: new Date('04/04/2019'), Duration: 4,\n resources: [{ resourceId: 2, resourceUnit: 40 }], Predecessor: '6FS-2', Progress: 30, work: 40\n },\n {\n TaskID: 8, TaskName: 'Estimation approval', StartDate: new Date('04/09/2019'),\n Duration: 4, resources: [{ resourceId: 2, resourceUnit: 75 }], Predecessor: '7FS-1', Progress: 30, work: 60,\n }\n ]\n },\n {\n TaskID: 9,\n TaskName: 'Site work',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 10, TaskName: 'Install temporary power service', StartDate: new Date('04/01/2019'), Duration: 14,\n Progress: 30, resources: [{ resourceId: 3, resourceUnit: 75 }]\n },\n {\n TaskID: 11, TaskName: 'Clear the building site', StartDate: new Date('04/08/2019'),\n Duration: 9, Progress: 30, Predecessor: '10FS-9', resources: [3]\n },\n {\n TaskID: 12, TaskName: 'Sign contract', StartDate: new Date('04/12/2019'),\n Duration: 5, resources: [3], Predecessor: '11FS-5'\n },\n ]\n },\n {\n TaskID: 13,\n TaskName: 'Foundation',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 14, TaskName: 'Excavate for foundations', StartDate: new Date('04/01/2019'),\n Duration: 2, Progress: 30, resources: [4]\n },\n {\n TaskID: 15, TaskName: 'Dig footer', StartDate: new Date('04/04/2019'),\n Duration: 2, Predecessor: '14FS + 1', resources: [4]\n },\n {\n TaskID: 16, TaskName: 'Install plumbing grounds', StartDate: new Date('04/08/2019'), Duration: 2,\n Progress: 30, Predecessor: 15, resources: [4]\n }\n ]\n },\n {\n TaskID: 17,\n TaskName: 'Framing',\n StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'),\n subtasks: [\n {\n TaskID: 18, TaskName: 'Add load-bearing structure', StartDate: new Date('04/03/2019'),\n Duration: 2, Progress: 30, resources: [5]\n },\n {\n TaskID: 19, TaskName: 'Natural gas utilities', StartDate: new Date('04/08/2019'),\n Duration: 4, Predecessor: '18', resources: [5]\n },\n {\n TaskID: 20, TaskName: 'Electrical utilities', StartDate: new Date('04/11/2019'),\n Duration: 2, Progress: 30, Predecessor: '19FS + 1', resources: [5]\n }\n ]\n }\n];\nexport let resources: object[] = [\n { resourceId: 1, resourceName: 'Martin Tamer', resourceGroup: 'Planning Team', isExpand: false},\n { resourceId: 2, resourceName: 'Rose Fuller', resourceGroup: 'Testing Team', isExpand: true},\n { resourceId: 3, resourceName: 'Margaret Buchanan', resourceGroup: 'Approval Team', isExpand: false },\n { resourceId: 4, resourceName: 'Fuller King', resourceGroup: 'Development Team', isExpand: false },\n { resourceId: 5, resourceName: 'Davolio Fuller', resourceGroup: 'Approval Team', isExpand: true }\n];\n\nexport let splitTasksData: object[] = [\n {\n TaskID: 1,\n TaskName: 'Project Schedule',\n StartDate: new Date('02/04/2019'),\n EndDate: new Date('03/10/2019'),\n subtasks: [\n {\n TaskID: 2,\n TaskName: 'Planning',\n StartDate: new Date('02/04/2019'),\n subtasks: [\n {\n TaskID: 3, TaskName: 'Plan timeline', StartDate: new Date('02/04/2019'), EndDate: new Date('02/10/2019'),\n Duration: 10, Progress: '60',\n Segments: [\n { StartDate: new Date('02/04/2019'), Duration: 2 },\n { StartDate: new Date('02/05/2019'), Duration: 5 },\n { StartDate: new Date('02/08/2019'), Duration: 3 }\n ]\n },\n {\n TaskID: 4, TaskName: 'Plan budget', StartDate: new Date('02/04/2019'), EndDate: new Date('02/10/2019'),\n Duration: 10, Progress: '90'\n },\n {\n TaskID: 5, TaskName: 'Allocate resources', StartDate: new Date('02/04/2019'), EndDate: new Date('02/10/2019'),\n Duration: 10, Progress: '75',\n Segments: [\n { StartDate: new Date('02/04/2019'), Duration: 4 },\n { StartDate: new Date('02/08/2019'), Duration: 2 }\n ]\n },\n {\n TaskID: 6, TaskName: 'Planning complete', StartDate: new Date('02/21/2019'), EndDate: new Date('02/21/2019'),\n Duration: 0, Predecessor: '3FS,5FS'\n },\n ]\n },\n {\n TaskID: 7,\n TaskName: 'Design',\n StartDate: new Date('02/25/2019'),\n subtasks: [\n {\n TaskID: 8, TaskName: 'Software Specification', StartDate: new Date('02/25/2019'), EndDate: new Date('03/02/2019'),\n Duration: 5, Progress: '60', Predecessor: '6FS'\n },\n {\n TaskID: 9, TaskName: 'Develop prototype', StartDate: new Date('02/25/2019'), EndDate: new Date('03/02/2019'),\n Duration: 5, Progress: '100', Predecessor: '6FS',\n Segments: [\n { StartDate: new Date('02/25/2019'), Duration: 2 },\n { StartDate: new Date('02/28/2019'), Duration: 3 }\n ]\n },\n {\n TaskID: 10, TaskName: 'Get approval from customer', StartDate: new Date('02/25/2019'),\n\t\t\t\t\t\tEndDate: new Date('03/01/2019'), Duration: 4, Progress: '100', Predecessor: '9FS'\n },\n {\n TaskID: 11, TaskName: 'Design complete', StartDate: new Date('02/25/2019'), EndDate: new Date('02/25/2019'),\n Duration: 0, Predecessor: '10FS'\n }\n ]\n }\n ]\n }\n];\n\nexport let tempData: any[] = [\n {\n TaskID: 1, TaskName: 'Product concept',StartDate: new Date('04/02/2019'), EndDate: new Date('04/21/2019'),\n parentID: 0\n },\n {\n TaskID: 2, TaskName: 'Defining the product and its usage', StartDate: new Date('04/02/2019'),\n Duration: 3, Progress: 30, parentID: 1\n },\n {\n TaskID: 3, TaskName: 'Defining target audience', StartDate: new Date('04/02/2019'),\n parentID: 1, Duration: 3\n },\n {\n TaskID: 4, TaskName: 'Prepare product sketch and notes', StartDate: new Date('04/05/2019'),\n Duration: 2, parentID: 1, Progress: 30\n },\n {\n TaskID: 5, TaskName: 'Concept approval', StartDate: new Date('04/08/2019'),\n parentID: 0, Duration: 0\n },\n {\n TaskID: 6, TaskName: 'Market research', StartDate: new Date('04/02/2019'),\n parentID: 0, EndDate: new Date('04/21/2019')\n },\n {\n TaskID: 7, TaskName: 'Demand analysis', StartDate: new Date('04/04/2019'),\n EndDate: new Date('04/21/2019'), parentID: 6\n },\n {\n TaskID: 8, TaskName: 'Customer strength', StartDate: new Date('04/09/2019'),\n Duration: 4, parentID: 7, Progress: 30\n },\n {\n TaskID: 9, TaskName: 'Market opportunity analysis', StartDate: new Date('04/09/2019'),\n Duration: 4, parentID: 7\n },\n {\n TaskID: 10, TaskName: 'Competitor analysis', StartDate: new Date('04/15/2019'),\n Duration: 4, parentID: 6, Progress: 30\n },\n {\n TaskID: 11, TaskName: 'Product strength analsysis', StartDate: new Date('04/15/2019'),\n Duration: 4, parentID: 6\n },\n {\n TaskID: 12, TaskName: 'Research complete', StartDate: new Date('04/18/2019'),\n Duration: 0, parentID: 6\n },\n {\n TaskID: 13, TaskName: 'Product design and development', StartDate: new Date('04/04/2019'),\n parentID: 0, EndDate: new Date('04/21/2019')\n },\n {\n TaskID: 14, TaskName: 'Functionality design', StartDate: new Date('04/19/2019'),\n Duration: 3, parentID: 13, Progress: 30\n },\n {\n TaskID: 15, TaskName: 'Quality design', StartDate: new Date('04/19/2019'),\n Duration: 3, parentID: 13\n },\n {\n TaskID: 16, TaskName: 'Define reliability', StartDate: new Date('04/24/2019'),\n Duration: 2, Progress: 30, parentID: 13\n },\n {\n TaskID: 17, TaskName: 'Identifying raw materials', StartDate: new Date('04/24/2019'),\n Duration: 2, parentID: 13\n },\n {\n TaskID: 18, TaskName: 'Define cost plan', StartDate: new Date('04/04/2019'),\n parentID: 13, EndDate: new Date('04/21/2019')\n },\n {\n TaskID: 19, TaskName: 'Manufacturing cost', StartDate: new Date('04/26/2019'),\n Duration: 2, Progress: 30, parentID: 18\n },\n {\n TaskID: 20, TaskName: 'Selling cost', StartDate: new Date('04/26/2019'),\n Duration: 2, parentID: 18\n },\n {\n TaskID: 21, TaskName: 'Development of the final design', StartDate: new Date('04/30/2019'),\n parentID: 13, EndDate: new Date('04/21/2019')\n },\n {\n TaskID: 22, TaskName: 'Defining dimensions and package volume', StartDate: new Date('04/30/2019'),\n Duration: 2, parentID: 21, Progress: 30\n },\n {\n TaskID: 23, TaskName: 'Develop design to meet industry standards', StartDate: new Date('05/02/2019'),\n Duration: 2, parentID: 21\n },\n {\n TaskID: 24, TaskName: 'Include all the details', StartDate: new Date('05/06/2019'),\n Duration: 3, parentID: 21\n },\n {\n TaskID: 25, TaskName: 'CAD computer-aided design', StartDate: new Date('05/09/2019'),\n Duration: 3, parentID: 13, Progress: 30\n },\n {\n TaskID: 26, TaskName: 'CAM computer-aided manufacturing', StartDate: new Date('09/14/2019'),\n Duration: 3, parentID: 13\n },\n {\n TaskID: 27, TaskName: 'Design complete', StartDate: new Date('05/16/2019'),\n Duration: 0, parentID: 13\n },\n {\n TaskID: 28, TaskName: 'Prototype testing', StartDate: new Date('05/17/2019'),\n Duration: 4, Progress: 30, parentID: 0\n },\n {\n TaskID: 29, TaskName: 'Include feedback', StartDate: new Date('05/17/2019'),\n Duration: 4, parentID: 0\n },\n {\n TaskID: 30, TaskName: 'Manufacturing', StartDate: new Date('05/23/2019'),\n Duration: 5, Progress: 30, parentID: 0\n },\n {\n TaskID: 31, TaskName: 'Assembling materials to finsihed goods', StartDate: new Date('05/30/2019'),\n Duration: 5, parentID: 0\n },\n {\n TaskID: 32, TaskName: 'Feedback and testing', StartDate: new Date('04/04/2019'),\n parentID: 0, EndDate: new Date('04/21/2019'),\n },\n {\n TaskID: 33, TaskName: 'Internal testing and feedback', StartDate: new Date('06/06/2019'),\n Duration: 3, parentID: 32, Progress: 45\n },\n {\n TaskID: 34, TaskName: 'Customer testing and feedback', StartDate: new Date('06/11/2019'),\n Duration: 3, parentID: 32, Progress: 50\n },\n {\n TaskID: 35, TaskName: 'Final product development', StartDate: new Date('04/04/2019'),\n parentID: 0, EndDate: new Date('04/21/2019'),\n },\n {\n TaskID: 36, TaskName: 'Important improvements', StartDate: new Date('06/14/2019'),\n Duration: 4, Progress: 30, parentID: 35\n },\n {\n TaskID: 37, TaskName: 'Address any unforeseen issues', StartDate: new Date('06/14/2019'),\n Duration: 4, Progress: 30, parentID: 35\n },\n {\n TaskID: 38, TaskName: 'Final product', StartDate: new Date('04/04/2019'),\n parentID: 0, EndDate: new Date('04/21/2019'),\n },\n {\n TaskID: 39, TaskName: 'Branding product', StartDate: new Date('06/20/2019'),\n Duration: 4, parentID: 38\n },\n {\n TaskID: 40, TaskName: 'Marketing and presales', StartDate: new Date('06/26/2019'), Duration: 4,\n Progress: 30, parentID: 38\n }\n];\n\nexport let virtualData: any[] = [];\nlet projId: number = 1;\nfor (let i: number = 0; i < 50; i++) {\n let x: number = virtualData.length + 1;\n let parent: any = {};\n /* tslint:disable:no-string-literal */\n parent['TaskID'] = x;\n parent['TaskName'] = 'Project ' + (i + 1);\n virtualData.push(parent);\n for (let j: number = 0; j < tempData.length; j++) {\n let subtasks: any = {};\n /* tslint:disable:no-string-literal */\n subtasks['TaskID'] = tempData[j].TaskID + x;\n subtasks['TaskName'] = tempData[j].TaskName;\n subtasks['StartDate'] = tempData[j].StartDate;\n subtasks['Duration'] = tempData[j].Duration;\n subtasks['Progress'] = tempData[j].Progress;\n subtasks['parentID'] = tempData[j].parentID + x;\n virtualData.push(subtasks);\n }\n}\n\nexport let timezoneData: object[] = [\n {\n taskID: 1,\n taskName: 'Project Schedule',\n startDate: new Date('02/04/2019 08:00'),\n endDate: new Date('03/10/2019')\n },\n {\n taskID: 2,\n taskName: 'Planning',\n startDate: new Date('02/04/2019 08:00'),\n endDate: new Date('02/10/2019'),\n parentID: 1\n },\n {\n taskID: 3,\n taskName: 'Plan timeline',\n startDate: new Date('02/04/2019 08:00'),\n endDate: new Date('02/10/2019'),\n duration: 6,\n progress: '60',\n parentID: 2\n },\n {\n taskID: 4,\n taskName: 'Plan budget',\n startDate: new Date('02/04/2019 08:00'),\n endDate: new Date('02/10/2019'),\n duration: 6,\n progress: '90',\n parentID: 2\n },\n {\n taskID: 5,\n taskName: 'Allocate resources',\n startDate: new Date('02/04/2019 08:00'),\n endDate: new Date('02/10/2019'),\n duration: 6,\n progress: '75',\n parentID: 2\n },\n {\n taskID: 6,\n taskName: 'Planning complete',\n startDate: new Date('02/06/2019 08:00'),\n endDate: new Date('02/10/2019'),\n duration: 0,\n predecessor: '3FS,4FS,5FS',\n parentID: 2\n },\n {\n taskID: 7,\n taskName: 'Design',\n startDate: new Date('02/13/2019 08:00'),\n endDate: new Date('02/17/2019 08:00'),\n parentID: 1,\n },\n {\n taskID: 8,\n taskName: 'Software Specification',\n startDate: new Date('02/13/2019 08:00'),\n endDate: new Date('02/15/2019'),\n duration: 3,\n progress: '60',\n predecessor: '6FS',\n parentID: 7,\n },\n {\n taskID: 9,\n taskName: 'Develop prototype',\n startDate: new Date('02/13/2019 08:00'),\n endDate: new Date('02/15/2019'),\n duration: 3,\n progress: '100',\n predecessor: '6FS',\n parentID: 7,\n },\n {\n taskID: 10,\n taskName: 'Get approval from customer',\n startDate: new Date('02/16/2019 08:00'),\n endDate: new Date('02/17/2019 08:00'),\n duration: 2,\n progress: '100',\n predecessor: '9FS',\n parentID: 7,\n },\n {\n taskID: 11,\n taskName: 'Design complete',\n startDate: new Date('02/17/2019 08:00'),\n endDate: new Date('02/17/2019 08:00'),\n duration: 0,\n predecessor: '10FS',\n parentID: 7,\n }\n];","app.component.ts":"import { Component, OnInit} from '@angular/core';\nimport { templateData, editingResources } from './data';\n\n@Component({\n selector: 'app-root',\n templateUrl: 'app.component.html'\n})\n\nexport class AppComponent {\n public data: object[];\n public taskSettings: object;\n public columns: object[];\n public labelSettings: object;\n public resources: object[];\n public resourceFields: object ;\n public projectStartDate: Date;\n public splitterSettings: object;\n public projectEndDate: Date;\n public ngOnInit(): void {\n this.data = templateData;\n this.taskSettings = {\n id: 'TaskID',\n name: 'TaskName',\n startDate: 'StartDate',\n endDate:'EndDate',\n duration: 'Duration',\n progress: 'Progress',\n dependency: 'Predecessor',\n child: 'subtasks',\n resourceInfo: 'resources'\n };\n this.resourceFields = {\n id: 'resourceId',\n name: 'resourceName'\n };\n this.splitterSettings = {\n columnIndex: 4\n },\n this.labelSettings = {\n rightLabel: 'TaskName'\n };\n this.resources = editingResources;\n this.projectStartDate= new Date('03/25/2019');\n this.projectEndDate= new Date('07/28/2019');\n }\n}\n","app/app.module.ts":"import { MultiSelectAllModule } from '@syncfusion/ej2-angular-dropdowns';\n\nimport { TextBoxAllModule, NumericTextBoxAllModule } from '@syncfusion/ej2-angular-inputs';\n\nimport { DropDownListAllModule } from '@syncfusion/ej2-angular-dropdowns';\n\nimport { CheckBoxAllModule } from '@syncfusion/ej2-angular-buttons';\n\nimport { GanttAllModule } from '@syncfusion/ej2-angular-gantt';\n\nimport { HttpModule } from '@angular/http';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\nimport { CommonModule } from '@angular/common';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { NgModule } from '@angular/core';\n\nimport { AppComponent } from '../app.component';\n\n@NgModule({ declarations: [ AppComponent ], imports: [ BrowserModule, GanttAllModule, DropDownListAllModule, CheckBoxAllModule, TextBoxAllModule, NumericTextBoxAllModule, MultiSelectAllModule], providers: [], bootstrap: [AppComponent]\n})\nexport class AppModule { }\n","app.component.html":"\n
\n \n \n \n \n Task Name\n \n \n \n \n Start Date\n \n \n \n \n Resources\n \n \n \n \n Duration\n \n \n \n \n Progress\n \n \n \n\n \n
Source:\n https://en.wikipedia.org/\n
\n
\n\n","app.component.css":""} \ No newline at end of file diff --git a/src/app/gantt/header-template.html b/src/app/gantt/header-template.html index 7cdef946..96919971 100644 --- a/src/app/gantt/header-template.html +++ b/src/app/gantt/header-template.html @@ -1,7 +1,5 @@