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 для узла дерева.