From 4bf356e6d228cf27aa49863a410756fe9a706a51 Mon Sep 17 00:00:00 2001 From: Jindrich Susen Date: Thu, 25 Jan 2024 16:59:30 +0100 Subject: [PATCH 1/3] UpdateObject was not run before workflow next if F5 was pressed right after making changes and before leaving the editor --- .../gui/Workbench/ScreenArea/FormView/FormViewEditor.tsx | 8 +++++--- .../model/actions-ui/DataView/TableView/onFieldKeyDown.ts | 8 +++++--- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/frontend-html/src/gui/Workbench/ScreenArea/FormView/FormViewEditor.tsx b/frontend-html/src/gui/Workbench/ScreenArea/FormView/FormViewEditor.tsx index d9e286f536..cccfe7f758 100644 --- a/frontend-html/src/gui/Workbench/ScreenArea/FormView/FormViewEditor.tsx +++ b/frontend-html/src/gui/Workbench/ScreenArea/FormView/FormViewEditor.tsx @@ -357,13 +357,15 @@ export class FormViewEditor extends React.Component<{ } return; } - if (isSaveShortcut(event) && geScreenActionButtonsState(dataView)?.isSaveButtonVisible) { + if (isSaveShortcut(event)) { await runGeneratorInFlowWithHandler({ ctx: dataView, generator: function*() { yield*flushCurrentRowData(dataView)(); - const formScreenLifecycle = getFormScreenLifecycle(dataView); - yield*formScreenLifecycle.onSaveSession(); + if(geScreenActionButtonsState(dataView)?.isSaveButtonVisible) { + const formScreenLifecycle = getFormScreenLifecycle(dataView); + yield*formScreenLifecycle.onSaveSession(); + } }() }); return; diff --git a/frontend-html/src/model/actions-ui/DataView/TableView/onFieldKeyDown.ts b/frontend-html/src/model/actions-ui/DataView/TableView/onFieldKeyDown.ts index 07b5ef62d9..4ff6d13b4b 100644 --- a/frontend-html/src/model/actions-ui/DataView/TableView/onFieldKeyDown.ts +++ b/frontend-html/src/model/actions-ui/DataView/TableView/onFieldKeyDown.ts @@ -135,10 +135,12 @@ export function onFieldKeyDown(ctx: any) { break; } default: { - if (isSaveShortcut(event) && geScreenActionButtonsState(ctx)?.isSaveButtonVisible) { + if (isSaveShortcut(event)) { yield*flushCurrentRowData(ctx)(); - const formScreenLifecycle = getFormScreenLifecycle(ctx); - yield*formScreenLifecycle.onSaveSession(); + if(geScreenActionButtonsState(ctx)?.isSaveButtonVisible){ + const formScreenLifecycle = getFormScreenLifecycle(ctx); + yield*formScreenLifecycle.onSaveSession(); + } } else if (isRefreshShortcut(event) && geScreenActionButtonsState(ctx)?.isRefreshButtonVisible) { tablePanelView.setEditing(false); From b4114c09b2192a266d0b6bcb4ed3f0d40c145b1b Mon Sep 17 00:00:00 2001 From: Jindrich Susen Date: Thu, 25 Jan 2024 20:48:21 +0100 Subject: [PATCH 2/3] Code formatting --- .../src/gui/Workbench/ScreenArea/FormView/FormViewEditor.tsx | 2 +- .../src/model/actions-ui/DataView/TableView/onFieldKeyDown.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend-html/src/gui/Workbench/ScreenArea/FormView/FormViewEditor.tsx b/frontend-html/src/gui/Workbench/ScreenArea/FormView/FormViewEditor.tsx index cccfe7f758..c32256747d 100644 --- a/frontend-html/src/gui/Workbench/ScreenArea/FormView/FormViewEditor.tsx +++ b/frontend-html/src/gui/Workbench/ScreenArea/FormView/FormViewEditor.tsx @@ -362,7 +362,7 @@ export class FormViewEditor extends React.Component<{ ctx: dataView, generator: function*() { yield*flushCurrentRowData(dataView)(); - if(geScreenActionButtonsState(dataView)?.isSaveButtonVisible) { + if (geScreenActionButtonsState(dataView)?.isSaveButtonVisible) { const formScreenLifecycle = getFormScreenLifecycle(dataView); yield*formScreenLifecycle.onSaveSession(); } diff --git a/frontend-html/src/model/actions-ui/DataView/TableView/onFieldKeyDown.ts b/frontend-html/src/model/actions-ui/DataView/TableView/onFieldKeyDown.ts index 4ff6d13b4b..beffd58df3 100644 --- a/frontend-html/src/model/actions-ui/DataView/TableView/onFieldKeyDown.ts +++ b/frontend-html/src/model/actions-ui/DataView/TableView/onFieldKeyDown.ts @@ -137,7 +137,7 @@ export function onFieldKeyDown(ctx: any) { default: { if (isSaveShortcut(event)) { yield*flushCurrentRowData(ctx)(); - if(geScreenActionButtonsState(ctx)?.isSaveButtonVisible){ + if (geScreenActionButtonsState(ctx)?.isSaveButtonVisible) { const formScreenLifecycle = getFormScreenLifecycle(ctx); yield*formScreenLifecycle.onSaveSession(); } From fddc306ca3b6e94ba43173cd6fb7b3f0f0eb9f14 Mon Sep 17 00:00:00 2001 From: Jindrich Susen Date: Fri, 26 Jan 2024 09:08:32 +0100 Subject: [PATCH 3/3] Function name fixed --- .../gui/Workbench/ScreenArea/FormView/FormViewEditor.tsx | 6 +++--- frontend-html/src/gui/connections/CScreenToolbar.tsx | 4 ++-- .../MobileComponents/BottomToolBar/BottomToolBar.tsx | 4 ++-- .../model/actions-ui/DataView/TableView/onFieldKeyDown.ts | 6 +++--- .../src/model/actions-ui/ScreenToolbar/saveButtonVisible.ts | 2 +- 5 files changed, 11 insertions(+), 11 deletions(-) diff --git a/frontend-html/src/gui/Workbench/ScreenArea/FormView/FormViewEditor.tsx b/frontend-html/src/gui/Workbench/ScreenArea/FormView/FormViewEditor.tsx index c32256747d..c250030320 100644 --- a/frontend-html/src/gui/Workbench/ScreenArea/FormView/FormViewEditor.tsx +++ b/frontend-html/src/gui/Workbench/ScreenArea/FormView/FormViewEditor.tsx @@ -63,7 +63,7 @@ import { getFormScreenLifecycle } from "model/selectors/FormScreen/getFormScreen import { getIsAddButtonVisible } from "model/selectors/DataView/getIsAddButtonVisible"; import { getIsDelButtonVisible } from "model/selectors/DataView/getIsDelButtonVisible"; import { getIsCopyButtonVisible } from "model/selectors/DataView/getIsCopyButtonVisible"; -import { geScreenActionButtonsState } from "model/actions-ui/ScreenToolbar/saveButtonVisible"; +import { getScreenActionButtonsState } from "model/actions-ui/ScreenToolbar/saveButtonVisible"; import { getOpenedScreen } from "model/selectors/getOpenedScreen"; import { makeOnAddNewRecordClick, onSaveClick } from "gui/connections/NewRecordScreen"; import { onScreenTabCloseClick } from "model/actions-ui/ScreenTabHandleRow/onScreenTabCloseClick"; @@ -362,7 +362,7 @@ export class FormViewEditor extends React.Component<{ ctx: dataView, generator: function*() { yield*flushCurrentRowData(dataView)(); - if (geScreenActionButtonsState(dataView)?.isSaveButtonVisible) { + if (getScreenActionButtonsState(dataView)?.isSaveButtonVisible) { const formScreenLifecycle = getFormScreenLifecycle(dataView); yield*formScreenLifecycle.onSaveSession(); } @@ -370,7 +370,7 @@ export class FormViewEditor extends React.Component<{ }); return; } - if (isRefreshShortcut(event) && geScreenActionButtonsState(dataView)?.isRefreshButtonVisible) { + if (isRefreshShortcut(event) && getScreenActionButtonsState(dataView)?.isRefreshButtonVisible) { await runGeneratorInFlowWithHandler({ ctx: dataView, generator: function*() { diff --git a/frontend-html/src/gui/connections/CScreenToolbar.tsx b/frontend-html/src/gui/connections/CScreenToolbar.tsx index a5643d81de..8c9c842d07 100644 --- a/frontend-html/src/gui/connections/CScreenToolbar.tsx +++ b/frontend-html/src/gui/connections/CScreenToolbar.tsx @@ -51,7 +51,7 @@ import { getAbout } from "model/selectors/getAbout"; import { About } from "model/entities/AboutInfo"; import { showDialog } from "model/selectors/getDialogStack"; import { AboutDialog } from "gui/Components/Dialogs/AboutDialog"; -import { geScreenActionButtonsState } from "model/actions-ui/ScreenToolbar/saveButtonVisible"; +import { getScreenActionButtonsState } from "model/actions-ui/ScreenToolbar/saveButtonVisible"; import { isRefreshShortcut, isSaveShortcut } from "utils/keyShortcuts"; @observer @@ -203,7 +203,7 @@ export class CScreenToolbar extends React.Component<{}> { } renderForFormScreen() { - const actionButtonsState = geScreenActionButtonsState(this.application); + const actionButtonsState = getScreenActionButtonsState(this.application); if(!actionButtonsState){ return null; } diff --git a/frontend-html/src/gui/connections/MobileComponents/BottomToolBar/BottomToolBar.tsx b/frontend-html/src/gui/connections/MobileComponents/BottomToolBar/BottomToolBar.tsx index fc408a2f50..bac5370b19 100644 --- a/frontend-html/src/gui/connections/MobileComponents/BottomToolBar/BottomToolBar.tsx +++ b/frontend-html/src/gui/connections/MobileComponents/BottomToolBar/BottomToolBar.tsx @@ -23,7 +23,7 @@ import "gui/connections/MobileComponents/BottomToolBar/BottomToolBar.module.scss import { BottomIcon } from "gui/connections/MobileComponents/BottomToolBar/BottomIcon"; import { MobileState } from "model/entities/MobileState/MobileState"; import { MobXProviderContext, observer } from "mobx-react"; -import { geScreenActionButtonsState } from "model/actions-ui/ScreenToolbar/saveButtonVisible"; +import { getScreenActionButtonsState } from "model/actions-ui/ScreenToolbar/saveButtonVisible"; import { onSaveSessionClick } from "model/actions-ui/ScreenToolbar/onSaveSessionClick"; import { onRefreshSessionClick } from "model/actions-ui/ScreenToolbar/onRefreshSessionClick"; import { computed } from "mobx"; @@ -56,7 +56,7 @@ export class BottomToolBar extends React.Component<{ } render() { - const actionButtonsState = geScreenActionButtonsState(this.props.ctx); + const actionButtonsState = getScreenActionButtonsState(this.props.ctx); const buttons = []; if (this.props.mobileState.layoutState.showCloseButton(!!this.activeScreen)) { { this.props.mobileState.layoutState.showBackButton && diff --git a/frontend-html/src/model/actions-ui/DataView/TableView/onFieldKeyDown.ts b/frontend-html/src/model/actions-ui/DataView/TableView/onFieldKeyDown.ts index beffd58df3..902659d069 100644 --- a/frontend-html/src/model/actions-ui/DataView/TableView/onFieldKeyDown.ts +++ b/frontend-html/src/model/actions-ui/DataView/TableView/onFieldKeyDown.ts @@ -41,7 +41,7 @@ import { onCopyRowClick } from "model/actions-ui/DataView/onCopyRowClick"; import { onFilterButtonClick } from "model/actions-ui/DataView/onFilterButtonClick"; import { onEscapePressed } from "model/actions-ui/DataView/onEscapePressed"; import { getFormScreenLifecycle } from "model/selectors/FormScreen/getFormScreenLifecycle"; -import { geScreenActionButtonsState } from "model/actions-ui/ScreenToolbar/saveButtonVisible"; +import { getScreenActionButtonsState } from "model/actions-ui/ScreenToolbar/saveButtonVisible"; import { getIsAddButtonVisible } from "model/selectors/DataView/getIsAddButtonVisible"; import { getIsDelButtonVisible } from "model/selectors/DataView/getIsDelButtonVisible"; import { getIsCopyButtonVisible } from "model/selectors/DataView/getIsCopyButtonVisible"; @@ -137,12 +137,12 @@ export function onFieldKeyDown(ctx: any) { default: { if (isSaveShortcut(event)) { yield*flushCurrentRowData(ctx)(); - if (geScreenActionButtonsState(ctx)?.isSaveButtonVisible) { + if (getScreenActionButtonsState(ctx)?.isSaveButtonVisible) { const formScreenLifecycle = getFormScreenLifecycle(ctx); yield*formScreenLifecycle.onSaveSession(); } } - else if (isRefreshShortcut(event) && geScreenActionButtonsState(ctx)?.isRefreshButtonVisible) { + else if (isRefreshShortcut(event) && getScreenActionButtonsState(ctx)?.isRefreshButtonVisible) { tablePanelView.setEditing(false); yield*flushCurrentRowData(ctx)(); const formScreenLifecycle = getFormScreenLifecycle(ctx); diff --git a/frontend-html/src/model/actions-ui/ScreenToolbar/saveButtonVisible.ts b/frontend-html/src/model/actions-ui/ScreenToolbar/saveButtonVisible.ts index cf974f7cf9..669df45d01 100644 --- a/frontend-html/src/model/actions-ui/ScreenToolbar/saveButtonVisible.ts +++ b/frontend-html/src/model/actions-ui/ScreenToolbar/saveButtonVisible.ts @@ -22,7 +22,7 @@ import { IFormScreen } from "model/entities/types/IFormScreen"; import { getIsSuppressSave } from "model/selectors/FormScreen/getIsSuppressSave"; import { getIsSuppressRefresh } from "model/selectors/FormScreen/getIsSuppressRefresh"; -export function geScreenActionButtonsState(ctx: any): IScreenActionButtonsState | undefined{ +export function getScreenActionButtonsState(ctx: any): IScreenActionButtonsState | undefined{ const activeScreen = getActiveScreen(ctx); if (activeScreen && !activeScreen.content) return undefined; const formScreen =