DevExtreme jQuery/JS - Customize the View
Similar to the slide-out menu, the view also demands a template to be specified. For example, in the following code, the view contains the Toolbar and the Chart widgets. They are both placed into a dxTemplate whose name is assigned to the contentTemplate option of the SlideOutView. All the other code configures the Toolbar and the Chart and does not affect the SlideOutView directly.
- <div id="slideOutView">
- <div data-options="dxTemplate: { name: 'content' }">
- <div id="toolbar"></div>
- <div id="chart"></div>
- </div>
- <div data-options="dxTemplate: { name: 'treeView' }">
- <div id="treeView"></div>
- </div>
- </div>
- $(function() {
- var slideOutView = $("#slideOutView").dxSlideOutView({
- menuTemplate: 'treeView',
- contentTemplate: 'content'
- }).dxSlideOutView("instance");
- var toolbar = $("#toolbar").dxToolbar({
- dataSource: [{
- widget: 'dxButton',
- options: {
- icon: 'menu',
- onClick: function (e) {
- slideOutView.showMenu();
- }
- },
- location: 'before'
- }, {
- text: "Title",
- location: 'center'
- }]
- }).dxToolbar("instance");
- var chart = $("#chart").dxChart({
- dataSource: [],
- commonSeriesSettings: { type: 'bar', argumentField: "text" },
- series: [
- { valueField: "china", name: "China" },
- { valueField: "usa", name: "USA" },
- { valueField: "turkey", name: "Turkey" }
- ],
- legend: {
- orientation: "horizontal",
- verticalAlignment: "bottom",
- horizontalAlignment: "center"
- },
- valueAxis: {
- label: {
- format: { type: "largeNumber", precision: 1 }
- }
- }
- }).dxChart("instance");
- $("#treeView").dxTreeView({
- // TreeView is configured in the "Customize the Menu" article
- });
- });
- #slideOutView {
- height: auto;
- position: absolute;
- top: 0;
- bottom: 0;
- width: 100%;
- }
The contentTemplate option can also accept a function combining the HTML markup. In this case, you do not need to specify any markup for the view in the HTML file.
- <div id="slideOutView">
- <div data-options="dxTemplate: { name: 'treeView' }">
- <div id="treeView"></div>
- </div>
- </div>
- $(function() {
- var slideOutView = $("#slideOutView").dxSlideOutView({
- menuTemplate: 'treeView',
- contentTemplate: function (view) {
- view.append(
- $("<div />").attr("id", "toolbar"),
- $("<div />").attr("id", "chart")
- )
- }
- }).dxSlideOutView("instance");
- // The rest is omitted for brevity
- });
In addition, you can use a 3rd-party template engine to customize the view. For more information, see the 3rd-Party Template Engines article.
See Also
If you have technical questions, please create a support ticket in the DevExpress Support Center.