mirror of
https://github.com/IRBorisov/ConceptPortal.git
synced 2025-06-26 13:00:39 +03:00
M: Disable move buttons when all selected
This commit is contained in:
parent
d637def7a1
commit
5d68f05b85
|
@ -112,13 +112,13 @@ function ToolbarConstituenta({
|
|||
<MiniButton
|
||||
titleHtml={prepareTooltip('Переместить вверх', 'Alt + вверх')}
|
||||
icon={<IconMoveUp size='1.25rem' className='icon-primary' />}
|
||||
disabled={disabled || modified}
|
||||
disabled={disabled || modified || (controller.schema && controller.schema?.items.length < 2)}
|
||||
onClick={controller.moveUp}
|
||||
/>
|
||||
<MiniButton
|
||||
titleHtml={prepareTooltip('Переместить вниз', 'Alt + вниз')}
|
||||
icon={<IconMoveDown size='1.25rem' className='icon-primary' />}
|
||||
disabled={disabled || modified}
|
||||
disabled={disabled || modified || (controller.schema && controller.schema?.items.length < 2)}
|
||||
onClick={controller.moveDown}
|
||||
/>
|
||||
</>
|
||||
|
|
|
@ -46,13 +46,21 @@ function ToolbarRSList() {
|
|||
<MiniButton
|
||||
titleHtml={prepareTooltip('Переместить вверх', 'Alt + вверх')}
|
||||
icon={<IconMoveUp size='1.25rem' className='icon-primary' />}
|
||||
disabled={controller.isProcessing || controller.nothingSelected}
|
||||
disabled={
|
||||
controller.isProcessing ||
|
||||
controller.selected.length === 0 ||
|
||||
(controller.schema && controller.selected.length === controller.schema.items.length)
|
||||
}
|
||||
onClick={controller.moveUp}
|
||||
/>
|
||||
<MiniButton
|
||||
titleHtml={prepareTooltip('Переместить вниз', 'Alt + вниз')}
|
||||
icon={<IconMoveDown size='1.25rem' className='icon-primary' />}
|
||||
disabled={controller.isProcessing || controller.nothingSelected}
|
||||
disabled={
|
||||
controller.isProcessing ||
|
||||
controller.selected.length === 0 ||
|
||||
(controller.schema && controller.selected.length === controller.schema.items.length)
|
||||
}
|
||||
onClick={controller.moveDown}
|
||||
/>
|
||||
<div ref={insertMenu.ref}>
|
||||
|
|
|
@ -137,7 +137,7 @@ function EditorTermGraph({ onOpenEdit }: EditorTermGraphProps) {
|
|||
return;
|
||||
}
|
||||
const definition = controller.selected.map(id => controller.schema!.cstByID.get(id)!.alias).join(' ');
|
||||
controller.createCst(controller.nothingSelected ? CstType.BASE : CstType.TERM, false, definition);
|
||||
controller.createCst(controller.selected.length === 0 ? CstType.BASE : CstType.TERM, false, definition);
|
||||
}
|
||||
|
||||
function handleDeleteCst() {
|
||||
|
|
|
@ -65,7 +65,6 @@ export interface IRSEditContext extends ILibraryItemEditor {
|
|||
isProcessing: boolean;
|
||||
isAttachedToOSS: boolean;
|
||||
canProduceStructure: boolean;
|
||||
nothingSelected: boolean;
|
||||
canDeleteSelected: boolean;
|
||||
|
||||
updateSchema: (data: ILibraryUpdateData) => void;
|
||||
|
@ -148,10 +147,9 @@ export const RSEditState = ({
|
|||
[accessLevel, model.schema?.read_only]
|
||||
);
|
||||
const isContentEditable = useMemo(() => isMutable && !model.isArchive, [isMutable, model.isArchive]);
|
||||
const nothingSelected = useMemo(() => selected.length === 0, [selected]);
|
||||
const canDeleteSelected = useMemo(
|
||||
() => !nothingSelected && selected.every(id => !model.schema?.cstByID.get(id)?.is_inherited),
|
||||
[selected, nothingSelected, model.schema]
|
||||
() => selected.length > 0 && selected.every(id => !model.schema?.cstByID.get(id)?.is_inherited),
|
||||
[selected, model.schema]
|
||||
);
|
||||
const isAttachedToOSS = useMemo(
|
||||
() =>
|
||||
|
@ -625,7 +623,6 @@ export const RSEditState = ({
|
|||
isProcessing: model.processing,
|
||||
isAttachedToOSS,
|
||||
canProduceStructure,
|
||||
nothingSelected,
|
||||
canDeleteSelected,
|
||||
|
||||
setOwner,
|
||||
|
|
Loading…
Reference in New Issue
Block a user