Точка расширения позволяет реализовывать кастомные представления параметров

Используется в различных экранах настроек, но не используется в карточке записи.

Пример отображения настройки в виде поля с подсветкой 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 UEParameterItem {
    active: boolean;
    component: ComponentType<{
        isReadOnly: boolean;
        labelWidth?: number;
        parameterDescriptor: IParameterDescriptor;
        parameterValue: IValuedParameter;
        showValidationError?: boolean;
    }>;
    meta: {};
    moduleId: string;
    resolver: UEParameterItemResolver;
    system: boolean;
}

Hierarchy (view full)

Properties

active: boolean

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

component: ComponentType<{
    isReadOnly: boolean;
    labelWidth?: number;
    parameterDescriptor: IParameterDescriptor;
    parameterValue: IValuedParameter;
    showValidationError?: boolean;
}>
meta: {}

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

moduleId: string

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

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

system: boolean

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