Переглянути джерело

Avoid Vaadin entry-point being run twice (#13730)

- Prevent bootstrap script fail if registerWidgetset is called twice
  with the same widgetset.

Change-Id: I8b8069b442ea91c1aa0f0b7dd73c41902e75094b
tags/7.4.0.alpha2
Manolo Carrasco 10 роки тому
джерело
коміт
3ecad00770

+ 9
- 6
WebContent/VAADIN/vaadinBootstrap.js Переглянути файл

@@ -231,13 +231,16 @@
loadTheme: loadTheme,
registerWidgetset: function(widgetset, callback) {
log("Widgetset registered", widgetset);
widgetsets[widgetset].callback = callback;
for(var i = 0; i < widgetsets[widgetset].pendingApps.length; i++) {
var appId = widgetsets[widgetset].pendingApps[i];
log("Starting from register widgetset", appId);
callback(appId);
var ws = widgetsets[widgetset];
if (ws && ws.pendingApps) {
ws.callback = callback;
for(var i = 0; i < ws.pendingApps.length; i++) {
var appId = ws.pendingApps[i];
log("Starting from register widgetset", appId);
callback(appId);
}
ws.pendingApps = null;
}
widgetsets[widgetset].pendingApps = null;
},
getBrowserDetailsParameters: function(parentElementId) {
// Screen height and width

+ 8
- 0
client/src/com/vaadin/client/ApplicationConfiguration.java Переглянути файл

@@ -222,6 +222,7 @@ public class ApplicationConfiguration implements EntryPoint {

private boolean browserDetailsSent = false;
private boolean widgetsetVersionSent = false;
private static boolean moduleLoaded = false;

static// TODO consider to make this hashmap per application
LinkedList<Command> callbacks = new LinkedList<Command>();
@@ -596,6 +597,13 @@ public class ApplicationConfiguration implements EntryPoint {

@Override
public void onModuleLoad() {

// Don't run twice if the module has been inherited several times.
if (moduleLoaded) {
return;
}
moduleLoaded = true;

Profiler.initialize();
Profiler.enter("ApplicationConfiguration.onModuleLoad");


Завантаження…
Відмінити
Зберегти