UNPKG

@uiowa/uiowa-account

Version:

Angular library to manage MFK and UNI Account output

74 lines 5.67 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc */ import { Component, Input } from '@angular/core'; import { Account } from '../models'; export class AccountStringComponent { constructor() { this.options = []; this.output = []; } /** * @return {?} */ ngOnInit() { this.account.elements.forEach((element, index) => { this.output.push({ value: this.getElementOutput(element.webApiProperty, index), display: element.display, showDelimeter: this.account.showDelimeter(index) }); }); } /** * @param {?} property * @return {?} */ getOverrideValue(property) { /** @type {?} */ const element = this.options.find(x => x.name === property); if (element) { return element.display; } } /** * @param {?} property * @param {?} index * @return {?} */ getElementOutput(property, index) { if (this.options.length > 0) { /** @type {?} */ const overrideValue = this.getOverrideValue(property); if (overrideValue) { return overrideValue; } } return this.account.getElementString(index); } } AccountStringComponent.decorators = [ { type: Component, args: [{ selector: 'uiowa-account-string', template: ` <span *ngFor="let element of output" placement="bottom" ngbTooltip="{{element.display}}">{{element.value}}<span *ngIf="element.showDelimeter">{{account.delimiter}}</span></span> ` }] } ]; /** @nocollapse */ AccountStringComponent.ctorParameters = () => []; AccountStringComponent.propDecorators = { account: [{ type: Input }], options: [{ type: Input }] }; if (false) { /** @type {?} */ AccountStringComponent.prototype.account; /** @type {?} */ AccountStringComponent.prototype.options; /** @type {?} */ AccountStringComponent.prototype.output; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC1zdHJpbmcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHVpb3dhL3Vpb3dhLWFjY291bnQvIiwic291cmNlcyI6WyJsaWIvYWNjb3VudC1zdHJpbmcvYWNjb3VudC1zdHJpbmcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsT0FBTyxFQUFlLE1BQU0sV0FBVyxDQUFDO0FBU2pELE1BQU0sT0FBTyxzQkFBc0I7SUFLakM7UUFEQSxZQUFPLEdBQW1CLEVBQUUsQ0FBQztRQUc3QixXQUFNLEdBQUcsRUFBRSxDQUFDO0lBRkcsQ0FBQzs7OztJQUdoQixRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQy9DLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO2dCQUNmLEtBQUssRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUM7Z0JBQzNELE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTztnQkFDeEIsYUFBYSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQzthQUNqRCxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Ozs7O0lBRU8sZ0JBQWdCLENBQUMsUUFBZ0I7O2NBQ2pDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDO1FBQzNELElBQUksT0FBTyxFQUFFO1lBQ1gsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDO1NBQ3hCO0lBQ0gsQ0FBQzs7Ozs7O0lBRU8sZ0JBQWdCLENBQUMsUUFBZ0IsRUFBRSxLQUFhO1FBQ3RELElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFOztrQkFDckIsYUFBYSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUM7WUFDckQsSUFBSSxhQUFhLEVBQUU7Z0JBQ2pCLE9BQU8sYUFBYSxDQUFDO2FBQ3RCO1NBQ0Y7UUFDRCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUMsQ0FBQzs7O1lBeENGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsc0JBQXNCO2dCQUNoQyxRQUFRLEVBQUU7OztHQUdUO2FBQ0Y7Ozs7O3NCQUVFLEtBQUs7c0JBRUwsS0FBSzs7OztJQUZOLHlDQUNpQjs7SUFDakIseUNBQzZCOztJQUc3Qix3Q0FBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWNjb3VudCwgRmllbGRPcHRpb24gfSBmcm9tICcuLi9tb2RlbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd1aW93YS1hY2NvdW50LXN0cmluZycsXG4gIHRlbXBsYXRlOiBgXG4gIDxzcGFuICpuZ0Zvcj1cImxldCBlbGVtZW50IG9mIG91dHB1dFwiIHBsYWNlbWVudD1cImJvdHRvbVwiIG5nYlRvb2x0aXA9XCJ7e2VsZW1lbnQuZGlzcGxheX19XCI+e3tlbGVtZW50LnZhbHVlfX08c3BhblxuICAgICpuZ0lmPVwiZWxlbWVudC5zaG93RGVsaW1ldGVyXCI+e3thY2NvdW50LmRlbGltaXRlcn19PC9zcGFuPjwvc3Bhbj5cbiAgYFxufSlcbmV4cG9ydCBjbGFzcyBBY2NvdW50U3RyaW5nQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KClcbiAgYWNjb3VudDogQWNjb3VudDtcbiAgQElucHV0KClcbiAgb3B0aW9ucz86IEZpZWxkT3B0aW9uW10gPSBbXTtcbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIG91dHB1dCA9IFtdO1xuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmFjY291bnQuZWxlbWVudHMuZm9yRWFjaCgoZWxlbWVudCwgaW5kZXgpID0+IHtcbiAgICAgIHRoaXMub3V0cHV0LnB1c2goe1xuICAgICAgICB2YWx1ZTogdGhpcy5nZXRFbGVtZW50T3V0cHV0KGVsZW1lbnQud2ViQXBpUHJvcGVydHksIGluZGV4KSxcbiAgICAgICAgZGlzcGxheTogZWxlbWVudC5kaXNwbGF5LFxuICAgICAgICBzaG93RGVsaW1ldGVyOiB0aGlzLmFjY291bnQuc2hvd0RlbGltZXRlcihpbmRleClcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRPdmVycmlkZVZhbHVlKHByb3BlcnR5OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLm9wdGlvbnMuZmluZCh4ID0+IHgubmFtZSA9PT0gcHJvcGVydHkpO1xuICAgIGlmIChlbGVtZW50KSB7XG4gICAgICByZXR1cm4gZWxlbWVudC5kaXNwbGF5O1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0RWxlbWVudE91dHB1dChwcm9wZXJ0eTogc3RyaW5nLCBpbmRleDogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5vcHRpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IG92ZXJyaWRlVmFsdWUgPSB0aGlzLmdldE92ZXJyaWRlVmFsdWUocHJvcGVydHkpO1xuICAgICAgaWYgKG92ZXJyaWRlVmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIG92ZXJyaWRlVmFsdWU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmFjY291bnQuZ2V0RWxlbWVudFN0cmluZyhpbmRleCk7XG4gIH1cbn1cbiJdfQ==