UNPKG

com.phloxui

Version:

PhloxUI Ng2+ Framework

946 lines (945 loc) 75.5 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes} checked by tsc */ import * as tslib_1 from "tslib"; import { Component, ElementRef, Input, Output, EventEmitter, ViewChild } from '@angular/core'; import { Option } from '../../../../../decorator/Option.decorator'; import { NeedFocusService } from '../../../../../service/NeedFocusService.service'; import { I18N } from '../../../../../decorator/I18N.decorator'; import { NgxCroppieComponent } from 'ngx-croppie'; import { AbstracFileSelector } from '../../../../../component/dataview/input/AbstracFileSelector'; var /** @type {?} */ TYPE_NAME = "material-image-selector"; var MaterialImageSelector = /** @class */ (function (_super) { tslib_1.__extends(MaterialImageSelector, _super); function MaterialImageSelector(elementRef, needFocusService) { return _super.call(this, elementRef, needFocusService) || this; } /** * @return {?} */ MaterialImageSelector.prototype.ngOnInit = /** * @return {?} */ function () { _super.prototype.ngOnInit.call(this); this._croppieImage = ''; this.onCropImageDone = false; if (this.fileTypes === undefined || this.fileTypes === null) { this.fileTypes = ['image/gif', 'image/png', 'image/jpg', 'image/jpeg']; } else { var /** @type {?} */ count = 0; try { for (var _a = tslib_1.__values(this.fileTypes), _b = _a.next(); !_b.done; _b = _a.next()) { var file = _b.value; if (file === 'image/jpeg' || file === 'image/png' || file === 'image/gif' || file === 'image/jpg') { count++; } } } catch (e_1_1) { e_1 = { error: e_1_1 }; } finally { try { if (_b && !_b.done && (_c = _a.return)) _c.call(_a); } finally { if (e_1) throw e_1.error; } } if (this.fileTypes.length !== count) { throw new Error("file types allowed image/gif,image/png,image/jpg,image/jpeg."); } } if (this.label === undefined || this.label === null || typeof this.label !== 'string') { this.label = "ลากไฟล์รูปมาที่นี่"; } if (this.labelBtn === undefined || this.labelBtn === null || typeof this.labelBtn !== 'string') { this.labelBtn = "เลือกรูปภาพจากคอมพิวเตอร์ของคุณ"; } if (this.width === undefined || this.width === null || typeof this.width !== 'string') { this.width = "100%"; } if (this.height === undefined || this.height === null || typeof this.height !== 'string') { this.height = "400pt"; } // if (this.enableResize === undefined || this.enableResize === null || typeof this.enableResize !== 'boolean') { // this.enableResize = false; // } if (this.enableRotate === undefined || this.enableRotate === null || typeof this.enableRotate !== 'boolean') { this.enableRotate = true; } // if (this.enableCrop === undefined || this.enableCrop === null || typeof this.enableCrop !== 'boolean') { // this.enableCrop = true; // } if (this.showZoomer === undefined || this.showZoomer === null || typeof this.showZoomer !== 'boolean') { this.showZoomer = true; } if (this.mouseWheelZoom === undefined || this.mouseWheelZoom === null || typeof this.mouseWheelZoom !== 'boolean') { this.mouseWheelZoom = true; } if (this.enableZoom === undefined || this.enableZoom === null || typeof this.enableZoom !== 'boolean') { this.enableZoom = true; } else if (this.enableZoom === false) { this.showZoomer = false; this.mouseWheelZoom = false; } if (this.viewport === undefined || this.viewport === null) { this.viewport = { width: 200, height: 200, type: 'square' }; } if (this.viewport.width === undefined || this.viewport.width === null || this.viewport.height === undefined || this.viewport.height === null || typeof this.viewport.width !== 'number' || typeof this.viewport.height !== 'number') { this.viewport.width = 200; this.viewport.height = 200; } if (this.viewport.type === undefined || this.viewport.type === null || typeof this.viewport.type !== 'string') { this.viewport.type = 'square'; } this.pictureFrame = { width: this.viewport.width + 20 + 'px', height: this.viewport.height + 20 + 'px' }; var e_1, _c; }; /** * @param {?} inputValue * @param {?} results * @return {?} */ MaterialImageSelector.prototype.onValidationEnd = /** * @param {?} inputValue * @param {?} results * @return {?} */ function (inputValue, results) { //! do sthing }; /** * @param {?} data * @param {?} inputVal * @return {?} */ MaterialImageSelector.prototype.onDataChange = /** * @param {?} data * @param {?} inputVal * @return {?} */ function (data, inputVal) { // throw new Error("Method not implemented."); }; /** * @param {?} $event * @return {?} */ MaterialImageSelector.prototype.doFocus = /** * @param {?} $event * @return {?} */ function ($event) { // throw new Error("Method not implemented."); }; /** * @param {?} $event * @return {?} */ MaterialImageSelector.prototype.doLostFocus = /** * @param {?} $event * @return {?} */ function ($event) { // throw new Error("Method not implemented."); }; /** * @param {?} event * @param {?} format * @param {?} data * @return {?} */ MaterialImageSelector.prototype.isAcceptDragData = /** * @param {?} event * @param {?} format * @param {?} data * @return {?} */ function (event, format, data) { return; }; /** * @param {?} event * @return {?} */ MaterialImageSelector.prototype.getDragOverDataTransfer = /** * @param {?} event * @return {?} */ function (event) { return; }; /** * @param {?} event * @return {?} */ MaterialImageSelector.prototype.onDragEnter = /** * @param {?} event * @return {?} */ function (event) { }; /** * @param {?} event * @return {?} */ MaterialImageSelector.prototype.onDragOver = /** * @param {?} event * @return {?} */ function (event) { }; /** * @param {?} event * @return {?} */ MaterialImageSelector.prototype.onDragLeave = /** * @param {?} event * @return {?} */ function (event) { }; /** * @param {?} event * @return {?} */ MaterialImageSelector.prototype.onDrop = /** * @param {?} event * @return {?} */ function (event) { }; /** * @param {?} event * @param {?} data * @return {?} */ MaterialImageSelector.prototype.onDropAccepted = /** * @param {?} event * @param {?} data * @return {?} */ function (event, data) { }; /** * @param {?} event * @return {?} */ MaterialImageSelector.prototype.onDropRejected = /** * @param {?} event * @return {?} */ function (event) { }; /** * @return {?} */ MaterialImageSelector.prototype.isSelfDataDirty = /** * @return {?} */ function () { var /** @type {?} */ d1 = AbstracFileSelector.resolveMappedData(this.field, this.originalValue); var /** @type {?} */ d2 = this.getInputValue(); if (d1 !== d2) { return true; } return false; }; /** * @param {?} data * @return {?} */ MaterialImageSelector.prototype.selfSaveData = /** * @param {?} data * @return {?} */ function (data) { if (data !== undefined && data !== null) { this.originalValue = JSON.parse(JSON.stringify(data)); } else { this.originalValue = data; } }; /** * @return {?} */ MaterialImageSelector.prototype.selfResetData = /** * @return {?} */ function () { this.setInputValue(this.originalValue); }; Object.defineProperty(MaterialImageSelector.prototype, "croppieOptions", { get: /** * @return {?} */ function () { var /** @type {?} */ opts = {}; opts.viewport = this.viewport; opts.enableZoom = this.enableZoom; opts.showZoomer = this.showZoomer; opts.mouseWheelZoom = this.mouseWheelZoom; opts.enableOrientation = this.enableRotate; opts.enforceBoundary = true; return opts; }, enumerable: true, configurable: true }); /** * @return {?} */ MaterialImageSelector.prototype.rotateLeft = /** * @return {?} */ function () { this.ngxCroppie.rotate(-270); }; /** * @return {?} */ MaterialImageSelector.prototype.rotateRight = /** * @return {?} */ function () { this.ngxCroppie.rotate(270); var /** @type {?} */ test = this.ngxCroppie.croppieOptions; }; /** * @param {?} img * @return {?} */ MaterialImageSelector.prototype.newImageResultFromCroppie = /** * @param {?} img * @return {?} */ function (img) { this.editedImage = img; }; /** * @return {?} */ MaterialImageSelector.prototype.saveImageFromCroppie = /** * @return {?} */ function () { this.setInputValue(this.editedImage); this.onCropImageDone = true; }; /** * @return {?} */ MaterialImageSelector.prototype.claerCroppieEdit = /** * @return {?} */ function () { this.originalFile = undefined; this.editedImage = ''; this._croppieImage = ''; this.onCropImageDone = false; }; /** * @param {?} $event * @return {?} */ MaterialImageSelector.prototype.onReadOnlyClick = /** * @param {?} $event * @return {?} */ function ($event) { if (this.isReadOnly()) { $event.preventDefault(); return; } }; /** * @param {?} evt * @return {?} */ MaterialImageSelector.prototype.imageUploadEvent = /** * @param {?} evt * @return {?} */ function (evt) { var _this = this; if (!evt.target) { return this.imageUpload.nativeElement.value = ""; } if (!evt.target.files) { return this.imageUpload.nativeElement.value = ""; } if (evt.target.files.length !== 1) { return this.imageUpload.nativeElement.value = ""; } var /** @type {?} */ file = evt.target.files[0]; if (this.fileTypes.indexOf(file.type) === -1) { alert("Error: Allow only file type '" + JSON.stringify(this.fileTypes) + "'"); return this.imageUpload.nativeElement.value = ""; } if (file.size > this.maxFilesize) { alert('Error: The maximun size for file upload is ' + this.maxFilesize + ' KB'); return this.imageUpload.nativeElement.value = ""; } this.originalFile = file; var /** @type {?} */ fr = new FileReader(); fr.onloadend = function (loadEvent) { _this._croppieImage = fr.result; }; fr.readAsDataURL(file); }; /** * @return {?} */ MaterialImageSelector.prototype.getWidth = /** * @return {?} */ function () { return this.width; }; /** * @param {?} width * @return {?} */ MaterialImageSelector.prototype.setWidth = /** * @param {?} width * @return {?} */ function (width) { this.width = width; }; /** * @return {?} */ MaterialImageSelector.prototype.getHeight = /** * @return {?} */ function () { return this.height; }; /** * @param {?} height * @return {?} */ MaterialImageSelector.prototype.setHeight = /** * @param {?} height * @return {?} */ function (height) { this.height = height; }; /** * @return {?} */ MaterialImageSelector.prototype.getLabel = /** * @return {?} */ function () { return this.label; }; /** * @param {?} label * @return {?} */ MaterialImageSelector.prototype.setLabel = /** * @param {?} label * @return {?} */ function (label) { this.label = label; }; /** * @return {?} */ MaterialImageSelector.prototype.getLabelBtn = /** * @return {?} */ function () { return this.labelBtn; }; /** * @param {?} labelBtn * @return {?} */ MaterialImageSelector.prototype.setLabelBtn = /** * @param {?} labelBtn * @return {?} */ function (labelBtn) { this.labelBtn = labelBtn; }; /** * @return {?} */ MaterialImageSelector.prototype.getMaxFilesize = /** * @return {?} */ function () { return this.maxFilesize; }; /** * @param {?} maxFilesize * @return {?} */ MaterialImageSelector.prototype.setMaxFilesize = /** * @param {?} maxFilesize * @return {?} */ function (maxFilesize) { this.maxFilesize = maxFilesize; }; /** * @return {?} */ MaterialImageSelector.prototype.getFileTypes = /** * @return {?} */ function () { return this.fileTypes; }; /** * @param {?} fileTypes * @return {?} */ MaterialImageSelector.prototype.setFileTypes = /** * @param {?} fileTypes * @return {?} */ function (fileTypes) { this.fileTypes = fileTypes; }; /** * @return {?} */ MaterialImageSelector.prototype.getShowZoomer = /** * @return {?} */ function () { return this.showZoomer; }; /** * @return {?} */ MaterialImageSelector.prototype.isEnableRotate = /** * @return {?} */ function () { return this.enableRotate; }; /** * @param {?} enableRotate * @return {?} */ MaterialImageSelector.prototype.setEnableRotate = /** * @param {?} enableRotate * @return {?} */ function (enableRotate) { this.enableRotate = enableRotate; }; /** * @return {?} */ MaterialImageSelector.prototype.isDisabled = /** * @return {?} */ function () { return this.disabled; }; /** * @param {?} disabled * @return {?} */ MaterialImageSelector.prototype.setDisabled = /** * @param {?} disabled * @return {?} */ function (disabled) { this.disabled = disabled; }; /** * @return {?} */ MaterialImageSelector.prototype.isReadOnly = /** * @return {?} */ function () { return this.readOnly; }; /** * @param {?} readOnly * @return {?} */ MaterialImageSelector.prototype.setReadOnly = /** * @param {?} readOnly * @return {?} */ function (readOnly) { this.readOnly = readOnly; }; /** * @return {?} */ MaterialImageSelector.prototype.getOriginalFile = /** * @return {?} */ function () { return this.originalFile; }; /** * @return {?} */ MaterialImageSelector.prototype.getPictureFrame = /** * @return {?} */ function () { return this.pictureFrame; }; /** * @return {?} */ MaterialImageSelector.prototype.isCropImageDone = /** * @return {?} */ function () { return this.onCropImageDone; }; /** * @return {?} */ MaterialImageSelector.prototype.getEditedImage = /** * @return {?} */ function () { return this.editedImage; }; MaterialImageSelector.TYPE_NAME = TYPE_NAME; MaterialImageSelector.decorators = [ { type: Component, args: [{ moduleId: module.id, selector: TYPE_NAME, template: "<div class=\"material-image-selector\" [style.width]=\"getWidth()\" [style.height]=\"getHeight()\">\n <div class=\"material-image-selector-readOnly\" [class.material-image-selector-disabled]=\"isDisabled()\" *ngIf=\"isReadOnly() || isDisabled()\"\n (click)=\"onReadOnlyClick($event)\"></div>\n <div class=\"material-image-selector-browse\" *ngIf=\"!_croppieImage\" [style.width]=\"getWidth()\"\n [style.height]=\"getHeight()\">\n <input #imageUpload type=\"file\" id=\"fileupload\" (change)=\"imageUploadEvent($event)\" accept=\"{{getFileTypes()}}\" />\n <div class=\"wrapper-drag-image-btn-browse\">\n <img src=\"https://img.icons8.com/ios/100/000000/picture-filled.png\" alt=\"\">\n <span class=\"label-drag-image\">{{getLabel()}}</span>\n <span class=\"label-or\">- \u0E2B\u0E23\u0E37\u0E2D -</span>\n <button type=\"button\" class=\"btn btn-default\" data-dismiss=\"modal\" (click)=\"imageUpload.click()\">{{getLabelBtn()}}</button>\n </div>\n </div>\n <div class=\"material-image-selector-crop\" *ngIf=\"_croppieImage\">\n <ng-container *ngIf=\"!isCropImageDone(); else elseTemplate\">\n <div class=\"wrapper-controller-crop-image\">\n <div class=\"bar-controller-crop-image\">\n <div class=\"arrow-bar-controller-crop-image\"></div>\n <ng-container *ngIf=\"isEnableRotate()\">\n <span class=\"wrapper-icon-rotate\" (click)=\"rotateLeft()\">\n <svg viewBox=\"0 0 481.95 481.95\">\n <path d=\"M114.75,191.25l-35.7-35.7C56.1,186.15,40.8,219.3,38.25,255h51C91.8,232.05,102,211.65,114.75,191.25z M89.25,306h-51\n c5.1,35.7,17.85,68.85,40.8,99.45l35.7-35.7C102,349.35,91.8,328.95,89.25,306z M114.75,441.15\n c30.6,22.949,63.75,35.699,99.45,40.8v-51c-22.95-2.55-43.35-12.75-63.75-25.5L114.75,441.15z M265.2,79.05V0L150.45,114.75\n L265.2,229.5v-99.45c71.4,12.75,127.5,73.95,127.5,150.45s-56.1,137.7-127.5,150.45v51c99.45-12.75,178.5-99.45,178.5-201.45\n S364.65,91.8,265.2,79.05z\" />\n </svg>\n </span>\n <span class=\"wrapper-icon-rotate\" (click)=\"rotateRight()\">\n <svg viewBox=\"0 0 481.95 481.95\">\n <path d=\"M331.5,114.75L216.75,0v79.05C117.3,91.8,38.25,175.95,38.25,280.5s79.05,188.7,178.5,201.45v-51\n C145.35,418.2,89.25,357,89.25,280.5s56.1-137.7,127.5-150.45v99.45L331.5,114.75z M443.7,255\n c-5.101-35.7-17.851-68.85-40.8-99.45l-35.7,35.7c12.75,20.4,22.95,40.8,25.5,63.75H443.7z M267.75,430.95v51\n c35.7-5.101,68.85-17.851,99.45-40.8l-35.7-35.7C311.1,418.2,290.7,428.4,267.75,430.95z M367.2,369.75l35.7,35.7\n c22.949-30.601,38.25-63.75,40.8-99.45h-51C390.15,328.95,379.95,349.35,367.2,369.75z\" />\n </svg>\n </span>\n </ng-container>\n <span class=\"wrapper-icon-correct\" (click)=\"saveImageFromCroppie()\">\n <svg viewBox=\"0 0 512 512\">\n <path d=\"M504.502,75.496c-9.997-9.998-26.205-9.998-36.204,0L161.594,382.203L43.702,264.311c-9.997-9.998-26.205-9.997-36.204,0\n c-9.998,9.997-9.998,26.205,0,36.203l135.994,135.992c9.994,9.997,26.214,9.99,36.204,0L504.502,111.7\n C514.5,101.703,514.499,85.494,504.502,75.496z\" />\n </svg>\n </span>\n <span class=\"wrapper-icon-cancel\" (click)=\"claerCroppieEdit()\">\n <svg viewBox=\"0 0 512.001 512.001\">\n <path d=\"M294.111,256.001L504.109,46.003c10.523-10.524,10.523-27.586,0-38.109c-10.524-10.524-27.587-10.524-38.11,0L256,217.892\n L46.002,7.894c-10.524-10.524-27.586-10.524-38.109,0s-10.524,27.586,0,38.109l209.998,209.998L7.893,465.999\n c-10.524,10.524-10.524,27.586,0,38.109c10.524,10.524,27.586,10.523,38.109,0L256,294.11l209.997,209.998\n c10.524,10.524,27.587,10.523,38.11,0c10.523-10.524,10.523-27.586,0-38.109L294.111,256.001z\"\n />\n </svg>\n </span>\n </div>\n </div>\n <ngx-croppie #ngxCroppie [croppieOptions]=\"croppieOptions\" [class.hidenZoomer]=\"!getShowZoomer()\" [imageUrl]=\"_croppieImage\"\n [points]=\"[0,0,400,400]\" (result)=\"newImageResultFromCroppie($event)\"></ngx-croppie>\n </ng-container>\n <ng-template #elseTemplate>\n <div class=\"material-image-selector-edited-image\">\n <img class=\"image-crop\" src=\"{{getEditedImage()}}\" alt=\"\">\n <div class=\"picture-frame\" [style.width]=\"getPictureFrame().width\" [style.height]=\"getPictureFrame().height\">\n <span class=\"icon-close\" (click)=\"claerCroppieEdit()\"></span>\n </div>\n </div>\n </ng-template>\n </div>\n</div>", },] }, ]; /** @nocollapse */ MaterialImageSelector.ctorParameters = function () { return [ { type: ElementRef, }, { type: NeedFocusService, }, ]; }; MaterialImageSelector.propDecorators = { "dataParent": [{ type: Input },], "ignoreParentData": [{ type: Input },], "data": [{ type: Input },], "ignoreParentDisabled": [{ type: Input },], "delegateHistory": [{ type: Input },], "onDisabled": [{ type: Input },], "onEnabled": [{ type: Input },], "loadingEnabled": [{ type: Input },], "i18nKey": [{ type: Input },], "bypass": [{ type: Input, args: ['i18nBypass',] },], "options": [{ type: Input },], "disabled": [{ type: Input },], "field": [{ type: Input },], "name": [{ type: Input },], "typeOfData": [{ type: Input },], "readOnly": [{ type: Input },], "help": [{ type: Input },], "maxFilesize": [{ type: Input },], "fileTypes": [{ type: Input },], "label": [{ type: Input },], "labelBtn": [{ type: Input },], "width": [{ type: Input },], "height": [{ type: Input },], "enableRotate": [{ type: Input },], "enableZoom": [{ type: Input },], "showZoomer": [{ type: Input },], "mouseWheelZoom": [{ type: Input },], "viewport": [{ type: Input },], "loadEvent": [{ type: Output, args: ['phxLoad',] },], "startValidateEvent": [{ type: Output, args: ['phxStartValidate',] },], "endValidateEvent": [{ type: Output, args: ['phxEndValidate',] },], "beforeFocusEvent": [{ type: Output, args: ['phxBeforeFocus',] },], "focusEvent": [{ type: Output, args: ['phxFocus',] },], "beforeLostFocusEvent": [{ type: Output, args: ['phxBeforeLostFocus',] },], "lostFocusEvent": [{ type: Output, args: ['phxLostFocus',] },], "beforeChangeEvent": [{ type: Output, args: ['phxBeforeChange',] },], "changeEvent": [{ type: Output, args: ['phxChange',] },], "beforeSelectEvent": [{ type: Output, args: ['phxBeforeSelect',] },], "selectEvent": [{ type: Output, args: ['phxSelect',] },], "imageUpload": [{ type: ViewChild, args: ['imageUpload',] },], "ngxCroppie": [{ type: ViewChild, args: ['ngxCroppie',] },], }; tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Object) ], MaterialImageSelector.prototype, "dataParent", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Boolean) ], MaterialImageSelector.prototype, "ignoreParentData", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Object) ], MaterialImageSelector.prototype, "data", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Boolean) ], MaterialImageSelector.prototype, "ignoreParentDisabled", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Boolean) ], MaterialImageSelector.prototype, "delegateHistory", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Function) ], MaterialImageSelector.prototype, "onDisabled", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Function) ], MaterialImageSelector.prototype, "onEnabled", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Boolean) ], MaterialImageSelector.prototype, "loadingEnabled", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", String) ], MaterialImageSelector.prototype, "i18nKey", void 0); tslib_1.__decorate([ Option('i18nBypass'), tslib_1.__metadata("design:type", Boolean) ], MaterialImageSelector.prototype, "bypass", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Boolean) ], MaterialImageSelector.prototype, "disabled", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", String) ], MaterialImageSelector.prototype, "field", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", String) ], MaterialImageSelector.prototype, "name", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", String) ], MaterialImageSelector.prototype, "typeOfData", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Boolean) ], MaterialImageSelector.prototype, "readOnly", void 0); tslib_1.__decorate([ I18N(), Option(), tslib_1.__metadata("design:type", Object) ], MaterialImageSelector.prototype, "help", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Number) ], MaterialImageSelector.prototype, "maxFilesize", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Array) ], MaterialImageSelector.prototype, "fileTypes", void 0); tslib_1.__decorate([ I18N(), Option(), tslib_1.__metadata("design:type", String) ], MaterialImageSelector.prototype, "label", void 0); tslib_1.__decorate([ I18N(), Option(), tslib_1.__metadata("design:type", String) ], MaterialImageSelector.prototype, "labelBtn", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", String) ], MaterialImageSelector.prototype, "width", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", String) ], MaterialImageSelector.prototype, "height", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Boolean) ], MaterialImageSelector.prototype, "enableRotate", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Boolean) ], MaterialImageSelector.prototype, "enableZoom", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Boolean) ], MaterialImageSelector.prototype, "showZoomer", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Object) ], MaterialImageSelector.prototype, "mouseWheelZoom", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Object) ], MaterialImageSelector.prototype, "viewport", void 0); tslib_1.__decorate([ Option('load'), tslib_1.__metadata("design:type", EventEmitter) ], MaterialImageSelector.prototype, "loadEvent", void 0); tslib_1.__decorate([ Option('startValidate'), tslib_1.__metadata("design:type", EventEmitter) ], MaterialImageSelector.prototype, "startValidateEvent", void 0); tslib_1.__decorate([ Option('endValidate'), tslib_1.__metadata("design:type", EventEmitter) ], MaterialImageSelector.prototype, "endValidateEvent", void 0); tslib_1.__decorate([ Option('beforeFocus'), tslib_1.__metadata("design:type", EventEmitter) ], MaterialImageSelector.prototype, "beforeFocusEvent", void 0); tslib_1.__decorate([ Option('focus'), tslib_1.__metadata("design:type", EventEmitter) ], MaterialImageSelector.prototype, "focusEvent", void 0); tslib_1.__decorate([ Option('beforeLostFocus'), tslib_1.__metadata("design:type", EventEmitter) ], MaterialImageSelector.prototype, "beforeLostFocusEvent", void 0); tslib_1.__decorate([ Option('lostFocus'), tslib_1.__metadata("design:type", EventEmitter) ], MaterialImageSelector.prototype, "lostFocusEvent", void 0); tslib_1.__decorate([ Option('beforeChange'), tslib_1.__metadata("design:type", EventEmitter) ], MaterialImageSelector.prototype, "beforeChangeEvent", void 0); tslib_1.__decorate([ Option('change'), tslib_1.__metadata("design:type", EventEmitter) ], MaterialImageSelector.prototype, "changeEvent", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", EventEmitter) ], MaterialImageSelector.prototype, "beforeSelectEvent", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", EventEmitter) ], MaterialImageSelector.prototype, "selectEvent", void 0); return MaterialImageSelector; }(AbstracFileSelector)); export { MaterialImageSelector }; function MaterialImageSelector_tsickle_Closure_declarations() { /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */ MaterialImageSelector.decorators; /** * @nocollapse * @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>} */ MaterialImageSelector.ctorParameters; /** @type {!Object<string,!Array<{type: !Function, args: (undefined|!Array<?>)}>>} */ MaterialImageSelector.propDecorators; /** @type {?} */ MaterialImageSelector.TYPE_NAME; /** @type {?} */ MaterialImageSelector.prototype.dataParent; /** @type {?} */ MaterialImageSelector.prototype.ignoreParentData; /** @type {?} */ MaterialImageSelector.prototype.data; /** @type {?} */ MaterialImageSelector.prototype.ignoreParentDisabled; /** @type {?} */ MaterialImageSelector.prototype.delegateHistory; /** @type {?} */ MaterialImageSelector.prototype.onDisabled; /** @type {?} */ MaterialImageSelector.prototype.onEnabled; /** @type {?} */ MaterialImageSelector.prototype.loadingEnabled; /** @type {?} */ MaterialImageSelector.prototype.i18nKey; /** @type {?} */ MaterialImageSelector.prototype.bypass; /** @type {?} */ MaterialImageSelector.prototype.options; /** @type {?} */ MaterialImageSelector.prototype.disabled; /** @type {?} */ MaterialImageSelector.prototype.field; /** @type {?} */ MaterialImageSelector.prototype.name; /** @type {?} */ MaterialImageSelector.prototype.typeOfData; /** @type {?} */ MaterialImageSelector.prototype.readOnly; /** @type {?} */ MaterialImageSelector.prototype.help; /** @type {?} */ MaterialImageSelector.prototype.maxFilesize; /** @type {?} */ MaterialImageSelector.prototype.fileTypes; /** @type {?} */ MaterialImageSelector.prototype.label; /** @type {?} */ MaterialImageSelector.prototype.labelBtn; /** @type {?} */ MaterialImageSelector.prototype.width; /** @type {?} */ MaterialImageSelector.prototype.height; /** @type {?} */ MaterialImageSelector.prototype.enableRotate; /** @type {?} */ MaterialImageSelector.prototype.enableZoom; /** @type {?} */ MaterialImageSelector.prototype.showZoomer; /** @type {?} */ MaterialImageSelector.prototype.mouseWheelZoom; /** @type {?} */ MaterialImageSelector.prototype.viewport; /** @type {?} */ MaterialImageSelector.prototype.loadEvent; /** @type {?} */ MaterialImageSelector.prototype.startValidateEvent; /** @type {?} */ MaterialImageSelector.prototype.endValidateEvent; /** @type {?} */ MaterialImageSelector.prototype.beforeFocusEvent; /** @type {?} */ MaterialImageSelector.prototype.focusEvent; /** @type {?} */ MaterialImageSelector.prototype.beforeLostFocusEvent; /** @type {?} */ MaterialImageSelector.prototype.lostFocusEvent; /** @type {?} */ MaterialImageSelector.prototype.beforeChangeEvent; /** @type {?} */ MaterialImageSelector.prototype.changeEvent; /** @type {?} */ MaterialImageSelector.prototype.beforeSelectEvent; /** @type {?} */ MaterialImageSelector.prototype.selectEvent; /** @type {?} */ MaterialImageSelector.prototype.originalValue; /** @type {?} */ MaterialImageSelector.prototype.imageUpload; /** @type {?} */ MaterialImageSelector.prototype.ngxCroppie; /** @type {?} */ MaterialImageSelector.prototype._croppieImage; /** @type {?} */ MaterialImageSelector.prototype.editedImage; /** @type {?} */ MaterialImageSelector.prototype.onCropImageDone; /** @type {?} */ MaterialImageSelector.prototype.originalFile; /** @type {?} */ MaterialImageSelector.prototype.pictureFrame; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWF0ZXJpYWxJbWFnZVNlbGVjdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2NvbS5waGxveHVpLyIsInNvdXJjZXMiOlsibGliL3RoZW1lL21hdGVyaWFsL2NvbXBvbmVudC9kYXRhdmlldy9pbnB1dC9NYXRlcmlhbEltYWdlU2VsZWN0b3IuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQWtCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0SCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDbkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFNbkYsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNsRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw2REFBNkQsQ0FBQztBQU1sRyxxQkFBTSxTQUFTLEdBQVcseUJBQXlCLENBQUM7O0lBMkVULGlEQUFtQjtJQThKMUQsK0JBQVksVUFBc0IsRUFBRSxnQkFBa0M7ZUFDbEUsa0JBQU0sVUFBVSxFQUFFLGdCQUFnQixDQUFDO0tBQ3RDOzs7O0lBRU0sd0NBQVE7Ozs7UUFDWCxpQkFBTSxRQUFRLFdBQUUsQ0FBQztRQUVqQixJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztRQUM3QixFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxLQUFLLFNBQVMsSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDMUQsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLFdBQVcsRUFBRSxXQUFXLEVBQUUsV0FB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YSxDQUFDOzBDQUNNLFlBQVk7OztRQUV2QyxNQUFNLENBQUMsT0FBTyxDQUFDOzBDQUNNLFlBQVk7OztRQUVqQyxNQUFNLENBQUMsaUJBQWlCLENBQUM7MENBQ00sWUFBWTs7O1FBRTNDLE1BQU0sQ0FBQyxXQUFXLENBQUM7MENBQ00sWUFBWTs7O1FBRXJDLE1BQU0sQ0FBQyxjQUFjLENBQUM7MENBQ00sWUFBWTs7O1FBRXhDLE1BQU0sQ0FBQyxRQUFRLENBQUM7MENBQ00sWUFBWTs7O1FBR2xDLE1BQU0sRUFBRTswQ0FDb0IsWUFBWTs7O1FBRXhDLE1BQU0sRUFBRTswQ0FDYyxZQUFZOztnQ0ExT3ZDO0VBMkYyQyxtQkFBbUI7U0FBakQscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIEVsZW1lbnRSZWYsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgQXBwbGljYXRpb25SZWYsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT3B0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZGVjb3JhdG9yL09wdGlvbi5kZWNvcmF0b3InO1xuaW1wb3J0IHsgTmVlZEZvY3VzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3NlcnZpY2UvTmVlZEZvY3VzU2VydmljZS5zZXJ2aWNlJztcbmltcG9ydCB7IFZhbGlkYXRpb25SZXN1bHQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9jb21wb25lbnQvbW9kZWwvVmFsaWRhdGlvblJlc3VsdCc7XG5pbXBvcnQgeyBJRHJvcHBhYmxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50L0lEcm9wcGFibGUnO1xuaW1wb3J0IHsgRHJhZ0RhdGFUcmFuc2ZlciB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudC9tb2RlbC9EcmFnRGF0YVRyYW5zZmVyJztcbmltcG9ydCB7IENyb3BwaWVPcHRpb25zLCBSZXN1bHRPcHRpb25zLCBDcm9wRGF0YSB9IGZyb20gJ2Nyb3BwaWUnO1xuaW1wb3J0IHsgSUhhc0RhdGEgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9jb21wb25lbnQvSUhhc0RhdGEnO1xuaW1wb3J0IHsgSTE4TiB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2RlY29yYXRvci9JMThOLmRlY29yYXRvcic7XG5pbXBvcnQgeyBOZ3hDcm9wcGllQ29tcG9uZW50IH0gZnJvbSAnbmd4LWNyb3BwaWUnO1xuaW1wb3J0IHsgQWJzdHJhY0ZpbGVTZWxlY3RvciB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudC9kYXRhdmlldy9pbnB1dC9BYnN0cmFjRmlsZVNlbGVjdG9yJztcbmltcG9ydCB7IEFic3RyYWN0RGF0YVZpZXcgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9jb21wb25lbnQvY29tcG9uZW50cyc7XG5pbXBvcnQgeyBBYnN0cmFjdElucHV0RGF0YVZpZXcgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9kaXN0L2xpYi9saWIvbGlicyc7XG5cbmRlY2xhcmUgdmFyICQ6IGFueTtcblxuY29uc3QgVFlQRV9OQU1FOiBzdHJpbmcgPSBcIm1hdGVyaWFsLWltYWdlLXNlbGVjdG9yXCI7XG5cbkBDb21wb25lbnQoe1xuICAgIG1vZHVsZUlkOiBtb2R1bGUuaWQsXG4gICAgc2VsZWN0b3I6IFRZUEVfTkFNRSxcbiAgICB0ZW1wbGF0ZTogYDxkaXYgY2xhc3M9XCJtYXRlcmlhbC1p