@acrodata/gui
Version:
JSON powered GUI for configurable panels.
43 lines • 4.39 kB
JavaScript
import { HttpResponse } from '@angular/common/http';
import { Injectable } from '@angular/core';
import { map } from 'rxjs';
import * as i0 from "@angular/core";
import * as i1 from "@angular/common/http";
export class GuiFileUploaderConfig {
constructor(http) {
this.http = http;
/**
* The file upload URL
*/
this.url = '';
}
/**
* The File upload API
*
* @param formData The FormData with file binary
* @param config The custom upload config that passed from component input
* @returns The uploaded file url stream
*/
upload(formData, config) {
return this.http
.post(this.url, formData, {
reportProgress: true,
observe: 'events',
})
.pipe(map(res => {
if (res instanceof HttpResponse && res.body) {
return res.body.url;
}
return null;
}));
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GuiFileUploaderConfig, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GuiFileUploaderConfig, providedIn: 'root' }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GuiFileUploaderConfig, decorators: [{
type: Injectable,
args: [{
providedIn: 'root',
}]
}], ctorParameters: () => [{ type: i1.HttpClient }] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWRlci1jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9ndWkvZmlsZS11cGxvYWRlci9maWxlLXVwbG9hZGVyLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7QUFZM0IsTUFBTSxPQUFPLHFCQUFxQjtJQUNoQyxZQUFzQixJQUFnQjtRQUFoQixTQUFJLEdBQUosSUFBSSxDQUFZO1FBRXRDOztXQUVHO1FBQ0gsUUFBRyxHQUFHLEVBQUUsQ0FBQztJQUxnQyxDQUFDO0lBTzFDOzs7Ozs7T0FNRztJQUNILE1BQU0sQ0FBQyxRQUFrQixFQUFFLE1BQTJCO1FBQ3BELE9BQU8sSUFBSSxDQUFDLElBQUk7YUFDYixJQUFJLENBQXlCLElBQUksQ0FBQyxHQUFHLEVBQUUsUUFBUSxFQUFFO1lBQ2hELGNBQWMsRUFBRSxJQUFJO1lBQ3BCLE9BQU8sRUFBRSxRQUFRO1NBQ2xCLENBQUM7YUFDRCxJQUFJLENBQ0gsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ1IsSUFBSSxHQUFHLFlBQVksWUFBWSxJQUFJLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDNUMsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztZQUN0QixDQUFDO1lBQ0QsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ04sQ0FBQzsrR0E3QlUscUJBQXFCO21IQUFyQixxQkFBcUIsY0FGcEIsTUFBTTs7NEZBRVAscUJBQXFCO2tCQUhqQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgR3VpQ29udHJvbCB9IGZyb20gJy4uL2ludGVyZmFjZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmlsZVVwbG9hZFJlc3BvbnNlQm9keSB7XG4gIGJ5dGVzOiBudW1iZXI7XG4gIG1pbWU6IHN0cmluZztcbiAgdXJsOiBzdHJpbmc7XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBHdWlGaWxlVXBsb2FkZXJDb25maWcge1xuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgaHR0cDogSHR0cENsaWVudCkge31cblxuICAvKipcbiAgICogIFRoZSBmaWxlIHVwbG9hZCBVUkxcbiAgICovXG4gIHVybCA9ICcnO1xuXG4gIC8qKlxuICAgKiBUaGUgRmlsZSB1cGxvYWQgQVBJXG4gICAqXG4gICAqIEBwYXJhbSBmb3JtRGF0YSBUaGUgRm9ybURhdGEgd2l0aCBmaWxlIGJpbmFyeVxuICAgKiBAcGFyYW0gY29uZmlnICAgVGhlIGN1c3RvbSB1cGxvYWQgY29uZmlnIHRoYXQgcGFzc2VkIGZyb20gY29tcG9uZW50IGlucHV0XG4gICAqIEByZXR1cm5zICAgICAgICBUaGUgdXBsb2FkZWQgZmlsZSB1cmwgc3RyZWFtXG4gICAqL1xuICB1cGxvYWQoZm9ybURhdGE6IEZvcm1EYXRhLCBjb25maWc6IFBhcnRpYWw8R3VpQ29udHJvbD4pIHtcbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAucG9zdDxGaWxlVXBsb2FkUmVzcG9uc2VCb2R5Pih0aGlzLnVybCwgZm9ybURhdGEsIHtcbiAgICAgICAgcmVwb3J0UHJvZ3Jlc3M6IHRydWUsXG4gICAgICAgIG9ic2VydmU6ICdldmVudHMnLFxuICAgICAgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAocmVzID0+IHtcbiAgICAgICAgICBpZiAocmVzIGluc3RhbmNlb2YgSHR0cFJlc3BvbnNlICYmIHJlcy5ib2R5KSB7XG4gICAgICAgICAgICByZXR1cm4gcmVzLmJvZHkudXJsO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cbn1cbiJdfQ==