Skip to main content

Config override

Config level overrides are the preferred way to customize the chart. Use the config API to show/hide features, enable or disable buttons, and adjust behavior of elements we expose. Use it freely for most customization needs.

:::tip Other ways to customize

  • Use CSS override for styling UI elements; use it for hiding only when config is not suitable for your goals.
  • Use UI overrides when you need to fully replace a component (e.g. custom toolbar or logo). :::

When to use config​

  • Enabling or disabling the toolbar, drawings sidebar, studies, trading, etc.
  • Showing or hiding specific toolbar buttons or right-click menu items.
  • Controlling settings tabs and their options.
  • Configuring timeframe presets, layout, multichart, data export, and other high-level features.

Config is applied at initialization via dependencies.chartReactConfig (and optionally dependencies.initialChartConfig for chart-core options). Elements controlled by config are “locked” for end users when you disable or hide them.

Example​

Pass chartReactConfig (and optionally initialChartConfig) in dependencies of ChartReactApp:

import React from 'react';
import { ChartReactApp } from '@dx-private/dxchart5-react/dist/chart/chart-react-app';
import { CREATE_MOCK_PROVIDERS } from '@dx-private/dxchart5-react-mock-providers/dist';
export function App() {
return (
<div className="App" style={{ height: 576, width: 800 }}>
<ChartReactApp
dependencies={{
...CREATE_MOCK_PROVIDERS(),
chartReactConfig: {
drawings: {
sidebar: {
enabled: false,
},
},
toolbar: {
showButtonsTooltip: true,
},
},
// The palette and colorPalette objects support all common color models: hex, rgb/rgba, hsl/hsla, default strings ('green', 'yellow', etc...),
// but the most native type for chart is rgba, so it's recommended to use it if possible
colorPalette: [
'rgb(255,255,0)',
'rgba(0,0,0,1)',
'#ad00fa',
'green',
'hsl(0, 100%, 50%)',
'hsla(0, 100%, 64%, 0.2)',
],
initialChartConfig: {
components: {
crossTool: {
// crosstool supports three types: 'cross-and-labels', 'only-labels' and 'none'
type: 'cross-and-labels',
},
},
},
}}
/>
</div>
);
}

This example disables the drawings sidebar and enables tooltips for toolbar buttons. You can combine any number of config options.

Full config reference​

The config shape is defined by PartialChartReactConfig (and related types). The object below is the default config (DEFAULT_INIT_CHART_REACT_CONFIG) from the library — you pass a partial config in chartReactConfig; only set the keys you need, the rest are merged with defaults. For type definitions and detailed tables, see the API reference for configuration.

{
"toolbarMode": "single",
"rtl": false,
"disableWorkers": false,
"themeControls": {
"enabled": true
},
"layout": {
"saveDelay": 150,
"enabled": true
},
"studyTemplates": {
"enabled": true
},
"dataExport": {
"enabled": true
},
"multiChart": {
"enabled": true,
"maxChartsAmount": 8,
"options": {
"layout": {
"enabled": true
},
"symbol": {
"enabled": true
},
"chartType": {
"enabled": true
},
"timeframeRange": {
"enabled": true
},
"appearance": {
"enabled": true
},
"indicators": {
"enabled": true
},
"crosshair": {
"enabled": true
},
"drawings": {
"enabled": true
}
}
},
"trading": {
"enabled": true,
"addNewOrderEnabled": true,
"showPriceAsLabels": false,
"rightOffset": 40,
"takeProfitStopLossEnabled": true,
"defaultOrderQuantity": 100,
"quantityPrecision": 0,
"quantityStep": 1,
"minOrderQuantity": 0,
"maxOrderQuantity": 1000,
"currency": "$",
"orderTypes": {
"market": true,
"limit": true,
"stop": true
},
"legendOrderEntry": {
"showButtons": true,
"showQuantity": true
},
"yAxisOrderEntry": {
"showAddButton": true
}
},
"studies": {
"maxSelectedStudiesCount": 10,
"dxScriptEnabled": false,
"addStudyButtonEnabled": false,
"specificCompactStudyTitles": {
"LinearRegressionChannel": "LR Channel",
"LinearRegression": "LR Curve",
"MACD": "MACD",
"HLVolatility": "HLV"
}
},
"drawings": {
"drawingsList": [
{
"groupName": "LineDrawings",
"drawings": [
"line",
"extended_line",
"horizontal_line",
"info_line",
"arrow",
"horizontal_ray",
"ray",
"vertical_line",
"trend_channel",
"range_volume_by_price",
"anchored_volume_by_price"
]
},
{
"groupName": "Risk Reward Drawings",
"drawings": [
"risk_reward_long"
]
},
{
"groupName": "Geometric Drawings",
"drawings": [
"ellipse",
"rectangle",
"curve",
"arc",
"path",
"vertical_arrow_up",
"vertical_arrow_down",
"cycle_brackets"
]
},
{
"groupName": "Text Drawings",
"drawings": [
"price_label",
"callout",
"icon",
"text"
]
},
{
"groupName": "Brush and highlighter",
"drawings": [
"brush",
"highlighter"
]
},
{
"groupName": "Fibonacci and Gann Drawings",
"drawings": [
"pitchfork",
"fibonacci_rays",
"fibonacci_ark",
"fibonacci_circles",
"fibonacci_retracements",
"fibonacci_projection",
"fibonacci_channel",
"fibonacci_time_zones",
"fibonacci_time_extension",
"fibonacci_time_ratios",
"gann_square",
"gann_box",
"gann_fan",
"regression_trend",
"fibonacci_spiral"
]
},
{
"groupName": "Elliott Drawings",
"drawings": [
"elliott_wave",
"elliott_correction_wave"
]
},
{
"groupName": "Range Drawings",
"drawings": [
"price_range",
"date_range",
"date_price_range"
]
}
],
"toolbar": {
"enabled": false
},
"sidebar": {
"enabled": true,
"footer": {
"magnetMode": {
"enabled": true
},
"drawingMode": {
"enabled": true
},
"synchronizeDrawings": {
"enabled": true
},
"hideAllDrawings": {
"enabled": true
},
"deleteAllDrawings": {
"enabled": true
}
}
},
"drawingGroups": {
"enabled": false
},
"limitOfDrawings": 9007199254740991,
"riskReward": {
"createOrderEnabled": true
}
},
"toolbar": {
"enabled": true,
"showButtonsTooltip": true,
"buttons": {
"aggregationPeriod": {
"enabled": true
},
"chartType": {
"enabled": true
},
"drawings": {
"enabled": false
},
"compareChart": {
"enabled": true
},
"studies": {
"enabled": true
},
"indicatorTemplates": {
"enabled": true
},
"multichart": {
"enabled": true
},
"layout": {
"enabled": true
},
"layers": {
"enabled": true
},
"export": {
"enabled": true
},
"snapshot": {
"enabled": true
},
"settings": {
"enabled": true
},
"maximize": {
"enabled": true
},
"marketState": {
"enabled": true
},
"scalingTool": {
"enabled": true
}
}
},
"settingsTabs": {
"general": {
"enabled": true,
"options": {
"highAndLow": {
"enabled": true
},
"horizontalGrid": {
"enabled": true
},
"verticalGrid": {
"enabled": true
},
"candleWick": {
"enabled": true
},
"showClosePrice": {
"enabled": true
},
"watermark": {
"enabled": true
},
"crosshair": {
"enabled": true
}
}
},
"trading": {
"enabled": true,
"options": {
"tradingFromChart": {
"enabled": true
},
"showOrders": {
"enabled": true
},
"showPositions": {
"enabled": true
},
"showExecutedOrders": {
"enabled": true
}
}
},
"legend": {
"enabled": true,
"options": {
"instrumentName": {
"enabled": true
},
"ohlcValues": {
"enabled": true
},
"priceChange": {
"enabled": true
},
"volume": {
"enabled": true
},
"period": {
"enabled": true
}
}
},
"scales": {
"enabled": true,
"options": {
"autoScale": {
"enabled": true
},
"fitStudies": {
"enabled": true
},
"fitPositions": {
"enabled": true
},
"fitOrders": {
"enabled": true
},
"invertScale": {
"enabled": true
},
"lockPriceToBarRatio": {
"enabled": true
},
"axisType": {
"enabled": true
},
"axisAlign": {
"enabled": true
},
"labelsAndLinesPopover": {
"enabled": true
}
}
},
"market": {
"enabled": true,
"options": {
"sessionBreaks": {
"enabled": true
},
"extendedHours": {
"enabled": true
},
"alignDataToSessionStart": {
"enabled": true
},
"priceType": {
"enabled": true
},
"volume": {
"enabled": true
},
"volumeType": {
"enabled": true
}
}
},
"colors": {
"enabled": true,
"options": {
"themeSwitcher": {
"enabled": true
}
}
},
"events": {
"enabled": true,
"options": {
"eventsOnChart": {
"enabled": true
},
"dividends": {
"enabled": true
},
"splits": {
"enabled": true
},
"earnings": {
"enabled": true
},
"conferenceCalls": {
"enabled": true
},
"news": {
"enabled": true
}
}
},
"paddings": {
"enabled": true,
"options": {
"top": {
"enabled": true
},
"right": {
"enabled": true
},
"bottom": {
"enabled": true
}
}
}
},
"yAxisControls": {
"enabled": true
},
"instrumentSuggest": {
"visible": true,
"enabled": true
},
"actionsHistory": {
"undoKeyCode": "KeyZ",
"redoKeyCode": "KeyZ",
"limit": 20
},
"popups": {
"showOutside": true
},
"layers": {
"enabled": true
},
"timeframePresets": {
"mode": "full"
},
"customPeriodInput": {
"enabled": true
},
"chartDataOptionsSettings": {
"sessionBreaks": {
"enabled": true
},
"extendedHours": {
"enabled": true
},
"priceType": {
"enabled": true
},
"candlesAlignment": {
"enabled": true
},
"maxCandlesCount": 9007199254740991
},
"dataTimeout": 12000,
"priceTypes": [
"last",
"mark",
"bid",
"ask"
],
"autoApplyPriceType": true,
"shouldInitLayoutScale": true,
"timezoneControls": {
"enabled": true
},
"watermark": {
"mode": "instrument"
},
"rightClickMenu": {
"tradingButtons": {
"showMarketPrice": true,
"showLimitPrice": true,
"showStopPrice": true
},
"backgroundMenu": {
"buyMarketButton": {
"enabled": true
},
"sellMarketButton": {
"enabled": true
},
"buyLimitButton": {
"enabled": true
},
"sellLimitButton": {
"enabled": true
},
"crosshairCheckbox": {
"enabled": true
},
"sessionBreaksCheckbox": {
"enabled": true
},
"extendedHoursCheckbox": {
"enabled": true
},
"watermarkCheckbox": {
"enabled": true
},
"gridPopover": {
"enabled": true
},
"themePopover": {
"enabled": true
},
"recentDrawingsPopover": {
"enabled": true
},
"hideDrawingsCheckbox": {
"enabled": true
},
"clearDrawingsButton": {
"enabled": true
},
"clearIndicatorsButton": {
"enabled": true
},
"settingsButton": {
"enabled": true
},
"resetChartViewportButton": {
"enabled": true
},
"resetChartButton": {
"enabled": true
}
},
"dataMenu": {
"chartTypePopover": {
"enabled": true
},
"priceTypePopover": {
"enabled": true
},
"colorPickerItem": {
"enabled": true
},
"bringToFrontButton": {
"enabled": true
},
"sendToBackButton": {
"enabled": true
}
},
"studiesMenu": {
"bringToFrontButton": {
"enabled": true
},
"sendToBackButton": {
"enabled": true
},
"duplicateStudyButton": {
"enabled": true
},
"hideStudyButton": {
"enabled": true
},
"moveToPaneAboveButton": {
"enabled": true
},
"moveToPaneBelowButton": {
"enabled": true
},
"pinToScalePopover": {
"enabled": true
},
"configureStudyButton": {
"enabled": true
}
},
"drawingsMenu": {
"bringToFrontButton": {
"enabled": true
},
"bringForwardButton": {
"enabled": true
},
"sendBackwardButton": {
"enabled": true
},
"sendToBackButton": {
"enabled": true
},
"lockDrawingButton": {
"enabled": true
},
"hideDrawingButton": {
"enabled": true
}
},
"legendMenu": {
"instrumentNameCheckbox": {
"enabled": true
},
"ohlcValuesCheckbox": {
"enabled": true
},
"priceChangeCheckbox": {
"enabled": true
},
"volumeCheckbox": {
"enabled": true
},
"periodCheckbox": {
"enabled": true
}
},
"yAxisMenu": {
"autoScaleCheckbox": {
"enabled": true
},
"fitOrdersCheckbox": {
"enabled": true
},
"fitPositionsCheckbox": {
"enabled": true
},
"fitStudiesCheckbox": {
"enabled": true
},
"invertScaleCheckbox": {
"enabled": true
},
"lockPriceToBarRatioCheckbox": {
"enabled": true
},
"axisAlignButton": {
"enabled": true
},
"regularAxisTypeCheckbox": {
"enabled": true
},
"percentAxisTypeCheckbox": {
"enabled": true
},
"logarithmicAxisTypeCheckbox": {
"enabled": true
},
"labelsAndLinesPopover": {
"enabled": true
}
}
},
"floatingButtons": {
"zoom": {
"enabled": true
},
"resetChartView": {
"enabled": true
},
"returnToNow": {
"enabled": true
},
"movePaneButtons": {
"enabled": true
}
}
}