Управление графом связей¶
Точка расширения типа GraphExportItem позволяет встраивать в параметры графа дополнительную кнопку "Экспорт графа" (Рисунок 1).
Рисунок 1 - Дополнительная кнопка "Экспорт графа"
Объявление типа UEGraphExportItem:
type Resolver = (store: DlStructureStore) => boolean;
type Meta = {
displayName: string;
onSelect: (store: DlStructureStore) => void;
};
export type UEGraphExportItem = UeModuleBase<Resolver, Meta>;
Пример: Добавление пункта 'PDF' в меню экспорт графа
function exportToPdf (store: DlStructureStore) {
if (store.application) {
store.application.getUiHandler().reset();
}
store.setIsLoading(true);
FileExportUtils.toPdf(store.idPrefix + DlStructureStore.GraphAreaClass, generateFileName(store))
.then((pfd: jsPDF) => {
store.setIsLoading(false);
});
}
export const graphExportItemsUE: UniverseUE.IUeMeta['GraphExportItem'] =
{
moduleId: 'graphExportPdfItem',
active: true,
system: false,
resolver: (store) => true,
meta: {
displayName: 'PDF',
onSelect: (store: DlStructureStore) => exportToPdf(store)
}
};
ueModuleManager.addModule('GraphExportItem', graphExportItemsUE);