devexpress-reporting
Version:
DevExpress Reporting provides the capability to develop a reporting application to create and customize reports.
124 lines (123 loc) • 6.6 kB
JavaScript
/**
* DevExpress HTML/JS Reporting (designer\dataObjects\parameters\lookupSettings.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 objectStorageItem_1 = require("../objectStorageItem");
var metadata_1 = require("../../controls/metadata/properties/metadata");
var analytics_widgets_1 = require("@devexpress/analytics-core/analytics-widgets");
var lookUpValue_1 = require("./lookUpValue");
var analytics_utils_1 = require("@devexpress/analytics-core/analytics-utils");
var analytics_internal_1 = require("@devexpress/analytics-core/analytics-internal");
var ko = require("knockout");
var $ = require("jquery");
var _parameterUtils_1 = require("../metadata/_parameterUtils");
var lookUpSettings_1 = require("../metadata/parameters/lookUpSettings");
var LookUpSettings = (function (_super) {
__extends(LookUpSettings, _super);
function LookUpSettings(model, dsHelperProvider, serializer) {
return _super.call(this, model, dsHelperProvider, serializer) || this;
}
LookUpSettings.prototype.getInfo = function () {
return _super.prototype.getInfo.call(this).concat([metadata_1.filterString, metadata_1.filterStringEditable]);
};
LookUpSettings.prototype.updateFilter = function (parameter, report) {
this.filterString.helper.parameters = ko.pureComputed({
read: function () {
var currentIndex = report.parameters().indexOf(parameter);
var filteredParameters = currentIndex > 0 ? report.parameters().filter(function (_, index) { return index < currentIndex; }) : report.parameters();
return _parameterUtils_1.collectAvailableParameters(filteredParameters);
},
deferEvaluation: true
});
this._disposables.push(this.filterString.helper.parameters);
};
return LookUpSettings;
}(objectStorageItem_1.ObjectItem));
exports.LookUpSettings = LookUpSettings;
var StaticListLookUpSettings = (function (_super) {
__extends(StaticListLookUpSettings, _super);
function StaticListLookUpSettings(model, dsHelperProvider, serializer) {
var _this = _super.call(this, $.extend({ '@ObjectType': 'DevExpress.XtraReports.Parameters.StaticListLookUpSettings' }, model), dsHelperProvider, serializer) || this;
_this.filterString = new analytics_widgets_1.FilterStringOptions(_this._filterString);
_this.filterString.helper.canChoiceParameters = true;
_this.filterString.itemsProvider = ko.observable(null);
return _this;
}
StaticListLookUpSettings.prototype.getInfo = function () {
return _super.prototype.getInfo.call(this).concat(this._isEditing() ? lookUpSettings_1.editedStaticListLookUpSettingsInfo : lookUpSettings_1.readonlyStaticListLookUpSettingsInfo);
};
StaticListLookUpSettings.prototype.preInitProperties = function (model, helper, serializer) {
_super.prototype.preInitProperties.call(this, model, helper, serializer);
this._isEditing = ko.observable(false);
};
StaticListLookUpSettings.prototype.afterDeserialization = function (model, serializer) {
this.lookUpValues = analytics_utils_1.deserializeArray(model.LookUpValues || [], function (item) { return new lookUpValue_1.LookUpValue(item, serializer); });
_super.prototype.afterDeserialization.call(this, model, serializer);
};
StaticListLookUpSettings.prototype.updateFilter = function (parameter, report) {
this.filterString.itemsProvider({
getItems: function (pathRequest) {
var result = $.Deferred();
result.resolve([
{
displayName: 'Description',
isList: false,
name: 'Description',
specifics: 'String'
},
{
displayName: 'Value',
isList: false,
name: 'Value',
specifics: parameter.specifics
}
]);
return result.promise();
}
});
_super.prototype.updateFilter.call(this, parameter, report);
};
return StaticListLookUpSettings;
}(LookUpSettings));
exports.StaticListLookUpSettings = StaticListLookUpSettings;
var DynamicListLookUpSettings = (function (_super) {
__extends(DynamicListLookUpSettings, _super);
function DynamicListLookUpSettings(model, dsHelperProvider, serializer) {
var _this = _super.call(this, $.extend({ '@ObjectType': 'DevExpress.XtraReports.Parameters.DynamicListLookUpSettings' }, model), dsHelperProvider, serializer) || this;
_this.dsHelperProvider = dsHelperProvider;
_this.filterString = new analytics_widgets_1.FilterStringOptions(_this._filterString, ko.pureComputed(function () { return _this.getPath('valueMember'); }), ko.pureComputed(function () { return !_this.dataSource(); }));
return _this;
}
DynamicListLookUpSettings.prototype.getInfo = function () {
return _super.prototype.getInfo.call(this).concat(lookUpSettings_1.dynamicListLookUpSettingsInfoBase);
};
DynamicListLookUpSettings.prototype.getPath = function (propertyName) {
if (propertyName === 'dataMember') {
return this.dsHelperProvider() && this.dsHelperProvider().getDataSourcePath(this.dataSource());
}
else if (propertyName === 'displayMember' || propertyName === 'valueMember' || propertyName === 'sortMember') {
return analytics_internal_1.getFullPath(this.getPath('dataMember'), this.dataMember());
}
return '';
};
return DynamicListLookUpSettings;
}(LookUpSettings));
exports.DynamicListLookUpSettings = DynamicListLookUpSettings;