В данном репозитории приведен пример расширения Web-клиента, демонстрирующий работу с компонентами Composition и TableComposition из docsvision.web. В частности, приведены примеры:
- Отображения простого тега button при помощи компонента Composition и плагинов, демонстрирующий работу плагинов (папка SimpleComposition)
- Отображения статических и динамически загружаемых данных данных при помощи TableComposition (SampleTable)
- Расширения TableComposition при помощи плагинов (DemoCellContentPlugins, DemoRowDecoratorPlugins, OrderingPlugins, DemoCellWrapperPlugins)
- Интеграции TableComposition в страницу карточки при помощи выделения скрол-контейнера вне самой таблицы (TableScrollBlock)
- Добавление плагинов в таблицу карточек папки в Web-клиенте (SampleGridPluginFactory)
Для сборки необходимо иметь NodeJS v14.17.5+. Порядок сборки и установки:
- Открыть консоль в папке TableWebExtension
- Выполнить
npm run build
- Скопировать папку Dist/Site/Content/Modules/TableWebExtension в папку Site/Content/Modules в установке Web-клиента
- Скопировать TableControlDescription.xml в папку Plugins в установке в Web-клиента
- Добавить на разметку контрол Simple composition
- Добавить на разметку контрол Sample table с опцией UseOwnScroll - true, UseStaticData - true
- Добавить на разметку контрол Sample table с опцией UseOwnScroll - true, UseStaticData - false, KnownModelSize = true
- Добавить на разметку контрол Sample table с опцией UseOwnScroll - true, UseStaticData - false, KnownModelSize = false
- Добавить на разметку контрол Table scroll block, добавить в него произвольное содержимое
- Добавить внутрь Table scroll block контрол Sample table с опцией UseOwnScroll - false.
- Убедиться, что между Table scroll block и Sample table нет промежуточных родителей с position: relative/absolute/fixed/sticky, и overflow: auto/scroll
- Убедиться, что родительский элемент Table scroll block ограничен по высоте
Открыть папку Входящие (5bf0fb94-23fa-4212-80c3-c598e9859901) в Web-клиенте, выставить настройку переноса строк "Переносятся"