From 5f82245fd2138f3f457b87a7674e41b5293e92aa Mon Sep 17 00:00:00 2001 From: JuliaSvinareva Date: Mon, 29 Mar 2021 19:59:11 +0300 Subject: [PATCH] [SSE mobile] Fix useEffect in statusbar --- .../mobile/src/controller/Statusbar.jsx | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/apps/spreadsheeteditor/mobile/src/controller/Statusbar.jsx b/apps/spreadsheeteditor/mobile/src/controller/Statusbar.jsx index cdf7ce1599..2110c1d15b 100644 --- a/apps/spreadsheeteditor/mobile/src/controller/Statusbar.jsx +++ b/apps/spreadsheeteditor/mobile/src/controller/Statusbar.jsx @@ -16,13 +16,20 @@ const Statusbar = inject('sheets', 'storeAppOptions', 'users')(props => { let isDisconnected = users.isDisconnected; useEffect(() => { - const on_api_created = api => { + const onDocumentReady = () => { + const api = Common.EditorApi.get(); api.asc_registerCallback('asc_onUpdateTabColor', onApiUpdateTabColor); api.asc_registerCallback('asc_onWorkbookLocked', onWorkbookLocked); api.asc_registerCallback('asc_onWorksheetLocked', onWorksheetLocked); api.asc_registerCallback('asc_onSheetsChanged', onApiSheetsChanged); api.asc_registerCallback('asc_onHidePopMenu', onApiHideTabContextMenu); }; + if ( !Common.EditorApi ) { + Common.Notifications.on('document:ready', onDocumentReady); + Common.Notifications.on('document:ready', onApiSheetsChanged); + } else { + onDocumentReady(); + } const on_main_view_click = e => { if(!e.target.closest('.tab.active')) { @@ -30,15 +37,13 @@ const Statusbar = inject('sheets', 'storeAppOptions', 'users')(props => { } }; - Common.Notifications.on('document:ready', onApiSheetsChanged); - Common.Notifications.on('engineCreated', on_api_created); - $$('.view-main').on('click', on_main_view_click); return () => { + Common.Notifications.off('document:ready', onDocumentReady); Common.Notifications.off('document:ready', onApiSheetsChanged); - Common.Notifications.off('engineCreated', on_api_created); + const api = Common.EditorApi.get(); api.asc_unregisterCallback('asc_onUpdateTabColor', onApiUpdateTabColor); api.asc_unregisterCallback('asc_onWorkbookLocked', onWorkbookLocked); api.asc_unregisterCallback('asc_onWorksheetLocked', onWorksheetLocked);