UNPKG

angular-upcrop

Version:

Library with upload and crop feature for Angular 6+

88 lines (87 loc) 7.1 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc */ import { Injectable } from '@angular/core'; import { MatDialog } from "@angular/material"; import { UpcropDialogComponent } from './upcrop-dialog/upcrop-dialog.component'; export class UpcropService { /** * @param {?} dialog */ constructor(dialog) { this.dialog = dialog; this.dialogConfig = { width: '80%' }; this.uploadConfig = { url: null, authToken: null, autoUpload: false, additionalParameter: {}, withCredentials: false }; this.cropConfig = { movable: true, scalable: true, zoomable: true, viewMode: 1, autoCrop: true, autoCropArea: 1 }; } /** * @param {?=} dialogConfig * @param {?=} uploadConfig * @param {?=} cropConfig * @return {?} */ open(dialogConfig = this.dialogConfig, uploadConfig = this.uploadConfig, cropConfig = this.cropConfig) { // // Merge config this.uploadConfig = Object.assign(this.uploadConfig, uploadConfig); this.cropConfig = Object.assign(this.cropConfig, cropConfig); this.dialogConfig = Object.assign({}, this.dialogConfig, dialogConfig, { data: { uploadConfig: this.uploadConfig, cropConfig: this.cropConfig } }); // // Create promise to return the dialog result return new Promise((resolve, reject) => { /** @type {?} */ let dialogRef = this.dialog.open(UpcropDialogComponent, this.dialogConfig); // // Subscribe to on close event dialogRef.afterClosed().subscribe(result => { // // Validate result if (result) { resolve(result); } else { reject(); } }); }); } } UpcropService.decorators = [ { type: Injectable }, ]; /** @nocollapse */ UpcropService.ctorParameters = () => [ { type: MatDialog } ]; if (false) { /** @type {?} */ UpcropService.prototype.dialogConfig; /** @type {?} */ UpcropService.prototype.uploadConfig; /** @type {?} */ UpcropService.prototype.cropConfig; /** @type {?} */ UpcropService.prototype.dialog; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBjcm9wLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbmd1bGFyLXVwY3JvcC8iLCJzb3VyY2VzIjpbImxpYi91cGNyb3Auc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDOUMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFHaEYsTUFBTTs7OztJQXFCRixZQUNXO1FBQUEsV0FBTSxHQUFOLE1BQU07NEJBcEJVO1lBQ3ZCLEtBQUssRUFBRSxLQUFLO1NBQ2Y7NEJBQzBCO1lBQ3ZCLEdBQUcsRUFBRSxJQUFJO1lBQ1QsU0FBUyxFQUFFLElBQUk7WUFDZixVQUFVLEVBQUUsS0FBSztZQUNqQixtQkFBbUIsRUFBRSxFQUFFO1lBQ3ZCLGVBQWUsRUFBRSxLQUFLO1NBQ3pCOzBCQUN3QjtZQUNyQixPQUFPLEVBQUUsSUFBSTtZQUNiLFFBQVEsRUFBRSxJQUFJO1lBQ2QsUUFBUSxFQUFFLElBQUk7WUFDZCxRQUFRLEVBQUUsQ0FBQztZQUNYLFFBQVEsRUFBRSxJQUFJO1lBQ2QsWUFBWSxFQUFFLENBQUM7U0FDbEI7S0FJSTs7Ozs7OztJQUVMLElBQUksQ0FDQSxlQUFvQixJQUFJLENBQUMsWUFBWSxFQUNyQyxlQUFvQixJQUFJLENBQUMsWUFBWSxFQUNyQyxhQUFrQixJQUFJLENBQUMsVUFBVTs7O1FBS2pDLElBQUksQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQ25FLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzdELElBQUksQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxZQUFZLEVBQUU7WUFDbkUsSUFBSSxFQUFFO2dCQUNGLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWTtnQkFDL0IsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO2FBQzlCO1NBQ0osQ0FBQyxDQUFDOzs7UUFJSCxNQUFNLENBQUMsSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7O1lBSW5DLElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLHFCQUFxQixFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQzs7O1lBSTNFLFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUU7OztnQkFJdkMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztvQkFDVCxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7aUJBQ25CO2dCQUFDLElBQUksQ0FBQyxDQUFDO29CQUNKLE1BQU0sRUFBRSxDQUFDO2lCQUNaO2FBQ0osQ0FBQyxDQUFDO1NBQ04sQ0FBQyxDQUFDO0tBQ047OztZQWhFSixVQUFVOzs7O1lBSEYsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbFwiO1xuaW1wb3J0IHsgVXBjcm9wRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi91cGNyb3AtZGlhbG9nL3VwY3JvcC1kaWFsb2cuY29tcG9uZW50JztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFVwY3JvcFNlcnZpY2Uge1xuXG4gICAgcHVibGljIGRpYWxvZ0NvbmZpZzogYW55ID0ge1xuICAgICAgICB3aWR0aDogJzgwJSdcbiAgICB9O1xuICAgIHB1YmxpYyB1cGxvYWRDb25maWc6IGFueSA9IHtcbiAgICAgICAgdXJsOiBudWxsLFxuICAgICAgICBhdXRoVG9rZW46IG51bGwsXG4gICAgICAgIGF1dG9VcGxvYWQ6IGZhbHNlLFxuICAgICAgICBhZGRpdGlvbmFsUGFyYW1ldGVyOiB7fSxcbiAgICAgICAgd2l0aENyZWRlbnRpYWxzOiBmYWxzZVxuICAgIH07XG4gICAgcHVibGljIGNyb3BDb25maWc6IGFueSA9IHtcbiAgICAgICAgbW92YWJsZTogdHJ1ZSxcbiAgICAgICAgc2NhbGFibGU6IHRydWUsXG4gICAgICAgIHpvb21hYmxlOiB0cnVlLFxuICAgICAgICB2aWV3TW9kZTogMSxcbiAgICAgICAgYXV0b0Nyb3A6IHRydWUsXG4gICAgICAgIGF1dG9Dcm9wQXJlYTogMVxuICAgIH07XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIGRpYWxvZzogTWF0RGlhbG9nXG4gICAgKSB7IH1cblxuICAgIG9wZW4oXG4gICAgICAgIGRpYWxvZ0NvbmZpZzogYW55ID0gdGhpcy5kaWFsb2dDb25maWcsXG4gICAgICAgIHVwbG9hZENvbmZpZzogYW55ID0gdGhpcy51cGxvYWRDb25maWcsXG4gICAgICAgIGNyb3BDb25maWc6IGFueSA9IHRoaXMuY3JvcENvbmZpZ1xuICAgICkge1xuXG4gICAgICAgIC8vXG4gICAgICAgIC8vIE1lcmdlIGNvbmZpZ1xuICAgICAgICB0aGlzLnVwbG9hZENvbmZpZyA9IE9iamVjdC5hc3NpZ24odGhpcy51cGxvYWRDb25maWcsIHVwbG9hZENvbmZpZyk7XG4gICAgICAgIHRoaXMuY3JvcENvbmZpZyA9IE9iamVjdC5hc3NpZ24odGhpcy5jcm9wQ29uZmlnLCBjcm9wQ29uZmlnKTtcbiAgICAgICAgdGhpcy5kaWFsb2dDb25maWcgPSBPYmplY3QuYXNzaWduKHt9LCB0aGlzLmRpYWxvZ0NvbmZpZywgZGlhbG9nQ29uZmlnLCB7XG4gICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAgdXBsb2FkQ29uZmlnOiB0aGlzLnVwbG9hZENvbmZpZyxcbiAgICAgICAgICAgICAgICBjcm9wQ29uZmlnOiB0aGlzLmNyb3BDb25maWdcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy9cbiAgICAgICAgLy8gQ3JlYXRlIHByb21pc2UgdG8gcmV0dXJuIHRoZSBkaWFsb2cgcmVzdWx0XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG5cbiAgICAgICAgICAgIC8vXG4gICAgICAgICAgICAvLyBPcGVuIGNvbmZpcm1hdGlvbiBkaWFsb2dcbiAgICAgICAgICAgIGxldCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKFVwY3JvcERpYWxvZ0NvbXBvbmVudCwgdGhpcy5kaWFsb2dDb25maWcpO1xuXG4gICAgICAgICAgICAvL1xuICAgICAgICAgICAgLy8gU3Vic2NyaWJlIHRvIG9uIGNsb3NlIGV2ZW50XG4gICAgICAgICAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUocmVzdWx0ID0+IHtcblxuICAgICAgICAgICAgICAgIC8vXG4gICAgICAgICAgICAgICAgLy8gVmFsaWRhdGUgcmVzdWx0XG4gICAgICAgICAgICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICAgICAgICAgICAgICByZXNvbHZlKHJlc3VsdCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmVqZWN0KCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==