Ориентация панели ExtJS — справа налево
-
06-07-2019 - |
Вопрос
Каков правильный способ перевернуть панель ExtJs по горизонтали для языков с письмом справа налево, арабского, иврита...и т. д.
Решение
ТЛ;ДР:RTL поддерживается в Ext 4.2+ по состоянию на апрель 2013 г.Подробности смотрите в последнем обновлении ниже.
В настоящее время в Ext нет встроенной поддержки RTL, хотя многие члены сообщества с разным успехом решили эту проблему.Если ваши потребности ограничены (например, только содержимым панели), вероятно, лучше просто переопределить соответствующий CSS самостоятельно.Если вам нужна более полная поддержка RTL, вам, вероятно, следует напрямую связаться с другими пользователями на форумах Ext, столкнувшимися с теми же проблемами.
Есть внешний проект за добавление поддержки RTL в Ext 3.x, хотя я понятия не имею, активна ли она и каково ее качество (последние обновления были несколько месяцев назад).Хотя может указать вам правильное направление.
ОБНОВЛЯТЬ:Поддержка RTL как сообщается будет значительно улучшено, если не реализовано полностью, в Ext 4 (в первом квартале 2011 г.).Еще не видел, но об этом сообщили на SenchaCon.
ОБНОВЛЕНИЕ, сентябрь 2012 г.:РТЛ имеет нет официально он включен в Ext 4, начиная с версии 4.1, но в последнее время я слышал, что он все еще находится в планах, возможно, для более поздней версии 4.x.
ОБНОВЛЕНИЕ, апрель 2013 г.: РТЛ приземлился. См. Вступительная запись в блоге Ext 4.2 для получения подробной информации.Основная суть в том, что для включения RTL в версии 4.2+ вы делаете следующее:
- Требовать
Ext.rtl.*
пространство имен - Установить
rtl: true
config в ваших контейнерах/компонентах — обратите внимание, что этот параметр каскадируется и может быть переопределен дочерними компонентами, и это круто. - Включите RTL в стилях, установив переменную SASS:
$include-rtl: true;
Пример включения RTL в компоненте приложения:
Ext.define('MyApp.views.Viewport', {
extend: 'Ext.container.Viewport',
requires: [
'Ext.rtl.*'
],
rtl: true,
...
});