Создание плагина для наполнения контрола табличных данных
ЭУ Контрол табличных данных отображает данные в виде таблицы, наполняемой при помощи плагина. На данной странице описан способ создания плагина.
Название плагина
указывается в конструкторе разметок, в свойствах элемента управления. При открытии разметки карточки в 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 }>;