import * as React from 'react'; import {AnnotationsSelect} from './AnnotationsSelect'; import {IKnowledgeBaseItem} from './interfaces'; import { ICrudManager, IPropsAnnotationInputComponent, ISuperdesk, } from 'superdesk-api'; import {getFields} from './GetFields'; interface IPropsConnected { conceptItems: ICrudManager; } export function getAnnotationInputWithKnowledgeBase(superdesk: ISuperdesk) { class AnnotationInputWithKnowledgeBaseComponent extends React.Component { componentDidMount() { const {generateFilterForServer} = superdesk.forms; const {nameField} = getFields(superdesk); this.props.conceptItems.read( 1, {field: 'name', direction: 'ascending'}, {name: generateFilterForServer(nameField.type, this.props.annotationText)}, ); } render() { if (this.props.conceptItems._items == null) { return null; // loading } return ( ); } } return superdesk.components.connectCrudManager( AnnotationInputWithKnowledgeBaseComponent, 'conceptItems', 'concept_items', ); }