Search
    Preparing search index...

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

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

    Пример отображения настройки в виде поля с подсветкой 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;
    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.observer
    export 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;
    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 Summary)

    Index

    Properties

    active: boolean

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

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

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

    moduleId: string

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

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

    system: boolean

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