@uiowa/uiowa-account
Version:
Angular library to manage MFK and UNI Account output
74 lines • 5.67 kB
JavaScript
/**
* @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==