class Controls/explorer:View

Контрол "Иерархический проводник" позволяет отображать данные из различных источников данных в одном из четырех режимов: плоский список, дерево с колонками, плитка и поиск.

В режимах отображения "дерево" и "поиск" над контролом отображаются хлебные крошки, используемые для навигации по разделам.

В контроле можно включить поведение проваливания в узел, когда при клике по узлу — такой узел становится корнем иерархии.

При этом контрол будет отображать только содержимое выбранного узла.

Если для контрола настроена навигация, тогда после проваливания в узел начинает работать подгрузка дочерних элементов по скроллу.

Примеры

Пример
Исходный код
Пример
Исходный код

Примечание

Сортировка применяется к запросу к источнику данных. Полученные от источника записи дополнительно не сортируются.

Полезные ссылки:

Опции

Выравнивание опций записи, когда они отображаются в режиме swipe.

IItemActions

Позиция заголовка для опций записи, когда они отображаются в режиме swipe.

IItemActions

Вид отображения меню опций записи.

ITile

Вид отображения опций над записью.

ITile

Ключ текущего активного элемента

IList

Пользовательский шаблон, который будет выведен справа от хлебных крошек.

Шаблон дополнительной записи, которая будет отрисована в конце списка.

ITile

При изначальной загрузке списка прижимать верхний триггер загрузки к нулевой позиции.

IList

Кастомный шаблон, который выводится перед заголовком кнопки назад в хлебных крошках.

В шаблон передается опция item в которой содержится запись хлебной крошки.

Стиль цвета кнопки "Назад".

Стиль отображения иконки кнопки "Назад".

Задает режим отображения иконки кнопки "Назад".

Задает режим отображения заголовка в кнопке "Назад".

Вместе с установкой преобразования текста, меняется так же расстояние между буквами.

Префикс стиля для настройки фона внутренних компонентов списочного контрола с фиксированным или абсолютным позиционированием.

IList

Шаблон дополнительной записи, которая будет отрисована в начале списка.

ITile

Режим вывода строки с хлебными крошками в результатах поиска.

Отображение крошек в несколько строк Controls/breadcrumbs:HeadingPath#displayMode

Видимость хлебных крошек и кнопки "Назад".

Если в вашем реестре не подразумевается использование встроенных крошек и кнопки "Назад", то лучше выставить эту опцию в 'hidden' т.к. это предотвратит загрузку лишних модулей и расчет дополнительных величин для корректной работы.

  • hidden - хлебные крошки и кнопка "Назад" полностью скрываются

  • visible - хлебные крошки и кнопка "Назад" показываются по стандартной логике

  • onlyBackButton - видна только кнопка "Назад", крошки скрываются

Свойство узла, которое содержит количество детей.

ITree

Имя поля узла, в котором хранится список детей.

IHierarchy

Идентификаторы групп, которые будут свернуты при инициализации списка.

IGroupedGrid

Идентификаторы свернутых узлов в дереве с колонками.

ITree

Функция обратного вызова для расчёта объединения колонок строки (колспана).

IGridControl

Включает горизонтальную прокрутку колонок.

IGridControl

Начальное положение горизонтальной прокрутки колонок.

IGridControl

Режим отображения горизонтальной прокрутки колонок в таблице.

IGridControl
IGridControl

Конфигурация колонок таблицы.

IGridControl

Визуальное представление меню опций записи и контекстного меню.

IItemActions

Видимость контекстного меню опций записи.

IItemActions

Пользовательский шаблон, который отображается под кнопкой "Продолжить поиск".

IList

Функция, которая вызывается каждый раз непосредственно после загрузки данных из источника контрола.

Функцию можно использовать для изменения данных еще до того, как они будут отображены в контроле.

ISource

Функция обратного вызова для определения сбоя загрузки данных из источника.

ISource

Имя свойства узла дерева, которое определяет, что при поиске этот узел должен быть показан отдельной хлебной крошкой.

Определяет, нужно ли выполнять перезагрузку с сохранением развернутых узлов.

ITree

Имя свойства элемента, содержимое которого будет отображаться.

Включает скроллирование колонок перетаскиванием при горизонтальной прокрутке.

IGridControl
IDraggable

Функция обратного вызова для управления видимостью кнопки редактирования.

IGridControl
IEditableGrid

Пользовательский шаблон отображения контрола без элементов.

IList

Конфигурация колонок пустой таблицы.

IGridControl

Объект с опциями для настройки пустого представления, сконфигурированного через emptyTemplate.

IGridControl

Компонент для обработки ошибки.

Данную опцию следует определять, если нужно изменить способ отображения ошибки (диалог, вместо контента или во всю страницу) или добавить свои обработчики ошибок.

IErrorControllerOptions
IPromisedSelectable

Развертывание узлов кликом по элементу в дереве с колонками.

ITree

Идентификаторы развернутых узлов в дереве с колонками.

ITree

Стиль отображения иконки для всех узлов и скрытых узлов дерева.

ITree

Размер иконки разворота узлов дерева

ITree

Стиль цвета иконки разворота узлов дерева

ITree

Расположение иконки для узла и скрытого узла.

ITree

Размер области, который отведён под иконку узла или скрытого узла.

ITree
ITree

Массив с идентификаторами высвеченных записей.

IList

Конфигурация объекта фильтра. Фильтр отправляется в запрос к источнику для получения данных.

IFilter

Конфигурация колонок подвала таблицы.

IGridControl

Пользовательский шаблон отображения подвала контрола.

IList

Идентификатор, по которому на Сервисе параметров сохраняется текущее состояние развернутости групп.

IGroupedGrid

Имя свойства, содержащего идентификатор группы элемента списка.

IGroupedGrid

Шаблон отображения заголовка группы

IGroupedGrid

Имя поля записи, в котором хранится информация о наличии дочерних элементов в узле дерева.

ITree

Конфигурация шапки таблицы.

IGridControl

Отображение шапки при наличии или отсутствии элементов.

IGridControl
IGroupedList

Стиль подсветки строки при наведении курсора мыши.

IList

Режим встраивания изображения в плитке

ITile

Имя свойства, содержащего высоту оригинального изображения.

ITile

Имя свойства, содержащего ссылку на изображение для плитки.

ITile

Функция обратного вызова для получения url изображения для плитки. Используется, если по каким-то причинам сервис previewer не подходит.

ITile

Имя свойства, содержащего ширину оригинального изображения.

ITile

Функция обратного вызова для определения видимости опций записи.

IItemActions

Конфигурация опций записи.

IItemActions

CSS класс, позволяющий задать отступы и позицию панели с опциями записи внутри элемента.

IItemActions

Позиционирование панели опций записи.

IItemActions

Имя поля записи, в котором хранится конфигурация для панели с опциями записи.

IItemActions

Отображение опций записи с задержкой или без.

IItemActions

Пользовательский шаблон, используемый в таблице для редактирования строки по месту без деления на ячейки.

IGridControl

Объект с опциями для редактируемой строки, сконфигурированной через itemEditorTemplate.

IGridControl

Конфигурация отступов внутри элементов списка.

IItemPadding

Пользовательский шаблон отображения элемента.

ITree

Имя поля элемента, которое содержит имя шаблона отображения элемента. С помощью этой настройки отдельным элементам можно задать собственный шаблон отображения.

ITree

Ширина плитки. Значение задаётся в px.

ITile

Конфигурация внешних отступов плитки.

ITile

Определяет, может ли пользователь перемещать элементы в списке с помощью drag'n'drop. Когда опция установлена в значение true, перемещение разрешено.

IDraggable

Функция, которая вызывается, когда экземпляр данных получен из источника и подготовлен к дальнейшей обработке контролом.

Функция единожды вызывается при построении контрола, а также в следующих случаях:

  • RecordSet, по которому строится список был пересоздан

  • Изменился конструктор модели списка (например, когда переключили вид списка)

  • Изменилось название поля, содержащего ключ записи

IList

Размер отступа между записями списка

IList

Размер пачки записей, которую мы пытаемся загрузить за отведенное время.

IList

Время итеративной загрузки, за которое мы пытаемся загрузить пачку записей.

IList

Определяет шаблон индикатора загрузки данных при порционном поиске.

IList

Сохранять ли позицию скролла после перезагрузки

IList

Имя поля записи, в котором хранится первичный ключ.

ISource

Массив с именами полей, по которым строится лесенка.

IGridControl

Пользовательский шаблон отображения пустого списка, используемый в режиме "Плоский список".

Шаблон отображения элемента в режиме "Список".

Определяет шаблон индикатора загрузки данных при порционном поиске.

IList

Определяет, нужно ли выделять узел маркером.

ITree

Идентификатор элемента, который выделен маркером.

IMarkerList

Режим отображения маркера.

IMarkerList

Шаблон отображения кнопки подгрузки данных при навигации "по запросу"

IList

Опция управляет стилем цвета текста для кнопки "Ещё".

IList

Параметры диалогового окна выбора целевой записи для перемещения.

IMovableList

Имя поля записи, в котором хранится состояние видимости чекбокса.

IList

Позиционирование чекбокса.

IList

Пользовательский шаблон множественного выбора.

IList

Видимость чекбоксов.

IList

Конфигурация навигации в списке.

INavigation

Пользовательский шаблон подвала развернутого узла в дереве с колонками.

ITree

Функция обратного вызова для определения видимости шаблона подвала развернутого узла в дереве с колонками.

ITree

Идентификатор, по которому на Сервисе параметров сохраняется текущее состояние развернутости узлов.

IHierarchy

Тип сохраняемых в историю узлов

IHierarchy

Функция обратного вызова для определения загрузки содержимого узла в дереве с колонками.

ITree

Пользовательский текст кнопки, расположенной в узле дерева и предназначенной для загрузки очередной пачки данных узла.

ITree

Имя поля записи, в котором хранится информация о типе элемента (лист, узел, скрытый узел).

IHierarchy

Флаг, который отключает загрузку переменных тем оформления для контролов.

isWasabyControl

Ориентация плитки. Представляет возможность вывести горизонтальную плитку в горизонтальном контейнере скролла.

ITile

Шаблон отображения слева от кнопки навигации. Используется для отображения счетчика непрочитанных сообщений.

IList

Пользовательский шаблон для отображения слева от постраничной навигации.

IList

Пользовательский шаблон для отображения справа от постраничной навигации.

IList

Имя поля записи, в котором хранится информация о родительском узле элемента.

IHierarchy

Источник данных для кнопки навигационного меню, которая отображается в блоке с хлебными крошками.

По умолчанию для навигационного меню используется тот же источник данных, который был передан для работы со списком.

В случае если query-метод основного источника данных слишком тяжелый то для кнопки навигационного меню рекомендуется использовать отдельный источник с облегченным query-методом.

Задает видимость кнопки навигационного меню.

Если значение опции установлено в true, то вместо иконки "домик" будет выведена кнопка вызова навигационного меню. При этом кнопка вызова навигационного меню видна всегда вне зависимости от текущего уровня иерархии.

Определяет, может ли пользователь изменить значение контрола.

(или взаимодействовать с контролом, если его значение не редактируется).

isWasabyControl

Функция обратного вызова для расчёта объединения колонок строки итого.

IGridControl

Позиция отображения строки итогов.

IGridControl

Пользовательский шаблон отображения строки итогов.

IGridControl

Отображение строки итогов при наличии или отсутствии элементов.

IGridControl

Идентификатор узла, содержимое которого отображается в иерархическом проводнике.

Cкругление углов элемента списка.

Также устанавливает скругление углов для блока операций над записью.

IList
IList

Настройка видимости линий-разделителей строк по краям и внутри списка.

IList

Режим поиска в иерархическом проводнике.

  • root Поиск происходит в корне.

  • current Поиск происходит в текущем разделе.

Определяет, будут ли отмечаться родительские узлы при отметке дочернего узла чекбоксом.

ITree

Определяет, будут ли отмечаться дочерние элементы при отметке узла чекбоксом.

ITree

Набор ключей выбранных элементов.

IPromisedSelectable

Тип подсчитываемых записей.

ISelectionCountModeOptions

Тип записей, которые можно выбрать.

ITree

Определяет, должна ли отображаться стрелка-шеврон рядом с кнопкой "Назад".

Видимость кнопки, которая отображается в первой колонке при наведении курсора.

IGridControl

Режим единого развернутого узла.

ITree

Объект реализующий интерфейс Types/source:ICrud, необходимый для работы с источником данных.

ITree

Экземпляр класса загрузчика данных Controls/dataSource:NewSourceController.

IList

Функция обратного вызова для определения залипания элемента списка.

В зависимости от возвращаемого значения может контролировать залипание элемента списка:

  • top - элемент списка залипает только у верхней границы списка
  • bottom - элемент списка залипает только у нижней границы списка
  • topBottom - элемент списка залипает и у верхней и у нижней границы списка
IList

Количество зафиксированных колонок, которые не двигаются при горизонтальной прокрутке.

IGridControl

Закрепляет подвал списка.

IList

При включенной группировке элементов опция задает прилипание заголовков групп при прокрутке списка.

IList

Прилипание шапки таблицы и заголовков групп при прокрутке таблицы или списка.

IList

Включает прилипание операций над записью к правому краю прокручиваемой области при горизонтальном скролле.

IGridControl

Позволяет включать/отключать прилипание выбранного элемента.

IList

Прилипание итогов при прокрутке таблицы.

IList

Индентификатор загрузчика данных.

IStoreId

Режим отображения списка.

IList

Название темы оформления. В зависимости от темы загружаются различные таблицы стилей и применяются различные стили к контролу.

isWasabyControl

Шаблон отображения группы в режиме "Плитка".

Высота элементов, отображаемых в виде плитки.

ITile

Шаблон отображения элемента в режиме "Плитка".

Режим отображения плитки с динамической/фиксированной шириной.

ITile

Режим отображения плитки при наведении курсора.

ITile

Минимальный размер плитки с статическим видом отображения.

ITile

Минимальная ширина элементов, отображаемых в виде плитки.

ITile

Название свойства на элементе, которое содержит минимальную ширину элемента, отображаемого в виде плитки.

ITile

Имя поля записи, в котором содержится ссылка для открытия в новой вкладке.

IList

Флаг, переключающий списочное представление в многоколоночный режим

Опция для использования плитки с небиблиотечными шаблонами записей

ITile

Режим отображения иерархического проводника.

Конфигурация виртуального скролла.

IVirtualScroll

Поля

protected

Текущие данные хлебных крошек

При горизонтальном скролле представление оборачивается в скроллконтейнер с возможностью

горизонтального скроллирования. Все зафиксированные элементы обернуты в Controls/scroll:StickyBlock,

работающий через position: sticky. Исходя из нативных особенностей работы position: sticky, такой блок

должен иметь ограниченную ширину. В противном случае фиксация не произойдет и блок будет скроллироваться.

protected

Текущая применяемая конфигурация колонок

protected

Текущая применяемая конфигурация заголовков колонок

protected

Флаг, идентифицирующий, что в данный момент идет переход назад

protected

Новая конфигурация колонок, которую мы задерживаем до выполнения асинхронной операции.

protected

Новая конфигурация заголовков колонок, которую мы задерживаем до выполнения асинхронной операции.

Флаг идентифицирует нужно или нет пересоздавать коллекцию для списка.

Прокидывается в TreeControl (BaseControl).

Позиция строки итогов

Шаблон строки итогов

Видимость строки итогов

  • hasdata - больше 1 записи в талице
protected

Текущее применяемое значение строки поиска

Определяет, нужно лы оборачивать представление в провайдер контекста скролл-контейнера.

Режим загрузки дочерних элементов при развороте узла

ITreeControlOptions

подмешивается в совместимости. нужно для совместимости с ws3.

Определяет значения опций для декорирования.

Control

Логический родитель. То есть тот, в шаблоне которого лежит данный экземпляр.

В идеале отказаться, но пока что есть использования.

Control

Название контрола.

Control

Опции, который были до рендера контрола, передаются как параметр в хуки

жизненного цикла _afterRender и _afterUpdate

Control
deprecated

Массив имен нетемизированных стилей, необходимых контролу.

Все стили будут скачаны при создании

Control
deprecated

Массив имен темизированных стилей, необходимых контролу.

Все стили будут скачаны при создании

Control

Нужно для переноса _children родителя из оберток над чистым реактом, чтобы работал вызов методов с инстанса контрола

Control
protected

Набор детей контрола, для которых задан атрибут name.

Control

Контекст с опциями readOnly и theme

Control
protected

Реальные опции контрола. Туда собираются значения из props и context.

ВАЖНО: значения могут не совпадать с props в некоторые моменты времени,

чтобы в хуках были правильные значения.

Control
protected

Шаблон контрола.

Control

Методы

protected

Хук жизненного цикла контрола. Вызывается сразу после установки контрола в DOM-окружение.

Control
protected

Хук жизненного цикла контрола.

Вызывается синхронно после того, как изменения были применены к DOM и до того, как браузер отрисовал кадр.

Control
protected

Асинхронный хук жизненного цикла контрола. Вызывается после обновления контрола.

Control
protected

Обработчик нажатия клавиши Backspace

protected

Хук жизненного цикла контрола. Вызывается непосредственно перед установкой контрола в DOM-окружение.

Control
protected

Хук жизненного цикла контрола. Вызывается перед обновлением контрола.

Control

Хук жизненного цикла контрола. Вызывается до удаления контрола.

Control
protected

Хук жизненного цикла контрола. Вызывается перед обновлением контрола.

Control

Синхронный хук жизненного цикла контрола. Вызывается сразу после установки контрола в DOM-окружение.

Control

Обрабатываем изменение хлебных крошек от внутреннего DataContainer.

Сейчас хлебные крошки используются:

  • для вычисления topRoot

  • для вычисления id записи, которая должна быть помечена при возврате

назад по хлебным крошкам.

protected

Определяет, должен ли контрол обновляться. Вызывается каждый раз перед обновлением контрола.

Control

Активирует контрол.

isWasabyControl

Запускает добавление по месту.

Использование метода в списке с режимом "только чтение" невозможно.

IEditableGrid

Запускает редактирование по месту.

Использование метода в списке с режимом "только чтение" невозможно.

IEditableGrid

Завершает редактирование/добавление по месту без сохранения введенных данных.

Использование метода в списке с режимом "только чтение" невозможно.

IEditableGrid

Завершает редактирование/добавление по месту с сохранением введенных данных.

Использование метода в списке с режимом "только чтение" невозможно.

IEditableGrid

Создаёт и монтирует контрол на элемент

Control

Старый способ наследоваться

Control

Возвращает рекордсет, на основании которого в данный момент строится список.

IList

Возвращает ключ родителя, в котором по-умолчанию следует начинать добавление по месту.

ITree

Загрузка стилей и тем контрола

Control

Для обратной совместимости

Control

Перемещает выбранную запись на одну позицию вниз. Перемещение происходит только в источнике.

IMovableList

Перемещает выбранную запись на одну позицию вверх. Перемещение происходит только в источнике.

IMovableList

Перемещает указанные записи в указанную позицию position, которая может принимать значения after/before/on. Перемещение происходит только в источнике.

IMovableList

Перемещает указанные элементы при помощи диалога MoveDialog, и возвращает результат moveItems().

IMovableList

Перезагружает данные из источника данных.

IReloadableList

Загружает модель из источника данных, объединяет изменения в текущих данных и отображает элемент.

IList

Перезагружает указанные записи списка. Для этого отправляет запрос query-методом

со значением текущего фильтра в поле [parentProperty] которого передаются идентификаторы

родительских узлов.

Удаляет элементы из источника данных по идентификаторам элементов коллекции.

IRemovableList

Удаляет с подтверждением элементы из источника данных по идентификаторам элементов коллекции.

IRemovableList

Для обратной совместимости

Control

Публичный метод для управления скроллом в списке.

IList

Проскролливает к колонке с заданным индексом.

IGridControl

Прокручивает список к указанному элементу.

IList

Устанавливает положение горизонтального скролла в крайнее левое положение, в начало таблицы.

IGridControl

Устанавливает положение горизонтального скролла в крайнее правое положение, в конец таблицы.

IGridControl

События

actionClick Происходит при клике по опции записи.

IItemActions

Происходит при активации контрола.

isWasabyControl

activeElementChanged Происходит при смене активного элемента в процессе скроллирования.

IList

Происходит после запуска редактирования/добавления по месту.

IEditableGrid

Происходит после завершения редактирования/добавления по месту.

IEditableGrid

afterItemCollapse Происходит после сворачивания узла.

ITree

afterItemExpand Происходит после развертывания узла.

ITree

arrowClick Происходит при клике на кнопку "Просмотр записи".

Происходит перед запуском редактирования/добавления по месту.

IEditableGrid

Происходит перед завершением редактирования/добавления по месту.

IEditableGrid

beforeItemCollapse Происходит перед сворачиванием узла.

ITree

beforeItemExpand Происходит перед развертыванием узла.

ITree

Происходит до изменения ключа маркера.

IMarkerList

Происходит до изменения списка выбранных элементов.

IPromisedSelectable

changeDragTarget Происходит перед изменением позиции, в которую будет перемещен элемент.

IDraggable

collapsedItemsChanged Происходит при изменении набора свернутых узлов.

ITree

Происходит при деактивации контрола.

isWasabyControl

disableVirtualNavigation Происходит при использовании виртуального скролла, когда список находится в такой позиции, что сверху или снизу списка нет скрытых (или доступных для загрузки) элементов.

IVirtualScroll

dragEnd Происходит при завершении перемещения элемента в списке.

IDraggable

dragEnter Происходит при перемещении элемента из другого контрола.

IDraggable

dragStart Происходит при начале перемещения элемента.

IDraggable

drawItems Происходит при отрисовке очередного набора данных.

IList

editArrowClick Происходит при клике на "шеврон" элемента.

IGridControl

enableVirtualNavigation Происходит при использовании виртуального скролла, когда список находится в такой позиции, что сверху и снизу списка есть скрытые (или доступные для загрузки) элементы.

IVirtualScroll

Происходит при изменении набора исключенных из выбора элементов списка.

IPromisedSelectable

filterChanged Происходит при изменении фильтра.

IFilterChanged

Происходит при сворачивании группы.

IGroupedGrid

Происходит при развертывании группы.

IGroupedGrid

hoveredCellChanged Происходит при наведении курсора мыши на ячейку таблицы.

IGridControl

hoveredItemChanged Происходит при наведении курсора мыши на элемент списка.

IList

itemActivate Происходит при активации элемента.

IList

itemClick Происходит при клике на элемент списка.

IClickableView
deprecated

itemCollapse Происходит перед сворачиванием узла.

ITree
deprecated

itemCollapsed Происходит после сворачивания узла.

ITree
deprecated

itemExpand Происходит перед развертыванием узла.

ITree
deprecated

itemExpanded Происходит после развертывания узла.

ITree

itemLongTap Происходит при долгом тапе на элементе списка на touch устройствах.

IList

itemMouseDown Происходит в момент нажатия на кнопку мыши над элементом списка.

IList

itemMouseEnter Происходит в момент, когда курсор оказывается над элементом списка.

IList

itemMouseLeave Происходит в момент, когда курсор уходит за пределы элемента списка.

IList

itemMouseMove Происходит в момент, когда курсор двигается по элементам списка.

IList

itemSwipe Происходит при свайпе на элементе списка.

IList

Происходит при выделении пользователем элемента списка.

IMarkerList

pagingArrowClick Происходит при клике по кнопкам перехода к первой и последней странице.

IList

rootChanged Происходит при изменении корня иерархии (например, при переходе пользователя по хлебным крошкам).

Происходит при изменении набора выбранных элементов списка.

IPromisedSelectable

selectedLimitChanged Происходит при изменении лимита при выборе записей пачками в ПМО.

IList

tagClick Происходит при клике на тег внутри ячейки таблицы.

IGridControl

tagHover Происходит при наведении курсора мыши на тег внутри ячейки таблицы.

IGridControl