Точка расширения предназначена для добавления критерия на страницу поиска, для формирования которого нужна предварительно асинхронная операция
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';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; Копировать
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;
Является ли экземпляр точки расширения активным
Мета-информация точки расширения
Уникальный идентификатор экземпляра точки расширения
Функция указывает, следует ли применять данный экземпляр точки расширения
Является ли системным экземпляром
Точка расширения предназначена для добавления критерия на страницу поиска, для формирования которого нужна предварительно асинхронная операция
Example
Пример: добавление асинхронного критерия на страницу поиска
Подключение точки расширения: