'use client'; import { Controller, useFormContext, useWatch } from 'react-hook-form'; import { MiniButton } from '@/components/Control'; import { IconReset } from '@/components/Icons'; import { Checkbox, Label, TextArea, TextInput } from '@/components/Input'; import { ILibraryItem, LibraryItemType, PickSchema, useLibrary } from '@/features/library'; import { useDialogsStore } from '@/stores/dialogs'; import { IOperationCreateDTO } from '../../backend/api'; import { sortItemsForOSS } from '../../models/ossAPI'; import { DlgCreateOperationProps } from './DlgCreateOperation'; function TabInputOperation() { const { oss } = useDialogsStore(state => state.props as DlgCreateOperationProps); const { items: libraryItems } = useLibrary(); const sortedItems = sortItemsForOSS(oss, libraryItems); const { register, control, setValue, formState: { errors } } = useFormContext(); const createSchema = useWatch({ control, name: 'create_schema' }); function baseFilter(item: ILibraryItem) { return !oss.schemas.includes(item.id); } function handleChangeCreateSchema(value: boolean) { if (value) { setValue('item_data.result', null); } setValue('create_schema', value); } function handleSetInput(inputID: number) { const schema = libraryItems.find(item => item.id === inputID); if (!schema) { return; } setValue('item_data.result', inputID); setValue('create_schema', false); setValue('item_data.alias', schema.alias); setValue('item_data.title', schema.title); setValue('item_data.comment', schema.comment); } return (