Сравнение версий
по сравнению с
Ключ
- Эта строка добавлена.
- Эта строка удалена.
- Изменено форматирование.
Постановка задачи
Добавить вывод результатов поиска для нового модуля
Подсказка | ||
---|---|---|
| ||
Инструмент: Палитра XML, Плагин, Настройка системы |
Свойства страницы | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
|
панель | |
---|---|
На этой странице:
|
Постановка задачи
Инструмент
Реализация
|
Реализация
Информация | ||
---|---|---|
| ||
Последовательность действий по отображению поиска:
|
Редактирование конфигурации поиска
Блок кода | ||||
---|---|---|---|---|
| ||||
<!-- Конфигурация отображения результатов поиска ({Module}) -->
<bean id="moduleExtractorConfig{Module}" parent="moduleExtractorConfigSuper">
<!-- Настройка соответствий «id бандла – представление типа объекта» -->
<property name="rootTypesByBundleID">
<map merge="true">
<entry key="rkk" value="{Cell-View}" />
<entry key="mainDoc" value="{Cell-View}" />
</map>
</property>
<!-- Настройка соответствий «Форма – id бандла» -->
<property name="bundleIDsByForm">
<map merge="true">
<entry key="{Module}" value="rkk" />
</map>
</property>
<!--Настройка соответствий «колонки- системного поля»-->
<property name="nsFieldsByClTypeByBundleID">
<map merge="true">
<entry key="rkk#{Column}" value="{Field}" />
<entry key="mainDoc#{Column}" value="{Field}" />
</map>
</property>
<!--Настройка соответствий «колонки - кастомного поля»-->
<property name="formulasByClTypeByBundleID">
<map merge="true">
<entry key="rkk#{Column}" value="doc.getItemValueString('{Field}')" />
<entry key="mainDoc#{Column}" value="doc.getItemValueInteger('{Field}') == 0 ? doc.getItemValueString('<Field 1>'):doc.getItemValueString('<Field 2>')"/>
</map>
</property>
<!--Сортировка-->
<property name="sortingsByFields">
<set>
<ref bean="sortingParams{Field}"/>
</set>
</property>
</bean> |
Блок кода | ||||
---|---|---|---|---|
| ||||
<!--Список параметров, которые используются при создании бинов SortingParams:
-columnName - имя колонки, при клике на которую будет происходить сортировка
-sortingFieldName - имя поля в Notes, по значению которого будет идти сортировка nodes из ресурса.
Если sortingFieldName = null, то сортировка будет идти по значению поля columnName в ресурсе.
-sortingFieldType - тип значения в сравниваемом поле
Если sortingFieldType = Integer, то при сортировке значения сравниваются как числа, иначе - как строки.
Предполагается, что тип DateTime не нужен, т.к. маловероятно, что при клике на колонку, в которой отображается
дата/время, будет идти сортировка по какому-то значению, отличному непосредственно от дата/время, а в JSON дата/время
всегда будут в формате yyyy-mm-ddThh:mm:ssZ (такие значения можно сортировать, сравнивая как строки).
-default - указывает будет ли совершена эта сортировка по умолчанию
(может быть только одна сортировка по умолчанию для бандла, для добавления другой необходимо разнести по бандлам сортировки)
-defaultSortingDirection - Указывает направление сортировки по умолчанию (descendant/ascendant)
-bundleId - указывает id бандла для которого применяется сортировка, для каждого бандла надо делать свою, так как поля у объектов и имена колонок могут отличаться
id бандлов: rkk-search-result, mainDoc-search-result и др. По умолчанию rkk-search-result
-sortingDirections - выбранное направление сортировки (по убыванию/по возрастанию) - принимает <set> -->
<bean id="sortingParams{Field}"
class="ru.intertrust.cmj.af.search.dp.docinfo.SortingParams">
<property name="columnName" value="{Column}" />
<property name="sortingFieldName" value="{Field}" />
<property name="sortingFieldType" value="String" />
<property name="default" value="true" />
<property name="defaultSortingDirection" value="descendant" />
<property name="bundleId" value="{Cell-View}" />
<property name="sortingDirections">
<set>
<value>descendant</value>
<value>ascendant</value>
</set>
</property>
</bean> |
Создание представление типа объекта
Блок кода | ||||
---|---|---|---|---|
| ||||
<!-- Колонка -->
<column name="{Column}" subject="${column.Name:Название колонки}" extends="string"/>
<!--Представление типа объекта -->
<cell-view name="{Cell-View}">
<column-ref ref="{Column}"/>
</cell-view> |
панель | ||
---|---|---|
| ||
Примечание | ||||
---|---|---|---|---|
| ||||
|