summaryrefslogtreecommitdiffstats
path: root/WebContent/VAADIN/vaadinBootstrap.js
diff options
context:
space:
mode:
authorArtur Signell <artur@vaadin.com>2013-03-21 08:59:51 +0200
committerArtur Signell <artur@vaadin.com>2013-03-21 08:59:51 +0200
commitbd3bb24a36a0ad02ffb9cee2e46afc445a354191 (patch)
tree00d9248c84f8b7b60768552c822279c9cf151f45 /WebContent/VAADIN/vaadinBootstrap.js
parent320b4e3776976e5dad822f01542f338cf76140bb (diff)
parente4c9eda51082a443822b66864df2fe14be7dc6d7 (diff)
downloadvaadin-framework-bd3bb24a36a0ad02ffb9cee2e46afc445a354191.tar.gz
vaadin-framework-bd3bb24a36a0ad02ffb9cee2e46afc445a354191.zip
Merge commit 'e4c9eda51082a443822b66864df2fe14be7dc6d7'
Conflicts: uitest/test.xml Change-Id: I2c82fa7117b21bddad313abdd2f3f43143317c12
Diffstat (limited to 'WebContent/VAADIN/vaadinBootstrap.js')
-rw-r--r--WebContent/VAADIN/vaadinBootstrap.js34
1 files changed, 30 insertions, 4 deletions
diff --git a/WebContent/VAADIN/vaadinBootstrap.js b/WebContent/VAADIN/vaadinBootstrap.js
index f5c00a0b65..40f9ce470f 100644
--- a/WebContent/VAADIN/vaadinBootstrap.js
+++ b/WebContent/VAADIN/vaadinBootstrap.js
@@ -55,19 +55,45 @@
pendingApps: []
};
};
-
+
+ var isInitializedInDom = function(appId) {
+ var appDiv = document.getElementById(appId);
+ if (!appDiv) {
+ return false;
+ }
+ for ( var i = 0; i < appDiv.childElementCount; i++) {
+ var className = appDiv.childNodes[i].className;
+ // If the app div contains a child with the class
+ // "v-app-loading" we have only received the HTML
+ // but not yet started the widget set
+ // (UIConnector removes the v-app-loading div).
+ if (className && className.contains("v-app-loading")) {
+ return false;
+ }
+ }
+ return true;
+ };
+
window.vaadin = window.vaadin || {
initApplication: function(appId, config) {
+ var testbenchId = appId.replace(/-\d+$/, '');
+
if (apps[appId]) {
- throw "Application " + appId + " already initialized";
+ if (window.vaadin && window.vaadin.clients && window.vaadin.clients[testbenchId] && window.vaadin.clients[testbenchId].initializing) {
+ throw "Application " + appId + " is already being initialized";
+ }
+ if (isInitializedInDom(appId)) {
+ throw "Application " + appId + " already initialized";
+ }
}
+
log("init application", appId, config);
- var testbenchId = appId.replace(/-\d+$/, '');
window.vaadin.clients[testbenchId] = {
isActive: function() {
return true;
- }
+ },
+ initializing: true
};
var getConfig = function(name) {