@ajf/material 15.1.5 → 15.2.1
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.
- package/esm2020/forms/field.mjs +15 -4
- package/esm2020/forms/form.mjs +9 -3
- package/esm2020/reports/filter-widget.mjs +1 -1
- package/esm2020/reports/widget.mjs +5 -5
- package/fesm2015/ajf-material-forms.mjs +21 -4
- package/fesm2015/ajf-material-forms.mjs.map +1 -1
- package/fesm2015/ajf-material-reports.mjs +5 -5
- package/fesm2015/ajf-material-reports.mjs.map +1 -1
- package/fesm2020/ajf-material-forms.mjs +21 -4
- package/fesm2020/ajf-material-forms.mjs.map +1 -1
- package/fesm2020/ajf-material-reports.mjs +5 -5
- package/fesm2020/ajf-material-reports.mjs.map +1 -1
- package/forms/field.d.ts +2 -1
- package/forms/form.d.ts +3 -1
- package/package.json +2 -2
|
@@ -114,7 +114,7 @@ class AjfFilterWidgetComponent extends AjfBaseWidgetComponent {
|
|
|
114
114
|
}
|
|
115
115
|
}
|
|
116
116
|
AjfFilterWidgetComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AjfFilterWidgetComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i1$2.TranslocoService }, { token: i2$1.AjfFormRendererService }], target: i0.ɵɵFactoryTarget.Component });
|
|
117
|
-
AjfFilterWidgetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: AjfFilterWidgetComponent, selector: "ajf-filter-widget", outputs: { filteredInstance: "filteredInstance" }, providers: [AjfFormRendererService], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"instance\">\n <div *ngIf=\"instance.filter as filter\" class=\"ajf-filter-container\">\n <ajf-form\n [form]=\"filter.form\"\n [hasStartMessage]=\"false\"\n [hasEndMessage]=\"false\"\n [hideTopToolbar]=\"true\"\n [hideBottomToolbar]=\"true\"\n [hideNavigationButtons]=\"true\"\n ></ajf-form>\n </div>\n</ng-container>\n", styles: ["ajf-filter-widget .ajf-filter-container ajf-page-slider-item{flex:auto!important}ajf-filter-widget .ajf-filter-container ajf-page-slider-item .ajf-page-slider-item-content{position:relative}ajf-filter-widget .ajf-filter-container .ajf-form-container{position:relative}ajf-filter-widget .ajf-filter-container .ajf-form-container .mat-mdc-card-header{display:none}ajf-filter-widget .ajf-field-entry{width:unset!important;min-width:200px}\n"], dependencies: [{ kind: "component", type: i3.AjfFormRenderer, selector: "ajf-form", inputs: ["topBar"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
117
|
+
AjfFilterWidgetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: AjfFilterWidgetComponent, selector: "ajf-filter-widget", outputs: { filteredInstance: "filteredInstance" }, providers: [AjfFormRendererService], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"instance\">\n <div *ngIf=\"instance.filter as filter\" class=\"ajf-filter-container\">\n <ajf-form\n [form]=\"filter.form\"\n [hasStartMessage]=\"false\"\n [hasEndMessage]=\"false\"\n [hideTopToolbar]=\"true\"\n [hideBottomToolbar]=\"true\"\n [hideNavigationButtons]=\"true\"\n ></ajf-form>\n </div>\n</ng-container>\n", styles: ["ajf-filter-widget .ajf-filter-container ajf-page-slider-item{flex:auto!important}ajf-filter-widget .ajf-filter-container ajf-page-slider-item .ajf-page-slider-item-content{position:relative}ajf-filter-widget .ajf-filter-container .ajf-form-container{position:relative}ajf-filter-widget .ajf-filter-container .ajf-form-container .mat-mdc-card-header{display:none}ajf-filter-widget .ajf-field-entry{width:unset!important;min-width:200px}\n"], dependencies: [{ kind: "component", type: i3.AjfFormRenderer, selector: "ajf-form", inputs: ["topBar", "centeredFieldsContent", "maxColumns"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
118
118
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AjfFilterWidgetComponent, decorators: [{
|
|
119
119
|
type: Component,
|
|
120
120
|
args: [{ selector: 'ajf-filter-widget', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [AjfFormRendererService], template: "<ng-container *ngIf=\"instance\">\n <div *ngIf=\"instance.filter as filter\" class=\"ajf-filter-container\">\n <ajf-form\n [form]=\"filter.form\"\n [hasStartMessage]=\"false\"\n [hasEndMessage]=\"false\"\n [hideTopToolbar]=\"true\"\n [hideBottomToolbar]=\"true\"\n [hideNavigationButtons]=\"true\"\n ></ajf-form>\n </div>\n</ng-container>\n", styles: ["ajf-filter-widget .ajf-filter-container ajf-page-slider-item{flex:auto!important}ajf-filter-widget .ajf-filter-container ajf-page-slider-item .ajf-page-slider-item-content{position:relative}ajf-filter-widget .ajf-filter-container .ajf-form-container{position:relative}ajf-filter-widget .ajf-filter-container .ajf-form-container .mat-mdc-card-header{display:none}ajf-filter-widget .ajf-field-entry{width:unset!important;min-width:200px}\n"] }]
|
|
@@ -490,10 +490,10 @@ class AjfColumnWidgetComponent extends AjfBaseWidgetComponent {
|
|
|
490
490
|
}
|
|
491
491
|
}
|
|
492
492
|
AjfColumnWidgetComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AjfColumnWidgetComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
493
|
-
AjfColumnWidgetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: AjfColumnWidgetComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<div *ngIf=\"instance\" class=\"ajf-column-container\">\n <ng-container *ngFor=\"let w of instance.content\">\n <ajf-widget [instance]=\"w\">\n </ajf-widget>\n </ng-container>\n</div>\n", styles: [".ajf-column-container{
|
|
493
|
+
AjfColumnWidgetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: AjfColumnWidgetComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<div *ngIf=\"instance\" class=\"ajf-column-container\">\n <ng-container *ngFor=\"let w of instance.content\">\n <ajf-widget [instance]=\"w\">\n </ajf-widget>\n </ng-container>\n</div>\n", styles: [".ajf-column-container{width:100%}\n"], dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: AjfReportWidget, selector: "ajf-widget" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
494
494
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AjfColumnWidgetComponent, decorators: [{
|
|
495
495
|
type: Component,
|
|
496
|
-
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div *ngIf=\"instance\" class=\"ajf-column-container\">\n <ng-container *ngFor=\"let w of instance.content\">\n <ajf-widget [instance]=\"w\">\n </ajf-widget>\n </ng-container>\n</div>\n", styles: [".ajf-column-container{
|
|
496
|
+
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div *ngIf=\"instance\" class=\"ajf-column-container\">\n <ng-container *ngFor=\"let w of instance.content\">\n <ajf-widget [instance]=\"w\">\n </ajf-widget>\n </ng-container>\n</div>\n", styles: [".ajf-column-container{width:100%}\n"] }]
|
|
497
497
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }]; } });
|
|
498
498
|
class AjfLayoutWidgetComponent extends AjfBaseWidgetComponent {
|
|
499
499
|
constructor(cdr, el) {
|
|
@@ -759,10 +759,10 @@ class AjfPaginatedTableWidgetComponent extends AjfBaseWidgetComponent {
|
|
|
759
759
|
}
|
|
760
760
|
}
|
|
761
761
|
AjfPaginatedTableWidgetComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AjfPaginatedTableWidgetComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
762
|
-
AjfPaginatedTableWidgetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: AjfPaginatedTableWidgetComponent, selector: "ng-component", usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"ajf-paginated-table\" *ngIf=\"instance\">\n <div class=\"ajf-paginated-table-title-container\" *ngIf=\"pages > 0\">\n <div class=\"ajf-paginated-table-page-selector\">\n <mat-label class=\"ajf-paginated-table-page-selector-label\"\n >{{'Items per page:'|transloco}}</mat-label\n >\n <mat-select\n [value]=\"paginatorConfig.pageSize\"\n (selectionChange)=\"onPageSizeChange($event.value)\"\n >\n <mat-option\n [value]=\"pageSizeOpt\"\n *ngFor=\"let pageSizeOpt of paginatorConfig.pageSizeOptions\"\n >\n {{ pageSizeOpt }}\n </mat-option>\n </mat-select>\n </div>\n <div class=\"ajf-spacer\"></div>\n <div class=\"ajf-paginated-table-paginator\">\n <a\n (click)=\"goToPage('previous')\"\n class=\"ajf-paginated-table-btn ajf-paginated-table-back-btn\"\n [class.ajf-paginated-table-btn-disabled]=\"canGoBackward === false\"\n ></a>\n <div class=\"ajf-paginated-table-paginator-page\">{{ currentPage }}</div>\n <div class=\"ajf-paginated-table-paginator-separator\"></div>\n <div class=\"ajf-paginated-table-paginator-pages\">{{ pages }}</div>\n <a\n (click)=\"goToPage('next')\"\n class=\"ajf-paginated-table-btn ajf-paginated-table-forward-btn\"\n [class.ajf-paginated-table-btn-disabled]=\"canGoForward === false\"\n ></a>\n </div>\n </div>\n <div class=\"ajf-paginated-table-item\">\n <ajf-widget-export\n *ngIf=\"instance\"\n [widgetType]=\"instance.widgetType\"\n [data]=\"currentContent\"\n [enable]=\"instance.exportable\"\n >\n <ajf-table [data]=\"currentContent\" (sortSelected)=\"sortPaginatedData($event)\"></ajf-table>\n </ajf-widget-export>\n </div>\n</div>\n", styles: ["table{border-spacing:0}table td{padding:10px}.ajf-paginated-table
|
|
762
|
+
AjfPaginatedTableWidgetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: AjfPaginatedTableWidgetComponent, selector: "ng-component", usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"ajf-paginated-table\" *ngIf=\"instance\">\n <div class=\"ajf-paginated-table-title-container\" *ngIf=\"pages > 0\">\n <div class=\"ajf-paginated-table-page-selector\">\n <mat-label class=\"ajf-paginated-table-page-selector-label\"\n >{{'Items per page:'|transloco}}</mat-label\n >\n <mat-select\n [value]=\"paginatorConfig.pageSize\"\n (selectionChange)=\"onPageSizeChange($event.value)\"\n >\n <mat-option\n [value]=\"pageSizeOpt\"\n *ngFor=\"let pageSizeOpt of paginatorConfig.pageSizeOptions\"\n >\n {{ pageSizeOpt }}\n </mat-option>\n </mat-select>\n </div>\n <div class=\"ajf-spacer\"></div>\n <div class=\"ajf-paginated-table-paginator\">\n <a\n (click)=\"goToPage('previous')\"\n class=\"ajf-paginated-table-btn ajf-paginated-table-back-btn\"\n [class.ajf-paginated-table-btn-disabled]=\"canGoBackward === false\"\n ></a>\n <div class=\"ajf-paginated-table-paginator-page\">{{ currentPage }}</div>\n <div class=\"ajf-paginated-table-paginator-separator\"></div>\n <div class=\"ajf-paginated-table-paginator-pages\">{{ pages }}</div>\n <a\n (click)=\"goToPage('next')\"\n class=\"ajf-paginated-table-btn ajf-paginated-table-forward-btn\"\n [class.ajf-paginated-table-btn-disabled]=\"canGoForward === false\"\n ></a>\n </div>\n </div>\n <div class=\"ajf-paginated-table-item\">\n <ajf-widget-export\n *ngIf=\"instance\"\n [widgetType]=\"instance.widgetType\"\n [data]=\"currentContent\"\n [enable]=\"instance.exportable\"\n >\n <ajf-table [data]=\"currentContent\" (sortSelected)=\"sortPaginatedData($event)\"></ajf-table>\n </ajf-widget-export>\n </div>\n</div>\n", styles: ["table{border-spacing:0}table td{padding:10px}.ajf-paginated-table{width:100%;overflow-x:auto}.ajf-paginated-table table{min-width:100%}.ajf-paginated-table-page-selector{display:flex;align-items:baseline}.ajf-paginated-table-page-selector .ajf-paginated-table-page-selector-label{white-space:nowrap;margin-right:4px;font-size:.9em}.ajf-paginated-table-page-selector .mat-mdc-select{width:70px;font-size:.9em}.ajf-paginated-table-title-container{display:flex;align-items:center}.ajf-spacer{flex:1 0 auto}.ajf-paginated-table-btn{cursor:pointer;display:block;width:32px;height:32px;position:relative}.ajf-paginated-table-btn:after{width:100%;height:100%;display:flex;justify-content:center;align-items:center}.ajf-paginated-table-paginator-separator{width:16px;height:32px;position:relative}.ajf-paginated-table-paginator-separator:after{width:100%;height:100%;display:flex;justify-content:center;align-items:center;content:\"/\"}.ajf-paginated-table-btn-disabled{opacity:.5;cursor:default}.ajf-paginated-table-back-btn:after{content:\"<\"}.ajf-paginated-table-forward-btn:after{content:\">\"}.ajf-paginated-table-paginator{display:flex;align-items:center;font-size:.9em}.ajf-paginated-table-paginator>*{margin:0 .5em}\n"], dependencies: [{ kind: "component", type: i1$9.AjfTable, selector: "ajf-table", inputs: ["data", "cellpadding"], outputs: ["sortSelected"] }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.AjfWidgetExport, selector: "ajf-widget-export", inputs: ["widgetType", "data", "overlay", "enable"] }, { kind: "directive", type: i6.MatLabel, selector: "mat-label" }, { kind: "component", type: i7.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i8.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "pipe", type: i3$1.TranslocoPipe, name: "transloco" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
763
763
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AjfPaginatedTableWidgetComponent, decorators: [{
|
|
764
764
|
type: Component,
|
|
765
|
-
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div class=\"ajf-paginated-table\" *ngIf=\"instance\">\n <div class=\"ajf-paginated-table-title-container\" *ngIf=\"pages > 0\">\n <div class=\"ajf-paginated-table-page-selector\">\n <mat-label class=\"ajf-paginated-table-page-selector-label\"\n >{{'Items per page:'|transloco}}</mat-label\n >\n <mat-select\n [value]=\"paginatorConfig.pageSize\"\n (selectionChange)=\"onPageSizeChange($event.value)\"\n >\n <mat-option\n [value]=\"pageSizeOpt\"\n *ngFor=\"let pageSizeOpt of paginatorConfig.pageSizeOptions\"\n >\n {{ pageSizeOpt }}\n </mat-option>\n </mat-select>\n </div>\n <div class=\"ajf-spacer\"></div>\n <div class=\"ajf-paginated-table-paginator\">\n <a\n (click)=\"goToPage('previous')\"\n class=\"ajf-paginated-table-btn ajf-paginated-table-back-btn\"\n [class.ajf-paginated-table-btn-disabled]=\"canGoBackward === false\"\n ></a>\n <div class=\"ajf-paginated-table-paginator-page\">{{ currentPage }}</div>\n <div class=\"ajf-paginated-table-paginator-separator\"></div>\n <div class=\"ajf-paginated-table-paginator-pages\">{{ pages }}</div>\n <a\n (click)=\"goToPage('next')\"\n class=\"ajf-paginated-table-btn ajf-paginated-table-forward-btn\"\n [class.ajf-paginated-table-btn-disabled]=\"canGoForward === false\"\n ></a>\n </div>\n </div>\n <div class=\"ajf-paginated-table-item\">\n <ajf-widget-export\n *ngIf=\"instance\"\n [widgetType]=\"instance.widgetType\"\n [data]=\"currentContent\"\n [enable]=\"instance.exportable\"\n >\n <ajf-table [data]=\"currentContent\" (sortSelected)=\"sortPaginatedData($event)\"></ajf-table>\n </ajf-widget-export>\n </div>\n</div>\n", styles: ["table{border-spacing:0}table td{padding:10px}.ajf-paginated-table
|
|
765
|
+
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div class=\"ajf-paginated-table\" *ngIf=\"instance\">\n <div class=\"ajf-paginated-table-title-container\" *ngIf=\"pages > 0\">\n <div class=\"ajf-paginated-table-page-selector\">\n <mat-label class=\"ajf-paginated-table-page-selector-label\"\n >{{'Items per page:'|transloco}}</mat-label\n >\n <mat-select\n [value]=\"paginatorConfig.pageSize\"\n (selectionChange)=\"onPageSizeChange($event.value)\"\n >\n <mat-option\n [value]=\"pageSizeOpt\"\n *ngFor=\"let pageSizeOpt of paginatorConfig.pageSizeOptions\"\n >\n {{ pageSizeOpt }}\n </mat-option>\n </mat-select>\n </div>\n <div class=\"ajf-spacer\"></div>\n <div class=\"ajf-paginated-table-paginator\">\n <a\n (click)=\"goToPage('previous')\"\n class=\"ajf-paginated-table-btn ajf-paginated-table-back-btn\"\n [class.ajf-paginated-table-btn-disabled]=\"canGoBackward === false\"\n ></a>\n <div class=\"ajf-paginated-table-paginator-page\">{{ currentPage }}</div>\n <div class=\"ajf-paginated-table-paginator-separator\"></div>\n <div class=\"ajf-paginated-table-paginator-pages\">{{ pages }}</div>\n <a\n (click)=\"goToPage('next')\"\n class=\"ajf-paginated-table-btn ajf-paginated-table-forward-btn\"\n [class.ajf-paginated-table-btn-disabled]=\"canGoForward === false\"\n ></a>\n </div>\n </div>\n <div class=\"ajf-paginated-table-item\">\n <ajf-widget-export\n *ngIf=\"instance\"\n [widgetType]=\"instance.widgetType\"\n [data]=\"currentContent\"\n [enable]=\"instance.exportable\"\n >\n <ajf-table [data]=\"currentContent\" (sortSelected)=\"sortPaginatedData($event)\"></ajf-table>\n </ajf-widget-export>\n </div>\n</div>\n", styles: ["table{border-spacing:0}table td{padding:10px}.ajf-paginated-table{width:100%;overflow-x:auto}.ajf-paginated-table table{min-width:100%}.ajf-paginated-table-page-selector{display:flex;align-items:baseline}.ajf-paginated-table-page-selector .ajf-paginated-table-page-selector-label{white-space:nowrap;margin-right:4px;font-size:.9em}.ajf-paginated-table-page-selector .mat-mdc-select{width:70px;font-size:.9em}.ajf-paginated-table-title-container{display:flex;align-items:center}.ajf-spacer{flex:1 0 auto}.ajf-paginated-table-btn{cursor:pointer;display:block;width:32px;height:32px;position:relative}.ajf-paginated-table-btn:after{width:100%;height:100%;display:flex;justify-content:center;align-items:center}.ajf-paginated-table-paginator-separator{width:16px;height:32px;position:relative}.ajf-paginated-table-paginator-separator:after{width:100%;height:100%;display:flex;justify-content:center;align-items:center;content:\"/\"}.ajf-paginated-table-btn-disabled{opacity:.5;cursor:default}.ajf-paginated-table-back-btn:after{content:\"<\"}.ajf-paginated-table-forward-btn:after{content:\">\"}.ajf-paginated-table-paginator{display:flex;align-items:center;font-size:.9em}.ajf-paginated-table-paginator>*{margin:0 .5em}\n"] }]
|
|
766
766
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }]; } });
|
|
767
767
|
|
|
768
768
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ajf-material-reports.mjs","sources":["../../../projects/material/reports/src/chart-widget.ts","../../../projects/material/reports/src/chart-widget.html","../../../projects/material/reports/src/filter-widget.ts","../../../projects/material/reports/src/filter-widget.html","../../../projects/material/reports/src/formula-widget.ts","../../../projects/material/reports/src/formula-widget.html","../../../projects/material/reports/src/heat-map-widget.ts","../../../projects/material/reports/src/heat-map-widget.html","../../../projects/material/reports/src/image-container-widget.ts","../../../projects/material/reports/src/image-container-widget.html","../../../projects/material/reports/src/image-widget.ts","../../../projects/material/reports/src/image-widget.html","../../../projects/material/reports/src/map-widget.ts","../../../projects/material/reports/src/map-widget.html","../../../projects/material/reports/src/page-break-widget.ts","../../../projects/material/reports/src/page-break-widget.html","../../../projects/material/reports/src/graph-widget.ts","../../../projects/material/reports/src/graph-widget.html","../../../projects/material/reports/src/table-widget.ts","../../../projects/material/reports/src/table-widget.html","../../../projects/material/reports/src/text-widget.ts","../../../projects/material/reports/src/text-widget.html","../../../projects/material/reports/src/widget.ts","../../../projects/material/reports/src/widget.html","../../../projects/material/reports/src/column-widget.html","../../../projects/material/reports/src/layout-widget.html","../../../projects/material/reports/src/dialog-widget.html","../../../projects/material/reports/src/paginated-list-widget.html","../../../projects/material/reports/src/paginated-table-widget.html","../../../projects/material/reports/src/report.ts","../../../projects/material/reports/src/report.html","../../../projects/material/reports/src/reports-module.ts","../../../projects/material/reports/src/public_api.ts","../../../projects/material/reports/src/ajf-material-reports.ts"],"sourcesContent":["/**\n * @license\n * Copyright (C) Gnucoop soc. coop.\n *\n * This file is part of the Advanced JSON forms (ajf).\n *\n * Advanced JSON forms (ajf) is free software: you can redistribute it and/or\n * modify it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the License,\n * or (at your option) any later version.\n *\n * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero\n * General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Advanced JSON forms (ajf).\n * If not, see http://www.gnu.org/licenses/.\n *\n */\n\nimport {AjfBaseWidgetComponent, AjfChartWidgetInstance} from '@ajf/core/reports';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n ViewEncapsulation,\n} from '@angular/core';\n\n@Component({\n templateUrl: 'chart-widget.html',\n styleUrls: ['chart-widget.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AjfChartWidgetComponent extends AjfBaseWidgetComponent<AjfChartWidgetInstance> {\n constructor(cdr: ChangeDetectorRef, el: ElementRef) {\n super(cdr, el);\n }\n}\n","<ajf-widget-export *ngIf=\"instance\"\n [widgetType]=\"instance.widgetType\"\n [data]=\"instance.data\"\n [enable]=\"instance.exportable\">\n <ajf-chart\n [chartType]=\"instance.chartType\"\n [options]=\"instance.widget.options\"\n [data]=\"instance.data\"\n [instance]=\"instance\">\n </ajf-chart>\n</ajf-widget-export>\n","/**\n * @license\n * Copyright (C) Gnucoop soc. coop.\n *\n * This file is part of the Advanced JSON forms (ajf).\n *\n * Advanced JSON forms (ajf) is free software: you can redistribute it and/or\n * modify it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the License,\n * or (at your option) any later version.\n *\n * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero\n * General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Advanced JSON forms (ajf).\n * If not, see http://www.gnu.org/licenses/.\n *\n */\n\nimport {AjfFormRendererService} from '@ajf/core/forms';\nimport {evaluateExpression} from '@ajf/core/models';\nimport {\n AjfBaseWidgetComponent,\n AjfFilterInstance,\n AjfWidgetInstance,\n widgetToWidgetInstance,\n} from '@ajf/core/reports';\nimport {TranslocoService} from '@ajf/core/transloco';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n Output,\n ViewEncapsulation,\n} from '@angular/core';\nimport {UntypedFormGroup} from '@angular/forms';\nimport {distinctUntilChanged, filter, map, switchMap} from 'rxjs/operators';\nimport {Observable} from 'rxjs';\n\n@Component({\n selector: 'ajf-filter-widget',\n templateUrl: 'filter-widget.html',\n styleUrls: ['filter-widget.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [AjfFormRendererService],\n})\nexport class AjfFilterWidgetComponent extends AjfBaseWidgetComponent<AjfWidgetInstance> {\n @Output() readonly filteredInstance: Observable<AjfWidgetInstance>;\n\n constructor(\n cdr: ChangeDetectorRef,\n el: ElementRef,\n private _ts: TranslocoService,\n private _formRenderer: AjfFormRendererService,\n ) {\n super(cdr, el);\n\n this.filteredInstance = this._formRenderer.formGroup.pipe(\n filter(fg => this.instance != null && this.instance.filter != null && fg != null),\n switchMap(formGroup => (formGroup as UntypedFormGroup).valueChanges),\n distinctUntilChanged((a, b) => JSON.stringify(a) === JSON.stringify(b)),\n map(a => {\n const instance = this.instance as AjfWidgetInstance;\n const filter = instance.filter as AjfFilterInstance;\n const newConst: any = {...(filter.context || {}), ...a};\n if (filter.variables != null) {\n (filter.variables || []).forEach(variable => {\n newConst[variable.name] = evaluateExpression(variable.formula.formula, newConst);\n });\n }\n this.instance = widgetToWidgetInstance(\n instance.widget,\n newConst,\n this._ts,\n filter.variables,\n );\n return this.instance;\n }),\n );\n }\n}\n","<ng-container *ngIf=\"instance\">\n <div *ngIf=\"instance.filter as filter\" class=\"ajf-filter-container\">\n <ajf-form\n [form]=\"filter.form\"\n [hasStartMessage]=\"false\"\n [hasEndMessage]=\"false\"\n [hideTopToolbar]=\"true\"\n [hideBottomToolbar]=\"true\"\n [hideNavigationButtons]=\"true\"\n ></ajf-form>\n </div>\n</ng-container>\n","/**\n * @license\n * Copyright (C) Gnucoop soc. coop.\n *\n * This file is part of the Advanced JSON forms (ajf).\n *\n * Advanced JSON forms (ajf) is free software: you can redistribute it and/or\n * modify it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the License,\n * or (at your option) any later version.\n *\n * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero\n * General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Advanced JSON forms (ajf).\n * If not, see http://www.gnu.org/licenses/.\n *\n */\n\nimport {AjfBaseWidgetComponent, AjfFormulaWidgetInstance} from '@ajf/core/reports';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n ViewEncapsulation,\n} from '@angular/core';\n\n@Component({\n templateUrl: 'formula-widget.html',\n styleUrls: ['formula-widget.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AjfFormulaWidgetComponent extends AjfBaseWidgetComponent<AjfFormulaWidgetInstance> {\n constructor(cdr: ChangeDetectorRef, el: ElementRef) {\n super(cdr, el);\n }\n}\n","<ajf-text *ngIf=\"instance\" [htmlText]=\"instance.formula\"></ajf-text>\n","/**\n * @license\n * Copyright (C) Gnucoop soc. coop.\n *\n * This file is part of the Advanced JSON forms (ajf).\n *\n * Advanced JSON forms (ajf) is free software: you can redistribute it and/or\n * modify it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the License,\n * or (at your option) any later version.\n *\n * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero\n * General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Advanced JSON forms (ajf).\n * If not, see http://www.gnu.org/licenses/.\n *\n */\n\nimport {AjfBaseWidgetComponent, AjfHeatMapWidgetInstance} from '@ajf/core/reports';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n ViewEncapsulation,\n} from '@angular/core';\n\n@Component({\n templateUrl: 'heat-map-widget.html',\n styleUrls: ['heat-map-widget.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AjfHeatMapWidgetComponent extends AjfBaseWidgetComponent<AjfHeatMapWidgetInstance> {\n constructor(cdr: ChangeDetectorRef, el: ElementRef) {\n super(cdr, el);\n }\n}\n","<ajf-heat-map\n *ngIf=\"instance\"\n [idProp]=\"instance.idProp\"\n [features]=\"instance.features\"\n [values]=\"instance.values\"\n [startColor]=\"instance.startColor\"\n [endColor]=\"instance.endColor\"\n [highlightColor]=\"instance.highlightColor\"\n [showVisualMap]=\"instance.showVisualMap\"\n [action]=\"instance.action\"\n></ajf-heat-map>\n","/**\n * @license\n * Copyright (C) Gnucoop soc. coop.\n *\n * This file is part of the Advanced JSON forms (ajf).\n *\n * Advanced JSON forms (ajf) is free software: you can redistribute it and/or\n * modify it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the License,\n * or (at your option) any later version.\n *\n * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero\n * General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Advanced JSON forms (ajf).\n * If not, see http://www.gnu.org/licenses/.\n *\n */\n\nimport {AjfImageType} from '@ajf/core/image';\nimport {AjfBaseWidgetComponent, AjfImageContainerWidgetInstance} from '@ajf/core/reports';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n ViewEncapsulation,\n} from '@angular/core';\n\n@Component({\n templateUrl: 'image-container-widget.html',\n styleUrls: ['image-container-widget.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AjfImageContainerWidgetComponent extends AjfBaseWidgetComponent<AjfImageContainerWidgetInstance> {\n readonly imageTypes = AjfImageType;\n\n constructor(cdr: ChangeDetectorRef, el: ElementRef) {\n super(cdr, el);\n }\n}\n","<div *ngIf=\"instance\" class=\"ajf-image-container ajf-columns\" [ngSwitch]=\"instance.widget.imageType\">\n <ng-template [ngSwitchCase]=\"imageTypes.Image\">\n <div *ngFor=\"let icw of instance.urls; let idx = index\" class=\"ajf-column\">\n <ajf-image\n [type]=\"instance.widget.imageType\"\n [imageUrl]=\"icw\"\n [icon]=\"null\"\n [flag]=\"null\"\n [applyStyles]=\"instance.widget!.styles\"\n ></ajf-image>\n </div>\n </ng-template>\n <ng-template [ngSwitchCase]=\"imageTypes.Flag\">\n <div *ngFor=\"let icw of instance.flags; let idx = index\" class=\"ajf-column\">\n <ajf-image\n [type]=\"instance.widget.imageType\"\n [imageUrl]=\"null\"\n [icon]=\"null\"\n [flag]=\"icw\"\n [applyStyles]=\"instance.widget!.styles\"\n ></ajf-image>\n </div>\n </ng-template>\n <ng-template [ngSwitchCase]=\"imageTypes.Icon\">\n <div *ngFor=\"let icw of instance.icons; let idx = index\" class=\"ajf-column\">\n <ajf-image\n [type]=\"instance.widget.imageType\"\n [imageUrl]=\"null\"\n [icon]=\"icw\"\n [flag]=\"null\"\n [applyStyles]=\"instance.widget!.styles\"\n ></ajf-image>\n </div>\n </ng-template>\n</div>\n","/**\n * @license\n * Copyright (C) Gnucoop soc. coop.\n *\n * This file is part of the Advanced JSON forms (ajf).\n *\n * Advanced JSON forms (ajf) is free software: you can redistribute it and/or\n * modify it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the License,\n * or (at your option) any later version.\n *\n * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero\n * General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Advanced JSON forms (ajf).\n * If not, see http://www.gnu.org/licenses/.\n *\n */\n\nimport {AjfBaseWidgetComponent, AjfImageWidgetInstance} from '@ajf/core/reports';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n ViewEncapsulation,\n} from '@angular/core';\n\n@Component({\n templateUrl: 'image-widget.html',\n styleUrls: ['image-widget.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AjfImageWidgetComponent extends AjfBaseWidgetComponent<AjfImageWidgetInstance> {\n constructor(cdr: ChangeDetectorRef, el: ElementRef) {\n super(cdr, el);\n }\n}\n","<ajf-image *ngIf=\"instance\"\n [type]=\"instance.widget.imageType\"\n [imageUrl]=\"instance.url\"\n [icon]=\"instance.icon\"\n [flag]=\"instance.flag\"\n></ajf-image>\n","/**\n * @license\n * Copyright (C) Gnucoop soc. coop.\n *\n * This file is part of the Advanced JSON forms (ajf).\n *\n * Advanced JSON forms (ajf) is free software: you can redistribute it and/or\n * modify it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the License,\n * or (at your option) any later version.\n *\n * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero\n * General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Advanced JSON forms (ajf).\n * If not, see http://www.gnu.org/licenses/.\n *\n */\n\nimport {AjfBaseWidgetComponent, AjfMapWidgetInstance} from '@ajf/core/reports';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n ViewEncapsulation,\n} from '@angular/core';\n\n@Component({\n templateUrl: 'map-widget.html',\n styleUrls: ['map-widget.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AjfMapWidgetComponent extends AjfBaseWidgetComponent<AjfMapWidgetInstance> {\n constructor(cdr: ChangeDetectorRef, el: ElementRef) {\n super(cdr, el);\n }\n}\n","<ajf-map *ngIf=\"instance\"\n [coordinate]=\"instance.coordinate\"\n [tileLayer]=\"instance.widget.tileLayer\"\n [attribution]=\"instance.widget.attribution\"\n [disabled]=\"instance.widget.disabled\"\n></ajf-map>\n","/**\n * @license\n * Copyright (C) Gnucoop soc. coop.\n *\n * This file is part of the Advanced JSON forms (ajf).\n *\n * Advanced JSON forms (ajf) is free software: you can redistribute it and/or\n * modify it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the License,\n * or (at your option) any later version.\n *\n * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero\n * General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Advanced JSON forms (ajf).\n * If not, see http://www.gnu.org/licenses/.\n *\n */\n\nimport {AjfBaseWidgetComponent} from '@ajf/core/reports';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n ViewEncapsulation,\n} from '@angular/core';\n\n@Component({\n templateUrl: 'page-break-widget.html',\n styleUrls: ['page-break-widget.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AjfPageBreakWidgetComponent extends AjfBaseWidgetComponent {\n constructor(cdr: ChangeDetectorRef, el: ElementRef) {\n super(cdr, el);\n }\n}\n","<ajf-page-break></ajf-page-break>\n","/**\n * @license\n * Copyright (C) Gnucoop soc. coop.\n *\n * This file is part of the Advanced JSON forms (ajf).\n *\n * Advanced JSON forms (ajf) is free software: you can redistribute it and/or\n * modify it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the License,\n * or (at your option) any later version.\n *\n * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero\n * General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Advanced JSON forms (ajf).\n * If not, see http://www.gnu.org/licenses/.\n *\n */\n\nimport {AjfBaseWidgetComponent, AjfGraphWidgetInstance} from '@ajf/core/reports';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n ViewEncapsulation,\n} from '@angular/core';\n\n@Component({\n selector: 'ajf-graph-widget',\n templateUrl: 'graph-widget.html',\n styleUrls: ['graph-widget.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AjfGraphWidgetComponent extends AjfBaseWidgetComponent<AjfGraphWidgetInstance> {\n constructor(cdr: ChangeDetectorRef, el: ElementRef) {\n super(cdr, el);\n }\n}\n","<div *ngIf=\"instance\" class=\"ajf-graph-container\">\n <ajf-graph [nodes]=\"instance.nodes\"></ajf-graph>\n</div>\n","/**\n * @license\n * Copyright (C) Gnucoop soc. coop.\n *\n * This file is part of the Advanced JSON forms (ajf).\n *\n * Advanced JSON forms (ajf) is free software: you can redistribute it and/or\n * modify it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the License,\n * or (at your option) any later version.\n *\n * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero\n * General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Advanced JSON forms (ajf).\n * If not, see http://www.gnu.org/licenses/.\n *\n */\n\nimport {AjfBaseWidgetComponent, AjfTableWidgetInstance} from '@ajf/core/reports';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n ViewEncapsulation,\n} from '@angular/core';\n\n@Component({\n templateUrl: 'table-widget.html',\n styleUrls: ['table-widget.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AjfTableWidgetComponent extends AjfBaseWidgetComponent<AjfTableWidgetInstance> {\n constructor(cdr: ChangeDetectorRef, el: ElementRef) {\n super(cdr, el);\n }\n}\n","<ajf-widget-export\n *ngIf=\"instance\"\n [widgetType]=\"instance.widgetType\"\n [data]=\"instance.data\"\n [enable]=\"instance.exportable\"\n>\n <ajf-table [data]=\"instance.data\"></ajf-table>\n</ajf-widget-export>\n","/**\n * @license\n * Copyright (C) Gnucoop soc. coop.\n *\n * This file is part of the Advanced JSON forms (ajf).\n *\n * Advanced JSON forms (ajf) is free software: you can redistribute it and/or\n * modify it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the License,\n * or (at your option) any later version.\n *\n * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero\n * General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Advanced JSON forms (ajf).\n * If not, see http://www.gnu.org/licenses/.\n *\n */\n\nimport {AjfBaseWidgetComponent, AjfTextWidgetInstance} from '@ajf/core/reports';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n ViewEncapsulation,\n} from '@angular/core';\n\n@Component({\n templateUrl: 'text-widget.html',\n styleUrls: ['text-widget.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AjfTextWidgetComponent extends AjfBaseWidgetComponent<AjfTextWidgetInstance> {\n constructor(cdr: ChangeDetectorRef, el: ElementRef) {\n super(cdr, el);\n }\n}\n","<ajf-text *ngIf=\"instance\" [htmlText]=\"instance.htmlText | transloco\"></ajf-text>\n","/**\n * @license\n * Copyright (C) Gnucoop soc. coop.\n *\n * This file is part of the Advanced JSON forms (ajf).\n *\n * Advanced JSON forms (ajf) is free software: you can redistribute it and/or\n * modify it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the License,\n * or (at your option) any later version.\n *\n * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero\n * General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Advanced JSON forms (ajf).\n * If not, see http://www.gnu.org/licenses/.\n *\n */\n\nimport {\n AjfBaseWidgetComponent,\n AjfColumnWidgetInstance,\n AjfDialogWidgetInstance,\n AjfLayoutWidgetInstance,\n AjfPaginatedListWidgetInstance,\n AjfPaginatedTableWidgetInstance,\n AjfReportWidget as CoreComponent,\n AjfWidgetComponentsMap,\n AjfWidgetInstance,\n AjfWidgetService as CoreService,\n AjfWidgetType as wt,\n} from '@ajf/core/reports';\nimport {AjfTableCell} from '@ajf/core/table';\nimport {\n AfterContentChecked,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n Injectable,\n OnChanges,\n OnInit,\n Renderer2,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport {MatDialog} from '@angular/material/dialog';\nimport {Sort} from '@angular/material/sort';\nimport {BehaviorSubject, Observable} from 'rxjs';\n\nimport {AjfChartWidgetComponent} from './chart-widget';\nimport {AjfFormulaWidgetComponent} from './formula-widget';\nimport {AjfGraphWidgetComponent} from './graph-widget';\nimport {AjfHeatMapWidgetComponent} from './heat-map-widget';\nimport {AjfImageContainerWidgetComponent} from './image-container-widget';\nimport {AjfImageWidgetComponent} from './image-widget';\nimport {AjfMapWidgetComponent} from './map-widget';\nimport {AjfPageBreakWidgetComponent} from './page-break-widget';\nimport {AjfTableWidgetComponent} from './table-widget';\nimport {AjfTextWidgetComponent} from './text-widget';\n\nconst defaultWidgetsFactory = (): AjfWidgetComponentsMap => {\n const defaultWidgets: AjfWidgetComponentsMap = {};\n defaultWidgets[wt.Layout] = {component: AjfLayoutWidgetComponent};\n defaultWidgets[wt.PageBreak] = {component: AjfPageBreakWidgetComponent};\n defaultWidgets[wt.Image] = {component: AjfImageWidgetComponent};\n defaultWidgets[wt.Text] = {component: AjfTextWidgetComponent};\n defaultWidgets[wt.Chart] = {component: AjfChartWidgetComponent};\n defaultWidgets[wt.Table] = {component: AjfTableWidgetComponent};\n defaultWidgets[wt.DynamicTable] = {component: AjfTableWidgetComponent};\n defaultWidgets[wt.Map] = {component: AjfMapWidgetComponent};\n defaultWidgets[wt.Column] = {component: AjfColumnWidgetComponent};\n defaultWidgets[wt.Formula] = {component: AjfFormulaWidgetComponent};\n defaultWidgets[wt.ImageContainer] = {component: AjfImageContainerWidgetComponent};\n defaultWidgets[wt.Graph] = {component: AjfGraphWidgetComponent};\n defaultWidgets[wt.PaginatedList] = {component: AjfPaginatedListWidgetComponent};\n defaultWidgets[wt.PaginatedTable] = {component: AjfPaginatedTableWidgetComponent};\n\n defaultWidgets[wt.Dialog] = {component: AjfDialogWidgetComponent};\n defaultWidgets[wt.HeatMap] = {component: AjfHeatMapWidgetComponent};\n return defaultWidgets;\n};\n\n@Injectable({providedIn: 'root'})\nexport class AjfWidgetService extends CoreService {\n constructor() {\n super(defaultWidgetsFactory());\n }\n}\n\n@Component({\n selector: 'ajf-widget',\n templateUrl: 'widget.html',\n styleUrls: ['widget.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AjfReportWidget extends CoreComponent {\n readonly widgetsMap: AjfWidgetComponentsMap;\n\n constructor(renderer: Renderer2, widgetService: AjfWidgetService) {\n super(renderer);\n this.widgetsMap = widgetService.componentsMap;\n }\n}\n\n@Component({\n templateUrl: 'column-widget.html',\n styleUrls: ['column-widget.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AjfColumnWidgetComponent extends AjfBaseWidgetComponent<AjfColumnWidgetInstance> {\n constructor(cdr: ChangeDetectorRef, el: ElementRef) {\n super(cdr, el);\n }\n}\n\n@Component({\n templateUrl: 'layout-widget.html',\n styleUrls: ['layout-widget.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AjfLayoutWidgetComponent\n extends AjfBaseWidgetComponent<AjfLayoutWidgetInstance>\n implements AfterContentChecked\n{\n private _allcolumnsRendered$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\n readonly allcolumnsRendered$: Observable<boolean> = this\n ._allcolumnsRendered$ as Observable<boolean>;\n\n constructor(cdr: ChangeDetectorRef, el: ElementRef) {\n super(cdr, el);\n }\n ngAfterContentChecked(): void {\n this._allcolumnsRendered$.next(true);\n }\n}\n\n@Component({\n templateUrl: 'dialog-widget.html',\n styleUrls: ['dialog-widget.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AjfDialogWidgetComponent extends AjfBaseWidgetComponent<AjfDialogWidgetInstance> {\n @ViewChild('dialogContent', {read: TemplateRef}) dialogContent!: TemplateRef<HTMLElement>;\n\n constructor(cdr: ChangeDetectorRef, el: ElementRef, private _dialog: MatDialog) {\n super(cdr, el);\n }\n\n openDialog(): void {\n this._dialog.open(this.dialogContent);\n }\n}\n\n@Component({\n templateUrl: 'paginated-list-widget.html',\n styleUrls: ['paginated-list-widget.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AjfPaginatedListWidgetComponent\n extends AjfBaseWidgetComponent<AjfPaginatedListWidgetInstance>\n implements OnChanges, OnInit\n{\n get currentPage(): number {\n return this._currentPage;\n }\n private _currentPage = 0;\n\n get pages(): number {\n return this._pages;\n }\n private _pages = 0;\n\n get currentContent(): AjfWidgetInstance[] {\n return this._currentContent;\n }\n private _currentContent: AjfWidgetInstance[] = [];\n\n get canGoForward(): boolean {\n return this._canGoForward;\n }\n private _canGoForward = false;\n\n get canGoBackward(): boolean {\n return this._canGoBackward;\n }\n private _canGoBackward = false;\n\n constructor(cdr: ChangeDetectorRef, el: ElementRef) {\n super(cdr, el);\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['instance']) {\n this._updateCurrentContent();\n }\n }\n\n ngOnInit(): void {\n this._updateCurrentContent();\n }\n\n goToPage(direction: 'next' | 'previous'): void {\n const diff = direction === 'next' ? 1 : -1;\n const newPage = this._currentPage + diff;\n if (newPage <= 0 || newPage > this._pages) {\n return;\n }\n this._currentPage = newPage;\n this._canGoForward = newPage < this._pages;\n this._canGoBackward = newPage > 1;\n this._fillCurrentContent();\n }\n\n private _updateCurrentContent(): void {\n this._canGoBackward = false;\n if (this.instance == null || this.instance.content.length === 0) {\n this._currentPage = 0;\n this._pages = 0;\n } else {\n this._currentPage = 1;\n const {content} = this.instance;\n const {pageSize} = this.instance.widget;\n this._pages = Math.ceil(content.length / pageSize);\n this._canGoForward = this._pages > 1;\n }\n this._fillCurrentContent();\n }\n\n private _fillCurrentContent(): void {\n if (this.instance == null || this.instance.content.length === 0) {\n this._currentContent = [];\n return;\n }\n const {content} = this.instance;\n const {pageSize} = this.instance.widget;\n const start = (this._currentPage - 1) * pageSize;\n this._currentContent = content.slice(start, start + pageSize);\n this._cdr.markForCheck();\n }\n}\n\n@Component({\n templateUrl: 'paginated-table-widget.html',\n styleUrls: ['paginated-table-widget.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AjfPaginatedTableWidgetComponent\n extends AjfBaseWidgetComponent<AjfPaginatedTableWidgetInstance>\n implements OnChanges, OnInit\n{\n readonly paginatorConfig = {\n pageSize: 10,\n pageSizeOptions: [5, 10, 15, 20, 25, 30, 50, 100, 500],\n };\n\n get currentPage(): number {\n return this._currentPage;\n }\n private _currentPage = 0;\n\n get pages(): number {\n return this._pages;\n }\n private _pages = 0;\n\n get orderBy(): number {\n return this._orderBy;\n }\n private _orderBy = 0;\n\n get currentContent(): AjfTableCell[][] {\n return this._currentContent;\n }\n private _currentContent: AjfTableCell[][] = [];\n\n /**\n * full data table\n */\n private _allDataContent: AjfTableCell[][] = [];\n\n /**\n * full sorted data table\n */\n private _sortedAllDataContent: AjfTableCell[][] = [];\n\n get headerContent(): AjfTableCell[] {\n return this._headerContent;\n }\n private _headerContent: AjfTableCell[] = [];\n\n get canGoForward(): boolean {\n return this._canGoForward;\n }\n private _canGoForward = false;\n\n get canGoBackward(): boolean {\n return this._canGoBackward;\n }\n private _canGoBackward = false;\n\n constructor(cdr: ChangeDetectorRef, el: ElementRef) {\n super(cdr, el);\n }\n\n /**\n * Set initial data for the table on instance changes\n * @param changes\n */\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['instance']) {\n if (\n this.instance != null &&\n this.instance.widget.pageSize &&\n this.instance.widget.pageSize > 0\n ) {\n this.paginatorConfig.pageSize = this.instance.widget.pageSize;\n }\n this._updateCurrentContent();\n }\n }\n\n ngOnInit(): void {\n if (\n this.instance != null &&\n this.instance.widget.pageSize &&\n this.instance.widget.pageSize > 0\n ) {\n this.paginatorConfig.pageSize = this.instance.widget.pageSize;\n }\n this._updateCurrentContent();\n }\n\n /**\n * Got to next or previous page\n * @param direction\n * @returns\n */\n goToPage(direction: 'next' | 'previous'): void {\n const diff = direction === 'next' ? 1 : -1;\n const newPage = this._currentPage + diff;\n if (newPage <= 0 || newPage > this._pages) {\n return;\n }\n this._currentPage = newPage;\n this._canGoForward = newPage < this._pages;\n this._canGoBackward = newPage > 1;\n this._fillCurrentContent();\n }\n\n onPageSizeChange(_pageSize: number) {\n this.paginatorConfig.pageSize = _pageSize;\n this._updateCurrentContent();\n }\n\n /**\n * Sort all data for the table, not only current page data\n * @param sort\n * @returns\n */\n sortPaginatedData(sort: Sort): void {\n if (this._allDataContent.length > 1) {\n if (!sort.active || sort.direction === '') {\n this._sortedAllDataContent = this._allDataContent.slice();\n } else {\n this._currentPage = 1;\n this._canGoForward = this._currentPage < this._pages;\n this._canGoBackward = false;\n\n const columnIdx = parseInt(sort.active.slice(-1)) || 0;\n this._sortedAllDataContent = this._allDataContent.slice().sort((a, b) => {\n const isAsc = sort.direction === 'asc';\n return this._compare(a[columnIdx], b[columnIdx], isAsc);\n });\n }\n this._fillCurrentContent();\n }\n }\n\n private _compare(a: AjfTableCell, b: AjfTableCell, isAsc: boolean) {\n return (a.value < b.value ? -1 : 1) * (isAsc ? 1 : -1);\n }\n\n /**\n * Set current header and data for the table, starting from page 1\n */\n private _updateCurrentContent(): void {\n this._canGoBackward = false;\n if (this.instance == null || this.instance.data.length === 0) {\n this._currentPage = 0;\n this._pages = 0;\n this._headerContent = [];\n this._currentContent = [];\n this._allDataContent = [];\n this._sortedAllDataContent = [];\n } else {\n this._headerContent = this.instance.data[0];\n this._allDataContent = this.instance.data.slice(1);\n this._sortedAllDataContent = [...this._allDataContent];\n this._currentPage = 1;\n\n this._pages = Math.ceil(this._allDataContent.length / this.paginatorConfig.pageSize);\n this._canGoForward = this._pages > 1;\n }\n this._fillCurrentContent();\n }\n\n /**\n * Update current data for the table, using page and sorted data\n */\n private _fillCurrentContent(): void {\n if (this._sortedAllDataContent.length === 0 && this._headerContent.length > 0) {\n this._currentContent = [this._headerContent];\n } else {\n const start = (this._currentPage - 1) * this.paginatorConfig.pageSize;\n this._currentContent = [\n this._headerContent,\n ...this._sortedAllDataContent.slice(start, start + this.paginatorConfig.pageSize),\n ];\n }\n this._cdr.markForCheck();\n }\n}\n","<ajf-filter-widget\n *ngIf=\"instance && instance.filter\"\n [instance]=\"instance\"\n (filteredInstance)=\"instance = $event\"\n>\n</ajf-filter-widget>\n<ng-template ajf-widget-host></ng-template>\n","<div *ngIf=\"instance\" class=\"ajf-column-container\">\n <ng-container *ngFor=\"let w of instance.content\">\n <ajf-widget [instance]=\"w\">\n </ajf-widget>\n </ng-container>\n</div>\n","<div *ngIf=\"instance\" class=\"ajf-columns\">\n <div\n *ngFor=\"let column of instance.widget.columns; let idx = index\"\n [ngStyle]=\"{'flex-grow': column > -1 ? 1 : null, 'flex-basis' : column > -1 ? (column * 100) + '%' : null}\"\n class=\"ajf-column\"\n >\n <ng-container *ngIf=\"allcolumnsRendered$|async\">\n <ajf-widget *ngIf=\"(instance|ajfGetColumnContent:idx) as cc\" [instance]=\"cc!\">\n </ajf-widget>\n </ng-container>\n </div>\n</div>\n","<a *ngIf=\"instance\" class=\"ajf-dialog-toggle\" (click)=\"openDialog()\">\n <ajf-widget [instance]=\"instance.toggle\"></ajf-widget>\n</a>\n<ng-template #dialogContent>\n <ng-container *ngIf=\"instance\">\n <ng-container *ngFor=\"let item of instance.content\">\n <ajf-widget [instance]=\"item\"></ajf-widget>\n </ng-container>\n </ng-container>\n</ng-template>\n","<div class=\"ajf-paginated-list\" *ngIf=\"instance && pages > 0\">\n <div class=\"ajf-paginated-list-title-container\">\n <div class=\"ajf-paginated-list-title\">{{ instance.widget.title }}</div>\n <div class=\"ajf-spacer\"></div>\n <div class=\"ajf-paginated-list-paginator\">\n <a (click)=\"goToPage('previous')\" class=\"ajf-paginated-list-btn ajf-paginated-list-back-btn\"\n [class.ajf-paginated-list-btn-disabled]=\"canGoBackward === false\"></a>\n <div class=\"ajf-paginated-list-paginator-page\">{{ currentPage }}</div>\n <div class=\"ajf-paginated-list-paginator-separator\"></div>\n <div class=\"ajf-paginated-list-paginator-pages\">{{ pages }}</div>\n <a (click)=\"goToPage('next')\" class=\"ajf-paginated-list-btn ajf-paginated-list-forward-btn\"\n [class.ajf-paginated-list-btn-disabled]=\"canGoForward === false\"></a>\n </div>\n </div>\n <div class=\"ajf-paginated-list-item\" *ngFor=\"let item of currentContent\">\n <ajf-widget [instance]=\"item\"></ajf-widget>\n </div>\n</div>\n","<div class=\"ajf-paginated-table\" *ngIf=\"instance\">\n <div class=\"ajf-paginated-table-title-container\" *ngIf=\"pages > 0\">\n <div class=\"ajf-paginated-table-page-selector\">\n <mat-label class=\"ajf-paginated-table-page-selector-label\"\n >{{'Items per page:'|transloco}}</mat-label\n >\n <mat-select\n [value]=\"paginatorConfig.pageSize\"\n (selectionChange)=\"onPageSizeChange($event.value)\"\n >\n <mat-option\n [value]=\"pageSizeOpt\"\n *ngFor=\"let pageSizeOpt of paginatorConfig.pageSizeOptions\"\n >\n {{ pageSizeOpt }}\n </mat-option>\n </mat-select>\n </div>\n <div class=\"ajf-spacer\"></div>\n <div class=\"ajf-paginated-table-paginator\">\n <a\n (click)=\"goToPage('previous')\"\n class=\"ajf-paginated-table-btn ajf-paginated-table-back-btn\"\n [class.ajf-paginated-table-btn-disabled]=\"canGoBackward === false\"\n ></a>\n <div class=\"ajf-paginated-table-paginator-page\">{{ currentPage }}</div>\n <div class=\"ajf-paginated-table-paginator-separator\"></div>\n <div class=\"ajf-paginated-table-paginator-pages\">{{ pages }}</div>\n <a\n (click)=\"goToPage('next')\"\n class=\"ajf-paginated-table-btn ajf-paginated-table-forward-btn\"\n [class.ajf-paginated-table-btn-disabled]=\"canGoForward === false\"\n ></a>\n </div>\n </div>\n <div class=\"ajf-paginated-table-item\">\n <ajf-widget-export\n *ngIf=\"instance\"\n [widgetType]=\"instance.widgetType\"\n [data]=\"currentContent\"\n [enable]=\"instance.exportable\"\n >\n <ajf-table [data]=\"currentContent\" (sortSelected)=\"sortPaginatedData($event)\"></ajf-table>\n </ajf-widget-export>\n </div>\n</div>\n","/**\n * @license\n * Copyright (C) Gnucoop soc. coop.\n *\n * This file is part of the Advanced JSON forms (ajf).\n *\n * Advanced JSON forms (ajf) is free software: you can redistribute it and/or\n * modify it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the License,\n * or (at your option) any later version.\n *\n * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero\n * General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Advanced JSON forms (ajf).\n * If not, see http://www.gnu.org/licenses/.\n *\n */\n\nimport {AjfReportRenderer as CoreReportRenderer} from '@ajf/core/reports';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ViewEncapsulation,\n} from '@angular/core';\n\n@Component({\n selector: 'ajf-report',\n templateUrl: 'report.html',\n styleUrls: ['report.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AjfReportRenderer extends CoreReportRenderer {\n constructor(cdr: ChangeDetectorRef) {\n super(cdr);\n }\n}\n","<ng-template [ngIf]=\"instance\">\n <div *ngIf=\"instance.header\" @.disabled [applyStyles]=\"instance.header.styles\" class=\"ajf-report-header\">\n <ng-template ngFor let-instance [ngForOf]=\"instance.header.content\">\n <ajf-widget *ngIf=\"instance.visible\" [instance]=\"instance\"></ajf-widget>\n </ng-template>\n </div>\n <div *ngIf=\"instance.content\" @.disabled [applyStyles]=\"instance.content.styles\" class=\"ajf-report-content\">\n <ng-template ngFor let-instance [ngForOf]=\"instance.content.content\">\n <ajf-widget *ngIf=\"instance.visible\" [instance]=\"instance\"></ajf-widget>\n </ng-template>\n </div>\n <div *ngIf=\"instance.footer\" @.disabled [applyStyles]=\"instance.footer.styles\" class=\"ajf-report-footer\">\n <ng-template ngFor let-instance [ngForOf]=\"instance.footer.content\">\n <ajf-widget *ngIf=\"instance.visible\" [instance]=\"instance\"></ajf-widget>\n </ng-template>\n </div>\n</ng-template>\n","/**\n * @license\n * Copyright (C) Gnucoop soc. coop.\n *\n * This file is part of the Advanced JSON forms (ajf).\n *\n * Advanced JSON forms (ajf) is free software: you can redistribute it and/or\n * modify it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the License,\n * or (at your option) any later version.\n *\n * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero\n * General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Advanced JSON forms (ajf).\n * If not, see http://www.gnu.org/licenses/.\n *\n */\n\nimport {AjfChartModule} from '@ajf/core/chart';\nimport {AjfCommonModule} from '@ajf/core/common';\nimport {AjfGraphModule} from '@ajf/core/graph';\nimport {AjfHeatMapModule} from '@ajf/core/heat-map';\nimport {AjfMapModule} from '@ajf/core/map';\nimport {AjfPageBreakModule} from '@ajf/core/page-break';\nimport {AjfReportsModule as CoreModule} from '@ajf/core/reports';\nimport {AjfTableModule} from '@ajf/core/table';\nimport {AjfTextModule} from '@ajf/core/text';\nimport {AjfTranslocoModule} from '@ajf/core/transloco';\nimport {AjfFormsModule} from '@ajf/material/forms';\nimport {AjfImageModule} from '@ajf/material/image';\nimport {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {MatDialogModule} from '@angular/material/dialog';\nimport {MatSelectModule} from '@angular/material/select';\n\nimport {AjfChartWidgetComponent} from './chart-widget';\nimport {AjfFilterWidgetComponent} from './filter-widget';\nimport {AjfFormulaWidgetComponent} from './formula-widget';\nimport {AjfHeatMapWidgetComponent} from './heat-map-widget';\nimport {AjfImageContainerWidgetComponent} from './image-container-widget';\nimport {AjfImageWidgetComponent} from './image-widget';\nimport {AjfMapWidgetComponent} from './map-widget';\nimport {AjfPageBreakWidgetComponent} from './page-break-widget';\nimport {AjfReportRenderer} from './report';\nimport {AjfTableWidgetComponent} from './table-widget';\nimport {AjfTextWidgetComponent} from './text-widget';\nimport {\n AjfColumnWidgetComponent,\n AjfDialogWidgetComponent,\n AjfLayoutWidgetComponent,\n AjfPaginatedListWidgetComponent,\n AjfPaginatedTableWidgetComponent,\n AjfReportWidget,\n} from './widget';\nimport {AjfGraphWidgetComponent} from './graph-widget';\n\n@NgModule({\n imports: [\n AjfChartModule,\n AjfCommonModule,\n AjfImageModule,\n AjfFormsModule,\n AjfGraphModule,\n AjfHeatMapModule,\n AjfMapModule,\n AjfPageBreakModule,\n AjfTableModule,\n AjfTextModule,\n AjfTranslocoModule,\n CommonModule,\n CoreModule,\n MatDialogModule,\n MatSelectModule,\n ],\n declarations: [\n AjfChartWidgetComponent,\n AjfColumnWidgetComponent,\n AjfDialogWidgetComponent,\n AjfFilterWidgetComponent,\n AjfFormulaWidgetComponent,\n AjfHeatMapWidgetComponent,\n AjfImageContainerWidgetComponent,\n AjfImageWidgetComponent,\n AjfGraphWidgetComponent,\n AjfLayoutWidgetComponent,\n AjfMapWidgetComponent,\n AjfPageBreakWidgetComponent,\n AjfPaginatedListWidgetComponent,\n AjfPaginatedTableWidgetComponent,\n AjfReportRenderer,\n AjfReportWidget,\n AjfTableWidgetComponent,\n AjfTextWidgetComponent,\n ],\n exports: [AjfReportRenderer, AjfReportWidget],\n})\nexport class AjfReportsModule {}\n","/**\n * @license\n * Copyright (C) Gnucoop soc. coop.\n *\n * This file is part of the Advanced JSON forms (ajf).\n *\n * Advanced JSON forms (ajf) is free software: you can redistribute it and/or\n * modify it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the License,\n * or (at your option) any later version.\n *\n * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero\n * General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Advanced JSON forms (ajf).\n * If not, see http://www.gnu.org/licenses/.\n *\n */\n\nexport * from './chart-widget';\nexport * from './filter-widget';\nexport * from './formula-widget';\nexport * from './heat-map-widget';\nexport * from './image-container-widget';\nexport * from './image-widget';\nexport * from './map-widget';\nexport * from './page-break-widget';\nexport * from './report';\nexport * from './reports-module';\nexport * from './table-widget';\nexport * from './text-widget';\nexport * from './widget';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i2","i3","i1","i4","wt","CoreService","CoreComponent","i3.AjfFilterWidgetComponent","i5","i9","CoreReportRenderer","i3.AjfReportWidget","CoreModule"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ajf-material-reports.mjs","sources":["../../../projects/material/reports/src/chart-widget.ts","../../../projects/material/reports/src/chart-widget.html","../../../projects/material/reports/src/filter-widget.ts","../../../projects/material/reports/src/filter-widget.html","../../../projects/material/reports/src/formula-widget.ts","../../../projects/material/reports/src/formula-widget.html","../../../projects/material/reports/src/heat-map-widget.ts","../../../projects/material/reports/src/heat-map-widget.html","../../../projects/material/reports/src/image-container-widget.ts","../../../projects/material/reports/src/image-container-widget.html","../../../projects/material/reports/src/image-widget.ts","../../../projects/material/reports/src/image-widget.html","../../../projects/material/reports/src/map-widget.ts","../../../projects/material/reports/src/map-widget.html","../../../projects/material/reports/src/page-break-widget.ts","../../../projects/material/reports/src/page-break-widget.html","../../../projects/material/reports/src/graph-widget.ts","../../../projects/material/reports/src/graph-widget.html","../../../projects/material/reports/src/table-widget.ts","../../../projects/material/reports/src/table-widget.html","../../../projects/material/reports/src/text-widget.ts","../../../projects/material/reports/src/text-widget.html","../../../projects/material/reports/src/widget.ts","../../../projects/material/reports/src/widget.html","../../../projects/material/reports/src/column-widget.html","../../../projects/material/reports/src/layout-widget.html","../../../projects/material/reports/src/dialog-widget.html","../../../projects/material/reports/src/paginated-list-widget.html","../../../projects/material/reports/src/paginated-table-widget.html","../../../projects/material/reports/src/report.ts","../../../projects/material/reports/src/report.html","../../../projects/material/reports/src/reports-module.ts","../../../projects/material/reports/src/public_api.ts","../../../projects/material/reports/src/ajf-material-reports.ts"],"sourcesContent":["/**\n * @license\n * Copyright (C) Gnucoop soc. coop.\n *\n * This file is part of the Advanced JSON forms (ajf).\n *\n * Advanced JSON forms (ajf) is free software: you can redistribute it and/or\n * modify it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the License,\n * or (at your option) any later version.\n *\n * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero\n * General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Advanced JSON forms (ajf).\n * If not, see http://www.gnu.org/licenses/.\n *\n */\n\nimport {AjfBaseWidgetComponent, AjfChartWidgetInstance} from '@ajf/core/reports';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n ViewEncapsulation,\n} from '@angular/core';\n\n@Component({\n templateUrl: 'chart-widget.html',\n styleUrls: ['chart-widget.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AjfChartWidgetComponent extends AjfBaseWidgetComponent<AjfChartWidgetInstance> {\n constructor(cdr: ChangeDetectorRef, el: ElementRef) {\n super(cdr, el);\n }\n}\n","<ajf-widget-export *ngIf=\"instance\"\n [widgetType]=\"instance.widgetType\"\n [data]=\"instance.data\"\n [enable]=\"instance.exportable\">\n <ajf-chart\n [chartType]=\"instance.chartType\"\n [options]=\"instance.widget.options\"\n [data]=\"instance.data\"\n [instance]=\"instance\">\n </ajf-chart>\n</ajf-widget-export>\n","/**\n * @license\n * Copyright (C) Gnucoop soc. coop.\n *\n * This file is part of the Advanced JSON forms (ajf).\n *\n * Advanced JSON forms (ajf) is free software: you can redistribute it and/or\n * modify it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the License,\n * or (at your option) any later version.\n *\n * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero\n * General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Advanced JSON forms (ajf).\n * If not, see http://www.gnu.org/licenses/.\n *\n */\n\nimport {AjfFormRendererService} from '@ajf/core/forms';\nimport {evaluateExpression} from '@ajf/core/models';\nimport {\n AjfBaseWidgetComponent,\n AjfFilterInstance,\n AjfWidgetInstance,\n widgetToWidgetInstance,\n} from '@ajf/core/reports';\nimport {TranslocoService} from '@ajf/core/transloco';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n Output,\n ViewEncapsulation,\n} from '@angular/core';\nimport {UntypedFormGroup} from '@angular/forms';\nimport {distinctUntilChanged, filter, map, switchMap} from 'rxjs/operators';\nimport {Observable} from 'rxjs';\n\n@Component({\n selector: 'ajf-filter-widget',\n templateUrl: 'filter-widget.html',\n styleUrls: ['filter-widget.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [AjfFormRendererService],\n})\nexport class AjfFilterWidgetComponent extends AjfBaseWidgetComponent<AjfWidgetInstance> {\n @Output() readonly filteredInstance: Observable<AjfWidgetInstance>;\n\n constructor(\n cdr: ChangeDetectorRef,\n el: ElementRef,\n private _ts: TranslocoService,\n private _formRenderer: AjfFormRendererService,\n ) {\n super(cdr, el);\n\n this.filteredInstance = this._formRenderer.formGroup.pipe(\n filter(fg => this.instance != null && this.instance.filter != null && fg != null),\n switchMap(formGroup => (formGroup as UntypedFormGroup).valueChanges),\n distinctUntilChanged((a, b) => JSON.stringify(a) === JSON.stringify(b)),\n map(a => {\n const instance = this.instance as AjfWidgetInstance;\n const filter = instance.filter as AjfFilterInstance;\n const newConst: any = {...(filter.context || {}), ...a};\n if (filter.variables != null) {\n (filter.variables || []).forEach(variable => {\n newConst[variable.name] = evaluateExpression(variable.formula.formula, newConst);\n });\n }\n this.instance = widgetToWidgetInstance(\n instance.widget,\n newConst,\n this._ts,\n filter.variables,\n );\n return this.instance;\n }),\n );\n }\n}\n","<ng-container *ngIf=\"instance\">\n <div *ngIf=\"instance.filter as filter\" class=\"ajf-filter-container\">\n <ajf-form\n [form]=\"filter.form\"\n [hasStartMessage]=\"false\"\n [hasEndMessage]=\"false\"\n [hideTopToolbar]=\"true\"\n [hideBottomToolbar]=\"true\"\n [hideNavigationButtons]=\"true\"\n ></ajf-form>\n </div>\n</ng-container>\n","/**\n * @license\n * Copyright (C) Gnucoop soc. coop.\n *\n * This file is part of the Advanced JSON forms (ajf).\n *\n * Advanced JSON forms (ajf) is free software: you can redistribute it and/or\n * modify it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the License,\n * or (at your option) any later version.\n *\n * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero\n * General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Advanced JSON forms (ajf).\n * If not, see http://www.gnu.org/licenses/.\n *\n */\n\nimport {AjfBaseWidgetComponent, AjfFormulaWidgetInstance} from '@ajf/core/reports';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n ViewEncapsulation,\n} from '@angular/core';\n\n@Component({\n templateUrl: 'formula-widget.html',\n styleUrls: ['formula-widget.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AjfFormulaWidgetComponent extends AjfBaseWidgetComponent<AjfFormulaWidgetInstance> {\n constructor(cdr: ChangeDetectorRef, el: ElementRef) {\n super(cdr, el);\n }\n}\n","<ajf-text *ngIf=\"instance\" [htmlText]=\"instance.formula\"></ajf-text>\n","/**\n * @license\n * Copyright (C) Gnucoop soc. coop.\n *\n * This file is part of the Advanced JSON forms (ajf).\n *\n * Advanced JSON forms (ajf) is free software: you can redistribute it and/or\n * modify it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the License,\n * or (at your option) any later version.\n *\n * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero\n * General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Advanced JSON forms (ajf).\n * If not, see http://www.gnu.org/licenses/.\n *\n */\n\nimport {AjfBaseWidgetComponent, AjfHeatMapWidgetInstance} from '@ajf/core/reports';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n ViewEncapsulation,\n} from '@angular/core';\n\n@Component({\n templateUrl: 'heat-map-widget.html',\n styleUrls: ['heat-map-widget.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AjfHeatMapWidgetComponent extends AjfBaseWidgetComponent<AjfHeatMapWidgetInstance> {\n constructor(cdr: ChangeDetectorRef, el: ElementRef) {\n super(cdr, el);\n }\n}\n","<ajf-heat-map\n *ngIf=\"instance\"\n [idProp]=\"instance.idProp\"\n [features]=\"instance.features\"\n [values]=\"instance.values\"\n [startColor]=\"instance.startColor\"\n [endColor]=\"instance.endColor\"\n [highlightColor]=\"instance.highlightColor\"\n [showVisualMap]=\"instance.showVisualMap\"\n [action]=\"instance.action\"\n></ajf-heat-map>\n","/**\n * @license\n * Copyright (C) Gnucoop soc. coop.\n *\n * This file is part of the Advanced JSON forms (ajf).\n *\n * Advanced JSON forms (ajf) is free software: you can redistribute it and/or\n * modify it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the License,\n * or (at your option) any later version.\n *\n * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero\n * General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Advanced JSON forms (ajf).\n * If not, see http://www.gnu.org/licenses/.\n *\n */\n\nimport {AjfImageType} from '@ajf/core/image';\nimport {AjfBaseWidgetComponent, AjfImageContainerWidgetInstance} from '@ajf/core/reports';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n ViewEncapsulation,\n} from '@angular/core';\n\n@Component({\n templateUrl: 'image-container-widget.html',\n styleUrls: ['image-container-widget.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AjfImageContainerWidgetComponent extends AjfBaseWidgetComponent<AjfImageContainerWidgetInstance> {\n readonly imageTypes = AjfImageType;\n\n constructor(cdr: ChangeDetectorRef, el: ElementRef) {\n super(cdr, el);\n }\n}\n","<div *ngIf=\"instance\" class=\"ajf-image-container ajf-columns\" [ngSwitch]=\"instance.widget.imageType\">\n <ng-template [ngSwitchCase]=\"imageTypes.Image\">\n <div *ngFor=\"let icw of instance.urls; let idx = index\" class=\"ajf-column\">\n <ajf-image\n [type]=\"instance.widget.imageType\"\n [imageUrl]=\"icw\"\n [icon]=\"null\"\n [flag]=\"null\"\n [applyStyles]=\"instance.widget!.styles\"\n ></ajf-image>\n </div>\n </ng-template>\n <ng-template [ngSwitchCase]=\"imageTypes.Flag\">\n <div *ngFor=\"let icw of instance.flags; let idx = index\" class=\"ajf-column\">\n <ajf-image\n [type]=\"instance.widget.imageType\"\n [imageUrl]=\"null\"\n [icon]=\"null\"\n [flag]=\"icw\"\n [applyStyles]=\"instance.widget!.styles\"\n ></ajf-image>\n </div>\n </ng-template>\n <ng-template [ngSwitchCase]=\"imageTypes.Icon\">\n <div *ngFor=\"let icw of instance.icons; let idx = index\" class=\"ajf-column\">\n <ajf-image\n [type]=\"instance.widget.imageType\"\n [imageUrl]=\"null\"\n [icon]=\"icw\"\n [flag]=\"null\"\n [applyStyles]=\"instance.widget!.styles\"\n ></ajf-image>\n </div>\n </ng-template>\n</div>\n","/**\n * @license\n * Copyright (C) Gnucoop soc. coop.\n *\n * This file is part of the Advanced JSON forms (ajf).\n *\n * Advanced JSON forms (ajf) is free software: you can redistribute it and/or\n * modify it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the License,\n * or (at your option) any later version.\n *\n * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero\n * General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Advanced JSON forms (ajf).\n * If not, see http://www.gnu.org/licenses/.\n *\n */\n\nimport {AjfBaseWidgetComponent, AjfImageWidgetInstance} from '@ajf/core/reports';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n ViewEncapsulation,\n} from '@angular/core';\n\n@Component({\n templateUrl: 'image-widget.html',\n styleUrls: ['image-widget.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AjfImageWidgetComponent extends AjfBaseWidgetComponent<AjfImageWidgetInstance> {\n constructor(cdr: ChangeDetectorRef, el: ElementRef) {\n super(cdr, el);\n }\n}\n","<ajf-image *ngIf=\"instance\"\n [type]=\"instance.widget.imageType\"\n [imageUrl]=\"instance.url\"\n [icon]=\"instance.icon\"\n [flag]=\"instance.flag\"\n></ajf-image>\n","/**\n * @license\n * Copyright (C) Gnucoop soc. coop.\n *\n * This file is part of the Advanced JSON forms (ajf).\n *\n * Advanced JSON forms (ajf) is free software: you can redistribute it and/or\n * modify it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the License,\n * or (at your option) any later version.\n *\n * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero\n * General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Advanced JSON forms (ajf).\n * If not, see http://www.gnu.org/licenses/.\n *\n */\n\nimport {AjfBaseWidgetComponent, AjfMapWidgetInstance} from '@ajf/core/reports';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n ViewEncapsulation,\n} from '@angular/core';\n\n@Component({\n templateUrl: 'map-widget.html',\n styleUrls: ['map-widget.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AjfMapWidgetComponent extends AjfBaseWidgetComponent<AjfMapWidgetInstance> {\n constructor(cdr: ChangeDetectorRef, el: ElementRef) {\n super(cdr, el);\n }\n}\n","<ajf-map *ngIf=\"instance\"\n [coordinate]=\"instance.coordinate\"\n [tileLayer]=\"instance.widget.tileLayer\"\n [attribution]=\"instance.widget.attribution\"\n [disabled]=\"instance.widget.disabled\"\n></ajf-map>\n","/**\n * @license\n * Copyright (C) Gnucoop soc. coop.\n *\n * This file is part of the Advanced JSON forms (ajf).\n *\n * Advanced JSON forms (ajf) is free software: you can redistribute it and/or\n * modify it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the License,\n * or (at your option) any later version.\n *\n * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero\n * General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Advanced JSON forms (ajf).\n * If not, see http://www.gnu.org/licenses/.\n *\n */\n\nimport {AjfBaseWidgetComponent} from '@ajf/core/reports';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n ViewEncapsulation,\n} from '@angular/core';\n\n@Component({\n templateUrl: 'page-break-widget.html',\n styleUrls: ['page-break-widget.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AjfPageBreakWidgetComponent extends AjfBaseWidgetComponent {\n constructor(cdr: ChangeDetectorRef, el: ElementRef) {\n super(cdr, el);\n }\n}\n","<ajf-page-break></ajf-page-break>\n","/**\n * @license\n * Copyright (C) Gnucoop soc. coop.\n *\n * This file is part of the Advanced JSON forms (ajf).\n *\n * Advanced JSON forms (ajf) is free software: you can redistribute it and/or\n * modify it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the License,\n * or (at your option) any later version.\n *\n * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero\n * General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Advanced JSON forms (ajf).\n * If not, see http://www.gnu.org/licenses/.\n *\n */\n\nimport {AjfBaseWidgetComponent, AjfGraphWidgetInstance} from '@ajf/core/reports';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n ViewEncapsulation,\n} from '@angular/core';\n\n@Component({\n selector: 'ajf-graph-widget',\n templateUrl: 'graph-widget.html',\n styleUrls: ['graph-widget.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AjfGraphWidgetComponent extends AjfBaseWidgetComponent<AjfGraphWidgetInstance> {\n constructor(cdr: ChangeDetectorRef, el: ElementRef) {\n super(cdr, el);\n }\n}\n","<div *ngIf=\"instance\" class=\"ajf-graph-container\">\n <ajf-graph [nodes]=\"instance.nodes\"></ajf-graph>\n</div>\n","/**\n * @license\n * Copyright (C) Gnucoop soc. coop.\n *\n * This file is part of the Advanced JSON forms (ajf).\n *\n * Advanced JSON forms (ajf) is free software: you can redistribute it and/or\n * modify it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the License,\n * or (at your option) any later version.\n *\n * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero\n * General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Advanced JSON forms (ajf).\n * If not, see http://www.gnu.org/licenses/.\n *\n */\n\nimport {AjfBaseWidgetComponent, AjfTableWidgetInstance} from '@ajf/core/reports';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n ViewEncapsulation,\n} from '@angular/core';\n\n@Component({\n templateUrl: 'table-widget.html',\n styleUrls: ['table-widget.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AjfTableWidgetComponent extends AjfBaseWidgetComponent<AjfTableWidgetInstance> {\n constructor(cdr: ChangeDetectorRef, el: ElementRef) {\n super(cdr, el);\n }\n}\n","<ajf-widget-export\n *ngIf=\"instance\"\n [widgetType]=\"instance.widgetType\"\n [data]=\"instance.data\"\n [enable]=\"instance.exportable\"\n>\n <ajf-table [data]=\"instance.data\"></ajf-table>\n</ajf-widget-export>\n","/**\n * @license\n * Copyright (C) Gnucoop soc. coop.\n *\n * This file is part of the Advanced JSON forms (ajf).\n *\n * Advanced JSON forms (ajf) is free software: you can redistribute it and/or\n * modify it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the License,\n * or (at your option) any later version.\n *\n * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero\n * General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Advanced JSON forms (ajf).\n * If not, see http://www.gnu.org/licenses/.\n *\n */\n\nimport {AjfBaseWidgetComponent, AjfTextWidgetInstance} from '@ajf/core/reports';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n ViewEncapsulation,\n} from '@angular/core';\n\n@Component({\n templateUrl: 'text-widget.html',\n styleUrls: ['text-widget.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AjfTextWidgetComponent extends AjfBaseWidgetComponent<AjfTextWidgetInstance> {\n constructor(cdr: ChangeDetectorRef, el: ElementRef) {\n super(cdr, el);\n }\n}\n","<ajf-text *ngIf=\"instance\" [htmlText]=\"instance.htmlText | transloco\"></ajf-text>\n","/**\n * @license\n * Copyright (C) Gnucoop soc. coop.\n *\n * This file is part of the Advanced JSON forms (ajf).\n *\n * Advanced JSON forms (ajf) is free software: you can redistribute it and/or\n * modify it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the License,\n * or (at your option) any later version.\n *\n * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero\n * General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Advanced JSON forms (ajf).\n * If not, see http://www.gnu.org/licenses/.\n *\n */\n\nimport {\n AjfBaseWidgetComponent,\n AjfColumnWidgetInstance,\n AjfDialogWidgetInstance,\n AjfLayoutWidgetInstance,\n AjfPaginatedListWidgetInstance,\n AjfPaginatedTableWidgetInstance,\n AjfReportWidget as CoreComponent,\n AjfWidgetComponentsMap,\n AjfWidgetInstance,\n AjfWidgetService as CoreService,\n AjfWidgetType as wt,\n} from '@ajf/core/reports';\nimport {AjfTableCell} from '@ajf/core/table';\nimport {\n AfterContentChecked,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n Injectable,\n OnChanges,\n OnInit,\n Renderer2,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport {MatDialog} from '@angular/material/dialog';\nimport {Sort} from '@angular/material/sort';\nimport {BehaviorSubject, Observable} from 'rxjs';\n\nimport {AjfChartWidgetComponent} from './chart-widget';\nimport {AjfFormulaWidgetComponent} from './formula-widget';\nimport {AjfGraphWidgetComponent} from './graph-widget';\nimport {AjfHeatMapWidgetComponent} from './heat-map-widget';\nimport {AjfImageContainerWidgetComponent} from './image-container-widget';\nimport {AjfImageWidgetComponent} from './image-widget';\nimport {AjfMapWidgetComponent} from './map-widget';\nimport {AjfPageBreakWidgetComponent} from './page-break-widget';\nimport {AjfTableWidgetComponent} from './table-widget';\nimport {AjfTextWidgetComponent} from './text-widget';\n\nconst defaultWidgetsFactory = (): AjfWidgetComponentsMap => {\n const defaultWidgets: AjfWidgetComponentsMap = {};\n defaultWidgets[wt.Layout] = {component: AjfLayoutWidgetComponent};\n defaultWidgets[wt.PageBreak] = {component: AjfPageBreakWidgetComponent};\n defaultWidgets[wt.Image] = {component: AjfImageWidgetComponent};\n defaultWidgets[wt.Text] = {component: AjfTextWidgetComponent};\n defaultWidgets[wt.Chart] = {component: AjfChartWidgetComponent};\n defaultWidgets[wt.Table] = {component: AjfTableWidgetComponent};\n defaultWidgets[wt.DynamicTable] = {component: AjfTableWidgetComponent};\n defaultWidgets[wt.Map] = {component: AjfMapWidgetComponent};\n defaultWidgets[wt.Column] = {component: AjfColumnWidgetComponent};\n defaultWidgets[wt.Formula] = {component: AjfFormulaWidgetComponent};\n defaultWidgets[wt.ImageContainer] = {component: AjfImageContainerWidgetComponent};\n defaultWidgets[wt.Graph] = {component: AjfGraphWidgetComponent};\n defaultWidgets[wt.PaginatedList] = {component: AjfPaginatedListWidgetComponent};\n defaultWidgets[wt.PaginatedTable] = {component: AjfPaginatedTableWidgetComponent};\n\n defaultWidgets[wt.Dialog] = {component: AjfDialogWidgetComponent};\n defaultWidgets[wt.HeatMap] = {component: AjfHeatMapWidgetComponent};\n return defaultWidgets;\n};\n\n@Injectable({providedIn: 'root'})\nexport class AjfWidgetService extends CoreService {\n constructor() {\n super(defaultWidgetsFactory());\n }\n}\n\n@Component({\n selector: 'ajf-widget',\n templateUrl: 'widget.html',\n styleUrls: ['widget.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AjfReportWidget extends CoreComponent {\n readonly widgetsMap: AjfWidgetComponentsMap;\n\n constructor(renderer: Renderer2, widgetService: AjfWidgetService) {\n super(renderer);\n this.widgetsMap = widgetService.componentsMap;\n }\n}\n\n@Component({\n templateUrl: 'column-widget.html',\n styleUrls: ['column-widget.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AjfColumnWidgetComponent extends AjfBaseWidgetComponent<AjfColumnWidgetInstance> {\n constructor(cdr: ChangeDetectorRef, el: ElementRef) {\n super(cdr, el);\n }\n}\n\n@Component({\n templateUrl: 'layout-widget.html',\n styleUrls: ['layout-widget.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AjfLayoutWidgetComponent\n extends AjfBaseWidgetComponent<AjfLayoutWidgetInstance>\n implements AfterContentChecked\n{\n private _allcolumnsRendered$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\n readonly allcolumnsRendered$: Observable<boolean> = this\n ._allcolumnsRendered$ as Observable<boolean>;\n\n constructor(cdr: ChangeDetectorRef, el: ElementRef) {\n super(cdr, el);\n }\n ngAfterContentChecked(): void {\n this._allcolumnsRendered$.next(true);\n }\n}\n\n@Component({\n templateUrl: 'dialog-widget.html',\n styleUrls: ['dialog-widget.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AjfDialogWidgetComponent extends AjfBaseWidgetComponent<AjfDialogWidgetInstance> {\n @ViewChild('dialogContent', {read: TemplateRef}) dialogContent!: TemplateRef<HTMLElement>;\n\n constructor(cdr: ChangeDetectorRef, el: ElementRef, private _dialog: MatDialog) {\n super(cdr, el);\n }\n\n openDialog(): void {\n this._dialog.open(this.dialogContent);\n }\n}\n\n@Component({\n templateUrl: 'paginated-list-widget.html',\n styleUrls: ['paginated-list-widget.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AjfPaginatedListWidgetComponent\n extends AjfBaseWidgetComponent<AjfPaginatedListWidgetInstance>\n implements OnChanges, OnInit\n{\n get currentPage(): number {\n return this._currentPage;\n }\n private _currentPage = 0;\n\n get pages(): number {\n return this._pages;\n }\n private _pages = 0;\n\n get currentContent(): AjfWidgetInstance[] {\n return this._currentContent;\n }\n private _currentContent: AjfWidgetInstance[] = [];\n\n get canGoForward(): boolean {\n return this._canGoForward;\n }\n private _canGoForward = false;\n\n get canGoBackward(): boolean {\n return this._canGoBackward;\n }\n private _canGoBackward = false;\n\n constructor(cdr: ChangeDetectorRef, el: ElementRef) {\n super(cdr, el);\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['instance']) {\n this._updateCurrentContent();\n }\n }\n\n ngOnInit(): void {\n this._updateCurrentContent();\n }\n\n goToPage(direction: 'next' | 'previous'): void {\n const diff = direction === 'next' ? 1 : -1;\n const newPage = this._currentPage + diff;\n if (newPage <= 0 || newPage > this._pages) {\n return;\n }\n this._currentPage = newPage;\n this._canGoForward = newPage < this._pages;\n this._canGoBackward = newPage > 1;\n this._fillCurrentContent();\n }\n\n private _updateCurrentContent(): void {\n this._canGoBackward = false;\n if (this.instance == null || this.instance.content.length === 0) {\n this._currentPage = 0;\n this._pages = 0;\n } else {\n this._currentPage = 1;\n const {content} = this.instance;\n const {pageSize} = this.instance.widget;\n this._pages = Math.ceil(content.length / pageSize);\n this._canGoForward = this._pages > 1;\n }\n this._fillCurrentContent();\n }\n\n private _fillCurrentContent(): void {\n if (this.instance == null || this.instance.content.length === 0) {\n this._currentContent = [];\n return;\n }\n const {content} = this.instance;\n const {pageSize} = this.instance.widget;\n const start = (this._currentPage - 1) * pageSize;\n this._currentContent = content.slice(start, start + pageSize);\n this._cdr.markForCheck();\n }\n}\n\n@Component({\n templateUrl: 'paginated-table-widget.html',\n styleUrls: ['paginated-table-widget.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AjfPaginatedTableWidgetComponent\n extends AjfBaseWidgetComponent<AjfPaginatedTableWidgetInstance>\n implements OnChanges, OnInit\n{\n readonly paginatorConfig = {\n pageSize: 10,\n pageSizeOptions: [5, 10, 15, 20, 25, 30, 50, 100, 500],\n };\n\n get currentPage(): number {\n return this._currentPage;\n }\n private _currentPage = 0;\n\n get pages(): number {\n return this._pages;\n }\n private _pages = 0;\n\n get orderBy(): number {\n return this._orderBy;\n }\n private _orderBy = 0;\n\n get currentContent(): AjfTableCell[][] {\n return this._currentContent;\n }\n private _currentContent: AjfTableCell[][] = [];\n\n /**\n * full data table\n */\n private _allDataContent: AjfTableCell[][] = [];\n\n /**\n * full sorted data table\n */\n private _sortedAllDataContent: AjfTableCell[][] = [];\n\n get headerContent(): AjfTableCell[] {\n return this._headerContent;\n }\n private _headerContent: AjfTableCell[] = [];\n\n get canGoForward(): boolean {\n return this._canGoForward;\n }\n private _canGoForward = false;\n\n get canGoBackward(): boolean {\n return this._canGoBackward;\n }\n private _canGoBackward = false;\n\n constructor(cdr: ChangeDetectorRef, el: ElementRef) {\n super(cdr, el);\n }\n\n /**\n * Set initial data for the table on instance changes\n * @param changes\n */\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['instance']) {\n if (\n this.instance != null &&\n this.instance.widget.pageSize &&\n this.instance.widget.pageSize > 0\n ) {\n this.paginatorConfig.pageSize = this.instance.widget.pageSize;\n }\n this._updateCurrentContent();\n }\n }\n\n ngOnInit(): void {\n if (\n this.instance != null &&\n this.instance.widget.pageSize &&\n this.instance.widget.pageSize > 0\n ) {\n this.paginatorConfig.pageSize = this.instance.widget.pageSize;\n }\n this._updateCurrentContent();\n }\n\n /**\n * Got to next or previous page\n * @param direction\n * @returns\n */\n goToPage(direction: 'next' | 'previous'): void {\n const diff = direction === 'next' ? 1 : -1;\n const newPage = this._currentPage + diff;\n if (newPage <= 0 || newPage > this._pages) {\n return;\n }\n this._currentPage = newPage;\n this._canGoForward = newPage < this._pages;\n this._canGoBackward = newPage > 1;\n this._fillCurrentContent();\n }\n\n onPageSizeChange(_pageSize: number) {\n this.paginatorConfig.pageSize = _pageSize;\n this._updateCurrentContent();\n }\n\n /**\n * Sort all data for the table, not only current page data\n * @param sort\n * @returns\n */\n sortPaginatedData(sort: Sort): void {\n if (this._allDataContent.length > 1) {\n if (!sort.active || sort.direction === '') {\n this._sortedAllDataContent = this._allDataContent.slice();\n } else {\n this._currentPage = 1;\n this._canGoForward = this._currentPage < this._pages;\n this._canGoBackward = false;\n\n const columnIdx = parseInt(sort.active.slice(-1)) || 0;\n this._sortedAllDataContent = this._allDataContent.slice().sort((a, b) => {\n const isAsc = sort.direction === 'asc';\n return this._compare(a[columnIdx], b[columnIdx], isAsc);\n });\n }\n this._fillCurrentContent();\n }\n }\n\n private _compare(a: AjfTableCell, b: AjfTableCell, isAsc: boolean) {\n return (a.value < b.value ? -1 : 1) * (isAsc ? 1 : -1);\n }\n\n /**\n * Set current header and data for the table, starting from page 1\n */\n private _updateCurrentContent(): void {\n this._canGoBackward = false;\n if (this.instance == null || this.instance.data.length === 0) {\n this._currentPage = 0;\n this._pages = 0;\n this._headerContent = [];\n this._currentContent = [];\n this._allDataContent = [];\n this._sortedAllDataContent = [];\n } else {\n this._headerContent = this.instance.data[0];\n this._allDataContent = this.instance.data.slice(1);\n this._sortedAllDataContent = [...this._allDataContent];\n this._currentPage = 1;\n\n this._pages = Math.ceil(this._allDataContent.length / this.paginatorConfig.pageSize);\n this._canGoForward = this._pages > 1;\n }\n this._fillCurrentContent();\n }\n\n /**\n * Update current data for the table, using page and sorted data\n */\n private _fillCurrentContent(): void {\n if (this._sortedAllDataContent.length === 0 && this._headerContent.length > 0) {\n this._currentContent = [this._headerContent];\n } else {\n const start = (this._currentPage - 1) * this.paginatorConfig.pageSize;\n this._currentContent = [\n this._headerContent,\n ...this._sortedAllDataContent.slice(start, start + this.paginatorConfig.pageSize),\n ];\n }\n this._cdr.markForCheck();\n }\n}\n","<ajf-filter-widget\n *ngIf=\"instance && instance.filter\"\n [instance]=\"instance\"\n (filteredInstance)=\"instance = $event\"\n>\n</ajf-filter-widget>\n<ng-template ajf-widget-host></ng-template>\n","<div *ngIf=\"instance\" class=\"ajf-column-container\">\n <ng-container *ngFor=\"let w of instance.content\">\n <ajf-widget [instance]=\"w\">\n </ajf-widget>\n </ng-container>\n</div>\n","<div *ngIf=\"instance\" class=\"ajf-columns\">\n <div\n *ngFor=\"let column of instance.widget.columns; let idx = index\"\n [ngStyle]=\"{'flex-grow': column > -1 ? 1 : null, 'flex-basis' : column > -1 ? (column * 100) + '%' : null}\"\n class=\"ajf-column\"\n >\n <ng-container *ngIf=\"allcolumnsRendered$|async\">\n <ajf-widget *ngIf=\"(instance|ajfGetColumnContent:idx) as cc\" [instance]=\"cc!\">\n </ajf-widget>\n </ng-container>\n </div>\n</div>\n","<a *ngIf=\"instance\" class=\"ajf-dialog-toggle\" (click)=\"openDialog()\">\n <ajf-widget [instance]=\"instance.toggle\"></ajf-widget>\n</a>\n<ng-template #dialogContent>\n <ng-container *ngIf=\"instance\">\n <ng-container *ngFor=\"let item of instance.content\">\n <ajf-widget [instance]=\"item\"></ajf-widget>\n </ng-container>\n </ng-container>\n</ng-template>\n","<div class=\"ajf-paginated-list\" *ngIf=\"instance && pages > 0\">\n <div class=\"ajf-paginated-list-title-container\">\n <div class=\"ajf-paginated-list-title\">{{ instance.widget.title }}</div>\n <div class=\"ajf-spacer\"></div>\n <div class=\"ajf-paginated-list-paginator\">\n <a (click)=\"goToPage('previous')\" class=\"ajf-paginated-list-btn ajf-paginated-list-back-btn\"\n [class.ajf-paginated-list-btn-disabled]=\"canGoBackward === false\"></a>\n <div class=\"ajf-paginated-list-paginator-page\">{{ currentPage }}</div>\n <div class=\"ajf-paginated-list-paginator-separator\"></div>\n <div class=\"ajf-paginated-list-paginator-pages\">{{ pages }}</div>\n <a (click)=\"goToPage('next')\" class=\"ajf-paginated-list-btn ajf-paginated-list-forward-btn\"\n [class.ajf-paginated-list-btn-disabled]=\"canGoForward === false\"></a>\n </div>\n </div>\n <div class=\"ajf-paginated-list-item\" *ngFor=\"let item of currentContent\">\n <ajf-widget [instance]=\"item\"></ajf-widget>\n </div>\n</div>\n","<div class=\"ajf-paginated-table\" *ngIf=\"instance\">\n <div class=\"ajf-paginated-table-title-container\" *ngIf=\"pages > 0\">\n <div class=\"ajf-paginated-table-page-selector\">\n <mat-label class=\"ajf-paginated-table-page-selector-label\"\n >{{'Items per page:'|transloco}}</mat-label\n >\n <mat-select\n [value]=\"paginatorConfig.pageSize\"\n (selectionChange)=\"onPageSizeChange($event.value)\"\n >\n <mat-option\n [value]=\"pageSizeOpt\"\n *ngFor=\"let pageSizeOpt of paginatorConfig.pageSizeOptions\"\n >\n {{ pageSizeOpt }}\n </mat-option>\n </mat-select>\n </div>\n <div class=\"ajf-spacer\"></div>\n <div class=\"ajf-paginated-table-paginator\">\n <a\n (click)=\"goToPage('previous')\"\n class=\"ajf-paginated-table-btn ajf-paginated-table-back-btn\"\n [class.ajf-paginated-table-btn-disabled]=\"canGoBackward === false\"\n ></a>\n <div class=\"ajf-paginated-table-paginator-page\">{{ currentPage }}</div>\n <div class=\"ajf-paginated-table-paginator-separator\"></div>\n <div class=\"ajf-paginated-table-paginator-pages\">{{ pages }}</div>\n <a\n (click)=\"goToPage('next')\"\n class=\"ajf-paginated-table-btn ajf-paginated-table-forward-btn\"\n [class.ajf-paginated-table-btn-disabled]=\"canGoForward === false\"\n ></a>\n </div>\n </div>\n <div class=\"ajf-paginated-table-item\">\n <ajf-widget-export\n *ngIf=\"instance\"\n [widgetType]=\"instance.widgetType\"\n [data]=\"currentContent\"\n [enable]=\"instance.exportable\"\n >\n <ajf-table [data]=\"currentContent\" (sortSelected)=\"sortPaginatedData($event)\"></ajf-table>\n </ajf-widget-export>\n </div>\n</div>\n","/**\n * @license\n * Copyright (C) Gnucoop soc. coop.\n *\n * This file is part of the Advanced JSON forms (ajf).\n *\n * Advanced JSON forms (ajf) is free software: you can redistribute it and/or\n * modify it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the License,\n * or (at your option) any later version.\n *\n * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero\n * General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Advanced JSON forms (ajf).\n * If not, see http://www.gnu.org/licenses/.\n *\n */\n\nimport {AjfReportRenderer as CoreReportRenderer} from '@ajf/core/reports';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ViewEncapsulation,\n} from '@angular/core';\n\n@Component({\n selector: 'ajf-report',\n templateUrl: 'report.html',\n styleUrls: ['report.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AjfReportRenderer extends CoreReportRenderer {\n constructor(cdr: ChangeDetectorRef) {\n super(cdr);\n }\n}\n","<ng-template [ngIf]=\"instance\">\n <div *ngIf=\"instance.header\" @.disabled [applyStyles]=\"instance.header.styles\" class=\"ajf-report-header\">\n <ng-template ngFor let-instance [ngForOf]=\"instance.header.content\">\n <ajf-widget *ngIf=\"instance.visible\" [instance]=\"instance\"></ajf-widget>\n </ng-template>\n </div>\n <div *ngIf=\"instance.content\" @.disabled [applyStyles]=\"instance.content.styles\" class=\"ajf-report-content\">\n <ng-template ngFor let-instance [ngForOf]=\"instance.content.content\">\n <ajf-widget *ngIf=\"instance.visible\" [instance]=\"instance\"></ajf-widget>\n </ng-template>\n </div>\n <div *ngIf=\"instance.footer\" @.disabled [applyStyles]=\"instance.footer.styles\" class=\"ajf-report-footer\">\n <ng-template ngFor let-instance [ngForOf]=\"instance.footer.content\">\n <ajf-widget *ngIf=\"instance.visible\" [instance]=\"instance\"></ajf-widget>\n </ng-template>\n </div>\n</ng-template>\n","/**\n * @license\n * Copyright (C) Gnucoop soc. coop.\n *\n * This file is part of the Advanced JSON forms (ajf).\n *\n * Advanced JSON forms (ajf) is free software: you can redistribute it and/or\n * modify it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the License,\n * or (at your option) any later version.\n *\n * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero\n * General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Advanced JSON forms (ajf).\n * If not, see http://www.gnu.org/licenses/.\n *\n */\n\nimport {AjfChartModule} from '@ajf/core/chart';\nimport {AjfCommonModule} from '@ajf/core/common';\nimport {AjfGraphModule} from '@ajf/core/graph';\nimport {AjfHeatMapModule} from '@ajf/core/heat-map';\nimport {AjfMapModule} from '@ajf/core/map';\nimport {AjfPageBreakModule} from '@ajf/core/page-break';\nimport {AjfReportsModule as CoreModule} from '@ajf/core/reports';\nimport {AjfTableModule} from '@ajf/core/table';\nimport {AjfTextModule} from '@ajf/core/text';\nimport {AjfTranslocoModule} from '@ajf/core/transloco';\nimport {AjfFormsModule} from '@ajf/material/forms';\nimport {AjfImageModule} from '@ajf/material/image';\nimport {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {MatDialogModule} from '@angular/material/dialog';\nimport {MatSelectModule} from '@angular/material/select';\n\nimport {AjfChartWidgetComponent} from './chart-widget';\nimport {AjfFilterWidgetComponent} from './filter-widget';\nimport {AjfFormulaWidgetComponent} from './formula-widget';\nimport {AjfHeatMapWidgetComponent} from './heat-map-widget';\nimport {AjfImageContainerWidgetComponent} from './image-container-widget';\nimport {AjfImageWidgetComponent} from './image-widget';\nimport {AjfMapWidgetComponent} from './map-widget';\nimport {AjfPageBreakWidgetComponent} from './page-break-widget';\nimport {AjfReportRenderer} from './report';\nimport {AjfTableWidgetComponent} from './table-widget';\nimport {AjfTextWidgetComponent} from './text-widget';\nimport {\n AjfColumnWidgetComponent,\n AjfDialogWidgetComponent,\n AjfLayoutWidgetComponent,\n AjfPaginatedListWidgetComponent,\n AjfPaginatedTableWidgetComponent,\n AjfReportWidget,\n} from './widget';\nimport {AjfGraphWidgetComponent} from './graph-widget';\n\n@NgModule({\n imports: [\n AjfChartModule,\n AjfCommonModule,\n AjfImageModule,\n AjfFormsModule,\n AjfGraphModule,\n AjfHeatMapModule,\n AjfMapModule,\n AjfPageBreakModule,\n AjfTableModule,\n AjfTextModule,\n AjfTranslocoModule,\n CommonModule,\n CoreModule,\n MatDialogModule,\n MatSelectModule,\n ],\n declarations: [\n AjfChartWidgetComponent,\n AjfColumnWidgetComponent,\n AjfDialogWidgetComponent,\n AjfFilterWidgetComponent,\n AjfFormulaWidgetComponent,\n AjfHeatMapWidgetComponent,\n AjfImageContainerWidgetComponent,\n AjfImageWidgetComponent,\n AjfGraphWidgetComponent,\n AjfLayoutWidgetComponent,\n AjfMapWidgetComponent,\n AjfPageBreakWidgetComponent,\n AjfPaginatedListWidgetComponent,\n AjfPaginatedTableWidgetComponent,\n AjfReportRenderer,\n AjfReportWidget,\n AjfTableWidgetComponent,\n AjfTextWidgetComponent,\n ],\n exports: [AjfReportRenderer, AjfReportWidget],\n})\nexport class AjfReportsModule {}\n","/**\n * @license\n * Copyright (C) Gnucoop soc. coop.\n *\n * This file is part of the Advanced JSON forms (ajf).\n *\n * Advanced JSON forms (ajf) is free software: you can redistribute it and/or\n * modify it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the License,\n * or (at your option) any later version.\n *\n * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero\n * General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Advanced JSON forms (ajf).\n * If not, see http://www.gnu.org/licenses/.\n *\n */\n\nexport * from './chart-widget';\nexport * from './filter-widget';\nexport * from './formula-widget';\nexport * from './heat-map-widget';\nexport * from './image-container-widget';\nexport * from './image-widget';\nexport * from './map-widget';\nexport * from './page-break-widget';\nexport * from './report';\nexport * from './reports-module';\nexport * from './table-widget';\nexport * from './text-widget';\nexport * from './widget';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i2","i3","i1","i4","wt","CoreService","CoreComponent","i3.AjfFilterWidgetComponent","i5","i9","CoreReportRenderer","i3.AjfReportWidget","CoreModule"],"mappings":"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"}
|
package/forms/field.d.ts
CHANGED
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
* If not, see http://www.gnu.org/licenses/.
|
|
20
20
|
*
|
|
21
21
|
*/
|
|
22
|
-
import { AjfFieldComponentsMap, AjfFormField as CoreFormField } from '@ajf/core/forms';
|
|
22
|
+
import { AjfFieldComponentsMap, AjfFieldInstance, AjfFormField as CoreFormField } from '@ajf/core/forms';
|
|
23
23
|
import { BooleanInput } from '@angular/cdk/coercion';
|
|
24
24
|
import { ChangeDetectorRef } from '@angular/core';
|
|
25
25
|
import { AjfFieldService } from './field-service';
|
|
@@ -27,6 +27,7 @@ import * as i0 from "@angular/core";
|
|
|
27
27
|
export declare class AjfFormField extends CoreFormField {
|
|
28
28
|
readonly componentsMap: AjfFieldComponentsMap;
|
|
29
29
|
constructor(cdr: ChangeDetectorRef, fieldService: AjfFieldService);
|
|
30
|
+
tabEvent(evt: KeyboardEvent, instance: AjfFieldInstance): void;
|
|
30
31
|
static ngAcceptInputType_readonly: BooleanInput;
|
|
31
32
|
static ɵfac: i0.ɵɵFactoryDeclaration<AjfFormField, never>;
|
|
32
33
|
static ɵcmp: i0.ɵɵComponentDeclaration<AjfFormField, "ajf-field,ajf-form-field", never, {}, {}, never, never, false, never>;
|
package/forms/form.d.ts
CHANGED
|
@@ -25,6 +25,8 @@ import { ChangeDetectorRef } from '@angular/core';
|
|
|
25
25
|
import * as i0 from "@angular/core";
|
|
26
26
|
export declare class AjfFormRenderer extends CoreFormRenderer {
|
|
27
27
|
topBar: boolean;
|
|
28
|
+
centeredFieldsContent: boolean;
|
|
29
|
+
maxColumns: 1 | 2 | 3;
|
|
28
30
|
constructor(rendererService: AjfFormRendererService, changeDetectorRef: ChangeDetectorRef);
|
|
29
31
|
static ngAcceptInputType_fixedOrientation: BooleanInput;
|
|
30
32
|
static ngAcceptInputType_hasEndMessage: BooleanInput;
|
|
@@ -35,5 +37,5 @@ export declare class AjfFormRenderer extends CoreFormRenderer {
|
|
|
35
37
|
static ngAcceptInputType_readonly: BooleanInput;
|
|
36
38
|
static ngAcceptInputType_saveDisabled: BooleanInput;
|
|
37
39
|
static ɵfac: i0.ɵɵFactoryDeclaration<AjfFormRenderer, never>;
|
|
38
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<AjfFormRenderer, "ajf-form", never, { "topBar": "topBar"; }, {}, never, ["[ajfFormTopToolbarButtons]", "[ajfFormSaveButton]", "[ajfFormStartMessageTitle]", "[ajfFormStartMessage]", "[ajfFormEndMessageTitle]", "[ajfFormEndMessage]"], false, never>;
|
|
40
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AjfFormRenderer, "ajf-form", never, { "topBar": "topBar"; "centeredFieldsContent": "centeredFieldsContent"; "maxColumns": "maxColumns"; }, {}, never, ["[ajfFormTopToolbarButtons]", "[ajfFormSaveButton]", "[ajfFormStartMessageTitle]", "[ajfFormStartMessage]", "[ajfFormEndMessageTitle]", "[ajfFormEndMessage]"], false, never>;
|
|
39
41
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ajf/material",
|
|
3
|
-
"version": "15.1
|
|
3
|
+
"version": "15.2.1",
|
|
4
4
|
"description": "",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
},
|
|
14
14
|
"homepage": "https://github.com/gnucoop/ajf#readme",
|
|
15
15
|
"peerDependencies": {
|
|
16
|
-
"@ajf/core": "15.1
|
|
16
|
+
"@ajf/core": "15.2.1",
|
|
17
17
|
"@angular/animations": "^15.0.4",
|
|
18
18
|
"@angular/cdk": "^15.0.3",
|
|
19
19
|
"@angular/common": "^15.0.4",
|