formioangular-colfuturo
Version:
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 10.1.4.
69 lines • 11.9 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>\n <thead>\n <tr>\n <th *ngFor=\"let header of headers\">\n <a (click)=\"sort.emit(header)\">\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>\n </a>\n </th>\n </tr>\n </thead>\n</ng-template>\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>\n <thead>\n <tr>\n <th *ngFor=\"let header of headers\">\n <a (click)=\"sort.emit(header)\">\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>\n </a>\n </th>\n </tr>\n </thead>\n</ng-template>\n" }]
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3VibWlzc2lvbkdyaWRIZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1mb3JtaW8vZ3JpZC9zcmMvc3VibWlzc2lvbi9TdWJtaXNzaW9uR3JpZEhlYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWZvcm1pby9ncmlkL3NyYy9zdWJtaXNzaW9uL1N1Ym1pc3Npb25HcmlkSGVhZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV2RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7O0FBUzdELE1BQU0sT0FBTyw2QkFBOEIsU0FBUSxtQkFBbUI7SUFDcEUseUVBQXlFO0lBQ3pFLGNBQWMsQ0FBdUM7SUFFckQsSUFBSSxDQUFDLE1BQTRCLEVBQUUsS0FBVyxFQUFFLE9BQTJCO1FBQ3pFLEtBQUssR0FBRyxLQUFLLElBQUksRUFBRSxDQUFDO1FBQ3BCLE9BQU8sTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQWdCLEVBQUUsRUFBRTtZQUNsRSxJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksR0FBRyxFQUFtQyxDQUFDO1lBQ2pFLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ3BDLE9BQU87Z0JBQ0wsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtvQkFDekIsSUFBSSxDQUFDLFNBQVMsQ0FDWixJQUFJLENBQUMsa0JBQWtCLENBQ3JCLE1BQU0sRUFDTixJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQ3JDLENBQ0YsQ0FBQztnQkFDSixDQUFDLENBQUM7Z0JBQ0osQ0FBQyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7WUFFbkQsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQ3RCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFNBQVMsQ0FBQyxNQUFrQjtRQUMxQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQsa0JBQWtCLENBQ2hCLE1BQWtCLEVBQ2xCLFNBQW1DLEVBQ25DLElBQWU7UUFFZixPQUFPO1lBQ0wsS0FBSyxFQUFFLE1BQU0sQ0FBQyxLQUFLO1lBQ25CLEdBQUcsRUFBRSxNQUFNLENBQUMsSUFBSTtZQUNoQixJQUFJLEVBQUUsSUFBSTtZQUNWLFNBQVMsRUFBRSxTQUFTO2dCQUNsQixDQUFDLENBQUUsVUFBVSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBdUI7Z0JBQ2pFLENBQUMsQ0FBQyxTQUFTO1lBQ2IsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsU0FBUztTQUNuRCxDQUFDO0lBQ0osQ0FBQztJQUVELHFCQUFxQixDQUNuQixTQUFrQyxFQUNsQyxJQUFZLEVBQ1osSUFBZTtRQUVmLE9BQU87WUFDTCxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUs7WUFDdEIsR0FBRyxFQUFFLElBQUk7WUFDVCxJQUFJLEVBQUUsSUFBSTtZQUNWLFNBQVMsRUFBRSxTQUFTO2dCQUNsQixDQUFDLENBQUUsVUFBVSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBdUI7Z0JBQ2pFLENBQUMsQ0FBQyxTQUFTO1NBQ2QsQ0FBQztJQUNKLENBQUM7SUFDRCxrRUFBa0U7SUFDbEUsb0JBQW9CLENBQ2xCLFVBQWdELEVBQ2hELElBQWU7UUFFZixVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxFQUFFO1lBQ3JDLElBQ0UsU0FBUyxDQUFDLEtBQUs7Z0JBQ2YsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLElBQUksU0FBUyxDQUFDLFNBQVMsQ0FBQyxFQUMvRCxDQUFDO2dCQUNELElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUNwRSxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsaUJBQWlCO0lBQ2pCLGFBQWEsQ0FBQyxVQUFVO1FBQ3RCLEtBQUssQ0FBQyxhQUFhLENBQ2pCLFVBQVUsRUFDVixDQUFDLFNBQWtDLEVBQUUsT0FBZSxFQUFFLEVBQUU7WUFDdEQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsUUFBUSxPQUFPLEVBQUUsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUN4RCxDQUFDLENBQ0YsQ0FBQztJQUNKLENBQUM7d0dBbEZVLDZCQUE2Qjs0RkFBN0IsNkJBQTZCLDJFQ1oxQyxtWkFXQTs7NEZEQ2EsNkJBQTZCO2tCQUh6QyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFV0aWxzLCBDb21wb25lbnRzIH0gZnJvbSBcImZvcm1pb2pzLWNvbGZ1dHVyb1wiO1xuaW1wb3J0IHsgRXh0ZW5kZWRDb21wb25lbnRTY2hlbWEgfSBmcm9tIFwiQGZvcm1pby9kZXByZWNhdGVkLXR5cGVzXCI7XG5pbXBvcnQgeyBHcmlkSGVhZGVyQ29tcG9uZW50IH0gZnJvbSBcIi4uL0dyaWRIZWFkZXJDb21wb25lbnRcIjtcbmltcG9ydCB7IEZvcm1pb1Byb21pc2VTZXJ2aWNlIH0gZnJvbSBcImZvcm1pb2FuZ3VsYXItY29sZnV0dXJvXCI7XG5pbXBvcnQgeyBDb21wb25lbnRJbnN0YW5jZSwgRm9ybWlvRm9ybSB9IGZyb20gXCJmb3JtaW9hbmd1bGFyLWNvbGZ1dHVyb1wiO1xuaW1wb3J0IHsgR3JpZENvbHVtbiB9IGZyb20gXCIuLi90eXBlcy9ncmlkLWNvbHVtblwiO1xuaW1wb3J0IHsgR3JpZEhlYWRlciwgU29ydFR5cGUgfSBmcm9tIFwiLi4vdHlwZXMvZ3JpZC1oZWFkZXJcIjtcblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlVXJsOiBcIi4vU3VibWlzc2lvbkdyaWRIZWFkZXIuY29tcG9uZW50Lmh0bWxcIixcbn0pXG5leHBvcnQgY2xhc3MgU3VibWlzc2lvbkdyaWRIZWFkZXJDb21wb25lbnQgZXh0ZW5kcyBHcmlkSGVhZGVyQ29tcG9uZW50IHtcbiAgLy8gTWFwIHN0cnVjdHVyZSB3aGVyZSB0aGUga2V5IGlzIHRoZSBwYXRoIGFuZCB0aGUgdmFsdWUgaXMgdGhlIGNvbXBvbmVudFxuICBmb3JtQ29tcG9uZW50czogTWFwPHN0cmluZywgRXh0ZW5kZWRDb21wb25lbnRTY2hlbWE+O1xuXG4gIGxvYWQoZm9ybWlvOiBGb3JtaW9Qcm9taXNlU2VydmljZSwgcXVlcnk/OiBhbnksIGNvbHVtbnM/OiBBcnJheTxHcmlkQ29sdW1uPikge1xuICAgIHF1ZXJ5ID0gcXVlcnkgfHwge307XG4gICAgcmV0dXJuIGZvcm1pby5sb2FkRm9ybSh7IHBhcmFtczogcXVlcnkgfSkudGhlbigoZm9ybTogRm9ybWlvRm9ybSkgPT4ge1xuICAgICAgdGhpcy5oZWFkZXJzID0gW107XG4gICAgICB0aGlzLmZvcm1Db21wb25lbnRzID0gbmV3IE1hcDxzdHJpbmcsIEV4dGVuZGVkQ29tcG9uZW50U2NoZW1hPigpO1xuICAgICAgdGhpcy5zZXRDb21wb25lbnRzKGZvcm0uY29tcG9uZW50cyk7XG4gICAgICBjb2x1bW5zXG4gICAgICAgID8gY29sdW1ucy5mb3JFYWNoKChjb2x1bW4pID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2V0SGVhZGVyKFxuICAgICAgICAgICAgICB0aGlzLmdldEhlYWRlckZvckNvbHVtbihcbiAgICAgICAgICAgICAgICBjb2x1bW4sXG4gICAgICAgICAgICAgICAgdGhpcy5mb3JtQ29tcG9uZW50cy5nZXQoY29sdW1uLnBhdGgpXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSlcbiAgICAgICAgOiB0aGlzLnNldENvbXBvbmVudHNIZWFkZXJzKHRoaXMuZm9ybUNvbXBvbmVudHMpO1xuXG4gICAgICByZXR1cm4gdGhpcy5oZWFkZXJzO1xuICAgIH0pO1xuICB9XG5cbiAgc2V0SGVhZGVyKGhlYWRlcjogR3JpZEhlYWRlcikge1xuICAgIHRoaXMuaGVhZGVycy5wdXNoKGhlYWRlcik7XG4gIH1cblxuICBnZXRIZWFkZXJGb3JDb2x1bW4oXG4gICAgY29sdW1uOiBHcmlkQ29sdW1uLFxuICAgIGNvbXBvbmVudD86IEV4dGVuZGVkQ29tcG9uZW50U2NoZW1hLFxuICAgIHNvcnQ/OiBTb3J0VHlwZVxuICApIHtcbiAgICByZXR1cm4ge1xuICAgICAgbGFiZWw6IGNvbHVtbi5sYWJlbCxcbiAgICAgIGtleTogY29sdW1uLnBhdGgsXG4gICAgICBzb3J0OiBzb3J0LFxuICAgICAgY29tcG9uZW50OiBjb21wb25lbnRcbiAgICAgICAgPyAoQ29tcG9uZW50cy5jcmVhdGUoY29tcG9uZW50LCBudWxsLCBudWxsKSBhcyBDb21wb25lbnRJbnN0YW5jZSlcbiAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICByZW5kZXJDZWxsOiBjb2x1bW4gPyBjb2x1bW4ucmVuZGVyQ2VsbCA6IHVuZGVmaW5lZCxcbiAgICB9O1xuICB9XG5cbiAgZ2V0SGVhZGVyRm9yQ29tcG9uZW50KFxuICAgIGNvbXBvbmVudDogRXh0ZW5kZWRDb21wb25lbnRTY2hlbWEsXG4gICAgcGF0aDogc3RyaW5nLFxuICAgIHNvcnQ/OiBTb3J0VHlwZVxuICApIHtcbiAgICByZXR1cm4ge1xuICAgICAgbGFiZWw6IGNvbXBvbmVudC5sYWJlbCxcbiAgICAgIGtleTogcGF0aCxcbiAgICAgIHNvcnQ6IHNvcnQsXG4gICAgICBjb21wb25lbnQ6IGNvbXBvbmVudFxuICAgICAgICA/IChDb21wb25lbnRzLmNyZWF0ZShjb21wb25lbnQsIG51bGwsIG51bGwpIGFzIENvbXBvbmVudEluc3RhbmNlKVxuICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICB9O1xuICB9XG4gIC8vIFNldCBoZWFkZXJzIGZyb20gY29tcG9uZW50cyBpbiBjYXNlIGlmIGNvbHVtbnMgYXJlIG5vdCBwcm92aWRlZFxuICBzZXRDb21wb25lbnRzSGVhZGVycyhcbiAgICBjb21wb25lbnRzOiBNYXA8c3RyaW5nLCBFeHRlbmRlZENvbXBvbmVudFNjaGVtYT4sXG4gICAgc29ydD86IFNvcnRUeXBlXG4gICkge1xuICAgIGNvbXBvbmVudHMuZm9yRWFjaCgoY29tcG9uZW50LCBwYXRoKSA9PiB7XG4gICAgICBpZiAoXG4gICAgICAgIGNvbXBvbmVudC5pbnB1dCAmJlxuICAgICAgICAoIWNvbXBvbmVudC5oYXNPd25Qcm9wZXJ0eShcInRhYmxlVmlld1wiKSB8fCBjb21wb25lbnQudGFibGVWaWV3KVxuICAgICAgKSB7XG4gICAgICAgIHRoaXMuc2V0SGVhZGVyKHRoaXMuZ2V0SGVhZGVyRm9yQ29tcG9uZW50KGNvbXBvbmVudCwgcGF0aCwgc29ydCkpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLy8gTWFwIGNvbXBvbmVudHNcbiAgc2V0Q29tcG9uZW50cyhjb21wb25lbnRzKSB7XG4gICAgVXRpbHMuZWFjaENvbXBvbmVudChcbiAgICAgIGNvbXBvbmVudHMsXG4gICAgICAoY29tcG9uZW50OiBFeHRlbmRlZENvbXBvbmVudFNjaGVtYSwgbmV3UGF0aDogc3RyaW5nKSA9PiB7XG4gICAgICAgIHRoaXMuZm9ybUNvbXBvbmVudHMuc2V0KGBkYXRhLiR7bmV3UGF0aH1gLCBjb21wb25lbnQpO1xuICAgICAgfVxuICAgICk7XG4gIH1cbn1cbiIsIjxuZy10ZW1wbGF0ZT5cbiAgPHRoZWFkPlxuICAgIDx0cj5cbiAgICAgIDx0aCAqbmdGb3I9XCJsZXQgaGVhZGVyIG9mIGhlYWRlcnNcIj5cbiAgICAgICAgPGEgKGNsaWNrKT1cInNvcnQuZW1pdChoZWFkZXIpXCI+XG4gICAgICAgICAge3sgaGVhZGVyLmxhYmVsIH19Jm5ic3A7PHNwYW4gW25nQ2xhc3NdPVwieydmYS1jYXJldC11cCBiaS1jYXJldC11cCc6IChoZWFkZXIuc29ydCA9PT0gJ2FzYycpLCAnZmEtY2FyZXQtZG93biBiaS1jYXJldC1kb3duJzogKGhlYWRlci5zb3J0ID09PSAnZGVzYycpfVwiIGNsYXNzPVwiZmEgYmlcIiAqbmdJZj1cImhlYWRlci5zb3J0XCI+PC9zcGFuPlxuICAgICAgICA8L2E+XG4gICAgICA8L3RoPlxuICAgIDwvdHI+XG4gIDwvdGhlYWQ+XG48L25nLXRlbXBsYXRlPlxuIl19