diff --git a/.travis.yml b/.travis.yml index 3a5d6d84f9..a3786026b6 100644 --- a/.travis.yml +++ b/.travis.yml @@ -31,6 +31,7 @@ env: - MODULE=ng2-activiti-form - MODULE=ng2-activiti-tasklist - MODULE=ng2-activiti-processlist + - MODULE=ng2-activiti-diagrams - MODULE=ng2-activiti-analytics - MODULE=ng2-alfresco-userinfo @@ -47,21 +48,12 @@ before_script: - if ([ "$MODULE" == "ng2-activiti-processlist" ]); then (cd ng2-components/ng2-activiti-tasklist; npm link ng2-alfresco-core; npm link ng2-alfresco-datatable; npm link ng2-activiti-form; npm install; npm link); fi + - if ([ "$MODULE" == "ng2-activiti-analytics" ]); then + (cd ng2-components/ng2-activiti-diagrams; npm link ng2-alfresco-core; npm install; npm link); + fi - cd ng2-components/$MODULE; - - if ([ "$MODULE" != "ng2-alfresco-core" ]); then - npm link ng2-alfresco-core; - fi - - if ([ "$MODULE" == "ng2-alfresco-documentlist" ] || [ "$MODULE" == "ng2-alfresco-webscript" ] || [ "$MODULE" == "ng2-activiti-processlist" ] || [ "$MODULE" == "ng2-activiti-tasklist" ]); then - npm link ng2-alfresco-datatable; - fi - - if ([ "$MODULE" == "ng2-activiti-tasklist" ]); then - npm link ng2-activiti-form; - fi - - if ([ "$MODULE" == "ng2-activiti-processlist" ]); then - npm link ng2-activiti-tasklist; - fi - - npm install; - npm run travis + - npm install; - ls -ltrh ./node_modules/ script: npm run test # Send coverage data to Coveralls @@ -83,5 +75,6 @@ cache: - ng2-components/ng2-alfresco-viewer/node_modules - ng2-components/ng2-alfresco-webscript/node_modules - ng2-components/ng2-alfresco-tag/node_modules - - ng2-components/ng2-alfresco-analytics/node_modules + - ng2-components/ng2-activiti-analytics/node_modules - ng2-components/ng2-alfresco-userinfo/node_modules + - ng2-components/ng2-activiti-diagrams/node_modules diff --git a/appveyor.yml b/appveyor.yml index 7f8f94b30f..7e892d3323 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -19,6 +19,7 @@ environment: - COMPONENT_NAME: ng2-activiti-form - COMPONENT_NAME: ng2-activiti-tasklist - COMPONENT_NAME: ng2-activiti-processlist + - COMPONENT_NAME: ng2-activiti-diagrams - COMPONENT_NAME: ng2-activiti-analytics - COMPONENT_NAME: ng2-alfresco-userinfo @@ -41,6 +42,7 @@ install: - IF %COMPONENT_NAME% EQU ng2-activiti-processlist (npm link ng2-alfresco-datatable && npm link ng2-activiti-form && npm link ng2-activiti-tasklist) - IF %COMPONENT_NAME% EQU ng2-activiti-tasklist (npm link ng2-alfresco-datatable && npm link ng2-activiti-form) - IF %COMPONENT_NAME% EQU ng2-alfresco-webscript (npm link ng2-alfresco-datatable) + - IF %COMPONENT_NAME% EQU ng2-activiti-analytics (npm link ng2-alfresco-diagrams) - npm install # Post-install test scripts. diff --git a/demo-shell-ng2/index.html b/demo-shell-ng2/index.html index 93ac0bfd52..08205cc45d 100644 --- a/demo-shell-ng2/index.html +++ b/demo-shell-ng2/index.html @@ -32,11 +32,13 @@ + + diff --git a/demo-shell-ng2/package.json b/demo-shell-ng2/package.json index 0c5e143ca0..cd639013c7 100644 --- a/demo-shell-ng2/package.json +++ b/demo-shell-ng2/package.json @@ -77,6 +77,7 @@ "moment": "2.15.1", "chart.js": "^2.1.4", "ng2-charts": "1.1.0", + "raphael": "^2.2.6", "md-date-time-picker": "^2.2.0", "alfresco-js-api": "^0.3.0", "ng2-alfresco-core": "0.3.2", @@ -106,7 +107,7 @@ "license-check-config": { "src": [ "./app/**/*.js", - "!./app/js/xml2json.js" + "!./app/js/*.js" ], "path": "assets/license_header.txt", "blocking": true, diff --git a/demo-shell-ng2/systemjs.config.js b/demo-shell-ng2/systemjs.config.js index 73016570b9..94daf63400 100644 --- a/demo-shell-ng2/systemjs.config.js +++ b/demo-shell-ng2/systemjs.config.js @@ -40,7 +40,8 @@ 'alfresco-js-api': 'npm:alfresco-js-api/dist', 'ng2-activiti-processlist': 'npm:ng2-activiti-processlist/dist', 'ng2-alfresco-userinfo': 'npm:ng2-alfresco-userinfo/dist', - 'ng2-activiti-analytics': 'npm:ng2-activiti-analytics/dist' + 'ng2-activiti-analytics': 'npm:ng2-activiti-analytics/dist', + 'ng2-activiti-diagrams': 'npm:ng2-activiti-diagrams/dist' }, // packages tells the System loader how to load when no filename and/or no extension packages: { @@ -68,7 +69,8 @@ 'ng2-alfresco-tag': { main: './index.js', defaultExtension: 'js'}, 'alfresco-js-api': { main: './alfresco-js-api.js', defaultExtension: 'js'}, 'ng2-alfresco-userinfo': { main: './index.js', defaultExtension: 'js'}, - 'ng2-activiti-analytics': { main: './index.js', defaultExtension: 'js'} + 'ng2-activiti-analytics': { main: './index.js', defaultExtension: 'js'}, + 'ng2-activiti-diagrams': { main: './index.js', defaultExtension: 'js'} } }); })(this); diff --git a/ng2-components/ng2-activiti-analytics/.gitignore b/ng2-components/ng2-activiti-analytics/.gitignore index 13324e66b9..fe20e77f42 100644 --- a/ng2-components/ng2-activiti-analytics/.gitignore +++ b/ng2-components/ng2-activiti-analytics/.gitignore @@ -6,7 +6,7 @@ coverage dist src/**/*.js src/**/*.js.map -src/**/*.d.ts + demo/**/*.js demo/**/*.js.map demo/**/*.d.ts diff --git a/ng2-components/ng2-activiti-analytics/index.ts b/ng2-components/ng2-activiti-analytics/index.ts index 5fdc8def07..c56527241d 100644 --- a/ng2-components/ng2-activiti-analytics/index.ts +++ b/ng2-components/ng2-activiti-analytics/index.ts @@ -17,10 +17,12 @@ import { NgModule, ModuleWithProviders } from '@angular/core'; import { CoreModule } from 'ng2-alfresco-core'; +import { DiagramsModule } from 'ng2-activiti-diagrams'; import { AnalyticsReportListComponent } from './src/components/analytics-report-list.component'; import { AnalyticsReportParametersComponent } from './src/components/analytics-report-parameters.component'; import { AnalyticsComponent } from './src/components/analytics.component'; +import { AnalyticsReportHeatMapComponent } from './src/components/analytics-report-heat-map.component'; import { AnalyticsService } from './src/services/analytics.service'; import { CHART_DIRECTIVES } from 'ng2-charts/ng2-charts'; @@ -36,6 +38,7 @@ export const ANALYTICS_DIRECTIVES: any[] = [ AnalyticsComponent, AnalyticsReportListComponent, AnalyticsReportParametersComponent, + AnalyticsReportHeatMapComponent, WIDGET_DIRECTIVES ]; @@ -45,7 +48,8 @@ export const ANALYTICS_PROVIDERS: any[] = [ @NgModule({ imports: [ - CoreModule + CoreModule, + DiagramsModule ], declarations: [ ...ANALYTICS_DIRECTIVES, diff --git a/ng2-components/ng2-activiti-analytics/karma-test-shim.js b/ng2-components/ng2-activiti-analytics/karma-test-shim.js index e109df798c..3b4258d80a 100644 --- a/ng2-components/ng2-activiti-analytics/karma-test-shim.js +++ b/ng2-components/ng2-activiti-analytics/karma-test-shim.js @@ -58,6 +58,7 @@ var map = { 'alfresco-js-api': 'npm:alfresco-js-api/dist', 'ng2-activiti-analytics': 'npm:ng2-activiti-analytics/dist', + 'ng2-activiti-diagrams': 'npm:ng2-activiti-diagrams/dist', 'ng2-alfresco-core': 'npm:ng2-alfresco-core/dist' }; @@ -71,6 +72,7 @@ var packages = { 'alfresco-js-api': { main: './alfresco-js-api.js', defaultExtension: 'js'}, 'ng2-activiti-analytics': { main: './index.js', defaultExtension: 'js'}, + 'ng2-activiti-diagrams': { main: './index.js', defaultExtension: 'js'}, 'ng2-alfresco-core': { main: './index.js', defaultExtension: 'js'} }; diff --git a/ng2-components/ng2-activiti-analytics/karma.conf.js b/ng2-components/ng2-activiti-analytics/karma.conf.js index db5a72000c..496c6a6e9b 100644 --- a/ng2-components/ng2-activiti-analytics/karma.conf.js +++ b/ng2-components/ng2-activiti-analytics/karma.conf.js @@ -47,6 +47,7 @@ module.exports = function (config) { // ng2-components { pattern: 'node_modules/ng2-alfresco-core/dist/**/*.*', included: false, served: true, watched: false }, + { pattern: 'node_modules/ng2-activiti-diagrams/dist/**/*.*', included: false, served: true, watched: false }, { pattern: 'node_modules/ng2-charts/**/*.js', included: false, served: true, watched: false }, { pattern: 'node_modules/md-date-time-picker/**/*.js', included: false, served: true, watched: false }, { pattern: 'node_modules/moment/**/*.js', included: false, served: true, watched: false }, diff --git a/ng2-components/ng2-activiti-analytics/package.json b/ng2-components/ng2-activiti-analytics/package.json index 6f6a63b956..5fe5f2ba41 100644 --- a/ng2-components/ng2-activiti-analytics/package.json +++ b/ng2-components/ng2-activiti-analytics/package.json @@ -21,7 +21,7 @@ "posttest": "remap-istanbul -i coverage/report/coverage-final.json -o coverage/report -t html && remap-istanbul -i coverage/report/coverage-final.json -o coverage/report/coverage-final.json", "coverage": "npm run test && wsrv -o -p 9875 ./coverage/report", "prepublish": "npm run build", - "travis": "echo 'placeholder'" + "travis": "npm link ng2-alfresco-core ng2-activiti-diagrams" }, "contributors": [ { @@ -56,6 +56,7 @@ "core-js": "^2.4.1", "md-date-time-picker": "^2.2.0", "ng2-alfresco-core": "0.3.2", + "ng2-activiti-diagrams": "0.3.3", "ng2-charts": "1.1.0", "ng2-translate": "2.5.0", "reflect-metadata": "^0.1.3", diff --git a/ng2-components/ng2-activiti-analytics/src/components/analytics-report-heat-map.component.html b/ng2-components/ng2-activiti-analytics/src/components/analytics-report-heat-map.component.html new file mode 100644 index 0000000000..e9c271f63f --- /dev/null +++ b/ng2-components/ng2-activiti-analytics/src/components/analytics-report-heat-map.component.html @@ -0,0 +1,9 @@ +

Process Heat map

+
+
+ +
+ +
+
No metric found
\ No newline at end of file diff --git a/ng2-components/ng2-activiti-analytics/src/components/analytics-report-heat-map.component.spec.ts b/ng2-components/ng2-activiti-analytics/src/components/analytics-report-heat-map.component.spec.ts new file mode 100644 index 0000000000..3be8225c59 --- /dev/null +++ b/ng2-components/ng2-activiti-analytics/src/components/analytics-report-heat-map.component.spec.ts @@ -0,0 +1,128 @@ +/*! + * @license + * Copyright 2016 Alfresco Software, Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { ComponentFixture, TestBed, async } from '@angular/core/testing'; +import { CoreModule } from 'ng2-alfresco-core'; +import { DiagramsModule } from 'ng2-activiti-diagrams'; +import { AnalyticsReportHeatMapComponent } from '../components/analytics-report-heat-map.component'; +import { WIDGET_DIRECTIVES } from '../components/widgets/index'; +import { AnalyticsService } from '../services/analytics.service'; +import { DebugElement } from '@angular/core'; + +declare let jasmine: any; + +describe('Test ng2-activiti-analytics-report-heat-map', () => { + + let componentHandler: any; + let component: any; + let fixture: ComponentFixture; + let debug: DebugElement; + let element: HTMLElement; + + let totalCountPerc = {'sid-fake-id': 0, 'fake-start-event': 100}; + let totalTimePerc = {'sid-fake-id': 10, 'fake-start-event': 30}; + let avgTimePercentages = {'sid-fake-id': 5, 'fake-start-event': 50}; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + imports: [ + CoreModule, + DiagramsModule + ], + declarations: [ + AnalyticsReportHeatMapComponent, + ...WIDGET_DIRECTIVES + ], + providers: [ + AnalyticsService + ] + }).compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(AnalyticsReportHeatMapComponent); + component = fixture.componentInstance; + debug = fixture.debugElement; + element = fixture.nativeElement; + componentHandler = jasmine.createSpyObj('componentHandler', [ + 'upgradeAllRegistered' + ]); + window['componentHandler'] = componentHandler; + + component.report = { + totalCountsPercentages: totalCountPerc, + totalTimePercentages: totalTimePerc, + avgTimePercentages: avgTimePercentages + }; + }); + + describe('Rendering tests: Heat Map', () => { + + beforeEach(() => { + jasmine.Ajax.install(); + }); + + afterEach(() => { + jasmine.Ajax.uninstall(); + }); + + it('should render the dropdown with the metric options', async(() => { + component.report = {totalCountsPercentages: {'sid-fake-id': 10, 'fake-start-event': 30}}; + + component.onSuccess.subscribe(() => { + fixture.whenStable().then(() => { + let dropDown: any = element.querySelector('#select-metrics'); + expect(dropDown).toBeDefined(); + expect(dropDown.length).toEqual(3); + expect(dropDown[0].innerHTML).toEqual('Number of times a step is executed'); + expect(dropDown[1].innerHTML).toEqual('Total time spent in a process step'); + expect(dropDown[2].innerHTML).toEqual('Average time spent in a process step'); + }); + }); + fixture.detectChanges(); + })); + + it('should return false when no metrics are defined in the report', async(() => { + component.report = {}; + expect(component.hasMetric()).toBeFalsy(); + })); + + it('should return true when the metrics are defined in the report', async(() => { + expect(component.hasMetric()).toBeTruthy(); + })); + + it('should change the currentmetric width totalCount', async(() => { + let field = {value: 'totalCount'}; + component.onMetricChanges(field); + expect(component.currentMetric).toEqual(totalCountPerc); + })); + + it('should change the currentmetric width totalTime', async(() => { + let field = {value: 'totalTime'}; + component.onMetricChanges(field); + expect(component.currentMetric).toEqual(totalTimePerc); + })); + + it('should change the currentmetric width avgTime', async(() => { + let field = {value: 'avgTime'}; + component.onMetricChanges(field); + expect(component.currentMetric).toEqual(avgTimePercentages); + })); + + }); + +}); diff --git a/ng2-components/ng2-activiti-analytics/src/components/analytics-report-heat-map.component.ts b/ng2-components/ng2-activiti-analytics/src/components/analytics-report-heat-map.component.ts new file mode 100644 index 0000000000..1087157e24 --- /dev/null +++ b/ng2-components/ng2-activiti-analytics/src/components/analytics-report-heat-map.component.ts @@ -0,0 +1,89 @@ +/*! + * @license + * Copyright 2016 Alfresco Software, Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core'; +import { AlfrescoTranslationService } from 'ng2-alfresco-core'; +import { AnalyticsService } from '../services/analytics.service'; +import { FormGroup, FormBuilder, FormControl } from '@angular/forms'; + +@Component({ + moduleId: module.id, + selector: 'analytics-report-heat-map', + templateUrl: './analytics-report-heat-map.component.html' +}) +export class AnalyticsReportHeatMapComponent implements OnInit { + + @Input() + report: any; + + @Output() + onSuccess = new EventEmitter(); + + @Output() + onError = new EventEmitter(); + + field: any = {}; + + metricForm: FormGroup; + currentMetric: string; + + constructor(private translate: AlfrescoTranslationService, + private analyticsService: AnalyticsService, + private formBuilder: FormBuilder) { + if (translate) { + translate.addTranslationFolder('node_modules/ng2-activiti-analytics/src'); + } + } + + ngOnInit() { + this.initForm(); + this.field.id = 'metrics'; + this.field.value = 'totalCount'; + + this.analyticsService.getMetricValues().subscribe( + (opts: any[]) => { + this.field.options = opts; + this.onSuccess.emit(opts); + } + ); + } + + onMetricChanges(field: any) { + if (field.value === 'totalCount') { + this.currentMetric = this.report.totalCountsPercentages; + } else if (field.value === 'totalTime') { + this.currentMetric = this.report.totalTimePercentages; + } else if (field.value === 'avgTime') { + this.currentMetric = this.report.avgTimePercentages; + } + } + + initForm() { + this.metricForm = this.formBuilder.group({ + metricGroup: new FormGroup({ + metric: new FormControl() + }) + }); + } + + hasMetric() { + return (this.report.totalCountsPercentages || + this.report.totalTimePercentages || + this.report.avgTimePercentages) ? true : false; + } + +} diff --git a/ng2-components/ng2-activiti-analytics/src/components/analytics-report-parameters.component.html b/ng2-components/ng2-activiti-analytics/src/components/analytics-report-parameters.component.html index bc98145dee..3fe322d9f7 100644 --- a/ng2-components/ng2-activiti-analytics/src/components/analytics-report-parameters.component.html +++ b/ng2-components/ng2-activiti-analytics/src/components/analytics-report-parameters.component.html @@ -16,7 +16,8 @@

- +

diff --git a/ng2-components/ng2-activiti-analytics/src/components/analytics-report-parameters.component.spec.ts b/ng2-components/ng2-activiti-analytics/src/components/analytics-report-parameters.component.spec.ts index afd6c03fee..9302b32f01 100644 --- a/ng2-components/ng2-activiti-analytics/src/components/analytics-report-parameters.component.spec.ts +++ b/ng2-components/ng2-activiti-analytics/src/components/analytics-report-parameters.component.spec.ts @@ -20,11 +20,8 @@ import { CoreModule } from 'ng2-alfresco-core'; -import { AnalyticsReportListComponent } from '../components/analytics-report-list.component'; -import { AnalyticsComponent } from '../components/analytics.component'; import { AnalyticsReportParametersComponent } from '../components/analytics-report-parameters.component'; import { WIDGET_DIRECTIVES } from '../components/widgets/index'; -import { CHART_DIRECTIVES } from 'ng2-charts/ng2-charts'; import { AnalyticsService } from '../services/analytics.service'; import { ReportParametersModel } from '../models/report.model'; @@ -32,16 +29,6 @@ import * as moment from 'moment'; import { DebugElement, SimpleChange } from '@angular/core'; import * as analyticParamsMock from '../assets/analyticsParamsReportComponent.mock'; -export const ANALYTICS_DIRECTIVES: any[] = [ - AnalyticsComponent, - AnalyticsReportParametersComponent, - AnalyticsReportListComponent, - WIDGET_DIRECTIVES -]; -export const ANALYTICS_PROVIDERS: any[] = [ - AnalyticsService -]; - declare let jasmine: any; declare let mdDateTimePicker: any; @@ -60,11 +47,11 @@ describe('Test ng2-analytics-report-parameters Report Parameters ', () => { CoreModule ], declarations: [ - ...ANALYTICS_DIRECTIVES, - ...CHART_DIRECTIVES + AnalyticsReportParametersComponent, + ...WIDGET_DIRECTIVES ], providers: [ - ...ANALYTICS_PROVIDERS + AnalyticsService ] }).compileComponents(); })); @@ -178,6 +165,7 @@ describe('Test ng2-analytics-report-parameters Report Parameters ', () => { expect(res.duration).toEqual(22); expect(res.dateRangeInterval).toEqual(120); expect(res.slowProcessInstanceInteger).toEqual(2); + expect(res.typeFiltering).toEqual(true); }); let values: any = { @@ -201,6 +189,9 @@ describe('Test ng2-analytics-report-parameters Report Parameters ', () => { }, processInstanceGroup: { slowProcessInstanceInteger: 2 + }, + typeFilteringGroup: { + typeFiltering: true } }; component.submit(values); diff --git a/ng2-components/ng2-activiti-analytics/src/components/analytics-report-parameters.component.ts b/ng2-components/ng2-activiti-analytics/src/components/analytics-report-parameters.component.ts index 993d2121cf..f31fcb0f18 100644 --- a/ng2-components/ng2-activiti-analytics/src/components/analytics-report-parameters.component.ts +++ b/ng2-components/ng2-activiti-analytics/src/components/analytics-report-parameters.component.ts @@ -115,6 +115,9 @@ export class AnalyticsReportParametersComponent implements OnInit, OnChanges { taskGroup: new FormGroup({ taskName: new FormControl() }), + typeFilteringGroup: new FormGroup({ + typeFiltering: new FormControl() + }), dateIntervalGroup: new FormGroup({ dateRangeInterval: new FormControl() }), @@ -192,6 +195,7 @@ export class AnalyticsReportParametersComponent implements OnInit, OnChanges { reportParamQuery.duration = values.durationGroup.duration; reportParamQuery.dateRangeInterval = values.dateIntervalGroup.dateRangeInterval; reportParamQuery.slowProcessInstanceInteger = this.convertNumber(values.processInstanceGroup.slowProcessInstanceInteger); + reportParamQuery.typeFiltering = values.typeFilteringGroup.typeFiltering; return reportParamQuery; } diff --git a/ng2-components/ng2-activiti-analytics/src/components/analytics.component.html b/ng2-components/ng2-activiti-analytics/src/components/analytics.component.html index 403632310c..e12995435e 100644 --- a/ng2-components/ng2-activiti-analytics/src/components/analytics.component.html +++ b/ng2-components/ng2-activiti-analytics/src/components/analytics.component.html @@ -51,6 +51,9 @@ [chartType]="report.type">
+
+ +
{{'ANALYTICS.MESSAGES.UNKNOWN-WIDGET-TYPE' | translate}}: {{report.type}}
diff --git a/ng2-components/ng2-activiti-analytics/src/components/analytics.component.spec.ts b/ng2-components/ng2-activiti-analytics/src/components/analytics.component.spec.ts index 16d1fbd100..d5fb553eec 100644 --- a/ng2-components/ng2-activiti-analytics/src/components/analytics.component.spec.ts +++ b/ng2-components/ng2-activiti-analytics/src/components/analytics.component.spec.ts @@ -19,10 +19,12 @@ import { ComponentFixture, TestBed, async } from '@angular/core/testing'; import { CoreModule } from 'ng2-alfresco-core'; +import { DiagramsModule } from 'ng2-activiti-diagrams'; import { AnalyticsReportListComponent } from '../components/analytics-report-list.component'; import { AnalyticsComponent } from '../components/analytics.component'; import { AnalyticsReportParametersComponent } from '../components/analytics-report-parameters.component'; +import { AnalyticsReportHeatMapComponent } from '../components/analytics-report-heat-map.component'; import { WIDGET_DIRECTIVES } from '../components/widgets/index'; import { CHART_DIRECTIVES } from 'ng2-charts/ng2-charts'; import { Chart } from '../models/chart.model'; @@ -35,6 +37,7 @@ export const ANALYTICS_DIRECTIVES: any[] = [ AnalyticsComponent, AnalyticsReportParametersComponent, AnalyticsReportListComponent, + AnalyticsReportHeatMapComponent, WIDGET_DIRECTIVES ]; export const ANALYTICS_PROVIDERS: any[] = [ @@ -56,7 +59,8 @@ describe('Test ng2-activiti-analytics Report ', () => { beforeEach(async(() => { TestBed.configureTestingModule({ imports: [ - CoreModule + CoreModule, + DiagramsModule ], declarations: [ ...ANALYTICS_DIRECTIVES, diff --git a/ng2-components/ng2-activiti-analytics/src/components/widgets/checkbox/checkbox.widget.html b/ng2-components/ng2-activiti-analytics/src/components/widgets/checkbox/checkbox.widget.html index b9841dae1b..4d02c9a7da 100644 --- a/ng2-components/ng2-activiti-analytics/src/components/widgets/checkbox/checkbox.widget.html +++ b/ng2-components/ng2-activiti-analytics/src/components/widgets/checkbox/checkbox.widget.html @@ -1,5 +1,5 @@ -