Точка расширения позволяет реализовывать кастомные представления параметров
Используется в различных экранах настроек, но не используется в карточке записи.
Пример отображения настройки в виде поля с подсветкой SQL-синтаксиса:
interface Props { parameterValue: Universe.Platform.Parameters.IValuedParameter; parameterDescriptor: Universe.Platform.Parameters.IParameterDescriptor; isReadOnly: boolean;}class SqlField extends Universe.Vendor.React.Component<Props> { override render () { const SqlParameter = React.lazy(() => import('./SqlParameter')); return ( <React.Suspense fallback={''}> <SqlParameter {...this.props}/> </React.Suspense> ); }}export default { userExits: [ { moduleId: 'sqlParameterItem', type: 'ParameterItem', active: true, system: false, resolver: (parameterDescriptor) => { return parameterDescriptor.viewType.getValue() === Universe.Platform.Parameters.ParameterViewType.SQL; }, meta: {}, component: SqlField } ]} satisfies Universe.Platform.UserExit.ExternalModuleDefault; Копировать
interface Props { parameterValue: Universe.Platform.Parameters.IValuedParameter; parameterDescriptor: Universe.Platform.Parameters.IParameterDescriptor; isReadOnly: boolean;}class SqlField extends Universe.Vendor.React.Component<Props> { override render () { const SqlParameter = React.lazy(() => import('./SqlParameter')); return ( <React.Suspense fallback={''}> <SqlParameter {...this.props}/> </React.Suspense> ); }}export default { userExits: [ { moduleId: 'sqlParameterItem', type: 'ParameterItem', active: true, system: false, resolver: (parameterDescriptor) => { return parameterDescriptor.viewType.getValue() === Universe.Platform.Parameters.ParameterViewType.SQL; }, meta: {}, component: SqlField } ]} satisfies Universe.Platform.UserExit.ExternalModuleDefault;
import {Universe} from '@universe-ee/sdk';const {React, MobxReact} = Universe.Vendor;const {Uikit} = Universe.Platform;interface Props { isReadOnly: boolean; labelWidth?: number; parameterDescriptor: Universe.Platform.ParametersMeta.IParameterDescriptor; parameterValue: Universe.Platform.ParametersMeta.IValuedParameter; showValidationError?: boolean;}@MobxReact.observerexport class CustomParameterItem extends React.Component<Props> { onClick = () => { 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, MobxReact} = Universe.Vendor;const {Uikit} = Universe.Platform;interface Props { isReadOnly: boolean; labelWidth?: number; parameterDescriptor: Universe.Platform.ParametersMeta.IParameterDescriptor; parameterValue: Universe.Platform.ParametersMeta.IValuedParameter; showValidationError?: boolean;}@MobxReact.observerexport class CustomParameterItem extends React.Component<Props> { onClick = () => { 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 {CustomParameterItem} from './CustomParameterItem';export default { type: 'ParameterItem', moduleId: 'parameterItemCustomUE', active: true, system: false, resolver: (parameterDescriptor: Universe.Platform.ParametersMeta.IParameterDescriptor) => true, meta: {}, component: CustomParameterItem} satisfies Universe.Platform.UserExit.UserExitDeclaration; Копировать
import {Universe} from '@universe-ee/sdk';import {CustomParameterItem} from './CustomParameterItem';export default { type: 'ParameterItem', moduleId: 'parameterItemCustomUE', active: true, system: false, resolver: (parameterDescriptor: Universe.Platform.ParametersMeta.IParameterDescriptor) => true, meta: {}, component: CustomParameterItem} satisfies Universe.Platform.UserExit.UserExitDeclaration;
Является ли экземпляр точки расширения активным
Мета-информация точки расширения
Уникальный идентификатор экземпляра точки расширения
Функция указывает, следует ли применять данный экземпляр точки расширения
Является ли системным экземпляром
Точка расширения позволяет реализовывать кастомные представления параметров
Используется в различных экранах настроек, но не используется в карточке записи.
Example
Пример отображения настройки в виде поля с подсветкой SQL-синтаксиса:
Example
Пример: добавление пользовательского представления параметров
Подключение точки расширения: