[]
        
(Showing Draft Content)

Report Designer API

Wyn Enterprise provides a rich API for integrating reporting components into your web application. To embed the Report Designer component in your project, use the Report Designer API. It lets you create, design, and save reports with added capabilities that include defining the locale for the designer, customizing the default settings of the report items, managing the Data and Properties tab, modifying the application info, and much more.

The following sections describe the module: report/types/designer-app.

Type Aliases

AddDataSetOptions

Ƭ AddDataSetOptions: Object

Type of options passed to the GrapeCity.WynReports.Designer.api.addDataSet() function.

Type declaration

Name

Type

dataSetName

string

reportCacheKey

string

dataSetName: string

Name of the data set to be sourced from the cached report (or template).


reportCacheKey: string

Cache key of the report (or template) to be used as the source for the specified data set.



AddDataSetResult

Ƭ AddDataSetResult: AddDataSetSuccessResult | ReportOperationErrorResult

Type of result returned by the GrapeCity.WynReports.Designer.api.addDataSet() function.


AddDataSetSuccessResult

Ƭ AddDataSetSuccessResult: Object

Type of success result returned by the GrapeCity.WynReports.Designer.api.addDataSet() function.

Type declaration

Name

Type

dataSetName

string

type

"success"

dataSetName: string

Result name of the added data set.


type: "success"

Result type



AddEmbeddedImageOptions

Ƭ AddEmbeddedImageOptions: Object

Type of options passed to the GrapeCity.WynReports.Designer.api.addEmbeddedImage() function.

Type declaration

Name

Type

embeddedImageName

string

reportCacheKey

string

embeddedImageName: string

Name of the embedded image to be sourced from the cached report (or template).


reportCacheKey: string

Cache key of the report (or template) to be used as the source for the specified embedded image.



AddEmbeddedImageResult

Ƭ AddEmbeddedImageResult: AddEmbeddedImageSuccessResult | ReportOperationErrorResult

Type of result returned by the GrapeCity.WynReports.Designer.api.addEmbeddedImage() function.


AddEmbeddedImageSuccessResult

Ƭ AddEmbeddedImageSuccessResult: Object

Type of success result returned by the GrapeCity.WynReports.Designer.api.addEmbeddedImage() function.

Type declaration

Name

Type

embeddedImageName

string

type

"success"

embeddedImageName: string

Result name of the added embedded image.


type: "success"

Result type



AddLayerOptions

Ƭ AddLayerOptions: Object

Type of options passed to the GrapeCity.WynReports.Designer.api.addLayer() function.

Type declaration

Name

Type

layerName

string

reportCacheKey

string

layerName: string

Name of the layer to be sourced from the cached report (or template).


reportCacheKey: string

Cache key of the report (or template) to be used as the source for the specified layer.



AddLayerResult

Ƭ AddLayerResult: AddLayerSuccessResult | ReportOperationErrorResult

Type of result returned by the GrapeCity.WynReports.Designer.api.addLayer() function.


AddLayerSuccessResult

Ƭ AddLayerSuccessResult: Object

Type of success result returned by the GrapeCity.WynReports.Designer.api.addLayer() function.

Type declaration

Name

Type

layerName

string

type

"success"

layerName: string

Result name of the added layer.


type: "success"

Result type



AddLocalizationErrorResult

Ƭ AddLocalizationErrorResult: Object

Type of error result returned by the GrapeCity.WynReports.Designer.addLocalization() function.

Type declaration

Name

Type

errorCaption

string

errorDetails

string[]

type

"error"

errorCaption: string

Error caption


errorDetails: string[]

Error details


type: "error"

Error result type



AddLocalizationResult

Ƭ AddLocalizationResult: AddLocalizationSuccessResult | AddLocalizationErrorResult

Type of result returned by the GrapeCity.WynReports.Designer.addLocalization() function.


AddLocalizationSuccessResult

Ƭ AddLocalizationSuccessResult: Object

Type of success result returned by the GrapeCity.WynReports.Designer.addLocalization() function.

Type declaration

Name

Type

type

"success"

type: "success"

Success result type



AddReportItemOptions

Ƭ AddReportItemOptions: Object

Type of options passed to the GrapeCity.WynReports.Designer.api.addReportItem() function.

Type declaration

Name

Type

reportCacheKey

string

reportItemName

string

targetContainer?

string

reportCacheKey: string

Cache key of the report (or template) to be used as the source for the specified report item.


reportItemName: string

Name of the report item to be sourced from the cached report (or template).


targetContainer?: string

Specifies the target container within the currently edited report where to add the report item:

  • CPL (RDL) reports - Can be only 'Body'

  • FPL (Page) reports - Can be only page - 'Page 1', 'Page 2', etc.

If not specified, target will be set to 'Body' for CPL reports or to 'Page 1' for FPL reports.



AddReportItemResult

Ƭ AddReportItemResult: AddReportItemSuccessResult | ReportOperationErrorResult

Type of result returned by the GrapeCity.WynReports.Designer.api.addReportItem() function.


AddReportItemSuccessResult

Ƭ AddReportItemSuccessResult: Object

Type of success result returned by the GrapeCity.WynReports.Designer.api.addReportItem() function.

Type declaration

Name

Type

reportItemName

string

targetContainer

string

type

"success"

reportItemName: string

Result name of the added report item.


targetContainer: string

Result target container where the report item is added.


type: "success"

Result type



AddReportParameterOptions

Ƭ AddReportParameterOptions: Object

Type of options passed to the GrapeCity.WynReports.Designer.api.addReportParameter() function.

Type declaration

Name

Type

reportCacheKey

string

reportParameterName

string

reportCacheKey: string

Cache key of the report (or template) to be used as the source for the specified report parameter.


reportParameterName: string

Name of the report parameter to be sourced from the cached report (or template).



AddReportParameterResult

Ƭ AddReportParameterResult: AddReportParameterSuccessResult | ReportOperationErrorResult

Type of result returned by the GrapeCity.WynReports.Designer.api.addReportParameter() function.


AddReportParameterSuccessResult

Ƭ AddReportParameterSuccessResult: Object

Type of success result returned by the GrapeCity.WynReports.Designer.api.addReportParameter() function.

Type declaration

Name

Type

reportParameterName

string

type

"success"

reportParameterName: string

Result name of the added report parameter.


type: "success"

Result type



ApplicationInfo

Ƭ ApplicationInfo: Object

Partial type of the DesignerOptions.aboutInfo object.

Type declaration

Name

Type

applicationTitle?

string

applicationTitleCompact?

string

applicationTitle?: string

Specifies the application title to be used in Designer.

Example

applicationTitle: 'Report Designer'

applicationTitleCompact?: string

Specifies the compact application title to be used in Designer in places where there is not enough space for a full title.

Example

applicationTitleCompact: 'Designer'


BarcodeSymbology

Ƭ BarcodeSymbology: "Ansi39" | "Ansi39x" | "Aztec" | "BC412" | "Codabar" | "Code_11" | "Code_128_A" | "Code_128_B" | "Code_128_C" | "Code_128auto" | "Code_2_of_5" | "Code_93" | "Code25intlv" | "Code39" | "Code39x" | "Code49" | "Code93x" | "DataMatrix" | "EAN_13" | "EAN_8" | "EAN128FNC1" | "GS1DataMatrix" | "GS1QRCode" | "HIBCCode128" | "HIBCCode39" | "IATA_2_of_5" | "IntelligentMail" | "IntelligentMailPackage" | "ISBN" | "ISMN" | "ISSN" | "ITF14" | "JapanesePostal" | "Matrix_2_of_5" | "MaxiCode" | "MicroPDF417" | "MicroQRCode" | "MSI" | "Pdf417" | "Pharmacode" | "Plessey" | "PostNet" | "PZN" | "QRCode" | "RM4SCC" | "RSS14" | "RSS14Stacked" | "RSS14StackedOmnidirectional" | "RSS14Truncated" | "RSSExpanded" | "RSSExpandedStacked" | "RSSLimited" | "SSCC_18" | "Telepen" | "UCCEAN128" | "UPC_A" | "UPC_E0" | "UPC_E1"

Barcode symbologies supported by Designer.


CacheReportOptions

Ƭ CacheReportOptions: Object

Type of options passed to the GrapeCity.WynReports.Designer.api.cacheReport() function.

Type declaration

Name

Type

reportCacheKey

string

reportInfo

CachedReportInfo

reportCacheKey: string

Report cache key


reportInfo: CachedReportInfo

Report info - information about the cached report (or template).



CacheReportResult

Ƭ CacheReportResult: CacheReportSuccessResult | ReportOperationErrorResult

Type of result returned by the GrapeCity.WynReports.Designer.api.cacheReport() function.


CacheReportSuccessResult

Ƭ CacheReportSuccessResult: Object

Type of success result returned by the GrapeCity.WynReports.Designer.api.cacheReport() function.

Type declaration

Name

Type

reportCacheKey

string

type

"success"

reportCacheKey: string

Report cache key


type: "success"

Result type



CachedReportInfo

Ƭ CachedReportInfo: Object

Information about the cached report (or template).

Type declaration

Name

Type

content

any

id?

string

isTemplate?

boolean

name?

string

version?

number | null

content: any

Report (or template) content


id?: string

Report (or template) id


isTemplate?: boolean

Is cached document a report or a template?


name?: string

Report (or template) name


version?: number | null

Report (or template) version



CreateReportOptions

Ƭ CreateReportOptions: Object

Type of options passed to the GrapeCity.WynReports.Designer.api.createReport() function.

Type declaration

Name

Type

dataSets?

DataSetInfo[]

onFinish?

() => void

onStart?

() => void

reportType?

"CPL" | "FPL"

templateInfo?

{ content?: any ; id?: string ; name?: string }

templateInfo.content?

any

templateInfo.id?

string

templateInfo.name?

string

dataSets?: DataSetInfo[]

Data sets - id/name/version array

If the dataSets option is specified, a new report is created with these data sets added.

Example

dataSets: [{ id: '1f183c3f-64f9-4b4c-ac92-cd37580bde21', name: 'MyDataSet', version: 3 }]

onFinish?: () => void

Callback on finishing to create a report.

Example

onFinish: () => {
	console.log('Finished creating a new report.');
}

onStart?: () => void

Callback on starting to create a report.

Example

onStart: () => {
	console.log('Started creating a new report.');
}

reportType?: "CPL" | "FPL"

Specifies the type of a new report - CPL (RDL) or FPL (Page).

By default, a CPL (RDL) report is created.

Example

reportType: 'FPL'

templateInfo?: { content?: any ; id?: string ; name?: string }

Template info

If templateInfo is specified for report creation, either id or content needs to be defined.

Example

templateInfo: { id: 'b294d31c-81d2-48f1-9555-753023d62632', name: 'MyTemplate' }

templateInfo.content?: any

Template content

If content is defined, a new report is created based on this content.


templateInfo.id?: string

Template ID

If an ID is defined, template content is loaded from the server.

Example

id: 'b294d31c-81d2-48f1-9555-753023d62632'

templateInfo.name?: string

Template name

Example

name: 'MyTemplate'


CreateReportResult

Ƭ CreateReportResult: CreateReportSuccessResult | ReportOperationErrorResult

Type of result returned by the GrapeCity.WynReports.Designer.api.createReport() function.


CreateReportSuccessResult

Ƭ CreateReportSuccessResult: Object

Type of success result returned by the GrapeCity.WynReports.Designer.api.createReport() function.

Type declaration

Name

Type

reportInfo

{ id: null ; isTemplate: false ; name: string ; version: null }

reportInfo.id

null

reportInfo.isTemplate

false

reportInfo.name

string

reportInfo.version

null

type

"success"

reportInfo: { id: null ; isTemplate: false ; name: string ; version: null }

Report info - Information about the created report.


reportInfo.id: null

Report ID - It is always null for a new report.


reportInfo.isTemplate: false

Is the document created a report or a template - It is always false for a new report.


reportInfo.name: string

Report name


reportInfo.version: null

Report version - it is always null for a new report


type: "success"

Result type



DataSetInfo

Ƭ DataSetInfo: Object

Type of an array element of the CreateReportOptions.dataSets array.

Type declaration

Name

Type

id

string

name

string

version

string | number

id: string

Data set ID

Example

id: '1f183c3f-64f9-4b4c-ac92-cd37580bde21'

name: string

Data set name

Example

name: 'MyDataSet'

version: string | number

Data set version

Example

version: 3


DesignerApi

Ƭ DesignerApi: Object

Type of the GrapeCity.WynReports.Designer object.

Type declaration

Name

Type

addLocalization

(lng: string, resourceBundles: LocalizationResourceBundle[]) => AddLocalizationResult

api

ReportingApi

closeViewer

() => void

createDesignerOptions

(portalUrl: string, referenceToken?: string) => DesignerOptions

destroy

() => void

focus

() => void

getLocalizationResources

(lng: string, portalUrl: string, referenceToken?: string) => Promise<GetLocalizationResourcesResult>

renderApplication

(designerElementId: string, designerOptions: DesignerOptions) => Promise<void>

addLocalization: (lng: string, resourceBundles: LocalizationResourceBundle[]) => AddLocalizationResult

Adds custom localization resources for the Report Designer. Then it is required to pass lng to designerOptions.locale to apply the added resources.

Example

const result = GrapeCity.WynReports.Designer.addLocalization('zh-CN', resourceBundles);
if (result.type === 'success') designerOptions.locale = 'zh-CN';
else console.error([result.errorCaption, ...result.errorDetails].join('\n'));

api: ReportingApi

This object includes functions allowing you to create, open, or save report, etc.


closeViewer: () => void

Closes the Viewer that is plugged-in to Designer via designerOptions.openViewer().

Example

GrapeCity.WynReports.Designer.closeViewer();

createDesignerOptions: (portalUrl: string, referenceToken?: string) => DesignerOptions

Creates the default DesignerOptions object to be passed to the GrapeCity.WynReports.Designer.renderApplication() function.

Example

const designerOptions = GrapeCity.WynReports.Designer.createDesignerOptions('<portalUrl>', '<referenceToken>');

destroy: () => void

Destroys Designer.

If it is needed to continue working with Designer after destroying it, it is mandatory to call GrapeCity.WynReports.Designer.renderApplication() again.

Example

GrapeCity.WynReports.Designer.destroy();

focus: () => void

Returns focus to the Designer. Focus may be lost when plugged-in or external components are opened/closed.Returning focus is essential to continue using Designer hotkeys like Ctrl+Z (undo), Ctrl+Y (redo), etc.

Example

GrapeCity.WynReports.Designer.focus();

getLocalizationResources: (lng: string, portalUrl: string, referenceToken?: string) => Promise<GetLocalizationResourcesResult>

Gets custom localization resources provided by the Wyn API.Obtained resources are intended for GrapeCity.WynReports.Designer.addLocalization().

Example

const result = GrapeCity.WynReports.Designer.getLocalizationResources('zh-CN', '<portalUrl>', '<referenceToken>');
if (result.type === 'success') GrapeCity.WynReports.Designer.addLocalization('zh-CN', result.resourceBundles);
else console.error([result.errorCaption, ...result.errorDetails].join('\n'));

renderApplication: (designerElementId: string, designerOptions: DesignerOptions) => Promise<void>

Renders Designer to the div element with id designerElementId using the specified designerOptions.

Example

GrapeCity.WynReports.Designer.renderApplication('report-designer-app', designerOptions);


DesignerOptions

Ƭ DesignerOptions: DesignerOptionsBase & DesignerOptionsOther

Type of the return value of the GrapeCity.WynReports.Designer.createDesignerOptions() function.


DesignerOptionsBase

Ƭ DesignerOptionsBase: Object

The base primary options of the DesignerOptions type.

Type declaration

Name

Type

aboutInfo

ApplicationInfo & ProductInfo

locale?

Locale

openViewer?

(options: ViewerOptions) => void

portalUrl

string

referenceToken?

string

referenceTokenKey?

string

reportInfo

{ id?: string | null ; isTemplate?: boolean ; version?: number | null }

reportInfo.id?

string | null

reportInfo.isTemplate?

boolean

reportInfo.version?

number | null

aboutInfo: ApplicationInfo & ProductInfo

Overrides the default About info.

Example

designerOptions.aboutInfo.applicationTitle = 'Report Designer';
designerOptions.aboutInfo.applicationTitleCompact = 'Designer';
designerOptions.aboutInfo.productTitle = '<productTitle>';
designerOptions.aboutInfo.productVersion = '1.2.3';

locale?: Locale

Specifies the locale used for displaying Designer. If locale is not specified explicitly here, the locale corresponding to the browser preferences is used.

Example

designerOptions.locale = 'zh';

openViewer?: (options: ViewerOptions) => void

You can plug-in Report Viewer component by providing openViewer function to designerOptions. When openViewer is passed to designerOptions, Preview button appears in Designer.

Example

designerOptions.openViewer = function(options) {
	// ... create viewer and open report
};

portalUrl: string

Wyn Portal URL.

Example

designerOptions.portalUrl = 'https://wyn-portal.com/';

referenceToken?: string

The reference key needed to access the Wyn API.

Example

designerOptions.referenceToken = '<referenceToken>';

referenceTokenKey?: string

The reference key name used in query parameters, configured in the Wyn Config file.

If referenceTokenKey is not specified, default value is 'token'.

Example

designerOptions.referenceTokenKey = '<referenceTokenKey>';

reportInfo: { id?: string | null ; isTemplate?: boolean ; readOnly?: boolean ; version?: number | null }


If reportInfo.id is specified, the corresponding document (report or template) will be opened in Designer when Designer application is rendered.


reportInfo.id?: string | null

Specify the report (or template) ID to open it in Designer when Designer application is rendered.

Example

designerOptions.reportInfo.id = '6e975775-38e3-4ac5-b92c-0ff7dab091a6';

reportInfo.isTemplate?: boolean

Specify whether a report or a template is opened.

Example

designerOptions.isTemplate = true;

reportInfo.readOnly?: boolean


Specify whether a report or a template is opened in the read-only mode so that saving any changes is prohibited.

By default, this option is disabled so saving report or template changes is allowed.


Example

designerOptions.readOnly = true;

reportInfo.version?: number | null

Specify the exact report (or template) version if not the latest version needs to be opened.

Example

designerOptions.reportInfo.version = 5;


DesignerOptionsOther

Ƭ DesignerOptionsOther: Object

The other secondary options of the DesignerOptions type.

Type declaration

Name

Type

aboutButton

{ visible: boolean }

aboutButton.visible

boolean

dataTab

{ commonValues: { visible: boolean } ; dataSets: { canModify: boolean ; canReplace: boolean ; picker: { dataResources?: string } ; visible: boolean } ; dataSources: { canModify: boolean ; canReplace: boolean ; visible: boolean } ; parameters: { canModify: boolean ; visible: boolean } ; visible: boolean }

dataTab.commonValues

{ visible: boolean }

dataTab.commonValues.visible

boolean

dataTab.dataSets

{ canModify: boolean ; canReplace: boolean ; picker: { dataResources?: string } ; visible: boolean }

dataTab.dataSets.canModify

boolean

dataTab.dataSets.canReplace

boolean

dataTab.dataSets.picker

{ dataResources?: string }

dataTab.dataSets.picker.dataResources?

string

dataTab.dataSets.visible

boolean

dataTab.dataSources

{ canModify: boolean ; canReplace: boolean ; visible: boolean }

dataTab.dataSources.canModify

boolean

dataTab.dataSources.canReplace

boolean

dataTab.dataSources.visible

boolean

dataTab.parameters

{ canModify: boolean ; visible: boolean }

dataTab.parameters.canModify

boolean

dataTab.parameters.visible

boolean

dataTab.visible

boolean

disableFocusTimer?

boolean

expressionSyntax

"i11n" | "rdl"

filterProperties?

(descriptors: PropertyDescriptor[], reportItem: Record<string, any>) => PropertyDescriptor[]

fonts?

string[]

gridSize

{ value?: string ; visible: boolean }

gridSize.value?

string

gridSize.visible

boolean

groupEditor

{ visible: boolean }

groupEditor.visible

boolean

helpInfos?

HelpInfo[]

infoTab

{ caching: { canModify: boolean ; visible: boolean } ; commands: { canModify: boolean ; visible: boolean } ; jumpToReport: { visible: boolean } ; jumpToURL: { visible: boolean } ; permissions: { canModify: boolean ; visible: boolean } ; visible: boolean }

infoTab.caching

{ canModify: boolean ; visible: boolean }

infoTab.caching.canModify

boolean

infoTab.caching.visible

boolean

infoTab.commands

{ canModify: boolean ; visible: boolean }

infoTab.commands.canModify

boolean

infoTab.commands.visible

boolean

infoTab.jumpToReport

{ visible: boolean }

infoTab.jumpToReport.visible

boolean

infoTab.jumpToURL

{ visible: boolean }

infoTab.jumpToURL.visible

boolean

infoTab.permissions

{ canModify: boolean ; visible: boolean }

infoTab.permissions.canModify

boolean

infoTab.permissions.visible

boolean

infoTab.visible

boolean

insertTab

{ visible: boolean }

insertTab.visible

boolean

layersEditor

{ visible: boolean }

layersEditor.visible

boolean

lockLayout

boolean

makeTitle?

(reportName: string, options: MakeTitleOptions) => string

onClose?

(options?: OnCloseOptions) => void

onCloseViewer?

() => void

onError?

(operation: ReportOperation, options: OnErrorOptions) => void

onSaved?

(options: OnSavedOptions) => void

parametersView

{ visible: boolean }

parametersView.visible

boolean

propertiesTab

{ defaultMode?: "Basic" | "Advanced" ; mode: "Basic" | "Advanced" | "Both" ; visible: boolean }

propertiesTab.defaultMode?

"Basic" | "Advanced"

propertiesTab.mode

"Basic" | "Advanced" | "Both"

propertiesTab.visible

boolean

reportExplorer

{ visible: boolean }

reportExplorer.visible

boolean

reportItems?

string

reportItemsFeatures

{ barcode: { defaultSymbology?: BarcodeSymbology ; symbologies?: BarcodeSymbology[] } ; chart: { canUseWizard: boolean } ; table: { autoFillFooter: boolean ; autoFillHeader: boolean ; canMergeCellsVertically: boolean } ; tablix: { autoFillCorner: boolean ; canUseWizard: boolean } }

reportItemsFeatures.barcode

{ defaultSymbology?: BarcodeSymbology ; symbologies?: BarcodeSymbology[] }

reportItemsFeatures.barcode.defaultSymbology?

BarcodeSymbology

reportItemsFeatures.barcode.symbologies?

BarcodeSymbology[]

reportItemsFeatures.chart

{ canUseWizard: boolean }

reportItemsFeatures.chart.canUseWizard

boolean

reportItemsFeatures.table

{ autoFillFooter: boolean ; autoFillHeader: boolean ; canMergeCellsVertically: boolean }

reportItemsFeatures.table.autoFillFooter

boolean

reportItemsFeatures.table.autoFillHeader

boolean

reportItemsFeatures.table.canMergeCellsVertically

boolean

reportItemsFeatures.tablix

{ autoFillCorner: boolean ; canUseWizard: boolean }

reportItemsFeatures.tablix.autoFillCorner

boolean

reportItemsFeatures.tablix.canUseWizard

boolean

restoreUnsavedReport

boolean

saveAsButton

{ visible: boolean }

saveAsButton.visible

boolean

saveAsDialog

{ canSaveReportAsTemplate: boolean ; canSaveTemplateAsReport: boolean ; canSetCategories: boolean }

saveAsDialog.canSaveReportAsTemplate

boolean

saveAsDialog.canSaveTemplateAsReport

boolean

saveAsDialog.canSetCategories

boolean

saveButton

{ visible: boolean }

saveButton.visible

boolean

showGrid

{ value?: boolean ; visible: boolean }

showGrid.value?

boolean

showGrid.visible

boolean

showRulers

{ visible: boolean }

showRulers.visible

boolean

snapEditor

{ visible: boolean }

snapEditor.visible

boolean

toolBox

{ visible: boolean }

toolBox.visible

boolean

units?

Units

updateRoute?

(options: UpdateRouteOptions) => void

zoomEditor

{ visible: boolean }

zoomEditor.visible

boolean

aboutButton: { visible: boolean }

About button settings


aboutButton.visible: boolean

Specifies whether About button needs to be shown. About button is visible by default.

Example

designerOptions.aboutButton.visible = false;

dataTab: { commonValues: { visible: boolean } ; dataSets: { canModify: boolean ; canReplace: boolean ; picker: { dataResources?: string } ; visible: boolean } ; dataSources: { canModify: boolean ; canReplace: boolean ; visible: boolean } ; parameters: { canModify: boolean ; visible: boolean } ; visible: boolean }

Data tab settings


dataTab.commonValues: { visible: boolean }

Common Values section settings


dataTab.commonValues.visible: boolean

Specifies whether Common Values section needs to be shown. Common Values section is visible by default.

Example

designerOptions.dataTab.commonValues.visible = false;

dataTab.dataSets: { canModify: boolean ; canReplace: boolean ; picker: { dataResources?: string } ; visible: boolean }

Data Sets section settings


dataTab.dataSets.canModify: boolean

Specifies whether it is possible to modify (including add, edit, or remove) data sets. By default, this feature is enabled.

Example

designerOptions.dataTab.dataSets.canModify = false;

dataTab.dataSets.canReplace: boolean

Specifies whether it is possible to replace data sets. This feature is applied when canModify is enabled; otherwise, canReplace is always disabled.

By default, this feature is enabled.

Example

designerOptions.dataTab.dataSets.canReplace = false;

dataTab.dataSets.picker: { dataResources?: string }

Data Set Picker settings


dataTab.dataSets.picker.dataResources?: string

It is possible to limit and/or reorder the list of data resources used for data set creation. Specify comma-separated data resource keys from this list:

DataSets, DataSources, SemanticModels

The default values are DataSets, SemanticModels, and DataSources.

Example

designerOptions.dataTab.dataSets.picker.dataResources = 'SemanticModels,DataSets';

dataTab.dataSets.visible: boolean

Specifies whether Data Sets section needs to be shown. Data Sets section is visible by default.

Example

designerOptions.dataTab.dataSets.visible = false;

dataTab.dataSources: { canModify: boolean ; canReplace: boolean ; visible: boolean }

Data Sources section settings


dataTab.dataSources.canModify: boolean

Specifies whether it is possible to remove data sources. By default, this feature is enabled.

Example

designerOptions.dataTab.dataSources.canModify = false;

dataTab.dataSources.canReplace: boolean

Specifies whether it is possible to replace data sources and semantic models. This feature is applied when canModify is enabled; otherwise, canReplace is always disabled.

By default, this feature is enabled.

Example

designerOptions.dataTab.dataSources.canReplace = false;

dataTab.dataSources.visible: boolean

Specifies whether Data Sources section needs to be shown. Data Sources section is visible by default.

Example

designerOptions.dataTab.dataSources.visible = false;

dataTab.parameters: { canModify: boolean ; visible: boolean }

Parameters section settings


dataTab.parameters.canModify: boolean

Specifies whether it is possible to modify (including add, edit, or remove) report parameters. By default, this feature is enabled.

Example

designerOptions.dataTab.parameters.canModify = false;

dataTab.parameters.visible: boolean

Specifies whether Parameters section needs to be shown. Parameters section is visible by default.

Example

designerOptions.dataTab.parameters.visible = false;

dataTab.visible: boolean

Specifies whether Data tab needs to be shown. Data tab is visible by default.

Example

designerOptions.dataTab.visible = false;

disableFocusTimer?: boolean

Disables focus highlighting timer for better accessibility. The default value is false.

Example

designerOptions.disableFocusTimer = true;

expressionSyntax: "i11n" | "rdl"

Specifies the expression syntax used in Designer:

  • i11n - Interpolation syntax

  • rdl - "old" rdl expression syntax

By default, the interpolation syntax is used for expressions.

Example

designerOptions.expressionSyntax = 'rdl';

filterProperties?: (descriptors: PropertyDescriptor[], reportItem: Record<string, any>) => PropertyDescriptor[]

It is possible to implement custom logic to filter and reorder descriptors of reportItem properties.

Example

designerOptions.filterProperties = function(descriptors, reportItem) {
	if (reportItem.Type !== 'textbox') return descriptors;
	return descriptors.filter(desc => desc.valuePath !== 'Value');
};

fonts?: string[]

Specifies the list of fonts displayed in Font Family drop-downs all over Designer. If fonts are not specified explicitly here, the default list of fonts is used.

Example

designerOptions.fonts = ['Arial', 'Courier New', 'Times New Roman'];

gridSize: { value?: string ; visible: boolean }

Grid Size editor settings


gridSize.value?: string

If Grid Size editor is not visible, it is possible to specify Grid Size value in in/cm (i.e., inches or centimeters).

Example

designerOptions.gridSize.value = '0.5in';

gridSize.visible: boolean

Specifies whether Grid Size editor in Status Bar needs to be shown. Grid Size editor is visible by default.

Example

designerOptions.gridSize.visible = false;

groupEditor: { visible: boolean }

Group Editor settings


groupEditor.visible: boolean

Specifies whether Group Editor button needs to be shown. Group Editor button is visible by default.

Example

designerOptions.groupEditor.visible = false;

helpInfos?: HelpInfo[]

Allows specifying user-defined Help links to be shown in Designer About dialog.

Example

designerOptions.helpInfos = [
	{ title: 'My Documentation', link: 'https://main-documentation.com/' },
	{ link: 'https://other-documentation.com/' },
];

infoTab: { caching: { canModify: boolean ; visible: boolean } ; commands: { canModify: boolean ; visible: boolean } ; jumpToReport: { visible: boolean } ; jumpToURL: { visible: boolean } ; permissions: { canModify: boolean ; visible: boolean } ; visible: boolean }

Info tab settings


infoTab.caching: { canModify: boolean ; visible: boolean }

Caching editor settings


infoTab.caching.canModify: boolean

Specifies whether it is possible to modify caching settings. By default, this feature is enabled.

Example

designerOptions.infoTab.caching.canModify = false;

infoTab.caching.visible: boolean

Specifies whether Caching editor needs to be shown. Caching editor is visible by default.

Example

designerOptions.infoTab.caching.visible = false;

infoTab.commands: { canModify: boolean ; visible: boolean }

Commands editor settings


infoTab.commands.canModify: boolean

Specifies whether it is possible to modify (including add/remove) commands. By default, this feature is enabled.

Example

designerOptions.infoTab.commands.canModify = false;

infoTab.commands.visible: boolean

Specifies whether Commands editor needs to be shown. Commands editor is visible by default.

Example

designerOptions.infoTab.commands.visible = false;

infoTab.jumpToReport: { visible: boolean }

Jump To Report editor settings


infoTab.jumpToReport.visible: boolean

Specifies whether Jump To Report editor needs to be shown. Jump To Report editor is visible by default.

Example

designerOptions.infoTab.jumpToReport.visible = false;

infoTab.jumpToURL: { visible: boolean }

Jump To URL editor settings


infoTab.jumpToURL.visible: boolean

Specifies whether Jump To URL editor needs to be shown. Jump To URL editor is visible by default.

Example

designerOptions.infoTab.jumpToURL.visible = false;

infoTab.permissions: { canModify: boolean ; visible: boolean }

Permissions editor settings


infoTab.permissions.canModify: boolean

Specifies whether it is possible to modify (including add, edit, or remove) permissions. By default, this feature is enabled.

Example

designerOptions.infoTab.permissions.canModify = false;

infoTab.permissions.visible: boolean

Specifies whether Permissions editor needs to be shown. Permissions editor is visible by default.

Example

designerOptions.infoTab.permissions.visible = false;

infoTab.visible: boolean

Specifies whether Info tab needs to be shown. Info tab is visible by default.

Example

designerOptions.infoTab.visible = false;

insertTab: { visible: boolean }

Insert tab settings


insertTab.visible: boolean

Specifies whether Insert tab needs to be shown in Designer application bar. Tool Box and Insert tab are interchangeable. Insert tab is not visible by default.

Example

designerOptions.insertTab.visible = true;

layersEditor: { visible: boolean }

Layers Editor settings


layersEditor.visible: boolean

Specifies whether Layers Editor button needs to be shown. Layers Editor button is visible by default.

Example

designerOptions.layersEditor.visible = false;

lockLayout: boolean

When lockLayout is enabled, it is only possible to modify the properties of existing report items. I.e., adding a new report item or deleting an existing one is not possible, as well as other operations that modify report layout structure. By default, this feature is disabled.

Example

designerOptions.lockLayout = true;

makeTitle?: (reportName: string, options: MakeTitleOptions) => string

It is possible to implement custom logic for making a title for a browser tab containing Designer. By default, makeTitle is undefined, so the title remains unchanged.

Example

designerOptions.makeTitle = function(reportName, options) {
	// ... custom logic for making a title
};

onClose?: () => (options?: OnCloseOptions) => void

It is possible to implement custom logic when closing Designer. If onClose is specified, ✕ button appears in the top-right corner.

Example

designerOptions.onClose = function(options) {
	GrapeCity.WynReports.Designer.destroy();
};

onCloseViewer?: () => void

It is possible to implement custom logic on closing the Viewer.

Example

designerOptions.onCloseViewer = function() {
	// ... custom logic to be executed on closing Viewer
};

onError?: (operation: ReportOperation, options: OnErrorOptions) => void

It is possible to implement custom logic on failed report (or template) operation.

Example

designerOptions.onError = function(operation, options) {
console.log([${operation}] ${options.errorCaption});
console.log(options.errorDetails.join('\n\n'));
};

onSaved?: (options: OnSavedOptions) => void

It is possible to implement custom logic to be executed after a report is saved.

Example

designerOptions.onSaved = function(options) {
	// ... custom logic to be executed after a report is saved
};

parametersView: { visible: boolean }

Parameters View settings


parametersView.visible: boolean

Specifies whether Parameters View button needs to be shown. Parameters View button is visible by default.

Example

designerOptions.parametersView.visible = false;

propertiesTab: { defaultMode?: "Basic" | "Advanced" ; mode: "Basic" | "Advanced" | "Both" ; visible: boolean }

Properties tab settings


propertiesTab.defaultMode?: "Basic" | "Advanced"

Relevant only when mode is Both. If undefined, the last-used property mode is set.

Example

designerOptions.propertiesTab.defaultMode = 'Advanced';

propertiesTab.mode: "Basic" | "Advanced" | "Both"

Specifies available property modes. The default value is Both.

Example

designerOptions.propertiesTab.mode = 'Basic';

propertiesTab.visible: boolean

Specifies whether Properties tab needs to be shown. Properties tab is visible by default.

Example

designerOptions.propertiesTab.visible = false;

reportExplorer: { visible: boolean }

Report Explorer settings


reportExplorer.visible: boolean

Specifies whether Report Explorer button needs to be shown. Report Explorer button is visible by default.

Example

designerOptions.reportExplorer.visible = false;

reportItems?: string

It is possible to limit and/or reorder the list of available report items. Specify comma-separated report item keys from this list:

BandedList, Barcode, Bullet, Chart, CheckBox, Container, FormattedText, Image, InputField, Line, List,
OverflowPlaceholder, Shape, Sparkline, Subreport, Table, TableOfContents, Tablix, TextBox

Example

designerOptions.reportItems = 'TextBox,CheckBox,Table,Chart,Image';

reportItemsFeatures: { barcode: { defaultSymbology?: BarcodeSymbology ; symbologies?: BarcodeSymbology[] } ; chart: { canUseWizard: boolean } ; table: { autoFillFooter: boolean ; autoFillHeader: boolean ; canMergeCellsVertically: boolean } ; tablix: { autoFillCorner: boolean ; canUseWizard: boolean } }

Customizable report item features are specified here.


reportItemsFeatures.barcode: { defaultSymbology?: BarcodeSymbology ; symbologies?: BarcodeSymbology[] }

Barcode features


reportItemsFeatures.barcode.defaultSymbology?: BarcodeSymbology

Overrides the default symbology used for newly-created barcodes. By default, new barcodes are created with QRCode symbology.

Example

designerOptions.reportItemsFeatures.barcode.defaultSymbology = 'Code_128_A';

reportItemsFeatures.barcode.symbologies?: BarcodeSymbology[]

Limits the list of barcode symbologies available for creation. By default, all barcode symbologies supported by Designer are available.

Example

designerOptions.reportItemsFeatures.barcode.symbologies = ['Code_128_A', 'Code_128_B', 'Code_128_C'];

reportItemsFeatures.chart: { canUseWizard: boolean }

Chart features


reportItemsFeatures.chart.canUseWizard: boolean

Specifies whether Chart Wizard is available for creating Chart. By default, this feature is enabled.

Example

designerOptions.reportItemsFeatures.chart.canUseWizard = false;

reportItemsFeatures.table: { autoFillFooter: boolean ; autoFillHeader: boolean ; canMergeCellsVertically: boolean }

Table features


reportItemsFeatures.table.autoFillFooter: boolean

Specifies whether Table Footer needs to be auto-filled when a field is dropped to Table Details. For example, if ProductName field is dropped to Details, {Count(ProductName)} value is set to Footer. By default, this feature is disabled.

Example

designerOptions.reportItemsFeatures.table.autoFillFooter = true;

reportItemsFeatures.table.autoFillHeader: boolean

Specifies whether Table Header needs to be auto-filled when a field is dropped to Table Details. For example, if ProductName field is dropped to Details, Product Name value is set to Header. By default, this feature is enabled.

Example

designerOptions.reportItemsFeatures.table.autoFillHeader = false;

reportItemsFeatures.table.canMergeCellsVertically: boolean

Specifies whether vertical merging of cells is enabled within Table Header, Details, and Footer. By default, this feature is enabled.

Example

designerOptions.reportItemsFeatures.table.canMergeCellsVertically = false;

reportItemsFeatures.tablix: { autoFillCorner: boolean ; canUseWizard: boolean }

Tablix features


reportItemsFeatures.tablix.autoFillCorner: boolean

Specifies whether Tablix Corner Cell needs to be auto-filled when a field is dropped into Tablix Row Group Cell. For example, if ProductName field is dropped to Row Group Cell, Product Name value is set to Corner Cell. By default, this feature is enabled.

Example

designerOptions.reportItemsFeatures.tablix.autoFillCorner = false;

reportItemsFeatures.tablix.canUseWizard: boolean

Specifies whether Tablix Wizard is available for creating or editing Tablix. By default, this feature is enabled.

Example

designerOptions.reportItemsFeatures.tablix.canUseWizard = false;

restoreUnsavedReport: boolean

When restoreUnsavedReport is enabled, the last unsaved report can be restored if browser tab or browser itself gets accidentally closed. In case restoreUnsavedReport is disabled, the aforementioned functionality is not available. By default, this feature is enabled.

Example

designerOptions.restoreUnsavedReport = false;

saveAsButton: { visible: boolean }

Save As button settings


saveAsButton.visible: boolean

Specifies whether Save As button needs to be shown. If Save button is not visible, then Save As button will be not visible as well. Save As button is visible by default.

Example

designerOptions.saveAsButton.visible = false;

saveAsDialog: { canSaveReportAsTemplate: boolean ; canSaveTemplateAsReport: boolean ; canSetCategories: boolean }

Save As dialog settings


saveAsDialog.canSaveReportAsTemplate: boolean

Specifies whether report can be saved as a template. By default, this feature is enabled.

Example

designerOptions.saveAsDialog.canSaveReportAsTemplate = false;

saveAsDialog.canSaveTemplateAsReport: boolean

Specifies whether template can be saved as a report. By default, this feature is enabled.

Example

designerOptions.saveAsDialog.canSaveTemplateAsReport = false;

saveAsDialog.canSetCategories: boolean

Specifies whether it is possible to set categories. By default, this feature is enabled.

Example

designerOptions.saveAsDialog.canSetCategories = false;

saveButton: { visible: boolean }

Save button settings


saveButton.visible: boolean

Specifies whether Save button needs to be shown. If Save button is not visible, then Save As button will be not visible as well. Save button is visible by default.

Example

designerOptions.saveButton.visible = false;

showGrid: { value?: boolean ; visible: boolean }

Show Grid toggle settings


showGrid.value?: boolean

If Show Grid toggle is not visible, it is possible to specify Show Grid value as true or false.

Example

designerOptions.showGrid.value = false;

showGrid.visible: boolean

Specifies whether Show Grid toggle in Status Bar needs to be shown. Show Grid toggle is visible by default.

Example

designerOptions.showGrid.visible = false;

showRulers: { visible: boolean }

Show Rulers toggle settings


showRulers.visible: boolean

Specifies whether Show Rulers toggle in Status Bar needs to be shown. Show Rulers toggle is visible by default.

Example

designerOptions.showRulers.visible = false;

snapEditor: { visible: boolean }

Snap Editor settings


snapEditor.visible: boolean

Specifies whether Snap Editor button in Status Bar needs to be shown. Snap Editor button is visible by default.

Example

designerOptions.snapEditor.visible = false;

toolBox: { visible: boolean }

Tool Box settings


toolBox.visible: boolean

Specifies whether left-side menu Tool Box needs to be shown. Tool Box is visible by default.

Example

designerOptions.toolBox.visible = false;

units?: Units

Specifies the default measurement units used in Designer. If units are not specified explicitly here, they are identified depending on locale.

Example

designerOptions.units = 'cm';

updateRoute?: (options: UpdateRouteOptions) => void

It is possible to implement custom logic for updating routes when edited report info gets updated in Designer. Report info - id / version / isTemplate - is updated on creating, opening, or saving a report - after that updateRoute is called. By default, updateRoute is undefined, so route remains unchanged.

Example

designerOptions.updateRoute = function(options) {
	// ... custom logic for updating route
};

zoomEditor: { visible: boolean }

Zoom Editor settings


zoomEditor.visible: boolean

Specifies whether Zoom Editor button in Status Bar needs to be shown. Zoom Editor button is visible by default.

Example

designerOptions.zoomEditor.visible = false;


GetLocalizationResourcesErrorResult

Ƭ GetLocalizationResourcesErrorResult: Object

Type of error result returned by the GrapeCity.WynReports.Designer.getLocalizationResources() function.

Type declaration

Name

Type

errorCaption

string

errorDetails

string[]

type

"error"

errorCaption: string

Error caption


errorDetails: string[]

Error details


type: "error"

Error result type



GetLocalizationResourcesResult

Ƭ GetLocalizationResourcesResult: GetLocalizationResourcesSuccessResult | GetLocalizationResourcesErrorResult

Type of result returned by the GrapeCity.WynReports.Designer.getLocalizationResources() function.


GetLocalizationResourcesSuccessResult

Ƭ GetLocalizationResourcesSuccessResult: Object

Type of success result returned by the GrapeCity.WynReports.Designer.getLocalizationResources() function.

Type declaration

Name

Type

resourceBundles

LocalizationResourceBundle[] | undefined

type

"success"

resourceBundles: LocalizationResourceBundle[] | undefined

Localization resource bundles


type: "success"

Success result type



HelpInfo

Ƭ HelpInfo: Object

Type of an array element of the DesignerOptions.helpInfos array.

Type declaration

Name

Type

link

string

title?

string

link: string

Specifies the Help page URL.

Example

link: 'https://main-documentation.com/'

title?: string

Specifies the Help page title.

Example

title: 'My Documentation'


LoadReportOptions

Ƭ LoadReportOptions: Object

Type of options passed to the GrapeCity.WynReports.Designer.api.loadReport() function.

Type declaration

Name

Type

reportInfo

{ id: string ; version?: number | null }

reportInfo.id

string

reportInfo.version?

number | null

reportInfo: { id: string ; version?: number | null }

Report info - Information about the report (or template) to be loaded.

Example

reportInfo: { id: '6e975775-38e3-4ac5-b92c-0ff7dab091a6', version: 5 }

reportInfo.id: string

Report (or template) id

Example

id: '6e975775-38e3-4ac5-b92c-0ff7dab091a6'

reportInfo.version?: number | null

Report (or template) version

Example

version: 5


LoadReportResult

Ƭ LoadReportResult: LoadReportSuccessResult | ReportOperationErrorResult

Type of result returned by the GrapeCity.WynReports.Designer.api.loadReport() function.


LoadReportSuccessResult

Ƭ LoadReportSuccessResult: Object

Type of success result returned by the GrapeCity.WynReports.Designer.api.loadReport() function.

Type declaration

Name

Type

reportInfo

{ content: any ; id: string ; isTemplate: boolean ; name: string ; version: number }

reportInfo.content

any

reportInfo.id

string

reportInfo.isTemplate

boolean

reportInfo.name

string

reportInfo.version

number

type

"success"

reportInfo: { content: any ; id: string ; isTemplate: boolean ; name: string ; version: number }

Report info - Information about the loaded report (or template).


reportInfo.content: any

Report (or template) content


reportInfo.id: string

Report (or template) ID


reportInfo.isTemplate: boolean

Is loaded document a report or a template?


reportInfo.name: string

Report (or template) name


reportInfo.version: number

Report (or template) version


type: "success"

Result type



Locale

Ƭ Locale: PredefinedLocale | string

Type of DesignerOptions.locale and ViewerOptions.locale.


LocalizationResourceBundle

Ƭ LocalizationResourceBundle: Object

Type of the GetLocalizationResourcesSuccessResult.resourceBundles array element.

Type declaration

Name

Type

ns

string

resources

Record<string, any>

ns: string

Bundle namespace


resources: Record<string, any>

Localization resources



MakeTitleOptions

Ƭ MakeTitleOptions: Object

Type of options passed to the DesignerOptions.makeTitle() function.

Type declaration

Name

Type

dirty

boolean

id

string | null

isTemplate

boolean

version

string | number | null

dirty: boolean

Specifies whether the report (or template) has unsaved changes.


id: string | null

Report (or template) ID


isTemplate: boolean

Is document a report or a template?


version: string | number | null

Report (or template) version


OnCloseOptions

Ƭ OnCloseOptions: Object


Type of options passed to the DesignerOptions.onClose() function.

Type declaration

Name

Type

id

string | null

isTemplate

boolean

name

string

id: string | null


Closed report's (or template's) id.


isTemplate: boolean


Boolean value, if the closed document is a report or a template.


name: string


Closed report's (or template's) name.


OnErrorOptions

Ƭ OnErrorOptions: Object

Type of options passed to the DesignerOptions.onError() function.

Type declaration

Name

Type

errorCaption

string

errorDetails

string[]

id

string | null

isTemplate

boolean

name

string

version?

number | null

errorCaption: string

Error caption.


errorDetails: string[]

Error details.


id: string | null

Report (or template) ID.

If operation on an existing report (or template) failed, ID is defined. Otherwise, ID is null.


isTemplate: boolean

Is document a report or a template?


name: string

Report (or template) name


version?: number | null

Report (or template) version - Relevant for errors on open operation only.



OnSavedOptions

Ƭ OnSavedOptions: Object

Type of options passed to the DesignerOptions.onSaved() function.

Type declaration

Name

Type

id

string

isTemplate

boolean

name

string

id: string

Saved report (or template) ID


isTemplate: boolean

Is saved document a report or a template?


name: string

Saved report (or template) name



OpenReportOptions

Ƭ OpenReportOptions: Object

Type of options passed to the GrapeCity.WynReports.Designer.api.openReport() function.

Type declaration

Name

Type

onFinish?

() => void

onStart?

() => void

reportInfo

{ content?: any ; id: string ; isTemplate?: boolean ; name?: string ; permissions?: string[] ; version?: string | number | null }

reportInfo.content?

any

reportInfo.id

string

reportInfo.isTemplate?

boolean

reportInfo.name?

string

reportInfo.permissions?

string[]

reportInfo.readOnly?

boolean

reportInfo.version?

string | number | null

onFinish?: () => void

Callback on finishing to open a report (or a template).

Example

onFinish: () => {
	console.log('Finished opening a report.');
}

onStart?: () => void

Callback on starting to open a report (or a template).

Example

onStart: () => {
	console.log('Started opening a report.');
}

reportInfo: { content?: any ; id: string ; isTemplate?: boolean ; name?: string ; permissions?: string[] ; readOnly?: boolean ; version?: string | number | null }

Report info - Information about the report (or template) to be opened.


Example

reportInfo: { id: '6e975775-38e3-4ac5-b92c-0ff7dab091a6', name: 'MyReport' }

reportInfo.content?: any

Report (or template) content

If content is defined, opened report (or template) content is overridden with this content.


reportInfo.id: string

Report (or template) ID

Example

id: '6e975775-38e3-4ac5-b92c-0ff7dab091a6'

reportInfo.isTemplate?: boolean

Is opened document a report or a template?

Example

isTemplate: false

reportInfo.name?: string

Report (or template) name

The correct name needs to be always specified explicitly.

Deprecated

This property won't have any effect.


reportInfo.permissions?: string[]

Report (or template) permissions

Deprecated

This property won't have any effect.


reportInfo.readOnly?: boolean


is opened in the read-only mode


Example

readOnly: true

reportInfo.version?: string | number | null

Report (or template) version


Example

version: 5


OpenReportResult

Ƭ OpenReportResult: OpenReportSuccessResult | ReportOperationErrorResult

Type of result returned by the GrapeCity.WynReports.Designer.api.openReport() function.


OpenReportSuccessResult

Ƭ OpenReportSuccessResult: Object

Type of success result returned by the GrapeCity.WynReports.Designer.api.openReport() function.

Type declaration

Name

Type

reportInfo

{ id: string ; isTemplate: boolean ; name: string ; version: number | null }

reportInfo.id

string

reportInfo.isTemplate

boolean

reportInfo.name

string

reportInfo.version

number | null

type

"success"

reportInfo: { id: string ; isTemplate: boolean ; name: string ; version: number | null }

Report info - Information about the opened report (or template).


reportInfo.id: string

Report (or template) ID


reportInfo.isTemplate: boolean

Is opened document a report or a template?


reportInfo.name: string

Report (or template) name


reportInfo.version: number | null

Report (or template) version


type: "success"

Result type


PartialDeep

Ƭ PartialDeep<K>: { [attr in keyof K]?: K[attr] extends object ? PartialDeep<K[attr]> : K[attr] }


Generic to create a type from another type with all keys and nested keys set to optional.

Type parameters

Name

K

PartialDeepDesignerOptionsOther

Ƭ PartialDeepDesignerOptionsOther: PartialDeep<DesignerOptionsOther>


This type is derived from DesignerOptionsOther but all its properties are recursively optional.


PredefinedLocale

Ƭ PredefinedLocale: "en" | "en-GB" | "pl" | "zh" | "zh-TW"

Predefined locales supported by Designer.


ProductInfo

Ƭ ProductInfo: Object

Partial type of the DesignerOptions.aboutInfo object.

Type declaration

Name

Type

productTitle?

string

productVersion?

string

productTitle?: string

Specifies the product title to be shown in Designer About dialog.

Example

productTitle: '<productTitle>'

productVersion?: string

Specifies the product version to be shown in Designer About dialog.

Example

productVersion: '1.2.3'


PropertyDescriptor

Ƭ PropertyDescriptor: Object

Report item property descriptor.

Type declaration

Name

Type

category

string

label

string

meta?

Record<string, any>

mode

"simple" | "advanced" | "both"

type

string

valuePath

string

category: string

Property category


label: string

Property label


meta?: Record<string, any>

property metadata


mode: "simple" | "advanced" | "both"

Property mode


type: string

Property type


valuePath: string

Property value path



ReportInfo

Ƭ ReportInfo: Object

Type of the return value of the GrapeCity.WynReports.Designer.api.getReportInfo() function.

Type declaration

Name

Type

id

string | null

isTemplate

boolean

name

string

permissions

string[]

id: string | null

Report (or template) ID

If an existing report (or template) is edited, ID is defined. Otherwise, if a new report is edited, ID is null.


isTemplate: boolean

Is document a report or a template?


name: string

Report (or template) name


permissions: string[]

Report (or template) permissions



ReportOperation

Ƭ ReportOperation: "create" | "open" | "save" | "preview" | "restore"

Type of report (or template) operation passed to the DesignerOptions.onError() function.


ReportOperationErrorResult

Ƭ ReportOperationErrorResult: Object

Type of error result returned by the createReport() / openReport() / saveReport() functions from GrapeCity.WynReports.Designer.api.

Type declaration

Name

Type

errorCaption

string

errorDetails

string[]

type

"error"

errorCaption: string

Error caption


errorDetails: string[]

Error details


type: "error"

Result type



ReportingApi

Ƭ ReportingApi: Object

Type of the GrapeCity.WynReports.Designer.api object.

Type declaration

Name

Type

addDataSet

(options: AddDataSetOptions) => AddDataSetResult

addEmbeddedImage

(options: AddEmbeddedImageOptions) => AddEmbeddedImageResult

addLayer

(options: AddLayerOptions) => AddLayerResult

addReportItem

(options: AddReportItemOptions) => AddReportItemResult

addReportParameter

(options: AddReportParameterOptions) => AddReportParameterResult

cacheReport

(options: CacheReportOptions) => Promise<CacheReportResult>

createReport

(options?: CreateReportOptions) => Promise<CreateReportResult>

getCachedReport

(reportCacheKey: string) => CachedReportInfo | null

getReportContent

() => any

getReportInfo

() => ReportInfo

hasCachedReport

(reportCacheKey: string) => boolean

isReportDirty

() => boolean

loadReport

(options: LoadReportOptions) => Promise<LoadReportResult>

openReport

(options: OpenReportOptions) => Promise<OpenReportResult>

saveReport

(options: SaveReportOptions) => Promise<SaveReportResult>

addDataSet: (options: AddDataSetOptions) => AddDataSetResult

Adds the data set from the cached report (or template) content to the currently edited report.

Example

const result = GrapeCity.WynReports.Designer.api.addDataSet({
	reportCacheKey: 'ChartsAndTables',
	dataSetName: 'DataSet1',
});
if (result.type === 'error') {
	console.log(result.errorCaption);
	console.log(result.errorDetails.join('\n'));
	return;
}
const { dataSetName } = result;
console.log(`Data set is added to report under the name '${dataSetName}'.`);

addEmbeddedImage: (options: AddEmbeddedImageOptions) => AddEmbeddedImageResult

Adds the embedded image from the cached report (or template) content to the currently edited report.

Example

const result = GrapeCity.WynReports.Designer.api.addEmbeddedImage({
	reportCacheKey: 'ChartsAndTables',
	embeddedImageName: 'Image1',
});
if (result.type === 'error') {
	console.log(result.errorCaption);
	console.log(result.errorDetails.join('\n'));
	return;
}
const { embeddedImageName } = result;
console.log(`Embedded image is added to report under the name '${embeddedImageName}'.`);

addLayer: (options: AddLayerOptions) => AddLayerResult

Adds the layer from the cached report (or template) content to the currently edited report.

Example

const result = GrapeCity.WynReports.Designer.api.addLayer({
	reportCacheKey: 'ChartsAndTables',
	layerName: 'Layer1',
});
if (result.type === 'error') {
	console.log(result.errorCaption);
	console.log(result.errorDetails.join('\n'));
	return;
}
const { layerName } = result;
console.log(`Layer is added to report under the name '${layerName}'.`);

addReportItem: (options: AddReportItemOptions) => AddReportItemResult

Adds the report item from the cached report (or template) content to the currently edited report.

Example

const result = GrapeCity.WynReports.Designer.api.addReportItem({
	reportCacheKey: 'ChartsAndTables',
	reportItemName: 'Chart1',
});
if (result.type === 'error') {
	console.log(result.errorCaption);
	console.log(result.errorDetails.join('\n'));
	return;
}
const { reportItemName, targetContainer } = result;
console.log(`Report item is added to '${targetContainer}' under the name '${reportItemName}'.`);

addReportParameter: (options: AddReportParameterOptions) => AddReportParameterResult

Adds the report parameter from the cached report (or template) content to the currently edited report.

Example

const result = GrapeCity.WynReports.Designer.api.addReportParameter({
	reportCacheKey: 'ChartsAndTables',
	reportParameterName: 'Parameter1',
});
if (result.type === 'error') {
	console.log(result.errorCaption);
	console.log(result.errorDetails.join('\n'));
	return;
}
const { reportParameterName } = result;
console.log(`Report parameter is added to report under the name '${reportParameterName}'.`);

cacheReport: (options: CacheReportOptions) => Promise<CacheReportResult>

Caches the report (or template) content using the specified options. Caching reports is required to use the API for adding report items, data sets, report parameters, etc. from such reports.

Example

GrapeCity.WynReports.Designer.api.cacheReport({
	reportCacheKey: 'ChartsAndTables',
	reportInfo: {
		id: '6e975775-38e3-4ac5-b92c-0ff7dab091a6',
		name: 'MyReport',
		version: 5,
		isTemplate: false,
		content: loadedReportContent,
	},
}).then(function(result) {
	if (result.type === 'error') {
		console.log(result.errorCaption);
		console.log(result.errorDetails.join('\n'));
		return;
	}
	const { reportCacheKey } = result;
	console.log('Report is cached: ', reportCacheKey);

	const addReportItemResult = GrapeCity.WynReports.Designer.api.addReportItem({
		reportCacheKey,
		reportItemName: 'Chart1',
	});
});

createReport: (options?: CreateReportOptions) => Promise<CreateReportResult>

Creates a new report to be edited in Designer using the specified options.

Example

GrapeCity.WynReports.Designer.api.createReport({
	onFinish: () => {
		console.log('Finished creating a new report.');
	},
}).then(function(result) {
	if (result.type === 'error') {
		console.log(result.errorCaption);
		console.log(result.errorDetails.join('\n'));
		return;
	}
	console.log(`Report "${result.reportInfo.name}" is created successfully.`);
});

getCachedReport: (reportCacheKey: string) => CachedReportInfo | null

Returns the report (or template) content cached using the specified key. If there is no report (or template) cached using this key, null is returned.

Example

const reportInfo = GrapeCity.WynReports.Designer.api.getCachedReport('ChartsAndTables');
if (!reportInfo) return;
const { content } = reportInfo;
console.log('Report: ', content);

getReportContent: () => any

Returns the currently edited report (or template) content. This content can be passed to the corresponding createReport()/openReport() sub-options.

Example

const content = GrapeCity.WynReports.Designer.api.getReportContent();
console.log('Content: ', content);

getReportInfo: () => ReportInfo

Returns information about the currently edited report (or template).

Example

const info = GrapeCity.WynReports.Designer.api.getReportInfo();
console.log("${info.name}" is currently edited.);

hasCachedReport: (reportCacheKey: string) => boolean

Returns whether any report (or template) content is cached using the specified key.

Example

const isCached = GrapeCity.WynReports.Designer.api.hasCachedReport('ChartsAndTables');
console.log(isCached ? 'Report is cached.' : 'Report is not cached.');

isReportDirty: () => boolean

Indicates whether report (or template) has unsaved changes.

Example

const hasUnsavedChanges = GrapeCity.WynReports.Designer.api.isReportDirty();
if (hasUnsavedChanges) console.log('There are unsaved changes.');

loadReport: (options: LoadReportOptions) => Promise<LoadReportResult>

Loads the report (or template) content using the specified options.

Example

GrapeCity.WynReports.Designer.api.loadReport({
    reportInfo: {
        id: '6e975775-38e3-4ac5-b92c-0ff7dab091a6',
        version: 5    },
}).then(function(result) {
    if (result.type === 'error') {
        console.log(result.errorCaption);
        console.log(result.errorDetails.join('\n'));
        return;
    }
    const { name, content } = result.reportInfo;
    console.log(`Report "${name}": `, content);
});

openReport: (options: OpenReportOptions) => Promise<OpenReportResult>

Opens an existing report (or template) to be edited in Designer using the specified options.

Example

GrapeCity.WynReports.Designer.api.openReport({
    reportInfo: {
        id: '6e975775-38e3-4ac5-b92c-0ff7dab091a6',
        name: 'MyReport',
    },
    onFinish: () => {
        console.log('Finished opening an existing report "MyReport".');
    },
}).then(function(result) {
    if (result.type === 'error') {
        console.log(result.errorCaption);
        console.log(result.errorDetails.join('\n'));
        return;
    }
    console.log(`Report "${result.reportInfo.name}" is opened successfully.`);});

saveReport: (options: SaveReportOptions) => Promise<SaveReportResult>

Saves the report (or template) currently edited in Designer using the specified options.

Example

GrapeCity.WynReports.Designer.api.saveReport({
	reportInfo: {
		name: 'MyReport',
	},
	onFinish: () => {
		console.log('Finished saving a new report "MyReport".');
	},
}).then(function(result) {
	if (result.type === 'error') {
		console.log(result.errorCaption);
		console.log(result.errorDetails.join('\n'));
		return;
	}
	console.log(`Report "${result.reportInfo.name}" is saved successfully.`);
});


SaveReportOptions

Ƭ SaveReportOptions: Object

Type of options passed to the GrapeCity.WynReports.Designer.api.saveReport() function.

Type declaration

Name

Type

comment?

string

onFinish?

() => void

onStart?

() => void

publish?

boolean

reportInfo

{ id?: string ; isTemplate?: boolean ; name: string }

reportInfo.id?

string

reportInfo.isTemplate?

boolean

reportInfo.name

string

comment?: string

Saved report (or template) revision comment

Example

comment: 'Changed report theme'

onFinish?: () => void

Callback on finishing to save a report (or a template).

Example

onFinish: () => {
	console.log('Finished saving a report.');
}

onStart?: () => void

Callback on starting to save a report (or a template).

Example

onStart: () => {
	console.log('Started saving a report.');
}

publish?: boolean

specifies whether publishing needs to be done after saving.

This property is effective only for reports in case server supports drafts and when user is an administrator or an organization administrator.

Example

publish: true

reportInfo: { id?: string ; isTemplate?: boolean ; name: string }

Report info - Information about the report (or template) to be saved.

Example

reportInfo: { id: '6e975775-38e3-4ac5-b92c-0ff7dab091a6' }

reportInfo.id?: string

Report (or template) ID

If an existing report is to be overwritten on saving, the correct ID should be specified explicitly.

Example

id: '6e975775-38e3-4ac5-b92c-0ff7dab091a6'

reportInfo.isTemplate?: boolean

Is saved document a report or a template?

Example

isTemplate: false

reportInfo.name: string

Report (or template) name

The correct name needs to be always specified explicitly.

Example

name: 'MyReport'


SaveReportResult

Ƭ SaveReportResult: SaveReportSuccessResult | ReportOperationErrorResult

Type of result returned by the GrapeCity.WynReports.Designer.api.saveReport() function.


SaveReportSuccessResult

Ƭ SaveReportSuccessResult: Object

Type of success result returned by the GrapeCity.WynReports.Designer.api.saveReport() function.

Type declaration

Name

Type

reportInfo

{ id: string ; isTemplate: boolean ; name: string ; version: null }

reportInfo.id

string

reportInfo.isTemplate

boolean

reportInfo.name

string

reportInfo.version

null

type

"success"

reportInfo: { id: string ; isTemplate: boolean ; name: string ; version: null }

Report info - Information about the saved report (or template).


reportInfo.id: string

Report (or template) ID


reportInfo.isTemplate: boolean

Is saved document a report or a template?


reportInfo.name: string

Report (or template) name


reportInfo.version: null

Report (or template) version - It is always null after saving.


type: "success"

Result type



Units

Ƭ Units: "in" | "cm"

Measurement units supported by Designer.


UpdateRouteOptions

Ƭ UpdateRouteOptions: Object

Type of options passed to the DesignerOptions.updateRoute() function.

Type declaration

Name

Type

id

string | null

isTemplate

boolean

version

string | number | null

id: string | null

Report (or template) ID


isTemplate: boolean

Is document a report or a template?


version: string | number | null

Report (or template) version



ViewerOptions

Ƭ ViewerOptions: Object

Type of options passed to the DesignerOptions.openViewer() function.

Type declaration

Name

Type

applicationTitle

string

element

string

locale

Locale

reportInfo

{ id: string ; isTemplate: boolean ; isTemporary?: boolean ; name: string }

reportInfo.id

string

reportInfo.isTemplate

boolean

reportInfo.isTemporary?

boolean

reportInfo.name

string

applicationTitle: string

Application title passed by Designer.


element: string

Element ID where to render viewer.


locale: Locale

Locale passed by Designer.


reportInfo: { id: string ; isTemplate: boolean ; isTemporary?: boolean ; name: string }

Information on the report (or template) to-be-previewed.


reportInfo.id: string

Report (or template) ID


reportInfo.isTemplate: boolean

Is to-be-previewed document a report or a template?


reportInfo.isTemporary?: boolean

Specifies whether the report (or template) to-be-previewed is an existing one saved on server side.


reportInfo.name: string

Report (or template) name