X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;ds=sidebyside;f=swt%2Forg.argeo.app.swt%2Fsrc%2Forg%2Fargeo%2Fapp%2Fswt%2Fjs%2FSwtBrowserJsPart.java;h=6f680e28816ed3217e583b97f091567bc53d2983;hb=e7bf7de5151a2736f9a68e37aea7dab377317f80;hp=41cc3afe2ddbf587b51f3695d7c5528033839dd2;hpb=b69587f65c2a93a0df82f90ce8e1cbf3bc176abc;p=gpl%2Fargeo-suite.git diff --git a/swt/org.argeo.app.swt/src/org/argeo/app/swt/js/SwtBrowserJsPart.java b/swt/org.argeo.app.swt/src/org/argeo/app/swt/js/SwtBrowserJsPart.java index 41cc3af..6f680e2 100644 --- a/swt/org.argeo.app.swt/src/org/argeo/app/swt/js/SwtBrowserJsPart.java +++ b/swt/org.argeo.app.swt/src/org/argeo/app/swt/js/SwtBrowserJsPart.java @@ -1,5 +1,6 @@ package org.argeo.app.swt.js; +import java.net.URI; import java.util.ArrayList; import java.util.List; import java.util.Locale; @@ -8,7 +9,9 @@ import java.util.concurrent.CompletionStage; import java.util.function.Function; import org.argeo.api.cms.CmsLog; +import org.argeo.api.cms.ux.CmsView; import org.argeo.app.ux.js.JsClient; +import org.argeo.cms.swt.CmsSwtUtils; import org.eclipse.swt.SWT; import org.eclipse.swt.browser.Browser; import org.eclipse.swt.browser.BrowserFunction; @@ -39,12 +42,14 @@ public class SwtBrowserJsPart implements JsClient { private List preReadyToDos = new ArrayList<>(); public SwtBrowserJsPart(Composite parent, int style, String url) { + CmsView cmsView = CmsSwtUtils.getCmsView(parent); this.browser = new Browser(parent, 0); if (parent.getLayout() instanceof GridLayout) browser.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); // TODO other layouts - browser.setUrl(url); + URI u = cmsView.toBackendUri(url); + browser.setUrl(u.toString()); browser.addProgressListener(new ProgressListener() { static final long serialVersionUID = 1L; @@ -92,7 +97,8 @@ public class SwtBrowserJsPart implements JsClient { } protected void loadExtension(String url) { - browser.evaluate(String.format(Locale.ROOT, "import('%s')", url)); + URI u = CmsSwtUtils.getCmsView(getControl()).toBackendUri(url); + browser.evaluate(String.format(Locale.ROOT, "import('%s')", u.toString())); } public CompletionStage getReadyStage() { @@ -168,8 +174,8 @@ public class SwtBrowserJsPart implements JsClient { @Override public void run() { boolean success = browser.execute(js); - if (!success) - throw new IllegalStateException("Pre-ready JavaScript failed: " + js); + if (!success && log.isTraceEnabled()) + log.error("Pre-ready JavaScript failed: " + js); } }