com.phloxui
Version:
PhloxUI Ng2+ Framework
173 lines (172 loc) • 11.5 kB
JavaScript
/**
* @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
*/
var AbstractDataView = /** @class */ (function (_super) {
tslib_1.__extends(AbstractDataView, _super);
function AbstractDataView(elementRef) {
return _super.call(this, elementRef) || this;
}
Object.defineProperty(AbstractDataView.prototype, "mappedData", {
get: /**
* @return {?}
*/
function () {
return this.getMappedData();
},
enumerable: true,
configurable: true
});
/**
* @return {?}
*/
AbstractDataView.prototype.ngOnInit = /**
* @return {?}
*/
function () {
_super.prototype.ngOnInit.call(this);
};
/**
* @param {?} changes
* @return {?}
*/
AbstractDataView.prototype.ngOnChanges = /**
* @param {?} changes
* @return {?}
*/
function (changes) {
_super.prototype.ngOnChanges.call(this, changes);
if (changes['field'] !== null && typeof changes['field'] !== 'undefined') {
this.chainData();
}
};
/**
* @param {?} field
* @param {?} data
* @return {?}
*/
AbstractDataView.isFieldMappingEnable = /**
* @param {?} field
* @param {?} data
* @return {?}
*/
function (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 {?}
*/
AbstractDataView.resolveMappedData = /**
* @param {?} field
* @param {?} data
* @return {?}
*/
function (field, data) {
if (field === null || typeof field === 'undefined') {
return data;
}
var /** @type {?} */ isFieldMapping = AbstractDataView.isFieldMappingEnable(field, data);
if (isFieldMapping) {
if (Array.isArray(data)) {
var /** @type {?} */ resultArray = [];
try {
for (var data_1 = tslib_1.__values(data), data_1_1 = data_1.next(); !data_1_1.done; data_1_1 = data_1.next()) {
var d = data_1_1.value;
var /** @type {?} */ val = null;
if (typeof d === 'object') {
val = DataUtils.getDataValue(field, d);
}
resultArray.push(val);
}
}
catch (e_1_1) { e_1 = { error: e_1_1 }; }
finally {
try {
if (data_1_1 && !data_1_1.done && (_a = data_1.return)) _a.call(data_1);
}
finally { if (e_1) throw e_1.error; }
}
return resultArray;
}
else if (typeof data === 'object') {
return DataUtils.getDataValue(field, data);
}
}
return data;
var e_1, _a;
};
/**
* @param {?} field
* @return {?}
*/
AbstractDataView.prototype.setField = /**
* @param {?} field
* @return {?}
*/
function (field) {
this.field = field;
};
/**
* @return {?}
*/
AbstractDataView.prototype.getField = /**
* @return {?}
*/
function () {
return this.field;
};
/**
* @return {?}
*/
AbstractDataView.prototype.getChainData = /**
* @return {?}
*/
function () {
return this.getMappedData();
};
/**
* @return {?}
*/
AbstractDataView.prototype.isMappingEnable = /**
* @return {?}
*/
function () {
return AbstractDataView.isFieldMappingEnable(this.field, this.data);
};
/**
* @return {?}
*/
AbstractDataView.prototype.getMappedData = /**
* @return {?}
*/
function () {
return AbstractDataView.resolveMappedData(this.field, this.data);
};
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", String)
], AbstractDataView.prototype, "field", void 0);
return AbstractDataView;
}(AbstractHasDataHelp));
export { AbstractDataView };
function AbstractDataView_tsickle_Closure_declarations() {
/** @type {?} */
AbstractDataView.prototype.field;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWJzdHJhY3REYXRhVmlldy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2NvbS5waGxveHVpLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudC9kYXRhdmlldy9BYnN0cmFjdERhdGFWaWV3LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBRUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFHN0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRTFELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7Ozs7O0lBRVQsNENBQW1CO0lBS2hFLDBCQUFZLFVBQXNCO2VBQ2hDLGtCQUFNLFVBQVUsQ0FBQztLQUNsQjtJQUVELHNCQUFjLHdDQUFVOzs7O1FBQXhCO1lBQ0UsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztTQUM3Qjs7O09BQUE7Ozs7SUFFTSxtQ0FBUTs7OztRQUNiLGlCQUFNLFFBQVEsV0FBRSxDQUFDOzs7Ozs7SUFHWixzQ0FBVzs7OztjQUFDLE9BQVk7UUFDN0IsaUJBQU0sV0FBVyxZQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRTNCLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxJQUFJLElBQUksT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQztZQUN6RSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7U0FDbEI7Ozs7Ozs7SUFHVyxxQ0FBb0I7Ozs7O2NBQUMsS0FBYSxFQUFFLElBQVM7UUFDekQsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEtBQUssSUFBSSxJQUFJLE9BQU8sS0FBSyxLQUFLLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLElBQUksSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDcEcsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3hCLE1BQU0sQ0FBQyxVQUFVLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO2FBQ3JEO1lBRUQsTUFBTSxDQUFDLElBQUksQ0FBQztTQUNiO1FBRUQsTUFBTSxDQUFDLEtBQUssQ0FBQzs7Ozs7OztJQUdELGtDQUFpQjs7Ozs7Y0FBQyxLQUFhLEVBQUUsSUFBUztRQUN0RCxFQUFFLENBQUMsQ0FBQyxLQUFLLEtBQUssSUFBSSxJQUFJLE9BQU8sS0FBSyxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUM7WUFDbkQsTUFBTSxDQUFDLElBQUksQ0FBQztTQUNiO1FBRUQscUJBQUksY0FBYyxHQUFHLGdCQUFnQixDQUFDLG9CQUFvQixDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztRQUV4RSxFQUFFLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO1lBQ25CLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUN4QixxQkFBSSxXQUFXLEdBQUcsRUFBRSxDQUFDOztvQkFFckIsR0FBRyxDQUFDLENBQVUsSUFBQSxTQUFBLGlCQUFBLElBQUksQ0FBQSwwQkFBQTt3QkFBYixJQUFJLENBQUMsaUJBQUE7d0JBQ1IscUJBQUksR0FBRyxHQUFHLElBQUksQ0FBQzt3QkFDZixFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDOzRCQUMxQixHQUFHLEdBQUcsU0FBUyxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7eUJBQ3hDO3dCQUNELFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7cUJBQ3ZCOzs7Ozs7Ozs7Z0JBRUQsTUFBTSxDQUFDLFdBQVcsQ0FBQzthQUNwQjtZQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLElBQUksS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDO2dCQUNwQyxNQUFNLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7YUFDNUM7U0FDRjtRQUVELE1BQU0sQ0FBQyxJQUFJLENBQUM7Ozs7Ozs7SUFHUCxtQ0FBUTs7OztjQUFDLEtBQWE7UUFDM0IsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7Ozs7O0lBR2QsbUNBQVE7Ozs7UUFDYixNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQzs7Ozs7SUFHYix1Q0FBWTs7OztRQUNqQixNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDOzs7OztJQUd2QiwwQ0FBZTs7OztRQUNwQixNQUFNLENBQUMsZ0JBQWdCLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7Ozs7O0lBRy9ELHdDQUFhOzs7O1FBQ2xCLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQzs7O1FBaEZsRSxNQUFNLEVBQUU7OzsyQkFaWDtFQVUrQyxtQkFBbUI7U0FBNUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkNoYW5nZXMsIE9uSW5pdCwgSW5wdXQsIE91dHB1dCwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSURhdGFWaWV3IH0gZnJvbSAnLi8uLi9kYXRhdmlldy9JRGF0YVZpZXcnO1xuaW1wb3J0IHsgQWJzdHJhY3RIYXNEYXRhSGVscCB9IGZyb20gJy4uL0Fic3RyYWN0SGFzRGF0YUhlbHAnO1xuaW1wb3J0IHsgSUhhc0RhdGEgfSBmcm9tICcuLi9JSGFzRGF0YSc7XG5pbXBvcnQgeyBJSGFzSGVscCB9IGZyb20gJy4uL0lIYXNIZWxwJztcbmltcG9ydCB7IE9wdGlvbiB9IGZyb20gJy4uLy4uL2RlY29yYXRvci9PcHRpb24uZGVjb3JhdG9yJztcbmltcG9ydCB7IEkxOE4gfSBmcm9tICcuLi8uLi9kZWNvcmF0b3IvSTE4Ti5kZWNvcmF0b3InO1xuaW1wb3J0IHsgQXJyYXlVdGlscyB9IGZyb20gJy4uLy4uL3NoYXJlL3V0aWxzL0FycmF5VXRpbHMnO1xuaW1wb3J0IHsgRGF0YVV0aWxzIH0gZnJvbSAnLi4vLi4vc2hhcmUvdXRpbHMvRGF0YVV0aWxzJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0RGF0YVZpZXcgZXh0ZW5kcyBBYnN0cmFjdEhhc0RhdGFIZWxwIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIElEYXRhVmlldyB7XG5cbiAgQE9wdGlvbigpXG4gIHByb3RlY3RlZCBmaWVsZDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHtcbiAgICBzdXBlcihlbGVtZW50UmVmKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgbWFwcGVkRGF0YSgpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLmdldE1hcHBlZERhdGEoKTsgXG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgc3VwZXIubmdPbkluaXQoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBhbnkpOiB2b2lkIHtcbiAgICBzdXBlci5uZ09uQ2hhbmdlcyhjaGFuZ2VzKTtcblxuICAgIGlmIChjaGFuZ2VzWydmaWVsZCddICE9PSBudWxsICYmIHR5cGVvZiBjaGFuZ2VzWydmaWVsZCddICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgdGhpcy5jaGFpbkRhdGEoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGlzRmllbGRNYXBwaW5nRW5hYmxlKGZpZWxkOiBzdHJpbmcsIGRhdGE6IGFueSk6IGJvb2xlYW4ge1xuICAgIGlmICgoZmllbGQgIT09IG51bGwgJiYgdHlwZW9mIGZpZWxkICE9PSAndW5kZWZpbmVkJykgJiYgKGRhdGEgIT09IG51bGwgJiYgdHlwZW9mIGRhdGEgPT09ICdvYmplY3QnKSkge1xuICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZGF0YSkpIHtcbiAgICAgICAgcmV0dXJuIEFycmF5VXRpbHMuaXNBbGxNZW1iZXJUeXBlT2YoZGF0YSwgJ29iamVjdCcpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIHJlc29sdmVNYXBwZWREYXRhKGZpZWxkOiBzdHJpbmcsIGRhdGE6IGFueSk6IGFueSB7XG4gICAgaWYgKGZpZWxkID09PSBudWxsIHx8IHR5cGVvZiBmaWVsZCA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHJldHVybiBkYXRhO1xuICAgIH1cblxuICAgIGxldCBpc0ZpZWxkTWFwcGluZyA9IEFic3RyYWN0RGF0YVZpZXcuaXNGaWVsZE1hcHBpbmdFbmFibGUoZmllbGQsIGRhdGEpO1xuXG4gICAgaWYgKGlzRmllbGRNYXBwaW5nKSB7XG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShkYXRhKSkge1xuICAgICAgICBsZXQgcmVzdWx0QXJyYXkgPSBbXTtcblxuICAgICAgICBmb3IgKGxldCBkIG9mIGRhdGEpIHtcbiAgICAgICAgICBsZXQgdmFsID0gbnVsbDtcbiAgICAgICAgICBpZiAodHlwZW9mIGQgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICB2YWwgPSBEYXRhVXRpbHMuZ2V0RGF0YVZhbHVlKGZpZWxkLCBkKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmVzdWx0QXJyYXkucHVzaCh2YWwpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdEFycmF5O1xuICAgICAgfSBlbHNlIGlmICh0eXBlb2YgZGF0YSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgcmV0dXJuIERhdGFVdGlscy5nZXREYXRhVmFsdWUoZmllbGQsIGRhdGEpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBkYXRhO1xuICB9XG5cbiAgcHVibGljIHNldEZpZWxkKGZpZWxkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmZpZWxkID0gZmllbGQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0RmllbGQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5maWVsZDtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDaGFpbkRhdGEoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5nZXRNYXBwZWREYXRhKCk7XG4gIH1cblxuICBwdWJsaWMgaXNNYXBwaW5nRW5hYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBBYnN0cmFjdERhdGFWaWV3LmlzRmllbGRNYXBwaW5nRW5hYmxlKHRoaXMuZmllbGQsIHRoaXMuZGF0YSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0TWFwcGVkRGF0YSgpOiBhbnkge1xuICAgIHJldHVybiBBYnN0cmFjdERhdGFWaWV3LnJlc29sdmVNYXBwZWREYXRhKHRoaXMuZmllbGQsIHRoaXMuZGF0YSk7XG4gIH1cblxufVxuIl19