ngx-schema-forms
Version:
New features: - Ajv schema validator. - Angular forms compatible: Property tree is created using FormGroup, FormArray and FormControl classes. - Array now properly loads initial data from model. - WidgetTyep: WidgetRegistry now supports WidgetType, now wo
75 lines (74 loc) • 4.36 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
*/
import * as tslib_1 from "tslib";
import { FormControl } from '@angular/forms';
import { PropertyWidget } from './widget';
// unsupported: template constraints.
/**
* @abstract
* @template T
*/
var
// unsupported: template constraints.
/**
* @abstract
* @template T
*/
FileWidget = /** @class */ (function (_super) {
tslib_1.__extends(FileWidget, _super);
function FileWidget() {
var _this = _super !== null && _super.apply(this, arguments) || this;
_this.reader = new FileReader();
_this.filedata = {};
_this.fileName = new FormControl();
return _this;
}
/**
* @return {?}
*/
FileWidget.prototype.ngAfterViewInit = /**
* @return {?}
*/
function () {
var _this = this;
this.reader.onloadend = function () {
_this.filedata.data = btoa(_this.reader.result);
_this.formProperty.setValue(_this.filedata);
};
};
/**
* @param {?} $event
* @return {?}
*/
FileWidget.prototype.onFileChange = /**
* @param {?} $event
* @return {?}
*/
function ($event) {
/** @type {?} */
var file = $event.target.files[0];
this.filedata.filename = file.name;
this.filedata.size = file.size;
this.filedata['content-type'] = file.type;
this.filedata.encoding = 'base64';
this.reader.readAsBinaryString(file);
};
return FileWidget;
}(PropertyWidget));
// unsupported: template constraints.
/**
* @abstract
* @template T
*/
export { FileWidget };
if (false) {
/** @type {?} */
FileWidget.prototype.reader;
/** @type {?} */
FileWidget.prototype.filedata;
/** @type {?} */
FileWidget.prototype.fileName;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS53aWRnZXQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtc2NoZW1hLWZvcm1zLyIsInNvdXJjZXMiOlsibGliL3dpZGdldHMvYmFzZS9maWxlLndpZGdldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3QyxPQUFPLEVBQUUsY0FBYyxFQUFVLE1BQU0sVUFBVSxDQUFDOzs7Ozs7QUFFbEQ7Ozs7OztBQUFBO0lBQ1Esc0NBQWlCOzs7dUJBRUosSUFBSSxVQUFVLEVBQUU7eUJBQ1QsRUFBRTt5QkFDakIsSUFBSSxXQUFXLEVBQUU7Ozs7OztJQUU1QixvQ0FBZTs7O0lBQWY7UUFBQSxpQkFLQztRQUpDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxHQUFHO1lBQ3RCLEtBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzlDLEtBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLEtBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUMzQyxDQUFDO0tBQ0g7Ozs7O0lBRUQsaUNBQVk7Ozs7SUFBWixVQUFhLE1BQU07O1FBQ2pCLElBQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDbkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUMvQixJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDMUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDdEM7cUJBMUJIO0VBTVEsY0FBYyxFQXFCckIsQ0FBQTs7Ozs7O0FBdEJELHNCQXNCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBQcm9wZXJ0eVdpZGdldCwgV2lkZ2V0IH0gZnJvbSAnLi93aWRnZXQnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRmlsZVdpZGdldDxUIGV4dGVuZHMgV2lkZ2V0ID0gV2lkZ2V0PlxuZXh0ZW5kcyBQcm9wZXJ0eVdpZGdldDxUPiBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuXG4gIHByb3RlY3RlZCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xuICBwcm90ZWN0ZWQgZmlsZWRhdGE6IGFueSA9IHt9O1xuICBmaWxlTmFtZSA9IG5ldyBGb3JtQ29udHJvbCgpO1xuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLnJlYWRlci5vbmxvYWRlbmQgPSAoKSA9PiB7XG4gICAgICB0aGlzLmZpbGVkYXRhLmRhdGEgPSBidG9hKHRoaXMucmVhZGVyLnJlc3VsdCk7XG4gICAgICB0aGlzLmZvcm1Qcm9wZXJ0eS5zZXRWYWx1ZSh0aGlzLmZpbGVkYXRhKTtcbiAgICB9O1xuICB9XG5cbiAgb25GaWxlQ2hhbmdlKCRldmVudCkge1xuICAgIGNvbnN0IGZpbGUgPSAkZXZlbnQudGFyZ2V0LmZpbGVzWzBdO1xuICAgIHRoaXMuZmlsZWRhdGEuZmlsZW5hbWUgPSBmaWxlLm5hbWU7XG4gICAgdGhpcy5maWxlZGF0YS5zaXplID0gZmlsZS5zaXplO1xuICAgIHRoaXMuZmlsZWRhdGFbJ2NvbnRlbnQtdHlwZSddID0gZmlsZS50eXBlO1xuICAgIHRoaXMuZmlsZWRhdGEuZW5jb2RpbmcgPSAnYmFzZTY0JztcbiAgICB0aGlzLnJlYWRlci5yZWFkQXNCaW5hcnlTdHJpbmcoZmlsZSk7XG4gIH1cbn1cbiJdfQ==