From 6fd16f6580ebcc40cd76803ba53f412121a12509 Mon Sep 17 00:00:00 2001
From: Sergey Linev <S.Linev@gsi.de>
Date: Fri, 1 Mar 2019 18:57:13 +0100
Subject: [PATCH] eve7: adjust client code to work with new locations of files

---
 gui/webdisplay/src/RWebWindowWSHandler.hxx |  3 +++
 ui5/eve7/controller/Main.controller.js     | 10 +---------
 ui5/eve7/index.html                        |  5 ++++-
 3 files changed, 8 insertions(+), 10 deletions(-)

diff --git a/gui/webdisplay/src/RWebWindowWSHandler.hxx b/gui/webdisplay/src/RWebWindowWSHandler.hxx
index 4304471202c..fabf3e46a3e 100644
--- a/gui/webdisplay/src/RWebWindowWSHandler.hxx
+++ b/gui/webdisplay/src/RWebWindowWSHandler.hxx
@@ -48,6 +48,9 @@ public:
    /// THttpWSHandler interface
    TString GetDefaultPageContent() override { return IsDisabled() ? "" : fWindow.fDefaultPage.c_str(); }
 
+   /// returns true when window allowed to serve files relative to default page
+   Bool_t CanServeFiles() const override { return !IsDisabled(); }
+
    /// Process websocket request - called from THttpServer thread
    /// THttpWSHandler interface
    Bool_t ProcessWS(THttpCallArg *arg) override { return arg && !IsDisabled() ? fWindow.ProcessWS(*arg) : kFALSE; }
diff --git a/ui5/eve7/controller/Main.controller.js b/ui5/eve7/controller/Main.controller.js
index 7ec174814fb..bc39dd03501 100644
--- a/ui5/eve7/controller/Main.controller.js
+++ b/ui5/eve7/controller/Main.controller.js
@@ -51,8 +51,7 @@ sap.ui.define(['sap/ui/core/mvc/Controller',
          var need_geom = false, staged = [];
          for (var n=0;n<viewers.length;++n) {
             var elem = viewers[n];
-            if (elem.$view_created || elem.$view_staged) continue;
-            if (elem.fRnrSelf) {
+            if (!elem.$view_created && elem.fRnrSelf) {
                staged.push(elem);
                if (viewers[n].fName != "Table") need_geom = true;
             }
@@ -67,22 +66,15 @@ sap.ui.define(['sap/ui/core/mvc/Controller',
 
          console.log("FOUND viewers", viewers.length, "not yet exists", staged.length);
 
-         for (var n=0;n<staged.length;++n)
-            staged[n].$view_staged = true; // mark view which will be created in this loop, do we need this??
-         
          var main = this, vv = null, count = 0, sv = this.getView().byId("MainAreaSplitter");
 
          for (var n=0;n<staged.length;++n) {
             var elem = staged[n];
-            console.log("ELEMENT", elem.fName);
             var viewid = "EveViewer" + elem.fElementId;
 
             // create missing view
             elem.$view_created = true;
-            delete elem.$view_staged;
-
             console.log("Creating view", viewid);
-
             count++;
 
             var oLd = undefined;
diff --git a/ui5/eve7/index.html b/ui5/eve7/index.html
index 80e87e9d9e7..99fbdcb6c83 100644
--- a/ui5/eve7/index.html
+++ b/ui5/eve7/index.html
@@ -49,9 +49,12 @@
 
         if (JSROOT.GetUrlOption('nogl')!==null) JSROOT.gStyle.NoWebGL = true;
         if (JSROOT.GetUrlOption('libs')!==null) JSROOT.use_full_libs = true;
+        
+        var jsroot_prereq = "openui5";
+        if (JSROOT.GetUrlOption('view')) jsroot_prereq += ";geom";
 
         JSROOT.ConnectWebWindow({
-           prereq: "openui5",
+           prereq: jsroot_prereq,
 //           openui5src: "jsroot",    // use JSROOT provided package, experimental
            openui5src: "https://openui5.hana.ondemand.com/",
            openui5libs: "sap.m, sap.ui.layout, sap.ui.table, sap.ui.commons", // customize openui5 libs
-- 
GitLab