UNPKG

@nakedobjects/gemini

Version:

Single Page Application client for a Naked Objects application.

42 lines 6.96 kB
import { Component, Input, ViewChildren } from '@angular/core'; import some from 'lodash-es/some'; import { EditPropertyComponent } from '../edit-property/edit-property.component'; import * as i0 from "@angular/core"; import * as i1 from "@angular/common"; import * as i2 from "../edit-property/edit-property.component"; import * as i3 from "../view-property/view-property.component"; export class PropertiesComponent { parent; form; properties; propComponents; classes(prop) { const hint = prop.presentationHint ?? ''; return `property ${hint}`.trim(); } focus() { const prop = this.propComponents; if (prop && prop.length > 0) { // until first element returns true return some(prop.toArray(), i => i.focus()); } return false; } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: PropertiesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: PropertiesComponent, selector: "nof-properties", inputs: { parent: "parent", form: "form", properties: "properties" }, viewQueries: [{ propertyName: "propComponents", predicate: EditPropertyComponent, descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"form\"><nof-edit-property [ngClass]=\"classes(prop)\" *ngFor=\"let prop of properties\" [property]=\"prop\" [parent]=\"parent\" [form]=\"form\"></nof-edit-property></ng-container>\n<ng-container *ngIf=\"!form\"><nof-view-property [ngClass]=\"classes(prop)\" *ngFor=\"let prop of properties\" [property]=\"prop\"></nof-view-property></ng-container>\n\n", styles: [":host{width:var(--field-width);display:block}\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"] }, { kind: "component", type: i2.EditPropertyComponent, selector: "nof-edit-property", inputs: ["parent", "property", "form"] }, { kind: "component", type: i3.ViewPropertyComponent, selector: "nof-view-property", inputs: ["property", "propertyName"] }] }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: PropertiesComponent, decorators: [{ type: Component, args: [{ selector: 'nof-properties', template: "<ng-container *ngIf=\"form\"><nof-edit-property [ngClass]=\"classes(prop)\" *ngFor=\"let prop of properties\" [property]=\"prop\" [parent]=\"parent\" [form]=\"form\"></nof-edit-property></ng-container>\n<ng-container *ngIf=\"!form\"><nof-view-property [ngClass]=\"classes(prop)\" *ngFor=\"let prop of properties\" [property]=\"prop\"></nof-view-property></ng-container>\n\n", styles: [":host{width:var(--field-width);display:block}\n"] }] }], propDecorators: { parent: [{ type: Input }], form: [{ type: Input }], properties: [{ type: Input, args: [{ required: true }] }], propComponents: [{ type: ViewChildren, args: [EditPropertyComponent] }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydGllcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9nZW1pbmkvc3JjL3Byb3BlcnRpZXMvcHJvcGVydGllcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9nZW1pbmkvc3JjL3Byb3BlcnRpZXMvcHJvcGVydGllcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBYSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHMUUsT0FBTyxJQUFJLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMENBQTBDLENBQUM7Ozs7O0FBT2pGLE1BQU0sT0FBTyxtQkFBbUI7SUFHNUIsTUFBTSxDQUF5QjtJQUcvQixJQUFJLENBQWE7SUFHakIsVUFBVSxDQUF1QjtJQUdqQyxjQUFjLENBQW9DO0lBRWxELE9BQU8sQ0FBQyxJQUF1QjtRQUMzQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsZ0JBQWdCLElBQUksRUFBRSxDQUFDO1FBQ3pDLE9BQU8sWUFBWSxJQUFJLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRUQsS0FBSztRQUNELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7UUFDakMsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUMxQixtQ0FBbUM7WUFDbkMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDaEQsQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7dUdBMUJRLG1CQUFtQjsyRkFBbkIsbUJBQW1CLCtKQVdkLHFCQUFxQixnREN0QnZDLHVYQUdBOzsyRkRRYSxtQkFBbUI7a0JBTC9CLFNBQVM7K0JBQ0ksZ0JBQWdCOzhCQU8xQixNQUFNO3NCQURMLEtBQUs7Z0JBSU4sSUFBSTtzQkFESCxLQUFLO2dCQUlOLFVBQVU7c0JBRFQsS0FBSzt1QkFBQyxFQUFDLFFBQVEsRUFBRyxJQUFJLEVBQUM7Z0JBSXhCLGNBQWM7c0JBRGIsWUFBWTt1QkFBQyxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBRdWVyeUxpc3QsIFZpZXdDaGlsZHJlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRG9tYWluT2JqZWN0Vmlld01vZGVsLCBQcm9wZXJ0eVZpZXdNb2RlbCB9IGZyb20gJ0BuYWtlZG9iamVjdHMvdmlldy1tb2RlbHMnO1xuaW1wb3J0IHNvbWUgZnJvbSAnbG9kYXNoLWVzL3NvbWUnO1xuaW1wb3J0IHsgRWRpdFByb3BlcnR5Q29tcG9uZW50IH0gZnJvbSAnLi4vZWRpdC1wcm9wZXJ0eS9lZGl0LXByb3BlcnR5LmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbm9mLXByb3BlcnRpZXMnLFxuICAgIHRlbXBsYXRlVXJsOiAncHJvcGVydGllcy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJ3Byb3BlcnRpZXMuY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIFByb3BlcnRpZXNDb21wb25lbnQge1xuXG4gICAgQElucHV0KClcbiAgICBwYXJlbnQ/OiBEb21haW5PYmplY3RWaWV3TW9kZWw7XG5cbiAgICBASW5wdXQoKVxuICAgIGZvcm0/OiBGb3JtR3JvdXA7XG5cbiAgICBASW5wdXQoe3JlcXVpcmVkIDogdHJ1ZX0pXG4gICAgcHJvcGVydGllcyE6IFByb3BlcnR5Vmlld01vZGVsW107XG5cbiAgICBAVmlld0NoaWxkcmVuKEVkaXRQcm9wZXJ0eUNvbXBvbmVudClcbiAgICBwcm9wQ29tcG9uZW50cz86IFF1ZXJ5TGlzdDxFZGl0UHJvcGVydHlDb21wb25lbnQ+O1xuXG4gICAgY2xhc3Nlcyhwcm9wOiBQcm9wZXJ0eVZpZXdNb2RlbCkge1xuICAgICAgICBjb25zdCBoaW50ID0gcHJvcC5wcmVzZW50YXRpb25IaW50ID8/ICcnO1xuICAgICAgICByZXR1cm4gYHByb3BlcnR5ICR7aGludH1gLnRyaW0oKTtcbiAgICB9XG5cbiAgICBmb2N1cygpIHtcbiAgICAgICAgY29uc3QgcHJvcCA9IHRoaXMucHJvcENvbXBvbmVudHM7XG4gICAgICAgIGlmIChwcm9wICYmIHByb3AubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgLy8gdW50aWwgZmlyc3QgZWxlbWVudCByZXR1cm5zIHRydWVcbiAgICAgICAgICAgIHJldHVybiBzb21lKHByb3AudG9BcnJheSgpLCBpID0+IGkuZm9jdXMoKSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJmb3JtXCI+PG5vZi1lZGl0LXByb3BlcnR5IFtuZ0NsYXNzXT1cImNsYXNzZXMocHJvcClcIiAqbmdGb3I9XCJsZXQgcHJvcCBvZiBwcm9wZXJ0aWVzXCIgW3Byb3BlcnR5XT1cInByb3BcIiBbcGFyZW50XT1cInBhcmVudFwiIFtmb3JtXT1cImZvcm1cIj48L25vZi1lZGl0LXByb3BlcnR5PjwvbmctY29udGFpbmVyPlxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFmb3JtXCI+PG5vZi12aWV3LXByb3BlcnR5IFtuZ0NsYXNzXT1cImNsYXNzZXMocHJvcClcIiAqbmdGb3I9XCJsZXQgcHJvcCBvZiBwcm9wZXJ0aWVzXCIgW3Byb3BlcnR5XT1cInByb3BcIj48L25vZi12aWV3LXByb3BlcnR5PjwvbmctY29udGFpbmVyPlxuXG4iXX0=