1
|
package eu.dnetlib.repo.manager.client;
|
2
|
|
3
|
import com.google.gwt.dom.client.Element;
|
4
|
import com.google.gwt.query.client.Function;
|
5
|
import com.google.gwt.user.client.ui.FlowPanel;
|
6
|
import com.google.gwt.user.client.ui.RootPanel;
|
7
|
import eu.dnetlib.repo.manager.client.admin.AdminController;
|
8
|
import eu.dnetlib.repo.manager.client.browsehistory.BrowseHistoryController;
|
9
|
import eu.dnetlib.repo.manager.client.dashboard.DashboardController;
|
10
|
import eu.dnetlib.repo.manager.client.datasources.register.DatasourceRegisterController;
|
11
|
import eu.dnetlib.repo.manager.client.datasources.update.DatasourceUpdateController;
|
12
|
import eu.dnetlib.repo.manager.client.enrichcontent.EnrichContentController;
|
13
|
import eu.dnetlib.repo.manager.client.getimpact.GetImpactController;
|
14
|
import eu.dnetlib.repo.manager.client.admin.helptexts.HelpTextsAdminController;
|
15
|
import eu.dnetlib.repo.manager.client.monitor.MonitorController;
|
16
|
import eu.dnetlib.repo.manager.client.validator.test.RunCompatibilityTestController;
|
17
|
|
18
|
import static com.google.gwt.query.client.GQuery.$;
|
19
|
|
20
|
/**
|
21
|
* Created by stefania on 12/17/15.
|
22
|
*/
|
23
|
public class RepositoryManagerController extends TokenController {
|
24
|
|
25
|
private static RepositoryManagerController instance = null;
|
26
|
private FlowPanel contentPanel = new FlowPanel();
|
27
|
|
28
|
public static RepositoryManagerController getInstance() {
|
29
|
if (instance == null)
|
30
|
instance = new RepositoryManagerController();
|
31
|
|
32
|
return instance;
|
33
|
}
|
34
|
|
35
|
public RepositoryManagerController() {
|
36
|
|
37
|
subControllers.put("dashboard", DashboardController.getInstance());
|
38
|
subControllers.put("registerDatasource", DatasourceRegisterController.getInstance());
|
39
|
subControllers.put("manageDatasource", DatasourceUpdateController.getInstance());
|
40
|
subControllers.put("validate", RunCompatibilityTestController.getInstance());
|
41
|
subControllers.put("browseHistory", BrowseHistoryController.getInstance());
|
42
|
subControllers.put("monitor", MonitorController.getInstance());
|
43
|
subControllers.put("helpAdmin", HelpTextsAdminController.getInstance());
|
44
|
subControllers.put("enrichContent", EnrichContentController.getInstance());
|
45
|
subControllers.put("getImpact", GetImpactController.getInstance());
|
46
|
subControllers.put("admin", AdminController.getInstance());
|
47
|
|
48
|
RootPanel.get("contentWrapper").add(contentPanel);
|
49
|
}
|
50
|
|
51
|
public void showWidget(String rest) {
|
52
|
|
53
|
TokenController subController = this.getSubController(rest);
|
54
|
|
55
|
updateMenu(getMenuPath(null, rest));
|
56
|
|
57
|
// subController.drawHeader(splitToken(rest)[1]);
|
58
|
subController.showWidget(contentPanel, splitToken(rest)[0], splitToken(rest)[1]);
|
59
|
}
|
60
|
|
61
|
void updateMenu(final String[] path) {
|
62
|
|
63
|
$(".menu_level_0").removeClass("active");
|
64
|
$(".menu_level_1").removeClass("active");
|
65
|
|
66
|
$(".menu_level_0").each(new Function() {
|
67
|
@Override
|
68
|
public void f(Element e) {
|
69
|
if (!e.getId().equals(path[0]+"_li")) {
|
70
|
//TODO add collapsing when closing
|
71
|
if($("#" + e.getId() + " > ul")!=null)
|
72
|
$("#" + e.getId() + " > ul").removeClass("in");
|
73
|
} else {
|
74
|
$("#" + e.getId()).addClass("active");
|
75
|
if($("#" + e.getId() + " > ul")!=null)
|
76
|
$("#" + e.getId() + " > ul").addClass("in");
|
77
|
}
|
78
|
}
|
79
|
});
|
80
|
|
81
|
if(path.length > 1)
|
82
|
$("#" + path[0] + "_" + path[1] + "_li").addClass("active");
|
83
|
}
|
84
|
}
|