devexpress-reporting
Version:
DevExpress Reporting provides the capability to develop a reporting application to create and customize reports.
182 lines (181 loc) • 11.4 kB
JavaScript
/**
* DevExpress HTML/JS Reporting (designer\wizard\reportWizard.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
*/
"use strict";
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 analytics_internal_1 = require("@devexpress/analytics-core/analytics-internal");
var analytics_utils_1 = require("@devexpress/analytics-core/analytics-utils");
var analytics_wizard_1 = require("@devexpress/analytics-core/analytics-wizard");
var _masterDetailRequestModel_1 = require("./internal/_masterDetailRequestModel");
var _utils_1 = require("./internal/_utils");
var pageId_1 = require("./pageId");
var addGroupingLevelPage_1 = require("./pages/addGroupingLevelPage");
var chooseAvailableDataSourcePage_1 = require("./pages/chooseAvailableDataSourcePage");
var chooseReportTypePage_1 = require("./pages/chooseReportTypePage");
var chooseSummaryOptionsPage_1 = require("./pages/chooseSummaryOptionsPage");
var colorSchemePage_1 = require("./pages/colorSchemePage");
var configureReportPageSettingsPage_1 = require("./pages/configureReportPageSettingsPage");
var customizeLabelPage_1 = require("./pages/customizeLabelPage");
var chooseJsonSchemaPage_1 = require("./pages/dataSourceWizard/chooseJsonSchemaPage");
var configureMasterDetailRelationshipsPage_1 = require("./pages/dataSourceWizard/configureMasterDetailRelationshipsPage");
var multiQueryConfigurePage_1 = require("./pages/dataSourceWizard/multiQueryConfigurePage");
var multiQueryConfigureParametersPage_1 = require("./pages/dataSourceWizard/multiQueryConfigureParametersPage");
var selectDataMembersPage_1 = require("./pages/selectDataMembersPage");
var selectLabelTypePage_1 = require("./pages/selectLabelTypePage");
var setReportTitlePage_1 = require("./pages/setReportTitlePage");
var reportWizardState_1 = require("./reportWizardState");
var $ = require("jquery");
var reportWizardStateCreating_1 = require("./reportWizardStateCreating");
var ReportWizard = (function (_super) {
__extends(ReportWizard, _super);
function ReportWizard(pageFactory, _reportWizardOptions) {
var _this = _super.call(this, pageFactory, _reportWizardOptions.callbacks.finishCallback) || this;
_this._reportWizardOptions = _reportWizardOptions;
_this._requestModelType = _masterDetailRequestModel_1.MasterDetailRequestModel;
_this.title = analytics_utils_1.getLocalization('Report Wizard', 'ASPxReportsStringId.ReportDesigner_Wizard_Header');
_this.height(_utils_1._masterDetailWizardHeight);
_this.width(_utils_1._masterDetailWizardWidth);
_this._extendCssClass = 'dxrd-master-detail-report-wizard';
return _this;
}
ReportWizard.prototype._callBeforeFinishHandler = function (state, wizardModel) { };
ReportWizard.prototype._callAfterFinishHandler = function (state, result) {
this.events.call('afterFinish', { state: state, wizardResult: result });
};
ReportWizard.prototype.initialize = function (state) {
var _this = this;
if (state === void 0) { state = reportWizardStateCreating_1.createReportWizardState(); }
if (this._reportWizardOptions.dataSources().length === 1 && !this._reportWizardOptions.canCreateDataSource) {
state.dataSource = chooseAvailableDataSourcePage_1._convertToStateDataSource(this._reportWizardOptions.dataSources()[0]);
}
if (this._reportWizardOptions.sqlDataSourceAvailable || !analytics_internal_1.isEmptyObject(state.sqlDataSourceWizard)) {
state.dataSourceType = analytics_wizard_1.DataSourceType.Sql;
}
else if (this._reportWizardOptions.jsonDataSourceAvailable || state.jsonDataSourceWizard.jsonSource) {
state.dataSourceType = analytics_wizard_1.DataSourceType.Json;
}
else {
state.dataSourceType = analytics_wizard_1.DataSourceType.NoData;
}
_super.prototype.initialize.call(this, state, function (pageFactory, stateManager) { return new ReportWizardPageIterator(pageFactory, stateManager, _this._reportWizardOptions); });
};
ReportWizard.prototype.start = function (finishCallback) {
if (finishCallback)
this['_finishCallback'] = finishCallback;
_super.prototype.start.call(this);
};
return ReportWizard;
}(analytics_wizard_1.PopupWizard));
exports.ReportWizard = ReportWizard;
var ReportWizardPageIterator = (function (_super) {
__extends(ReportWizardPageIterator, _super);
function ReportWizardPageIterator(pagesFactory, stateManager, _reportWizardOptions) {
var _this = _super.call(this, pagesFactory, stateManager, _reportWizardOptions) || this;
_this._reportWizardOptions = _reportWizardOptions;
return _this;
}
ReportWizardPageIterator.prototype.getNextPageId = function (pageId) {
if (!pageId)
return pageId_1.ReportWizardPageId.SelectReportTypePage;
if (pageId === pageId_1.ReportWizardPageId.SelectReportTypePage && this._getCurrentState().reportType === reportWizardState_1.ReportType.Label) {
return pageId_1.ReportWizardPageId.SelectLabelTypePage;
}
else if (pageId === pageId_1.ReportWizardPageId.SelectLabelTypePage) {
return pageId_1.ReportWizardPageId.CustomizeLabelPage;
}
else if (pageId === pageId_1.ReportWizardPageId.SelectReportTypePage && this._getCurrentState().dataSource && !this._reportWizardOptions.canCreateDataSource) {
return pageId_1.ReportWizardPageId.SelectDataMembersPage;
}
else if (pageId === pageId_1.ReportWizardPageId.SelectReportTypePage && this._reportWizardOptions.dataSources().length === 0) {
return _super.prototype.getNextPageId.call(this);
}
else if (pageId === pageId_1.ReportWizardPageId.SelectReportTypePage) {
return pageId_1.ReportWizardPageId.ChooseAvailableDataSourcePage;
}
else if (pageId === pageId_1.ReportWizardPageId.ChooseAvailableDataSourcePage && !this._getCurrentState().dataSource) {
return _super.prototype.getNextPageId.call(this);
}
else if (_super.prototype.getNextPageId.call(this, pageId)) {
return _super.prototype.getNextPageId.call(this, pageId);
}
else if (pageId === pageId_1.ReportWizardPageId.ChooseAvailableDataSourcePage && this._getCurrentState().dataSource) {
return pageId_1.ReportWizardPageId.SelectDataMembersPage;
}
else if ((pageId === analytics_wizard_1.DataSourceWizardPageId.ConfigureMasterDetailRelationshipsPage ||
pageId === analytics_wizard_1.SqlDataSourceWizardPageId.MultiQueryConfigurePage ||
pageId === analytics_wizard_1.SqlDataSourceWizardPageId.MultiQueryConfigureParametersPage ||
pageId === analytics_wizard_1.JsonDataSourceWizardPageId.ChooseJsonSchemaPage)) {
return pageId_1.ReportWizardPageId.SelectDataMembersPage;
}
else if (pageId === pageId_1.ReportWizardPageId.SelectDataMembersPage && !$.isEmptyObject(this.stateManager.getCurrentState().masterDetailInfoCollection) && this.stateManager.getCurrentState().masterDetailInfoCollection.some(function (item) { return item.checked !== false; })) {
return pageId_1.ReportWizardPageId.AddGroupingLevelPage;
}
else if (pageId === pageId_1.ReportWizardPageId.AddGroupingLevelPage && !$.isEmptyObject(this._getCurrentState().masterDetailSummaryOptionsColumns)) {
return pageId_1.ReportWizardPageId.ChooseSummaryOptionsPage;
}
else if (pageId === pageId_1.ReportWizardPageId.AddGroupingLevelPage || pageId === pageId_1.ReportWizardPageId.ChooseSummaryOptionsPage) {
return pageId_1.ReportWizardPageId.ConfigureReportPageSettingsPage;
}
else if (pageId === pageId_1.ReportWizardPageId.ConfigureReportPageSettingsPage) {
return pageId_1.ReportWizardPageId.ChooseReportColorSchemePage;
}
else if (pageId === pageId_1.ReportWizardPageId.ChooseReportColorSchemePage) {
return pageId_1.ReportWizardPageId.SetReportTitlePage;
}
};
return ReportWizardPageIterator;
}(analytics_wizard_1.MultiQueryDataSourceWizardPageIterator));
exports.ReportWizardPageIterator = ReportWizardPageIterator;
function _registerCommonReportWizardPages(factory, reportWizardOptions) {
selectLabelTypePage_1._registerSelectLabelTypePage(factory);
customizeLabelPage_1._registerCustomizeLabelPage(factory);
chooseAvailableDataSourcePage_1._registerChooseAvailableDataSourcePage(factory, reportWizardOptions);
setReportTitlePage_1._registerSetReportTitlePage(factory);
analytics_wizard_1._registerMultiQueryDataSourcePages(factory, reportWizardOptions);
chooseJsonSchemaPage_1._registerChooseJsonSchemaPage(factory, reportWizardOptions.callbacks);
configureMasterDetailRelationshipsPage_1._registerConfigureMasterDetailRelationshipsPage(factory, reportWizardOptions.callbacks);
multiQueryConfigurePage_1._registerMultiQueryConfigurePage(factory, reportWizardOptions);
multiQueryConfigureParametersPage_1._registerMultiQueryConfigureParametersPage(factory, reportWizardOptions.callbacks);
}
exports._registerCommonReportWizardPages = _registerCommonReportWizardPages;
function _registerReportWizardPages(factory, reportWizardOptions) {
_registerCommonReportWizardPages(factory, reportWizardOptions);
chooseReportTypePage_1._registerSelectReportTypePage(factory, {
showVertical: false,
canCreateDatabound: function () {
return reportWizardOptions.dataSources().length > 0 ||
reportWizardOptions.connectionStrings.sql().length > 0 ||
reportWizardOptions.connectionStrings.json().length > 0 ||
(reportWizardOptions.allowCreateNewJsonConnection && reportWizardOptions.wizardSettings.enableJsonDataSource);
}
});
selectDataMembersPage_1._registerSelectDataMembersPage(factory, reportWizardOptions);
addGroupingLevelPage_1._registerAddGroupingLevelPage(factory);
chooseSummaryOptionsPage_1._registerChooseSummaryOptionsPage(factory);
configureReportPageSettingsPage_1._registerConfigureReportPageSettingsPage(factory);
colorSchemePage_1._registerChooseReportColorSchemePage(factory);
}
exports._registerReportWizardPages = _registerReportWizardPages;
function _createReportWizard(reportWizardOptions) {
var factory = new analytics_wizard_1.PageFactory();
_registerReportWizardPages(factory, reportWizardOptions);
return new ReportWizard(factory, reportWizardOptions);
}
exports._createReportWizard = _createReportWizard;