UNPKG

angular-upcrop

Version:

Library with upload and crop feature for Angular 6+

60 lines (59 loc) 3.75 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc */ import { Directive, Input, ElementRef, Renderer2 } from '@angular/core'; export class UpcropImagePreviewDirective { /** * @param {?} el * @param {?} renderer */ constructor(el, renderer) { this.el = el; this.renderer = renderer; } /** * Ng on changes * Read file when image changes * @param {?} changes * @return {?} */ ngOnChanges(changes) { /** @type {?} */ let reader = new FileReader(); /** @type {?} */ let el = this.el; // // On load reader.onloadend = function (e) { el.nativeElement.src = reader.result; }; // // Validate if (this.image) { return reader.readAsDataURL(this.image); } } } UpcropImagePreviewDirective.decorators = [ { type: Directive, args: [{ selector: 'img[upcropImagePreview]' },] }, ]; /** @nocollapse */ UpcropImagePreviewDirective.ctorParameters = () => [ { type: ElementRef }, { type: Renderer2 } ]; UpcropImagePreviewDirective.propDecorators = { image: [{ type: Input }] }; if (false) { /** @type {?} */ UpcropImagePreviewDirective.prototype.image; /** @type {?} */ UpcropImagePreviewDirective.prototype.el; /** @type {?} */ UpcropImagePreviewDirective.prototype.renderer; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBjcm9wLWltYWdlLXByZXZpZXcuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vYW5ndWxhci11cGNyb3AvIiwic291cmNlcyI6WyJsaWIvdXBjcm9wLWltYWdlLXByZXZpZXcvdXBjcm9wLWltYWdlLXByZXZpZXcuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUt2RixNQUFNOzs7OztJQUlGLFlBQ1ksSUFDQTtRQURBLE9BQUUsR0FBRixFQUFFO1FBQ0YsYUFBUSxHQUFSLFFBQVE7S0FDZjs7Ozs7OztJQU9MLFdBQVcsQ0FBQyxPQUFzQjs7UUFJOUIsSUFBSSxNQUFNLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQzs7UUFDOUIsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQzs7O1FBSWpCLE1BQU0sQ0FBQyxTQUFTLEdBQUcsVUFBVSxDQUFDO1lBQzFCLEVBQUUsQ0FBQyxhQUFhLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7U0FDeEMsQ0FBQzs7O1FBSUYsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDYixNQUFNLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDM0M7S0FFSjs7O1lBcENKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUseUJBQXlCO2FBQ3RDOzs7O1lBSjBCLFVBQVU7WUFBRSxTQUFTOzs7b0JBTzNDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LCBFbGVtZW50UmVmLCBSZW5kZXJlcjIsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdpbWdbdXBjcm9wSW1hZ2VQcmV2aWV3XSdcbn0pXG5leHBvcnQgY2xhc3MgVXBjcm9wSW1hZ2VQcmV2aWV3RGlyZWN0aXZlIHtcblxuICAgIEBJbnB1dCgpIHB1YmxpYyBpbWFnZTogYW55O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgZWw6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMlxuICAgICkgeyB9XG5cbiAgICAvKipcbiAgICAgKiBOZyBvbiBjaGFuZ2VzXG4gICAgICogUmVhZCBmaWxlIHdoZW4gaW1hZ2UgY2hhbmdlc1xuICAgICAqIEBwYXJhbSBjaGFuZ2VzXG4gICAgICovXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuXG4gICAgICAgIC8vXG4gICAgICAgIC8vIFNldCBlbGVtZW50IGFuZCBmaWxlIHJlYWRlclxuICAgICAgICBsZXQgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICAgICAgbGV0IGVsID0gdGhpcy5lbDtcblxuICAgICAgICAvL1xuICAgICAgICAvLyBPbiBsb2FkXG4gICAgICAgIHJlYWRlci5vbmxvYWRlbmQgPSBmdW5jdGlvbiAoZSkge1xuICAgICAgICAgICAgZWwubmF0aXZlRWxlbWVudC5zcmMgPSByZWFkZXIucmVzdWx0O1xuICAgICAgICB9O1xuXG4gICAgICAgIC8vXG4gICAgICAgIC8vIFZhbGlkYXRlXG4gICAgICAgIGlmICh0aGlzLmltYWdlKSB7XG4gICAgICAgICAgICByZXR1cm4gcmVhZGVyLnJlYWRBc0RhdGFVUkwodGhpcy5pbWFnZSk7XG4gICAgICAgIH1cblxuICAgIH1cbn1cbiJdfQ==