Browse Source

KERNEL-442 没有资源文件时的下载页面

bugfix/10.0
richie 6 years ago
parent
commit
f11a5605c6
  1. 33
      designer-base/src/main/java/com/fr/design/upm/UpmBridge.java
  2. 2
      designer-base/src/main/java/com/fr/design/upm/UpmPane.java
  3. 2
      designer-base/src/main/java/com/fr/design/upm/event/DownloadEvent.java
  4. 63
      designer-base/src/main/resources/com/fr/design/upm/warn.js

33
designer-base/src/main/java/com/fr/design/upm/UpmBridge.java

@ -18,6 +18,7 @@ import com.fr.design.upm.event.CertificateEvent;
import com.fr.design.upm.event.DownloadEvent; import com.fr.design.upm.event.DownloadEvent;
import com.fr.design.upm.exec.UpmBrowserExecutor; import com.fr.design.upm.exec.UpmBrowserExecutor;
import com.fr.design.upm.task.UpmTaskWorker; import com.fr.design.upm.task.UpmTaskWorker;
import com.fr.event.Event;
import com.fr.event.EventDispatcher; import com.fr.event.EventDispatcher;
import com.fr.general.CloudCenter; import com.fr.general.CloudCenter;
import com.fr.general.GeneralUtils; import com.fr.general.GeneralUtils;
@ -60,14 +61,30 @@ public class UpmBridge {
this.window = browser.executeJavaScriptAndReturnValue("window").asObject(); this.window = browser.executeJavaScriptAndReturnValue("window").asObject();
} }
public void startDownload() { public void startDownload(final JSFunction callback) {
try {
UpmResourceLoader.INSTANCE.download(); new SwingWorker<Void, Void>(){
UpmResourceLoader.INSTANCE.install(); @Override
} catch (Exception e) { protected Void doInBackground() throws Exception {
FineLoggerFactory.getLogger().error(e.getMessage(), e); callback.invoke(window, Toolkit.i18nText("Fine-Design_Basic_Update_Plugin_Manager_Download_Start"));
} UpmResourceLoader.INSTANCE.download();
EventDispatcher.fire(DownloadEvent.FINISH, "start"); UpmResourceLoader.INSTANCE.install();
return null;
}
@Override
protected void done() {
try {
get();
callback.invoke(window, Toolkit.i18nText("Fine-Design_Basic_Update_Plugin_Manager_Download_Success"));
EventDispatcher.fire(DownloadEvent.SUCCESS, "success");
} catch (Exception e) {
callback.invoke(window, Toolkit.i18nText("Fine-Design_Basic_Update_Plugin_Manager_Download_Error"));
FineLoggerFactory.getLogger().error(e.getMessage(), e);
EventDispatcher.fire(DownloadEvent.ERROR, "error");
}
}
}.execute();
} }
@JSBridge @JSBridge

2
designer-base/src/main/java/com/fr/design/upm/UpmPane.java

@ -50,7 +50,7 @@ public class UpmPane extends BasicPane {
window.asObject().setProperty("PluginHelper", UpmBridge.getBridge(event.getBrowser())); window.asObject().setProperty("PluginHelper", UpmBridge.getBridge(event.getBrowser()));
} }
}).build(); }).build();
EventDispatcher.listen(DownloadEvent.FINISH, new Listener<String>() { EventDispatcher.listen(DownloadEvent.SUCCESS, new Listener<String>() {
@Override @Override
public void on(Event event, String param) { public void on(Event event, String param) {
modernUIPane.redirect(UpmFinder.getMainResourcePath()); modernUIPane.redirect(UpmFinder.getMainResourcePath());

2
designer-base/src/main/java/com/fr/design/upm/event/DownloadEvent.java

@ -9,5 +9,5 @@ import com.fr.event.Event;
*/ */
public enum DownloadEvent implements Event<String> { public enum DownloadEvent implements Event<String> {
FINISH SUCCESS, ERROR
} }

63
designer-base/src/main/resources/com/fr/design/upm/warn.js

@ -1,20 +1,61 @@
window.onload = function () { window.onload = function () {
let button = BI.createWidget({ let label = BI.createWidget({
type : "bi.button", type: "bi.label",
text : PluginHelper.i18nText("Fine-Design_Basic_Update_Plugin_Manager_Resource_Warn"), text: PluginHelper.i18nText("Fine-Design_Basic_Update_Plugin_Manager_Resource_Warn"),
height: 30
});
let callback = function(text) {
download.setValue(text);
};
let buttonOK = BI.createWidget({
type: "bi.button",
text: PluginHelper.i18nText("Fine-Design_Basic_Update_Plugin_Manager_Download"),
level: 'common', level: 'common',
height: 30, height: 30,
handler : function () { handler: function () {
PluginHelper.startDownload(); PluginHelper.startDownload(callback);
} }
}); });
let buttonClose = BI.createWidget({
type: "bi.button",
text: PluginHelper.i18nText("Fine-Design_Basic_Update_Plugin_Manager_Close"),
level: 'warning',
height: 30,
handler: function () {
PluginHelper.closeWindow();
}
});
let download = BI.createWidget({
type: "bi.label",
height: 30
});
let left = 300;
let top = 200;
BI.createWidget({ BI.createWidget({
type:"bi.absolute", type: "bi.absolute",
element: "body", element: "body",
items: [{ items: [
el: button, {
left: 100, el: label,
top: 100 left: left,
}] top: top
},
{
el : buttonOK,
left : left,
top : top + 40
},
{
el : buttonClose,
left : left + 100,
top : top + 40
},
{
el : download,
left : left,
top : top + 80
}
]
}); });
}; };
Loading…
Cancel
Save