From 110d8f0b923f031d2fe2d3c82e07106666d1a2a2 Mon Sep 17 00:00:00 2001 From: Sergey Linev <S.Linev@gsi.de> Date: Thu, 23 Mar 2023 10:50:38 +0100 Subject: [PATCH] [webcanvas] add vertical splitter from beginning fix several warnings from openui5 --- ui5/canv/controller/Canvas.controller.js | 62 ++++++++----------- ui5/canv/controller/CanvasPanel.controller.js | 3 +- ui5/canv/controller/Panel.controller.js | 21 ++----- ui5/canv/view/Canvas.view.xml | 17 +++-- ui5/canv/view/CanvasPanel.view.xml | 7 ++- ui5/canv/view/Panel.view.xml | 7 ++- 6 files changed, 55 insertions(+), 62 deletions(-) diff --git a/ui5/canv/controller/Canvas.controller.js b/ui5/canv/controller/Canvas.controller.js index 0ed5e96c1c9..97fdac00ea9 100644 --- a/ui5/canv/controller/Canvas.controller.js +++ b/ui5/canv/controller/Canvas.controller.js @@ -12,14 +12,26 @@ sap.ui.define([ 'sap/m/ButtonType', 'sap/ui/layout/Splitter', 'sap/ui/layout/SplitterLayoutData' -], function (Controller, Component, JSONModel, XMLView, MessageToast, Dialog, List, InputListItem, Input, Button, ButtonType, Splitter, SplitterLayoutData) { +], function (Controller, + Component, + JSONModel, + XMLView, + MessageToast, + Dialog, + List, + InputListItem, + Input, + Button, + ButtonType, + Splitter, + SplitterLayoutData) { "use strict"; function chk_icon(flag) { return flag ? "sap-icon://accept" : "sap-icon://decline"; } - let CController = Controller.extend("rootui5.canv.controller.Canvas", { + return Controller.extend('rootui5.canv.controller.Canvas', { onInit() { this._Page = this.getView().byId("CanvasMainPage"); @@ -280,18 +292,15 @@ sap.ui.define([ }, onInterruptPress() { - let p = this.getCanvasPainter(); - if (p) p.sendWebsocket("INTERRUPT"); + this.getCanvasPainter()?.sendWebsocket("INTERRUPT"); }, onQuitRootPress() { - let p = this.getCanvasPainter(); - if (p) p.sendWebsocket("QUIT"); + this.getCanvasPainter()?.sendWebsocket("QUIT"); }, onReloadPress() { - let p = this.getCanvasPainter(); - if (p) p.sendWebsocket("RELOAD"); + this.getCanvasPainter()?.sendWebsocket("RELOAD"); }, isGedEditor() { @@ -394,12 +403,10 @@ sap.ui.define([ getBottomController() { if (!this.bottomVisible) return null; - let split = this.getView().byId("MainAreaSplitter"), + let split = this.getView().byId('BottomAreaSplitter'), cont = split.getContentAreas(), - vsplit = cont[cont.length-1], - vcont = vsplit.getContentAreas(), - bottom = vcont[vcont.length-1]; - return bottom ? bottom.getController() : null; + bottom = cont[cont.length-1]; + return bottom?.getController(); }, drawInProjectionArea(obj, opt, kind) { @@ -444,7 +451,8 @@ sap.ui.define([ if (fullHeight && sz[0]) { // ctrl.getView().setHeight(Math.round(sz[0]/fullHeight) + '%'); ctrl.getView().$().height(sz[0] + 'px'); - ctrl.invokeResizeTimeout(10); + if (typeof ctrl.invokeResizeTimeout == 'function') + ctrl.invokeResizeTimeout(10); } }, @@ -453,7 +461,7 @@ sap.ui.define([ if (this.bottomVisible == is_on) return Promise.resolve(this.getBottomController()); - let split = this.getView().byId("MainAreaSplitter"); + let split = this.getView().byId("BottomAreaSplitter"); if (!split) return Promise.resolve(null); let cont = split.getContentAreas(); @@ -461,25 +469,11 @@ sap.ui.define([ this.bottomVisible = !this.bottomVisible; if (!this.bottomVisible) { - // vertical splitter exists - toggle it - let vsplit = cont[cont.length-1], - main = vsplit.removeContentArea(0); - - vsplit.destroyContentAreas(); - split.removeContentArea(vsplit); - split.addContentArea(main); + // just remove bottom controller + split.removeContentArea(cont.length-1); return Promise.resolve(null); } - // remove panel with normal drawing - let mainPanel = split.removeContentArea(cont.length-1); - - let vsplit = new Splitter({ orientation: 'Vertical' }); - - split.addContentArea(vsplit); - - vsplit.addContentArea(mainPanel); - let h = this.getView().$().height(); return XMLView.create({ @@ -488,9 +482,9 @@ sap.ui.define([ layoutData: new SplitterLayoutData({ resizable: true, size: Math.round(h*0.25) + 'px'}), height: '100%' }).then(oView => { - vsplit.addContentArea(oView); + split.addContentArea(oView); if (with_handler) - vsplit.attachResize(null, this.handleBottomResize, this); + split.attachResize(null, this.handleBottomResize, this); return oView.getController(); }); }, @@ -661,6 +655,4 @@ sap.ui.define([ } }); - return CController; - }); diff --git a/ui5/canv/controller/CanvasPanel.controller.js b/ui5/canv/controller/CanvasPanel.controller.js index d66eb65515e..0fdd828773a 100644 --- a/ui5/canv/controller/CanvasPanel.controller.js +++ b/ui5/canv/controller/CanvasPanel.controller.js @@ -1,7 +1,8 @@ sap.ui.define([ 'sap/ui/core/mvc/Controller', 'sap/ui/core/ResizeHandler' -], function (Controller, ResizeHandler) { +], function (Controller, + ResizeHandler) { "use strict"; return Controller.extend('rootui5.canv.controller.CanvasPanel', { diff --git a/ui5/canv/controller/Panel.controller.js b/ui5/canv/controller/Panel.controller.js index 56687572915..7a98ab1d019 100644 --- a/ui5/canv/controller/Panel.controller.js +++ b/ui5/canv/controller/Panel.controller.js @@ -11,30 +11,22 @@ sap.ui.define([ }, onExit() { - if (this.object_painter) { - this.object_painter.cleanup(); - delete this.object_painter; - } + this.object_painter?.cleanup(); + delete this.object_painter; }, onBeforeRendering() { - if (this.object_painter) { - this.object_painter.cleanup(); - delete this.object_painter; - } + this.object_painter?.cleanup(); + delete this.object_painter; this.rendering_perfromed = false; }, onAfterRendering() { - ResizeHandler.register(this.getView(), () => this.onResize()); - this.rendering_perfromed = true; - let arr = this.renderFuncs; delete this.renderFuncs; - if (arr) - arr.forEach(func => func(this.getView().getDomRef())); + arr?.forEach(func => func(this.getView().getDomRef())); }, setObjectPainter(painter) { @@ -59,8 +51,7 @@ sap.ui.define([ onResizeTimeout() { delete this.resize_tmout; - if (this.object_painter) - this.object_painter.checkResize(); + this.object_painter?.checkResize(); } }); diff --git a/ui5/canv/view/Canvas.view.xml b/ui5/canv/view/Canvas.view.xml index 0b7bb601cd9..61da295506e 100644 --- a/ui5/canv/view/Canvas.view.xml +++ b/ui5/canv/view/Canvas.view.xml @@ -1,5 +1,11 @@ -<mvc:View height="100%" class="sapUiSizeCompact" controllerName="rootui5.canv.controller.Canvas" - xmlns:mvc="sap.ui.core.mvc" xmlns:l="sap.ui.layout" xmlns="sap.m"> +<mvc:View + height="100%" + class="sapUiSizeCompact" + controllerName="rootui5.canv.controller.Canvas" + async="true" + xmlns:mvc="sap.ui.core.mvc" + xmlns:l="sap.ui.layout" + xmlns="sap.m"> <Page title="" showNavButton="false" showFooter="false" showSubHeader="false" id="CanvasMainPage"> <customHeader> @@ -109,9 +115,10 @@ </subHeader> <content> <l:Splitter orientation="Horizontal" id="MainAreaSplitter"> - <mvc:XMLView id="MainPanel" width="100%" - height="100%" viewName="rootui5.canv.view.CanvasPanel"> - </mvc:XMLView> + <l:Splitter orientation="Vertical" id="BottomAreaSplitter"> + <mvc:XMLView id="MainPanel" width="100%" height="100%" viewName="rootui5.canv.view.CanvasPanel"> + </mvc:XMLView> + </l:Splitter> </l:Splitter> </content> <footer> diff --git a/ui5/canv/view/CanvasPanel.view.xml b/ui5/canv/view/CanvasPanel.view.xml index c23fdb5ab1c..691d56d5a35 100644 --- a/ui5/canv/view/CanvasPanel.view.xml +++ b/ui5/canv/view/CanvasPanel.view.xml @@ -1,5 +1,6 @@ -<core:View +<mvc:View xmlns="sap.m" - xmlns:core="sap.ui.core" + xmlns:mvc="sap.ui.core.mvc" + async="true" controllerName="rootui5.canv.controller.CanvasPanel"> -</core:View> \ No newline at end of file +</mvc:View> diff --git a/ui5/canv/view/Panel.view.xml b/ui5/canv/view/Panel.view.xml index 3e16efb7577..62ce7e317d4 100644 --- a/ui5/canv/view/Panel.view.xml +++ b/ui5/canv/view/Panel.view.xml @@ -1,5 +1,6 @@ -<core:View +<mvc:View xmlns="sap.m" - xmlns:core="sap.ui.core" + xmlns:mvc="sap.ui.core.mvc" + async="true" controllerName="rootui5.canv.controller.Panel"> -</core:View> \ No newline at end of file +</mvc:View> -- GitLab