mirror of
https://github.com/IRBorisov/ConceptPortal.git
synced 2025-11-15 17:21:38 +03:00
B: Fix editor modified status
This commit is contained in:
parent
12584e413b
commit
9c71673b50
|
|
@ -24,7 +24,6 @@ export function RSTabs({ activeID, activeTab }: RSTabsProps) {
|
||||||
const router = useConceptNavigation();
|
const router = useConceptNavigation();
|
||||||
|
|
||||||
const hideFooter = useAppLayoutStore(state => state.hideFooter);
|
const hideFooter = useAppLayoutStore(state => state.hideFooter);
|
||||||
const isModified = useModificationStore(state => state.isModified);
|
|
||||||
const setIsModified = useModificationStore(state => state.setIsModified);
|
const setIsModified = useModificationStore(state => state.setIsModified);
|
||||||
const { schema, selected, setSelected, deselectAll, navigateRSForm } = useRSEdit();
|
const { schema, selected, setSelected, deselectAll, navigateRSForm } = useRSEdit();
|
||||||
|
|
||||||
|
|
@ -36,14 +35,12 @@ export function RSTabs({ activeID, activeTab }: RSTabsProps) {
|
||||||
};
|
};
|
||||||
}, [schema.title]);
|
}, [schema.title]);
|
||||||
|
|
||||||
|
useLayoutEffect(() => setIsModified(false), [activeID, setIsModified]);
|
||||||
|
|
||||||
useLayoutEffect(() => {
|
useLayoutEffect(() => {
|
||||||
const nextNoFooter = activeTab !== RSTabID.CARD;
|
const nextNoFooter = activeTab !== RSTabID.CARD;
|
||||||
hideFooter(nextNoFooter);
|
hideFooter(nextNoFooter);
|
||||||
|
|
||||||
if (isModified) {
|
|
||||||
setIsModified(false);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (activeTab === RSTabID.CST_EDIT) {
|
if (activeTab === RSTabID.CST_EDIT) {
|
||||||
let nextSelected: number[] = [];
|
let nextSelected: number[] = [];
|
||||||
if (activeID && schema.cstByID.has(activeID)) {
|
if (activeID && schema.cstByID.has(activeID)) {
|
||||||
|
|
@ -65,7 +62,7 @@ export function RSTabs({ activeID, activeTab }: RSTabsProps) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}, [activeTab, activeID, selected, schema, hideFooter, isModified, setIsModified, setSelected, deselectAll]);
|
}, [activeTab, activeID, selected, schema, hideFooter, setSelected, deselectAll]);
|
||||||
|
|
||||||
useLayoutEffect(() => {
|
useLayoutEffect(() => {
|
||||||
return () => hideFooter(false);
|
return () => hideFooter(false);
|
||||||
|
|
@ -75,6 +72,7 @@ export function RSTabs({ activeID, activeTab }: RSTabsProps) {
|
||||||
if (last === index) {
|
if (last === index) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
setIsModified(false);
|
||||||
if (event.type == 'keydown') {
|
if (event.type == 'keydown') {
|
||||||
const kbEvent = event as KeyboardEvent;
|
const kbEvent = event as KeyboardEvent;
|
||||||
if (kbEvent.altKey) {
|
if (kbEvent.altKey) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user