@c8y/ngx-components 1018.0.225 → 1018.0.229

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -29,6 +29,9 @@ export class FilteringFormRendererComponent {
29
29
  if (typeof filterPredicate === 'string') {
30
30
  this.defaultRendererFilterText = filterPredicate;
31
31
  }
32
+ if (filterPredicate === undefined) {
33
+ this.defaultRendererFilterText = '';
34
+ }
32
35
  }
33
36
  }
34
37
  FilteringFormRendererComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: FilteringFormRendererComponent, deps: [{ token: i0.Injector }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
@@ -40,4 +43,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
40
43
  type: Input,
41
44
  args: ['spec']
42
45
  }] } });
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyaW5nLWZvcm0tcmVuZGVyZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vY29yZS9kYXRhLWdyaWQvY29sdW1uL2ZpbHRlcmluZy1mb3JtLXJlbmRlcmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2NvcmUvZGF0YS1ncmlkL2NvbHVtbi9maWx0ZXJpbmctZm9ybS1yZW5kZXJlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsUUFBUSxFQUNSLEtBQUssRUFFTCxXQUFXLEVBQ1gsSUFBSSxFQUNMLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSw0QkFBNEIsRUFBNkIsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7QUFPcEcsTUFBTSxPQUFPLDhCQUE4QjtJQVd6QyxZQUFvQixRQUFrQixFQUFVLEVBQXFCO1FBQWpELGFBQVEsR0FBUixRQUFRLENBQVU7UUFBVSxPQUFFLEdBQUYsRUFBRSxDQUFtQjtRQUZyRSw4QkFBeUIsR0FBRyxFQUFFLENBQUM7SUFFeUMsQ0FBQztJQVR6RSxJQUNJLEtBQUssQ0FBQyxJQUErQjtRQUN2QyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUNuQixDQUFDO0lBUUQsV0FBVztRQUNULE1BQU0sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUV4QyxJQUFJLFFBQVEsWUFBWSxXQUFXLEVBQUU7WUFDbkMsSUFBSSxDQUFDLFlBQVksR0FBRyxVQUFVLENBQUM7U0FDaEM7YUFBTSxJQUFJLFFBQVEsWUFBWSxJQUFJLEVBQUU7WUFDbkMsSUFBSSxDQUFDLFlBQVksR0FBRyxXQUFXLENBQUM7WUFFaEMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUM7Z0JBQ3RDLFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNuRixNQUFNLEVBQUUsSUFBSSxDQUFDLFFBQVE7YUFDdEIsQ0FBQyxDQUFDO1NBQ0o7UUFFRCxNQUFNLEVBQUUsZUFBZSxFQUFFLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQztRQUM3QyxJQUFJLE9BQU8sZUFBZSxLQUFLLFFBQVEsRUFBRTtZQUN2QyxJQUFJLENBQUMseUJBQXlCLEdBQUcsZUFBZSxDQUFDO1NBQ2xEO0lBQ0gsQ0FBQzs7MkhBL0JVLDhCQUE4QjsrR0FBOUIsOEJBQThCLDhIQ2xCM0MseTVDQWlEQTsyRkQvQmEsOEJBQThCO2tCQUwxQyxTQUFTOytCQUNFLDZCQUE2QixtQkFFdEIsdUJBQXVCLENBQUMsTUFBTTsrSEFLM0MsS0FBSztzQkFEUixLQUFLO3VCQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgSW5qZWN0b3IsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIFRlbXBsYXRlUmVmLFxuICBUeXBlXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBGaWx0ZXJpbmdGb3JtUmVuZGVyZXJDb250ZXh0LCBGaWx0ZXJpbmdGb3JtUmVuZGVyZXJTcGVjIH0gZnJvbSAnLi9maWx0ZXJpbmctZm9ybS1yZW5kZXJlcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2M4eS1maWx0ZXJpbmctZm9ybS1yZW5kZXJlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9maWx0ZXJpbmctZm9ybS1yZW5kZXJlci5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEZpbHRlcmluZ0Zvcm1SZW5kZXJlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIHNwZWM6IEZpbHRlcmluZ0Zvcm1SZW5kZXJlclNwZWM7XG4gIEBJbnB1dCgnc3BlYycpXG4gIHNldCBfc3BlYyhzcGVjOiBGaWx0ZXJpbmdGb3JtUmVuZGVyZXJTcGVjKSB7XG4gICAgdGhpcy5zcGVjID0gc3BlYztcbiAgfVxuXG4gIHJlbmRlcmVyVHlwZTogJ1RFTVBMQVRFJyB8ICdDT01QT05FTlQnO1xuICByZW5kZXJlckluamVjdG9yOiBJbmplY3RvcjtcbiAgZGVmYXVsdFJlbmRlcmVyRmlsdGVyVGV4dCA9ICcnO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLCBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICBuZ09uQ2hhbmdlcygpIHtcbiAgICBjb25zdCB7IHJlbmRlcmVyLCBjb250ZXh0IH0gPSB0aGlzLnNwZWM7XG5cbiAgICBpZiAocmVuZGVyZXIgaW5zdGFuY2VvZiBUZW1wbGF0ZVJlZikge1xuICAgICAgdGhpcy5yZW5kZXJlclR5cGUgPSAnVEVNUExBVEUnO1xuICAgIH0gZWxzZSBpZiAocmVuZGVyZXIgaW5zdGFuY2VvZiBUeXBlKSB7XG4gICAgICB0aGlzLnJlbmRlcmVyVHlwZSA9ICdDT01QT05FTlQnO1xuXG4gICAgICB0aGlzLnJlbmRlcmVySW5qZWN0b3IgPSBJbmplY3Rvci5jcmVhdGUoe1xuICAgICAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IEZpbHRlcmluZ0Zvcm1SZW5kZXJlckNvbnRleHQsIHVzZVZhbHVlOiB0aGlzLnNwZWMuY29udGV4dCB9XSxcbiAgICAgICAgcGFyZW50OiB0aGlzLmluamVjdG9yXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBjb25zdCB7IGZpbHRlclByZWRpY2F0ZSB9ID0gY29udGV4dC5wcm9wZXJ0eTtcbiAgICBpZiAodHlwZW9mIGZpbHRlclByZWRpY2F0ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHRoaXMuZGVmYXVsdFJlbmRlcmVyRmlsdGVyVGV4dCA9IGZpbHRlclByZWRpY2F0ZTtcbiAgICB9XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJzcGVjLnJlbmRlcmVyXCI+XG4gIDxuZy1jb250YWluZXJcbiAgICAqbmdJZj1cInJlbmRlcmVyVHlwZSA9PT0gJ1RFTVBMQVRFJ1wiXG4gICAgW25nVGVtcGxhdGVPdXRsZXRdPVwic3BlYy5yZW5kZXJlclwiXG4gICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBzcGVjLmNvbnRleHQgfVwiXG4gID48L25nLWNvbnRhaW5lcj5cblxuICA8bmctY29udGFpbmVyXG4gICAgKm5nSWY9XCJyZW5kZXJlclR5cGUgPT09ICdDT01QT05FTlQnXCJcbiAgICBbbmdDb21wb25lbnRPdXRsZXRdPVwic3BlYy5yZW5kZXJlclwiXG4gICAgW25nQ29tcG9uZW50T3V0bGV0SW5qZWN0b3JdPVwicmVuZGVyZXJJbmplY3RvclwiXG4gID48L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuXG48bmctY29udGFpbmVyICpuZ0lmPVwiIXNwZWMucmVuZGVyZXJcIj5cbiAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgcC10LThcIj5cbiAgICA8bGFiZWw+e3sgJ0ZpbHRlciB0ZXh0JyB8IHRyYW5zbGF0ZSB9fTwvbGFiZWw+XG4gICAgPGlucHV0XG4gICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICBbKG5nTW9kZWwpXT1cImRlZmF1bHRSZW5kZXJlckZpbHRlclRleHRcIlxuICAgICAgKGtleXVwLmVudGVyKT1cIlxuICAgICAgICBzcGVjLmNvbnRleHQuYXBwbHlGaWx0ZXIoe1xuICAgICAgICAgIGZpbHRlclByZWRpY2F0ZTogZGVmYXVsdFJlbmRlcmVyRmlsdGVyVGV4dFxuICAgICAgICB9KVxuICAgICAgXCJcbiAgICAvPlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwiZGF0YS1ncmlkX19kcm9wZG93bl9fZm9vdGVyIGQtZmxleCBzZXBhcmF0b3ItdG9wXCI+XG4gICAgPGJ1dHRvblxuICAgICAgdGl0bGU9XCJ7eyAnUmVzZXQnIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgIGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0IGJ0bi1zbSBmbGV4LWdyb3cgbS1yLThcIlxuICAgICAgKGNsaWNrKT1cImRlZmF1bHRSZW5kZXJlckZpbHRlclRleHQgPSAnJzsgc3BlYy5jb250ZXh0LnJlc2V0RmlsdGVyKClcIlxuICAgID5cbiAgICAgIHt7ICdSZXNldCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uXG4gICAgICB0aXRsZT1cInt7ICdBcHBseScgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgYnRuLXNtIGZsZXgtZ3Jvd1wiXG4gICAgICAoY2xpY2spPVwiXG4gICAgICAgIHNwZWMuY29udGV4dC5hcHBseUZpbHRlcih7XG4gICAgICAgICAgZmlsdGVyUHJlZGljYXRlOiBkZWZhdWx0UmVuZGVyZXJGaWx0ZXJUZXh0XG4gICAgICAgIH0pXG4gICAgICBcIlxuICAgID5cbiAgICAgIHt7ICdBcHBseScgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyaW5nLWZvcm0tcmVuZGVyZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vY29yZS9kYXRhLWdyaWQvY29sdW1uL2ZpbHRlcmluZy1mb3JtLXJlbmRlcmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2NvcmUvZGF0YS1ncmlkL2NvbHVtbi9maWx0ZXJpbmctZm9ybS1yZW5kZXJlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsUUFBUSxFQUNSLEtBQUssRUFFTCxXQUFXLEVBQ1gsSUFBSSxFQUNMLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSw0QkFBNEIsRUFBNkIsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7QUFPcEcsTUFBTSxPQUFPLDhCQUE4QjtJQVd6QyxZQUFvQixRQUFrQixFQUFVLEVBQXFCO1FBQWpELGFBQVEsR0FBUixRQUFRLENBQVU7UUFBVSxPQUFFLEdBQUYsRUFBRSxDQUFtQjtRQUZyRSw4QkFBeUIsR0FBRyxFQUFFLENBQUM7SUFFeUMsQ0FBQztJQVR6RSxJQUNJLEtBQUssQ0FBQyxJQUErQjtRQUN2QyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUNuQixDQUFDO0lBUUQsV0FBVztRQUNULE1BQU0sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUV4QyxJQUFJLFFBQVEsWUFBWSxXQUFXLEVBQUU7WUFDbkMsSUFBSSxDQUFDLFlBQVksR0FBRyxVQUFVLENBQUM7U0FDaEM7YUFBTSxJQUFJLFFBQVEsWUFBWSxJQUFJLEVBQUU7WUFDbkMsSUFBSSxDQUFDLFlBQVksR0FBRyxXQUFXLENBQUM7WUFFaEMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUM7Z0JBQ3RDLFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNuRixNQUFNLEVBQUUsSUFBSSxDQUFDLFFBQVE7YUFDdEIsQ0FBQyxDQUFDO1NBQ0o7UUFFRCxNQUFNLEVBQUUsZUFBZSxFQUFFLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQztRQUM3QyxJQUFJLE9BQU8sZUFBZSxLQUFLLFFBQVEsRUFBRTtZQUN2QyxJQUFJLENBQUMseUJBQXlCLEdBQUcsZUFBZSxDQUFDO1NBQ2xEO1FBQ0QsSUFBSSxlQUFlLEtBQUssU0FBUyxFQUFFO1lBQ2pDLElBQUksQ0FBQyx5QkFBeUIsR0FBRyxFQUFFLENBQUM7U0FDckM7SUFDSCxDQUFDOzsySEFsQ1UsOEJBQThCOytHQUE5Qiw4QkFBOEIsOEhDbEIzQyx5NUNBaURBOzJGRC9CYSw4QkFBOEI7a0JBTDFDLFNBQVM7K0JBQ0UsNkJBQTZCLG1CQUV0Qix1QkFBdUIsQ0FBQyxNQUFNOytIQUszQyxLQUFLO3NCQURSLEtBQUs7dUJBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBJbmplY3RvcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgVGVtcGxhdGVSZWYsXG4gIFR5cGVcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEZpbHRlcmluZ0Zvcm1SZW5kZXJlckNvbnRleHQsIEZpbHRlcmluZ0Zvcm1SZW5kZXJlclNwZWMgfSBmcm9tICcuL2ZpbHRlcmluZy1mb3JtLXJlbmRlcmVyJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYzh5LWZpbHRlcmluZy1mb3JtLXJlbmRlcmVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpbHRlcmluZy1mb3JtLXJlbmRlcmVyLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgRmlsdGVyaW5nRm9ybVJlbmRlcmVyQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgc3BlYzogRmlsdGVyaW5nRm9ybVJlbmRlcmVyU3BlYztcbiAgQElucHV0KCdzcGVjJylcbiAgc2V0IF9zcGVjKHNwZWM6IEZpbHRlcmluZ0Zvcm1SZW5kZXJlclNwZWMpIHtcbiAgICB0aGlzLnNwZWMgPSBzcGVjO1xuICB9XG5cbiAgcmVuZGVyZXJUeXBlOiAnVEVNUExBVEUnIHwgJ0NPTVBPTkVOVCc7XG4gIHJlbmRlcmVySW5qZWN0b3I6IEluamVjdG9yO1xuICBkZWZhdWx0UmVuZGVyZXJGaWx0ZXJUZXh0ID0gJyc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsIHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIG5nT25DaGFuZ2VzKCkge1xuICAgIGNvbnN0IHsgcmVuZGVyZXIsIGNvbnRleHQgfSA9IHRoaXMuc3BlYztcblxuICAgIGlmIChyZW5kZXJlciBpbnN0YW5jZW9mIFRlbXBsYXRlUmVmKSB7XG4gICAgICB0aGlzLnJlbmRlcmVyVHlwZSA9ICdURU1QTEFURSc7XG4gICAgfSBlbHNlIGlmIChyZW5kZXJlciBpbnN0YW5jZW9mIFR5cGUpIHtcbiAgICAgIHRoaXMucmVuZGVyZXJUeXBlID0gJ0NPTVBPTkVOVCc7XG5cbiAgICAgIHRoaXMucmVuZGVyZXJJbmplY3RvciA9IEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogRmlsdGVyaW5nRm9ybVJlbmRlcmVyQ29udGV4dCwgdXNlVmFsdWU6IHRoaXMuc3BlYy5jb250ZXh0IH1dLFxuICAgICAgICBwYXJlbnQ6IHRoaXMuaW5qZWN0b3JcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGNvbnN0IHsgZmlsdGVyUHJlZGljYXRlIH0gPSBjb250ZXh0LnByb3BlcnR5O1xuICAgIGlmICh0eXBlb2YgZmlsdGVyUHJlZGljYXRlID09PSAnc3RyaW5nJykge1xuICAgICAgdGhpcy5kZWZhdWx0UmVuZGVyZXJGaWx0ZXJUZXh0ID0gZmlsdGVyUHJlZGljYXRlO1xuICAgIH1cbiAgICBpZiAoZmlsdGVyUHJlZGljYXRlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuZGVmYXVsdFJlbmRlcmVyRmlsdGVyVGV4dCA9ICcnO1xuICAgIH1cbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cInNwZWMucmVuZGVyZXJcIj5cbiAgPG5nLWNvbnRhaW5lclxuICAgICpuZ0lmPVwicmVuZGVyZXJUeXBlID09PSAnVEVNUExBVEUnXCJcbiAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJzcGVjLnJlbmRlcmVyXCJcbiAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IHNwZWMuY29udGV4dCB9XCJcbiAgPjwvbmctY29udGFpbmVyPlxuXG4gIDxuZy1jb250YWluZXJcbiAgICAqbmdJZj1cInJlbmRlcmVyVHlwZSA9PT0gJ0NPTVBPTkVOVCdcIlxuICAgIFtuZ0NvbXBvbmVudE91dGxldF09XCJzcGVjLnJlbmRlcmVyXCJcbiAgICBbbmdDb21wb25lbnRPdXRsZXRJbmplY3Rvcl09XCJyZW5kZXJlckluamVjdG9yXCJcbiAgPjwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCIhc3BlYy5yZW5kZXJlclwiPlxuICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCBwLXQtOFwiPlxuICAgIDxsYWJlbD57eyAnRmlsdGVyIHRleHQnIHwgdHJhbnNsYXRlIH19PC9sYWJlbD5cbiAgICA8aW5wdXRcbiAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgIFsobmdNb2RlbCldPVwiZGVmYXVsdFJlbmRlcmVyRmlsdGVyVGV4dFwiXG4gICAgICAoa2V5dXAuZW50ZXIpPVwiXG4gICAgICAgIHNwZWMuY29udGV4dC5hcHBseUZpbHRlcih7XG4gICAgICAgICAgZmlsdGVyUHJlZGljYXRlOiBkZWZhdWx0UmVuZGVyZXJGaWx0ZXJUZXh0XG4gICAgICAgIH0pXG4gICAgICBcIlxuICAgIC8+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJkYXRhLWdyaWRfX2Ryb3Bkb3duX19mb290ZXIgZC1mbGV4IHNlcGFyYXRvci10b3BcIj5cbiAgICA8YnV0dG9uXG4gICAgICB0aXRsZT1cInt7ICdSZXNldCcgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgY2xhc3M9XCJidG4gYnRuLWRlZmF1bHQgYnRuLXNtIGZsZXgtZ3JvdyBtLXItOFwiXG4gICAgICAoY2xpY2spPVwiZGVmYXVsdFJlbmRlcmVyRmlsdGVyVGV4dCA9ICcnOyBzcGVjLmNvbnRleHQucmVzZXRGaWx0ZXIoKVwiXG4gICAgPlxuICAgICAge3sgJ1Jlc2V0JyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b25cbiAgICAgIHRpdGxlPVwie3sgJ0FwcGx5JyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBidG4tc20gZmxleC1ncm93XCJcbiAgICAgIChjbGljayk9XCJcbiAgICAgICAgc3BlYy5jb250ZXh0LmFwcGx5RmlsdGVyKHtcbiAgICAgICAgICBmaWx0ZXJQcmVkaWNhdGU6IGRlZmF1bHRSZW5kZXJlckZpbHRlclRleHRcbiAgICAgICAgfSlcbiAgICAgIFwiXG4gICAgPlxuICAgICAge3sgJ0FwcGx5JyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuIl19
@@ -2,7 +2,6 @@ import { Injectable, Injector } from '@angular/core';
2
2
  import { OptionsService } from '../common/options.service';
3
3
  import { documentationItems } from './defaults.items';
4
4
  import { AppStateService } from '../common/ui-state.service';
5
- import { gettext } from '../i18n/gettext';
6
5
  import { HOOK_DOCS } from './docs.models';
7
6
  import { ExtensionPointWithoutStateForPlugins, fromTriggerOnce, getInjectedHooks } from '../common/extension-hooks';
8
7
  import { Router } from '@angular/router';
@@ -65,7 +64,6 @@ export class DocsService extends ExtensionPointWithoutStateForPlugins {
65
64
  get() {
66
65
  // use the function as a factory
67
66
  const { links, noDefault, excludeDefault = [] } = this.options.get('docs', {});
68
- const { supportUrl } = this.app.state;
69
67
  let staticLinks = noDefault
70
68
  ? []
71
69
  : documentationItems
@@ -81,14 +79,6 @@ export class DocsService extends ExtensionPointWithoutStateForPlugins {
81
79
  });
82
80
  staticLinks = staticLinks.concat(links);
83
81
  }
84
- if (supportUrl) {
85
- staticLinks.push({
86
- icon: 'comments',
87
- label: gettext('Forum support'),
88
- url: supportUrl,
89
- type: 'doc'
90
- });
91
- }
92
82
  return staticLinks;
93
83
  }
94
84
  setupItemsObservable() {
@@ -133,4 +123,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
133
123
  providedIn: 'root'
134
124
  }]
135
125
  }], ctorParameters: function () { return [{ type: i1.OptionsService }, { type: i2.AppStateService }, { type: i0.Injector }, { type: i3.Router }, { type: i4.PluginsResolveService }]; } });
136
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29yZS9kb2NzL2RvY3Muc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQVcsU0FBUyxFQUFvQixNQUFNLGVBQWUsQ0FBQztBQUNyRSxPQUFPLEVBQ0wsb0NBQW9DLEVBQ3BDLGVBQWUsRUFDZixnQkFBZ0IsRUFDakIsTUFBTSwyQkFBMkIsQ0FBQztBQUVuQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxHQUFHLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDN0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sWUFBWSxDQUFDOzs7Ozs7QUFLbkQsTUFBTSxPQUFPLFdBQVksU0FBUSxvQ0FBNkM7SUFLNUUsWUFDVSxPQUF1QixFQUN2QixHQUFvQixFQUM1QixZQUFzQixFQUNkLE1BQWMsRUFDdEIsT0FBOEI7UUFFOUIsS0FBSyxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsQ0FBQztRQU5yQixZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUN2QixRQUFHLEdBQUgsR0FBRyxDQUFpQjtRQUVwQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FB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V0FBVyxjQUZWLE1BQU07MkZBRVAsV0FBVztrQkFIdkIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT3B0aW9uc1NlcnZpY2UgfSBmcm9tICcuLi9jb21tb24vb3B0aW9ucy5zZXJ2aWNlJztcbmltcG9ydCB7IGRvY3VtZW50YXRpb25JdGVtcyB9IGZyb20gJy4vZGVmYXVsdHMuaXRlbXMnO1xuaW1wb3J0IHsgQXBwU3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vY29tbW9uL3VpLXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgZ2V0dGV4dCB9IGZyb20gJy4uL2kxOG4vZ2V0dGV4dCc7XG5pbXBvcnQgeyBEb2NMaW5rLCBIT09LX0RPQ1MsIERvY0xpbmtXaXRoTGFiZWwgfSBmcm9tICcuL2RvY3MubW9kZWxzJztcbmltcG9ydCB7XG4gIEV4dGVuc2lvblBvaW50V2l0aG91dFN0YXRlRm9yUGx1Z2lucyxcbiAgZnJvbVRyaWdnZXJPbmNlLFxuICBnZXRJbmplY3RlZEhvb2tzXG59IGZyb20gJy4uL2NvbW1vbi9leHRlbnNpb24taG9va3MnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IHNoYXJlUmVwbGF5LCBmaXJzdCwgZmlsdGVyLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IGlzVW5kZWZpbmVkLCBnZXQgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgUGx1Z2luc1Jlc29sdmVTZXJ2aWNlIH0gZnJvbSAnLi4vcGx1Z2lucyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIERvY3NTZXJ2aWNlIGV4dGVuZHMgRXh0ZW5zaW9uUG9pbnRXaXRob3V0U3RhdGVGb3JQbHVnaW5zPERvY0xpbms+IHtcbiAgLyoqXG4gICAqIERlZmF1bHQgZG9jdW1lbnRhdGlvbiBVUkwuXG4gICAqL1xuICByZWFkb25seSBERUZBVUxUX0RPQ1NfQkFTRV9VUkwgPSAnaHR0cHM6Ly93d3cuY3VtdWxvY2l0eS5jb20vZ3VpZGVzL3t7IHZlcnNpb24gfX0nO1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG9wdGlvbnM6IE9wdGlvbnNTZXJ2aWNlLFxuICAgIHByaXZhdGUgYXBwOiBBcHBTdGF0ZVNlcnZpY2UsXG4gICAgcm9vdEluamVjdG9yOiBJbmplY3RvcixcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHBsdWdpbnM6IFBsdWdpbnNSZXNvbHZlU2VydmljZVxuICApIHtcbiAgICBzdXBlcihyb290SW5qZWN0b3IsIHBsdWdpbnMpO1xuICAgIHRoaXMuaXRlbXMkID0gdGhpcy5zZXR1cEl0ZW1zT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0QmFzZVVybCh1aVZlcnNpb24/OiBzdHJpbmcgfCB7IG5neDogc3RyaW5nIH0pOiBzdHJpbmcge1xuICAgIGNvbnN0IGRvY3NCYXNlVXJsID0gdGhpcy5vcHRpb25zLmdldCgnZG9jc0Jhc2VVcmwnLCB0aGlzLkRFRkFVTFRfRE9DU19CQVNFX1VSTCk7XG4gICAgcmV0dXJuIHRoaXMuZ2V0VXJsV2l0aERvY3NWZXJzaW9uKGRvY3NCYXNlVXJsLCB1aVZlcnNpb24pO1xuICB9XG5cbiAgLyoqXG4gICAqIFRha2VzIGEgVVJMIGFuZCByZXBsYWNlcyBhbGwgYHt7IHZlcnNpb24gfX1gIHBsYWNlaG9sZGVycyB3aXRoIHRoZSByZWxldmFudCBkb2NzIHZlcnNpb25cbiAgICogKHRoZSB2ZXJzaW9uIGlzIGRlcml2ZWQgZnJvbSB0aGUgYXBwIHN0YXRlIG9yIGZyb20gdGhlIHByb3ZpZGVkIHBhcmFtZXRlcikuXG4gICAqIEBwYXJhbSB1cmwgQW55IFVSTCB0aGF0IGNvbnRhaW5zIGB7eyB2ZXJzaW9uIH19YCBwbGFjZWhvbGRlcnMuXG4gICAqIEBwYXJhbSB1aVZlcnNpb24gQSB2ZXJzaW9uIHN0cmluZyBvciBvYmplY3QsIGRlZmF1bHRzIHRvIHRoZSBhcHAgc3RhdGUgdmVyc2lvbi5cbiAgICogQHJldHVybnMgVGhlIFVSTCB3aXRoIHJlcGxhY2VkIGB7eyB2ZXJzaW9uIH19YCBwbGFjZWhvbGRlcnMuXG4gICAqL1xuICBnZXRVcmxXaXRoRG9jc1ZlcnNpb24oXG4gICAgdXJsOiBzdHJpbmcsXG4gICAgdWlWZXJzaW9uOiBzdHJpbmcgfCB7IG5neDogc3RyaW5nIH0gPSB0aGlzLmFwcC51aVZlcnNpb25cbiAgKTogc3RyaW5nIHtcbiAgICBjb25zdCB2ZXJzaW9uOiBzdHJpbmcgPSB0eXBlb2YgdWlWZXJzaW9uID09PSAnc3RyaW5nJyA/IHVpVmVyc2lvbiA6IGdldCh1aVZlcnNpb24sICduZ3gnKTtcbiAgICBsZXQgZG9jc1ZlcnNpb24gPSAnJztcbiAgICBpZiAoIShpc1VuZGVmaW5lZCh2ZXJzaW9uKSB8fCB2ZXJzaW9uID09PSAnJykpIHtcbiAgICAgIGRvY3NWZXJzaW9uID0gdGhpcy5nZXREb2NzVmVyc2lvbkZvclVpVmVyc2lvbih2ZXJzaW9uKTtcbiAgICB9XG4gICAgcmV0dXJuIHVybC5yZXBsYWNlKC97e1xccyp2ZXJzaW9uXFxzKn19L2csIGRvY3NWZXJzaW9uKS5yZXBsYWNlKC9cXC8rJC9nLCAnJyk7XG4gIH1cblxuICBnZXQgdGVtcGxhdGVTdHIoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5vcHRpb25zLmdldCgnZ3VpZGVIcmVmVGVtcGxhdGUnLCAnJHtkb2NzQmFzZVVybH0ke3BhcnRpYWxVcmx9Jyk7XG4gIH1cblxuICBnZXRVc2VyR3VpZGVMaW5rKGxpbmspIHtcbiAgICBpZiAoL15odHRwcz86Ly50ZXN0KGxpbmspKSB7XG4gICAgICByZXR1cm4gbGluaztcbiAgICB9XG4gICAgaWYgKHRoaXMuZ2V0QmFzZVVybCA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmdldExpbmsodGhpcy50ZW1wbGF0ZVN0ciwgbGluayk7XG4gIH1cblxuICBsaXN0KCkge1xuICAgIHJldHVybiB0aGlzLml0ZW1zJFxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcihpID0+ICEhaS5sZW5ndGgpLFxuICAgICAgICBmaXJzdCgpXG4gICAgICApXG4gICAgICAudG9Qcm9taXNlKCk7XG4gIH1cblxuICBnZXQoKSB7XG4gICAgLy8gdXNlIHRoZSBmdW5jdGlvbiBhcyBhIGZhY3RvcnlcbiAgICBjb25zdCB7IGxpbmtzLCBub0RlZmF1bHQsIGV4Y2x1ZGVEZWZhdWx0ID0gW10gfSA9IHRoaXMub3B0aW9ucy5nZXQoJ2RvY3MnLCB7fSk7XG4gICAgY29uc3QgeyBzdXBwb3J0VXJsIH0gPSB0aGlzLmFwcC5zdGF0ZTtcbiAgICBsZXQgc3RhdGljTGlua3MgPSBub0RlZmF1bHRcbiAgICAgID8gW11cbiAgICAgIDogZG9jdW1lbnRhdGlvbkl0ZW1zXG4gICAgICAgICAgLm1hcCgoaXRlbTogRG9jTGlua1dpdGhMYWJlbCkgPT4gKHsgLi4uaXRlbSwgdXJsOiB0aGlzLmdldFVzZXJHdWlkZUxpbmsoaXRlbS51cmwpIH0pKVxuICAgICAgICAgIC5maWx0ZXIoKHsgdXJsIH0pID0+ICFleGNsdWRlRGVmYXVsdC5zb21lKGUgPT4gbmV3IFJlZ0V4cChlKS50ZXN0KHVybCkpKTtcblxuICAgIGlmIChsaW5rcykge1xuICAgICAgLy8gYmFja3dhcmRzIGNvbXBhdGliaWxpdHlcbiAgICAgIGxpbmtzLm1hcCgobG5rOiBEb2NMaW5rKSA9PiB7XG4gICAgICAgIGlmIChpc1VuZGVmaW5lZChsbmsudHlwZSkpIHtcbiAgICAgICAgICBsbmsudHlwZSA9ICdkb2MnO1xuICAgICAgICAgIHJldHVybiBsbms7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgc3RhdGljTGlua3MgPSBzdGF0aWNMaW5rcy5jb25jYXQobGlua3MpO1xuICAgIH1cbiAgICBpZiAoc3VwcG9ydFVybCkge1xuICAgICAgc3RhdGljTGlua3MucHVzaCh7XG4gICAgICAgIGljb246ICdjb21tZW50cycsXG4gICAgICAgIGxhYmVsOiBnZXR0ZXh0KCdGb3J1bSBzdXBwb3J0JyksXG4gICAgICAgIHVybDogc3VwcG9ydFVybCxcbiAgICAgICAgdHlwZTogJ2RvYydcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gc3RhdGljTGlua3M7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0dXBJdGVtc09ic2VydmFibGUoKTogT2JzZXJ2YWJsZTxEb2NMaW5rW10+IHtcbiAgICBjb25zdCBzdXBwb3J0VXJsUmVmcmVzaFRyaWdnZXIgPSB0aGlzLmFwcC5tYXAoKHsgc3VwcG9ydFVybCB9KSA9PiBzdXBwb3J0VXJsKTtcbiAgICByZXR1cm4gZnJvbVRyaWdnZXJPbmNlPERvY0xpbms+KFxuICAgICAgdGhpcy5yb3V0ZXIsXG4gICAgICBbc3VwcG9ydFVybFJlZnJlc2hUcmlnZ2VyLCB0aGlzLnJlZnJlc2gkXSxcbiAgICAgIFtnZXRJbmplY3RlZEhvb2tzPERvY0xpbms+KEhPT0tfRE9DUywgdGhpcy5pbmplY3RvcnMpLCAoKSA9PiB0aGlzLmZhY3RvcmllcywgdGhpc11cbiAgICApLnBpcGUoc2hhcmVSZXBsYXkoMSksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRMaW5rKHRlbXBsYXRlU3RyLCBwYXJ0aWFsTGluaykge1xuICAgIGlmICghdGVtcGxhdGVTdHIpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIHJldHVybiB0ZW1wbGF0ZVN0clxuICAgICAgLnJlcGxhY2UoL1xcJHtkb2NzQmFzZVVybH0vLCB0aGlzLmdldEJhc2VVcmwoKSlcbiAgICAgIC5yZXBsYWNlKC9cXCR7cGFydGlhbFVybH0vLCB0aGlzLnByZWZpeFdpdGhTbGFzaChwYXJ0aWFsTGluaykpO1xuICB9XG5cbiAgcHJpdmF0ZSBwcmVmaXhXaXRoU2xhc2gocGFydGlhbExpbmsgPSAnJykge1xuICAgIGNvbnN0IHNob3VsZFByZWZpeCA9ICEocGFydGlhbExpbmsgJiYgL15cXC8vLnRlc3QocGFydGlhbExpbmspKTtcbiAgICBjb25zdCBwcmVmaXggPSBzaG91bGRQcmVmaXggPyAnLycgOiAnJztcbiAgICByZXR1cm4gYCR7cHJlZml4fSR7cGFydGlhbExpbmt9YDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBtb3N0IHJlbGV2YW50IHZlcnNpb24gb2YgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIGdpdmVuIHZlcnNpb24gb2YgVUkuXG4gICAqIEZvciBtYWludGVuYW5jZSB2ZXJzaW9ucywgaXQncyB0aGUgZmlyc3QgdmVyc2lvbiBpbiB0aGUgbGluZSwgZS5nLiAxMDE3LjAuMTIzIC0+IDEwLjE3LjAuXG4gICAqIEZvciBkZXZlbG9wIHZlcnNpb25zLCBpdCdzIHRoZSBuZXh0IG1pbm9yIG9uZSwgZS5nLiAxMDE3LjEyMy4wLVNOQVBTSE9UIC0+IDEwLjE4LjAuXG4gICAqXG4gICAqIEBwYXJhbSB1aVZlcnNpb24gVGhlIHZlcnNpb24gb2YgVUkuXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBwcml2YXRlIGdldERvY3NWZXJzaW9uRm9yVWlWZXJzaW9uKHVpVmVyc2lvbjogc3RyaW5nKSB7XG4gICAgY29uc3QgW21ham9yTWlub3JTdHIsIHBhdGNoU3RyXSA9IHVpVmVyc2lvbi5zcGxpdCgnLicpO1xuICAgIGNvbnN0IHBhdGNoTnVtYmVyID0gcGFyc2VJbnQocGF0Y2hTdHIsIDEwKTtcbiAgICBjb25zdCB0YWtlTmV4dE1pbm9yID0gcGF0Y2hOdW1iZXIgPiAwO1xuICAgIGNvbnN0IG1ham9yTnVtYmVyID0gTWF0aC5mbG9vcihwYXJzZUludChtYWpvck1pbm9yU3RyLCAxMCkgLyAxMDApO1xuICAgIGNvbnN0IG1pbm9yTnVtYmVyID0gcGFyc2VJbnQobWFqb3JNaW5vclN0ciwgMTApIC0gbWFqb3JOdW1iZXIgKiAxMDAgKyAodGFrZU5leHRNaW5vciA/IDEgOiAwKTtcbiAgICByZXR1cm4gYCR7bWFqb3JOdW1iZXJ9LiR7bWlub3JOdW1iZXJ9LjBgO1xuICB9XG59XG4iXX0=
126
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29yZS9kb2NzL2RvY3Muc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBVyxTQUFTLEVBQW9CLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFDTCxvQ0FBb0MsRUFDcEMsZUFBZSxFQUNmLGdCQUFnQixFQUNqQixNQUFNLDJCQUEyQixDQUFDO0FBRW5DLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRixPQUFPLEVBQUUsV0FBVyxFQUFFLEdBQUcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUM3QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxZQUFZLENBQUM7Ozs7OztBQUtuRCxNQUFNLE9BQU8sV0FBWSxTQUFRLG9DQUE2QztJQUs1RSxZQUNVLE9BQXVCLEVBQ3ZCLEdBQW9CLEVBQzVCLFlBQXNCLEVBQ2QsTUFBYyxFQUN0QixPQUE4QjtRQUU5QixLQUFLLENBQUMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBTnJCLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBQ3ZCLFFBQUcsR0FBSCxHQUFHLENBQWlCO1FBRXBCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFSeEI7O1dBRUc7UUFDTSwwQkFBcUIsR0FBRyxpREFBaUQsQ0FBQztRQVNq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L0QsTUFBTSxNQUFNLEdBQUcsWUFBWSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUN2QyxPQUFPLEdBQUcsTUFBTSxHQUFHLFdBQVcsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0ssMEJBQTBCLENBQUMsU0FBaUI7UUFDbEQsTUFBTSxDQUFDLGFBQWEsRUFBRSxRQUFRLENBQUMsR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZELE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDM0MsTUFBTSxhQUFhLEdBQUcsV0FBVyxHQUFHLENBQUMsQ0FBQztRQUN0QyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFDbEUsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUMsR0FBRyxXQUFXLEdBQUcsR0FBRyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzlGLE9BQU8sR0FBRyxXQUFXLElBQUksV0FBVyxJQUFJLENBQUM7SUFDM0MsQ0FBQzs7d0dBNUhVLFdBQVc7NEdBQVgsV0FBVyxjQUZWLE1BQU07MkZBRVAsV0FBVztrQkFIdkIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT3B0aW9uc1NlcnZpY2UgfSBmcm9tICcuLi9jb21tb24vb3B0aW9ucy5zZXJ2aWNlJztcbmltcG9ydCB7IGRvY3VtZW50YXRpb25JdGVtcyB9IGZyb20gJy4vZGVmYXVsdHMuaXRlbXMnO1xuaW1wb3J0IHsgQXBwU3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vY29tbW9uL3VpLXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgRG9jTGluaywgSE9PS19ET0NTLCBEb2NMaW5rV2l0aExhYmVsIH0gZnJvbSAnLi9kb2NzLm1vZGVscyc7XG5pbXBvcnQge1xuICBFeHRlbnNpb25Qb2ludFdpdGhvdXRTdGF0ZUZvclBsdWdpbnMsXG4gIGZyb21UcmlnZ2VyT25jZSxcbiAgZ2V0SW5qZWN0ZWRIb29rc1xufSBmcm9tICcuLi9jb21tb24vZXh0ZW5zaW9uLWhvb2tzJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBzaGFyZVJlcGxheSwgZmlyc3QsIGZpbHRlciwgZGlzdGluY3RVbnRpbENoYW5nZWQgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBpc1VuZGVmaW5lZCwgZ2V0IH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IFBsdWdpbnNSZXNvbHZlU2VydmljZSB9IGZyb20gJy4uL3BsdWdpbnMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBEb2NzU2VydmljZSBleHRlbmRzIEV4dGVuc2lvblBvaW50V2l0aG91dFN0YXRlRm9yUGx1Z2luczxEb2NMaW5rPiB7XG4gIC8qKlxuICAgKiBEZWZhdWx0IGRvY3VtZW50YXRpb24gVVJMLlxuICAgKi9cbiAgcmVhZG9ubHkgREVGQVVMVF9ET0NTX0JBU0VfVVJMID0gJ2h0dHBzOi8vd3d3LmN1bXVsb2NpdHkuY29tL2d1aWRlcy97eyB2ZXJzaW9uIH19JztcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBvcHRpb25zOiBPcHRpb25zU2VydmljZSxcbiAgICBwcml2YXRlIGFwcDogQXBwU3RhdGVTZXJ2aWNlLFxuICAgIHJvb3RJbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwbHVnaW5zOiBQbHVnaW5zUmVzb2x2ZVNlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIocm9vdEluamVjdG9yLCBwbHVnaW5zKTtcbiAgICB0aGlzLml0ZW1zJCA9IHRoaXMuc2V0dXBJdGVtc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldEJhc2VVcmwodWlWZXJzaW9uPzogc3RyaW5nIHwgeyBuZ3g6IHN0cmluZyB9KTogc3RyaW5nIHtcbiAgICBjb25zdCBkb2NzQmFzZVVybCA9IHRoaXMub3B0aW9ucy5nZXQoJ2RvY3NCYXNlVXJsJywgdGhpcy5ERUZBVUxUX0RPQ1NfQkFTRV9VUkwpO1xuICAgIHJldHVybiB0aGlzLmdldFVybFdpdGhEb2NzVmVyc2lvbihkb2NzQmFzZVVybCwgdWlWZXJzaW9uKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUYWtlcyBhIFVSTCBhbmQgcmVwbGFjZXMgYWxsIGB7eyB2ZXJzaW9uIH19YCBwbGFjZWhvbGRlcnMgd2l0aCB0aGUgcmVsZXZhbnQgZG9jcyB2ZXJzaW9uXG4gICAqICh0aGUgdmVyc2lvbiBpcyBkZXJpdmVkIGZyb20gdGhlIGFwcCBzdGF0ZSBvciBmcm9tIHRoZSBwcm92aWRlZCBwYXJhbWV0ZXIpLlxuICAgKiBAcGFyYW0gdXJsIEFueSBVUkwgdGhhdCBjb250YWlucyBge3sgdmVyc2lvbiB9fWAgcGxhY2Vob2xkZXJzLlxuICAgKiBAcGFyYW0gdWlWZXJzaW9uIEEgdmVyc2lvbiBzdHJpbmcgb3Igb2JqZWN0LCBkZWZhdWx0cyB0byB0aGUgYXBwIHN0YXRlIHZlcnNpb24uXG4gICAqIEByZXR1cm5zIFRoZSBVUkwgd2l0aCByZXBsYWNlZCBge3sgdmVyc2lvbiB9fWAgcGxhY2Vob2xkZXJzLlxuICAgKi9cbiAgZ2V0VXJsV2l0aERvY3NWZXJzaW9uKFxuICAgIHVybDogc3RyaW5nLFxuICAgIHVpVmVyc2lvbjogc3RyaW5nIHwgeyBuZ3g6IHN0cmluZyB9ID0gdGhpcy5hcHAudWlWZXJzaW9uXG4gICk6IHN0cmluZyB7XG4gICAgY29uc3QgdmVyc2lvbjogc3RyaW5nID0gdHlwZW9mIHVpVmVyc2lvbiA9PT0gJ3N0cmluZycgPyB1aVZlcnNpb24gOiBnZXQodWlWZXJzaW9uLCAnbmd4Jyk7XG4gICAgbGV0IGRvY3NWZXJzaW9uID0gJyc7XG4gICAgaWYgKCEoaXNVbmRlZmluZWQodmVyc2lvbikgfHwgdmVyc2lvbiA9PT0gJycpKSB7XG4gICAgICBkb2NzVmVyc2lvbiA9IHRoaXMuZ2V0RG9jc1ZlcnNpb25Gb3JVaVZlcnNpb24odmVyc2lvbik7XG4gICAgfVxuICAgIHJldHVybiB1cmwucmVwbGFjZSgve3tcXHMqdmVyc2lvblxccyp9fS9nLCBkb2NzVmVyc2lvbikucmVwbGFjZSgvXFwvKyQvZywgJycpO1xuICB9XG5cbiAgZ2V0IHRlbXBsYXRlU3RyKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMub3B0aW9ucy5nZXQoJ2d1aWRlSHJlZlRlbXBsYXRlJywgJyR7ZG9jc0Jhc2VVcmx9JHtwYXJ0aWFsVXJsfScpO1xuICB9XG5cbiAgZ2V0VXNlckd1aWRlTGluayhsaW5rKSB7XG4gICAgaWYgKC9eaHR0cHM/Oi8udGVzdChsaW5rKSkge1xuICAgICAgcmV0dXJuIGxpbms7XG4gICAgfVxuICAgIGlmICh0aGlzLmdldEJhc2VVcmwgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5nZXRMaW5rKHRoaXMudGVtcGxhdGVTdHIsIGxpbmspO1xuICB9XG5cbiAgbGlzdCgpIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtcyRcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoaSA9PiAhIWkubGVuZ3RoKSxcbiAgICAgICAgZmlyc3QoKVxuICAgICAgKVxuICAgICAgLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgZ2V0KCkge1xuICAgIC8vIHVzZSB0aGUgZnVuY3Rpb24gYXMgYSBmYWN0b3J5XG4gICAgY29uc3QgeyBsaW5rcywgbm9EZWZhdWx0LCBleGNsdWRlRGVmYXVsdCA9IFtdIH0gPSB0aGlzLm9wdGlvbnMuZ2V0KCdkb2NzJywge30pO1xuICAgIGxldCBzdGF0aWNMaW5rcyA9IG5vRGVmYXVsdFxuICAgICAgPyBbXVxuICAgICAgOiBkb2N1bWVudGF0aW9uSXRlbXNcbiAgICAgICAgICAubWFwKChpdGVtOiBEb2NMaW5rV2l0aExhYmVsKSA9PiAoeyAuLi5pdGVtLCB1cmw6IHRoaXMuZ2V0VXNlckd1aWRlTGluayhpdGVtLnVybCkgfSkpXG4gICAgICAgICAgLmZpbHRlcigoeyB1cmwgfSkgPT4gIWV4Y2x1ZGVEZWZhdWx0LnNvbWUoZSA9PiBuZXcgUmVnRXhwKGUpLnRlc3QodXJsKSkpO1xuXG4gICAgaWYgKGxpbmtzKSB7XG4gICAgICAvLyBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eVxuICAgICAgbGlua3MubWFwKChsbms6IERvY0xpbmspID0+IHtcbiAgICAgICAgaWYgKGlzVW5kZWZpbmVkKGxuay50eXBlKSkge1xuICAgICAgICAgIGxuay50eXBlID0gJ2RvYyc7XG4gICAgICAgICAgcmV0dXJuIGxuaztcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICBzdGF0aWNMaW5rcyA9IHN0YXRpY0xpbmtzLmNvbmNhdChsaW5rcyk7XG4gICAgfVxuICAgIHJldHVybiBzdGF0aWNMaW5rcztcbiAgfVxuXG4gIHByb3RlY3RlZCBzZXR1cEl0ZW1zT2JzZXJ2YWJsZSgpOiBPYnNlcnZhYmxlPERvY0xpbmtbXT4ge1xuICAgIGNvbnN0IHN1cHBvcnRVcmxSZWZyZXNoVHJpZ2dlciA9IHRoaXMuYXBwLm1hcCgoeyBzdXBwb3J0VXJsIH0pID0+IHN1cHBvcnRVcmwpO1xuICAgIHJldHVybiBmcm9tVHJpZ2dlck9uY2U8RG9jTGluaz4oXG4gICAgICB0aGlzLnJvdXRlcixcbiAgICAgIFtzdXBwb3J0VXJsUmVmcmVzaFRyaWdnZXIsIHRoaXMucmVmcmVzaCRdLFxuICAgICAgW2dldEluamVjdGVkSG9va3M8RG9jTGluaz4oSE9PS19ET0NTLCB0aGlzLmluamVjdG9ycyksICgpID0+IHRoaXMuZmFjdG9yaWVzLCB0aGlzXVxuICAgICkucGlwZShzaGFyZVJlcGxheSgxKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSk7XG4gIH1cblxuICBwcml2YXRlIGdldExpbmsodGVtcGxhdGVTdHIsIHBhcnRpYWxMaW5rKSB7XG4gICAgaWYgKCF0ZW1wbGF0ZVN0cikge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gICAgcmV0dXJuIHRlbXBsYXRlU3RyXG4gICAgICAucmVwbGFjZSgvXFwke2RvY3NCYXNlVXJsfS8sIHRoaXMuZ2V0QmFzZVVybCgpKVxuICAgICAgLnJlcGxhY2UoL1xcJHtwYXJ0aWFsVXJsfS8sIHRoaXMucHJlZml4V2l0aFNsYXNoKHBhcnRpYWxMaW5rKSk7XG4gIH1cblxuICBwcml2YXRlIHByZWZpeFdpdGhTbGFzaChwYXJ0aWFsTGluayA9ICcnKSB7XG4gICAgY29uc3Qgc2hvdWxkUHJlZml4ID0gIShwYXJ0aWFsTGluayAmJiAvXlxcLy8udGVzdChwYXJ0aWFsTGluaykpO1xuICAgIGNvbnN0IHByZWZpeCA9IHNob3VsZFByZWZpeCA/ICcvJyA6ICcnO1xuICAgIHJldHVybiBgJHtwcmVmaXh9JHtwYXJ0aWFsTGlua31gO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIG1vc3QgcmVsZXZhbnQgdmVyc2lvbiBvZiBkb2N1bWVudGF0aW9uIGZvciB0aGUgZ2l2ZW4gdmVyc2lvbiBvZiBVSS5cbiAgICogRm9yIG1haW50ZW5hbmNlIHZlcnNpb25zLCBpdCdzIHRoZSBmaXJzdCB2ZXJzaW9uIGluIHRoZSBsaW5lLCBlLmcuIDEwMTcuMC4xMjMgLT4gMTAuMTcuMC5cbiAgICogRm9yIGRldmVsb3AgdmVyc2lvbnMsIGl0J3MgdGhlIG5leHQgbWlub3Igb25lLCBlLmcuIDEwMTcuMTIzLjAtU05BUFNIT1QgLT4gMTAuMTguMC5cbiAgICpcbiAgICogQHBhcmFtIHVpVmVyc2lvbiBUaGUgdmVyc2lvbiBvZiBVSS5cbiAgICogQHByaXZhdGVcbiAgICovXG4gIHByaXZhdGUgZ2V0RG9jc1ZlcnNpb25Gb3JVaVZlcnNpb24odWlWZXJzaW9uOiBzdHJpbmcpIHtcbiAgICBjb25zdCBbbWFqb3JNaW5vclN0ciwgcGF0Y2hTdHJdID0gdWlWZXJzaW9uLnNwbGl0KCcuJyk7XG4gICAgY29uc3QgcGF0Y2hOdW1iZXIgPSBwYXJzZUludChwYXRjaFN0ciwgMTApO1xuICAgIGNvbnN0IHRha2VOZXh0TWlub3IgPSBwYXRjaE51bWJlciA+IDA7XG4gICAgY29uc3QgbWFqb3JOdW1iZXIgPSBNYXRoLmZsb29yKHBhcnNlSW50KG1ham9yTWlub3JTdHIsIDEwKSAvIDEwMCk7XG4gICAgY29uc3QgbWlub3JOdW1iZXIgPSBwYXJzZUludChtYWpvck1pbm9yU3RyLCAxMCkgLSBtYWpvck51bWJlciAqIDEwMCArICh0YWtlTmV4dE1pbm9yID8gMSA6IDApO1xuICAgIHJldHVybiBgJHttYWpvck51bWJlcn0uJHttaW5vck51bWJlcn0uMGA7XG4gIH1cbn1cbiJdfQ==
@@ -117,13 +117,28 @@ const ALL_GLOBAL_ROLES_SELECTED = 'all';
117
117
  const PRODUCT_EXPERIENCE = {
118
118
  DASHBOARD: {
119
119
  EVENTS: {
120
- DASHBOARD_AVAILABILITY: 'dashboardAvailability'
120
+ DASHBOARDS: 'dashboards',
121
+ REPORTS: 'reports'
121
122
  },
122
123
  COMPONENTS: {
123
- DASHBOARD_AVAILABILITY: 'dashboard-availability'
124
+ DASHBOARD_VIEW: 'context-dashboard',
125
+ DASHBOARD_AVAILABILITY: 'dashboard-availability',
126
+ REPORTS_LIST: 'report-dashboard-list',
127
+ ADD_REPORT: 'report-dashboard-list',
128
+ ADD_DASHBOARD: 'add-dashboard',
129
+ DELETE_DASHBOARD: 'context-dashboard'
130
+ },
131
+ CONTEXT: {
132
+ REPORT: 'report',
133
+ DEVICE: 'device',
134
+ ASSET: 'asset',
135
+ GROUP: 'group'
124
136
  },
125
137
  ACTIONS: {
126
- APPLY_GLOBAL_ROLES_CHANGES: 'applyGlobalRolesChanges'
138
+ APPLY_GLOBAL_ROLES_CHANGES: 'applyGlobalRolesChanges',
139
+ DELETE: 'delete',
140
+ LOAD: 'load',
141
+ CREATE: 'create'
127
142
  }
128
143
  }
129
144
  };
@@ -222,7 +237,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
222
237
  }], ctorParameters: function () { return [{ type: i5.NavigatorService }, { type: i1.InventoryService }, { type: ReportDashboardService }]; } });
223
238
 
224
239
  class ContextDashboardService {
225
- constructor(inventory, tabs, modal, translateService, router, navigator, permissions, alert, dynamicComponent) {
240
+ constructor(inventory, tabs, modal, translateService, router, navigator, permissions, alert, dynamicComponent, groupService) {
226
241
  this.inventory = inventory;
227
242
  this.tabs = tabs;
228
243
  this.modal = modal;
@@ -232,6 +247,7 @@ class ContextDashboardService {
232
247
  this.permissions = permissions;
233
248
  this.alert = alert;
234
249
  this.dynamicComponent = dynamicComponent;
250
+ this.groupService = groupService;
235
251
  this.REPORT_PARTIAL_NAME = 'report_';
236
252
  this.INVENTORY_ROLES = [
237
253
  Permissions.ROLE_INVENTORY_ADMIN,
@@ -454,6 +470,20 @@ class ContextDashboardService {
454
470
  }
455
471
  });
456
472
  }
473
+ getContextForGS(mo) {
474
+ if (this.groupService.isDevice(mo)) {
475
+ return PRODUCT_EXPERIENCE.DASHBOARD.CONTEXT.DEVICE;
476
+ }
477
+ else if (this.groupService.isAsset(mo)) {
478
+ return PRODUCT_EXPERIENCE.DASHBOARD.CONTEXT.ASSET;
479
+ }
480
+ else if (this.groupService.isGroup(mo)) {
481
+ return PRODUCT_EXPERIENCE.DASHBOARD.CONTEXT.GROUP;
482
+ }
483
+ else {
484
+ return null;
485
+ }
486
+ }
457
487
  serializeWidgetConfigs(dashboard) {
458
488
  return __awaiter(this, void 0, void 0, function* () {
459
489
  const children = cloneDeep(dashboard.c8y_Dashboard.children);
@@ -635,14 +665,14 @@ class ContextDashboardService {
635
665
  return null;
636
666
  }
637
667
  }
638
- ContextDashboardService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: ContextDashboardService, deps: [{ token: i1.InventoryService }, { token: i5.TabsService }, { token: i5.ModalService }, { token: i3.TranslateService }, { token: i1$1.Router }, { token: i5.NavigatorService }, { token: i5.Permissions }, { token: i5.AlertService }, { token: i5.DynamicComponentService }], target: i0.ɵɵFactoryTarget.Injectable });
668
+ ContextDashboardService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: ContextDashboardService, deps: [{ token: i1.InventoryService }, { token: i5.TabsService }, { token: i5.ModalService }, { token: i3.TranslateService }, { token: i1$1.Router }, { token: i5.NavigatorService }, { token: i5.Permissions }, { token: i5.AlertService }, { token: i5.DynamicComponentService }, { token: i5.GroupService }], target: i0.ɵɵFactoryTarget.Injectable });
639
669
  ContextDashboardService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: ContextDashboardService, providedIn: 'root' });
640
670
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: ContextDashboardService, decorators: [{
641
671
  type: Injectable,
642
672
  args: [{
643
673
  providedIn: 'root'
644
674
  }]
645
- }], ctorParameters: function () { return [{ type: i1.InventoryService }, { type: i5.TabsService }, { type: i5.ModalService }, { type: i3.TranslateService }, { type: i1$1.Router }, { type: i5.NavigatorService }, { type: i5.Permissions }, { type: i5.AlertService }, { type: i5.DynamicComponentService }]; } });
675
+ }], ctorParameters: function () { return [{ type: i1.InventoryService }, { type: i5.TabsService }, { type: i5.ModalService }, { type: i3.TranslateService }, { type: i1$1.Router }, { type: i5.NavigatorService }, { type: i5.Permissions }, { type: i5.AlertService }, { type: i5.DynamicComponentService }, { type: i5.GroupService }]; } });
646
676
 
647
677
  class AppearanceSettingsComponent {
648
678
  constructor() {
@@ -752,7 +782,7 @@ class DashboardAvailabilityComponent {
752
782
  this.globalRolesItemsSelected = items;
753
783
  if (allItemsSelected) {
754
784
  this.globalRolesIdsChange.emit(ALL_GLOBAL_ROLES_SELECTED);
755
- this.gainsightService.triggerEvent(PRODUCT_EXPERIENCE.DASHBOARD.EVENTS.DASHBOARD_AVAILABILITY, {
785
+ this.gainsightService.triggerEvent(PRODUCT_EXPERIENCE.DASHBOARD.EVENTS.DASHBOARDS, {
756
786
  component: PRODUCT_EXPERIENCE.DASHBOARD.COMPONENTS.DASHBOARD_AVAILABILITY,
757
787
  action: PRODUCT_EXPERIENCE.DASHBOARD.ACTIONS.APPLY_GLOBAL_ROLES_CHANGES,
758
788
  globalRoles: ALL_GLOBAL_ROLES_SELECTED
@@ -761,7 +791,7 @@ class DashboardAvailabilityComponent {
761
791
  else {
762
792
  const selectedGlobalRolesIds = items.map(i => i.id);
763
793
  this.globalRolesIdsChange.emit([...selectedGlobalRolesIds]);
764
- this.gainsightService.triggerEvent(PRODUCT_EXPERIENCE.DASHBOARD.EVENTS.DASHBOARD_AVAILABILITY, {
794
+ this.gainsightService.triggerEvent(PRODUCT_EXPERIENCE.DASHBOARD.EVENTS.DASHBOARDS, {
765
795
  component: PRODUCT_EXPERIENCE.DASHBOARD.COMPONENTS.DASHBOARD_AVAILABILITY,
766
796
  action: PRODUCT_EXPERIENCE.DASHBOARD.ACTIONS.APPLY_GLOBAL_ROLES_CHANGES,
767
797
  globalRoles: (_a = selectedGlobalRolesIds === null || selectedGlobalRolesIds === void 0 ? void 0 : selectedGlobalRolesIds.sort()) === null || _a === void 0 ? void 0 : _a.join()
@@ -929,11 +959,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
929
959
  }] } });
930
960
 
931
961
  class AddDashboardFactory {
932
- constructor(permissions, contextDashboardService, bsModal, contextRoute) {
962
+ constructor(permissions, contextDashboardService, bsModal, contextRoute, gainsightService) {
933
963
  this.permissions = permissions;
934
964
  this.contextDashboardService = contextDashboardService;
935
965
  this.bsModal = bsModal;
936
966
  this.contextRoute = contextRoute;
967
+ this.gainsightService = gainsightService;
937
968
  }
938
969
  get(activatedRoute) {
939
970
  var _a;
@@ -972,6 +1003,16 @@ class AddDashboardFactory {
972
1003
  const dashboardMO = yield this.contextDashboardService.create(dashboardCfg, this.currentContext);
973
1004
  yield this.contextDashboardService.navigateToDashboard(dashboardMO);
974
1005
  modal.close();
1006
+ this.gainsightService.triggerEvent(PRODUCT_EXPERIENCE.DASHBOARD.EVENTS.DASHBOARDS, {
1007
+ component: PRODUCT_EXPERIENCE.DASHBOARD.COMPONENTS.ADD_DASHBOARD,
1008
+ action: PRODUCT_EXPERIENCE.DASHBOARD.ACTIONS.CREATE,
1009
+ name: dashboardCfg.name,
1010
+ id: dashboardMO.id,
1011
+ dashboardType: dashboardMO.c8y_Dashboard.deviceType
1012
+ ? dashboardMO.c8y_Dashboard.deviceTypeValue
1013
+ : null,
1014
+ context: this.contextDashboardService.getContextForGS(this.currentContext.contextData)
1015
+ });
975
1016
  }
976
1017
  catch (ex) {
977
1018
  // intended empty
@@ -997,14 +1038,14 @@ class AddDashboardFactory {
997
1038
  });
998
1039
  }
999
1040
  }
1000
- AddDashboardFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: AddDashboardFactory, deps: [{ token: i5.Permissions }, { token: ContextDashboardService }, { token: i3$1.BsModalService }, { token: i5.ContextRouteService }], target: i0.ɵɵFactoryTarget.Injectable });
1041
+ AddDashboardFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: AddDashboardFactory, deps: [{ token: i5.Permissions }, { token: ContextDashboardService }, { token: i3$1.BsModalService }, { token: i5.ContextRouteService }, { token: i5.GainsightService }], target: i0.ɵɵFactoryTarget.Injectable });
1001
1042
  AddDashboardFactory.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: AddDashboardFactory, providedIn: 'root' });
1002
1043
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: AddDashboardFactory, decorators: [{
1003
1044
  type: Injectable,
1004
1045
  args: [{
1005
1046
  providedIn: 'root'
1006
1047
  }]
1007
- }], ctorParameters: function () { return [{ type: i5.Permissions }, { type: ContextDashboardService }, { type: i3$1.BsModalService }, { type: i5.ContextRouteService }]; } });
1048
+ }], ctorParameters: function () { return [{ type: i5.Permissions }, { type: ContextDashboardService }, { type: i3$1.BsModalService }, { type: i5.ContextRouteService }, { type: i5.GainsightService }]; } });
1008
1049
 
1009
1050
  class AddDashboardComponent {
1010
1051
  constructor(addDashboardFactory) {
@@ -1463,6 +1504,14 @@ class ContextDashboardComponent {
1463
1504
  const route = this.route.parent.snapshot.url.map(segment => segment.path).join('/');
1464
1505
  this.router.navigateByUrl(route);
1465
1506
  }
1507
+ this.gainsightService.triggerEvent(PRODUCT_EXPERIENCE.DASHBOARD.EVENTS.DASHBOARDS, {
1508
+ component: PRODUCT_EXPERIENCE.DASHBOARD.COMPONENTS.DELETE_DASHBOARD,
1509
+ action: PRODUCT_EXPERIENCE.DASHBOARD.ACTIONS.DELETE,
1510
+ name: this.dashboard.name,
1511
+ id: this.mo.id,
1512
+ dashboardType: this.dashboard.deviceType ? this.dashboard.deviceTypeValue : null,
1513
+ context: this.contextDashboardService.getContextForGS(this.context)
1514
+ });
1466
1515
  });
1467
1516
  }
1468
1517
  /**
@@ -1731,6 +1780,18 @@ class ContextDashboardComponent {
1731
1780
  this.addReportDashboardSettings();
1732
1781
  }
1733
1782
  this.isLoading = false;
1783
+ this.gainsightService.triggerEvent(isReport
1784
+ ? PRODUCT_EXPERIENCE.DASHBOARD.EVENTS.REPORTS
1785
+ : PRODUCT_EXPERIENCE.DASHBOARD.EVENTS.DASHBOARDS, {
1786
+ component: PRODUCT_EXPERIENCE.DASHBOARD.COMPONENTS.DASHBOARD_VIEW,
1787
+ action: PRODUCT_EXPERIENCE.DASHBOARD.ACTIONS.LOAD,
1788
+ name: this.dashboard.name,
1789
+ id: this.mo.id,
1790
+ dashboardType: this.dashboard.deviceType ? this.dashboard.deviceTypeValue : null,
1791
+ context: isReport
1792
+ ? PRODUCT_EXPERIENCE.DASHBOARD.CONTEXT.REPORT
1793
+ : this.contextDashboardService.getContextForGS(this.context)
1794
+ });
1734
1795
  });
1735
1796
  }
1736
1797
  mergeWidgetClasses(widget) {
@@ -2523,7 +2584,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
2523
2584
  }] });
2524
2585
 
2525
2586
  class ReportDashboardListComponent {
2526
- constructor(inventoryService, contextDashboardService, bsModal, translateService, modal, alertService, reportDashboardService, permissions) {
2587
+ constructor(inventoryService, contextDashboardService, bsModal, translateService, modal, alertService, reportDashboardService, permissions, gainsightService) {
2527
2588
  this.inventoryService = inventoryService;
2528
2589
  this.contextDashboardService = contextDashboardService;
2529
2590
  this.bsModal = bsModal;
@@ -2532,6 +2593,7 @@ class ReportDashboardListComponent {
2532
2593
  this.alertService = alertService;
2533
2594
  this.reportDashboardService = reportDashboardService;
2534
2595
  this.permissions = permissions;
2596
+ this.gainsightService = gainsightService;
2535
2597
  this.textFilter$ = new BehaviorSubject('');
2536
2598
  this.reload$ = new BehaviorSubject(null);
2537
2599
  this.reloading = false;
@@ -2587,6 +2649,13 @@ class ReportDashboardListComponent {
2587
2649
  }
2588
2650
  this.reload$.next();
2589
2651
  modal.close();
2652
+ this.gainsightService.triggerEvent(PRODUCT_EXPERIENCE.DASHBOARD.EVENTS.REPORTS, {
2653
+ component: PRODUCT_EXPERIENCE.DASHBOARD.COMPONENTS.ADD_REPORT,
2654
+ action: PRODUCT_EXPERIENCE.DASHBOARD.ACTIONS.CREATE,
2655
+ name: report.name,
2656
+ id: report.id,
2657
+ context: PRODUCT_EXPERIENCE.DASHBOARD.CONTEXT.REPORT
2658
+ });
2590
2659
  }
2591
2660
  catch (ex) {
2592
2661
  if (ex) {
@@ -2619,6 +2688,13 @@ class ReportDashboardListComponent {
2619
2688
  this.reportDashboardService.removeNavigatorNode(report);
2620
2689
  }
2621
2690
  this.reload$.next();
2691
+ this.gainsightService.triggerEvent(PRODUCT_EXPERIENCE.DASHBOARD.EVENTS.REPORTS, {
2692
+ component: PRODUCT_EXPERIENCE.DASHBOARD.COMPONENTS.REPORTS_LIST,
2693
+ action: PRODUCT_EXPERIENCE.DASHBOARD.ACTIONS.DELETE,
2694
+ name: report.name,
2695
+ id: report.id,
2696
+ context: PRODUCT_EXPERIENCE.DASHBOARD.CONTEXT.REPORT
2697
+ });
2622
2698
  }
2623
2699
  catch (ex) {
2624
2700
  if (ex) {
@@ -2637,12 +2713,12 @@ class ReportDashboardListComponent {
2637
2713
  });
2638
2714
  }
2639
2715
  }
2640
- ReportDashboardListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: ReportDashboardListComponent, deps: [{ token: i1.InventoryService }, { token: ContextDashboardService }, { token: i3$1.BsModalService }, { token: i3.TranslateService }, { token: i5.ModalService }, { token: i5.AlertService }, { token: ReportDashboardService }, { token: i5.Permissions }], target: i0.ɵɵFactoryTarget.Component });
2716
+ ReportDashboardListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: ReportDashboardListComponent, deps: [{ token: i1.InventoryService }, { token: ContextDashboardService }, { token: i3$1.BsModalService }, { token: i3.TranslateService }, { token: i5.ModalService }, { token: i5.AlertService }, { token: ReportDashboardService }, { token: i5.Permissions }, { token: i5.GainsightService }], target: i0.ɵɵFactoryTarget.Component });
2641
2717
  ReportDashboardListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: ReportDashboardListComponent, selector: "c8y-report-dashboard-list", viewQueries: [{ propertyName: "filter", first: true, predicate: FilterInputComponent, descendants: true }], ngImport: i0, template: "<c8y-title>\n {{ 'Reports' | translate }}\n</c8y-title>\n\n<c8y-action-bar-item [placement]=\"'left'\" itemClass=\"navbar-form\">\n <div class=\"input-group input-group-search\">\n <input\n class=\"form-control\"\n type=\"search\"\n [attr.aria-label]=\"'Filter' | translate\"\n placeholder=\"{{ 'Filter\u2026' | translate }}\"\n [ngModel]=\"textFilter$ | async\"\n (ngModelChange)=\"textFilter$.next($event)\"\n />\n <span class=\"input-group-addon\">\n <i c8yIcon=\"search\" *ngIf=\"(textFilter$ | async).length === 0\"></i>\n <i\n class=\"text-muted\"\n c8yIcon=\"times\"\n *ngIf=\"(textFilter$ | async).length > 0\"\n (click)=\"textFilter$.next('')\"\n px-event=\"Clear filtering reports\"\n ></i>\n </span>\n </div>\n</c8y-action-bar-item>\n\n<c8y-action-bar-item [placement]=\"'right'\">\n <button\n class=\"btn btn-link\"\n type=\"button\"\n title=\"{{ 'Add report' | translate }}\"\n [attr.data-cy]=\"'reports-add-report-action-bar-button'\"\n (click)=\"add()\"\n [disabled]=\"!canAddReport\"\n >\n <i c8yIcon=\"plus-circle\"></i>\n {{ 'Add report' | translate }}\n </button>\n <button\n class=\"btn btn-dot m-r-16\"\n type=\"button\"\n aria-label=\"{{ 'Info' | translate}}\"\n popover=\"{{ 'You don\\'t have permission to add reports' | translate }}\"\n triggers=\"focus\"\n placement=\"top\"\n container=\"body\"\n *ngIf=\"!canAddReport\"\n >\n <i [c8yIcon]=\"'info-circle'\" class=\"text-primary\"></i>\n </button>\n</c8y-action-bar-item>\n\n<c8y-action-bar-item [placement]=\"'right'\">\n <button\n title=\"{{ 'Reload' | translate }}\"\n type=\"button\"\n class=\"btn btn-link\"\n (click)=\"loadReports()\"\n >\n <i [ngClass]=\"{ 'icon-spin': reloading }\" c8yIcon=\"refresh\"></i>\n {{ 'Reload' | translate }}\n </button>\n</c8y-action-bar-item>\n\n<c8y-help src=\"/users-guide/cockpit/#reports\"></c8y-help>\n\n<c8y-list-group>\n <c8y-li\n class=\"page-sticky-header hidden-xs hidden-sm\"\n *ngIf=\"(reports$ | async)?.data.length > 0\"\n >\n <c8y-li-icon>\n <i class=\"p-l-24\"></i>\n </c8y-li-icon>\n <c8y-li-body class=\"content-flex-60\">\n <div class=\"col-3\">\n {{ 'Report' | translate }}\n </div>\n <div class=\"col-6\">\n {{ 'Description' | translate }}\n </div>\n <div class=\"col-2\">\n {{ 'Show in navigator' | translate }}\n </div>\n </c8y-li-body>\n </c8y-li>\n\n <c8y-li *c8yFor=\"let report of reports$; let i = index; loadMore: 'auto'\">\n <c8y-li-icon [icon]=\"report.icon\"></c8y-li-icon>\n <c8y-li-body class=\"content-flex-60\">\n <div class=\"col-3\">\n <button\n class=\"btn-clean\"\n type=\"button\"\n title=\"{{ report.name }}\"\n routerLink=\"/reports/{{ report.id }}\"\n >\n <span class=\"text-truncate\">\n {{ report.name }}\n </span>\n </button>\n </div>\n <div class=\"col-6\">\n <p class=\"small text-truncate-wrap\">\n <em class=\"text-muted\" *ngIf=\"!report.description; else showDescription\">\n {{ 'No description available' | translate }}\n </em>\n <ng-template #showDescription>\n {{ report.description }}\n </ng-template>\n </p>\n </div>\n <div class=\"col-2 fit-h-20 m-t-xs-8\">\n <label class=\"c8y-switch c8y-switch--inline\" title=\"{{ 'Show in navigator' | translate }}\">\n <input\n [(ngModel)]=\"!!report.c8y_IsNavigatorNode\"\n type=\"checkbox\"\n (change)=\"update(report)\"\n />\n <span></span>\n <span class=\"visible-xs\">\n {{ 'Show in navigator' | translate }}\n </span>\n </label>\n </div>\n <div class=\"col-1 hidden-xs\">\n <button\n class=\"btn btn-dot btn-dot--danger showOnHover m-l-auto d-flex\"\n type=\"button\"\n [attr.aria-label]=\"'Remove report' | translate\"\n tooltip=\"{{ 'Remove report' | translate }}\"\n [delay]=\"500\"\n (click)=\"delete(report)\"\n >\n <i c8yIcon=\"minus-circle\"></i>\n </button>\n </div>\n <div class=\"visible-xs p-t-8 text-right\">\n <button\n class=\"btn btn-default btn-sm\"\n type=\"button\"\n title=\"{{ 'Remove report' | translate }}\"\n (click)=\"delete(report)\"\n >\n <i c8yIcon=\"delete\"></i>\n {{ 'Remove report' | translate }}\n </button>\n </div>\n </c8y-li-body>\n </c8y-li>\n</c8y-list-group>\n\n<c8y-ui-empty-state\n *ngIf=\"(reports$ | async)?.data.length === 0\"\n [icon]=\"'c8y-reports'\"\n [title]=\"'There are no reports defined.' | translate\"\n [subtitle]=\"'Add a report first.' | translate\"\n>\n <p>\n <button\n class=\"btn btn-primary\"\n type=\"button\"\n title=\"{{ 'Add report' | translate }}\"\n [attr.data-cy]=\"'reports-add-report-empty-state-button'\"\n [disabled]=\"!canAddReport\"\n (click)=\"add()\"\n >\n {{ 'Add report' | translate }}\n </button>\n </p>\n <p c8y-guide-docs>\n <small translate ngNonBindable>\n Find out more in the\n <a c8y-guide-href=\"users-guide/cockpit/#reports\">User guide`KEEP_ORIGINAL`</a>\n .\n </small>\n </p>\n</c8y-ui-empty-state>\n", dependencies: [{ kind: "component", type: i5.ActionBarItemComponent, selector: "c8y-action-bar-item", inputs: ["placement", "priority", "itemClass", "injector", "groupId"] }, { kind: "component", type: i5.EmptyStateComponent, selector: "c8y-ui-empty-state", inputs: ["icon", "title", "subtitle", "horizontal"] }, { kind: "directive", type: i5.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: i5.C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "directive", type: i5$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.ForOfDirective, selector: "[c8yFor]", inputs: ["c8yForOf", "c8yForLoadMore", "c8yForPipe", "c8yForNotFound", "c8yForMaxIterations", "c8yForLoadingTemplate", "c8yForLoadNextLabel", "c8yForRealtime", "c8yForRealtimeOptions", "c8yForComparator", "c8yForEnableVirtualScroll", "c8yForVirtualScrollElementSize", "c8yForVirtualScrollStrategy", "c8yForVirtualScrollContainerHeight"], outputs: ["c8yForCount"] }, { kind: "component", type: i5.TitleComponent, selector: "c8y-title", inputs: ["pageTitleUpdate"] }, { kind: "directive", type: i6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i6.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i5.GuideHrefDirective, selector: "[c8y-guide-href]", inputs: ["c8y-guide-href"] }, { kind: "component", type: i5.GuideDocsComponent, selector: "[c8y-guide-docs]" }, { kind: "component", type: i5.ListGroupComponent, selector: "c8y-list-group" }, { kind: "component", type: i5.ListItemComponent, selector: "c8y-list-item, c8y-li", inputs: ["active", "emptyActions", "collapsed", "selectable"], outputs: ["collapsedChange"] }, { kind: "component", type: i5.ListItemIconComponent, selector: "c8y-list-item-icon, c8y-li-icon", inputs: ["icon", "status"] }, { kind: "component", type: i5.ListItemBodyComponent, selector: "c8y-list-item-body, c8y-li-body", inputs: ["body"] }, { kind: "component", type: i5.HelpComponent, selector: "c8y-help", inputs: ["src", "isCollapsed", "priority", "icon"] }, { kind: "directive", type: i3$2.TooltipDirective, selector: "[tooltip], [tooltipHtml]", inputs: ["adaptivePosition", "tooltip", "placement", "triggers", "container", "containerClass", "boundariesElement", "isOpen", "isDisabled", "delay", "tooltipHtml", "tooltipPlacement", "tooltipIsOpen", "tooltipEnable", "tooltipAppendToBody", "tooltipAnimation", "tooltipClass", "tooltipContext", "tooltipPopupDelay", "tooltipFadeDuration", "tooltipTrigger"], outputs: ["tooltipChange", "onShown", "onHidden", "tooltipStateChanged"], exportAs: ["bs-tooltip"] }, { kind: "directive", type: i1$1.RouterLink, selector: ":not(a):not(area)[routerLink]", inputs: ["queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }, { kind: "directive", type: i4.PopoverDirective, selector: "[popover]", inputs: ["adaptivePosition", "boundariesElement", "popover", "popoverContext", "popoverTitle", "placement", "outsideClick", "triggers", "container", "containerClass", "isOpen", "delay"], outputs: ["onShown", "onHidden"], exportAs: ["bs-popover"] }, { kind: "pipe", type: i5.C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: i5$1.AsyncPipe, name: "async" }] });
2642
2718
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: ReportDashboardListComponent, decorators: [{
2643
2719
  type: Component,
2644
2720
  args: [{ selector: 'c8y-report-dashboard-list', template: "<c8y-title>\n {{ 'Reports' | translate }}\n</c8y-title>\n\n<c8y-action-bar-item [placement]=\"'left'\" itemClass=\"navbar-form\">\n <div class=\"input-group input-group-search\">\n <input\n class=\"form-control\"\n type=\"search\"\n [attr.aria-label]=\"'Filter' | translate\"\n placeholder=\"{{ 'Filter\u2026' | translate }}\"\n [ngModel]=\"textFilter$ | async\"\n (ngModelChange)=\"textFilter$.next($event)\"\n />\n <span class=\"input-group-addon\">\n <i c8yIcon=\"search\" *ngIf=\"(textFilter$ | async).length === 0\"></i>\n <i\n class=\"text-muted\"\n c8yIcon=\"times\"\n *ngIf=\"(textFilter$ | async).length > 0\"\n (click)=\"textFilter$.next('')\"\n px-event=\"Clear filtering reports\"\n ></i>\n </span>\n </div>\n</c8y-action-bar-item>\n\n<c8y-action-bar-item [placement]=\"'right'\">\n <button\n class=\"btn btn-link\"\n type=\"button\"\n title=\"{{ 'Add report' | translate }}\"\n [attr.data-cy]=\"'reports-add-report-action-bar-button'\"\n (click)=\"add()\"\n [disabled]=\"!canAddReport\"\n >\n <i c8yIcon=\"plus-circle\"></i>\n {{ 'Add report' | translate }}\n </button>\n <button\n class=\"btn btn-dot m-r-16\"\n type=\"button\"\n aria-label=\"{{ 'Info' | translate}}\"\n popover=\"{{ 'You don\\'t have permission to add reports' | translate }}\"\n triggers=\"focus\"\n placement=\"top\"\n container=\"body\"\n *ngIf=\"!canAddReport\"\n >\n <i [c8yIcon]=\"'info-circle'\" class=\"text-primary\"></i>\n </button>\n</c8y-action-bar-item>\n\n<c8y-action-bar-item [placement]=\"'right'\">\n <button\n title=\"{{ 'Reload' | translate }}\"\n type=\"button\"\n class=\"btn btn-link\"\n (click)=\"loadReports()\"\n >\n <i [ngClass]=\"{ 'icon-spin': reloading }\" c8yIcon=\"refresh\"></i>\n {{ 'Reload' | translate }}\n </button>\n</c8y-action-bar-item>\n\n<c8y-help src=\"/users-guide/cockpit/#reports\"></c8y-help>\n\n<c8y-list-group>\n <c8y-li\n class=\"page-sticky-header hidden-xs hidden-sm\"\n *ngIf=\"(reports$ | async)?.data.length > 0\"\n >\n <c8y-li-icon>\n <i class=\"p-l-24\"></i>\n </c8y-li-icon>\n <c8y-li-body class=\"content-flex-60\">\n <div class=\"col-3\">\n {{ 'Report' | translate }}\n </div>\n <div class=\"col-6\">\n {{ 'Description' | translate }}\n </div>\n <div class=\"col-2\">\n {{ 'Show in navigator' | translate }}\n </div>\n </c8y-li-body>\n </c8y-li>\n\n <c8y-li *c8yFor=\"let report of reports$; let i = index; loadMore: 'auto'\">\n <c8y-li-icon [icon]=\"report.icon\"></c8y-li-icon>\n <c8y-li-body class=\"content-flex-60\">\n <div class=\"col-3\">\n <button\n class=\"btn-clean\"\n type=\"button\"\n title=\"{{ report.name }}\"\n routerLink=\"/reports/{{ report.id }}\"\n >\n <span class=\"text-truncate\">\n {{ report.name }}\n </span>\n </button>\n </div>\n <div class=\"col-6\">\n <p class=\"small text-truncate-wrap\">\n <em class=\"text-muted\" *ngIf=\"!report.description; else showDescription\">\n {{ 'No description available' | translate }}\n </em>\n <ng-template #showDescription>\n {{ report.description }}\n </ng-template>\n </p>\n </div>\n <div class=\"col-2 fit-h-20 m-t-xs-8\">\n <label class=\"c8y-switch c8y-switch--inline\" title=\"{{ 'Show in navigator' | translate }}\">\n <input\n [(ngModel)]=\"!!report.c8y_IsNavigatorNode\"\n type=\"checkbox\"\n (change)=\"update(report)\"\n />\n <span></span>\n <span class=\"visible-xs\">\n {{ 'Show in navigator' | translate }}\n </span>\n </label>\n </div>\n <div class=\"col-1 hidden-xs\">\n <button\n class=\"btn btn-dot btn-dot--danger showOnHover m-l-auto d-flex\"\n type=\"button\"\n [attr.aria-label]=\"'Remove report' | translate\"\n tooltip=\"{{ 'Remove report' | translate }}\"\n [delay]=\"500\"\n (click)=\"delete(report)\"\n >\n <i c8yIcon=\"minus-circle\"></i>\n </button>\n </div>\n <div class=\"visible-xs p-t-8 text-right\">\n <button\n class=\"btn btn-default btn-sm\"\n type=\"button\"\n title=\"{{ 'Remove report' | translate }}\"\n (click)=\"delete(report)\"\n >\n <i c8yIcon=\"delete\"></i>\n {{ 'Remove report' | translate }}\n </button>\n </div>\n </c8y-li-body>\n </c8y-li>\n</c8y-list-group>\n\n<c8y-ui-empty-state\n *ngIf=\"(reports$ | async)?.data.length === 0\"\n [icon]=\"'c8y-reports'\"\n [title]=\"'There are no reports defined.' | translate\"\n [subtitle]=\"'Add a report first.' | translate\"\n>\n <p>\n <button\n class=\"btn btn-primary\"\n type=\"button\"\n title=\"{{ 'Add report' | translate }}\"\n [attr.data-cy]=\"'reports-add-report-empty-state-button'\"\n [disabled]=\"!canAddReport\"\n (click)=\"add()\"\n >\n {{ 'Add report' | translate }}\n </button>\n </p>\n <p c8y-guide-docs>\n <small translate ngNonBindable>\n Find out more in the\n <a c8y-guide-href=\"users-guide/cockpit/#reports\">User guide`KEEP_ORIGINAL`</a>\n .\n </small>\n </p>\n</c8y-ui-empty-state>\n" }]
2645
- }], ctorParameters: function () { return [{ type: i1.InventoryService }, { type: ContextDashboardService }, { type: i3$1.BsModalService }, { type: i3.TranslateService }, { type: i5.ModalService }, { type: i5.AlertService }, { type: ReportDashboardService }, { type: i5.Permissions }]; }, propDecorators: { filter: [{
2721
+ }], ctorParameters: function () { return [{ type: i1.InventoryService }, { type: ContextDashboardService }, { type: i3$1.BsModalService }, { type: i3.TranslateService }, { type: i5.ModalService }, { type: i5.AlertService }, { type: ReportDashboardService }, { type: i5.Permissions }, { type: i5.GainsightService }]; }, propDecorators: { filter: [{
2646
2722
  type: ViewChild,
2647
2723
  args: [FilterInputComponent, { static: false }]
2648
2724
  }] } });