devexpress-reporting
Version:
DevExpress Reporting provides the capability to develop a reporting application to create and customize reports.
100 lines (99 loc) • 4.7 kB
JavaScript
/**
* DevExpress HTML/JS Reporting (designer\widgets\pivotGridCriteriaEditor.js)
* Version: 20.2.13
* Build date: Apr 10, 2023
* Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED
* License: https://www.devexpress.com/Support/EULAs/universal.xml
*/
;
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
var parameter_1 = require("../dataObjects/parameters/parameter");
var analytics_utils_1 = require("@devexpress/analytics-core/analytics-utils");
var ko = require("knockout");
var $ = require("jquery");
var analytics_internal_1 = require("@devexpress/analytics-core/analytics-internal");
var analytics_widgets_1 = require("@devexpress/analytics-core/analytics-widgets");
var PivotGridCriteriaEditor = (function (_super) {
__extends(PivotGridCriteriaEditor, _super);
function PivotGridCriteriaEditor(info, level, parentDisabled, textToSearch) {
return _super.call(this, info, level, parentDisabled, textToSearch) || this;
}
PivotGridCriteriaEditor.prototype._createItemsProvider = function (fieldListProvider) {
var _this = this;
return {
getItems: function (pathRequest) {
var model = _this._model.peek();
if (!model || pathRequest.fullPath.indexOf(parameter_1.Parameter.ParametersRefString) === 0)
return $.Deferred().resolve().promise();
var pivot = model['parent'];
var result = $.Deferred();
var fullPath = new analytics_utils_1.PathRequest(analytics_internal_1.getFullPath(pivot.getPath(''), pivot.dataMember()));
ko.unwrap(fieldListProvider).getItems(fullPath).done(function (dataSourceItems) {
var items = [], fields = pivot.fields();
for (var i = 0; i < fields.length; i++) {
var field = fields[i];
if (field.area() === 'DataArea') {
continue;
}
var dataMemberInfo = dataSourceItems.filter(function (item) { return item.name === field.fieldName(); })[0];
items.push({
displayName: field.getDisplayName(),
isList: false,
name: field.name(),
specifics: dataMemberInfo && dataMemberInfo.specifics.toLowerCase() || 'integer'
});
}
result.resolve(items);
});
return result.promise();
}
};
};
PivotGridCriteriaEditor.prototype._getFieldName = function (name, isRealName) {
if (isRealName === void 0) { isRealName = false; }
var model = this._model.peek();
if (!model)
return $.Deferred().resolve().promise();
var pivot = model['parent'];
var field = analytics_internal_1.find(pivot.fields.peek(), function (f) { return (isRealName ? (f.getDisplayName() || name) : f.name()) === name; });
var def = $.Deferred();
if (!field)
def.reject();
else
def.resolve(isRealName ? field.name() : field.getDisplayName());
return def.promise();
};
PivotGridCriteriaEditor.prototype._createDisplayNameProvider = function () {
var _this = this;
return {
getDisplayNameByPath: function (path, name) {
return _this._getFieldName(name);
},
getRealName: function (path, name) {
return _this._getFieldName(name, true);
}
};
};
PivotGridCriteriaEditor.prototype.wrapModel = function (fieldListProvider) {
if (!this.itemsProvider) {
this.itemsProvider = this._createItemsProvider(fieldListProvider);
this.displayNameProvider = this._createDisplayNameProvider();
}
return this;
};
return PivotGridCriteriaEditor;
}(analytics_widgets_1.Editor));
exports.PivotGridCriteriaEditor = PivotGridCriteriaEditor;