# RdlxSettings

## Content

# Type Alias: RdlxSettings

```ts
type RdlxSettings = object;
```

## Properties

### dashboard?

```ts
optional dashboard: object;
```

Set to true to enable Dashboard support

#### enabled

```ts
enabled: boolean;
```

#### Examples

```javascript
// ESM usage
import { arWebDesigner } from './web-designer.js';
arWebDesigner.create('#ar-web-designer', {
		rdlx: {
			dashboard: {
				enabled: true
			}
		}
	});
```

```javascript
// UMD usage
GrapeCity.ActiveReports.Designer.create('#ar-web-designer', {
		rdlx: {
			dashboard: {
				enabled: true
			}
		}
	});
```

```typescript
GrapeCity.ActiveReports.Designer.create('#ar-web-designer', {
		rdlx: {
			dashboard: {
				enabled: true
			}
		}
	});
```

#### Default

```ts
{ enabled: true }
```

***

### expressionEditorNodesFilter()?

```ts
optional expressionEditorNodesFilter: (key) => boolean;
```

Filter for Expression Editor nodes

#### Parameters

##### key

`string`

#### Returns

`boolean`

#### Examples

```javascript
// ESM usage
import { arWebDesigner } from './web-designer.js';
arWebDesigner.create('#ar-web-designer', {
	designerSettings.rdlx.expressionEditorNodesFilter = (key) => {
		if (key.includes('commonValues')) return false;
		if (key.includes('aggregate.aggregateIfWithScope')) return false;
		return true;
```

```javascript
// UMD usage
	designerSettings.rdlx.expressionEditorNodesFilter = (key) => {
		if (key.includes('commonValues')) return false;
		if (key.includes('aggregate.aggregateIfWithScope')) return false;
		return true;
	}
```

```typescript
// UMD usage
	designerSettings.rdlx.expressionEditorNodesFilter = (key: string) => {
		if (key.includes('commonValues')) return false;
		if (key.includes('aggregate.aggregateIfWithScope')) return false;
		return true;
	}

***

### expressionSyntax?

```ts
optional expressionSyntax: "i11n" | "rdl";
```

Specifies the expression syntax used in Designer:
'i11n' - interpolation syntax, 'rdl' is an "old" rdl expression syntax

#### Examples

```javascript
// ESM usage
import { arWebDesigner } from './web-designer.js';
arWebDesigner.create('#ar-web-designer', {
	rdlx: {
		expressionSyntax: 'rdl'
	}
});
```

```javascript
// UMD usage
GrapeCity.ActiveReports.Designer.create('#ar-web-designer', {
	rdlx: {
		expressionSyntax: 'rdl'
	}
});
```

```typescript
GrapeCity.ActiveReports.Designer.create('#ar-web-designer', {
	rdlx: {
		expressionSyntax: 'rdl'
	}
});
```

#### Default

```ts
'i11n'
```

***

### fpl?

```ts
optional fpl: object;
```

Set to true to enable FPL support

#### enabled

```ts
enabled: boolean;
```

#### Default

```ts
{ enabled: true }
```

***

### initTemplates?

```ts
optional initTemplates: object;
```

Reports as a rdlx-json strings, report items from these reports will be used as a templates for creating new items

imperialTemplates should include reports with units = 'in'
metricTemplates should include reports with units = 'cm'

Should use fpl-reports to set custom templates for specific fpl-reportItems, for example 'OverflowPlaceHolder'
It is preferable to use msl-report with cpl section to set custom templates for all other report items, as well as for pageHeader and pageFooter.

For Report you can set ConsumeContainerWhitespace and Page-properties: BottomMargin, LeftMargin, RightMargin, TopMargin,	PageHeight,	PageWidth, ColumnSpacing
For the rest of the report items, all properties are set, including, for example, the number of columns in the table or barcode default symbology

Note: If in a subsequent report in the array there is the same reportItem as in the previous one, only last template for this reportItem will be set

Also you can set multiple init templates for some report items. For this, you should add report with more then one report items the same type. Templates with the same names will be replaced.
Use 'TemplateName' custom property of each report item to set a localized name of the template
Use 'AllowWizard' custom property of a chart report item to allow use the chart wizard when this report item is created
For example: ... ,"CustomProperties":[{"Name":"TemplateName","Value":"Doughnut Chart"}, {"Name":"AllowWizard","Value":"true"},...],...

	 **Example:**
```javascript
	 designerSettings.rdlx.initTemplates = {
	 	imperialTemplates: ['{"Name":"Report","Width":"5in","Layers":[{"Name":"default"}],"CustomProperties":[{"Name":"DisplayType","Value":"Page"},{"Name":"SizeType","Value":"Default"},{"Name":"PaperOrientation","Value":"Portrait"}],"Page":{"PageWidth":"8.5in","PageHeight":"11in","RightMargin":"1in","LeftMargin":"1in","TopMargin":"1in","BottomMargin":"1in","Columns":1,"ColumnSpacing":"0in"},"Body":{"Height":"0.25in","ReportItems":[{"Type":"textbox","Name":"TextBox1","CustomProperties":[],"CanGrow":true,"KeepTogether":true,"Style":{"PaddingLeft":"2pt","PaddingRight":"2pt","PaddingTop":"2pt","PaddingBottom":"2pt"},"Width":"5in","Height":"0.25in"}]}}'],
	 	metricTemplates: ['{"Name":"Report","Width":"10cm","Layers":[{"Name":"default"}],"CustomProperties":[{"Name":"DisplayType","Value":"Page"},{"Name":"SizeType","Value":"Default"},{"Name":"PaperOrientation","Value":"Portrait"}],"Page":{"PageWidth":"8.5in","PageHeight":"11in","RightMargin":"1in","LeftMargin":"1in","TopMargin":"1in","BottomMargin":"1in","Columns":1,"ColumnSpacing":"0in"},"Body":{"Height":"0.75cm","ReportItems":[{"Type":"textbox","Name":"TextBox1","CustomProperties":[],"CanGrow":true,"KeepTogether":true,"Style":{"PaddingLeft":"2pt","PaddingRight":"2pt","PaddingTop":"2pt","PaddingBottom":"2pt"},"Left":"0cm","Top":"0cm","Width":"10cm","Height":"0.75cm"}]}}'],
	};
	 * ```

#### imperialTemplates?

```ts
optional imperialTemplates: string[];
```

#### metricTemplates?

```ts
optional metricTemplates: string[];
```

***

### masterReports?

```ts
optional masterReports: MasterReportsSettings;
```

Master reports feature related settings

***

### msl?

```ts
optional msl: object;
```

Set to true to enable Multi-Section Layout (MSL) support

#### enabled

```ts
enabled: boolean;
```

#### Examples

```javascript
// ESM usage
import { arWebDesigner } from './web-designer.js';
arWebDesigner.create('#ar-web-designer', {
		rdlx: {
			msl: {
				enabled: true
			}
		}
	});
```

```javascript
// UMD usage
GrapeCity.ActiveReports.Designer.create('#ar-web-designer', {
		rdlx: {
			msl: {
				enabled: true
			}
		}
	});
```

```typescript
GrapeCity.ActiveReports.Designer.create('#ar-web-designer', {
		rdlx: {
			msl: {
				enabled: true
			}
		}
	});
```

#### Default

```ts
{ enabled: true }
```

***

### reportItemsFeatures

```ts
reportItemsFeatures: RdlxReportItemsSettings;
```

Customizable report item features

***

### reportParts?

```ts
optional reportParts: ReportPartsSettings;
```

Report Parts feature related settings

***

### reportStyles

```ts
reportStyles: ReportStyles[];
```

Specifies additional styles to add to report item styles.

	 **Example:**
```javascript
designerSettings.rdlx.reportStyles = [
				{
					Bullet: [{
							id: 'c8aa4403-83ef-402b-a7da-032063cf625a',
							name: 'additionalBulletStyle1',
							content: {
								ValueColor: 'red',
								LabelFontColor: '=Theme.Colors!Dark1',
								LabelFontFamily: '=Theme.Fonts!MinorFont.Family',
								LabelFontSize: '=Theme.Fonts!MinorFont.Size',
								LabelFontStyle: '=Theme.Fonts!MinorFont.Style',
								TicksLineColor: '=Theme.Colors(1,0)'
							}
						},
					],
					List: [
						{	id: '3d2c3781-4eea-4ac3-8d50-636edd9328d5',
							name: 'additionalListStyle1',
							content: {},
						},
						{	id: '5b7b4e73-22e5-42ed-99c4-62840bdde79d',
							name: 'additionalListStyle2',
							content: {
								BackgroundColor: '=Theme.Colors!Accent1',
								Border: {
									Color: '=Theme.Colors(4,4)',
									Width: '1pt',
									Style: 'Solid',
								}
							}
						}]
				},
				{	ChartPalette: [{
							id: 'c8aa4403-83ef-402b-a7da-0320444',
							name: 'additionalChartPalette',
							content: ['red', '=Theme.Colors!Accent2', '=Theme.Colors!Accent3', '=Theme.Colors!Accent4', '=Theme.Colors!Accent5', '=Theme.Colors!Accent6', '=Theme.Colors(5,4)', '=Theme.Colors(5,5)', '=Theme.Colors(5,6)', '=Theme.Colors(5,7)', '=Theme.Colors(5,8)', '=Theme.Colors(5,9)']
						}]
				},
			];
```

***

### stylesheets

```ts
stylesheets: RdlxStylesheetsSettings;
```

Stylesheets feature related settings

***

### toolBoxContent?

```ts
optional toolBoxContent: ToolboxContentSettings;
```

Specifies report items available and their order\

Default items for CPL sections of MSL report: [ 'textbox', 'checkbox', 'container', 'line', 'shape', 'tableofcontents',
	'image', 'list', 'table', 'tablix', 'chart', 'bullet', 'barcode', 'formattedtext',
	'richtext', 'sparkline', 'subreport', 'bandedlist', 'inputfield' ]

Default items for FPL report: [ 'textbox', 'checkbox', 'container', 'line', 'shape', 'tableofcontents',
	'image', 'list', 'table', 'tablix', 'chart', 'bullet', 'barcode', 'formattedtext',
	'richtext', 'sparkline', 'subreport', 'overflowplaceholder', 'bandedlist', 'inputfield' ]

**Example:**
```javascript
designerSettings.rdlx.toolBoxContent = {
		cpl: [ 'checkbox', 'container', 'textbox' ],
		fpl: [ 'image', 'list', 'table', 'tablix', 'chart', 'bullet', 'barcode', 'formattedtext' ],
};
```
