@noaestudio/forms
Version:
Dynamic forms extension for Covalent
108 lines (105 loc) • 8.88 kB
JavaScript
/**
* @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==