Переопределение remote компонентов

Ситуация такая: Компоненты ExtJS (разметка) подгружаются с удаленного сервера, a внести изменения в них нет возможности.

Для решения данной задачи можно воспользоваться переопределением класса Ext.app.Application

Читать далее «Переопределение remote компонентов»

ExtJs куки для кэширования

ext-cache = 1, чтобы при перезагрузке страницы не терять брейкпоинт, поставленный в браузере. Удобство при отладке.

Автоматическая ширина колонок в Grid

Бывают ситуации когда для grid’а не указываются размеры колонок, а нужно чтобы смотрелось хорошо

Некрасивая разметка

Для корректного просмотра списка есть несколько способов:

Читать далее «Автоматическая ширина колонок в Grid»

Плагин CardToList для Listiew

Плагин предназначен для вывода в компоненте IServ.UI.Classic.ListViewPanel панели с карточкой редактирования

Особенности

  • для списка скрываются кнопки создания и редактирования. Кнопка удалить выводится только при множественном выборе
  • выделяется записи, которая выводится в карточке
  • после изменения записи в карточке список обновляется
Стандартная панель редактирования для списка.
Читать далее «Плагин CardToList для Listiew»

Вызов this.callParent(arguments) в асинхронных методах

Бывает ситуация когда нужно вызвать родительский метод в асинхронной функции и простой операция не работает:

// метод используется в прокси

/**
 * Переопределен. Вызывается при завершении синхронизации
 */
onBatchComplete: function (batch, operation) {
    var me = this;
    setTimeout(function () {
        me.callParent(arguments);
    }, 1000);
}
Читать далее «Вызов this.callParent(arguments) в асинхронных методах»

Применение событие с Ext.mixin.Observable

У нас стоит задача создать ExtJS объект без применения наследования от Ext.Base или Ext.Component и чтобы можно было использовать события.

Для реализации данной задачи нам поможет объект Ext.mixin.Observable
Пример инициализации класса: Читать далее «Применение событие с Ext.mixin.Observable»

Файловый менеджер на ExtJS

Для применения в проектах ExtJS «файлового менеджера» нужно подключить пакет filer_package. Инструкция тут

Данный пакет содержит набор компонентов для работы с файловой системой

  • IServ.Filer.Panel — панель для вывода информации из файловой системы
  • IServ.Filer.data.Filer — хранилище (Store) для работы с ФС
  • и т.д. Подробнее о компонентах тут

Читать далее «Файловый менеджер на ExtJS»

Компонент для выбора нескольких значений IServ.UX.Classic.StringTagField

Компонент IServ.UX.Classic.StringTagField предназначен для выбора нескольких значений и преобразовании результата в строку с разделителем в виде запятой.

Компонент является наследником Ext.form.field.Tag Читать далее «Компонент для выбора нескольких значений IServ.UX.Classic.StringTagField»

Тестирование ExtJS проектов

Статья: Плагин autotest-plugin для VSCode

Тестирование NodeJS проекта отличается от ExtJS

  • применяется siesta вместо nodeunit
  • добавлена возможность проверки класса
  • есть возможность тестирования в браузере

Для тестирования ExtJS применяется проект siesta. Он позволяет производить тестирование в браузере компоненты ExtJS’a Читать далее «Тестирование ExtJS проектов»

ExtJS 6.6.0

Что нового?

  1. можно указывать папку с sdk по умолчанию. Например sdk с новой версией хранится тут C:\Users\Myname\sencha-sdks\ext-6.6.0И тогда путь у sdk устанавливается так
    sencha config --prop sencha.sdk.path=C:\Users\Me\sencha-sdks --save
    
  2. Инициализация приложения происходит так
    sencha app init --ext@6.6.0 --modern MyApp

    или

    sencha app init --ext@6.6.0 --classic MyApp

    или

    sencha app init --ext@6.6.0 --universal MyApp
  3. Динамические стили:
    Ext.theme.Material.getColors()