Внедрение новых гридов

Материал из Course Orchestra
Перейти к: навигация, поиск

Внедрение новых гридов

Общие требования

Новая функциональность

Требования в части редактирования

  1. Требуется обеспечить возможность редактирования записей
  2. Редактирование записей должно быть обеспечено для следующих типов выборов (типов контролов)
    • Число
    • Логический тип (checkbox)
    • Текст
    • Дата
    • Комбобокс
    • Селектор
    • Три-селектор
    • Большой текст
    • Файл (загрузка и выгрузка)
    • Мультиселектор???
    • Вычисляемое на сервере поле (если не содержит значений то идет вычисление или невозможно вычислить)
    • Read-only
  3. Тип выбор должен быть указан в gridsettings
  4. Выбор для селектора и три-селектора должен задаваться также, как в XForm'е. На входе селектора -- значения остальных полей записей.
  5. Должны быть реализованы специальные кнопки: добавить запись, принять редактируемое значение.
  6. Должно быть реализовано один тип сохранения: строка. В этом случае изменения постятся только после заполнения всей строки (ухода на другую строку или при нажатии кнопки Принять)
  7. При сохранении и добавлении должны срабатывать заданные процедуры сохранения/добавления (указываются в datapanel).
  8. Эти процедуры должны возвращаться возможно измененные значения (перерасчитанные), в том числе другие записи, а также ошибки, если добавить/изменить запись невозможно.
  9. Должны быть введены дополнительные виды экшнов на грид (rowEdit).
  10. В properties строчек, приходящих с сервера (из хранимой процедуры) ввести атрибут read-only.

Требования в части частичного обновления

  1. Необходимо возможность задавать процедуру, обеспечивающую частичное обновление.
  2. Процедура частичного обновления должна выглядеть также, как и основная за исключением того, что в ней в gridSettings может быть перечислен список значений ~~id. В гриде должны обновиться только ~~id из этого списка.
  3. Указание, что грид должен быть обновлен частично должно передаваться через action. На вход хранимой процедуры передается список id записей, которым необходимо обновление.
  4. Необходимо использовать разные процедуры общего и частичного заполнения одинакового формата.
  5. В properties строки добавить признак, что она не актуальная (missing)
  6. В gridsettings убрать устаревший атрибут flip

Требования в части фильтров

  1. Должна обеспечиваться возможность для каждого поля указания вида фильтров
  2. Типы фильтров соответствуют типам редактирования + мультиселектор
  3. На вход фильтра типа селекторы и передаются значения остальных фильтров
  4. Не использовать функционал фильтрации DGrid'а (будет серверная фильтрация)

Иные требования

  1. Нужна возможность в gridSettings задания width = 'calcFull'
  2. Требуется обеспечить возможность автоматической прорисовки кнопок в гриде с заданной функциональностью (панель инструментов)
  3. за основу реализации берем D-Grid
  4. поддержка алиасов
  5. сохранение настроек отображения (шаблон настроек грида, его сохранение и получение). Процедура сохранения настроек должна прописываться в datapanel. На вход этой процедуре передается частное
  6. изменение в виде XML.
  7. В процедуре с параметрами грида добавляется дополнительный выходной параметр, содержащий набор частных изменений. Этот набор должен быть применен к гриду.
  8. Перенести следующие настройки:
  9. поддержка мобильных устройств

Остались вопросы: missing (неясно как реализовывать)

Старая функциональность

  1. Все функции ext-GWT должны быть сохранены
  2. Мы полностью перестаем поддерживать старый (Советский) грид

{{#allow-groups:user}}