UNPKG

@nakedobjects/gemini

Version:

Single Page Application client for a Naked Objects application.

44 lines 8.78 kB
import { Component } from '@angular/core'; import * as Ro from '@nakedobjects/restful-objects'; import { PaneComponent } from '../pane/pane'; import * as i0 from "@angular/core"; import * as i1 from "@angular/router"; import * as i2 from "@nakedobjects/services"; import * as i3 from "@nakedobjects/view-models"; import * as i4 from "@angular/common"; export class AttachmentComponent extends PaneComponent { viewModelFactory; error; configService; constructor(activatedRoute, urlManager, viewModelFactory, context, error, configService) { super(activatedRoute, urlManager, context); this.viewModelFactory = viewModelFactory; this.error = error; this.configService = configService; } // template API image; title = ''; setup(routeData) { const oid = Ro.ObjectIdWrapper.fromObjectId(routeData.objectId, this.configService.config.keySeparator); this.context.getObject(routeData.paneId, oid, routeData.interactionMode) .then((object) => { const attachmentId = routeData.attachmentId; const attachment = attachmentId ? object.propertyMember(attachmentId) : undefined; if (attachment) { const avm = this.viewModelFactory.attachmentViewModel(attachment, routeData.paneId); if (avm) { avm.setImage(this); } } }) .catch((reject) => this.error.handleError(reject)); } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: AttachmentComponent, deps: [{ token: i1.ActivatedRoute }, { token: i2.UrlManagerService }, { token: i3.ViewModelFactoryService }, { token: i2.ContextService }, { token: i2.ErrorService }, { token: i2.ConfigService }], target: i0.ɵɵFactoryTarget.Component }); static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: AttachmentComponent, selector: "nof-attachment", usesInheritance: true, ngImport: i0, template: "<div [attr.id]=\"paneIdName\" [ngClass]=\"paneType\">\n <div class=\"attachment view\">\n <div class=\"reference\">\n <img *ngIf=\"image\" src=\"{{image}}\" alt=\"{{title}}\" />\n </div>\n </div>\n</div>\n<router-outlet (activate)=\"onChild()\" (deactivate)=\"onChildless()\"></router-outlet>\n", styles: [".attachment{justify-content:center;align-items:center;display:flex;height:100%}img{max-width:100%;height:auto}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }] }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: AttachmentComponent, decorators: [{ type: Component, args: [{ selector: 'nof-attachment', template: "<div [attr.id]=\"paneIdName\" [ngClass]=\"paneType\">\n <div class=\"attachment view\">\n <div class=\"reference\">\n <img *ngIf=\"image\" src=\"{{image}}\" alt=\"{{title}}\" />\n </div>\n </div>\n</div>\n<router-outlet (activate)=\"onChild()\" (deactivate)=\"onChildless()\"></router-outlet>\n", styles: [".attachment{justify-content:center;align-items:center;display:flex;height:100%}img{max-width:100%;height:auto}\n"] }] }], ctorParameters: () => [{ type: i1.ActivatedRoute }, { type: i2.UrlManagerService }, { type: i3.ViewModelFactoryService }, { type: i2.ContextService }, { type: i2.ErrorService }, { type: i2.ConfigService }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0YWNobWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9nZW1pbmkvc3JjL2F0dGFjaG1lbnQvYXR0YWNobWVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9nZW1pbmkvc3JjL2F0dGFjaG1lbnQvYXR0YWNobWVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFDLE9BQU8sS0FBSyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFHcEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7Ozs7O0FBTzdDLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxhQUFhO0lBSzdCO0lBRUE7SUFDQTtJQU5yQixZQUNJLGNBQThCLEVBQzlCLFVBQTZCLEVBQ1osZ0JBQXlDLEVBQzFELE9BQXVCLEVBQ04sS0FBbUIsRUFDbkIsYUFBNEI7UUFFN0MsS0FBSyxDQUFDLGNBQWMsRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFMMUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUF5QjtRQUV6QyxVQUFLLEdBQUwsS0FBSyxDQUFjO1FBQ25CLGtCQUFhLEdBQWIsYUFBYSxDQUFlO0lBR2pELENBQUM7SUFFRCxlQUFlO0lBQ2YsS0FBSyxDQUFVO0lBQ2YsS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUVELEtBQUssQ0FBQyxTQUF3QjtRQUVwQyxNQUFNLEdBQUcsR0FBRyxFQUFFLENBQUMsZUFBZSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsUUFBUyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRXpHLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsQ0FBQyxlQUFnQixDQUFDO2FBQ3BFLElBQUksQ0FBQyxDQUFDLE1BQXFDLEVBQUUsRUFBRTtZQUU1QyxNQUFNLFlBQVksR0FBRyxTQUFTLENBQUMsWUFBWSxDQUFDO1lBQzVDLE1BQU0sVUFBVSxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBRWxGLElBQUksVUFBVSxFQUFFLENBQUM7Z0JBQ2IsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLG1CQUFtQixDQUFDLFVBQVUsRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBRXBGLElBQUksR0FBRyxFQUFFLENBQUM7b0JBQ04sR0FBRyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDdkIsQ0FBQztZQUNMLENBQUM7UUFDTCxDQUFDLENBQUM7YUFDRCxLQUFLLENBQUMsQ0FBQyxNQUFvQixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7dUdBcENRLG1CQUFtQjsyRkFBbkIsbUJBQW1CLDZFQ1poQyx1VUFRQTs7MkZESWEsbUJBQW1CO2tCQUwvQixTQUFTOytCQUNJLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0ICogYXMgUm8gZnJvbSAnQG5ha2Vkb2JqZWN0cy9yZXN0ZnVsLW9iamVjdHMnO1xuaW1wb3J0IHsgQ29uZmlnU2VydmljZSwgQ29udGV4dFNlcnZpY2UsIEVycm9yU2VydmljZSwgRXJyb3JXcmFwcGVyLCBQYW5lUm91dGVEYXRhLCBVcmxNYW5hZ2VyU2VydmljZSB9IGZyb20gJ0BuYWtlZG9iamVjdHMvc2VydmljZXMnO1xuaW1wb3J0IHsgVmlld01vZGVsRmFjdG9yeVNlcnZpY2UgfSBmcm9tICdAbmFrZWRvYmplY3RzL3ZpZXctbW9kZWxzJztcbmltcG9ydCB7IFBhbmVDb21wb25lbnQgfSBmcm9tICcuLi9wYW5lL3BhbmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25vZi1hdHRhY2htZW50JyxcbiAgICB0ZW1wbGF0ZVVybDogJ2F0dGFjaG1lbnQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWydhdHRhY2htZW50LmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBBdHRhY2htZW50Q29tcG9uZW50IGV4dGVuZHMgUGFuZUNvbXBvbmVudCB7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgICAgICB1cmxNYW5hZ2VyOiBVcmxNYW5hZ2VyU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB2aWV3TW9kZWxGYWN0b3J5OiBWaWV3TW9kZWxGYWN0b3J5U2VydmljZSxcbiAgICAgICAgY29udGV4dDogQ29udGV4dFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgZXJyb3I6IEVycm9yU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBjb25maWdTZXJ2aWNlOiBDb25maWdTZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGFjdGl2YXRlZFJvdXRlLCB1cmxNYW5hZ2VyLCBjb250ZXh0KTtcbiAgICB9XG5cbiAgICAvLyB0ZW1wbGF0ZSBBUElcbiAgICBpbWFnZT86IHN0cmluZztcbiAgICB0aXRsZSA9ICcnO1xuXG4gICAgcHJvdGVjdGVkIHNldHVwKHJvdXRlRGF0YTogUGFuZVJvdXRlRGF0YSkge1xuXG4gICAgICAgIGNvbnN0IG9pZCA9IFJvLk9iamVjdElkV3JhcHBlci5mcm9tT2JqZWN0SWQocm91dGVEYXRhLm9iamVjdElkISwgdGhpcy5jb25maWdTZXJ2aWNlLmNvbmZpZy5rZXlTZXBhcmF0b3IpO1xuXG4gICAgICAgIHRoaXMuY29udGV4dC5nZXRPYmplY3Qocm91dGVEYXRhLnBhbmVJZCwgb2lkLCByb3V0ZURhdGEuaW50ZXJhY3Rpb25Nb2RlISlcbiAgICAgICAgICAgIC50aGVuKChvYmplY3Q6IFJvLkRvbWFpbk9iamVjdFJlcHJlc2VudGF0aW9uKSA9PiB7XG5cbiAgICAgICAgICAgICAgICBjb25zdCBhdHRhY2htZW50SWQgPSByb3V0ZURhdGEuYXR0YWNobWVudElkO1xuICAgICAgICAgICAgICAgIGNvbnN0IGF0dGFjaG1lbnQgPSBhdHRhY2htZW50SWQgPyBvYmplY3QucHJvcGVydHlNZW1iZXIoYXR0YWNobWVudElkKSA6IHVuZGVmaW5lZDtcblxuICAgICAgICAgICAgICAgIGlmIChhdHRhY2htZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGF2bSA9IHRoaXMudmlld01vZGVsRmFjdG9yeS5hdHRhY2htZW50Vmlld01vZGVsKGF0dGFjaG1lbnQsIHJvdXRlRGF0YS5wYW5lSWQpO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmIChhdm0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGF2bS5zZXRJbWFnZSh0aGlzKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuY2F0Y2goKHJlamVjdDogRXJyb3JXcmFwcGVyKSA9PiB0aGlzLmVycm9yLmhhbmRsZUVycm9yKHJlamVjdCkpO1xuICAgIH1cbn1cbiIsIjxkaXYgW2F0dHIuaWRdPVwicGFuZUlkTmFtZVwiIFtuZ0NsYXNzXT1cInBhbmVUeXBlXCI+XG4gICAgPGRpdiBjbGFzcz1cImF0dGFjaG1lbnQgdmlld1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicmVmZXJlbmNlXCI+XG4gICAgICAgICAgICA8aW1nICpuZ0lmPVwiaW1hZ2VcIiBzcmM9XCJ7e2ltYWdlfX1cIiBhbHQ9XCJ7e3RpdGxlfX1cIiAvPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuPHJvdXRlci1vdXRsZXQgKGFjdGl2YXRlKT1cIm9uQ2hpbGQoKVwiIChkZWFjdGl2YXRlKT1cIm9uQ2hpbGRsZXNzKClcIj48L3JvdXRlci1vdXRsZXQ+XG4iXX0=