UNPKG

@hpe/angular-toolkit

Version:

Hewlett-Packard Enterprise : Angular toolkit for rapid project development

156 lines (153 loc) 13.9 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 { Component, Input } from '@angular/core'; import { NG_VALUE_ACCESSOR } from '@angular/forms'; import { AbstractFormComponent } from "../abstract-form-component"; //============================================================================= export class InputCombo extends AbstractFormComponent { constructor() { super(); } /** * @return {?} */ get dataMap() { return this._dataMap; } /** * @param {?} map * @return {?} */ set dataMap(map) { this._dataMap = map; this.key = "id"; this.value = "value"; let /** @type {?} */ list = []; if (!this.required) { list.push({ "id": null, "value": null }); } for (let /** @type {?} */ key in map) { let /** @type {?} */ name = Number(key); let /** @type {?} */ value = map[key]; if (isNaN(name)) { name = key; } list.push({ "id": name, "value": value }); } this.data = list; } /** * @param {?} keyValue * @return {?} */ writeValue(keyValue) { let /** @type {?} */ item = this.data.find((item) => { return (item[this.key] == keyValue); }); //--- Select first entry in case there is no match if (item == null) { if (this.data != null && this.data.length > 0) { item = this.data[0]; } } this._selectedItem = item; } /** * @return {?} */ get selectedItem() { return this._selectedItem; } /** * @param {?} newItem * @return {?} */ set selectedItem(newItem) { this._selectedItem = newItem; this.onChange(newItem[this.key]); } /** * @return {?} */ isProvided() { return (this.selectedItem != null && this.selectedItem[this.key] != null); } } InputCombo.decorators = [ { type: Component, args: [{ selector: 'hpe-input-combo', template: `<!-- ============================================================================= === === (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 ============================================================================= --> <div class="ui-inputgroup spacing"> <hpe-form-label [icon]="icon" [label]="label"></hpe-form-label> <p-dropdown [options] = "data" [dataKey] = "key" [optionLabel]= "value" [(ngModel)] = "selectedItem" [ngClass] = "getComponentClass()" [style] = "{ 'width':'100%' }" [disabled] = "!enabled"> </p-dropdown> </div> `, styles: [`.spacing{margin-bottom:1rem}.control{width:100%}.required{border-right:5px solid #ff8d6d}.provided{border-right:5px solid #00a982}`], providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: InputCombo, multi: true }] },] }, ]; /** @nocollapse */ InputCombo.ctorParameters = () => []; InputCombo.propDecorators = { "key": [{ type: Input },], "value": [{ type: Input },], "data": [{ type: Input },], "dataMap": [{ type: Input },], }; function InputCombo_tsickle_Closure_declarations() { /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */ InputCombo.decorators; /** * @nocollapse * @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>} */ InputCombo.ctorParameters; /** @type {!Object<string,!Array<{type: !Function, args: (undefined|!Array<?>)}>>} */ InputCombo.propDecorators; /** @type {?} */ InputCombo.prototype.key; /** @type {?} */ InputCombo.prototype.value; /** @type {?} */ InputCombo.prototype.data; /** @type {?} */ InputCombo.prototype._selectedItem; /** @type {?} */ InputCombo.prototype._dataMap; } //============================================================================= //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtY29tYm8uanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaHBlL2FuZ3VsYXItdG9vbGtpdC9ndWkvZm9ybS8iLCJzb3VyY2VzIjpbImlucHV0LWNvbWJvL2lucHV0LWNvbWJvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBUUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUMsTUFBVyxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQVUsZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFJakU7QUFtQ0EsTUFBTSxpQkFBa0IsU0FBUSxxQkFBcUI7SUF1QnBEO1FBQ0MsS0FBSyxFQUFFLENBQUM7S0FDUjs7OztRQVNHLE9BQU87UUFDVixNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQzs7Ozs7O0lBS3RCLElBQUksT0FBTyxDQUFDLEdBQVk7UUFFdkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUM7UUFDcEIsSUFBSSxDQUFDLEdBQUcsR0FBUSxJQUFJLENBQUM7UUFDckIsSUFBSSxDQUFDLEtBQUssR0FBTSxPQUFPLENBQUM7UUFFeEIscUJBQUksSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUVkLEVBQUUsQ0FBQyxDQUFFLENBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7WUFDdEIsSUFBSSxDQUFDLElBQUksQ0FBRTtnQkFDVixJQUFJLEVBQU0sSUFBSTtnQkFDZCxPQUFPLEVBQUcsSUFBSTthQUNkLENBQUMsQ0FBQztTQUNIO1FBRUQsR0FBRyxDQUFDLENBQUMscUJBQUksR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDckIscUJBQUksSUFBSSxHQUFVLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUM5QixxQkFBSSxLQUFLLEdBQVMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBRTNCLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2pCLElBQUksR0FBRyxHQUFHLENBQUM7YUFDWDtZQUVELElBQUksQ0FBQyxJQUFJLENBQUU7Z0JBQ1YsSUFBSSxFQUFNLElBQUk7Z0JBQ2QsT0FBTyxFQUFHLEtBQUs7YUFDZixDQUFDLENBQUM7U0FDSDtRQUVELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO0tBQ2pCOzs7OztJQUlNLFVBQVUsQ0FBQyxRQUFRO1FBRXpCLHFCQUFJLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBRSxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ25DLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksUUFBUSxDQUFDLENBQUE7U0FDbkMsQ0FBQyxDQUFDOztRQUlILEVBQUUsQ0FBQyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ2xCLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQy9DLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ3BCO1NBQ0Q7UUFFRCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQzs7Ozs7SUFLM0IsSUFBSSxZQUFZO1FBQ2YsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7S0FDMUI7Ozs7O0lBSUQsSUFBSSxZQUFZLENBQUMsT0FBTztRQUV2QixJQUFJLENBQUMsYUFBYSxHQUFHLE9BQU8sQ0FBQztRQUM3QixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztLQUNqQzs7OztJQVFTLFVBQVU7UUFDbEIsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUM7S0FDM0U7OztZQXBKRCxTQUFTLFNBQUM7Z0JBQ1YsUUFBUSxFQUFRLGlCQUFpQjtnQkFDakMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBc0JWO2dCQUNBLE1BQU0sRUFBRSxDQUFDLG9JQUFvSSxDQUFDO2dCQUM5SSxTQUFTLEVBQUssQ0FBRTt3QkFDZixPQUFPLEVBQU0saUJBQWlCO3dCQUM5QixXQUFXLEVBQUUsVUFBVTt3QkFDdkIsS0FBSyxFQUFRLElBQUk7cUJBQ2pCLENBQUM7YUFDRjs7Ozs7b0JBWUMsS0FBSztzQkFDTCxLQUFLO3FCQUNMLEtBQUs7d0JBdUJMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLz09PVxuLy89PT0gKEMpIENvcHlyaWdodCAyMDE4IEhld2xldHQgUGFja2FyZCBFbnRlcnByaXNlIERldmVsb3BtZW50IExQLlxuLy89PT1cbi8vPT09IFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4vLz09PSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmltcG9ydCB7Q29tcG9uZW50LCBJbnB1dH0gICAgICBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TkdfVkFMVUVfQUNDRVNTT1J9ICAgICBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge0Fic3RyYWN0Rm9ybUNvbXBvbmVudH0gZnJvbSBcIi4uL2Fic3RyYWN0LWZvcm0tY29tcG9uZW50XCI7XG5cbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yICAgIDogICAnaHBlLWlucHV0LWNvbWJvJyxcblx0dGVtcGxhdGU6IGA8IS0tXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuPT09XG49PT0gKEMpIENvcHlyaWdodCAyMDE4IEhld2xldHQgUGFja2FyZCBFbnRlcnByaXNlIERldmVsb3BtZW50IExQLlxuPT09XG49PT0gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbj09PSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLS0+XG5cbjxkaXYgY2xhc3M9XCJ1aS1pbnB1dGdyb3VwIHNwYWNpbmdcIj5cblx0PGhwZS1mb3JtLWxhYmVsIFtpY29uXT1cImljb25cIiBbbGFiZWxdPVwibGFiZWxcIj48L2hwZS1mb3JtLWxhYmVsPlxuXG5cdDxwLWRyb3Bkb3duIFtvcHRpb25zXSAgICA9IFwiZGF0YVwiXG5cdFx0XHRcdFtkYXRhS2V5XSAgICA9IFwia2V5XCJcblx0XHRcdFx0W29wdGlvbkxhYmVsXT0gXCJ2YWx1ZVwiXG5cdFx0XHRcdFsobmdNb2RlbCldICA9IFwic2VsZWN0ZWRJdGVtXCJcblx0XHRcdFx0W25nQ2xhc3NdICAgID0gXCJnZXRDb21wb25lbnRDbGFzcygpXCJcblx0XHRcdFx0W3N0eWxlXSAgICAgID0gXCJ7ICd3aWR0aCc6JzEwMCUnIH1cIlxuXHRcdFx0XHRbZGlzYWJsZWRdICAgPSBcIiFlbmFibGVkXCI+XG5cdDwvcC1kcm9wZG93bj5cbjwvZGl2PlxuYCxcblx0c3R5bGVzOiBbYC5zcGFjaW5ne21hcmdpbi1ib3R0b206MXJlbX0uY29udHJvbHt3aWR0aDoxMDAlfS5yZXF1aXJlZHtib3JkZXItcmlnaHQ6NXB4IHNvbGlkICNmZjhkNmR9LnByb3ZpZGVke2JvcmRlci1yaWdodDo1cHggc29saWQgIzAwYTk4Mn1gXSxcblx0cHJvdmlkZXJzICAgOiBbIHtcblx0XHRwcm92aWRlICAgIDogTkdfVkFMVUVfQUNDRVNTT1IsXG5cdFx0dXNlRXhpc3Rpbmc6IElucHV0Q29tYm8sXG5cdFx0bXVsdGkgICAgICA6IHRydWVcblx0fV1cbn0pXG5cbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuZXhwb3J0IGNsYXNzIElucHV0Q29tYm8gZXh0ZW5kcyBBYnN0cmFjdEZvcm1Db21wb25lbnQge1xuXG5cdC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXHQvLy0tLVxuXHQvLy0tLSBWYXJpYWJsZXNcblx0Ly8tLS1cblx0Ly8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblx0QElucHV0KCkga2V5ICAgOiBzdHJpbmc7XG5cdEBJbnB1dCgpIHZhbHVlIDogc3RyaW5nO1xuXHRASW5wdXQoKSBkYXRhICA6IGFueVtdO1xuXG5cdC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cdHByaXZhdGUgX3NlbGVjdGVkSXRlbSA6IGFueTtcblx0cHJpdmF0ZSBfZGF0YU1hcCAgICAgIDogT2JqZWN0O1xuXG5cdC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXHQvLy0tLVxuXHQvLy0tLSBDb25zdHJ1Y3RvclxuXHQvLy0tLVxuXHQvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHRzdXBlcigpO1xuXHR9XG5cblx0Ly8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cdC8vLS0tXG5cdC8vLS0tIEFQSSBtZXRob2RzXG5cdC8vLS0tXG5cdC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cdEBJbnB1dCgpXG5cdGdldCBkYXRhTWFwKCkgOiBPYmplY3Qge1xuXHRcdHJldHVybiB0aGlzLl9kYXRhTWFwO1xuXHR9XG5cblx0Ly8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblx0c2V0IGRhdGFNYXAobWFwIDogT2JqZWN0KSB7XG5cblx0XHR0aGlzLl9kYXRhTWFwID0gbWFwO1xuXHRcdHRoaXMua2V5ICAgICAgPSBcImlkXCI7XG5cdFx0dGhpcy52YWx1ZSAgICA9IFwidmFsdWVcIjtcblxuXHRcdGxldCBsaXN0ID0gW107XG5cblx0XHRpZiAoICEgdGhpcy5yZXF1aXJlZCkge1xuXHRcdFx0bGlzdC5wdXNoKCB7XG5cdFx0XHRcdFwiaWRcIiAgICA6IG51bGwsXG5cdFx0XHRcdFwidmFsdWVcIiA6IG51bGxcblx0XHRcdH0pO1xuXHRcdH1cblxuXHRcdGZvciAobGV0IGtleSBpbiBtYXApIHtcblx0XHRcdGxldCBuYW1lICA6IGFueSA9IE51bWJlcihrZXkpO1xuXHRcdFx0bGV0IHZhbHVlIDogYW55ID0gbWFwW2tleV07XG5cblx0XHRcdGlmIChpc05hTihuYW1lKSkge1xuXHRcdFx0XHRuYW1lID0ga2V5O1xuXHRcdFx0fVxuXG5cdFx0XHRsaXN0LnB1c2goIHtcblx0XHRcdFx0XCJpZFwiICAgIDogbmFtZSxcblx0XHRcdFx0XCJ2YWx1ZVwiIDogdmFsdWVcblx0XHRcdH0pO1xuXHRcdH1cblxuXHRcdHRoaXMuZGF0YSA9IGxpc3Q7XG5cdH1cblxuXHQvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXHRwdWJsaWMgd3JpdGVWYWx1ZShrZXlWYWx1ZSkge1xuXG5cdFx0bGV0IGl0ZW0gPSB0aGlzLmRhdGEuZmluZCggKGl0ZW0pID0+IHtcblx0XHRcdHJldHVybiAoaXRlbVt0aGlzLmtleV0gPT0ga2V5VmFsdWUpXG5cdFx0fSk7XG5cblx0XHQvLy0tLSBTZWxlY3QgZmlyc3QgZW50cnkgaW4gY2FzZSB0aGVyZSBpcyBubyBtYXRjaFxuXG5cdFx0aWYgKGl0ZW0gPT0gbnVsbCkge1xuXHRcdFx0aWYgKHRoaXMuZGF0YSAhPSBudWxsICYmIHRoaXMuZGF0YS5sZW5ndGggPiAwKSB7XG5cdFx0XHRcdGl0ZW0gPSB0aGlzLmRhdGFbMF07XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0dGhpcy5fc2VsZWN0ZWRJdGVtID0gaXRlbTtcblx0fVxuXG5cdC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cdGdldCBzZWxlY3RlZEl0ZW0oKSA6IHN0cmluZyB7XG5cdFx0cmV0dXJuIHRoaXMuX3NlbGVjdGVkSXRlbTtcblx0fVxuXG5cdC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cdHNldCBzZWxlY3RlZEl0ZW0obmV3SXRlbSkge1xuXG5cdFx0dGhpcy5fc2VsZWN0ZWRJdGVtID0gbmV3SXRlbTtcblx0XHR0aGlzLm9uQ2hhbmdlKG5ld0l0ZW1bdGhpcy5rZXldKTtcblx0fVxuXG5cdC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXHQvLy0tLVxuXHQvLy0tLSBQcm90ZWN0ZWQgbWV0aG9kc1xuXHQvLy0tLVxuXHQvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXHRwcm90ZWN0ZWQgaXNQcm92aWRlZCgpIDogYm9vbGVhbiB7XG5cdCBcdHJldHVybiAodGhpcy5zZWxlY3RlZEl0ZW0gIT0gbnVsbCAmJiB0aGlzLnNlbGVjdGVkSXRlbVt0aGlzLmtleV0gIT0gbnVsbCk7XG5cdH1cbn1cblxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuIl19