1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 package info.magnolia.ui.vaadin.gwt.client.magnoliashell.viewport.widget;
35
36 import info.magnolia.ui.vaadin.gwt.client.icon.widget.LoadingIconWidget;
37
38 import com.google.gwt.user.client.DOM;
39 import com.google.gwt.user.client.Element;
40 import com.google.gwt.user.client.ui.Widget;
41
42
43
44
45 public class AppPreloader extends Widget {
46
47 private final Element root = DOM.createDiv();
48
49 private final Element navigator = DOM.createElement("ul");
50
51 private final Element tab = DOM.createElement("li");
52
53 private final Element tabCaption = DOM.createSpan();
54
55 public AppPreloader() {
56 super();
57 setElement(root);
58 setStyleName("v-app-preloader v-viewport v-shell-tabsheet app");
59
60 navigator.addClassName("nav nav-tabs single-tab");
61 tab.addClassName("clearfix active");
62 tabCaption.setClassName("tab-title");
63
64 tab.appendChild(tabCaption);
65 navigator.appendChild(tab);
66 root.appendChild(navigator);
67
68 Element preloader = DOM.createDiv();
69 preloader.addClassName("v-preloader");
70
71 Element loading = DOM.createSpan();
72 loading.addClassName("v-caption");
73 loading.setInnerText("Loading");
74
75 preloader.appendChild(new LoadingIconWidget().getElement());
76 preloader.appendChild(DOM.createElement("br"));
77 preloader.appendChild(loading);
78
79 root.appendChild(preloader);
80 }
81
82 public void setCaption(String caption) {
83 tabCaption.setInnerHTML(caption);
84 }
85 }