UNPKG

@nakedobjects/gemini

Version:

Single Page Application client for a Naked Objects application.

31 lines 6.56 kB
import { Component, Input } from '@angular/core'; import { CollectionViewState } from '@nakedobjects/services'; import * as i0 from "@angular/core"; import * as i1 from "@angular/common"; import * as i2 from "@angular/forms"; export class HeaderComponent { collection; state; allSelected = () => this.collection.allSelected(); selectAll = () => this.collection.selectAll(); itemId = () => `${this.collection.name}${this.collection.onPaneId}-all`; noItems() { return !this.collection.items || this.collection.items.length === 0; } showAllCheckbox = () => !(this.collection.noActions() || this.noItems()); get header() { return this.state === CollectionViewState.Table ? this.collection.header : null; } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: HeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: HeaderComponent, selector: "[nof-header]", inputs: { collection: "collection", state: "state" }, ngImport: i0, template: "<th *ngIf=\"showAllCheckbox()\">\n <input type=\"checkbox\" [id]=\"itemId()\" [ngModel]=\"allSelected()\" (click)=\"selectAll()\" title=\"All\" />\n</th>\n<ng-container *ngIf=\"header\">\n <th *ngFor=\"let heading of header\" scope=\"col\">{{heading}}</th>\n</ng-container>\n", styles: ["th{font-size:var(--font-size-2);font-weight:var(--font-weight-1);text-align:left;padding-left:var(--space-3);padding-right:var(--space-3);vertical-align:top}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: HeaderComponent, decorators: [{ type: Component, args: [{ selector: '[nof-header]', template: "<th *ngIf=\"showAllCheckbox()\">\n <input type=\"checkbox\" [id]=\"itemId()\" [ngModel]=\"allSelected()\" (click)=\"selectAll()\" title=\"All\" />\n</th>\n<ng-container *ngIf=\"header\">\n <th *ngFor=\"let heading of header\" scope=\"col\">{{heading}}</th>\n</ng-container>\n", styles: ["th{font-size:var(--font-size-2);font-weight:var(--font-weight-1);text-align:left;padding-left:var(--space-3);padding-right:var(--space-3);vertical-align:top}\n"] }] }], propDecorators: { collection: [{ type: Input, args: [{ required: true }] }], state: [{ type: Input }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2dlbWluaS9zcmMvaGVhZGVyL2hlYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9nZW1pbmkvc3JjL2hlYWRlci9oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7QUFTN0QsTUFBTSxPQUFPLGVBQWU7SUFHeEIsVUFBVSxDQUF1QztJQUdqRCxLQUFLLENBQXVCO0lBRTVCLFdBQVcsR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ2xELFNBQVMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBRTlDLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxNQUFNLENBQUM7SUFFaEUsT0FBTztRQUNYLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFRCxlQUFlLEdBQUcsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUFFLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFFekUsSUFBSSxNQUFNO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxLQUFLLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNwRixDQUFDO3VHQXJCUSxlQUFlOzJGQUFmLGVBQWUsMEdDVjVCLDJSQU1BOzsyRkRJYSxlQUFlO2tCQU4zQixTQUFTOytCQUVJLGNBQWM7OEJBT3hCLFVBQVU7c0JBRFQsS0FBSzt1QkFBQyxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUM7Z0JBSXZCLEtBQUs7c0JBREosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbGxlY3Rpb25WaWV3U3RhdGUgfSBmcm9tICdAbmFrZWRvYmplY3RzL3NlcnZpY2VzJztcbmltcG9ydCB7IENvbGxlY3Rpb25WaWV3TW9kZWwsIExpc3RWaWV3TW9kZWwgfSBmcm9tICdAbmFrZWRvYmplY3RzL3ZpZXctbW9kZWxzJztcblxuQENvbXBvbmVudCh7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcbiAgICBzZWxlY3RvcjogJ1tub2YtaGVhZGVyXScsXG4gICAgdGVtcGxhdGVVcmw6ICdoZWFkZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWydoZWFkZXIuY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIEhlYWRlckNvbXBvbmVudCB7XG5cbiAgICBASW5wdXQoe3JlcXVpcmVkOiB0cnVlfSlcbiAgICBjb2xsZWN0aW9uITogQ29sbGVjdGlvblZpZXdNb2RlbCB8IExpc3RWaWV3TW9kZWw7XG5cbiAgICBASW5wdXQoKVxuICAgIHN0YXRlPzogQ29sbGVjdGlvblZpZXdTdGF0ZTtcblxuICAgIGFsbFNlbGVjdGVkID0gKCkgPT4gdGhpcy5jb2xsZWN0aW9uLmFsbFNlbGVjdGVkKCk7XG4gICAgc2VsZWN0QWxsID0gKCkgPT4gdGhpcy5jb2xsZWN0aW9uLnNlbGVjdEFsbCgpO1xuXG4gICAgaXRlbUlkID0gKCkgPT4gYCR7dGhpcy5jb2xsZWN0aW9uLm5hbWV9JHt0aGlzLmNvbGxlY3Rpb24ub25QYW5lSWR9LWFsbGA7XG5cbiAgICBwcml2YXRlIG5vSXRlbXMoKSB7XG4gICAgICAgIHJldHVybiAhdGhpcy5jb2xsZWN0aW9uLml0ZW1zIHx8IHRoaXMuY29sbGVjdGlvbi5pdGVtcy5sZW5ndGggPT09IDA7XG4gICAgfVxuXG4gICAgc2hvd0FsbENoZWNrYm94ID0gKCkgPT4gISh0aGlzLmNvbGxlY3Rpb24ubm9BY3Rpb25zKCkgfHwgdGhpcy5ub0l0ZW1zKCkpO1xuXG4gICAgZ2V0IGhlYWRlcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RhdGUgPT09IENvbGxlY3Rpb25WaWV3U3RhdGUuVGFibGUgPyB0aGlzLmNvbGxlY3Rpb24uaGVhZGVyIDogbnVsbDtcbiAgICB9XG59XG4iLCI8dGggKm5nSWY9XCJzaG93QWxsQ2hlY2tib3goKVwiPlxuICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBbaWRdPVwiaXRlbUlkKClcIiBbbmdNb2RlbF09XCJhbGxTZWxlY3RlZCgpXCIgKGNsaWNrKT1cInNlbGVjdEFsbCgpXCIgdGl0bGU9XCJBbGxcIiAvPlxuPC90aD5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJoZWFkZXJcIj5cbiAgICA8dGggKm5nRm9yPVwibGV0IGhlYWRpbmcgb2YgaGVhZGVyXCIgc2NvcGU9XCJjb2xcIj57e2hlYWRpbmd9fTwvdGg+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==