UNPKG

@noaestudio/forms

Version:

Dynamic forms extension for Covalent

108 lines (105 loc) 8.88 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes} checked by tsc */ import { Component, forwardRef, ChangeDetectorRef } from '@angular/core'; import { NG_VALUE_ACCESSOR } from '@angular/forms'; import { AbstractControlValueAccessor } from '../abstract-control-value-accesor'; import * as _isjson_ from 'is-json'; const /** @type {?} */ isJSON = _isjson_; export const /** @type {?} */ SELECT_TOGGLE_INPUT_CONTROL_VALUE_ACCESSOR = { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => GallerySelectorComponent), multi: true, }; export class GallerySelectorComponent extends AbstractControlValueAccessor { /** * @param {?} changeDetector */ constructor(changeDetector) { super(); this.changeDetector = changeDetector; this.label = ''; this.required = undefined; this.flex = 100; this.flexPerc = this.flex / 100; this.id = ''; this.thumb = ''; } /** * @param {?} result * @return {?} */ assignValue(result) { this.value = result; this.control.setValue(this.value); if (result.id) { this.id = result.id; } if (result.thumb) { this.thumb = result.thumb; } } /** * @return {?} */ ngOnInit() { this.assignValue(this.value); } /** * @return {?} */ openGallery() { this.action(this.control.parent.value).then(result => { if (result != null && result != undefined && result != {}) { this.assignValue(result); } this.changeDetector.detectChanges(); }); } } GallerySelectorComponent.decorators = [ { type: Component, args: [{ providers: [SELECT_TOGGLE_INPUT_CONTROL_VALUE_ACCESSOR], selector: 'gallery-selector', styles: [`.td-dynamic-gallery-selector-wrapper{-ms-flex-direction:row;flex-direction:row;display:-ms-flexbox;display:flex;box-sizing:border-box}.td-dynamic-gallery-selector-wrapper img{background:#ddd;width:36px;height:36px;border-radius:5px;margin-right:10px}`], template: `<div class="td-dynamic-gallery-selector-wrapper"> <img [src]="thumb" /> <button mat-raised-button color="primary" (click)="openGallery()"> {{label}} </button> </div>`, },] }, ]; /** @nocollapse */ GallerySelectorComponent.ctorParameters = () => [ { type: ChangeDetectorRef, }, ]; function GallerySelectorComponent_tsickle_Closure_declarations() { /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */ GallerySelectorComponent.decorators; /** * @nocollapse * @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>} */ GallerySelectorComponent.ctorParameters; /** @type {?} */ GallerySelectorComponent.prototype.control; /** @type {?} */ GallerySelectorComponent.prototype.label; /** @type {?} */ GallerySelectorComponent.prototype.required; /** @type {?} */ GallerySelectorComponent.prototype.flex; /** @type {?} */ GallerySelectorComponent.prototype.flexPerc; /** @type {?} */ GallerySelectorComponent.prototype.id; /** @type {?} */ GallerySelectorComponent.prototype.thumb; /** @type {?} */ GallerySelectorComponent.prototype.action; /** @type {?} */ GallerySelectorComponent.prototype.changeDetector; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2FsbGVyeS1zZWxlY3Rvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY292YWxlbnQvZHluYW1pYy1mb3Jtcy8iLCJzb3VyY2VzIjpbImR5bmFtaWMtZWxlbWVudHMvZ2FsbGVyeS1zZWxlY3Rvci9nYWxsZXJ5LXNlbGVjdG9yLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekUsT0FBTyxFQUFFLGlCQUFpQixFQUFxQyxNQUFNLGdCQUFnQixDQUFDO0FBRXRGLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBSWpGLE9BQU8sS0FBSyxRQUFRLE1BQU0sU0FBUyxDQUFDO0FBR3BDLHVCQUFNLE1BQU0sR0FBRyxRQUFRLENBQUM7QUFFeEIsTUFBTSxDQUFDLHVCQUFNLDBDQUEwQyxHQUFRO0lBQzlELE9BQU8sRUFBRSxpQkFBaUI7SUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztJQUN2RCxLQUFLLEVBQUUsSUFBSTtDQUNYLENBQUM7QUFlRixNQUFNLCtCQUFnQyxTQUFRLDRCQUE0Qjs7OztJQTZCekUsWUFBb0IsY0FBaUM7UUFDcEQsS0FBSyxFQUFFLENBQUM7UUFEVyxtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7cUJBekJyQyxFQUFFO3dCQUVFLFNBQVM7b0JBRWIsR0FBRzt3QkFFQyxJQUFJLENBQUMsSUFBSSxHQUFHLEdBQUc7a0JBRXhCLEVBQUU7cUJBQ0ksRUFBRTtLQWtCbEI7Ozs7O0lBZE8sV0FBVyxDQUFDLE1BQVk7UUFDL0IsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUM7UUFDcEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ2YsSUFBSSxDQUFDLEVBQUUsR0FBRyxNQUFNLENBQUMsRUFBRSxDQUFDO1NBQ3BCO1FBQ0QsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDbEIsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO1NBQzFCOzs7OztJQVFGLFFBQVE7UUFDUCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztLQUM3Qjs7OztJQUVNLFdBQVc7UUFDakIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUUsTUFBTSxDQUFDLEVBQUU7WUFDckQsRUFBRSxDQUFDLENBQUMsTUFBTSxJQUFJLElBQUksSUFBSSxNQUFNLElBQUksU0FBUyxJQUFJLE1BQU0sSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUMzRCxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQ3pCO1lBQ0QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLEVBQUUsQ0FBQztTQUNwQyxDQUFDLENBQUM7Ozs7WUF4REosU0FBUyxTQUFDO2dCQUNWLFNBQVMsRUFBRSxDQUFFLDBDQUEwQyxDQUFFO2dCQUN6RCxRQUFRLEVBQUUsa0JBQWtCO2dCQUM1QixNQUFNLEVBQUUsQ0FBQyw0UEFBNFAsQ0FBQztnQkFDdFEsUUFBUSxFQUFFOzs7Ozs7O09BT0o7YUFDTjs7OztZQTlCK0IsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sVmFsdWVBY2Nlc3NvciB9IGZyb20gJy4uL2Fic3RyYWN0LWNvbnRyb2wtdmFsdWUtYWNjZXNvcic7XHJcblxyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcblxyXG5pbXBvcnQgKiBhcyBfaXNqc29uXyBmcm9tICdpcy1qc29uJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwnO1xyXG5cclxuY29uc3QgaXNKU09OID0gX2lzanNvbl87XHJcblxyXG5leHBvcnQgY29uc3QgU0VMRUNUX1RPR0dMRV9JTlBVVF9DT05UUk9MX1ZBTFVFX0FDQ0VTU09SOiBhbnkgPSB7XHJcblx0cHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcblx0dXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gR2FsbGVyeVNlbGVjdG9yQ29tcG9uZW50KSxcclxuXHRtdWx0aTogdHJ1ZSxcclxufTtcclxuXHJcbkBDb21wb25lbnQoe1xyXG5cdHByb3ZpZGVyczogWyBTRUxFQ1RfVE9HR0xFX0lOUFVUX0NPTlRST0xfVkFMVUVfQUNDRVNTT1IgXSxcclxuXHRzZWxlY3RvcjogJ2dhbGxlcnktc2VsZWN0b3InLFxyXG5cdHN0eWxlczogW2AudGQtZHluYW1pYy1nYWxsZXJ5LXNlbGVjdG9yLXdyYXBwZXJ7LW1zLWZsZXgtZGlyZWN0aW9uOnJvdztmbGV4LWRpcmVjdGlvbjpyb3c7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7Ym94LXNpemluZzpib3JkZXItYm94fS50ZC1keW5hbWljLWdhbGxlcnktc2VsZWN0b3Itd3JhcHBlciBpbWd7YmFja2dyb3VuZDojZGRkO3dpZHRoOjM2cHg7aGVpZ2h0OjM2cHg7Ym9yZGVyLXJhZGl1czo1cHg7bWFyZ2luLXJpZ2h0OjEwcHh9YF0sXHJcblx0dGVtcGxhdGU6IGA8ZGl2IGNsYXNzPVwidGQtZHluYW1pYy1nYWxsZXJ5LXNlbGVjdG9yLXdyYXBwZXJcIj5cclxuXHRcclxuXHQ8aW1nIFtzcmNdPVwidGh1bWJcIiAvPlxyXG5cdDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgKGNsaWNrKT1cIm9wZW5HYWxsZXJ5KClcIj5cclxuXHRcdHt7bGFiZWx9fVxyXG5cdDwvYnV0dG9uPlxyXG5cclxuPC9kaXY+YCxcclxufSlcclxuZXhwb3J0IGNsYXNzIEdhbGxlcnlTZWxlY3RvckNvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0Q29udHJvbFZhbHVlQWNjZXNzb3IgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcblxyXG5cdGNvbnRyb2w6IEZvcm1Db250cm9sO1xyXG5cclxuXHRsYWJlbDogc3RyaW5nID0gJyc7XHJcblxyXG5cdHJlcXVpcmVkOiBib29sZWFuID0gdW5kZWZpbmVkO1xyXG5cclxuXHRmbGV4IDogbnVtYmVyID0gMTAwO1xyXG5cclxuXHRmbGV4UGVyYyA6IG51bWJlciA9IHRoaXMuZmxleCAvIDEwMDtcclxuXHJcblx0aWQgOiBhbnkgPSAnJztcclxuXHR0aHVtYiA6IHN0cmluZyA9ICcnO1xyXG5cclxuXHRhY3Rpb24gOiAodmFsdWU/OiBhbnkpID0+IFByb21pc2U8YW55PjtcclxuXHJcblx0cHJpdmF0ZSBhc3NpZ25WYWx1ZShyZXN1bHQgOiBhbnkpIHtcclxuXHRcdHRoaXMudmFsdWUgPSByZXN1bHQ7XHJcblx0XHR0aGlzLmNvbnRyb2wuc2V0VmFsdWUodGhpcy52YWx1ZSk7XHJcblx0XHRpZiAocmVzdWx0LmlkKSB7XHJcblx0XHRcdHRoaXMuaWQgPSByZXN1bHQuaWQ7XHJcblx0XHR9XHJcblx0XHRpZiAocmVzdWx0LnRodW1iKSB7XHJcblx0XHRcdHRoaXMudGh1bWIgPSByZXN1bHQudGh1bWI7XHJcblx0XHR9XHJcblxyXG5cdH1cclxuXHJcblx0Y29uc3RydWN0b3IocHJpdmF0ZSBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcclxuXHRcdHN1cGVyKCk7XHJcblx0fVxyXG5cclxuXHRuZ09uSW5pdCgpIHtcclxuXHRcdHRoaXMuYXNzaWduVmFsdWUodGhpcy52YWx1ZSk7XHJcblx0fVxyXG5cclxuXHRwdWJsaWMgb3BlbkdhbGxlcnkoKSB7XHJcblx0XHR0aGlzLmFjdGlvbih0aGlzLmNvbnRyb2wucGFyZW50LnZhbHVlKS50aGVuKCByZXN1bHQgPT4ge1xyXG5cdFx0XHRpZiAocmVzdWx0ICE9IG51bGwgJiYgcmVzdWx0ICE9IHVuZGVmaW5lZCAmJiByZXN1bHQgIT0ge30pIHtcclxuXHRcdFx0XHR0aGlzLmFzc2lnblZhbHVlKHJlc3VsdCk7XHJcblx0XHRcdH1cclxuXHRcdFx0dGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XHJcblx0XHR9KTtcclxuXHJcblx0fVxyXG59XHJcbiJdfQ==