UNPKG

com.phloxui

Version:

PhloxUI Ng2+ Framework

125 lines (124 loc) 9.84 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes} checked by tsc */ import * as tslib_1 from "tslib"; import { AbstractHasDataHelp } from '../AbstractHasDataHelp'; import { Option } from '../../decorator/Option.decorator'; import { ArrayUtils } from '../../share/utils/ArrayUtils'; import { DataUtils } from '../../share/utils/DataUtils'; /** * @abstract */ export class AbstractDataView extends AbstractHasDataHelp { /** * @param {?} elementRef */ constructor(elementRef) { super(elementRef); } /** * @return {?} */ get mappedData() { return this.getMappedData(); } /** * @return {?} */ ngOnInit() { super.ngOnInit(); } /** * @param {?} changes * @return {?} */ ngOnChanges(changes) { super.ngOnChanges(changes); if (changes['field'] !== null && typeof changes['field'] !== 'undefined') { this.chainData(); } } /** * @param {?} field * @param {?} data * @return {?} */ static isFieldMappingEnable(field, data) { if ((field !== null && typeof field !== 'undefined') && (data !== null && typeof data === 'object')) { if (Array.isArray(data)) { return ArrayUtils.isAllMemberTypeOf(data, 'object'); } return true; } return false; } /** * @param {?} field * @param {?} data * @return {?} */ static resolveMappedData(field, data) { if (field === null || typeof field === 'undefined') { return data; } let /** @type {?} */ isFieldMapping = AbstractDataView.isFieldMappingEnable(field, data); if (isFieldMapping) { if (Array.isArray(data)) { let /** @type {?} */ resultArray = []; for (let /** @type {?} */ d of data) { let /** @type {?} */ val = null; if (typeof d === 'object') { val = DataUtils.getDataValue(field, d); } resultArray.push(val); } return resultArray; } else if (typeof data === 'object') { return DataUtils.getDataValue(field, data); } } return data; } /** * @param {?} field * @return {?} */ setField(field) { this.field = field; } /** * @return {?} */ getField() { return this.field; } /** * @return {?} */ getChainData() { return this.getMappedData(); } /** * @return {?} */ isMappingEnable() { return AbstractDataView.isFieldMappingEnable(this.field, this.data); } /** * @return {?} */ getMappedData() { return AbstractDataView.resolveMappedData(this.field, this.data); } } tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", String) ], AbstractDataView.prototype, "field", void 0); function AbstractDataView_tsickle_Closure_declarations() { /** @type {?} */ AbstractDataView.prototype.field; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWJzdHJhY3REYXRhVmlldy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2NvbS5waGxveHVpLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudC9kYXRhdmlldy9BYnN0cmFjdERhdGFWaWV3LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBRUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFHN0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRTFELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7Ozs7QUFFeEQsTUFBTSx1QkFBaUMsU0FBUSxtQkFBbUI7Ozs7SUFLaEUsWUFBWSxVQUFzQjtRQUNoQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7S0FDbkI7Ozs7SUFFRCxJQUFjLFVBQVU7UUFDdEIsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztLQUM3Qjs7OztJQUVNLFFBQVE7UUFDYixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7Ozs7OztJQUdaLFdBQVcsQ0FBQyxPQUFZO1FBQzdCLEtBQUssQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFM0IsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLElBQUksSUFBSSxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDO1lBQ3pFLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztTQUNsQjs7Ozs7OztJQUdJLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxLQUFhLEVBQUUsSUFBUztRQUN6RCxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxJQUFJLElBQUksT0FBTyxLQUFLLEtBQUssV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssSUFBSSxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNwRyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDeEIsTUFBTSxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7YUFDckQ7WUFFRCxNQUFNLENBQUMsSUFBSSxDQUFDO1NBQ2I7UUFFRCxNQUFNLENBQUMsS0FBSyxDQUFDOzs7Ozs7O0lBR1IsTUFBTSxDQUFDLGlCQUFpQixDQUFDLEtBQWEsRUFBRSxJQUFTO1FBQ3RELEVBQUUsQ0FBQyxDQUFDLEtBQUssS0FBSyxJQUFJLElBQUksT0FBTyxLQUFLLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQztZQUNuRCxNQUFNLENBQUMsSUFBSSxDQUFDO1NBQ2I7UUFFRCxxQkFBSSxjQUFjLEdBQUcsZ0JBQWdCLENBQUMsb0JBQW9CLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRXhFLEVBQUUsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUM7WUFDbkIsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3hCLHFCQUFJLFdBQVcsR0FBRyxFQUFFLENBQUM7Z0JBRXJCLEdBQUcsQ0FBQyxDQUFDLHFCQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDO29CQUNuQixxQkFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDO29CQUNmLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUM7d0JBQzFCLEdBQUcsR0FBRyxTQUFTLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztxQkFDeEM7b0JBQ0QsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztpQkFDdkI7Z0JBRUQsTUFBTSxDQUFDLFdBQVcsQ0FBQzthQUNwQjtZQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLElBQUksS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDO2dCQUNwQyxNQUFNLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7YUFDNUM7U0FDRjtRQUVELE1BQU0sQ0FBQyxJQUFJLENBQUM7Ozs7OztJQUdQLFFBQVEsQ0FBQyxLQUFhO1FBQzNCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDOzs7OztJQUdkLFFBQVE7UUFDYixNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQzs7Ozs7SUFHYixZQUFZO1FBQ2pCLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7Ozs7O0lBR3ZCLGVBQWU7UUFDcEIsTUFBTSxDQUFDLGdCQUFnQixDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDOzs7OztJQUcvRCxhQUFhO1FBQ2xCLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQzs7Q0FHcEU7O0lBbkZFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25DaGFuZ2VzLCBPbkluaXQsIElucHV0LCBPdXRwdXQsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElEYXRhVmlldyB9IGZyb20gJy4vLi4vZGF0YXZpZXcvSURhdGFWaWV3JztcbmltcG9ydCB7IEFic3RyYWN0SGFzRGF0YUhlbHAgfSBmcm9tICcuLi9BYnN0cmFjdEhhc0RhdGFIZWxwJztcbmltcG9ydCB7IElIYXNEYXRhIH0gZnJvbSAnLi4vSUhhc0RhdGEnO1xuaW1wb3J0IHsgSUhhc0hlbHAgfSBmcm9tICcuLi9JSGFzSGVscCc7XG5pbXBvcnQgeyBPcHRpb24gfSBmcm9tICcuLi8uLi9kZWNvcmF0b3IvT3B0aW9uLmRlY29yYXRvcic7XG5pbXBvcnQgeyBJMThOIH0gZnJvbSAnLi4vLi4vZGVjb3JhdG9yL0kxOE4uZGVjb3JhdG9yJztcbmltcG9ydCB7IEFycmF5VXRpbHMgfSBmcm9tICcuLi8uLi9zaGFyZS91dGlscy9BcnJheVV0aWxzJztcbmltcG9ydCB7IERhdGFVdGlscyB9IGZyb20gJy4uLy4uL3NoYXJlL3V0aWxzL0RhdGFVdGlscyc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdERhdGFWaWV3IGV4dGVuZHMgQWJzdHJhY3RIYXNEYXRhSGVscCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBJRGF0YVZpZXcge1xuXG4gIEBPcHRpb24oKVxuICBwcm90ZWN0ZWQgZmllbGQ6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7XG4gICAgc3VwZXIoZWxlbWVudFJlZik7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IG1hcHBlZERhdGEoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5nZXRNYXBwZWREYXRhKCk7IFxuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogYW55KTogdm9pZCB7XG4gICAgc3VwZXIubmdPbkNoYW5nZXMoY2hhbmdlcyk7XG5cbiAgICBpZiAoY2hhbmdlc1snZmllbGQnXSAhPT0gbnVsbCAmJiB0eXBlb2YgY2hhbmdlc1snZmllbGQnXSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHRoaXMuY2hhaW5EYXRhKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHN0YXRpYyBpc0ZpZWxkTWFwcGluZ0VuYWJsZShmaWVsZDogc3RyaW5nLCBkYXRhOiBhbnkpOiBib29sZWFuIHtcbiAgICBpZiAoKGZpZWxkICE9PSBudWxsICYmIHR5cGVvZiBmaWVsZCAhPT0gJ3VuZGVmaW5lZCcpICYmIChkYXRhICE9PSBudWxsICYmIHR5cGVvZiBkYXRhID09PSAnb2JqZWN0JykpIHtcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KGRhdGEpKSB7XG4gICAgICAgIHJldHVybiBBcnJheVV0aWxzLmlzQWxsTWVtYmVyVHlwZU9mKGRhdGEsICdvYmplY3QnKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyByZXNvbHZlTWFwcGVkRGF0YShmaWVsZDogc3RyaW5nLCBkYXRhOiBhbnkpOiBhbnkge1xuICAgIGlmIChmaWVsZCA9PT0gbnVsbCB8fCB0eXBlb2YgZmllbGQgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICByZXR1cm4gZGF0YTtcbiAgICB9XG5cbiAgICBsZXQgaXNGaWVsZE1hcHBpbmcgPSBBYnN0cmFjdERhdGFWaWV3LmlzRmllbGRNYXBwaW5nRW5hYmxlKGZpZWxkLCBkYXRhKTtcblxuICAgIGlmIChpc0ZpZWxkTWFwcGluZykge1xuICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZGF0YSkpIHtcbiAgICAgICAgbGV0IHJlc3VsdEFycmF5ID0gW107XG5cbiAgICAgICAgZm9yIChsZXQgZCBvZiBkYXRhKSB7XG4gICAgICAgICAgbGV0IHZhbCA9IG51bGw7XG4gICAgICAgICAgaWYgKHR5cGVvZiBkID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgdmFsID0gRGF0YVV0aWxzLmdldERhdGFWYWx1ZShmaWVsZCwgZCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJlc3VsdEFycmF5LnB1c2godmFsKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiByZXN1bHRBcnJheTtcbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGRhdGEgPT09ICdvYmplY3QnKSB7XG4gICAgICAgIHJldHVybiBEYXRhVXRpbHMuZ2V0RGF0YVZhbHVlKGZpZWxkLCBkYXRhKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZGF0YTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRGaWVsZChmaWVsZDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5maWVsZCA9IGZpZWxkO1xuICB9XG5cbiAgcHVibGljIGdldEZpZWxkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZmllbGQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q2hhaW5EYXRhKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0TWFwcGVkRGF0YSgpO1xuICB9XG5cbiAgcHVibGljIGlzTWFwcGluZ0VuYWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gQWJzdHJhY3REYXRhVmlldy5pc0ZpZWxkTWFwcGluZ0VuYWJsZSh0aGlzLmZpZWxkLCB0aGlzLmRhdGEpO1xuICB9XG5cbiAgcHVibGljIGdldE1hcHBlZERhdGEoKTogYW55IHtcbiAgICByZXR1cm4gQWJzdHJhY3REYXRhVmlldy5yZXNvbHZlTWFwcGVkRGF0YSh0aGlzLmZpZWxkLCB0aGlzLmRhdGEpO1xuICB9XG5cbn1cbiJdfQ==