Создание плагина для наполнения контрола табличных данных
ЭУ Контрол табличных данных отображает данные в виде таблицы, наполняемой при помощи плагина. На данной странице описан способ создания плагина.
Название плагина указывается в конструкторе разметок, в свойствах элемента управления. При открытии разметки карточки в Web-клиенте из настроек ЭУ будет считано Название плагина. Затем отправляется запрос на сервер, который обнаруживает нужную реализацию интерфейса и возвращает модель для отображения таблицы.
-
Выполните наследование от интерфейса
IDataGridControlPlugin (DocsVision.Layout.WebClient.Services).Наименование плагина:string Name { get; }Метод формирования модели таблицы:TableModel GetTableData(SessionContext sessionContext, List<ParamModel> parameters); -
Затем зарегистрируйте тип в IoC контейнере:
public override void InitializeContainer(ContainerBuilder containerBuilder) { containerBuilder.RegisterType<TestTablePlugin>().As<IDataGridControlPlugin>().SingleInstance(); }
В случае, если это разметка карточки, то в массив параметров будет добавлен её идентификатор (CurrentCardId).
API для работы со строками табличных данных
Для работы с контролами табличных данных доступны метода и события, перечисленные ниже.
Список файлов (fileList)
- Метод toggleRowClass
-
Добавляет или удаляет CSS класс строки таблицы.
СинтаксисtoggleRowClass(fileItem: FileListItem, style: string) - Событие fileVersionExpanding?
-
Событие возникает при разворачивании списка версий.
Синтаксис@apiEvent fileVersionExpanding?: CancelableApiEvent<IExtraFileDeletingArgs>; - Событие fileNameClicking?
-
Событие возникает при клике на имя файла.
Синтаксис@apiEvent fileNameClicking?: CancelableApiEvent<IFileOpeningArgs>; - Событие fileMenuOpening?
-
Событие возникает при открытии меню файла.
Синтаксис@apiEvent fileMenuOpening?: CancelableApiEvent<IFileMenuOpeningArgs>;
Ссылки (links)
- Метод toggleRowClass
-
Добавляет или удаляет CSS класс строки таблицы.
СинтаксисtoggleRowClass(link: LinkItem, style: string) - Событие rowClick?
-
Событие возникает при клике на строку таблицы.
Синтаксис@apiEvent rowClick?: BasicApiEvent<ILinkEventArgs>; - Событие nameLinkClicking?
-
Событие возникает при клике на имя ссылки.
Синтаксис@apiEvent nameLinkClicking?: CancelableApiEvent<ILinkEventArgs>; - Событие linkMenuOpening?
-
Событие возникает при открытии меню ссылки.
Синтаксис@apiEvent linkMenuOpening?: CancelableApiEvent<ILinkEventArgs>; - Событие linkMenuOpened?
-
Событие возникает после открытия меню ссылки.
Синтаксис@apiEvent linkMenuOpened?: BasicApiEvent<ILinkEventArgs>;
Задания (tasks)
- Метод toggleRowClass
-
Добавляет или удаляет CSS класс строки таблицы.
СинтаксисtoggleRowClass(task: ITaskDataModel, style: string) - Событие rowClick?
-
Событие возникает при клике на строку таблицы.
Синтаксис@apiEvent rowClick?: BasicApiEvent<ITaskRowClickEventArgs>; - Событие nameTaskClicking?
-
Событие возникает при клике на имя задания.
Синтаксис@apiEvent nameTaskClicking?: CancelableApiEvent<ITaskRowClickEventArgs>;
Таблица исполнения (tasksTable)
- Метод toggleRowClass
-
Добавляет или удаляет CSS класс строки таблицы.
СинтаксисtoggleRowClass(row: ITasksTableRow, style: string) - Событие helpBoxShowing?
-
Событие возникает перед показом диалога с информацией о задании.
Синтаксис@apiEvent helpBoxShowing?: CancelableApiEvent<{ row: ITasksTableRow }>; - Событие taskLinkClicking?
-
Событие возникает при клике ссылку задания.
Синтаксис@apiEvent taskLinkClicking?: CancelableApiEvent<{ row: ITasksTableRow }>; - Событие toggleRowClicking?
-
Событие возникает при сворачивании или разворачивании строки таблицы.
Синтаксис@apiEvent toggleRowClicking?: CancelableApiEvent<{ row: ITasksTableRow }>; - Событие rowClick?
-
Событие возникает при клике на строку таблицы.
Синтаксис@apiEvent rowClick?: BasicApiEvent<{ row: ITasksTableRow }>;