UNPKG

moh-common-lib

Version:

A library of Angular components, services, and styles for B.C. Government Ministry of Health (MoH).

103 lines 8.93 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Component, ViewChild, Input, Output, EventEmitter, ViewContainerRef, ViewEncapsulation } from '@angular/core'; import { ModalDirective } from 'ngx-bootstrap/modal'; import { CommonImage } from '../../models/images.model'; var ThumbnailComponent = /** @class */ (function () { function ThumbnailComponent(viewContainerRef) { this.reviewMode = false; this.deleteImage = new EventEmitter(); this.scaledWidth = 300; this.viewContainerRef = viewContainerRef; } /** * @return {?} */ ThumbnailComponent.prototype.ngOnInit = /** * @return {?} */ function () { /** @type {?} */ var scaledWidthString = (180 * this.imageObject.naturalWidth / this.imageObject.naturalHeight).toFixed(0); this.scaledWidth = parseInt(scaledWidthString, 10); if (this.scaledWidth > 250) { this.scaledWidth = 250; } else if (this.scaledWidth < 30) { this.scaledWidth = 100; } if (isNaN(this.scaledWidth)) { this.scaledWidth = 300; } }; /** * @param {?} evt * @return {?} */ ThumbnailComponent.prototype.delete = /** * @param {?} evt * @return {?} */ function (evt) { this.deleteImage.emit(this.imageObject); }; /** * @return {?} */ ThumbnailComponent.prototype.showFullSizeView = /** * @return {?} */ function () { this.fullSizeViewModal.config.backdrop = false; this.fullSizeViewModal.show(); }; /** * @return {?} */ ThumbnailComponent.prototype.hideFullSizeView = /** * @return {?} */ function () { this.fullSizeViewModal.hide(); }; ThumbnailComponent.decorators = [ { type: Component, args: [{ selector: 'common-thumbnail', template: "<div class=\"thumbnail-container\">\r\n <img [src]=\"imageObject.fileContent\" alt=\"\" tabindex=\"0\"\r\n [ngClass]=\"{'image-thumbnail': scaledWidth <= 300, 'image-thumbnail-width-priority': scaledWidth > 300}\"\r\n (click)=\"showFullSizeView()\">\r\n <div class=\"action-strip\" *ngIf=\"!reviewMode\">\r\n <a href=\"javascript:void(0)\" (click)=\"delete($event)\" class='text-danger' tabindex=\"0\">Remove</a>\r\n </div>\r\n</div>\r\n\r\n<div bsModal #fullSizeViewModal=\"bs-modal\" class=\"modal fade\" tabindex=\"-1\" role=\"dialog\" aria-hidden=\"true\">\r\n <div class=\"modal-dialog modal-lg\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\">\r\n <h4 class=\"modal-title\">{{imageObject.name}}</h4>\r\n <button type=\"button\" class=\"close\" (click)=\"hideFullSizeView()\" aria-label=\"Close\">\r\n <span aria-hidden=\"true\">&times;</span>\r\n </button>\r\n </div>\r\n <div class=\"modal-body\">\r\n <div class=\"row\">\r\n <div class=\"col-md-12\" >\r\n <img [src]=\"imageObject.fileContent\" alt=\"{{imageObject.name}}\" class=\"center-block img-fluid\">\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", encapsulation: ViewEncapsulation.None, styles: [""] }] } ]; /** @nocollapse */ ThumbnailComponent.ctorParameters = function () { return [ { type: ViewContainerRef } ]; }; ThumbnailComponent.propDecorators = { imageObject: [{ type: Input }], reviewMode: [{ type: Input }], deleteImage: [{ type: Output }], fullSizeViewModal: [{ type: ViewChild, args: ['fullSizeViewModal',] }] }; return ThumbnailComponent; }()); export { ThumbnailComponent }; if (false) { /** @type {?} */ ThumbnailComponent.prototype.imageObject; /** @type {?} */ ThumbnailComponent.prototype.reviewMode; /** @type {?} */ ThumbnailComponent.prototype.deleteImage; /** @type {?} */ ThumbnailComponent.prototype.fullSizeViewModal; /** * @type {?} * @private */ ThumbnailComponent.prototype.viewContainerRef; /** @type {?} */ ThumbnailComponent.prototype.scaledWidth; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGh1bWJuYWlsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL21vaC1jb21tb24tbGliLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvdGh1bWJuYWlsL3RodW1ibmFpbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9ILE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFeEQ7SUFhRSw0QkFBWSxnQkFBa0M7UUFMckMsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUMzQixnQkFBVyxHQUE4QixJQUFJLFlBQVksRUFBZSxDQUFDO1FBUW5GLGdCQUFXLEdBQVcsR0FBRyxDQUFDO1FBSHhCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQztJQUMzQyxDQUFDOzs7O0lBR0QscUNBQVE7OztJQUFSOztZQUVRLGlCQUFpQixHQUFXLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUNuSCxJQUFJLENBQUMsV0FBVyxHQUFHLFFBQVEsQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVuRCxJQUFJLElBQUksQ0FBQyxXQUFXLEdBQUcsR0FBRyxFQUFFO1lBQzFCLElBQUksQ0FBQyxXQUFXLEdBQUcsR0FBRyxDQUFDO1NBQ3hCO2FBQU0sSUFBSSxJQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsRUFBRTtZQUNoQyxJQUFJLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQztTQUN4QjtRQUVELElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUMzQixJQUFJLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQztTQUN4QjtJQUNILENBQUM7Ozs7O0lBRUQsbUNBQU07Ozs7SUFBTixVQUFPLEdBQVE7UUFDYixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDMUMsQ0FBQzs7OztJQUVELDZDQUFnQjs7O0lBQWhCO1FBQ0UsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQy9DLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNoQyxDQUFDOzs7O0lBRUQsNkNBQWdCOzs7SUFBaEI7UUFDRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDaEMsQ0FBQzs7Z0JBN0NGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsa0JBQWtCO29CQUM1QiwydkNBQStCO29CQUUvQixhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTs7aUJBQ3RDOzs7O2dCQVRtRSxnQkFBZ0I7Ozs4QkFXakYsS0FBSzs2QkFDTCxLQUFLOzhCQUNMLE1BQU07b0NBQ04sU0FBUyxTQUFDLG1CQUFtQjs7SUFxQ2hDLHlCQUFDO0NBQUEsQUEvQ0QsSUErQ0M7U0F6Q1ksa0JBQWtCOzs7SUFDN0IseUNBQWtDOztJQUNsQyx3Q0FBcUM7O0lBQ3JDLHlDQUFtRjs7SUFDbkYsK0NBQXlFOzs7OztJQUV6RSw4Q0FBMkM7O0lBSzNDLHlDQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVmlld0NoaWxkLCBPbkluaXQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgVmlld0NvbnRhaW5lclJlZiwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTW9kYWxEaXJlY3RpdmUgfSBmcm9tICduZ3gtYm9vdHN0cmFwL21vZGFsJztcclxuaW1wb3J0IHsgQ29tbW9uSW1hZ2UgfSBmcm9tICcuLi8uLi9tb2RlbHMvaW1hZ2VzLm1vZGVsJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY29tbW9uLXRodW1ibmFpbCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RodW1ibmFpbC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90aHVtYm5haWwuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIFRodW1ibmFpbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgaW1hZ2VPYmplY3Q6IENvbW1vbkltYWdlO1xyXG4gIEBJbnB1dCgpIHJldmlld01vZGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBAT3V0cHV0KCkgZGVsZXRlSW1hZ2U6IEV2ZW50RW1pdHRlcjxDb21tb25JbWFnZT4gPSBuZXcgRXZlbnRFbWl0dGVyPENvbW1vbkltYWdlPigpO1xyXG4gIEBWaWV3Q2hpbGQoJ2Z1bGxTaXplVmlld01vZGFsJykgcHVibGljIGZ1bGxTaXplVmlld01vZGFsOiBNb2RhbERpcmVjdGl2ZTtcclxuXHJcbiAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmO1xyXG4gIGNvbnN0cnVjdG9yKHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYpIHtcclxuICAgIHRoaXMudmlld0NvbnRhaW5lclJlZiA9IHZpZXdDb250YWluZXJSZWY7XHJcbiAgfVxyXG5cclxuICBzY2FsZWRXaWR0aDogbnVtYmVyID0gMzAwO1xyXG4gIG5nT25Jbml0KCkge1xyXG5cclxuICAgIGNvbnN0IHNjYWxlZFdpZHRoU3RyaW5nOiBzdHJpbmcgPSAoMTgwICogdGhpcy5pbWFnZU9iamVjdC5uYXR1cmFsV2lkdGggLyB0aGlzLmltYWdlT2JqZWN0Lm5hdHVyYWxIZWlnaHQpLnRvRml4ZWQoMCk7XHJcbiAgICB0aGlzLnNjYWxlZFdpZHRoID0gcGFyc2VJbnQoc2NhbGVkV2lkdGhTdHJpbmcsIDEwKTtcclxuXHJcbiAgICBpZiAodGhpcy5zY2FsZWRXaWR0aCA+IDI1MCkge1xyXG4gICAgICB0aGlzLnNjYWxlZFdpZHRoID0gMjUwO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLnNjYWxlZFdpZHRoIDwgMzApIHtcclxuICAgICAgdGhpcy5zY2FsZWRXaWR0aCA9IDEwMDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoaXNOYU4odGhpcy5zY2FsZWRXaWR0aCkpIHtcclxuICAgICAgdGhpcy5zY2FsZWRXaWR0aCA9IDMwMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGRlbGV0ZShldnQ6IGFueSkge1xyXG4gICAgdGhpcy5kZWxldGVJbWFnZS5lbWl0KHRoaXMuaW1hZ2VPYmplY3QpO1xyXG4gIH1cclxuXHJcbiAgc2hvd0Z1bGxTaXplVmlldygpIHtcclxuICAgIHRoaXMuZnVsbFNpemVWaWV3TW9kYWwuY29uZmlnLmJhY2tkcm9wID0gZmFsc2U7XHJcbiAgICB0aGlzLmZ1bGxTaXplVmlld01vZGFsLnNob3coKTtcclxuICB9XHJcblxyXG4gIGhpZGVGdWxsU2l6ZVZpZXcoKSB7XHJcbiAgICB0aGlzLmZ1bGxTaXplVmlld01vZGFsLmhpZGUoKTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==