История записи¶
Отображение кастомного rowAction в истории записи¶
Точка расширения UEHistoryTableRowAction предназначена для отображения кастомного rowAction
в таблице истории записи.
Описание UEHistoryTableRowAction:
type Resolver = (rowActionProps: RowActionsProps<AbstractVistory>) => boolean;
type IProps = {
rowActionProps: RowActionsProps<AbstractVistory>;
namespaceId: NamespaceId;
entityName: string;
etalonId: string;
}
export type UEHistoryTableRowAction = UeModuleBase<Resolver, {}> & {
component: ComponentType<IProps>;
}
Пример реализации:
ueModuleManager.addModule('HistoryTableRowAction', {
moduleId: 'consolidationHistoryRowAction',
active: true,
system: false,
component: goToConsolidationHistoryAction,
meta: {},
resolver: (rowActionProps: RowActionsProps<AbstractVistory>) => {
const vistory = rowActionProps.rowData;
if (VistoryTypeGuards.isTransitionVistory(vistory) && VistoryTypeGuards.isMergeTransitionColumns(vistory.columns)) {
return true;
}
return false;
}
});
Доп. опции таблицы сравнения ревизий записи¶
Точка расширения HistoryCompareExtension позволяет встраивать в таблицу сравнения ревизий актива дополнительные опции для сравнения.
Ниже приведен пример добавления сравнения тегов, владельцев и бизнес-ролей (каждый в своем модуле) через такую точку расширения (Рисунок 1).
Рисунок 1 - Сравнение ревизий актива
Объявление типа UEGHistoryCompareExtension:
export type CompareExtensionCellProps = {
props: CompareTableCellProps;
historyStore: AssetHistoryStore;
extensionStore: AbstractCompareExtensionStore;
compareItem: ICompareItem<Asset>;
value: string | undefined;
hasDiff: boolean;
};
type Resolver = (store: AssetHistoryStore) => boolean;
export type UEHistoryCompareExtension = UeModuleBase<Resolver, {component: ComponentType<CompareExtensionCellProps> | undefined}> & {
CompareExtensionStore: ClassCtor<AbstractCompareExtensionStore>;
}
Пример: добавление сравнения по бизнес-ролям.
export const brHistoryCompareExtension: UniverseUE.IUeMeta['HistoryCompareExtension'] = {
moduleId: 'brHistoryCompareExtension',
active: true,
system: false,
meta: {
component: BRCompareCellRenderer
},
resolver: (store) => true,
CompareExtensionStore: BRCompareExtensionStore
};
ueModuleManager.addModule('HistoryCompareExtension', brHistoryCompareExtension);
В точку расширения передается стор BRCompareExtensionStore
для управления данными и компонент BRCompareCellRenderer
для отрисовки ячейки таблицы сравнения.
Компонент принимает параметры CompareExtensionCellProps
. Стор должен быть унаследован от AbstractCompareExtensionStore
.