UNPKG

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
/** * @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==