Skip to main content

FullscreenWizardPageFactory Class

Stores metadata for all wizard pages.

Declaration

export class FullscreenWizardPageFactory extends PageFactory

Remarks

The page factory stores metadata for all wizard pages by their IDs. A metadata object implements the IFullscreenWizardPageMetadata interface. The StateManager uses its getState and setState methods to manipulate with a local page state.

You can use the page factory’s unregisterMetadata method to remove a specific page from the wizard.

  1. Handle the wizard’s afterInitialize event.
  2. Use the event argument’s wizard property to access the pageFactory object.
  3. Call this object’s unregisterMetadata method and pass the corresponding FullscreenReportWizardPageId/FullscreenDataSourceWizardPageId enumeration value as the parameter. This removes the page’s metadata from the factory and hides the page from the navigation panel.
  4. Use the event argument’s wizard property to access the iterator object and override its getNextPageId method to remove the page from the navigation logic.

The following example demonstrates how to hide the Select Data Source page from the Report Wizard and enable users to create SQL data sources only.

<script type="text/javascript">
   function beforePageInit(args) {
       // Identify the "Select Data Source" page.
       if (args.pageId === DevExpress.Reporting.Designer.Wizard.FullscreenReportWizardPageId.SelectDataSourcePage) {
           // Remove the page's section that displays available data sources.
           args.page.unregisterSection(DevExpress.Reporting.Designer.Wizard.FullscreenReportWizardSectionId.ChooseAvailableDataSourcePage);
           // Make the "Select data source type" section occupy the entire page.
           args.page.setSectionPosition(DevExpress.Reporting.Designer.Wizard.FullscreenReportWizardSectionId.ChooseDataSourceTypePage);
           // Override the navigation logic to skip the removed section.
           args.page.getNextSectionId = function(sectionId) {
               if(!sectionId) return DevExpress.Reporting.Designer.Wizard.FullscreenReportWizardSectionId.ChooseDataSourceTypePage;
           }
       }
   }

   function CustomizeWizard(s, e) {
       if(e.Type === "ReportWizard") {
           e.Wizard.events.addHandler("beforePageInitialize", beforePageInit)
       }
   }
</script>

<dx:ASPxReportDesigner ID="ASPxReportDesigner3" runat="server">
    <ClientSideEvents CustomizeWizard="CustomizeWizard" />
</dx:ASPxReportDesigner>

The resulting Report Wizard:

See the following topics for more information:

Inherited Members

Inheritance

PageFactory
FullscreenWizardPageFactory

Properties

metadata Property

Specifies the collection of metadata objects for wizard pages.

Declaration

metadata: {
    [key: string]: IFullscreenWizardPageMetadata<DevExpress.Analytics.Wizard.IWizardPage>;
}

Property Value

Type Description
[key: string]: IFullscreenWizardPageMetadata<IWizardPage>

The collection of metadata objects.

Methods

getMetadata(key) Method

Returns the specified page’s metadata.

Declaration

getMetadata(
    key: string
): IFullscreenWizardPageMetadata<DevExpress.Analytics.Wizard.IWizardPage>

Parameters

Name Type Description
key string

The page ID.

Returns

Type Description
IFullscreenWizardPageMetadata<IWizardPage>

The page metadata.

registerMetadata<T>(pageId, metadata) Method

Registers the specified page metadata.

Declaration

registerMetadata<T extends DevExpress.Analytics.Wizard.IWizardPage>(
    pageId: string,
    metadata: IFullscreenWizardPageMetadata<T>
): void

Parameters

Name Type Description
pageId string

The page ID.

metadata IFullscreenWizardPageMetadata<T>

The page metadata.

Type Parameters

Name Type Description
T IWizardPage

The page.

Remarks

Use this method to add a new page to the wizard.