@provoly/dashboard 1.3.10 → 1.3.11
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/esm2022/filters/autocomplete/autocomplete.component.mjs +11 -8
- package/esm2022/lib/core/model/widget-table-manifest.interface.mjs +1 -1
- package/esm2022/lib/dashboard/dashboard.module.mjs +8 -5
- package/esm2022/lib/dashboard/filter/base-filter.component.mjs +7 -3
- package/esm2022/lib/dashboard/filter/components/filter-group/filter-group.component.mjs +5 -5
- package/esm2022/widgets/widget-table/component/widget-table.component.mjs +1 -1
- package/esm2022/widgets/widget-table/widget-table.module.mjs +3 -3
- package/fesm2022/provoly-dashboard-filters-autocomplete.mjs +9 -6
- package/fesm2022/provoly-dashboard-filters-autocomplete.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-table.mjs +2 -2
- package/fesm2022/provoly-dashboard-widgets-widget-table.mjs.map +1 -1
- package/fesm2022/provoly-dashboard.mjs +12 -5
- package/fesm2022/provoly-dashboard.mjs.map +1 -1
- package/filters/autocomplete/autocomplete.component.d.ts +2 -1
- package/lib/dashboard/dashboard.module.d.ts +1 -1
- package/lib/dashboard/filter/base-filter.component.d.ts +3 -2
- package/lib/dashboard/filter/components/filter-group/filter-group.component.d.ts +4 -4
- package/package.json +37 -37
- package/widgets/widget-table/widget-table.module.d.ts +1 -1
|
@@ -45,7 +45,7 @@ export class WidgetTableModule extends BaseWidgetModule {
|
|
|
45
45
|
PryToggleModule,
|
|
46
46
|
PryI18nModule,
|
|
47
47
|
PryDataFormatModule,
|
|
48
|
-
PryPaginatorModule], exports: [WidgetTableComponent] }); }
|
|
48
|
+
PryPaginatorModule], exports: [WidgetTableComponent, ExpandValueComponent, GetValuePipe] }); }
|
|
49
49
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: WidgetTableModule, imports: [CommonModule,
|
|
50
50
|
FormsModule,
|
|
51
51
|
OverlayModule,
|
|
@@ -85,7 +85,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
|
|
|
85
85
|
PryDataFormatModule,
|
|
86
86
|
PryPaginatorModule
|
|
87
87
|
],
|
|
88
|
-
exports: [WidgetTableComponent]
|
|
88
|
+
exports: [WidgetTableComponent, ExpandValueComponent, GetValuePipe]
|
|
89
89
|
}]
|
|
90
90
|
}], ctorParameters: () => [{ type: i1.PryI18nService }] });
|
|
91
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
91
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LXRhYmxlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL3dpZGdldHMvd2lkZ2V0LXRhYmxlL3dpZGdldC10YWJsZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFRLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBRUwsZ0JBQWdCLEVBQ2hCLGFBQWEsRUFDYixrQkFBa0IsRUFDbEIsYUFBYSxFQUViLGFBQWEsRUFDYixlQUFlLEVBQ2YsZUFBZSxFQUNoQixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDOzs7QUE0QjdFLE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxnQkFBZ0I7SUFDckQsWUFBb0IsbUJBQW1DO1FBQ3JELEtBQUssRUFBRSxDQUFDO1FBRFUsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFnQjtRQUVyRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxjQUFjLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFDN0UsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsY0FBYyxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBQy9FLENBQUM7SUFFUSxZQUFZO1FBQ25CLE9BQU8sb0JBQWlELENBQUM7SUFDM0QsQ0FBQzs4R0FUVSxpQkFBaUI7K0dBQWpCLGlCQUFpQixpQkF4QjFCLG9CQUFvQjtZQUNwQixZQUFZO1lBQ1osa0JBQWtCO1lBQ2xCLGtCQUFrQjtZQUNsQiwwQkFBMEI7WUFDMUIsb0JBQW9CO1lBQ3BCLGtCQUFrQixhQUdsQixZQUFZO1lBQ1osV0FBVztZQUNYLGFBQWE7WUFDYixhQUFhO1lBQ2Isa0JBQWtCO1lBQ2xCLGVBQWU7WUFDZixhQUFhO1lBQ2IsaUJBQWlCO1lBQ2pCLGVBQWU7WUFDZixhQUFhO1lBQ2IsbUJBQW1CO1lBQ25CLGtCQUFrQixhQUVWLG9CQUFvQixFQUFFLG9CQUFvQixFQUFFLFlBQVk7K0dBRXZELGlCQUFpQixZQWYxQixZQUFZO1lBQ1osV0FBVztZQUNYLGFBQWE7WUFDYixhQUFhO1lBQ2Isa0JBQWtCO1lBQ2xCLGVBQWU7WUFDZixhQUFhO1lBQ2IsaUJBQWlCO1lBQ2pCLGVBQWU7WUFDZixhQUFhO1lBQ2IsbUJBQW1CO1lBQ25CLGtCQUFrQjs7MkZBSVQsaUJBQWlCO2tCQTFCN0IsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osb0JBQW9CO3dCQUNwQixZQUFZO3dCQUNaLGtCQUFrQjt3QkFDbEIsa0JBQWtCO3dCQUNsQiwwQkFBMEI7d0JBQzFCLG9CQUFvQjt3QkFDcEIsa0JBQWtCO3FCQUNuQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLGFBQWE7d0JBQ2IsYUFBYTt3QkFDYixrQkFBa0I7d0JBQ2xCLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixpQkFBaUI7d0JBQ2pCLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixtQkFBbUI7d0JBQ25CLGtCQUFrQjtxQkFDbkI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsb0JBQW9CLEVBQUUsb0JBQW9CLEVBQUUsWUFBWSxDQUFDO2lCQUNwRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE92ZXJsYXlNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgQmFzZVdpZGdldENvbXBvbmVudCxcbiAgQmFzZVdpZGdldE1vZHVsZSxcbiAgUHJ5Q29yZU1vZHVsZSxcbiAgUHJ5RGFzaGJvYXJkTW9kdWxlLFxuICBQcnlJMThuTW9kdWxlLFxuICBQcnlJMThuU2VydmljZSxcbiAgUHJ5SWNvbk1vZHVsZSxcbiAgUHJ5U2VsZWN0TW9kdWxlLFxuICBQcnlUb2dnbGVNb2R1bGVcbn0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkJztcbmltcG9ydCB7IFByeUNoZWNrYm94TW9kdWxlIH0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkL2NvbXBvbmVudHMvY2hlY2tib3gnO1xuaW1wb3J0IHsgV2lkZ2V0VGFibGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudC93aWRnZXQtdGFibGUuY29tcG9uZW50JztcbmltcG9ydCB7IERldGFjaFJvd0RpcmVjdGl2ZSB9IGZyb20gJy4vZXhwYW5kLXZhbHVlL2RldGFjaC1yb3cuZGlyZWN0aXZlJztcbmltcG9ydCB7IEV4cGFuZFZhbHVlQ29tcG9uZW50IH0gZnJvbSAnLi9leHBhbmQtdmFsdWUvZXhwYW5kLXZhbHVlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHZXRWYWx1ZVBpcGUgfSBmcm9tICcuL2dldC12YWx1ZS9nZXQtdmFsdWUucGlwZSc7XG5pbXBvcnQgeyBlblRyYW5zbGF0aW9ucyB9IGZyb20gJy4vaTE4bi9lbi50cmFuc2xhdGlvbnMnO1xuaW1wb3J0IHsgZnJUcmFuc2xhdGlvbnMgfSBmcm9tICcuL2kxOG4vZnIudHJhbnNsYXRpb25zJztcbmltcG9ydCB7IFJlc2l6YWJsZUNvbXBvbmVudCB9IGZyb20gJy4vcmVzaXphYmxlL3Jlc2l6YWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmVzaXphYmxlRGlyZWN0aXZlIH0gZnJvbSAnLi9yZXNpemFibGUvcmVzaXphYmxlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBQcnlXaWRnZXRUYWJsZUNzc0NvbXBvbmVudCB9IGZyb20gJy4vc3R5bGUvY3NzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcnlEYXRhRm9ybWF0TW9kdWxlIH0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkL2NvbXBvbmVudHMvZGF0YS1mb3JtYXQnO1xuaW1wb3J0IHsgUHJ5UGFnaW5hdG9yTW9kdWxlIH0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkL2NvbXBvbmVudHMvcGFnaW5hdG9yJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgV2lkZ2V0VGFibGVDb21wb25lbnQsXG4gICAgR2V0VmFsdWVQaXBlLFxuICAgIFJlc2l6YWJsZUNvbXBvbmVudCxcbiAgICBSZXNpemFibGVEaXJlY3RpdmUsXG4gICAgUHJ5V2lkZ2V0VGFibGVDc3NDb21wb25lbnQsXG4gICAgRXhwYW5kVmFsdWVDb21wb25lbnQsXG4gICAgRGV0YWNoUm93RGlyZWN0aXZlXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgT3ZlcmxheU1vZHVsZSxcbiAgICBQcnlDb3JlTW9kdWxlLFxuICAgIFByeURhc2hib2FyZE1vZHVsZSxcbiAgICBQcnlTZWxlY3RNb2R1bGUsXG4gICAgUHJ5SWNvbk1vZHVsZSxcbiAgICBQcnlDaGVja2JveE1vZHVsZSxcbiAgICBQcnlUb2dnbGVNb2R1bGUsXG4gICAgUHJ5STE4bk1vZHVsZSxcbiAgICBQcnlEYXRhRm9ybWF0TW9kdWxlLFxuICAgIFByeVBhZ2luYXRvck1vZHVsZVxuICBdLFxuICBleHBvcnRzOiBbV2lkZ2V0VGFibGVDb21wb25lbnQsIEV4cGFuZFZhbHVlQ29tcG9uZW50LCBHZXRWYWx1ZVBpcGVdXG59KVxuZXhwb3J0IGNsYXNzIFdpZGdldFRhYmxlTW9kdWxlIGV4dGVuZHMgQmFzZVdpZGdldE1vZHVsZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcHJ5VHJhbnNsYXRlU2VydmljZTogUHJ5STE4blNlcnZpY2UpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMucHJ5VHJhbnNsYXRlU2VydmljZS5hZGRMYW5nT2JqZWN0KCdmcicsICd3aWRnZXQtdGFibGUnLCBmclRyYW5zbGF0aW9ucyk7XG4gICAgdGhpcy5wcnlUcmFuc2xhdGVTZXJ2aWNlLmFkZExhbmdPYmplY3QoJ2VuJywgJ3dpZGdldC10YWJsZScsIGVuVHJhbnNsYXRpb25zKTtcbiAgfVxuXG4gIG92ZXJyaWRlIGdldENvbXBvbmVudCgpIHtcbiAgICByZXR1cm4gV2lkZ2V0VGFibGVDb21wb25lbnQgYXMgVHlwZTxCYXNlV2lkZ2V0Q29tcG9uZW50PjtcbiAgfVxufVxuIl19
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as i5 from '@angular/common';
|
|
2
2
|
import { CommonModule } from '@angular/common';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
|
-
import { Component, ViewEncapsulation, NgModule } from '@angular/core';
|
|
5
|
-
import * as
|
|
4
|
+
import { Component, ViewEncapsulation, ViewChild, NgModule } from '@angular/core';
|
|
5
|
+
import * as i3 from '@angular/forms';
|
|
6
6
|
import { ReactiveFormsModule, FormsModule } from '@angular/forms';
|
|
7
7
|
import * as i2 from '@provoly/dashboard';
|
|
8
8
|
import { BaseFilterComponent, SearchSelectors, SearchActions, BaseFilterModule, PrySelectModule, PryIconModule, PryI18nModule } from '@provoly/dashboard';
|
|
@@ -79,12 +79,15 @@ class AutocompleteComponent extends BaseFilterComponent {
|
|
|
79
79
|
this.search$.next('');
|
|
80
80
|
}
|
|
81
81
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: AutocompleteComponent, deps: [{ token: i1.Store }, { token: i2.SearchService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
82
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
82
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: AutocompleteComponent, selector: "pry-autocomplete", viewQueries: [{ propertyName: "select", first: true, predicate: ["select"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<pry-autocomplete-css></pry-autocomplete-css>\n@if (filter) {\n <div class=\"m-filter__input-wrapper m-filter__input-wrapper--dropdown\" (keyup)=\"updateSearch($event)\" #ref>\n @if (filter.name) {\n <label class=\"a-label m-filter__label\" for=\"{{ filter.name }}\">{{ filter.name }} : </label>\n }\n <pry-select\n [id]=\"filter.name\"\n [items]=\"items$ | async\"\n [ngModel]=\"filter.value\"\n (ngModelChange)=\"setFilter($event)\"\n [clearable]=\"true\"\n [autocomplete]=\"true\"\n [externalAutocompleteService]=\"true\"\n aria-labelledby=\"item-label\"\n (blur)=\"updateSearch($event)\"\n [elementRef]=\"ref\"\n (cleared)=\"clear()\"\n [loading]=\"loader\"\n (clicked)=\"resetAutocompleteValues()\"\n #select\n ></pry-select>\n </div>\n}\n", dependencies: [{ kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.PrySelectComponent, selector: "pry-select", inputs: ["items", "clearable", "multiple", "closeOnSelect", "placeholder", "isForm", "required", "name", "readonly", "autocomplete", "alwaysShowAutosuggestedValues", "externalAutocompleteService", "bindValue", "bindLabel", "iconSize", "bindIcon", "template", "i18nPrefix", "bindClasses", "loading", "elementRef"], outputs: ["searched", "cleared", "clicked"] }, { kind: "component", type: PryAutocompleteCssComponent, selector: "pry-autocomplete-css" }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }] }); }
|
|
83
83
|
}
|
|
84
84
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: AutocompleteComponent, decorators: [{
|
|
85
85
|
type: Component,
|
|
86
|
-
args: [{ selector: 'pry-autocomplete', template: "<pry-autocomplete-css></pry-autocomplete-css>\n
|
|
87
|
-
}], ctorParameters: () => [{ type: i1.Store }, { type: i2.SearchService }]
|
|
86
|
+
args: [{ selector: 'pry-autocomplete', template: "<pry-autocomplete-css></pry-autocomplete-css>\n@if (filter) {\n <div class=\"m-filter__input-wrapper m-filter__input-wrapper--dropdown\" (keyup)=\"updateSearch($event)\" #ref>\n @if (filter.name) {\n <label class=\"a-label m-filter__label\" for=\"{{ filter.name }}\">{{ filter.name }} : </label>\n }\n <pry-select\n [id]=\"filter.name\"\n [items]=\"items$ | async\"\n [ngModel]=\"filter.value\"\n (ngModelChange)=\"setFilter($event)\"\n [clearable]=\"true\"\n [autocomplete]=\"true\"\n [externalAutocompleteService]=\"true\"\n aria-labelledby=\"item-label\"\n (blur)=\"updateSearch($event)\"\n [elementRef]=\"ref\"\n (cleared)=\"clear()\"\n [loading]=\"loader\"\n (clicked)=\"resetAutocompleteValues()\"\n #select\n ></pry-select>\n </div>\n}\n" }]
|
|
87
|
+
}], ctorParameters: () => [{ type: i1.Store }, { type: i2.SearchService }], propDecorators: { select: [{
|
|
88
|
+
type: ViewChild,
|
|
89
|
+
args: ['select']
|
|
90
|
+
}] } });
|
|
88
91
|
|
|
89
92
|
class PryAutocompleteModule extends BaseFilterModule {
|
|
90
93
|
getComponent() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provoly-dashboard-filters-autocomplete.mjs","sources":["../../../../projects/provoly/dashboard/filters/autocomplete/style/css.component.ts","../../../../projects/provoly/dashboard/filters/autocomplete/autocomplete.component.ts","../../../../projects/provoly/dashboard/filters/autocomplete/autocomplete.component.html","../../../../projects/provoly/dashboard/filters/autocomplete/autocomplete.module.ts","../../../../projects/provoly/dashboard/filters/autocomplete/provoly-dashboard-filters-autocomplete.ts"],"sourcesContent":["import { Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'pry-autocomplete-css',\n template: '',\n styleUrls: ['./_m-autocomplete.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class PryAutocompleteCssComponent {}\n","import { Component, EventEmitter, OnDestroy, OnInit } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { BaseFilterComponent, SearchActions, SearchSelectors, SearchService } from '@provoly/dashboard';\nimport {\n BehaviorSubject,\n catchError,\n combineLatest,\n debounceTime,\n distinctUntilChanged,\n map,\n Observable,\n of,\n skipUntil,\n startWith,\n Subject,\n switchMap\n} from 'rxjs';\nimport equal from 'fast-deep-equal/es6';\nimport { tap } from 'rxjs/operators';\nimport { Attribute } from '@provoly/dashboard/toolbox';\n\n@Component({\n selector: 'pry-autocomplete',\n templateUrl: './autocomplete.component.html'\n})\nexport class AutocompleteComponent extends BaseFilterComponent implements OnInit, OnDestroy {\n search$ = new BehaviorSubject<string>('');\n autocomplete$?: Observable<string[]>;\n loader: boolean = false;\n preventInitCall$ = new Subject<void>();\n possibleFilterValues$!: Observable<string[]>;\n possibleFilterValues: string[] = [];\n items$ = new BehaviorSubject<string[]>([]);\n\n constructor(\n store: Store,\n private searchService: SearchService\n ) {\n super(store);\n this.type = 'autocomplete';\n }\n\n override ngOnInit() {\n this.possibleFilterValues$ = this.store.select(SearchSelectors.possibleFilterValues(this.filter?.id));\n this.subscriptions.add(this.possibleFilterValues$.subscribe((values) => (this.possibleFilterValues = values)));\n\n super.ngOnInit();\n if (this.filter?.attributes) {\n this.store.dispatch(\n SearchActions.getPossibleFilterValues({\n filterId: this.filter?.id ?? '',\n attributes: (this.filter?.attributes as Omit<Attribute, 'customId'>[]).filter(\n (a) => !!a.datasource && !!a.id\n ),\n limit: this.filter?.limit ?? 10\n })\n );\n }\n\n this.search$.next(`${this._value}`);\n this.autocomplete$ = this.search$.pipe(\n distinctUntilChanged((p, v) => equal(p, v)),\n skipUntil(this.preventInitCall$),\n debounceTime(500),\n switchMap((search) => {\n if (!!search && search.length > 1) {\n this.loader = true;\n this.items$.next([]);\n return this.searchService.autocomplete(this.filter?.attributes, search, this.filter?.limit).pipe(\n tap(() => (this.loader = false)),\n catchError((err) => {\n this.loader = false;\n console.error('Autocomplete failed', err);\n return [];\n })\n );\n }\n return of([] as string[]);\n })\n );\n setTimeout(() => this.preventInitCall$.next(), 200);\n\n this.subscriptions.add(\n combineLatest([this.possibleFilterValues$, this.autocomplete$.pipe(startWith([] as string[]))])\n .pipe(map(([possibleValues, autocomplete]) => (autocomplete.length > 0 ? autocomplete : possibleValues)))\n .subscribe((values) => this.items$.next(values))\n );\n }\n\n resetAutocompleteValues() {\n if (this.items$.getValue()?.length !== this.possibleFilterValues?.length) {\n this.items$.next(this.possibleFilterValues);\n }\n }\n\n setFilter(value: string) {\n if (value !== this.filter?.value) {\n super.updateFilter(value);\n }\n }\n\n updateSearch($event?: Event) {\n // @ts-ignore\n const value = $event ? $event.target!.value : '';\n this.search$.next(value);\n }\n\n clear() {\n this.search$.next('');\n }\n}\n","<pry-autocomplete-css></pry-autocomplete-css>\n<div\n class=\"m-filter__input-wrapper m-filter__input-wrapper--dropdown\"\n *ngIf=\"filter\"\n (keyup)=\"updateSearch($event)\"\n #ref\n>\n <label class=\"a-label m-filter__label\" for=\"{{ filter.name }}\">{{ filter.name }} : </label>\n <pry-select\n [id]=\"filter.name\"\n [items]=\"items$ | async\"\n [ngModel]=\"filter.value\"\n (ngModelChange)=\"setFilter($event)\"\n [clearable]=\"true\"\n [autocomplete]=\"true\"\n [externalAutocompleteService]=\"true\"\n aria-labelledby=\"item-label\"\n (blur)=\"updateSearch($event)\"\n [elementRef]=\"ref\"\n (cleared)=\"clear()\"\n [loading]=\"loader\"\n (clicked)=\"resetAutocompleteValues()\"\n ></pry-select>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule, Type } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport {\n BaseFilterComponent,\n BaseFilterModule,\n PryI18nModule,\n PryIconModule,\n PrySelectModule\n} from '@provoly/dashboard';\nimport { AutocompleteComponent } from './autocomplete.component';\nimport { PryAutocompleteCssComponent } from './style/css.component';\n\n@NgModule({\n declarations: [AutocompleteComponent, PryAutocompleteCssComponent],\n exports: [AutocompleteComponent],\n imports: [CommonModule, ReactiveFormsModule, FormsModule, PrySelectModule, PryIconModule, PryI18nModule]\n})\nexport class PryAutocompleteModule extends BaseFilterModule {\n override getComponent(): Type<BaseFilterComponent> {\n return AutocompleteComponent as Type<AutocompleteComponent>;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i5.PryAutocompleteCssComponent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"provoly-dashboard-filters-autocomplete.mjs","sources":["../../../../projects/provoly/dashboard/filters/autocomplete/style/css.component.ts","../../../../projects/provoly/dashboard/filters/autocomplete/autocomplete.component.ts","../../../../projects/provoly/dashboard/filters/autocomplete/autocomplete.component.html","../../../../projects/provoly/dashboard/filters/autocomplete/autocomplete.module.ts","../../../../projects/provoly/dashboard/filters/autocomplete/provoly-dashboard-filters-autocomplete.ts"],"sourcesContent":["import { Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'pry-autocomplete-css',\n template: '',\n styleUrls: ['./_m-autocomplete.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class PryAutocompleteCssComponent {}\n","import { Component, OnDestroy, OnInit, ViewChild } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport {\n BaseFilterComponent,\n PrySelectComponent,\n SearchActions,\n SearchSelectors,\n SearchService\n} from '@provoly/dashboard';\nimport {\n BehaviorSubject,\n catchError,\n combineLatest,\n debounceTime,\n distinctUntilChanged,\n map,\n Observable,\n of,\n skipUntil,\n startWith,\n Subject,\n switchMap\n} from 'rxjs';\nimport equal from 'fast-deep-equal/es6';\nimport { tap } from 'rxjs/operators';\nimport { Attribute } from '@provoly/dashboard/toolbox';\n\n@Component({\n selector: 'pry-autocomplete',\n templateUrl: './autocomplete.component.html'\n})\nexport class AutocompleteComponent extends BaseFilterComponent implements OnInit, OnDestroy {\n search$ = new BehaviorSubject<string>('');\n autocomplete$?: Observable<string[]>;\n loader: boolean = false;\n preventInitCall$ = new Subject<void>();\n possibleFilterValues$!: Observable<string[]>;\n possibleFilterValues: string[] = [];\n items$ = new BehaviorSubject<string[]>([]);\n @ViewChild('select') select!: PrySelectComponent;\n\n constructor(\n store: Store,\n private searchService: SearchService\n ) {\n super(store);\n this.type = 'autocomplete';\n }\n\n override ngOnInit() {\n this.possibleFilterValues$ = this.store.select(SearchSelectors.possibleFilterValues(this.filter?.id));\n this.subscriptions.add(this.possibleFilterValues$.subscribe((values) => (this.possibleFilterValues = values)));\n\n super.ngOnInit();\n if (this.filter?.attributes) {\n this.store.dispatch(\n SearchActions.getPossibleFilterValues({\n filterId: this.filter?.id ?? '',\n attributes: (this.filter?.attributes as Omit<Attribute, 'customId'>[]).filter(\n (a) => !!a.datasource && !!a.id\n ),\n limit: this.filter?.limit ?? 10\n })\n );\n }\n\n this.search$.next(`${this._value}`);\n this.autocomplete$ = this.search$.pipe(\n distinctUntilChanged((p, v) => equal(p, v)),\n skipUntil(this.preventInitCall$),\n debounceTime(500),\n switchMap((search) => {\n if (!!search && search.length > 1) {\n this.loader = true;\n this.items$.next([]);\n return this.searchService.autocomplete(this.filter?.attributes, search, this.filter?.limit).pipe(\n tap(() => (this.loader = false)),\n catchError((err) => {\n this.loader = false;\n console.error('Autocomplete failed', err);\n return [];\n })\n );\n }\n return of([] as string[]);\n })\n );\n setTimeout(() => this.preventInitCall$.next(), 200);\n\n this.subscriptions.add(\n combineLatest([this.possibleFilterValues$, this.autocomplete$.pipe(startWith([] as string[]))])\n .pipe(map(([possibleValues, autocomplete]) => (autocomplete.length > 0 ? autocomplete : possibleValues)))\n .subscribe((values) => this.items$.next(values))\n );\n }\n\n resetAutocompleteValues() {\n if (this.items$.getValue()?.length !== this.possibleFilterValues?.length) {\n this.items$.next(this.possibleFilterValues);\n }\n }\n\n setFilter(value: string) {\n if (value !== this.filter?.value) {\n super.updateFilter(value);\n }\n }\n\n updateSearch($event?: Event) {\n // @ts-ignore\n const value = $event ? $event.target!.value : '';\n this.search$.next(value);\n }\n\n clear() {\n this.search$.next('');\n }\n}\n","<pry-autocomplete-css></pry-autocomplete-css>\n@if (filter) {\n <div class=\"m-filter__input-wrapper m-filter__input-wrapper--dropdown\" (keyup)=\"updateSearch($event)\" #ref>\n @if (filter.name) {\n <label class=\"a-label m-filter__label\" for=\"{{ filter.name }}\">{{ filter.name }} : </label>\n }\n <pry-select\n [id]=\"filter.name\"\n [items]=\"items$ | async\"\n [ngModel]=\"filter.value\"\n (ngModelChange)=\"setFilter($event)\"\n [clearable]=\"true\"\n [autocomplete]=\"true\"\n [externalAutocompleteService]=\"true\"\n aria-labelledby=\"item-label\"\n (blur)=\"updateSearch($event)\"\n [elementRef]=\"ref\"\n (cleared)=\"clear()\"\n [loading]=\"loader\"\n (clicked)=\"resetAutocompleteValues()\"\n #select\n ></pry-select>\n </div>\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule, Type } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport {\n BaseFilterComponent,\n BaseFilterModule,\n PryI18nModule,\n PryIconModule,\n PrySelectModule\n} from '@provoly/dashboard';\nimport { AutocompleteComponent } from './autocomplete.component';\nimport { PryAutocompleteCssComponent } from './style/css.component';\n\n@NgModule({\n declarations: [AutocompleteComponent, PryAutocompleteCssComponent],\n exports: [AutocompleteComponent],\n imports: [CommonModule, ReactiveFormsModule, FormsModule, PrySelectModule, PryIconModule, PryI18nModule]\n})\nexport class PryAutocompleteModule extends BaseFilterModule {\n override getComponent(): Type<BaseFilterComponent> {\n return AutocompleteComponent as Type<AutocompleteComponent>;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i4.PryAutocompleteCssComponent"],"mappings":"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"}
|
|
@@ -473,7 +473,7 @@ class WidgetTableModule extends BaseWidgetModule {
|
|
|
473
473
|
PryToggleModule,
|
|
474
474
|
PryI18nModule,
|
|
475
475
|
PryDataFormatModule,
|
|
476
|
-
PryPaginatorModule], exports: [WidgetTableComponent] }); }
|
|
476
|
+
PryPaginatorModule], exports: [WidgetTableComponent, ExpandValueComponent, GetValuePipe] }); }
|
|
477
477
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: WidgetTableModule, imports: [CommonModule,
|
|
478
478
|
FormsModule,
|
|
479
479
|
OverlayModule,
|
|
@@ -513,7 +513,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
|
|
|
513
513
|
PryDataFormatModule,
|
|
514
514
|
PryPaginatorModule
|
|
515
515
|
],
|
|
516
|
-
exports: [WidgetTableComponent]
|
|
516
|
+
exports: [WidgetTableComponent, ExpandValueComponent, GetValuePipe]
|
|
517
517
|
}]
|
|
518
518
|
}], ctorParameters: () => [{ type: i4.PryI18nService }] });
|
|
519
519
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provoly-dashboard-widgets-widget-table.mjs","sources":["../../../../projects/provoly/dashboard/widgets/widget-table/resizable/resizable.directive.ts","../../../../projects/provoly/dashboard/widgets/widget-table/resizable/resizable.component.ts","../../../../projects/provoly/dashboard/widgets/widget-table/resizable/resizable.component.html","../../../../projects/provoly/dashboard/widgets/widget-table/style/css.component.ts","../../../../projects/provoly/dashboard/widgets/widget-table/expand-value/expand-value.component.ts","../../../../projects/provoly/dashboard/widgets/widget-table/expand-value/expand-value.component.html","../../../../projects/provoly/dashboard/widgets/widget-table/expand-value/detach-row.directive.ts","../../../../projects/provoly/dashboard/widgets/widget-table/get-value/get-value.pipe.ts","../../../../projects/provoly/dashboard/widgets/widget-table/component/widget-table.component.ts","../../../../projects/provoly/dashboard/widgets/widget-table/component/widget-table.component.html","../../../../projects/provoly/dashboard/widgets/widget-table/i18n/en.translations.ts","../../../../projects/provoly/dashboard/widgets/widget-table/i18n/fr.translations.ts","../../../../projects/provoly/dashboard/widgets/widget-table/widget-table.module.ts","../../../../projects/provoly/dashboard/widgets/widget-table/provoly-dashboard-widgets-widget-table.ts"],"sourcesContent":["import { DOCUMENT } from '@angular/common';\nimport { Directive, ElementRef, Inject, Output } from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { distinctUntilChanged, map, switchMap, takeUntil, tap } from 'rxjs/operators';\n\n@Directive({\n selector: '[resizable]'\n})\nexport class ResizableDirective {\n @Output()\n readonly resizable = fromEvent<MouseEvent>(this.elementRef.nativeElement, 'mousedown').pipe(\n tap((e) => e.preventDefault()),\n switchMap(() => {\n const domRect = this.elementRef.nativeElement.closest('th')?.getBoundingClientRect();\n const width = domRect?.width ?? 0;\n const right = domRect?.right ?? 0;\n\n return fromEvent<MouseEvent>(this.documentRef, 'mousemove').pipe(\n map(({ clientX }) => width + clientX - right),\n distinctUntilChanged(),\n takeUntil(fromEvent(this.documentRef, 'mouseup'))\n );\n })\n );\n\n constructor(\n @Inject(DOCUMENT) private readonly documentRef: Document,\n @Inject(ElementRef)\n private readonly elementRef: ElementRef<HTMLElement>\n ) {}\n}\n","import { Component, HostBinding } from '@angular/core';\n\n@Component({\n selector: 'th[resizable]',\n templateUrl: './resizable.component.html'\n})\nexport class ResizableComponent {\n @HostBinding('style.width.px')\n width: number | null = null;\n\n onResize(width: number) {\n this.width = width;\n }\n}\n","<div class=\"wrapper\">\n <div class=\"content\">\n <ng-content></ng-content>\n </div>\n <div class=\"bar\" (resizable)=\"onResize($event)\"></div>\n</div>\n","import { Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'pry-widget-table-css',\n template: '',\n styleUrls: ['./_o-widget-table.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class PryWidgetTableCssComponent {}\n","import { Component, Input } from '@angular/core';\nimport { Field, MultiMultipointValue, MultipointValue, PointValue, ValueType } from '@provoly/dashboard';\n\n@Component({\n selector: 'pry-expand-value',\n templateUrl: './expand-value.component.html'\n})\nexport class ExpandValueComponent {\n isArray: boolean = false;\n firstValue?: string | number | PointValue | MultipointValue | MultiMultipointValue | ValueType[] | null | undefined;\n rest: (string | number | PointValue | MultipointValue | MultiMultipointValue | ValueType[] | null | undefined)[] = [];\n isNumber = false;\n\n @Input() field?: Field;\n @Input() set value(toDisplay: ValueType | ValueType[] | null) {\n if (Array.isArray(toDisplay) && toDisplay.length > 1) {\n this.isArray = true;\n const [firstValue, ...rest] = toDisplay;\n this.firstValue = firstValue;\n this.rest = rest;\n } else {\n this.isArray = false;\n this.firstValue = toDisplay;\n this.rest = [];\n this.isNumber = typeof this.firstValue === 'number';\n }\n }\n}\n","<div class=\"a-expandable-value\">\n <span class=\"a-expandable-value__initial\">\n {{ firstValue | dataFormat: field }}\n {{ isArray ? ' (*)' : '' }}\n </span>\n <div class=\"a-expandable-value__expanded\" *ngIf=\"isArray\">\n <div *ngFor=\"let value of rest\">\n {{ value | dataFormat: field }}\n </div>\n </div>\n</div>\n","import {\n AfterViewChecked,\n ChangeDetectorRef,\n Directive,\n ElementRef,\n EventEmitter,\n HostListener,\n Output\n} from '@angular/core';\n\n@Directive({\n selector: '[detachRow]'\n})\nexport class DetachRowDirective implements AfterViewChecked {\n @HostListener('click', ['$event']) clickEvt($event: MouseEvent): any {\n this.cdr.reattach();\n this.selectedValue.emit($event);\n }\n\n @Output() selectedValue: EventEmitter<MouseEvent> = new EventEmitter();\n\n constructor(\n private el: ElementRef,\n private cdr: ChangeDetectorRef\n ) {}\n\n ngAfterViewChecked() {\n this.cdr.detach();\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { ClassSelectors, FieldSelectors, FieldType, Item, ItemUtils } from '@provoly/dashboard';\nimport { combineLatestWith } from 'rxjs';\nimport { filter, map } from 'rxjs/operators';\n\n@Pipe({ name: 'getValue' })\nexport class GetValuePipe implements PipeTransform {\n constructor(private store: Store<any>) {}\n\n transform(value: Item, ...args: any[]): any {\n return this.store.select(ClassSelectors.classes).pipe(\n combineLatestWith(this.store.select(FieldSelectors.fields)),\n filter(([classes, fields]) => !!classes && classes.length > 0),\n map(([classes, fields]) => {\n const oClass = classes.find((cl) => cl.id === value.oClass);\n const attribute = oClass?.attributes.find((attr) => attr.technicalName === args[0]);\n if (!!attribute) {\n const field = attribute.field;\n if (\n field &&\n [\n FieldType.POINT,\n FieldType.MULTIPOINT,\n FieldType.LINE,\n FieldType.MULTILINE,\n FieldType.MULTILINE,\n FieldType.POLYGON,\n FieldType.MULTIPOLYGON\n ].includes(field.type)\n ) {\n // @ts-ignore\n const coordinates = JSON.stringify(ItemUtils.getAttributeCalculatedValue(value, attribute)?.coordinates);\n return coordinates && coordinates.length > 40 ? `${coordinates.substring(0, 40)}...` : coordinates;\n }\n return ItemUtils.getAttributeCalculatedValue(value, attribute);\n }\n return ItemUtils.getAttributeCalculatedValue(value, args[0]);\n })\n );\n }\n}\n","import { ChangeDetectorRef, Component, ElementRef } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport {\n ALIGNMENT_OPTIONS,\n baseItemProperties,\n Class,\n ClassActions,\n ClassSelectors,\n ColumnDefinition,\n ConfigSelectors,\n ContextMenuActions,\n ContextMenuSelectors,\n DashboardActions,\n DashboardSelectors,\n DataWidgetComponent,\n DEFAULT_TABLE_WIDGET_STYLE,\n Field,\n FieldSelectors,\n FieldType,\n Item,\n ItemUtils,\n OrderValue,\n ResultOrder,\n TableWidgetOptions, TableWidgetStyle,\n WIDGET_HEADER_HEIGHT\n} from '@provoly/dashboard';\nimport equal from 'fast-deep-equal/es6';\nimport { auditTime, BehaviorSubject, combineLatest, Observable, take } from 'rxjs';\nimport { delay, filter, map, tap, withLatestFrom } from 'rxjs/operators';\n\nexport interface Pagination {\n totalPages: number;\n page: number;\n rows: number;\n items: Item[];\n loaded: number;\n loadedPages: number;\n noFillersItems: number;\n total: number;\n}\n\n@Component({\n selector: 'pry-widget-table',\n templateUrl: './widget-table.component.html'\n})\nexport class WidgetTableComponent extends DataWidgetComponent {\n options$: Observable<TableWidgetOptions>;\n columns$: Observable<ColumnDefinition[]>;\n optionsCopy?: TableWidgetOptions;\n fields$: Observable<Field[]>;\n selectedIds$: Observable<string[]>;\n Array = Array;\n currentClasses: string[] = [];\n selectedIds: string[] = [];\n WIDGET_HEADER_HEIGHT = WIDGET_HEADER_HEIGHT;\n private classes$: Observable<Class[]>;\n properties$: Observable<{ label: string; property: string }[]>;\n allSelected$: Observable<boolean>;\n areAllSelected: boolean = false;\n allIds: string[] = [];\n contextMenuClickedId: string = '';\n isContextMenuOpened$: Observable<boolean>;\n quickOrder$: Observable<ResultOrder | undefined>;\n private _refresh$ = new BehaviorSubject<void>(undefined);\n actualPage$ = new BehaviorSubject<number>(0);\n pagination$: Observable<Pagination>;\n isOpen = false;\n\n constructor(\n store: Store<any>,\n el: ElementRef,\n private cdr: ChangeDetectorRef\n ) {\n super(store, el);\n\n this.classes$ = this.store.select(ClassSelectors.classes);\n\n this.fields$ = combineLatest([this.resultSet$, this.classes$]).pipe(\n map(\n ([resultSet, classes]) =>\n [\n ...ItemUtils.getFieldsForClasses(Object.keys(resultSet.items), classes),\n ...baseItemProperties.map((p) => ({ name: p, id: p }) as Field)\n ] as Field[]\n ),\n map((fields) => fields.filter((field) => field.type !== FieldType.RAW))\n );\n\n this.options$ = combineLatest([\n this.manifest$.pipe(map((manifest) => manifest.options as TableWidgetOptions)),\n this.resultSet$,\n this.classes$,\n this.fields$,\n this.store.select(ConfigSelectors.tableDefaultAttributesDefinitions)\n ]).pipe(\n map(([options, resultSet, classes, fields, defs]) => {\n if (!options.columns || options.columns.length === 0) {\n const attributes = ItemUtils.getAttributesFromRs(resultSet, classes, fields, defs);\n const uniqueProps = [\n ...new Set(attributes.map(({ name, technicalName, field }) => ({ name, technicalName, field })))\n ];\n\n options.columns = uniqueProps.map((property) => ({\n property: property.technicalName,\n label: property.name,\n attributeId: attributes.find((attr) => attr.technicalName === property.technicalName)?.id,\n field: property.field\n })) as ColumnDefinition[];\n }\n options.style = options.style ?? DEFAULT_TABLE_WIDGET_STYLE.value;\n return options;\n })\n );\n\n this.subscriptions.add(\n this.options$.pipe(filter((opt) => !!opt)).subscribe((options) => {\n this.optionsCopy = { ...(JSON.parse(JSON.stringify(options)) as TableWidgetOptions) };\n this.refresh();\n })\n );\n\n this.subscriptions.add(this.allItems$.subscribe((allObjects) => (this.allIds = allObjects.map((obj) => obj.id))));\n\n const HEADER_SIZE = 30;\n const PAGINATION_SIZE = 35;\n const LINE_SIZE = 30;\n\n this.pagination$ = combineLatest([\n this.allItems$,\n this.actualPage$,\n this.widgetSize$,\n this.resultSet$,\n this.displayHeader$\n ]).pipe(\n map(([items, actualPage, size, rs, headerPresent]) => {\n const rows = Math.max(\n 1,\n Math.floor(\n (size.height - HEADER_SIZE - PAGINATION_SIZE - (headerPresent ? WIDGET_HEADER_HEIGHT.value : 0)) / LINE_SIZE\n )\n );\n const total = Object.values(rs.count ?? {}).reduce((p, c) => c.count + p, 0);\n const loadedPages = Math.ceil(items.length / rows);\n const page = actualPage <= loadedPages ? actualPage : Math.max(0, loadedPages - 1);\n const filtered = items.filter((_, idx) => idx >= rows * page && idx < rows * (page + 1));\n const filteredWithFillers =\n filtered.length === rows\n ? filtered\n : filtered.concat(\n new Array(rows - filtered.length).fill({\n metadata: { '__widget-table-filler': true }\n } as unknown as Item)\n );\n return {\n rows,\n page,\n items: filteredWithFillers,\n noFillersItems: filtered.length,\n total,\n totalPages: Math.ceil(total / rows),\n loaded: items.length,\n loadedPages\n };\n })\n );\n\n this.subscriptions.add(this.pagination$.pipe(auditTime(200)).subscribe(() => this.refresh()));\n\n this.columns$ = this.options$.pipe(\n map((options) => options?.columns ?? []),\n tap(() => setTimeout(() => this.refresh(), 500))\n );\n\n this.isContextMenuOpened$ = this.store.select(ContextMenuSelectors.opened);\n\n this.subscriptions.add(\n this.resultSet$\n .pipe(\n filter((rs) => !!rs),\n map((rs) => Object.keys(rs.items))\n )\n .subscribe((classes) => {\n if (this.currentClasses.length > 0 && !equal(this.currentClasses, classes)) {\n if (!this.optionsCopy) {\n this.optionsCopy = {};\n }\n delete this.optionsCopy.columns;\n this.emitManifest();\n }\n this.currentClasses = classes;\n })\n );\n\n this.selectedIds$ = this.store.select(DashboardSelectors.selectedItemIds);\n\n this.subscriptions.add(this.selectedIds$.subscribe((selectedIds) => this.selectedIds === selectedIds));\n\n this.store.dispatch(ClassActions.load());\n\n this.properties$ = combineLatest([this.resultSet$, this.classes$, this.fields$]).pipe(\n map(([rs, classes, fields]) => [\n ...Object.keys(rs.items)\n .map((classId) => (classes.find((cl) => cl.id === classId) ?? { attributes: [] }).attributes)\n .flat()\n .map((attr) => ({ technicalName: attr.technicalName, name: attr.name }))\n ]),\n map((props) => {\n const sortedProps = [...props];\n sortedProps.sort((pA, pB) => pA.name.toLocaleLowerCase().localeCompare(pB.name.toLocaleLowerCase()));\n return sortedProps;\n }),\n map((props) => props.map((prop) => ({ label: prop.name, property: prop.technicalName }))),\n tap(() => setTimeout(() => this.refresh(), 500))\n );\n\n this.allSelected$ = combineLatest([this.selectedIds$, this.allItems$]).pipe(\n map(([selectedIds, allObjects]) => {\n const allIds = allObjects.map((object) => object.id);\n return !allIds.find((id) => !selectedIds.includes(id));\n }),\n tap((allSelected) => (this.areAllSelected = allSelected))\n );\n\n this.quickOrder$ = combineLatest([this.store.select(DashboardSelectors.quickOrder), this.datasourceIds$]).pipe(\n map(([order, nqs]) => (nqs.length === 1 ? order[nqs[0]] : undefined))\n );\n\n this.subscriptions.add(this._refresh$.pipe(delay(100)).subscribe(() => this.cdr.detectChanges()));\n }\n\n refresh() {\n this._refresh$.next();\n this.isOpen = !this.isOpen;\n }\n\n emitManifest() {\n this.manifestModified.emit({\n widgetIndex: this.widgetIndex,\n manifest: { ...this.manifest, options: this.optionsCopy }\n });\n }\n\n addColumn() {\n if (!this.optionsCopy?.columns) {\n this.optionsCopy = { columns: [] };\n }\n this.optionsCopy.columns?.push({ label: '', property: '' });\n this.refresh();\n }\n\n changePropertyName($event: any, columnDef: ColumnDefinition) {\n columnDef.property = $event;\n this.refresh();\n }\n\n changeLabel($event: Event, columnDef: ColumnDefinition) {\n // @ts-ignore\n const newLabel = $event.currentTarget.value;\n if (columnDef.label !== newLabel) {\n columnDef.label = newLabel;\n this.refresh();\n }\n }\n\n deleteColumn(i: number) {\n this.optionsCopy?.columns?.splice(i, 1);\n this.refresh();\n }\n\n selection($event: MouseEvent, item: Item) {\n this.store.dispatch(DashboardActions.select({ id: item.id, cumulative: !$event.shiftKey }));\n $event.preventDefault();\n $event.stopPropagation();\n }\n\n contextMenu($event: MouseEvent, item: Item) {\n if (this.manifest.contextMenu !== false) {\n $event.stopPropagation();\n $event.preventDefault();\n this.store.dispatch(\n ContextMenuActions.open({\n itemId: item.id,\n clientX: $event.clientX,\n clientY: $event.clientY,\n resultSet: Array.isArray(this.manifest.datasource) ? this.manifest.datasource[0] : this.manifest.datasource,\n from: 'table',\n allowObjectCreation: false\n })\n );\n this.contextMenuClickedId = item.id;\n }\n }\n\n invertLayers(idx: number, idxWith: number) {\n if (!!this.optionsCopy && !!this.optionsCopy.columns) {\n const tmp = this.optionsCopy.columns[idxWith];\n this.optionsCopy.columns[idxWith] = this.optionsCopy.columns[idx];\n this.optionsCopy.columns[idx] = tmp;\n this.refresh();\n }\n }\n\n selectAll($event: any) {\n if ($event) {\n this.store.dispatch(DashboardActions.selectMany({ ids: this.allIds }));\n } else {\n this.store.dispatch(DashboardActions.selectMany({ ids: [] }));\n }\n }\n\n setOrder(column: ColumnDefinition) {\n this.datasourceIds$\n .pipe(\n take(1),\n filter((nqs) => nqs.length === 1),\n withLatestFrom(this.quickOrder$)\n )\n .subscribe(([nqs, actualOrder]) => {\n this.store.dispatch(\n DashboardActions.quickOrder({\n datasourceId: nqs[0],\n attribute: column.attributeId ?? '',\n asc: this.nextOrder(column, actualOrder)\n })\n );\n });\n }\n\n updateStyle($event: string | boolean, prop: keyof TableWidgetStyle) {\n if (this.optionsCopy && this.optionsCopy.style) {\n switch (prop) {\n case 'headerTextAlign':\n case 'cellTextAlign':\n this.optionsCopy.style[prop] = $event as string;\n break;\n case 'showVerticalSeparator':\n this.optionsCopy.style[prop] = $event as boolean;\n break;\n }\n }\n }\n\n private nextOrder(column: ColumnDefinition, actualOrder: ResultOrder | undefined): OrderValue {\n if (!actualOrder || actualOrder.attribute !== column.attributeId) {\n return 'asc';\n }\n return actualOrder.asc === 'asc' ? 'desc' : actualOrder.asc === 'desc' ? undefined : 'asc';\n }\n\n trackObjects(index: number, item: Item) {\n return item.id;\n }\n\n goToPage(number: number) {\n this.actualPage$.next(number);\n }\n\n protected readonly ALIGNMENT_OPTIONS = ALIGNMENT_OPTIONS;\n}\n","<pry-widget-table-css></pry-widget-table-css>\n<div class=\"o-widget o-widget--table\">\n @if (displayHeader$ | async) {\n <pry-widget-header\n [datasourceIds]=\"(datasourceIds$ | async) ?? []\"\n [widgetIndex]=\"widgetIndex\"\n [manifest]=\"manifest\"\n (manifestModified)=\"manifestModified.emit($event)\"\n #header\n [headerOptions]=\"(displayHeader$ | async) ?? {}\"\n (click)=\"refresh()\"\n >\n <pry-settings\n (click)=\"refresh()\"\n (saveTriggered)=\"emitManifest()\"\n (changeTitle)=\"changeWidgetTitle($event)\"\n [headerPresent]=\"displayHeader$ | async\"\n [widgetIndex]=\"widgetIndex\"\n [header]=\"header\"\n [open$]=\"open$\"\n (triggerClick)=\"this.refresh()\"\n class=\"o-settings\"\n >\n @if (optionsCopy && optionsCopy.style) {\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"table_style_headerTextAlign\">{{\n '@pry.widget.table.headerTextAlign' | i18n\n }}</label>\n <pry-select\n [items]=\"ALIGNMENT_OPTIONS\"\n [ngModel]=\"optionsCopy.style.headerTextAlign\"\n (ngModelChange)=\"updateStyle($event, 'headerTextAlign')\"\n id=\"table_style_headerTextAlign\"\n i18nPrefix=\"@pry.widget.table.align.\"\n ></pry-select>\n </div>\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"table_style_cellTextAlign\">{{\n '@pry.widget.table.cellTextAlign' | i18n\n }}</label>\n <pry-select\n [items]=\"ALIGNMENT_OPTIONS\"\n [ngModel]=\"optionsCopy.style.cellTextAlign\"\n (ngModelChange)=\"updateStyle($event, 'cellTextAlign')\"\n id=\"table_style_cellTextAlign\"\n i18nPrefix=\"@pry.widget.table.align.\"\n ></pry-select>\n </div>\n <div\n class=\"m-form-label-field u-display-flex -row -justify-space-between o-widget--table__vertical-separator\"\n >\n <label class=\"a-label\" for=\"table_style_verticalSeparator\">{{\n '@pry.widget.table.verticalSeparator' | i18n\n }}</label>\n <pry-checkbox\n [ngModel]=\"optionsCopy.style.showVerticalSeparator\"\n (ngModelChange)=\"updateStyle($event, 'showVerticalSeparator')\"\n id=\"table_style_verticalSeparator\"\n ></pry-checkbox>\n </div>\n }\n\n <div class=\"o-settings__popup__content__actions\">\n <button type=\"button\" class=\"a-btn a-btn--icon-text -link-like\" (click)=\"addColumn()\">\n <pry-icon iconSvg=\"post_add\"></pry-icon>\n {{ '@pry.widget.table.addColumn' | i18n }}\n </button>\n </div>\n\n @for (columnDef of optionsCopy?.columns ?? []; track columnDef.attributeId; let i = $index) {\n <div class=\"o-settings__popup__content__fields\" (click)=\"refresh()\">\n <div class=\"o-settings__popup__content__fields__head\">\n <div class=\"m-btn-group\">\n @if (i > 0) {\n <button type=\"button\" class=\"a-btn a-btn--icon-only\" (click)=\"invertLayers(i, i - 1)\">\n <pry-icon iconSvg=\"fleche_haut\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.action.moveUp' | i18n }}</span>\n </button>\n }\n @if (i < (optionsCopy?.columns?.length ?? 0) - 1) {\n <button type=\"button\" class=\"a-btn a-btn--icon-only\" (click)=\"invertLayers(i, i + 1)\">\n <pry-icon iconSvg=\"fleche_bas\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.action.moveDown' | i18n }}</span>\n </button>\n }\n </div>\n </div>\n\n <div class=\"o-settings__popup__content__fields__content\">\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"table_property\">{{ '@pry.widget.table.property' | i18n }}</label>\n <pry-select\n (click)=\"refresh()\"\n (ngModelChange)=\"changePropertyName($event, columnDef)\"\n [items]=\"properties$ | async\"\n [ngModel]=\"columnDef.property\"\n bindLabel=\"label\"\n bindValue=\"property\"\n id=\"table_property\"\n ></pry-select>\n </div>\n\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"table_label\">{{ '@pry.widget.table.label' | i18n }}</label>\n <input\n id=\"table_label\"\n class=\"a-form-field\"\n type=\"text\"\n (input)=\"changeLabel($event, columnDef)\"\n [value]=\"columnDef.label\"\n />\n </div>\n </div>\n <button\n (click)=\"deleteColumn(i)\"\n aria-label=\"delete\"\n type=\"button\"\n class=\"a-btn a-btn--icon-text -link-like\"\n data-func=\"delete\"\n >\n <pry-icon iconSvg=\"delete\" [width]=\"19\" [height]=\"19\"></pry-icon>\n <span>{{ '@pry.widget.table.deleteColumn' | i18n }}</span>\n </button>\n </div>\n }\n </pry-settings>\n </pry-widget-header>\n }\n\n <div class=\"a-table-wrapper\">\n @if (pagination$ | async; as pagination) {\n @if (pagination?.items ?? []; as allObjects) {\n @if (pagination.noFillersItems === 0) {\n <div class=\"no-result\" [style.height.%]=\"pagination.totalPages > 0 ? 80 : 100\">\n <img\n class=\"no-result__search\"\n src=\"../../../assets/svgs/pry_recherche_pas_de_resultat.svg\"\n alt=\"{{ '@pry.widget.table.empty' | i18n }}\"\n aria-hidden=\"true\"\n />\n <span class=\"no-result__text\">{{ '@pry.widget.table.empty' | i18n }}</span>\n </div>\n } @else if (pagination.noFillersItems > 0) {\n @if ((selectedIds$ | async) ?? []; as selectedIds) {\n @if ((columns$ | async) ?? []; as columns) {\n <table\n class=\"a-table\"\n [class.-show-vertical-separator]=\"optionsCopy?.style?.showVerticalSeparator\"\n [attr.aria-label]=\"'@pry.widget.table.description' | i18n\"\n >\n <thead>\n <tr>\n @if (allObjects?.length ?? 0 > 0) {\n <th>\n <pry-checkbox [ngModel]=\"areAllSelected\" (ngModelChange)=\"selectAll($event)\"></pry-checkbox>\n </th>\n }\n @for (column of columns; track column.attributeId; let i = $index) {\n <th\n resizable\n (click)=\"setOrder(column)\"\n [ngClass]=\"'u-txt-' + optionsCopy?.style?.headerTextAlign\"\n >\n <span>{{ column.label }}</span>\n @if (quickOrder$ | async; as quickOrder) {\n @if (quickOrder.attribute === column.attributeId) {\n <pry-icon\n [iconSvg]=\"quickOrder.asc ? 'chevron_top' : 'chevron_bottom'\"\n [height]=\"12\"\n [width]=\"12\"\n ></pry-icon>\n }\n }\n </th>\n }\n </tr>\n </thead>\n <tbody>\n @for (item of allObjects; track item.id) {\n <tr\n [class.is-selected]=\"selectedIds.includes(item.id)\"\n [class.context-menu-selected]=\"contextMenuClickedId === item.id && (isContextMenuOpened$ | async)\"\n (contextmenu)=\"contextMenu($event, item)\"\n detachRow\n (selectedValue)=\"selection($event, item)\"\n [class.filler]=\"item.metadata!['__widget-table-filler']\"\n >\n <td class=\"checkbox-wrapper\">\n <pry-checkbox [ngModel]=\"selectedIds.includes(item.id)\"></pry-checkbox>\n </td>\n @for (column of columns; track column.attributeId) {\n <td class=\"u-ellipsis\" [ngClass]=\"'u-txt-' + optionsCopy?.style?.cellTextAlign\">\n @if (column.property === 'metadata') {\n <pry-metadata [item]=\"item\"></pry-metadata>\n }\n @if (column.property === 'oClass') {\n <p class=\"content-img\">\n <img\n [height]=\"25\"\n [width]=\"25\"\n [src]=\"item | translateItemToSymbol | async\"\n [alt]=\"item.oClass | translateId: { type: 'class', output: 'name' } | async\"\n />\n </p>\n }\n @if (!['metadata', 'oClass'].includes(column.property)) {\n <pry-expand-value [value]=\"item | getValue: column.property | async\" [field]=\"column.field\"></pry-expand-value>\n }\n </td>\n }\n </tr>\n }\n </tbody>\n </table>\n }\n }\n }\n @if (pagination.totalPages > 0) {\n <div class=\"u-display-flex\">\n <pry-paginator\n [totalItemNb]=\"pagination.total\"\n (pageChange)=\"goToPage($event - 1)\"\n [nbPerPage]=\"pagination.rows\"\n mode=\"short\"\n ></pry-paginator>\n <div class=\"a-table__pagination-label\">\n ({{\n '@pry.widget.table.remaining' | i18n: { remaining: pagination.totalPages - pagination.loadedPages }\n }})\n </div>\n </div>\n }\n }\n }\n </div>\n</div>\n","export const enTranslations = {\n '@pry': {\n widget: {\n table: {\n addColumn: 'Add column',\n deleteColumn: 'Delete',\n property: 'Property to display',\n label: 'Column label',\n empty: 'No data to display',\n description: 'Dataset elements',\n remaining: '{{remaining}} pages to load',\n headerTextAlign: 'Align header content',\n cellTextAlign: 'Align cell content',\n verticalSeparator: 'Vertical separator',\n align: {\n left: 'Left',\n center: 'Center',\n right: 'Right'\n }\n }\n }\n }\n};\n","export const frTranslations = {\n '@pry': {\n widget: {\n table: {\n addColumn: 'Ajouter une colonne',\n deleteColumn: 'Supprimer',\n property: 'Propriété à afficher',\n label: 'Libellé de la colonne',\n empty: 'Aucune donnée à afficher',\n description: 'Eléments du jeu de données',\n remaining: '{{remaining}} pages restant à charger',\n headerTextAlign: \"Alignement de l'en-tête :\",\n cellTextAlign: 'Alignement du contenu :',\n verticalSeparator: 'Séparateur vertical :',\n align: {\n left: 'Gauche',\n center: 'Centre',\n right: 'Droite'\n }\n }\n }\n }\n};\n","import { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { NgModule, Type } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport {\n BaseWidgetComponent,\n BaseWidgetModule,\n PryCoreModule,\n PryDashboardModule,\n PryI18nModule,\n PryI18nService,\n PryIconModule,\n PrySelectModule,\n PryToggleModule\n} from '@provoly/dashboard';\nimport { PryCheckboxModule } from '@provoly/dashboard/components/checkbox';\nimport { WidgetTableComponent } from './component/widget-table.component';\nimport { DetachRowDirective } from './expand-value/detach-row.directive';\nimport { ExpandValueComponent } from './expand-value/expand-value.component';\nimport { GetValuePipe } from './get-value/get-value.pipe';\nimport { enTranslations } from './i18n/en.translations';\nimport { frTranslations } from './i18n/fr.translations';\nimport { ResizableComponent } from './resizable/resizable.component';\nimport { ResizableDirective } from './resizable/resizable.directive';\nimport { PryWidgetTableCssComponent } from './style/css.component';\nimport { PryDataFormatModule } from '@provoly/dashboard/components/data-format';\nimport { PryPaginatorModule } from '@provoly/dashboard/components/paginator';\n\n@NgModule({\n declarations: [\n WidgetTableComponent,\n GetValuePipe,\n ResizableComponent,\n ResizableDirective,\n PryWidgetTableCssComponent,\n ExpandValueComponent,\n DetachRowDirective\n ],\n imports: [\n CommonModule,\n FormsModule,\n OverlayModule,\n PryCoreModule,\n PryDashboardModule,\n PrySelectModule,\n PryIconModule,\n PryCheckboxModule,\n PryToggleModule,\n PryI18nModule,\n PryDataFormatModule,\n PryPaginatorModule\n ],\n exports: [WidgetTableComponent]\n})\nexport class WidgetTableModule extends BaseWidgetModule {\n constructor(private pryTranslateService: PryI18nService) {\n super();\n this.pryTranslateService.addLangObject('fr', 'widget-table', frTranslations);\n this.pryTranslateService.addLangObject('en', 'widget-table', enTranslations);\n }\n\n override getComponent() {\n return WidgetTableComponent as Type<BaseWidgetComponent>;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.ResizableDirective","i1","i2","i7.ResizableComponent","i8.ResizableDirective","i9.PryWidgetTableCssComponent","i10.ExpandValueComponent","i11.DetachRowDirective","i12.GetValuePipe"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"provoly-dashboard-widgets-widget-table.mjs","sources":["../../../../projects/provoly/dashboard/widgets/widget-table/resizable/resizable.directive.ts","../../../../projects/provoly/dashboard/widgets/widget-table/resizable/resizable.component.ts","../../../../projects/provoly/dashboard/widgets/widget-table/resizable/resizable.component.html","../../../../projects/provoly/dashboard/widgets/widget-table/style/css.component.ts","../../../../projects/provoly/dashboard/widgets/widget-table/expand-value/expand-value.component.ts","../../../../projects/provoly/dashboard/widgets/widget-table/expand-value/expand-value.component.html","../../../../projects/provoly/dashboard/widgets/widget-table/expand-value/detach-row.directive.ts","../../../../projects/provoly/dashboard/widgets/widget-table/get-value/get-value.pipe.ts","../../../../projects/provoly/dashboard/widgets/widget-table/component/widget-table.component.ts","../../../../projects/provoly/dashboard/widgets/widget-table/component/widget-table.component.html","../../../../projects/provoly/dashboard/widgets/widget-table/i18n/en.translations.ts","../../../../projects/provoly/dashboard/widgets/widget-table/i18n/fr.translations.ts","../../../../projects/provoly/dashboard/widgets/widget-table/widget-table.module.ts","../../../../projects/provoly/dashboard/widgets/widget-table/provoly-dashboard-widgets-widget-table.ts"],"sourcesContent":["import { DOCUMENT } from '@angular/common';\nimport { Directive, ElementRef, Inject, Output } from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { distinctUntilChanged, map, switchMap, takeUntil, tap } from 'rxjs/operators';\n\n@Directive({\n selector: '[resizable]'\n})\nexport class ResizableDirective {\n @Output()\n readonly resizable = fromEvent<MouseEvent>(this.elementRef.nativeElement, 'mousedown').pipe(\n tap((e) => e.preventDefault()),\n switchMap(() => {\n const domRect = this.elementRef.nativeElement.closest('th')?.getBoundingClientRect();\n const width = domRect?.width ?? 0;\n const right = domRect?.right ?? 0;\n\n return fromEvent<MouseEvent>(this.documentRef, 'mousemove').pipe(\n map(({ clientX }) => width + clientX - right),\n distinctUntilChanged(),\n takeUntil(fromEvent(this.documentRef, 'mouseup'))\n );\n })\n );\n\n constructor(\n @Inject(DOCUMENT) private readonly documentRef: Document,\n @Inject(ElementRef)\n private readonly elementRef: ElementRef<HTMLElement>\n ) {}\n}\n","import { Component, HostBinding } from '@angular/core';\n\n@Component({\n selector: 'th[resizable]',\n templateUrl: './resizable.component.html'\n})\nexport class ResizableComponent {\n @HostBinding('style.width.px')\n width: number | null = null;\n\n onResize(width: number) {\n this.width = width;\n }\n}\n","<div class=\"wrapper\">\n <div class=\"content\">\n <ng-content></ng-content>\n </div>\n <div class=\"bar\" (resizable)=\"onResize($event)\"></div>\n</div>\n","import { Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'pry-widget-table-css',\n template: '',\n styleUrls: ['./_o-widget-table.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class PryWidgetTableCssComponent {}\n","import { Component, Input } from '@angular/core';\nimport { Field, MultiMultipointValue, MultipointValue, PointValue, ValueType } from '@provoly/dashboard';\n\n@Component({\n selector: 'pry-expand-value',\n templateUrl: './expand-value.component.html'\n})\nexport class ExpandValueComponent {\n isArray: boolean = false;\n firstValue?: string | number | PointValue | MultipointValue | MultiMultipointValue | ValueType[] | null | undefined;\n rest: (string | number | PointValue | MultipointValue | MultiMultipointValue | ValueType[] | null | undefined)[] = [];\n isNumber = false;\n\n @Input() field?: Field;\n @Input() set value(toDisplay: ValueType | ValueType[] | null) {\n if (Array.isArray(toDisplay) && toDisplay.length > 1) {\n this.isArray = true;\n const [firstValue, ...rest] = toDisplay;\n this.firstValue = firstValue;\n this.rest = rest;\n } else {\n this.isArray = false;\n this.firstValue = toDisplay;\n this.rest = [];\n this.isNumber = typeof this.firstValue === 'number';\n }\n }\n}\n","<div class=\"a-expandable-value\">\n <span class=\"a-expandable-value__initial\">\n {{ firstValue | dataFormat: field }}\n {{ isArray ? ' (*)' : '' }}\n </span>\n <div class=\"a-expandable-value__expanded\" *ngIf=\"isArray\">\n <div *ngFor=\"let value of rest\">\n {{ value | dataFormat: field }}\n </div>\n </div>\n</div>\n","import {\n AfterViewChecked,\n ChangeDetectorRef,\n Directive,\n ElementRef,\n EventEmitter,\n HostListener,\n Output\n} from '@angular/core';\n\n@Directive({\n selector: '[detachRow]'\n})\nexport class DetachRowDirective implements AfterViewChecked {\n @HostListener('click', ['$event']) clickEvt($event: MouseEvent): any {\n this.cdr.reattach();\n this.selectedValue.emit($event);\n }\n\n @Output() selectedValue: EventEmitter<MouseEvent> = new EventEmitter();\n\n constructor(\n private el: ElementRef,\n private cdr: ChangeDetectorRef\n ) {}\n\n ngAfterViewChecked() {\n this.cdr.detach();\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { ClassSelectors, FieldSelectors, FieldType, Item, ItemUtils } from '@provoly/dashboard';\nimport { combineLatestWith } from 'rxjs';\nimport { filter, map } from 'rxjs/operators';\n\n@Pipe({ name: 'getValue' })\nexport class GetValuePipe implements PipeTransform {\n constructor(private store: Store<any>) {}\n\n transform(value: Item, ...args: any[]): any {\n return this.store.select(ClassSelectors.classes).pipe(\n combineLatestWith(this.store.select(FieldSelectors.fields)),\n filter(([classes, fields]) => !!classes && classes.length > 0),\n map(([classes, fields]) => {\n const oClass = classes.find((cl) => cl.id === value.oClass);\n const attribute = oClass?.attributes.find((attr) => attr.technicalName === args[0]);\n if (!!attribute) {\n const field = attribute.field;\n if (\n field &&\n [\n FieldType.POINT,\n FieldType.MULTIPOINT,\n FieldType.LINE,\n FieldType.MULTILINE,\n FieldType.MULTILINE,\n FieldType.POLYGON,\n FieldType.MULTIPOLYGON\n ].includes(field.type)\n ) {\n // @ts-ignore\n const coordinates = JSON.stringify(ItemUtils.getAttributeCalculatedValue(value, attribute)?.coordinates);\n return coordinates && coordinates.length > 40 ? `${coordinates.substring(0, 40)}...` : coordinates;\n }\n return ItemUtils.getAttributeCalculatedValue(value, attribute);\n }\n return ItemUtils.getAttributeCalculatedValue(value, args[0]);\n })\n );\n }\n}\n","import { ChangeDetectorRef, Component, ElementRef } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport {\n ALIGNMENT_OPTIONS,\n baseItemProperties,\n Class,\n ClassActions,\n ClassSelectors,\n ColumnDefinition,\n ConfigSelectors,\n ContextMenuActions,\n ContextMenuSelectors,\n DashboardActions,\n DashboardSelectors,\n DataWidgetComponent,\n DEFAULT_TABLE_WIDGET_STYLE,\n Field,\n FieldType,\n Item,\n ItemUtils,\n OrderValue,\n ResultOrder,\n TableWidgetOptions, TableWidgetStyle,\n WIDGET_HEADER_HEIGHT\n} from '@provoly/dashboard';\nimport equal from 'fast-deep-equal/es6';\nimport { auditTime, BehaviorSubject, combineLatest, Observable, take } from 'rxjs';\nimport { delay, filter, map, tap, withLatestFrom } from 'rxjs/operators';\n\nexport interface Pagination {\n totalPages: number;\n page: number;\n rows: number;\n items: Item[];\n loaded: number;\n loadedPages: number;\n noFillersItems: number;\n total: number;\n}\n\n@Component({\n selector: 'pry-widget-table',\n templateUrl: './widget-table.component.html'\n})\nexport class WidgetTableComponent extends DataWidgetComponent {\n options$: Observable<TableWidgetOptions>;\n columns$: Observable<ColumnDefinition[]>;\n optionsCopy?: TableWidgetOptions;\n fields$: Observable<Field[]>;\n selectedIds$: Observable<string[]>;\n Array = Array;\n currentClasses: string[] = [];\n selectedIds: string[] = [];\n WIDGET_HEADER_HEIGHT = WIDGET_HEADER_HEIGHT;\n private classes$: Observable<Class[]>;\n properties$: Observable<{ label: string; property: string }[]>;\n allSelected$: Observable<boolean>;\n areAllSelected: boolean = false;\n allIds: string[] = [];\n contextMenuClickedId: string = '';\n isContextMenuOpened$: Observable<boolean>;\n quickOrder$: Observable<ResultOrder | undefined>;\n private _refresh$ = new BehaviorSubject<void>(undefined);\n actualPage$ = new BehaviorSubject<number>(0);\n pagination$: Observable<Pagination>;\n isOpen = false;\n\n constructor(\n store: Store<any>,\n el: ElementRef,\n private cdr: ChangeDetectorRef\n ) {\n super(store, el);\n\n this.classes$ = this.store.select(ClassSelectors.classes);\n\n this.fields$ = combineLatest([this.resultSet$, this.classes$]).pipe(\n map(\n ([resultSet, classes]) =>\n [\n ...ItemUtils.getFieldsForClasses(Object.keys(resultSet.items), classes),\n ...baseItemProperties.map((p) => ({ name: p, id: p }) as Field)\n ] as Field[]\n ),\n map((fields) => fields.filter((field) => field.type !== FieldType.RAW))\n );\n\n this.options$ = combineLatest([\n this.manifest$.pipe(map((manifest) => manifest.options as TableWidgetOptions)),\n this.resultSet$,\n this.classes$,\n this.fields$,\n this.store.select(ConfigSelectors.tableDefaultAttributesDefinitions)\n ]).pipe(\n map(([options, resultSet, classes, fields, defs]) => {\n if (!options.columns || options.columns.length === 0) {\n const attributes = ItemUtils.getAttributesFromRs(resultSet, classes, fields, defs);\n const uniqueProps = [\n ...new Set(attributes.map(({ name, technicalName, field }) => ({ name, technicalName, field })))\n ];\n\n options.columns = uniqueProps.map((property) => ({\n property: property.technicalName,\n label: property.name,\n attributeId: attributes.find((attr) => attr.technicalName === property.technicalName)?.id,\n field: property.field\n })) as ColumnDefinition[];\n }\n options.style = options.style ?? DEFAULT_TABLE_WIDGET_STYLE.value;\n return options;\n })\n );\n\n this.subscriptions.add(\n this.options$.pipe(filter((opt) => !!opt)).subscribe((options) => {\n this.optionsCopy = { ...(JSON.parse(JSON.stringify(options)) as TableWidgetOptions) };\n this.refresh();\n })\n );\n\n this.subscriptions.add(this.allItems$.subscribe((allObjects) => (this.allIds = allObjects.map((obj) => obj.id))));\n\n const HEADER_SIZE = 30;\n const PAGINATION_SIZE = 35;\n const LINE_SIZE = 30;\n\n this.pagination$ = combineLatest([\n this.allItems$,\n this.actualPage$,\n this.widgetSize$,\n this.resultSet$,\n this.displayHeader$\n ]).pipe(\n map(([items, actualPage, size, rs, headerPresent]) => {\n const rows = Math.max(\n 1,\n Math.floor(\n (size.height - HEADER_SIZE - PAGINATION_SIZE - (headerPresent ? WIDGET_HEADER_HEIGHT.value : 0)) / LINE_SIZE\n )\n );\n const total = Object.values(rs.count ?? {}).reduce((p, c) => c.count + p, 0);\n const loadedPages = Math.ceil(items.length / rows);\n const page = actualPage <= loadedPages ? actualPage : Math.max(0, loadedPages - 1);\n const filtered = items.filter((_, idx) => idx >= rows * page && idx < rows * (page + 1));\n const filteredWithFillers =\n filtered.length === rows\n ? filtered\n : filtered.concat(\n new Array(rows - filtered.length).fill({\n metadata: { '__widget-table-filler': true }\n } as unknown as Item)\n );\n return {\n rows,\n page,\n items: filteredWithFillers,\n noFillersItems: filtered.length,\n total,\n totalPages: Math.ceil(total / rows),\n loaded: items.length,\n loadedPages\n };\n })\n );\n\n this.subscriptions.add(this.pagination$.pipe(auditTime(200)).subscribe(() => this.refresh()));\n\n this.columns$ = this.options$.pipe(\n map((options) => options?.columns ?? []),\n tap(() => setTimeout(() => this.refresh(), 500))\n );\n\n this.isContextMenuOpened$ = this.store.select(ContextMenuSelectors.opened);\n\n this.subscriptions.add(\n this.resultSet$\n .pipe(\n filter((rs) => !!rs),\n map((rs) => Object.keys(rs.items))\n )\n .subscribe((classes) => {\n if (this.currentClasses.length > 0 && !equal(this.currentClasses, classes)) {\n if (!this.optionsCopy) {\n this.optionsCopy = {};\n }\n delete this.optionsCopy.columns;\n this.emitManifest();\n }\n this.currentClasses = classes;\n })\n );\n\n this.selectedIds$ = this.store.select(DashboardSelectors.selectedItemIds);\n\n this.subscriptions.add(this.selectedIds$.subscribe((selectedIds) => this.selectedIds === selectedIds));\n\n this.store.dispatch(ClassActions.load());\n\n this.properties$ = combineLatest([this.resultSet$, this.classes$, this.fields$]).pipe(\n map(([rs, classes, fields]) => [\n ...Object.keys(rs.items)\n .map((classId) => (classes.find((cl) => cl.id === classId) ?? { attributes: [] }).attributes)\n .flat()\n .map((attr) => ({ technicalName: attr.technicalName, name: attr.name }))\n ]),\n map((props) => {\n const sortedProps = [...props];\n sortedProps.sort((pA, pB) => pA.name.toLocaleLowerCase().localeCompare(pB.name.toLocaleLowerCase()));\n return sortedProps;\n }),\n map((props) => props.map((prop) => ({ label: prop.name, property: prop.technicalName }))),\n tap(() => setTimeout(() => this.refresh(), 500))\n );\n\n this.allSelected$ = combineLatest([this.selectedIds$, this.allItems$]).pipe(\n map(([selectedIds, allObjects]) => {\n const allIds = allObjects.map((object) => object.id);\n return !allIds.find((id) => !selectedIds.includes(id));\n }),\n tap((allSelected) => (this.areAllSelected = allSelected))\n );\n\n this.quickOrder$ = combineLatest([this.store.select(DashboardSelectors.quickOrder), this.datasourceIds$]).pipe(\n map(([order, nqs]) => (nqs.length === 1 ? order[nqs[0]] : undefined))\n );\n\n this.subscriptions.add(this._refresh$.pipe(delay(100)).subscribe(() => this.cdr.detectChanges()));\n }\n\n refresh() {\n this._refresh$.next();\n this.isOpen = !this.isOpen;\n }\n\n emitManifest() {\n this.manifestModified.emit({\n widgetIndex: this.widgetIndex,\n manifest: { ...this.manifest, options: this.optionsCopy }\n });\n }\n\n addColumn() {\n if (!this.optionsCopy?.columns) {\n this.optionsCopy = { columns: [] };\n }\n this.optionsCopy.columns?.push({ label: '', property: '' });\n this.refresh();\n }\n\n changePropertyName($event: any, columnDef: ColumnDefinition) {\n columnDef.property = $event;\n this.refresh();\n }\n\n changeLabel($event: Event, columnDef: ColumnDefinition) {\n // @ts-ignore\n const newLabel = $event.currentTarget.value;\n if (columnDef.label !== newLabel) {\n columnDef.label = newLabel;\n this.refresh();\n }\n }\n\n deleteColumn(i: number) {\n this.optionsCopy?.columns?.splice(i, 1);\n this.refresh();\n }\n\n selection($event: MouseEvent, item: Item) {\n this.store.dispatch(DashboardActions.select({ id: item.id, cumulative: !$event.shiftKey }));\n $event.preventDefault();\n $event.stopPropagation();\n }\n\n contextMenu($event: MouseEvent, item: Item) {\n if (this.manifest.contextMenu !== false) {\n $event.stopPropagation();\n $event.preventDefault();\n this.store.dispatch(\n ContextMenuActions.open({\n itemId: item.id,\n clientX: $event.clientX,\n clientY: $event.clientY,\n resultSet: Array.isArray(this.manifest.datasource) ? this.manifest.datasource[0] : this.manifest.datasource,\n from: 'table',\n allowObjectCreation: false\n })\n );\n this.contextMenuClickedId = item.id;\n }\n }\n\n invertLayers(idx: number, idxWith: number) {\n if (!!this.optionsCopy && !!this.optionsCopy.columns) {\n const tmp = this.optionsCopy.columns[idxWith];\n this.optionsCopy.columns[idxWith] = this.optionsCopy.columns[idx];\n this.optionsCopy.columns[idx] = tmp;\n this.refresh();\n }\n }\n\n selectAll($event: any) {\n if ($event) {\n this.store.dispatch(DashboardActions.selectMany({ ids: this.allIds }));\n } else {\n this.store.dispatch(DashboardActions.selectMany({ ids: [] }));\n }\n }\n\n setOrder(column: ColumnDefinition) {\n this.datasourceIds$\n .pipe(\n take(1),\n filter((nqs) => nqs.length === 1),\n withLatestFrom(this.quickOrder$)\n )\n .subscribe(([nqs, actualOrder]) => {\n this.store.dispatch(\n DashboardActions.quickOrder({\n datasourceId: nqs[0],\n attribute: column.attributeId ?? '',\n asc: this.nextOrder(column, actualOrder)\n })\n );\n });\n }\n\n updateStyle($event: string | boolean, prop: keyof TableWidgetStyle) {\n if (this.optionsCopy && this.optionsCopy.style) {\n switch (prop) {\n case 'headerTextAlign':\n case 'cellTextAlign':\n this.optionsCopy.style[prop] = $event as string;\n break;\n case 'showVerticalSeparator':\n this.optionsCopy.style[prop] = $event as boolean;\n break;\n }\n }\n }\n\n private nextOrder(column: ColumnDefinition, actualOrder: ResultOrder | undefined): OrderValue {\n if (!actualOrder || actualOrder.attribute !== column.attributeId) {\n return 'asc';\n }\n return actualOrder.asc === 'asc' ? 'desc' : actualOrder.asc === 'desc' ? undefined : 'asc';\n }\n\n trackObjects(index: number, item: Item) {\n return item.id;\n }\n\n goToPage(number: number) {\n this.actualPage$.next(number);\n }\n\n protected readonly ALIGNMENT_OPTIONS = ALIGNMENT_OPTIONS;\n}\n","<pry-widget-table-css></pry-widget-table-css>\n<div class=\"o-widget o-widget--table\">\n @if (displayHeader$ | async) {\n <pry-widget-header\n [datasourceIds]=\"(datasourceIds$ | async) ?? []\"\n [widgetIndex]=\"widgetIndex\"\n [manifest]=\"manifest\"\n (manifestModified)=\"manifestModified.emit($event)\"\n #header\n [headerOptions]=\"(displayHeader$ | async) ?? {}\"\n (click)=\"refresh()\"\n >\n <pry-settings\n (click)=\"refresh()\"\n (saveTriggered)=\"emitManifest()\"\n (changeTitle)=\"changeWidgetTitle($event)\"\n [headerPresent]=\"displayHeader$ | async\"\n [widgetIndex]=\"widgetIndex\"\n [header]=\"header\"\n [open$]=\"open$\"\n (triggerClick)=\"this.refresh()\"\n class=\"o-settings\"\n >\n @if (optionsCopy && optionsCopy.style) {\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"table_style_headerTextAlign\">{{\n '@pry.widget.table.headerTextAlign' | i18n\n }}</label>\n <pry-select\n [items]=\"ALIGNMENT_OPTIONS\"\n [ngModel]=\"optionsCopy.style.headerTextAlign\"\n (ngModelChange)=\"updateStyle($event, 'headerTextAlign')\"\n id=\"table_style_headerTextAlign\"\n i18nPrefix=\"@pry.widget.table.align.\"\n ></pry-select>\n </div>\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"table_style_cellTextAlign\">{{\n '@pry.widget.table.cellTextAlign' | i18n\n }}</label>\n <pry-select\n [items]=\"ALIGNMENT_OPTIONS\"\n [ngModel]=\"optionsCopy.style.cellTextAlign\"\n (ngModelChange)=\"updateStyle($event, 'cellTextAlign')\"\n id=\"table_style_cellTextAlign\"\n i18nPrefix=\"@pry.widget.table.align.\"\n ></pry-select>\n </div>\n <div\n class=\"m-form-label-field u-display-flex -row -justify-space-between o-widget--table__vertical-separator\"\n >\n <label class=\"a-label\" for=\"table_style_verticalSeparator\">{{\n '@pry.widget.table.verticalSeparator' | i18n\n }}</label>\n <pry-checkbox\n [ngModel]=\"optionsCopy.style.showVerticalSeparator\"\n (ngModelChange)=\"updateStyle($event, 'showVerticalSeparator')\"\n id=\"table_style_verticalSeparator\"\n ></pry-checkbox>\n </div>\n }\n\n <div class=\"o-settings__popup__content__actions\">\n <button type=\"button\" class=\"a-btn a-btn--icon-text -link-like\" (click)=\"addColumn()\">\n <pry-icon iconSvg=\"post_add\"></pry-icon>\n {{ '@pry.widget.table.addColumn' | i18n }}\n </button>\n </div>\n\n @for (columnDef of optionsCopy?.columns ?? []; track columnDef.attributeId; let i = $index) {\n <div class=\"o-settings__popup__content__fields\" (click)=\"refresh()\">\n <div class=\"o-settings__popup__content__fields__head\">\n <div class=\"m-btn-group\">\n @if (i > 0) {\n <button type=\"button\" class=\"a-btn a-btn--icon-only\" (click)=\"invertLayers(i, i - 1)\">\n <pry-icon iconSvg=\"fleche_haut\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.action.moveUp' | i18n }}</span>\n </button>\n }\n @if (i < (optionsCopy?.columns?.length ?? 0) - 1) {\n <button type=\"button\" class=\"a-btn a-btn--icon-only\" (click)=\"invertLayers(i, i + 1)\">\n <pry-icon iconSvg=\"fleche_bas\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.action.moveDown' | i18n }}</span>\n </button>\n }\n </div>\n </div>\n\n <div class=\"o-settings__popup__content__fields__content\">\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"table_property\">{{ '@pry.widget.table.property' | i18n }}</label>\n <pry-select\n (click)=\"refresh()\"\n (ngModelChange)=\"changePropertyName($event, columnDef)\"\n [items]=\"properties$ | async\"\n [ngModel]=\"columnDef.property\"\n bindLabel=\"label\"\n bindValue=\"property\"\n id=\"table_property\"\n ></pry-select>\n </div>\n\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"table_label\">{{ '@pry.widget.table.label' | i18n }}</label>\n <input\n id=\"table_label\"\n class=\"a-form-field\"\n type=\"text\"\n (input)=\"changeLabel($event, columnDef)\"\n [value]=\"columnDef.label\"\n />\n </div>\n </div>\n <button\n (click)=\"deleteColumn(i)\"\n aria-label=\"delete\"\n type=\"button\"\n class=\"a-btn a-btn--icon-text -link-like\"\n data-func=\"delete\"\n >\n <pry-icon iconSvg=\"delete\" [width]=\"19\" [height]=\"19\"></pry-icon>\n <span>{{ '@pry.widget.table.deleteColumn' | i18n }}</span>\n </button>\n </div>\n }\n </pry-settings>\n </pry-widget-header>\n }\n\n <div class=\"a-table-wrapper\">\n @if (pagination$ | async; as pagination) {\n @if (pagination?.items ?? []; as allObjects) {\n @if (pagination.noFillersItems === 0) {\n <div class=\"no-result\" [style.height.%]=\"pagination.totalPages > 0 ? 80 : 100\">\n <img\n class=\"no-result__search\"\n src=\"../../../assets/svgs/pry_recherche_pas_de_resultat.svg\"\n alt=\"{{ '@pry.widget.table.empty' | i18n }}\"\n aria-hidden=\"true\"\n />\n <span class=\"no-result__text\">{{ '@pry.widget.table.empty' | i18n }}</span>\n </div>\n } @else if (pagination.noFillersItems > 0) {\n @if ((selectedIds$ | async) ?? []; as selectedIds) {\n @if ((columns$ | async) ?? []; as columns) {\n <table\n class=\"a-table\"\n [class.-show-vertical-separator]=\"optionsCopy?.style?.showVerticalSeparator\"\n [attr.aria-label]=\"'@pry.widget.table.description' | i18n\"\n >\n <thead>\n <tr>\n @if (allObjects?.length ?? 0 > 0) {\n <th>\n <pry-checkbox [ngModel]=\"areAllSelected\" (ngModelChange)=\"selectAll($event)\"></pry-checkbox>\n </th>\n }\n @for (column of columns; track column.attributeId; let i = $index) {\n <th\n resizable\n (click)=\"setOrder(column)\"\n [ngClass]=\"'u-txt-' + optionsCopy?.style?.headerTextAlign\"\n >\n <span>{{ column.label }}</span>\n @if (quickOrder$ | async; as quickOrder) {\n @if (quickOrder.attribute === column.attributeId) {\n <pry-icon\n [iconSvg]=\"quickOrder.asc ? 'chevron_top' : 'chevron_bottom'\"\n [height]=\"12\"\n [width]=\"12\"\n ></pry-icon>\n }\n }\n </th>\n }\n </tr>\n </thead>\n <tbody>\n @for (item of allObjects; track item.id) {\n <tr\n [class.is-selected]=\"selectedIds.includes(item.id)\"\n [class.context-menu-selected]=\"contextMenuClickedId === item.id && (isContextMenuOpened$ | async)\"\n (contextmenu)=\"contextMenu($event, item)\"\n detachRow\n (selectedValue)=\"selection($event, item)\"\n [class.filler]=\"item.metadata!['__widget-table-filler']\"\n >\n <td class=\"checkbox-wrapper\">\n <pry-checkbox [ngModel]=\"selectedIds.includes(item.id)\"></pry-checkbox>\n </td>\n @for (column of columns; track column.attributeId) {\n <td class=\"u-ellipsis\" [ngClass]=\"'u-txt-' + optionsCopy?.style?.cellTextAlign\">\n @if (column.property === 'metadata') {\n <pry-metadata [item]=\"item\"></pry-metadata>\n }\n @if (column.property === 'oClass') {\n <p class=\"content-img\">\n <img\n [height]=\"25\"\n [width]=\"25\"\n [src]=\"item | translateItemToSymbol | async\"\n [alt]=\"item.oClass | translateId: { type: 'class', output: 'name' } | async\"\n />\n </p>\n }\n @if (!['metadata', 'oClass'].includes(column.property)) {\n <pry-expand-value [value]=\"item | getValue: column.property | async\" [field]=\"column.field\"></pry-expand-value>\n }\n </td>\n }\n </tr>\n }\n </tbody>\n </table>\n }\n }\n }\n @if (pagination.totalPages > 0) {\n <div class=\"u-display-flex\">\n <pry-paginator\n [totalItemNb]=\"pagination.total\"\n (pageChange)=\"goToPage($event - 1)\"\n [nbPerPage]=\"pagination.rows\"\n mode=\"short\"\n ></pry-paginator>\n <div class=\"a-table__pagination-label\">\n ({{\n '@pry.widget.table.remaining' | i18n: { remaining: pagination.totalPages - pagination.loadedPages }\n }})\n </div>\n </div>\n }\n }\n }\n </div>\n</div>\n","export const enTranslations = {\n '@pry': {\n widget: {\n table: {\n addColumn: 'Add column',\n deleteColumn: 'Delete',\n property: 'Property to display',\n label: 'Column label',\n empty: 'No data to display',\n description: 'Dataset elements',\n remaining: '{{remaining}} pages to load',\n headerTextAlign: 'Align header content',\n cellTextAlign: 'Align cell content',\n verticalSeparator: 'Vertical separator',\n align: {\n left: 'Left',\n center: 'Center',\n right: 'Right'\n }\n }\n }\n }\n};\n","export const frTranslations = {\n '@pry': {\n widget: {\n table: {\n addColumn: 'Ajouter une colonne',\n deleteColumn: 'Supprimer',\n property: 'Propriété à afficher',\n label: 'Libellé de la colonne',\n empty: 'Aucune donnée à afficher',\n description: 'Eléments du jeu de données',\n remaining: '{{remaining}} pages restant à charger',\n headerTextAlign: \"Alignement de l'en-tête :\",\n cellTextAlign: 'Alignement du contenu :',\n verticalSeparator: 'Séparateur vertical :',\n align: {\n left: 'Gauche',\n center: 'Centre',\n right: 'Droite'\n }\n }\n }\n }\n};\n","import { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { NgModule, Type } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport {\n BaseWidgetComponent,\n BaseWidgetModule,\n PryCoreModule,\n PryDashboardModule,\n PryI18nModule,\n PryI18nService,\n PryIconModule,\n PrySelectModule,\n PryToggleModule\n} from '@provoly/dashboard';\nimport { PryCheckboxModule } from '@provoly/dashboard/components/checkbox';\nimport { WidgetTableComponent } from './component/widget-table.component';\nimport { DetachRowDirective } from './expand-value/detach-row.directive';\nimport { ExpandValueComponent } from './expand-value/expand-value.component';\nimport { GetValuePipe } from './get-value/get-value.pipe';\nimport { enTranslations } from './i18n/en.translations';\nimport { frTranslations } from './i18n/fr.translations';\nimport { ResizableComponent } from './resizable/resizable.component';\nimport { ResizableDirective } from './resizable/resizable.directive';\nimport { PryWidgetTableCssComponent } from './style/css.component';\nimport { PryDataFormatModule } from '@provoly/dashboard/components/data-format';\nimport { PryPaginatorModule } from '@provoly/dashboard/components/paginator';\n\n@NgModule({\n declarations: [\n WidgetTableComponent,\n GetValuePipe,\n ResizableComponent,\n ResizableDirective,\n PryWidgetTableCssComponent,\n ExpandValueComponent,\n DetachRowDirective\n ],\n imports: [\n CommonModule,\n FormsModule,\n OverlayModule,\n PryCoreModule,\n PryDashboardModule,\n PrySelectModule,\n PryIconModule,\n PryCheckboxModule,\n PryToggleModule,\n PryI18nModule,\n PryDataFormatModule,\n PryPaginatorModule\n ],\n exports: [WidgetTableComponent, ExpandValueComponent, GetValuePipe]\n})\nexport class WidgetTableModule extends BaseWidgetModule {\n constructor(private pryTranslateService: PryI18nService) {\n super();\n this.pryTranslateService.addLangObject('fr', 'widget-table', frTranslations);\n this.pryTranslateService.addLangObject('en', 'widget-table', enTranslations);\n }\n\n override getComponent() {\n return WidgetTableComponent as Type<BaseWidgetComponent>;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.ResizableDirective","i1","i2","i7.ResizableComponent","i8.ResizableDirective","i9.PryWidgetTableCssComponent","i10.ExpandValueComponent","i11.DetachRowDirective","i12.GetValuePipe"],"mappings":"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"}
|
|
@@ -11419,6 +11419,7 @@ class BaseFilterComponent extends SubscriptionnerDirective {
|
|
|
11419
11419
|
constructor(store) {
|
|
11420
11420
|
super();
|
|
11421
11421
|
this.store = store;
|
|
11422
|
+
this.valueUpdated = new EventEmitter();
|
|
11422
11423
|
this.type = 'base';
|
|
11423
11424
|
}
|
|
11424
11425
|
ngOnInit() {
|
|
@@ -11426,6 +11427,7 @@ class BaseFilterComponent extends SubscriptionnerDirective {
|
|
|
11426
11427
|
}
|
|
11427
11428
|
updateFilter(value) {
|
|
11428
11429
|
this._value = value;
|
|
11430
|
+
this.valueUpdated.next(value);
|
|
11429
11431
|
}
|
|
11430
11432
|
validateFilters() {
|
|
11431
11433
|
if (this.filter) {
|
|
@@ -11439,13 +11441,15 @@ class BaseFilterComponent extends SubscriptionnerDirective {
|
|
|
11439
11441
|
}
|
|
11440
11442
|
}
|
|
11441
11443
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: BaseFilterComponent, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
11442
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: BaseFilterComponent, selector: "pry-base-filter", inputs: { filter: "filter" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
|
|
11444
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: BaseFilterComponent, selector: "pry-base-filter", inputs: { filter: "filter" }, outputs: { valueUpdated: "valueUpdated" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
|
|
11443
11445
|
}
|
|
11444
11446
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: BaseFilterComponent, decorators: [{
|
|
11445
11447
|
type: Component,
|
|
11446
11448
|
args: [{ selector: 'pry-base-filter', template: '' }]
|
|
11447
11449
|
}], ctorParameters: () => [{ type: i1.Store }], propDecorators: { filter: [{
|
|
11448
11450
|
type: Input
|
|
11451
|
+
}], valueUpdated: [{
|
|
11452
|
+
type: Output
|
|
11449
11453
|
}] } });
|
|
11450
11454
|
|
|
11451
11455
|
const FILTER_DEFINITION = new InjectionToken('Filter definition');
|
|
@@ -13184,7 +13188,8 @@ const components = [
|
|
|
13184
13188
|
FilterGroupComponent,
|
|
13185
13189
|
DatasourceSelectorComponent,
|
|
13186
13190
|
PryDatasourceCardComponent,
|
|
13187
|
-
PryDatasourceListComponent
|
|
13191
|
+
PryDatasourceListComponent,
|
|
13192
|
+
PryFilterGroupCssComponent
|
|
13188
13193
|
];
|
|
13189
13194
|
class PryDashboardModule {
|
|
13190
13195
|
static forRoot(widgetReference, options, tooltipReference, filterReference, additionalGridLayouts = []) {
|
|
@@ -13231,7 +13236,8 @@ class PryDashboardModule {
|
|
|
13231
13236
|
FilterGroupComponent,
|
|
13232
13237
|
DatasourceSelectorComponent,
|
|
13233
13238
|
PryDatasourceCardComponent,
|
|
13234
|
-
PryDatasourceListComponent,
|
|
13239
|
+
PryDatasourceListComponent,
|
|
13240
|
+
PryFilterGroupCssComponent], imports: [CommonModule,
|
|
13235
13241
|
FormsModule,
|
|
13236
13242
|
PrySelectModule,
|
|
13237
13243
|
PryIconModule,
|
|
@@ -13261,7 +13267,8 @@ class PryDashboardModule {
|
|
|
13261
13267
|
FilterGroupComponent,
|
|
13262
13268
|
DatasourceSelectorComponent,
|
|
13263
13269
|
PryDatasourceCardComponent,
|
|
13264
|
-
PryDatasourceListComponent
|
|
13270
|
+
PryDatasourceListComponent,
|
|
13271
|
+
PryFilterGroupCssComponent] }); }
|
|
13265
13272
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryDashboardModule, imports: [CommonModule,
|
|
13266
13273
|
FormsModule,
|
|
13267
13274
|
PrySelectModule,
|
|
@@ -13280,7 +13287,7 @@ class PryDashboardModule {
|
|
|
13280
13287
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryDashboardModule, decorators: [{
|
|
13281
13288
|
type: NgModule,
|
|
13282
13289
|
args: [{
|
|
13283
|
-
declarations: [...components
|
|
13290
|
+
declarations: [...components],
|
|
13284
13291
|
imports: [
|
|
13285
13292
|
CommonModule,
|
|
13286
13293
|
FormsModule,
|