Search
    Preparing search index...

    Точка расширения предназначена для добавления критерия на страницу поиска, для формирования которого нужна предварительно асинхронная операция

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

    const {Tree} = Universe.Platform;

    interface Props {
    metaRecord: Universe.Platform.Meta.AbstractEntity;
    searchPanelStore: Universe.Platform.Search.AbstractSearchPanelStore;
    searchTerms: Universe.Platform.Search.AbstractSearchTerm[]; // list of already selected SearchTerms
    routerStore: Universe.Platform.Router.RouterStoreType;
    }

    class TestSearchTerm extends Universe.Platform.Search.AbstractSearchTerm {
    constructor(data: Universe.Platform.Search.IAbstractSearchTerm) {
    super(data);
    }
    }

    export function getCriteriaNodesPromise (props: Props): Promise<
    Array<
    Universe.Platform.Tree.DropDownTreeNode<Universe.Platform.Search.AbstractSearchTerm>
    >
    > {
    return new Promise((resolve, reject) => {
    resolve([
    {
    key: '$__UEtest_criteria',
    displayName: 'UEtest',
    view: Tree.DROPDOWN_NODE_VIEW.PLAIN,
    children: [
    {
    key: '$__UEchild_criteria',
    displayName: 'UE_child',
    view: Tree.DROPDOWN_NODE_VIEW.SIMPLE,
    value: new TestSearchTerm({
    key: '$__UEchild_criteria_abstract_Term',
    termGroup: 'system'
    }),
    onSelect: (item: Universe.Platform.Search.AbstractSearchTerm) => {
    console.log(props, 'props')
    props.searchPanelStore.addTerm(item, 'org.unidata.mdm.rest.v2.data');
    },
    children: []
    }
    ]
    }
    ])
    })
    }

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

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

    export default {
    type: 'PromiseCriterion',
    moduleId: 'PromiseCriterion.testUE',
    active: true,
    system: false,
    resolver: () => true,
    meta: {
    searchGroupType: 'classify'
    },
    fn: getCriteriaNodesPromise
    } satisfies Universe.Platform.UserExit.UserExitDeclaration;
    interface UEPromiseCriterion {
        active: boolean;
        fn: (
            props: PromiseCriterionProps,
        ) => Promise<DropDownTreeNode<AbstractSearchTerm>[]>;
        meta: PromiseCriterionMeta;
        moduleId: string;
        resolver: AbstractUserExitResolver;
        system: boolean;
    }

    Hierarchy (View Summary)

    Index

    Properties

    active: boolean

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

    fn: (
        props: PromiseCriterionProps,
    ) => Promise<DropDownTreeNode<AbstractSearchTerm>[]>

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

    moduleId: string

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

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

    system: boolean

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