@nakedobjects/gemini
Version:
Single Page Application client for a Naked Objects application.
43 lines • 8.2 kB
JavaScript
import { Component, Input, ViewChildren } from '@angular/core';
import some from 'lodash-es/some';
import { EditParameterComponent } from '../edit-parameter/edit-parameter.component';
import * as i0 from "@angular/core";
import * as i1 from "@angular/common";
import * as i2 from "../edit-parameter/edit-parameter.component";
import * as i3 from "../view-parameter/view-parameter.component";
export class ParametersComponent {
parent;
form;
parameters;
parmComponents;
hasHint(parm) {
return parm?.presentationHint !== null && parm.presentationHint !== undefined;
}
classes = (parm) => ({ parameter: true, multilinedialog: this.parent.isMultiLineDialogRow, [parm.presentationHint]: this.hasHint(parm) });
focus() {
const parms = this.parmComponents;
if (parms && parms.length > 0) {
// until first element returns true
return some(parms.toArray(), i => i.focus());
}
return false;
}
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ParametersComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: ParametersComponent, selector: "nof-parameters", inputs: { parent: "parent", form: "form", parameters: "parameters" }, viewQueries: [{ propertyName: "parmComponents", predicate: EditParameterComponent, descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"form\"><nof-edit-parameter [ngClass]=\"classes(parm)\" *ngFor=\"let parm of parameters\" [parameter]=\"parm\" [parent]=\"parent\" [form]=\"form\"></nof-edit-parameter></ng-container>\n<ng-container *ngIf=\"!form\"><nof-view-parameter [ngClass]=\"classes(parm)\" *ngFor=\"let parm of parameters\" [parameter]=\"parm\" [parent]=\"parent\"></nof-view-parameter></ng-container>", styles: [":host{width:var(--field-width);padding:var(--space-3);margin-bottom:var(--space-5)}.co-validation{color:var(--warning-color)}:host.multilinedialog{width:auto}:host.multilinedialog .co-validation{vertical-align:top;margin-top:var(--space-1);margin-left:var(--space-1)}\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.EditParameterComponent, selector: "nof-edit-parameter", inputs: ["parent", "parameter", "form"] }, { kind: "component", type: i3.ViewParameterComponent, selector: "nof-view-parameter", inputs: ["parent", "parameter"] }] });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ParametersComponent, decorators: [{
type: Component,
args: [{ selector: 'nof-parameters', template: "<ng-container *ngIf=\"form\"><nof-edit-parameter [ngClass]=\"classes(parm)\" *ngFor=\"let parm of parameters\" [parameter]=\"parm\" [parent]=\"parent\" [form]=\"form\"></nof-edit-parameter></ng-container>\n<ng-container *ngIf=\"!form\"><nof-view-parameter [ngClass]=\"classes(parm)\" *ngFor=\"let parm of parameters\" [parameter]=\"parm\" [parent]=\"parent\"></nof-view-parameter></ng-container>", styles: [":host{width:var(--field-width);padding:var(--space-3);margin-bottom:var(--space-5)}.co-validation{color:var(--warning-color)}:host.multilinedialog{width:auto}:host.multilinedialog .co-validation{vertical-align:top;margin-top:var(--space-1);margin-left:var(--space-1)}\n"] }]
}], propDecorators: { parent: [{
type: Input,
args: [{ required: true }]
}], form: [{
type: Input
}], parameters: [{
type: Input,
args: [{ required: true }]
}], parmComponents: [{
type: ViewChildren,
args: [EditParameterComponent]
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVycy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9nZW1pbmkvc3JjL3BhcmFtZXRlcnMvcGFyYW1ldGVycy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9nZW1pbmkvc3JjL3BhcmFtZXRlcnMvcGFyYW1ldGVycy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBYSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHMUUsT0FBTyxJQUFJLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNENBQTRDLENBQUM7Ozs7O0FBT3BGLE1BQU0sT0FBTyxtQkFBbUI7SUFHNUIsTUFBTSxDQUFtQjtJQUd6QixJQUFJLENBQWE7SUFHakIsVUFBVSxDQUF3QjtJQUdsQyxjQUFjLENBQXFDO0lBRTNDLE9BQU8sQ0FBQyxJQUF3QjtRQUNwQyxPQUFPLElBQUksRUFBRSxnQkFBZ0IsS0FBSyxJQUFJLElBQUksSUFBSSxDQUFDLGdCQUFnQixLQUFLLFNBQVMsQ0FBQztJQUNsRixDQUFDO0lBRUQsT0FBTyxHQUFHLENBQUMsSUFBd0IsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFDLENBQUMsQ0FBQztJQUU3SixLQUFLO1FBQ0QsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUNsQyxJQUFJLEtBQUssSUFBSSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzVCLG1DQUFtQztZQUNuQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUNqRCxDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQzt1R0EzQlEsbUJBQW1COzJGQUFuQixtQkFBbUIsK0pBV2Qsc0JBQXNCLGdEQ3RCeEMsK1lBQ21MOzsyRkRVdEssbUJBQW1CO2tCQUwvQixTQUFTOytCQUNJLGdCQUFnQjs4QkFPMUIsTUFBTTtzQkFETCxLQUFLO3VCQUFDLEVBQUMsUUFBUSxFQUFHLElBQUksRUFBQztnQkFJeEIsSUFBSTtzQkFESCxLQUFLO2dCQUlOLFVBQVU7c0JBRFQsS0FBSzt1QkFBQyxFQUFDLFFBQVEsRUFBRyxJQUFJLEVBQUM7Z0JBSXhCLGNBQWM7c0JBRGIsWUFBWTt1QkFBQyxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBRdWVyeUxpc3QsIFZpZXdDaGlsZHJlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRGlhbG9nVmlld01vZGVsLCBQYXJhbWV0ZXJWaWV3TW9kZWwgfSBmcm9tICdAbmFrZWRvYmplY3RzL3ZpZXctbW9kZWxzJztcbmltcG9ydCBzb21lIGZyb20gJ2xvZGFzaC1lcy9zb21lJztcbmltcG9ydCB7IEVkaXRQYXJhbWV0ZXJDb21wb25lbnQgfSBmcm9tICcuLi9lZGl0LXBhcmFtZXRlci9lZGl0LXBhcmFtZXRlci5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25vZi1wYXJhbWV0ZXJzJyxcbiAgICB0ZW1wbGF0ZVVybDogJ3BhcmFtZXRlcnMuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWydwYXJhbWV0ZXJzLmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBQYXJhbWV0ZXJzQ29tcG9uZW50IHtcblxuICAgIEBJbnB1dCh7cmVxdWlyZWQgOiB0cnVlfSlcbiAgICBwYXJlbnQhOiBEaWFsb2dWaWV3TW9kZWw7XG5cbiAgICBASW5wdXQoKVxuICAgIGZvcm0/OiBGb3JtR3JvdXA7XG5cbiAgICBASW5wdXQoe3JlcXVpcmVkIDogdHJ1ZX0pXG4gICAgcGFyYW1ldGVycyE6IFBhcmFtZXRlclZpZXdNb2RlbFtdO1xuXG4gICAgQFZpZXdDaGlsZHJlbihFZGl0UGFyYW1ldGVyQ29tcG9uZW50KVxuICAgIHBhcm1Db21wb25lbnRzPzogUXVlcnlMaXN0PEVkaXRQYXJhbWV0ZXJDb21wb25lbnQ+O1xuXG4gICAgcHJpdmF0ZSBoYXNIaW50KHBhcm06IFBhcmFtZXRlclZpZXdNb2RlbCkge1xuICAgICAgICByZXR1cm4gcGFybT8ucHJlc2VudGF0aW9uSGludCAhPT0gbnVsbCAmJiBwYXJtLnByZXNlbnRhdGlvbkhpbnQgIT09IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBjbGFzc2VzID0gKHBhcm06IFBhcmFtZXRlclZpZXdNb2RlbCkgPT4gKHsgcGFyYW1ldGVyOiB0cnVlLCBtdWx0aWxpbmVkaWFsb2c6IHRoaXMucGFyZW50LmlzTXVsdGlMaW5lRGlhbG9nUm93LCBbcGFybS5wcmVzZW50YXRpb25IaW50XTogdGhpcy5oYXNIaW50KHBhcm0pfSk7XG5cbiAgICBmb2N1cygpIHtcbiAgICAgICAgY29uc3QgcGFybXMgPSB0aGlzLnBhcm1Db21wb25lbnRzO1xuICAgICAgICBpZiAocGFybXMgJiYgcGFybXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgLy8gdW50aWwgZmlyc3QgZWxlbWVudCByZXR1cm5zIHRydWVcbiAgICAgICAgICAgIHJldHVybiBzb21lKHBhcm1zLnRvQXJyYXkoKSwgaSA9PiBpLmZvY3VzKCkpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG59XG4iLCI8bmctY29udGFpbmVyICAqbmdJZj1cImZvcm1cIj48bm9mLWVkaXQtcGFyYW1ldGVyICBbbmdDbGFzc109XCJjbGFzc2VzKHBhcm0pXCIgKm5nRm9yPVwibGV0IHBhcm0gb2YgcGFyYW1ldGVyc1wiIFtwYXJhbWV0ZXJdPVwicGFybVwiIFtwYXJlbnRdPVwicGFyZW50XCIgW2Zvcm1dPVwiZm9ybVwiPjwvbm9mLWVkaXQtcGFyYW1ldGVyPjwvbmctY29udGFpbmVyPlxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFmb3JtXCI+PG5vZi12aWV3LXBhcmFtZXRlciBbbmdDbGFzc109XCJjbGFzc2VzKHBhcm0pXCIgKm5nRm9yPVwibGV0IHBhcm0gb2YgcGFyYW1ldGVyc1wiIFtwYXJhbWV0ZXJdPVwicGFybVwiIFtwYXJlbnRdPVwicGFyZW50XCI+PC9ub2Ytdmlldy1wYXJhbWV0ZXI+PC9uZy1jb250YWluZXI+Il19