R: Refactor tabs layout
This commit is contained in:
parent
7c89a04255
commit
aea9dececf
|
@ -39,10 +39,10 @@ export function SearchBar({
|
||||||
...restProps
|
...restProps
|
||||||
}: SearchBarProps) {
|
}: SearchBarProps) {
|
||||||
return (
|
return (
|
||||||
<div className={clsx('relative', className)} {...restProps}>
|
<div className={clsx('relative flex items-center', className)} {...restProps}>
|
||||||
{!noIcon ? (
|
{!noIcon ? (
|
||||||
<IconSearch
|
<IconSearch
|
||||||
className='absolute -top-0.5 left-3 translate-y-1/2 pointer-events-none clr-text-controls'
|
className='absolute -top-0.5 left-2 translate-y-1/2 pointer-events-none clr-text-controls'
|
||||||
size='1.25rem'
|
size='1.25rem'
|
||||||
/>
|
/>
|
||||||
) : null}
|
) : null}
|
||||||
|
@ -52,7 +52,7 @@ export function SearchBar({
|
||||||
transparent
|
transparent
|
||||||
placeholder={placeholder}
|
placeholder={placeholder}
|
||||||
type='search'
|
type='search'
|
||||||
className={clsx('bg-transparent', !noIcon && 'pl-10')}
|
className={clsx('bg-transparent', !noIcon && 'pl-8')}
|
||||||
noBorder={noBorder}
|
noBorder={noBorder}
|
||||||
value={query}
|
value={query}
|
||||||
onChange={event => onChangeQuery?.(event.target.value)}
|
onChange={event => onChangeQuery?.(event.target.value)}
|
||||||
|
|
|
@ -3,7 +3,6 @@
|
||||||
import { useState } from 'react';
|
import { useState } from 'react';
|
||||||
import { FormProvider, useForm, useWatch } from 'react-hook-form';
|
import { FormProvider, useForm, useWatch } from 'react-hook-form';
|
||||||
import { zodResolver } from '@hookform/resolvers/zod';
|
import { zodResolver } from '@hookform/resolvers/zod';
|
||||||
import clsx from 'clsx';
|
|
||||||
|
|
||||||
import { HelpTopic } from '@/features/help';
|
import { HelpTopic } from '@/features/help';
|
||||||
|
|
||||||
|
@ -102,13 +101,8 @@ export function DlgCreateOperation() {
|
||||||
className='w-160 px-6 h-128'
|
className='w-160 px-6 h-128'
|
||||||
helpTopic={HelpTopic.CC_OSS}
|
helpTopic={HelpTopic.CC_OSS}
|
||||||
>
|
>
|
||||||
<Tabs
|
<Tabs selectedTabClassName='clr-selected' className='grid' selectedIndex={activeTab} onSelect={handleSelectTab}>
|
||||||
selectedTabClassName='clr-selected'
|
<TabList className='z-pop mx-auto -mb-5 flex border divide-x rounded-none bg-prim-200'>
|
||||||
className='flex flex-col pt-2'
|
|
||||||
selectedIndex={activeTab}
|
|
||||||
onSelect={handleSelectTab}
|
|
||||||
>
|
|
||||||
<TabList className={clsx('self-center absolute top-10', 'flex', 'border divide-x rounded-none', 'bg-prim-200')}>
|
|
||||||
<TabLabel
|
<TabLabel
|
||||||
title={describeOperationType(OperationType.INPUT)}
|
title={describeOperationType(OperationType.INPUT)}
|
||||||
label={labelOperationType(OperationType.INPUT)}
|
label={labelOperationType(OperationType.INPUT)}
|
||||||
|
|
|
@ -3,7 +3,6 @@
|
||||||
import { Suspense, useState } from 'react';
|
import { Suspense, useState } from 'react';
|
||||||
import { FormProvider, useForm } from 'react-hook-form';
|
import { FormProvider, useForm } from 'react-hook-form';
|
||||||
import { zodResolver } from '@hookform/resolvers/zod';
|
import { zodResolver } from '@hookform/resolvers/zod';
|
||||||
import clsx from 'clsx';
|
|
||||||
|
|
||||||
import { HelpTopic } from '@/features/help';
|
import { HelpTopic } from '@/features/help';
|
||||||
|
|
||||||
|
@ -75,13 +74,8 @@ export function DlgEditOperation() {
|
||||||
helpTopic={HelpTopic.UI_SUBSTITUTIONS}
|
helpTopic={HelpTopic.UI_SUBSTITUTIONS}
|
||||||
hideHelpWhen={() => activeTab !== TabID.SUBSTITUTION}
|
hideHelpWhen={() => activeTab !== TabID.SUBSTITUTION}
|
||||||
>
|
>
|
||||||
<Tabs
|
<Tabs selectedTabClassName='clr-selected' className='grid' selectedIndex={activeTab} onSelect={setActiveTab}>
|
||||||
selectedTabClassName='clr-selected'
|
<TabList className='mb-3 mx-auto w-fit flex border divide-x rounded-none bg-prim-200'>
|
||||||
className='flex flex-col'
|
|
||||||
selectedIndex={activeTab}
|
|
||||||
onSelect={setActiveTab}
|
|
||||||
>
|
|
||||||
<TabList className={clsx('mb-3 self-center', 'flex', 'border divide-x rounded-none', 'bg-prim-200')}>
|
|
||||||
<TabLabel title='Текстовые поля' label='Карточка' className='w-32' />
|
<TabLabel title='Текстовые поля' label='Карточка' className='w-32' />
|
||||||
{target.operation_type === OperationType.SYNTHESIS ? (
|
{target.operation_type === OperationType.SYNTHESIS ? (
|
||||||
<TabLabel title='Выбор аргументов операции' label='Аргументы' className='w-32' />
|
<TabLabel title='Выбор аргументов операции' label='Аргументы' className='w-32' />
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
'use client';
|
'use client';
|
||||||
|
|
||||||
import { useLayoutEffect } from 'react';
|
import { useLayoutEffect } from 'react';
|
||||||
import clsx from 'clsx';
|
|
||||||
|
|
||||||
import { useConceptNavigation } from '@/app/Navigation/NavigationContext';
|
import { useConceptNavigation } from '@/app/Navigation/NavigationContext';
|
||||||
|
|
||||||
|
@ -62,15 +61,7 @@ export function OssTabs({ activeTab }: OssTabsProps) {
|
||||||
selectedTabClassName='clr-selected'
|
selectedTabClassName='clr-selected'
|
||||||
className='relative flex flex-col mx-auto min-w-fit items-center'
|
className='relative flex flex-col mx-auto min-w-fit items-center'
|
||||||
>
|
>
|
||||||
<TabList
|
<TabList className='absolute z-sticky flex border-b-2 border-x-2 divide-x-2 bg-prim-200'>
|
||||||
className={clsx(
|
|
||||||
'absolute z-sticky',
|
|
||||||
'top-0 right-1/2 w-fit translate-x-1/2',
|
|
||||||
'flex items-stretch',
|
|
||||||
'border-b-2 border-x-2 divide-x-2',
|
|
||||||
'bg-prim-200'
|
|
||||||
)}
|
|
||||||
>
|
|
||||||
<MenuOssTabs />
|
<MenuOssTabs />
|
||||||
|
|
||||||
<TabLabel label='Карточка' title={schema.title ?? ''} />
|
<TabLabel label='Карточка' title={schema.title ?? ''} />
|
||||||
|
|
|
@ -69,13 +69,8 @@ export function DlgCstTemplate() {
|
||||||
onSubmit={event => void methods.handleSubmit(onSubmit)(event)}
|
onSubmit={event => void methods.handleSubmit(onSubmit)(event)}
|
||||||
helpTopic={HelpTopic.RSL_TEMPLATES}
|
helpTopic={HelpTopic.RSL_TEMPLATES}
|
||||||
>
|
>
|
||||||
<Tabs
|
<Tabs selectedTabClassName='clr-selected' className='grid' selectedIndex={activeTab} onSelect={setActiveTab}>
|
||||||
selectedTabClassName='clr-selected'
|
<TabList className='mb-3 mx-auto flex border divide-x rounded-none bg-prim-200'>
|
||||||
className='flex flex-col'
|
|
||||||
selectedIndex={activeTab}
|
|
||||||
onSelect={setActiveTab}
|
|
||||||
>
|
|
||||||
<TabList className='mb-4 self-center flex border divide-x rounded-none bg-prim-200'>
|
|
||||||
<TabLabel label='Шаблон' title='Выбор шаблона выражения' className='w-32' />
|
<TabLabel label='Шаблон' title='Выбор шаблона выражения' className='w-32' />
|
||||||
<TabLabel label='Аргументы' title='Подстановка аргументов шаблона' className='w-32' />
|
<TabLabel label='Аргументы' title='Подстановка аргументов шаблона' className='w-32' />
|
||||||
<TabLabel label='Конституента' title='Редактирование конституенты' className='w-32' />
|
<TabLabel label='Конституента' title='Редактирование конституенты' className='w-32' />
|
||||||
|
|
|
@ -104,13 +104,8 @@ export function DlgEditReference() {
|
||||||
className='w-160 px-6 h-128'
|
className='w-160 px-6 h-128'
|
||||||
helpTopic={HelpTopic.TERM_CONTROL}
|
helpTopic={HelpTopic.TERM_CONTROL}
|
||||||
>
|
>
|
||||||
<Tabs
|
<Tabs selectedTabClassName='clr-selected' className='grid' selectedIndex={activeTab} onSelect={handleChangeTab}>
|
||||||
selectedTabClassName='clr-selected'
|
<TabList className='mb-3 mx-auto flex border divide-x rounded-none bg-prim-200'>
|
||||||
className='flex flex-col'
|
|
||||||
selectedIndex={activeTab}
|
|
||||||
onSelect={handleChangeTab}
|
|
||||||
>
|
|
||||||
<TabList className='mb-3 self-center flex border divide-x rounded-none bg-prim-200'>
|
|
||||||
<TabLabel title='Отсылка на термин в заданной словоформе' label={labelReferenceType(ReferenceType.ENTITY)} />
|
<TabLabel title='Отсылка на термин в заданной словоформе' label={labelReferenceType(ReferenceType.ENTITY)} />
|
||||||
<TabLabel
|
<TabLabel
|
||||||
title='Установление синтаксической связи с отсылкой на термин'
|
title='Установление синтаксической связи с отсылкой на термин'
|
||||||
|
|
|
@ -57,13 +57,8 @@ export function DlgInlineSynthesis() {
|
||||||
canSubmit={methods.formState.isValid && sourceID !== null}
|
canSubmit={methods.formState.isValid && sourceID !== null}
|
||||||
onSubmit={event => void methods.handleSubmit(onSubmit)(event)}
|
onSubmit={event => void methods.handleSubmit(onSubmit)(event)}
|
||||||
>
|
>
|
||||||
<Tabs
|
<Tabs selectedTabClassName='clr-selected' className='grid' selectedIndex={activeTab} onSelect={setActiveTab}>
|
||||||
selectedTabClassName='clr-selected'
|
<TabList className='mb-3 mx-auto flex border divide-x rounded-none bg-prim-200'>
|
||||||
className='flex flex-col'
|
|
||||||
selectedIndex={activeTab}
|
|
||||||
onSelect={setActiveTab}
|
|
||||||
>
|
|
||||||
<TabList className='mb-3 self-center flex border divide-x rounded-none bg-prim-200'>
|
|
||||||
<TabLabel
|
<TabLabel
|
||||||
label='Схема' //
|
label='Схема' //
|
||||||
title='Источник конституент'
|
title='Источник конституент'
|
||||||
|
|
|
@ -34,6 +34,7 @@ export function TabConstituents() {
|
||||||
rows={13}
|
rows={13}
|
||||||
value={field.value}
|
value={field.value}
|
||||||
onChange={handleSelectItems}
|
onChange={handleSelectItems}
|
||||||
|
className='w-144'
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
/>
|
/>
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
'use client';
|
'use client';
|
||||||
|
|
||||||
import { useLayoutEffect } from 'react';
|
import { useLayoutEffect } from 'react';
|
||||||
import clsx from 'clsx';
|
|
||||||
|
|
||||||
import { useConceptNavigation } from '@/app/Navigation/NavigationContext';
|
import { useConceptNavigation } from '@/app/Navigation/NavigationContext';
|
||||||
|
|
||||||
|
@ -78,15 +77,7 @@ export function RSTabs({ activeID, activeTab }: RSTabsProps) {
|
||||||
selectedTabClassName='clr-selected'
|
selectedTabClassName='clr-selected'
|
||||||
className='relative flex flex-col min-w-fit items-center'
|
className='relative flex flex-col min-w-fit items-center'
|
||||||
>
|
>
|
||||||
<TabList
|
<TabList className='absolute z-sticky flex border-b-2 border-x-2 divide-x-2 bg-prim-200'>
|
||||||
className={clsx(
|
|
||||||
'absolute z-sticky',
|
|
||||||
'mx-auto w-fit top-0 right-1/2 translate-x-1/2',
|
|
||||||
'flex items-stretch',
|
|
||||||
'border-b-2 border-x-2 divide-x-2',
|
|
||||||
'bg-prim-200'
|
|
||||||
)}
|
|
||||||
>
|
|
||||||
<MenuRSTabs />
|
<MenuRSTabs />
|
||||||
|
|
||||||
<TabLabel
|
<TabLabel
|
||||||
|
|
Loading…
Reference in New Issue
Block a user