formioangular-colfuturo
Version:
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 10.1.4.
69 lines • 12.2 kB
JavaScript
import { Component } from "@angular/core";
import { Utils, Components } from "formiojs-colfuturo";
import { GridHeaderComponent } from "../GridHeaderComponent";
import * as i0 from "@angular/core";
import * as i1 from "@angular/common";
export class SubmissionGridHeaderComponent extends GridHeaderComponent {
// Map structure where the key is the path and the value is the component
formComponents;
load(formio, query, columns) {
query = query || {};
return formio.loadForm({ params: query }).then((form) => {
this.headers = [];
this.formComponents = new Map();
this.setComponents(form.components);
columns
? columns.forEach((column) => {
this.setHeader(this.getHeaderForColumn(column, this.formComponents.get(column.path)));
})
: this.setComponentsHeaders(this.formComponents);
return this.headers;
});
}
setHeader(header) {
this.headers.push(header);
}
getHeaderForColumn(column, component, sort) {
return {
label: column.label,
key: column.path,
sort: sort,
component: component
? Components.create(component, null, null)
: undefined,
renderCell: column ? column.renderCell : undefined,
};
}
getHeaderForComponent(component, path, sort) {
return {
label: component.label,
key: path,
sort: sort,
component: component
? Components.create(component, null, null)
: undefined,
};
}
// Set headers from components in case if columns are not provided
setComponentsHeaders(components, sort) {
components.forEach((component, path) => {
if (component.input &&
(!component.hasOwnProperty("tableView") || component.tableView)) {
this.setHeader(this.getHeaderForComponent(component, path, sort));
}
});
}
// Map components
setComponents(components) {
Utils.eachComponent(components, (component, newPath) => {
this.formComponents.set(`data.${newPath}`, component);
});
}
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SubmissionGridHeaderComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SubmissionGridHeaderComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<ng-template>\r\n <thead>\r\n <tr>\r\n <th *ngFor=\"let header of headers\">\r\n <a (click)=\"sort.emit(header)\">\r\n {{ header.label }} <span [ngClass]=\"{'fa-caret-up bi-caret-up': (header.sort === 'asc'), 'fa-caret-down bi-caret-down': (header.sort === 'desc')}\" class=\"fa bi\" *ngIf=\"header.sort\"></span>\r\n </a>\r\n </th>\r\n </tr>\r\n </thead>\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SubmissionGridHeaderComponent, decorators: [{
type: Component,
args: [{ template: "<ng-template>\r\n <thead>\r\n <tr>\r\n <th *ngFor=\"let header of headers\">\r\n <a (click)=\"sort.emit(header)\">\r\n {{ header.label }} <span [ngClass]=\"{'fa-caret-up bi-caret-up': (header.sort === 'asc'), 'fa-caret-down bi-caret-down': (header.sort === 'desc')}\" class=\"fa bi\" *ngIf=\"header.sort\"></span>\r\n </a>\r\n </th>\r\n </tr>\r\n </thead>\r\n</ng-template>\r\n" }]
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3VibWlzc2lvbkdyaWRIZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1mb3JtaW8vZ3JpZC9zcmMvc3VibWlzc2lvbi9TdWJtaXNzaW9uR3JpZEhlYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWZvcm1pby9ncmlkL3NyYy9zdWJtaXNzaW9uL1N1Ym1pc3Npb25HcmlkSGVhZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV2RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7O0FBUzdELE1BQU0sT0FBTyw2QkFBOEIsU0FBUSxtQkFBbUI7SUFDcEUseUVBQXlFO0lBQ3pFLGNBQWMsQ0FBdUM7SUFFckQsSUFBSSxDQUFDLE1BQTRCLEVBQUUsS0FBVyxFQUFFLE9BQTJCO1FBQ3pFLEtBQUssR0FBRyxLQUFLLElBQUksRUFBRSxDQUFDO1FBQ3BCLE9BQU8sTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQWdCLEVBQUUsRUFBRTtZQUNsRSxJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksR0FBRyxFQUFtQyxDQUFDO1lBQ2pFLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ3BDLE9BQU87Z0JBQ0wsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtvQkFDekIsSUFBSSxDQUFDLFNBQVMsQ0FDWixJQUFJLENBQUMsa0JBQWtCLENBQ3JCLE1BQU0sRUFDTixJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQ3JDLENBQ0YsQ0FBQztnQkFDSixDQUFDLENBQUM7Z0JBQ0osQ0FBQyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7WUFFbkQsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQ3RCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFNBQVMsQ0FBQyxNQUFrQjtRQUMxQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQsa0JBQWtCLENBQ2hCLE1BQWtCLEVBQ2xCLFNBQW1DLEVBQ25DLElBQWU7UUFFZixPQUFPO1lBQ0wsS0FBSyxFQUFFLE1BQU0sQ0FBQyxLQUFLO1lBQ25CLEdBQUcsRUFBRSxNQUFNLENBQUMsSUFBSTtZQUNoQixJQUFJLEVBQUUsSUFBSTtZQUNWLFNBQVMsRUFBRSxTQUFTO2dCQUNsQixDQUFDLENBQUUsVUFBVSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBdUI7Z0JBQ2pFLENBQUMsQ0FBQyxTQUFTO1lBQ2IsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsU0FBUztTQUNuRCxDQUFDO0lBQ0osQ0FBQztJQUVELHFCQUFxQixDQUNuQixTQUFrQyxFQUNsQyxJQUFZLEVBQ1osSUFBZTtRQUVmLE9BQU87WUFDTCxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUs7WUFDdEIsR0FBRyxFQUFFLElBQUk7WUFDVCxJQUFJLEVBQUUsSUFBSTtZQUNWLFNBQVMsRUFBRSxTQUFTO2dCQUNsQixDQUFDLENBQUUsVUFBVSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBdUI7Z0JBQ2pFLENBQUMsQ0FBQyxTQUFTO1NBQ2QsQ0FBQztJQUNKLENBQUM7SUFDRCxrRUFBa0U7SUFDbEUsb0JBQW9CLENBQ2xCLFVBQWdELEVBQ2hELElBQWU7UUFFZixVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxFQUFFO1lBQ3JDLElBQ0UsU0FBUyxDQUFDLEtBQUs7Z0JBQ2YsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLElBQUksU0FBUyxDQUFDLFNBQVMsQ0FBQyxFQUMvRCxDQUFDO2dCQUNELElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUNwRSxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsaUJBQWlCO0lBQ2pCLGFBQWEsQ0FBQyxVQUFVO1FBQ3RCLEtBQUssQ0FBQyxhQUFhLENBQ2pCLFVBQVUsRUFDVixDQUFDLFNBQWtDLEVBQUUsT0FBZSxFQUFFLEVBQUU7WUFDdEQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsUUFBUSxPQUFPLEVBQUUsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUN4RCxDQUFDLENBQ0YsQ0FBQztJQUNKLENBQUM7d0dBbEZVLDZCQUE2Qjs0RkFBN0IsNkJBQTZCLDJFQ1oxQyx5YUFXQTs7NEZEQ2EsNkJBQTZCO2tCQUh6QyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgVXRpbHMsIENvbXBvbmVudHMgfSBmcm9tIFwiZm9ybWlvanMtY29sZnV0dXJvXCI7XHJcbmltcG9ydCB7IEV4dGVuZGVkQ29tcG9uZW50U2NoZW1hIH0gZnJvbSBcIkBmb3JtaW8vZGVwcmVjYXRlZC10eXBlc1wiO1xyXG5pbXBvcnQgeyBHcmlkSGVhZGVyQ29tcG9uZW50IH0gZnJvbSBcIi4uL0dyaWRIZWFkZXJDb21wb25lbnRcIjtcclxuaW1wb3J0IHsgRm9ybWlvUHJvbWlzZVNlcnZpY2UgfSBmcm9tIFwiZm9ybWlvYW5ndWxhci1jb2xmdXR1cm9cIjtcclxuaW1wb3J0IHsgQ29tcG9uZW50SW5zdGFuY2UsIEZvcm1pb0Zvcm0gfSBmcm9tIFwiZm9ybWlvYW5ndWxhci1jb2xmdXR1cm9cIjtcclxuaW1wb3J0IHsgR3JpZENvbHVtbiB9IGZyb20gXCIuLi90eXBlcy9ncmlkLWNvbHVtblwiO1xyXG5pbXBvcnQgeyBHcmlkSGVhZGVyLCBTb3J0VHlwZSB9IGZyb20gXCIuLi90eXBlcy9ncmlkLWhlYWRlclwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgdGVtcGxhdGVVcmw6IFwiLi9TdWJtaXNzaW9uR3JpZEhlYWRlci5jb21wb25lbnQuaHRtbFwiLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU3VibWlzc2lvbkdyaWRIZWFkZXJDb21wb25lbnQgZXh0ZW5kcyBHcmlkSGVhZGVyQ29tcG9uZW50IHtcclxuICAvLyBNYXAgc3RydWN0dXJlIHdoZXJlIHRoZSBrZXkgaXMgdGhlIHBhdGggYW5kIHRoZSB2YWx1ZSBpcyB0aGUgY29tcG9uZW50XHJcbiAgZm9ybUNvbXBvbmVudHM6IE1hcDxzdHJpbmcsIEV4dGVuZGVkQ29tcG9uZW50U2NoZW1hPjtcclxuXHJcbiAgbG9hZChmb3JtaW86IEZvcm1pb1Byb21pc2VTZXJ2aWNlLCBxdWVyeT86IGFueSwgY29sdW1ucz86IEFycmF5PEdyaWRDb2x1bW4+KSB7XHJcbiAgICBxdWVyeSA9IHF1ZXJ5IHx8IHt9O1xyXG4gICAgcmV0dXJuIGZvcm1pby5sb2FkRm9ybSh7IHBhcmFtczogcXVlcnkgfSkudGhlbigoZm9ybTogRm9ybWlvRm9ybSkgPT4ge1xyXG4gICAgICB0aGlzLmhlYWRlcnMgPSBbXTtcclxuICAgICAgdGhpcy5mb3JtQ29tcG9uZW50cyA9IG5ldyBNYXA8c3RyaW5nLCBFeHRlbmRlZENvbXBvbmVudFNjaGVtYT4oKTtcclxuICAgICAgdGhpcy5zZXRDb21wb25lbnRzKGZvcm0uY29tcG9uZW50cyk7XHJcbiAgICAgIGNvbHVtbnNcclxuICAgICAgICA/IGNvbHVtbnMuZm9yRWFjaCgoY29sdW1uKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0SGVhZGVyKFxyXG4gICAgICAgICAgICAgIHRoaXMuZ2V0SGVhZGVyRm9yQ29sdW1uKFxyXG4gICAgICAgICAgICAgICAgY29sdW1uLFxyXG4gICAgICAgICAgICAgICAgdGhpcy5mb3JtQ29tcG9uZW50cy5nZXQoY29sdW1uLnBhdGgpXHJcbiAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgfSlcclxuICAgICAgICA6IHRoaXMuc2V0Q29tcG9uZW50c0hlYWRlcnModGhpcy5mb3JtQ29tcG9uZW50cyk7XHJcblxyXG4gICAgICByZXR1cm4gdGhpcy5oZWFkZXJzO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzZXRIZWFkZXIoaGVhZGVyOiBHcmlkSGVhZGVyKSB7XHJcbiAgICB0aGlzLmhlYWRlcnMucHVzaChoZWFkZXIpO1xyXG4gIH1cclxuXHJcbiAgZ2V0SGVhZGVyRm9yQ29sdW1uKFxyXG4gICAgY29sdW1uOiBHcmlkQ29sdW1uLFxyXG4gICAgY29tcG9uZW50PzogRXh0ZW5kZWRDb21wb25lbnRTY2hlbWEsXHJcbiAgICBzb3J0PzogU29ydFR5cGVcclxuICApIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIGxhYmVsOiBjb2x1bW4ubGFiZWwsXHJcbiAgICAgIGtleTogY29sdW1uLnBhdGgsXHJcbiAgICAgIHNvcnQ6IHNvcnQsXHJcbiAgICAgIGNvbXBvbmVudDogY29tcG9uZW50XHJcbiAgICAgICAgPyAoQ29tcG9uZW50cy5jcmVhdGUoY29tcG9uZW50LCBudWxsLCBudWxsKSBhcyBDb21wb25lbnRJbnN0YW5jZSlcclxuICAgICAgICA6IHVuZGVmaW5lZCxcclxuICAgICAgcmVuZGVyQ2VsbDogY29sdW1uID8gY29sdW1uLnJlbmRlckNlbGwgOiB1bmRlZmluZWQsXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgZ2V0SGVhZGVyRm9yQ29tcG9uZW50KFxyXG4gICAgY29tcG9uZW50OiBFeHRlbmRlZENvbXBvbmVudFNjaGVtYSxcclxuICAgIHBhdGg6IHN0cmluZyxcclxuICAgIHNvcnQ/OiBTb3J0VHlwZVxyXG4gICkge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgbGFiZWw6IGNvbXBvbmVudC5sYWJlbCxcclxuICAgICAga2V5OiBwYXRoLFxyXG4gICAgICBzb3J0OiBzb3J0LFxyXG4gICAgICBjb21wb25lbnQ6IGNvbXBvbmVudFxyXG4gICAgICAgID8gKENvbXBvbmVudHMuY3JlYXRlKGNvbXBvbmVudCwgbnVsbCwgbnVsbCkgYXMgQ29tcG9uZW50SW5zdGFuY2UpXHJcbiAgICAgICAgOiB1bmRlZmluZWQsXHJcbiAgICB9O1xyXG4gIH1cclxuICAvLyBTZXQgaGVhZGVycyBmcm9tIGNvbXBvbmVudHMgaW4gY2FzZSBpZiBjb2x1bW5zIGFyZSBub3QgcHJvdmlkZWRcclxuICBzZXRDb21wb25lbnRzSGVhZGVycyhcclxuICAgIGNvbXBvbmVudHM6IE1hcDxzdHJpbmcsIEV4dGVuZGVkQ29tcG9uZW50U2NoZW1hPixcclxuICAgIHNvcnQ/OiBTb3J0VHlwZVxyXG4gICkge1xyXG4gICAgY29tcG9uZW50cy5mb3JFYWNoKChjb21wb25lbnQsIHBhdGgpID0+IHtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIGNvbXBvbmVudC5pbnB1dCAmJlxyXG4gICAgICAgICghY29tcG9uZW50Lmhhc093blByb3BlcnR5KFwidGFibGVWaWV3XCIpIHx8IGNvbXBvbmVudC50YWJsZVZpZXcpXHJcbiAgICAgICkge1xyXG4gICAgICAgIHRoaXMuc2V0SGVhZGVyKHRoaXMuZ2V0SGVhZGVyRm9yQ29tcG9uZW50KGNvbXBvbmVudCwgcGF0aCwgc29ydCkpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8vIE1hcCBjb21wb25lbnRzXHJcbiAgc2V0Q29tcG9uZW50cyhjb21wb25lbnRzKSB7XHJcbiAgICBVdGlscy5lYWNoQ29tcG9uZW50KFxyXG4gICAgICBjb21wb25lbnRzLFxyXG4gICAgICAoY29tcG9uZW50OiBFeHRlbmRlZENvbXBvbmVudFNjaGVtYSwgbmV3UGF0aDogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgdGhpcy5mb3JtQ29tcG9uZW50cy5zZXQoYGRhdGEuJHtuZXdQYXRofWAsIGNvbXBvbmVudCk7XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiIsIjxuZy10ZW1wbGF0ZT5cclxuICA8dGhlYWQ+XHJcbiAgICA8dHI+XHJcbiAgICAgIDx0aCAqbmdGb3I9XCJsZXQgaGVhZGVyIG9mIGhlYWRlcnNcIj5cclxuICAgICAgICA8YSAoY2xpY2spPVwic29ydC5lbWl0KGhlYWRlcilcIj5cclxuICAgICAgICAgIHt7IGhlYWRlci5sYWJlbCB9fSZuYnNwOzxzcGFuIFtuZ0NsYXNzXT1cInsnZmEtY2FyZXQtdXAgYmktY2FyZXQtdXAnOiAoaGVhZGVyLnNvcnQgPT09ICdhc2MnKSwgJ2ZhLWNhcmV0LWRvd24gYmktY2FyZXQtZG93bic6IChoZWFkZXIuc29ydCA9PT0gJ2Rlc2MnKX1cIiBjbGFzcz1cImZhIGJpXCIgKm5nSWY9XCJoZWFkZXIuc29ydFwiPjwvc3Bhbj5cclxuICAgICAgICA8L2E+XHJcbiAgICAgIDwvdGg+XHJcbiAgICA8L3RyPlxyXG4gIDwvdGhlYWQ+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==