Создание плагина для наполнения контрола табличных данных

ЭУ Контрол табличных данных отображает данные в виде таблицы, наполняемой при помощи плагина. На данной странице описан способ создания плагина.

Название плагина указывается в конструкторе разметок, в свойствах элемента управления. При открытии разметки карточки в Web-клиенте из настроек ЭУ будет считано Название плагина. Затем отправляется запрос на сервер, который обнаруживает нужную реализацию интерфейса и возвращает модель для отображения таблицы.

Чтобы реализовать собственный плагин:
  1. Выполните наследование от интерфейса IDataGridControlPlugin (DocsVision.Layout.WebClient.Services).

    Наименование плагина:
    string Name { get; }
    Метод формирования модели таблицы:
    TableModel GetTableData(SessionContext sessionContext, List<ParamModel> parameters);
  2. Затем зарегистрируйте тип в 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>;
Метод 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 }>;