mirror of
https://github.com/IRBorisov/ConceptPortal.git
synced 2025-06-26 04:50:36 +03:00
Small UI fixes
This commit is contained in:
parent
7664d9bda7
commit
aecb0f70ed
|
@ -21,9 +21,7 @@ function ControlsOverlay({ constituenta, disabled, modified, processing, onRenam
|
|||
<Overlay position='top-1 left-[4.3rem]' className='flex select-none'>
|
||||
{!disabled || processing ? (
|
||||
<MiniButton
|
||||
title={
|
||||
modified ? messages.unsaved : `Редактировать словоформы термина: ${constituenta?.term_forms.length ?? 0}`
|
||||
}
|
||||
title={modified ? messages.unsaved : `Редактировать словоформы термина`}
|
||||
noHover
|
||||
onClick={onEditTerm}
|
||||
icon={<IconEdit size='1rem' className='icon-primary' />}
|
||||
|
|
|
@ -118,10 +118,10 @@ function FormConstituenta({
|
|||
const data: ICstUpdateData = {
|
||||
id: state.id,
|
||||
alias: alias,
|
||||
convention: convention,
|
||||
term_raw: term,
|
||||
definition_formal: expression,
|
||||
definition_raw: textDefinition,
|
||||
term_raw: term
|
||||
convention: convention
|
||||
};
|
||||
cstUpdate(data, () => toast.success('Изменения сохранены'));
|
||||
}
|
||||
|
|
|
@ -46,6 +46,7 @@ import {
|
|||
} from '@/models/rsform';
|
||||
import { generateAlias } from '@/models/rsformAPI';
|
||||
import { EXTEOR_TRS_FILE } from '@/utils/constants';
|
||||
import { promptUnsaved } from '@/utils/utils';
|
||||
|
||||
interface IRSEditContext {
|
||||
schema?: IRSForm;
|
||||
|
@ -379,17 +380,25 @@ export const RSEditState = ({
|
|||
}, [activeCst]);
|
||||
|
||||
const substitute = useCallback(() => {
|
||||
if (isModified && !promptUnsaved()) {
|
||||
return;
|
||||
}
|
||||
setShowSubstitute(true);
|
||||
}, []);
|
||||
}, [isModified]);
|
||||
|
||||
const inlineSynthesis = useCallback(() => {
|
||||
if (isModified && !promptUnsaved()) {
|
||||
return;
|
||||
}
|
||||
setShowInlineSynthesis(true);
|
||||
}, [isModified]);
|
||||
|
||||
const editTermForms = useCallback(() => {
|
||||
if (!activeCst) {
|
||||
return;
|
||||
}
|
||||
if (isModified) {
|
||||
if (!window.confirm('Присутствуют несохраненные изменения. Продолжить без их учета?')) {
|
||||
return;
|
||||
}
|
||||
if (isModified && !promptUnsaved()) {
|
||||
return;
|
||||
}
|
||||
setShowEditTerm(true);
|
||||
}, [isModified, activeCst]);
|
||||
|
@ -410,6 +419,9 @@ export const RSEditState = ({
|
|||
if (!activeCst) {
|
||||
return;
|
||||
}
|
||||
if (isModified && !promptUnsaved()) {
|
||||
return;
|
||||
}
|
||||
const data: ICstTarget = {
|
||||
target: activeCst.id
|
||||
};
|
||||
|
@ -419,27 +431,26 @@ export const RSEditState = ({
|
|||
setSelected(cstList);
|
||||
}
|
||||
});
|
||||
}, [activeCst, setSelected, model]);
|
||||
}, [activeCst, setSelected, model, isModified]);
|
||||
|
||||
const promptTemplate = useCallback(() => {
|
||||
if (isModified && !promptUnsaved()) {
|
||||
return;
|
||||
}
|
||||
setInsertCstID(activeCst?.id);
|
||||
setShowTemplates(true);
|
||||
}, [activeCst]);
|
||||
}, [activeCst, isModified]);
|
||||
|
||||
const promptClone = useCallback(() => {
|
||||
if (isModified) {
|
||||
if (!window.confirm('Присутствуют несохраненные изменения. Продолжить без их учета?')) {
|
||||
return;
|
||||
}
|
||||
if (isModified && !promptUnsaved()) {
|
||||
return;
|
||||
}
|
||||
setShowClone(true);
|
||||
}, [isModified]);
|
||||
|
||||
const download = useCallback(() => {
|
||||
if (isModified) {
|
||||
if (!window.confirm('Присутствуют несохраненные изменения. Продолжить без их учета?')) {
|
||||
return;
|
||||
}
|
||||
if (isModified && !promptUnsaved()) {
|
||||
return;
|
||||
}
|
||||
const fileName = (model.schema?.alias ?? 'Schema') + EXTEOR_TRS_FILE;
|
||||
model.download((data: Blob) => {
|
||||
|
@ -515,7 +526,7 @@ export const RSEditState = ({
|
|||
|
||||
reindex,
|
||||
reorder,
|
||||
inlineSynthesis: () => setShowInlineSynthesis(true),
|
||||
inlineSynthesis,
|
||||
produceStructure,
|
||||
substitute
|
||||
}}
|
||||
|
|
|
@ -95,3 +95,10 @@ export function convertBase64ToBlob(base64String: string): Uint8Array {
|
|||
}
|
||||
return uint8Array;
|
||||
}
|
||||
|
||||
/**
|
||||
* Prompt user of confirming discarding changes before continue.
|
||||
*/
|
||||
export function promptUnsaved(): boolean {
|
||||
return window.confirm('Присутствуют несохраненные изменения. Продолжить без их учета?');
|
||||
}
|
Loading…
Reference in New Issue
Block a user