Точка расширения предназначена для кастомного отображения атрибута в карточке записи
import {Universe} from '@universe-ee/sdk';const {React} = Universe.Vendor;const {Uikit, Router} = Universe.Platform;type AbstractCardStore = Universe.Platform.Record.AbstractCardStore<Universe.Platform.Record.IRecordEntity>;interface Props { attributeStore: Universe.Platform.Record.SimpleAttributeStore | Universe.Platform.Record.ArrayAttributeStore; dataEntityStore: Universe.Platform.Record.AbstractRecordEntityStore; metaEntityStore: Universe.Platform.Meta.UPathMetaStore<Universe.Platform.Meta.IMetaModel>}export class CustomAttributeOnDataCard extends React.Component<Props> { onClick = () => { Router.routerStore.setRoute('EnumerationPage'); console.log('UE_BTN_WORK!!!') }; override render() { return ( <span> <Uikit.Button intent={Uikit.INTENT.DANGER} onClick={this.onClick}> Go to enumerations! </Uikit.Button> </span> ); }} Копировать
import {Universe} from '@universe-ee/sdk';const {React} = Universe.Vendor;const {Uikit, Router} = Universe.Platform;type AbstractCardStore = Universe.Platform.Record.AbstractCardStore<Universe.Platform.Record.IRecordEntity>;interface Props { attributeStore: Universe.Platform.Record.SimpleAttributeStore | Universe.Platform.Record.ArrayAttributeStore; dataEntityStore: Universe.Platform.Record.AbstractRecordEntityStore; metaEntityStore: Universe.Platform.Meta.UPathMetaStore<Universe.Platform.Meta.IMetaModel>}export class CustomAttributeOnDataCard extends React.Component<Props> { onClick = () => { Router.routerStore.setRoute('EnumerationPage'); console.log('UE_BTN_WORK!!!') }; override render() { return ( <span> <Uikit.Button intent={Uikit.INTENT.DANGER} onClick={this.onClick}> Go to enumerations! </Uikit.Button> </span> ); }}
Подключение точки расширения:
import {Universe} from '@universe-ee/sdk';import {CustomAttributeOnDataCard} from './CustomAttributeOnDataCard';export default { type: 'RenderAttributeOnDataCard', moduleId: 'RenderAttributeOnDataCardCustom', active: true, system: false, component: CustomAttributeOnDataCard, resolver: (attribute: Universe.Platform.Meta.IMetaAbstractAttribute, model: Universe.Platform.Model.AbstractModel) => { return Universe.Platform.Meta.MetaTypeGuards.isAbstractSimpleAttribute(attribute) && attribute.typeCategory === Universe.Platform.Meta.AttributeTypeCategory.simpleDataType && attribute.simpleDataType.getValue() === Universe.Platform.Meta.SIMPLE_DATA_TYPE.STRING; }, meta: { name: 'default', displayName: () => 'RenderAttributeOnDataCardCustom', additionalProps: {type: 'string'} }} satisfies Universe.Platform.UserExit.UserExitDeclaration; Копировать
import {Universe} from '@universe-ee/sdk';import {CustomAttributeOnDataCard} from './CustomAttributeOnDataCard';export default { type: 'RenderAttributeOnDataCard', moduleId: 'RenderAttributeOnDataCardCustom', active: true, system: false, component: CustomAttributeOnDataCard, resolver: (attribute: Universe.Platform.Meta.IMetaAbstractAttribute, model: Universe.Platform.Model.AbstractModel) => { return Universe.Platform.Meta.MetaTypeGuards.isAbstractSimpleAttribute(attribute) && attribute.typeCategory === Universe.Platform.Meta.AttributeTypeCategory.simpleDataType && attribute.simpleDataType.getValue() === Universe.Platform.Meta.SIMPLE_DATA_TYPE.STRING; }, meta: { name: 'default', displayName: () => 'RenderAttributeOnDataCardCustom', additionalProps: {type: 'string'} }} satisfies Universe.Platform.UserExit.UserExitDeclaration;
Является ли экземпляр точки расширения активным
Мета-информация точки расширения
Уникальный идентификатор экземпляра точки расширения
Функция указывает, следует ли применять данный экземпляр точки расширения
Является ли системным экземпляром
Точка расширения предназначена для кастомного отображения атрибута в карточке записи
Example
Пример: отображение ссылки на страницу перечислений в качестве значений атрибутов на карточке записи
Подключение точки расширения: