IDE: утилиты Common
js/app/system/common.js представляет собой библиотеку системных утилит и доопределяет некоторые объекты фреймворка ExtJS.
Библиотека системных утилит переопределяет:
- Ext.data.proxy.Ajax таким образом, чтобы все запросы на create, read, update и destroy отправлялись методом 'POST';
- Ext.data.AbstractStore, добавляя системный обработчик exception;
- Ext.tree.TreePanel, добавляя метод getChecked - получить выбранные (отмеченные checked) узлы.
Библиотека использует пространство имен приложения ‘app’, содержит набор системных функций и общих объектов:
- app.comboModel - модель данных для ComboBox, использующих поля id - int, title - string;
- app.comboStringModel - модель данных для ComboBox, использующих поля id - string, title - string;
- app.comboValueModel - модель данных для ComboBox, использующих поля name - string, value - string;
- app.versionRenderer - специализированный рендерер для колонки, версия документа в Grid, отображающая информацию об объектах, находящихся под версионным контролем;
- app.creatorRenderer - специализированный рендерер для колонки «Инициатор создания обекта/ Автор объекта»;
- app.updaterRenderer - специализированный рендерер колонок, автор последних изменений;
- app.comboBoxRenderer(combo) - рендерер колонок на основе данных ComboBox;
- app.linesRenderer - специализированный рендерер колонок, позволяет отображать значение в несколько строк (поддерживает перенос строки, не прячет содержимое, которое не умещается в ширину колонки);
- app.sotrColumn - колонка для Grid, поддерживающая сортировку и удаление элементов;
- app.checkHeight(size) - метод для проверки значения высоты компонента, если размер компонента выходит за рамки рабочей области окна, возвращает максимально возможный размер (используется для окон);
- app.checkWidth(size) - аналогичен предыдущему, только проверяет ширину;
- app.checkSize(window) - проверяет размеры и координаты Ext.Window, при выходе окна за рамки видимой области, уменьшает размер окна или изменяет координаты его расположения;
- app.checkboxRenderer - рендерер булевых данных в виде иконок и (содержит тултипы «Да» и «Нет»);
- app.publishRenderer - рендерер булевых данных в виде иконок и (содержит тултипы «Опубликовано» / «Не опубликовано»);
- app.formFailure - обработчик события failure при отправке формы (нужно назначать вручную);
- app.ajaxFailure - обработчик события failure при отправке Ajax-запроса (нужно назначать вручную);
- app.storeException - обработчик exception при попытке загрузки данных в store;
- app.createUrl([array]) - метод создания url-адреса с учетом особенностей роутинга бэкенда, принимает в качестве аргумента массив элементов адреса;
- app.collectStoreData(store, onlyChanged) - метод получения данных Data Store, возможен сбор всех или только измененных записей, что определяется вторым параметром;
- app.checkChildNodes(node, isChecked) - рекурсивная установка свойства checked для узла дерева.