UNPKG

@hpe/angular-toolkit

Version:

Hewlett-Packard Enterprise : Angular toolkit for rapid project development

105 lines (104 loc) 8.61 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes} checked by tsc */ //============================================================================= //=== //=== (C) Copyright 2018 Hewlett Packard Enterprise Development LP. //=== //=== Use of this source code is governed by an MIT-style license that can be //=== found in the LICENSE file //============================================================================= import { Input } from '@angular/core'; /** * @abstract */ export class AbstractFormComponent { constructor() { this.enabled = true; this._required = false; } /** * @param {?} fn * @return {?} */ registerOnChange(fn) { this.onChange = fn; } /** * @param {?} fn * @return {?} */ registerOnTouched(fn) { } /** * @return {?} */ getComponentClass() { let /** @type {?} */ styles = ['control']; if (this.enabled) { if (this.required) { if (this.isProvided()) { styles.push("provided"); } else { styles.push("required"); } } } else { styles.push("disabled"); } return styles; } /** * @return {?} */ get required() { return this._required; } /** * @param {?} value * @return {?} */ set required(value) { let /** @type {?} */ str = "" + value; if (str == "") { //--- Ok, '' means value not provided --> true value = true; } this._required = value; } } AbstractFormComponent.propDecorators = { "icon": [{ type: Input },], "label": [{ type: Input },], "enabled": [{ type: Input },], "required": [{ type: Input },], }; function AbstractFormComponent_tsickle_Closure_declarations() { /** @type {!Object<string,!Array<{type: !Function, args: (undefined|!Array<?>)}>>} */ AbstractFormComponent.propDecorators; /** @type {?} */ AbstractFormComponent.prototype.icon; /** @type {?} */ AbstractFormComponent.prototype.label; /** @type {?} */ AbstractFormComponent.prototype.enabled; /** @type {?} */ AbstractFormComponent.prototype._required; /** @type {?} */ AbstractFormComponent.prototype.onChange; /** * @abstract * @param {?} value * @return {?} */ AbstractFormComponent.prototype.writeValue = function (value) { }; /** * @abstract * @return {?} */ AbstractFormComponent.prototype.isProvided = function () { }; } //============================================================================= //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtZm9ybS1jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaHBlL2FuZ3VsYXItdG9vbGtpdC9ndWkvZm9ybS8iLCJzb3VyY2VzIjpbImFic3RyYWN0LWZvcm0tY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBUUEsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFxQixlQUFlLENBQUM7Ozs7QUFLbkQsTUFBTTtJQTBCTDtRQUNDLElBQUksQ0FBQyxPQUFPLEdBQUssSUFBSSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO0tBQ3ZCOzs7OztJQVFELGdCQUFnQixDQUFDLEVBQUU7UUFDbEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7S0FDbkI7Ozs7O0lBSUQsaUJBQWlCLENBQUMsRUFBRSxLQUFJOzs7O0lBSWpCLGlCQUFpQjtRQUV2QixxQkFBSSxNQUFNLEdBQWMsQ0FBRSxTQUFTLENBQUUsQ0FBQztRQUV0QyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUNsQixFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztnQkFDbkIsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQztvQkFDdkIsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztpQkFDeEI7Z0JBQ0QsSUFBSSxDQUFDLENBQUM7b0JBQ0wsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztpQkFDeEI7YUFDRDtTQUNEO1FBQ0QsSUFBSSxDQUFDLENBQUM7WUFDTCxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQ3hCO1FBRUQsTUFBTSxDQUFDLE1BQU0sQ0FBQzs7Ozs7UUFRWCxRQUFRO1FBQ1gsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7Ozs7OztJQUt2QixJQUFJLFFBQVEsQ0FBQyxLQUFhO1FBRXpCLHFCQUFJLEdBQUcsR0FBWSxFQUFFLEdBQUMsS0FBSyxDQUFDO1FBRTVCLEVBQUUsQ0FBQyxDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDOztZQUVmLEtBQUssR0FBRyxJQUFJLENBQUM7U0FDYjtRQUVELElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO0tBQ3ZCOzs7cUJBakZBLEtBQUs7c0JBQ0wsS0FBSzt3QkFDTCxLQUFLO3lCQThETCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy89PT1cbi8vPT09IChDKSBDb3B5cmlnaHQgMjAxOCBIZXdsZXR0IFBhY2thcmQgRW50ZXJwcmlzZSBEZXZlbG9wbWVudCBMUC5cbi8vPT09XG4vLz09PSBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuLy89PT0gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZVxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5pbXBvcnQge0lucHV0fSAgICAgICAgICAgICAgICBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q29udHJvbFZhbHVlQWNjZXNzb3J9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RGb3JtQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuXG5cdC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXHQvLy0tLVxuXHQvLy0tLSBWYXJpYWJsZXNcblx0Ly8tLS1cblx0Ly8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblx0QElucHV0KCkgaWNvbiAgICA6IHN0cmluZztcblx0QElucHV0KCkgbGFiZWwgICA6IHN0cmluZztcblx0QElucHV0KCkgZW5hYmxlZCA6IGJvb2xlYW47XG5cblx0Ly8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblx0cHJpdmF0ZSBfcmVxdWlyZWQgOiBib29sZWFuO1xuXG5cdC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cdHByb3RlY3RlZCBvbkNoYW5nZSA6IGFueTtcblxuXHQvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblx0Ly8tLS1cblx0Ly8tLS0gQ29uc3RydWN0b3Jcblx0Ly8tLS1cblx0Ly8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0dGhpcy5lbmFibGVkICAgPSB0cnVlO1xuXHRcdHRoaXMuX3JlcXVpcmVkID0gZmFsc2U7XG5cdH1cblxuXHQvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblx0Ly8tLS1cblx0Ly8tLS0gQVBJIG1ldGhvZHNcblx0Ly8tLS1cblx0Ly8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblx0cmVnaXN0ZXJPbkNoYW5nZShmbikge1xuXHRcdHRoaXMub25DaGFuZ2UgPSBmbjtcblx0fVxuXG5cdC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cdHJlZ2lzdGVyT25Ub3VjaGVkKGZuKSB7fVxuXG5cdC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cdHB1YmxpYyBnZXRDb21wb25lbnRDbGFzcygpIDogc3RyaW5nW10ge1xuXG5cdFx0bGV0IHN0eWxlcyA6IHN0cmluZ1tdID0gWyAnY29udHJvbCcgXTtcblxuXHRcdGlmICh0aGlzLmVuYWJsZWQpIHtcblx0XHRcdGlmICh0aGlzLnJlcXVpcmVkKSB7XG5cdFx0XHRcdGlmICh0aGlzLmlzUHJvdmlkZWQoKSkge1xuXHRcdFx0XHRcdHN0eWxlcy5wdXNoKFwicHJvdmlkZWRcIik7XG5cdFx0XHRcdH1cblx0XHRcdFx0ZWxzZSB7XG5cdFx0XHRcdFx0c3R5bGVzLnB1c2goXCJyZXF1aXJlZFwiKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHRlbHNlIHtcblx0XHRcdHN0eWxlcy5wdXNoKFwiZGlzYWJsZWRcIik7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIHN0eWxlcztcblx0fVxuXG5cdC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXHQvLy0tLSAncmVxdWlyZWQnIGF0dHJpYnV0ZVxuXHQvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXHRASW5wdXQoKVxuXHRnZXQgcmVxdWlyZWQoKSA6IGJvb2xlYW4ge1xuXHRcdHJldHVybiB0aGlzLl9yZXF1aXJlZDtcblx0fVxuXG5cdC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cdHNldCByZXF1aXJlZCh2YWx1ZTpib29sZWFuKSB7XG5cblx0XHRsZXQgc3RyIDogc3RyaW5nID0gXCJcIit2YWx1ZTtcblxuXHRcdGlmIChzdHIgPT0gXCJcIikge1xuXHRcdFx0Ly8tLS0gT2ssICcnIG1lYW5zIHZhbHVlIG5vdCBwcm92aWRlZCAtLT4gdHJ1ZVxuXHRcdFx0dmFsdWUgPSB0cnVlO1xuXHRcdH1cblxuXHRcdHRoaXMuX3JlcXVpcmVkID0gdmFsdWU7XG5cdH1cblxuXHQvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblx0Ly8tLS0gQWJzdHJhY3QgbWV0aG9kc1xuXHQvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXHRwdWJsaWMgYWJzdHJhY3Qgd3JpdGVWYWx1ZSh2YWx1ZSkgOiB2b2lkO1xuXG5cdHByb3RlY3RlZCBhYnN0cmFjdCBpc1Byb3ZpZGVkKCkgOiBib29sZWFuO1xufVxuXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4iXX0=