UNPKG

moh-common-lib

Version:

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

91 lines 8.37 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'; export class ThumbnailComponent { /** * @param {?} viewContainerRef */ constructor(viewContainerRef) { this.reviewMode = false; this.deleteImage = new EventEmitter(); this.scaledWidth = 300; this.viewContainerRef = viewContainerRef; } /** * @return {?} */ ngOnInit() { /** @type {?} */ const 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 {?} */ delete(evt) { this.deleteImage.emit(this.imageObject); } /** * @return {?} */ showFullSizeView() { this.fullSizeViewModal.config.backdrop = false; this.fullSizeViewModal.show(); } /** * @return {?} */ hideFullSizeView() { 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 = () => [ { type: ViewContainerRef } ]; ThumbnailComponent.propDecorators = { imageObject: [{ type: Input }], reviewMode: [{ type: Input }], deleteImage: [{ type: Output }], fullSizeViewModal: [{ type: ViewChild, args: ['fullSizeViewModal',] }] }; 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGh1bWJuYWlsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL21vaC1jb21tb24tbGliLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvdGh1bWJuYWlsL3RodW1ibmFpbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9ILE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFReEQsTUFBTSxPQUFPLGtCQUFrQjs7OztJQU83QixZQUFZLGdCQUFrQztRQUxyQyxlQUFVLEdBQVksS0FBSyxDQUFDO1FBQzNCLGdCQUFXLEdBQThCLElBQUksWUFBWSxFQUFlLENBQUM7UUFRbkYsZ0JBQVcsR0FBVyxHQUFHLENBQUM7UUFIeEIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDO0lBQzNDLENBQUM7Ozs7SUFHRCxRQUFROztjQUVBLGlCQUFpQixHQUFXLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUNuSCxJQUFJLENBQUMsV0FBVyxHQUFHLFFBQVEsQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVuRCxJQUFJLElBQUksQ0FBQyxXQUFXLEdBQUcsR0FBRyxFQUFFO1lBQzFCLElBQUksQ0FBQyxXQUFXLEdBQUcsR0FBRyxDQUFDO1NBQ3hCO2FBQU0sSUFBSSxJQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsRUFBRTtZQUNoQyxJQUFJLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQztTQUN4QjtRQUVELElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUMzQixJQUFJLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQztTQUN4QjtJQUNILENBQUM7Ozs7O0lBRUQsTUFBTSxDQUFDLEdBQVE7UUFDYixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDMUMsQ0FBQzs7OztJQUVELGdCQUFnQjtRQUNkLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUMvQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDaEMsQ0FBQzs7OztJQUVELGdCQUFnQjtRQUNkLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNoQyxDQUFDOzs7WUE3Q0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxrQkFBa0I7Z0JBQzVCLDJ2Q0FBK0I7Z0JBRS9CLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJOzthQUN0Qzs7OztZQVRtRSxnQkFBZ0I7OzswQkFXakYsS0FBSzt5QkFDTCxLQUFLOzBCQUNMLE1BQU07Z0NBQ04sU0FBUyxTQUFDLG1CQUFtQjs7OztJQUg5Qix5Q0FBa0M7O0lBQ2xDLHdDQUFxQzs7SUFDckMseUNBQW1GOztJQUNuRiwrQ0FBeUU7Ozs7O0lBRXpFLDhDQUEyQzs7SUFLM0MseUNBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3Q2hpbGQsIE9uSW5pdCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBWaWV3Q29udGFpbmVyUmVmLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNb2RhbERpcmVjdGl2ZSB9IGZyb20gJ25neC1ib290c3RyYXAvbW9kYWwnO1xyXG5pbXBvcnQgeyBDb21tb25JbWFnZSB9IGZyb20gJy4uLy4uL21vZGVscy9pbWFnZXMubW9kZWwnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjb21tb24tdGh1bWJuYWlsJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGh1bWJuYWlsLmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3RodW1ibmFpbC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGh1bWJuYWlsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSBpbWFnZU9iamVjdDogQ29tbW9uSW1hZ2U7XHJcbiAgQElucHV0KCkgcmV2aWV3TW9kZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBPdXRwdXQoKSBkZWxldGVJbWFnZTogRXZlbnRFbWl0dGVyPENvbW1vbkltYWdlPiA9IG5ldyBFdmVudEVtaXR0ZXI8Q29tbW9uSW1hZ2U+KCk7XHJcbiAgQFZpZXdDaGlsZCgnZnVsbFNpemVWaWV3TW9kYWwnKSBwdWJsaWMgZnVsbFNpemVWaWV3TW9kYWw6IE1vZGFsRGlyZWN0aXZlO1xyXG5cclxuICBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWY7XHJcbiAgY29uc3RydWN0b3Iodmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZikge1xyXG4gICAgdGhpcy52aWV3Q29udGFpbmVyUmVmID0gdmlld0NvbnRhaW5lclJlZjtcclxuICB9XHJcblxyXG4gIHNjYWxlZFdpZHRoOiBudW1iZXIgPSAzMDA7XHJcbiAgbmdPbkluaXQoKSB7XHJcblxyXG4gICAgY29uc3Qgc2NhbGVkV2lkdGhTdHJpbmc6IHN0cmluZyA9ICgxODAgKiB0aGlzLmltYWdlT2JqZWN0Lm5hdHVyYWxXaWR0aCAvIHRoaXMuaW1hZ2VPYmplY3QubmF0dXJhbEhlaWdodCkudG9GaXhlZCgwKTtcclxuICAgIHRoaXMuc2NhbGVkV2lkdGggPSBwYXJzZUludChzY2FsZWRXaWR0aFN0cmluZywgMTApO1xyXG5cclxuICAgIGlmICh0aGlzLnNjYWxlZFdpZHRoID4gMjUwKSB7XHJcbiAgICAgIHRoaXMuc2NhbGVkV2lkdGggPSAyNTA7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuc2NhbGVkV2lkdGggPCAzMCkge1xyXG4gICAgICB0aGlzLnNjYWxlZFdpZHRoID0gMTAwO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChpc05hTih0aGlzLnNjYWxlZFdpZHRoKSkge1xyXG4gICAgICB0aGlzLnNjYWxlZFdpZHRoID0gMzAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZGVsZXRlKGV2dDogYW55KSB7XHJcbiAgICB0aGlzLmRlbGV0ZUltYWdlLmVtaXQodGhpcy5pbWFnZU9iamVjdCk7XHJcbiAgfVxyXG5cclxuICBzaG93RnVsbFNpemVWaWV3KCkge1xyXG4gICAgdGhpcy5mdWxsU2l6ZVZpZXdNb2RhbC5jb25maWcuYmFja2Ryb3AgPSBmYWxzZTtcclxuICAgIHRoaXMuZnVsbFNpemVWaWV3TW9kYWwuc2hvdygpO1xyXG4gIH1cclxuXHJcbiAgaGlkZUZ1bGxTaXplVmlldygpIHtcclxuICAgIHRoaXMuZnVsbFNpemVWaWV3TW9kYWwuaGlkZSgpO1xyXG4gIH1cclxuXHJcbn1cclxuIl19