Changeset 38848 for main/trunk/greenstone3
- Timestamp:
- 2024-03-18T20:37:34+13:00 (3 months ago)
- Location:
- main/trunk/greenstone3
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
main/trunk/greenstone3/build.xml
r38806 r38848 822 822 <pathelement location="${lib.jni}/mg.jar"/> 823 823 <pathelement location="${lib.jni}/mgpp.jar"/> 824 825 <pathelement location="${web.writablehome}/ext/webswing/api/webswing-api.jar"/> 824 826 825 827 <!-- Include all elements that Tomcat exposes to applications --> -
main/trunk/greenstone3/src/java/org/greenstone/applet/phind/JPhind.java
r38817 r38848 92 92 package org.greenstone.applet.phind; 93 93 94 import org.webswing.toolkit.api.WebswingUtil; 95 94 96 import javax.swing.JApplet; 95 97 import javax.swing.JComponent; … … 136 138 implements ActionListener { 137 139 140 boolean isWebswingApplication = false; // if run as webswing *and* application (not applet) 141 138 142 boolean isRunAsApplet = true; 139 143 // set only if JPhind object is run as an application … … 215 219 // 1. The search button is easy to disable, and is disabled when a 216 220 // socket connection is in progress. 217 // 2. ResutCanvas widgets can' rbe similarly disabled because the221 // 2. ResutCanvas widgets can't be similarly disabled because the 218 222 // browser hides or wipes them, which looks very bad. 219 223 // 3. I cannot just ignore clicks on canvasses because the browser … … 280 284 } 281 285 286 isWebswingApplication = appParams.getOrDefault("webswing", "0").equals("1") ? true : false; 287 282 288 // manually calling (J)Applet method init() 283 289 init(); … … 716 722 try { 717 723 URL url= new URL(address); 718 if (window.length() > 0) { 719 getAppletContext().showDocument(url, window); 720 } else { 721 getAppletContext().showDocument(url); 724 if(isRunAsApplet) { 725 if (window.length() > 0) { 726 getAppletContext().showDocument(url, window); 727 } else { 728 getAppletContext().showDocument(url); 729 } 730 } else if(isWebswingApplication) { 731 if (window.length() > 0) { 732 WebswingUtil.getWebswingApi().sendActionEvent("openURL", 733 url.toString() + " - " +window, 734 null); 735 } else { 736 WebswingUtil.getWebswingApi().sendActionEvent("openURL", url.toString(), null); 737 } 738 } else { // else application, but not webswing, TODO: open browser at the URL 739 System.err.println("Phind.displayWebPage() for non-applet and non-webswing application is not yet implemented."); 722 740 } 723 741 } catch (Exception e) { … … 1130 1148 public static void main(String args[]) { 1131 1149 if(args.length < 9) { 1132 System.err.println("Need minimum --params: <baseURL> --collection <collection> --classifier <classifier> --phindcgi <URL> --library <libURL> [-- backdrop <ImgURL>] [--xtraParams <key1=value1&key2=value2&...]");1150 System.err.println("Need minimum --params: <baseURL> --collection <collection> --classifier <classifier> --phindcgi <URL> --library <libURL> [--webswing <1/0>] [--backdrop <ImgURL>] [--xtraParams <key1=value1&key2=value2&...]"); 1133 1151 } 1134 1152 else { // collection fao.org, classifier 1, phindcgi url, library url, backdrop imgurl -
main/trunk/greenstone3/web/WEB-INF/classes/interface_default.properties
r38329 r38848 330 330 webswinggli.brief=Allows you to configure and build collections 331 331 332 webswing_glipage=The WebSwing GLI page 333 webswing_phindpage=The WebSwing Phind page 334 332 335 tabletopDL.title=Tabletop DL Interface 333 336 tabletopDL.brief=An interactive experience for end-users based around a tabletop/desktop metaphor -
main/trunk/greenstone3/web/interfaces/default/transform/pages/webswing-phind.xsl
r38817 r38848 117 117 customization: function(injector) { 118 118 injector.services.base.handleActionEvent = function(actionName, data, binaryData) { 119 console.log("WebSwing actionEvent callback handler: called with actionName = " + actionName); 119 //console.log("WebSwing actionEvent callback handler: called with actionName = " + actionName); 120 121 if (actionName === "openURL") { 122 var url = data; 123 // check if a target tab/window name has been specified 124 // Any better way of passing more than 1 string between Java and JavaScript? 125 var index = url.indexOf(" - "); 126 if (index !== -1) { 127 var target = url.substring(index+3); // skip past " - " to get target name 128 window.open(url, target); 129 } else { 130 window.open(url, '_blank'); 131 } 132 } 133 120 134 } 121 135 } … … 124 138 } 125 139 }; 140 141 142 // The applet jar files can just remain in web/applet where they are compiled up 143 if(!webswingInstance0.options.args) { 144 webswingInstance0.options.args=""; 145 } 146 147 //https://stackoverflow.com/questions/25203124/how-to-get-base-url-with-jquery-or-javascript 148 var baseURL = window.location.origin+window.location.pathname; 149 // webswingInstance0.options.args += "\"" + baseURL+ "?a=a&rt=d&s=PhindApplet&c="+gs.cgiParams.c + "\""; 150 webswingInstance0.options.args += "\"" + baseURL + "\""; 151 152 webswingInstance0.options.args += " --collection=" + gs.cgiParams.c; 153 webswingInstance0.options.args += " --library=" + gs.xsltParams.library_name; 154 155 //console.log("args: " + webswingInstance0.options.args); 156 157 126 158 /* 127 159 // Not yet working. Stick ${customArgs} at end of final param Value (BEFORE the value's closing double quote) in webswing.config.in
Note:
See TracChangeset
for help on using the changeset viewer.