B: Fix editor modified status
Some checks are pending
Frontend CI / build (22.x) (push) Waiting to run
Frontend CI / notify-failure (push) Blocked by required conditions

This commit is contained in:
Ivan 2025-09-23 16:19:23 +03:00
parent 12584e413b
commit 9c71673b50

View File

@ -24,7 +24,6 @@ export function RSTabs({ activeID, activeTab }: RSTabsProps) {
const router = useConceptNavigation();
const hideFooter = useAppLayoutStore(state => state.hideFooter);
const isModified = useModificationStore(state => state.isModified);
const setIsModified = useModificationStore(state => state.setIsModified);
const { schema, selected, setSelected, deselectAll, navigateRSForm } = useRSEdit();
@ -36,14 +35,12 @@ export function RSTabs({ activeID, activeTab }: RSTabsProps) {
};
}, [schema.title]);
useLayoutEffect(() => setIsModified(false), [activeID, setIsModified]);
useLayoutEffect(() => {
const nextNoFooter = activeTab !== RSTabID.CARD;
hideFooter(nextNoFooter);
if (isModified) {
setIsModified(false);
}
if (activeTab === RSTabID.CST_EDIT) {
let nextSelected: number[] = [];
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(() => {
return () => hideFooter(false);
@ -75,6 +72,7 @@ export function RSTabs({ activeID, activeTab }: RSTabsProps) {
if (last === index) {
return;
}
setIsModified(false);
if (event.type == 'keydown') {
const kbEvent = event as KeyboardEvent;
if (kbEvent.altKey) {