diff --git a/rsconcept/frontend/src/app/navigation/toggle-navigation.tsx b/rsconcept/frontend/src/app/navigation/toggle-navigation.tsx index c5c470fb..47c7bb91 100644 --- a/rsconcept/frontend/src/app/navigation/toggle-navigation.tsx +++ b/rsconcept/frontend/src/app/navigation/toggle-navigation.tsx @@ -23,6 +23,7 @@ export function ToggleNavigation() { onClick={toggleNoNavigation} data-tooltip-id={globalIDs.tooltip} data-tooltip-content={noNavigationAnimation ? 'Показать навигацию' : 'Скрыть навигацию'} + aria-label={noNavigationAnimation ? 'Показать навигацию' : 'Скрыть навигацию'} > {!noNavigationAnimation ? : null} {noNavigationAnimation ? : null} @@ -35,6 +36,7 @@ export function ToggleNavigation() { onClick={toggleDarkMode} data-tooltip-id={globalIDs.tooltip} data-tooltip-content={darkMode ? 'Тема: Темная' : 'Тема: Светлая'} + aria-label={darkMode ? 'Тема: Темная' : 'Тема: Светлая'} > {darkMode ? : null} {!darkMode ? : null} diff --git a/rsconcept/frontend/src/app/navigation/user-dropdown.tsx b/rsconcept/frontend/src/app/navigation/user-dropdown.tsx index 2375ac2a..c9fc36c2 100644 --- a/rsconcept/frontend/src/app/navigation/user-dropdown.tsx +++ b/rsconcept/frontend/src/app/navigation/user-dropdown.tsx @@ -85,27 +85,28 @@ export function UserDropdown({ isOpen, hideDropdown }: UserDropdownProps) { /> : } title='Переключение темы оформления' + icon={darkMode ? : } onClick={handleToggleDarkMode} /> : } title='Отображение иконок подсказок' + icon={showHelp ? : } onClick={toggleShowHelp} /> {user.is_staff ? ( : } title='Работа в режиме администратора' + icon={adminMode ? : } onClick={toggleAdminMode} /> ) : null} {user.is_staff ? ( } className='border-t' onClick={gotoRestApi} @@ -114,6 +115,7 @@ export function UserDropdown({ isOpen, hideDropdown }: UserDropdownProps) { {user.is_staff ? ( } onClick={gotoAdmin} /> @@ -121,6 +123,7 @@ export function UserDropdown({ isOpen, hideDropdown }: UserDropdownProps) { {user?.is_staff ? ( } onClick={gotoIcons} /> @@ -128,6 +131,7 @@ export function UserDropdown({ isOpen, hideDropdown }: UserDropdownProps) { {user.is_staff ? ( } onClick={gotoDatabaseSchema} className='border-b' @@ -135,6 +139,7 @@ export function UserDropdown({ isOpen, hideDropdown }: UserDropdownProps) { ) : null} } onClick={logoutAndRedirect} diff --git a/rsconcept/frontend/src/components/control/button.tsx b/rsconcept/frontend/src/components/control/button.tsx index d58e22d8..1afeecff 100644 --- a/rsconcept/frontend/src/components/control/button.tsx +++ b/rsconcept/frontend/src/components/control/button.tsx @@ -38,7 +38,6 @@ export function Button({ return ( diff --git a/rsconcept/frontend/src/features/rsform/pages/rsform-page/editor-rsform-card/form-rsform.tsx b/rsconcept/frontend/src/features/rsform/pages/rsform-page/editor-rsform-card/form-rsform.tsx index c3e97058..5bd668e2 100644 --- a/rsconcept/frontend/src/features/rsform/pages/rsform-page/editor-rsform-card/form-rsform.tsx +++ b/rsconcept/frontend/src/features/rsform/pages/rsform-page/editor-rsform-card/form-rsform.tsx @@ -78,8 +78,8 @@ export function FormRSForm() { {...register('title')} label='Полное название' className='mb-3' - disabled={!isContentEditable} error={errors.title} + disabled={!isContentEditable} />
{isContentEditable || isDirty ? ( } + disabled={!isDirty} /> ) : null} diff --git a/rsconcept/frontend/src/features/rsform/pages/rsform-page/editor-rsform-card/toolbar-versioning.tsx b/rsconcept/frontend/src/features/rsform/pages/rsform-page/editor-rsform-card/toolbar-versioning.tsx index 0e9a586c..a264dac7 100644 --- a/rsconcept/frontend/src/features/rsform/pages/rsform-page/editor-rsform-card/toolbar-versioning.tsx +++ b/rsconcept/frontend/src/features/rsform/pages/rsform-page/editor-rsform-card/toolbar-versioning.tsx @@ -69,21 +69,23 @@ export function ToolbarVersioning({ blockReload, className }: ToolbarVersioningP ? 'Откатить к версии' : 'Переключитесь на
неактуальную версию' } - disabled={isContentEditable || blockReload} + aria-label='Откатить к выбранной версии' onClick={handleRestoreVersion} icon={} + disabled={isContentEditable || blockReload} /> на актуальную версию'} - disabled={!isContentEditable} + aria-label={isContentEditable ? 'Создать версию' : 'Переключить на актуальную версию'} onClick={handleCreateVersion} icon={} + disabled={!isContentEditable} /> } + disabled={schema.versions.length === 0} /> ) : null} diff --git a/rsconcept/frontend/src/features/rsform/pages/rsform-page/editor-rslist/toolbar-rslist.tsx b/rsconcept/frontend/src/features/rsform/pages/rsform-page/editor-rslist/toolbar-rslist.tsx index 48864d50..9cdc623d 100644 --- a/rsconcept/frontend/src/features/rsform/pages/rsform-page/editor-rslist/toolbar-rslist.tsx +++ b/rsconcept/frontend/src/features/rsform/pages/rsform-page/editor-rslist/toolbar-rslist.tsx @@ -55,29 +55,32 @@ export function ToolbarRSList({ className }: ToolbarRSListProps) { ) : null} } - disabled={selected.length === 0} onClick={deselectAll} + disabled={selected.length === 0} /> } - disabled={isProcessing || selected.length === 0 || selected.length === schema.items.length} onClick={moveUp} + disabled={isProcessing || selected.length === 0 || selected.length === schema.items.length} /> } - disabled={isProcessing || selected.length === 0 || selected.length === schema.items.length} onClick={moveDown} + disabled={isProcessing || selected.length === 0 || selected.length === schema.items.length} />
} - disabled={isProcessing} onClick={insertMenu.toggle} + disabled={isProcessing} /> {Object.values(CstType).map(typeStr => ( @@ -93,21 +96,24 @@ export function ToolbarRSList({ className }: ToolbarRSListProps) {
} - disabled={isProcessing} onClick={createCstDefault} + disabled={isProcessing} /> } - disabled={isProcessing || selected.length !== 1} onClick={cloneCst} + disabled={isProcessing || selected.length !== 1} /> } - disabled={isProcessing || !canDeleteSelected} onClick={promptDeleteCst} + disabled={isProcessing || !canDeleteSelected} />
diff --git a/rsconcept/frontend/src/features/rsform/pages/rsform-page/editor-term-graph/toolbar-focused-cst.tsx b/rsconcept/frontend/src/features/rsform/pages/rsform-page/editor-term-graph/toolbar-focused-cst.tsx index bba7a551..9d8cd8f8 100644 --- a/rsconcept/frontend/src/features/rsform/pages/rsform-page/editor-term-graph/toolbar-focused-cst.tsx +++ b/rsconcept/frontend/src/features/rsform/pages/rsform-page/editor-term-graph/toolbar-focused-cst.tsx @@ -44,7 +44,7 @@ export function ToolbarFocusedCst() {
} onClick={resetSelection} /> diff --git a/rsconcept/frontend/src/features/rsform/pages/rsform-page/editor-term-graph/toolbar-term-graph.tsx b/rsconcept/frontend/src/features/rsform/pages/rsform-page/editor-term-graph/toolbar-term-graph.tsx index 78ed3470..565b7069 100644 --- a/rsconcept/frontend/src/features/rsform/pages/rsform-page/editor-term-graph/toolbar-term-graph.tsx +++ b/rsconcept/frontend/src/features/rsform/pages/rsform-page/editor-term-graph/toolbar-term-graph.tsx @@ -99,8 +99,8 @@ export function ToolbarTermGraph() { onClick={showParams} /> } title='Граф целиком' + icon={} onClick={handleFitView} /> } - disabled={isProcessing} onClick={handleCreateCst} + disabled={isProcessing} /> ) : null} {isContentEditable ? ( } - disabled={!canDeleteSelected || isProcessing} onClick={handleDeleteCst} + disabled={!canDeleteSelected || isProcessing} /> ) : null} } - disabled={!isContentEditable || isProcessing} onClick={handleTemplates} + disabled={!isContentEditable || isProcessing} /> } - disabled={!isContentEditable || isProcessing} onClick={handleInlineSynthesis} + disabled={!isContentEditable || isProcessing} /> @@ -151,27 +152,31 @@ export function MenuEditSchema() { } - disabled={!isContentEditable || isProcessing} onClick={handleRestoreOrder} + disabled={!isContentEditable || isProcessing} /> } - disabled={!isContentEditable || isProcessing} onClick={handleReindex} + disabled={!isContentEditable || isProcessing} /> } - disabled={!isContentEditable || isProcessing || !activeCst || !canProduceStructure(activeCst)} onClick={() => handleProduceStructure(activeCst)} + disabled={!isContentEditable || isProcessing || !activeCst || !canProduceStructure(activeCst)} /> } onClick={handleSubstituteCst} disabled={!isContentEditable || isProcessing} diff --git a/rsconcept/frontend/src/features/rsform/pages/rsform-page/menu-main.tsx b/rsconcept/frontend/src/features/rsform/pages/rsform-page/menu-main.tsx index 56ae3e24..367a0241 100644 --- a/rsconcept/frontend/src/features/rsform/pages/rsform-page/menu-main.tsx +++ b/rsconcept/frontend/src/features/rsform/pages/rsform-page/menu-main.tsx @@ -129,6 +129,7 @@ export function MenuMain() { } onClick={handleShare} disabled={schema.access_policy !== AccessPolicy.PUBLIC} diff --git a/rsconcept/frontend/src/features/rsform/pages/rsform-page/view-constituents/constituents-search.tsx b/rsconcept/frontend/src/features/rsform/pages/rsform-page/view-constituents/constituents-search.tsx index 2c5bc875..bf8b3043 100644 --- a/rsconcept/frontend/src/features/rsform/pages/rsform-page/view-constituents/constituents-search.tsx +++ b/rsconcept/frontend/src/features/rsform/pages/rsform-page/view-constituents/constituents-search.tsx @@ -41,6 +41,7 @@ export function ConstituentsSearch({ dense }: ConstituentsSearchProps) { ${includeInherited ? 'отображать' : 'скрывать'}`} + aria-label={`Отображение наследованных: ${includeInherited ? 'отображать' : 'скрывать'}`} icon={} className='h-fit self-center' onClick={toggleInherited} diff --git a/rsconcept/frontend/src/features/rsform/pages/rsform-page/view-constituents/select-graph-filter.tsx b/rsconcept/frontend/src/features/rsform/pages/rsform-page/view-constituents/select-graph-filter.tsx index 96fe6845..f689f903 100644 --- a/rsconcept/frontend/src/features/rsform/pages/rsform-page/view-constituents/select-graph-filter.tsx +++ b/rsconcept/frontend/src/features/rsform/pages/rsform-page/view-constituents/select-graph-filter.tsx @@ -46,10 +46,10 @@ export function SelectGraphFilter({ value, dense, className, onChange, ...restPr const source = value as DependencyMode; return ( handleChange(source)} + className={!dense ? 'w-72' : undefined} icon={} + onClick={() => handleChange(source)} > {!dense ? ( diff --git a/rsconcept/frontend/src/features/rsform/pages/rsform-page/view-constituents/select-match-mode.tsx b/rsconcept/frontend/src/features/rsform/pages/rsform-page/view-constituents/select-match-mode.tsx index f90dd62f..2cce6b4f 100644 --- a/rsconcept/frontend/src/features/rsform/pages/rsform-page/view-constituents/select-match-mode.tsx +++ b/rsconcept/frontend/src/features/rsform/pages/rsform-page/view-constituents/select-match-mode.tsx @@ -45,10 +45,10 @@ export function SelectMatchMode({ value, dense, className, onChange, ...restProp const matchMode = value as CstMatchMode; return ( handleChange(matchMode)} + className={!dense ? 'w-80' : undefined} icon={} + onClick={() => handleChange(matchMode)} > {!dense ? (