// External imports import * as React from "react" import { advancedDataConstructor, Lookup, cryptoHelper } from "fawkes-server/build/support" // Internal imports import * as ce from "../../../../helpers/componentEnhancer" import Icon from "../../icon" import * as AdvancedRecordListActions from "../../../../actions/advancedRecordList" import * as AdvancedRecordDetailsActions from "../../../../actions/advancedRecordDetails" import * as stl from "../../../../store/types" import { AdvancedRecordDetailsReducerState } from "../../../../store/reducers/advancedRecordDetails" import { findAdvancedRecord } from "../../../../helpers/stateTools" import Button from "../../button" export interface ParentProps { changeField: (newValue: CompatibleData) => void value: CompatibleData label?: string infoIcon?: string shouldShowGoToLookupRecordButton?: boolean isRequired?: boolean } interface StateProps { advancedRecordList: stl.AdvancedRecordList advancedRecordDetails: AdvancedRecordDetailsReducerState advancedRecordDetailsFiltered: Array } interface DispatchProps { loadOptionList: () => void loadOptionDetails: (recordIds) => void } interface LocalState {} export type CompatibleData = Lookup class AdvancedFormLookup extends React.Component< ParentProps & StateProps & DispatchProps & ce.EnhancedPropsPrivate, LocalState > { componentDidMount() { this.props.loadOptionList() } controlClasses() { const classes = ["control"] if (this.props.infoIcon) classes.push("has-icons-left") return classes.join(" ") } infoIcon() { if (!this.props.infoIcon) return null return ( ) } goToLookupRecordButton() { if (this.props.shouldShowGoToLookupRecordButton) return (