UNPKG

devexpress-reporting

Version:

DevExpress Reporting provides the capability to develop a reporting application to create and customize reports.

44 lines (43 loc) 2.6 kB
/** * DevExpress HTML/JS Reporting (designer\wizard\pages\fullscreen\specifySqlDataSourceSettingsPage.js) * Version: 24.2.6 * Build date: Mar 18, 2025 * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED * License: https://www.devexpress.com/Support/EULAs/universal.xml */ import { createDeferred } from '@devexpress/analytics-core/analytics-internal-native'; import { FullscreenDataSourceWizardPageId, SpecifySqlDataSourceSettingsPage as SpecifyAnalyticSqlDataSourceSettingsPage, _registerSpecifySqlDataSourceSettingsPage as _registerSpecifyAnalyticsSqlDataSourceSettingsPage, _restoreSqlDataSourceFromState } from '@devexpress/analytics-core/analytics-wizard'; import { createNewObjectItem } from '../../../dataObjects/objectItemCreation'; import { overrideFullscreenDataSourceWizardPageMetadata } from '../../internal/_utils'; import { FullscreenReportWizardSectionId } from '../../pageId'; import { _convertToStateDataSource } from '../chooseAvailableDataSourcePage'; export class SpecifySqlDataSourceSettingsPage extends SpecifyAnalyticSqlDataSourceSettingsPage { registerSections() { super.registerSections(); [ this._factory.getMetadata(FullscreenReportWizardSectionId.ConfigureMasterDetailRelationshipsPage), this._factory.getMetadata(FullscreenReportWizardSectionId.ConfigureQueryParametersPage) ].forEach(meta => { meta.canFinish = () => false; meta.canNext = (page) => page.canNext() || page.canFinish(); }); } commit() { const deferred = createDeferred(); super.commit().done((commitResult) => { const dataSourcePromise = this['_dataSourceWizardOptions'].callbacks.createSqlDataSourceInfo(_restoreSqlDataSourceFromState(commitResult.sqlDataSourceWizard, undefined, commitResult.dataSourceId).sqlDataSource); dataSourcePromise.done((result) => { result.data = createNewObjectItem(result.data); deferred.resolve({ sqlDataSourceWizard: commitResult, newDataSource: _convertToStateDataSource(result) }); }).fail(deferred.reject); }); return deferred.promise(); } } export function _registerSpecifySqlDataSourceSettingsPage(factory, wizardOptions) { _registerSpecifyAnalyticsSqlDataSourceSettingsPage(factory, wizardOptions); overrideFullscreenDataSourceWizardPageMetadata(factory, FullscreenDataSourceWizardPageId.SpecifySqlDataSourceSettingsPage, () => new SpecifySqlDataSourceSettingsPage(wizardOptions)); }