ConceptPortal-public/rsconcept/frontend/src/dialogs/DlgInlineSynthesis/TabSource.tsx

47 lines
1.4 KiB
TypeScript
Raw Normal View History

'use client';
import { useLibrary } from '@/backend/library/useLibrary';
2024-05-16 22:39:28 +03:00
import PickSchema from '@/components/select/PickSchema';
import TextInput from '@/components/ui/TextInput';
import { LibraryItemID, LibraryItemType } from '@/models/library';
2024-09-12 13:27:20 +03:00
import { IRSForm } from '@/models/rsform';
import { sortItemsForInlineSynthesis } from '@/models/rsformAPI';
interface TabSourceProps {
selected?: LibraryItemID;
setSelected: (newValue: LibraryItemID) => void;
2024-09-12 13:27:20 +03:00
receiver: IRSForm;
}
function TabSource({ selected, receiver, setSelected }: TabSourceProps) {
const { items: libraryItems } = useLibrary();
const selectedInfo = libraryItems.find(item => item.id === selected);
const sortedItems = sortItemsForInlineSynthesis(receiver, libraryItems);
return (
<div className='cc-fade-in flex flex-col'>
2024-09-15 13:21:25 +03:00
<PickSchema
id='dlg_schema_picker' //
2024-09-15 13:21:25 +03:00
items={sortedItems}
itemType={LibraryItemType.RSFORM}
rows={14}
value={selected}
onSelectValue={setSelected}
/>
<div className='flex items-center gap-6 '>
2024-03-20 15:03:53 +03:00
<span className='select-none'>Выбрана</span>
<TextInput
id='dlg_selected_schema_title'
disabled
noBorder
2024-09-21 20:04:07 +03:00
className='flex-grow'
placeholder='Схема не выбрана'
2024-03-20 15:03:53 +03:00
value={selectedInfo?.title ?? ''}
dense
/>
</div>
</div>
);
}
export default TabSource;