Your search did not match any results.
Common

Right-to-Left Support

The Navigation widgets fully support RTL languages. As is illustrated in this demo, the Navigation widgets are able to display their contents in a right-to-left direction and fully mirror associated UI elements. Use the language drop-down menu (change from English to Arabic) to explore the differences between default and RTL modes available in DevExtreme.
Copy to CodePen
Apply
Reset
window.onload = function() { var languages = [ "Arabic: Right-to-Left direction", "English: Left-to-Right direction" ]; var rtlEnabled = ko.observable(false); var accordionTemplate = ko.computed(function() { return rtlEnabled() ? "arabic" : "english"; }); var accordionTitleTemplate = ko.computed(function() { return rtlEnabled() ? "arabicTitle" : "englishTitle"; }); var displayExpr = ko.computed(function() { return rtlEnabled() ? "textAr" : "text"; }); var viewModel = { rtlEnabled: rtlEnabled, treeViewOptions: { dataSource: continents, width: 200, displayExpr: displayExpr, rtlEnabled: rtlEnabled }, menuOptions: { dataSource: continents, rtlEnabled: rtlEnabled, displayExpr: displayExpr }, accordionOptions: { dataSource: europeCountries, itemTitleTemplate: accordionTitleTemplate, itemTemplate: accordionTemplate, rtlEnabled: rtlEnabled, }, selectBoxOptions: { items: languages, value: languages[1], onValueChanged: function(data) { rtlEnabled(data.value === languages[0]); } } }; ko.applyBindings(viewModel, document.getElementById("rtl")); };
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>DevExtreme Demo</title> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" /> <script src="js/jquery-3.1.0.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.4.0/knockout-min.js"></script> <link rel="stylesheet" type="text/css" href="https://cdn3.devexpress.com/jslib/17.1.7/css/dx.spa.css" /> <link rel="stylesheet" type="text/css" href="https://cdn3.devexpress.com/jslib/17.1.7/css/dx.common.css" /> <link rel="dx-theme" data-theme="generic.light" href="https://cdn3.devexpress.com/jslib/17.1.7/css/dx.light.css" /> <script src="https://cdn3.devexpress.com/jslib/17.1.7/js/dx.all.js"></script> <script src="data.js"></script> <link rel="stylesheet" type ="text/css" href ="styles.css" /> <script src="index.js"></script> </head> <body class="dx-viewport"> <div class="demo-container" id="rtl" data-bind="css: { 'dx-rtl': rtlEnabled }"> <div class="options"> <div class="caption">Options</div> <div class="dx-fieldset"> <div class="dx-field"> <div class="dx-field-label">Language</div> <div class="dx-field-value"> <div data-bind="dxSelectBox: selectBoxOptions"></div> </div> </div> </div> </div> <div> <div class="dx-fieldset"> <div class="dx-fieldset-header"> <div data-bind="dxMenu: menuOptions"></div> </div> </div> <div class="dx-fieldset"> <div class="dx-field"> <div class="dx-field-label"> <div data-bind="dxTreeView: treeViewOptions"></div> </div> <div class="dx-field-value"> <div data-bind="dxAccordion: accordionOptions"> <div data-options="dxTemplate: { name: 'arabic' }"> <div>عاصمة: <span data-bind="text: capitalAr"></span></div> <div>عدد السكان: <span data-bind="text: population"></span> نسمة</div> <div>المساحة: <span data-bind="text: area"></span> كم<sup>2</sup></div> </div> <div data-options="dxTemplate: { name: 'english' }"> <div>Capital: <span data-bind="text: capitalEn"></span></div> <div>Population: <span data-bind="text: population"></span> people</div> <div>Area: <span data-bind="text: area"></span> km<sup>2</sup></div> </div> <div data-options="dxTemplate: { name: 'arabicTitle' }"> <div data-bind="text: nameAr"></div> </div> <div data-options="dxTemplate: { name: 'englishTitle' }"> <div data-bind="text: nameEn"></div> </div> </div> </div> </div> </div> </div> </div> </body> </html>
sup { font-size: 0.8em; vertical-align: super; line-height: 0; } .options { padding: 20px; background-color: #f5f5f5; margin-bottom: 20px; } .options .dx-fieldset { margin: 0; } .caption { font-size: 18px; font-weight: 500; padding-right: 15px; }
var continents = [{ id: "1", text: "Africa", textAr: "أفريقيا", items: [ { id: "1_2", text: "Ethiopia", textAr: "أثيوبيا", items: [{ id: "1_2_1", text: "Addis Ababa", textAr: "أديس أبابا" }, { id: "1_2_2", text: "Dire Dawa", textAr: "دير داوا" }] }, { id: "1_1", text: "Nigeria", textAr: "نيجيريا", items: [{ id: "1_1_1", text: "Lagos", textAr: "لاغوس" }, { id: "1_1_2", text: "Kano", textAr: "كانو" }] } ] }, { id: "2", text: "Asia", textAr: "آسيا", items: [{ id: "2_1", text: "China", textAr: "الصين", items: [{ id: "2_1_1", text: "Beijing", textAr: "بكين" }, { id: "2_1_2", text: "Shanghai", textAr: "شنغهاي" }] }, { id: "2_2", text: "India", textAr: "الهند", items: [{ id: "2_2_1", text: "Indianapolis", textAr: "انديانابوليس" }, { id: "2_2_2", text: "New Delhi", textAr: "نيودلهي" }] }] }, { id: "3", text: "Australia", textAr: "أستراليا", items: [{ id: "3_1", text: "Australia", textAr: "أستراليا", items: [{ id: "3_1_1", text: "Canberra", textAr: "كانبيرا" }, { id: "3_1_2", text: "Melbourne", textAr: "ملبورن" }, { id: "3_1_3", text: "Sydney", textAr: "سيدني" }] }] }, { id: "4", text: "Europe", textAr: "أوروبا", items: [{ id: "4_1", text: "Germany", textAr: "ألمانيا", items: [{ id: "4_1_1", text: "Berlin", textAr: "البرلينية" }, { id: "4_1_2", text: "Hamburg", textAr: "هامبورغ" }] }, { id: "4_2", text: "Russia", textAr: "روسيا", items: [{ id: "4_2_1", text: "Moscow", textAr: "موسكو" }, { id: "4_2_2", text: "Saint Petersburg", textAr: "سانت بطرسبرغ" }] }] }, { id: "5", text: "North America", textAr: "أمريكا الشمالية", items: [{ id: "5_2", text: "Mexico", textAr: "المكسيك", items: [{ id: "5_2_1", text: "Mexico City", textAr: "مكسيكو سيتي" }, { id: "5_2_2", text: "Guadalajara", textAr: "غوادالاخارا" }] }, { id: "5_1", text: "United States", textAr: "الولايات المتحدة الأمريكية", items: [{ id: "5_1_1", text: "New York", textAr: "نيويورك" }, { id: "5_1_2", text: "Washington", textAr: "واشنطن" }] }] }, { id: "6", text: "South America", textAr: "أمريكا الجنوبية", items: [{ id: "6_1", text: "Brazil", textAr: "البرازيل", items: [{ id: "6_1_1", text: "Brasilia", textAr: "برازيليا" }, { id: "6_1_2", text: "Sao Paulo", textAr: "ساو باولو" }] }, { id: "6_2", text: "Colombia", textAr: "كولومبيا", items: [{ id: "6_2_1", text: "Bogota", textAr: "بوغوتا" }, { id: "6_2_2", text: "Medellin", textAr: "ميديلين" }] }] }]; var europeCountries = [{ nameAr : "النمسا", nameEn : "Austria", population : 8451900, area : 83855.0, capitalEn : "Vienna", capitalAr : "فيينا" }, { nameAr : "بلجيكا", nameEn : "Belgium", population : 11161600, area : 30528.0, capitalEn : "Brussels", capitalAr : "بروكسل" }, { nameAr : "بلغاريا", nameEn : "Bulgaria", population : 7284600, area : 110994.0, capitalEn : "Sofia", capitalAr : "صوفيا" }, { nameAr : "كرواتيا", nameEn : "Croatia", population : 4262100, area : 56594.0, capitalEn : "Zagreb", capitalAr : "زغرب" }];