-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.js
More file actions
80 lines (68 loc) · 3.12 KB
/
Copy pathindex.js
File metadata and controls
80 lines (68 loc) · 3.12 KB
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
var DEFAULT_SORT_DEPLOY = "desc";
function populateFeed(domain, projectId, privateToken, sortDeploy) {
document.getElementById('gtlbSettings').hidden = true;
document.getElementById('gtlbFeed').hidden = false;
loadFeed(domain, projectId, privateToken, sortDeploy)
}
function renderSettings(dashboardAPI) {
dashboardAPI.setTitle("Gitlab deployements list settings");
document.getElementById('gtlbSettings').hidden = false;
document.getElementById('gtlbFeed').hidden = true;
document.getElementById('save').onclick = function () {
var domain = document.getElementById('domain').value;
var privateToken = document.getElementById('privateToken').value;
var projectId = document.getElementById('projectId').value;
var sortDeploy = document.getElementById('sortDeploy').value;
dashboardAPI.storeConfig({
domain: domain,
privateToken: privateToken,
projectId: projectId,
sortDeploy: sortDeploy
});
dashboardAPI.exitConfigMode();
populateFeed(domain, projectId, privateToken, sortDeploy)
};
document.getElementById('cancel').onclick = function () {
dashboardAPI.setTitle("Gitlab deployements list");
dashboardAPI.exitConfigMode();
dashboardAPI.readConfig().then(function (config) {
var domain = (config && config.domain) || "";
var privateToken = (config && config.privateToken) || "";
var projectId = (config && config.projectId) || "";
var sortDeploy = (config && config.sortDeploy) || DEFAULT_SORT_DEPLOY;
populateFeed(domain, projectId, privateToken, sortDeploy);
});
};
}
function fillFieldsFromConfig(dashboardAPI) {
dashboardAPI.readConfig().then(function (config) {
document.getElementById('domain').value = (config && config.domain) || "";
document.getElementById('privateToken').value = (config && config.privateToken) || "";
document.getElementById('projectId').value = (config && config.projectId) || "";
document.getElementById('sortDeploy').value = (config && config.sortDeploy) || DEFAULT_SORT_DEPLOY;
});
}
function drawFeedFromConfig(dashboardAPI) {
dashboardAPI.readConfig().then(function (config) {
var domain = (config && config.domain) || "";
var privateToken = (config && config.privateToken) || "";
var projectId = (config && config.projectId) || "";
var sortDeploy = (config && config.sortDeploy) || DEFAULT_SORT_DEPLOY;
dashboardAPI.setTitle("Gitlab deployments list", domain);
populateFeed(domain, projectId, privateToken, sortDeploy);
});
}
Dashboard.registerWidget(function (dashboardAPI, registerWidgetAPI) {
drawFeedFromConfig(dashboardAPI);
registerWidgetAPI({
onConfigure: function () {
fillFieldsFromConfig(dashboardAPI);
renderSettings(dashboardAPI);
},
onRefresh: function () {
dashboardAPI.setLoadingAnimationEnabled(true);
drawFeedFromConfig(dashboardAPI);
dashboardAPI.setLoadingAnimationEnabled(false);
}
});
});