Юниверс MDM SDK UI
v6.15.0

Интерфейс UEDataCardMenuItem

Точка расширения предназначена для добавления пунктов меню в карточку записи. Принимает AbstractCardStore в резолвере, так что определенные элементы могут быть добавлены/исключены с помощью реализации определенного класса хранилища

import {Universe} from '@universe-ee/sdk';

const {React} = Universe.Vendor;
const {Uikit, Router, Locale} = Universe.Platform;

type AbstractCardStore = Universe.Platform.Record.AbstractCardStore<Universe.Platform.Record.IRecordEntity>;

interface IProps {
onCloseMenu: () => void;
dataCardStore: AbstractCardStore;
}

Locale.i18n.addResourceBundle(Locale.Locales.Ru, {DdBtn: {text: 'Кнопка истории'}});
Locale.i18n.addResourceBundle(Locale.Locales.En, {DdBtn: {text: 'History btn'}});

export class CustomDropDownDataRecordButton extends React.Component<IProps> {
openHistoryPage = () => {
const dataCardStore = this.props.dataCardStore;
const etalonId = dataCardStore.etalonId;

if (etalonId) {
// TODO RouteKeys.RecordHistoryPage - отсутсвует, как стоит указывать роуты при необходимости
Router.routerStore.setRoute('RecordHistoryPage', {
namespace: dataCardStore.namespace,
entityName: dataCardStore.typeName,
etalonId: etalonId
});
}
}

override render () {
return (
<div>
<Uikit.DropDown.Item onClick={this.openHistoryPage}>
{Locale.i18n.t('DdBtn>text')}
</Uikit.DropDown.Item>
</div>
);
}
}

Подключение точки расширения:

import {Universe} from '@universe-ee/sdk';
import {CustomDropDownDataRecordButton} from './CustomDropDownDataRecordButton';

export default {
type: 'DataCardMenuItem',
moduleId: 'DataCardMenuItemUniqueID',
active: true,
system: false,
resolver: (dataCardStore: Universe.Platform.Record.AbstractCardStore<any>) => {
return dataCardStore.draftStore?.draftId === 0;
},
meta: {
menuGroupId: 'history'
},
component: CustomDropDownDataRecordButton
} satisfies Universe.Platform.UserExit.UserExitDeclaration;
interface UEDataCardMenuItem {
    active: boolean;
    component: ComponentType<
        DataCardMenuProps<IRecordEntity, AbstractCardStore<IRecordEntity>>,
    >;
    meta: UEDataCardMenuItemMeta;
    moduleId: string;
    resolver: UEDataCardMenuItemResolver;
    system: boolean;
}

Иерархия (Просмотр сводки)

Индекс

Свойства

active: boolean

Является ли экземпляр точки расширения активным

Мета-информация точки расширения

moduleId: string

Уникальный идентификатор экземпляра точки расширения

Функция указывает, следует ли применять данный экземпляр точки расширения

system: boolean

Является ли системным экземпляром