Revize 2a2f32c2
Přidáno uživatelem Pavel Fidranský před více než 6 roky(ů)
sources/src/main/webapp/css/main.css | ||
---|---|---|
889 | 889 |
.jstree-default .jstree-clicked { |
890 | 890 |
background: none !important; |
891 | 891 |
box-shadow: none !important; |
892 |
} |
|
892 |
} |
|
893 |
|
|
894 |
/** |
|
895 |
* USER AUTHENTICATION |
|
896 |
**/ |
|
897 |
|
|
898 |
.loggedIn .loggedOutOnly, |
|
899 |
.loggedOut .loggedInOnly { |
|
900 |
display: none !important; |
|
901 |
} |
sources/src/main/webapp/js/userMenu.js | ||
---|---|---|
1 | 1 |
document.addEventListener('DOMContentLoaded', function() { |
2 | 2 |
var toggleLoginPopupButton = document.getElementById('toggleLoginPopupButton'); |
3 | 3 |
var toggleRegisterPopupButton = document.getElementById('toggleRegisterPopupButton'); |
4 |
var usernameLabel = document.getElementById('usernameLabel'); |
|
4 | 5 |
var logoutButton = document.getElementById('logoutButton'); |
5 | 6 |
|
6 | 7 |
var loginPopup = document.getElementById('loginPopup'); |
... | ... | |
9 | 10 |
var loginForm = document.forms['loginForm']; |
10 | 11 |
var registerForm = document.forms['registerForm']; |
11 | 12 |
|
12 |
if (toggleLoginPopupButton) { |
|
13 |
toggleLoginPopupButton.addEventListener('click', function() { |
|
14 |
loginPopup.classList.toggle('hidden'); |
|
15 |
}); |
|
16 |
} |
|
13 |
toggleLoginPopupButton.addEventListener('click', function() { |
|
14 |
loginPopup.classList.toggle('hidden'); |
|
15 |
}); |
|
17 | 16 |
|
18 |
if (toggleRegisterPopupButton) { |
|
19 |
toggleRegisterPopupButton.addEventListener('click', function() { |
|
20 |
registerPopup.classList.toggle('hidden'); |
|
21 |
}); |
|
22 |
} |
|
17 |
toggleRegisterPopupButton.addEventListener('click', function() { |
|
18 |
registerPopup.classList.toggle('hidden'); |
|
19 |
}); |
|
23 | 20 |
|
24 |
if (logoutButton) { |
|
25 |
logoutButton.addEventListener('click', function(e) { |
|
26 |
e.preventDefault(); |
|
27 |
|
|
28 |
$.ajax({ |
|
29 |
'type': 'GET', |
|
30 |
'url': logoutButton.href, |
|
31 |
'success': function() { |
|
32 |
location.reload(true); |
|
33 |
}, |
|
34 |
'error': function() { |
|
35 |
alert('Something went wrong.'); |
|
36 |
}, |
|
37 |
}); |
|
21 |
logoutButton.addEventListener('click', function(e) { |
|
22 |
e.preventDefault(); |
|
23 |
|
|
24 |
$.ajax({ |
|
25 |
'type': 'GET', |
|
26 |
'url': logoutButton.href, |
|
27 |
'success': function() { |
|
28 |
document.dispatchEvent(new CustomEvent('imiger.userLoggedOut')); |
|
29 |
|
|
30 |
usernameLabel.innerText = ''; |
|
31 |
|
|
32 |
document.body.classList.remove('loggedIn'); |
|
33 |
document.body.classList.add('loggedOut'); |
|
34 |
}, |
|
35 |
'error': function() { |
|
36 |
alert('Something went wrong.'); |
|
37 |
}, |
|
38 | 38 |
}); |
39 |
} |
|
39 |
});
|
|
40 | 40 |
|
41 |
if (loginForm) { |
|
42 |
loginForm.addEventListener('submit', function(e) { |
|
43 |
e.preventDefault(); |
|
44 |
|
|
45 |
$.ajax({ |
|
46 |
'type': loginForm.method, |
|
47 |
'url': loginForm.action, |
|
48 |
'data': { |
|
49 |
'username': loginForm.username.value, |
|
50 |
'password': loginForm.password.value, |
|
51 |
}, |
|
52 |
'success': function() { |
|
53 |
location.reload(true); |
|
54 |
}, |
|
55 |
'error': function(xhr) { |
|
56 |
switch (xhr.status) { |
|
57 |
case 400: |
|
58 |
printErrors(xhr); |
|
59 |
break; |
|
60 |
case 401: |
|
61 |
alert('Invalid credentials.'); |
|
62 |
break; |
|
63 |
default: |
|
64 |
alert('Something went wrong.'); |
|
65 |
} |
|
66 |
}, |
|
67 |
}); |
|
41 |
loginForm.addEventListener('submit', function(e) { |
|
42 |
e.preventDefault(); |
|
43 |
|
|
44 |
$.ajax({ |
|
45 |
'type': loginForm.method, |
|
46 |
'url': loginForm.action, |
|
47 |
'data': { |
|
48 |
'username': loginForm.username.value, |
|
49 |
'password': loginForm.password.value, |
|
50 |
}, |
|
51 |
'success': function(data) { |
|
52 |
document.dispatchEvent(new CustomEvent('imiger.userLoggedIn')); |
|
53 |
|
|
54 |
usernameLabel.innerText = data.user.username; |
|
55 |
|
|
56 |
document.body.classList.remove('loggedOut'); |
|
57 |
document.body.classList.add('loggedIn'); |
|
58 |
|
|
59 |
loginPopup.classList.add('hidden'); |
|
60 |
}, |
|
61 |
'error': function(xhr) { |
|
62 |
switch (xhr.status) { |
|
63 |
case 400: |
|
64 |
printErrors(xhr); |
|
65 |
break; |
|
66 |
case 401: |
|
67 |
alert('Invalid credentials.'); |
|
68 |
break; |
|
69 |
default: |
|
70 |
alert('Something went wrong.'); |
|
71 |
} |
|
72 |
}, |
|
68 | 73 |
}); |
69 |
} |
|
74 |
}); |
|
75 |
|
|
76 |
registerForm.addEventListener('submit', function(e) { |
|
77 |
e.preventDefault(); |
|
70 | 78 |
|
71 |
if (registerForm) { |
|
72 |
registerForm.addEventListener('submit', function(e) { |
|
73 |
e.preventDefault(); |
|
74 |
|
|
75 |
$.ajax({ |
|
76 |
'type': registerForm.method, |
|
77 |
'url': registerForm.action, |
|
78 |
'data': { |
|
79 |
'name': registerForm.name.value, |
|
80 |
'email': registerForm.email.value, |
|
81 |
'username': registerForm.username.value, |
|
82 |
'password': registerForm.password.value, |
|
83 |
'passwordCheck': registerForm.passwordCheck.value, |
|
84 |
}, |
|
85 |
'success': function() { |
|
86 |
location.reload(true); |
|
87 |
}, |
|
88 |
'error': function(xhr) { |
|
89 |
switch (xhr.status) { |
|
90 |
case 400: |
|
91 |
printErrors(xhr); |
|
92 |
break; |
|
93 |
default: |
|
94 |
alert('Something went wrong.'); |
|
95 |
} |
|
96 |
}, |
|
97 |
}); |
|
79 |
$.ajax({ |
|
80 |
'type': registerForm.method, |
|
81 |
'url': registerForm.action, |
|
82 |
'data': { |
|
83 |
'name': registerForm.name.value, |
|
84 |
'email': registerForm.email.value, |
|
85 |
'username': registerForm.username.value, |
|
86 |
'password': registerForm.password.value, |
|
87 |
'passwordCheck': registerForm.passwordCheck.value, |
|
88 |
}, |
|
89 |
'success': function() { |
|
90 |
document.dispatchEvent(new CustomEvent('imiger.userRegistered')); |
|
91 |
|
|
92 |
registerPopup.classList.add('hidden'); |
|
93 |
}, |
|
94 |
'error': function(xhr) { |
|
95 |
switch (xhr.status) { |
|
96 |
case 400: |
|
97 |
printErrors(xhr); |
|
98 |
break; |
|
99 |
default: |
|
100 |
alert('Something went wrong.'); |
|
101 |
} |
|
102 |
}, |
|
98 | 103 |
}); |
99 |
} |
|
104 |
});
|
|
100 | 105 |
}); |
101 | 106 |
|
102 | 107 |
function printErrors(xhr) { |
sources/src/main/webapp/showGraph.jsp | ||
---|---|---|
1 | 1 |
<%@page contentType="text/html" pageEncoding="UTF-8"%> |
2 | 2 |
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> |
3 | 3 |
|
4 |
<c:set var="HOME_URL" value="${initParam.HOME_URL}"/> |
|
5 |
<c:set var="isLoggedIn" value="${sessionScope.isLoggedIn}"/> |
|
6 |
<c:set var="user" value="${sessionScope.user}"/> |
|
7 |
|
|
4 | 8 |
<!DOCTYPE html> |
5 | 9 |
<html> |
6 | 10 |
<head> |
... | ... | |
55 | 59 |
<title>IMiGEr</title> |
56 | 60 |
</head> |
57 | 61 |
|
58 |
<body> |
|
59 |
<c:set var="HOME_URL" value="${initParam.HOME_URL}"/> |
|
60 |
<c:set var="isLoggedIn" value="${sessionScope.isLoggedIn}"/> |
|
61 |
<c:set var="user" value="${sessionScope.user}"/> |
|
62 |
|
|
62 |
<body class="${isLoggedIn ? 'loggedIn' : 'loggedOut'}"> |
|
63 | 63 |
<div class="wrapper"> |
64 | 64 |
<header class="header" id="header"> |
65 | 65 |
<img src="images/logo.png" class="header-logo" alt="logo of University of West Bohemia" title="University of West Bohemia"> |
... | ... | |
144 | 144 |
<img src="images/png_save.png" id="applyLayoutImg" alt="Save diagram as PNG."> |
145 | 145 |
</button> |
146 | 146 |
</li> |
147 |
<c:if test="${isLoggedIn}"> |
|
148 |
<li> |
|
149 |
<hr class="navbar-separator"> |
|
150 |
</li> |
|
151 |
<li> |
|
152 |
<button class="btn save-diagram" id="btnSaveDiagramToDatabase" title="Save diagram."> |
|
153 |
<img src="images/icon_save.png" id="applyLayoutImg" alt="Save diagram"> |
|
154 |
</button> |
|
155 |
</li> |
|
156 |
</c:if> |
|
147 |
<li class="loggedInOnly"> |
|
148 |
<hr class="navbar-separator"> |
|
149 |
</li> |
|
150 |
<li class="loggedInOnly"> |
|
151 |
<button class="btn save-diagram" id="btnSaveDiagramToDatabase" title="Save diagram"> |
|
152 |
<img src="images/icon_save.png" id="applyLayoutImg" alt="Save diagram"> |
|
153 |
</button> |
|
154 |
</li> |
|
157 | 155 |
<li> |
158 | 156 |
<hr class="navbar-separator"> |
159 | 157 |
</li> |
sources/src/main/webapp/uploadFiles.jsp | ||
---|---|---|
1 | 1 |
<%@page contentType="text/html" pageEncoding="UTF-8"%> |
2 | 2 |
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> |
3 | 3 |
|
4 |
<c:set var="HOME_URL" value="${initParam.HOME_URL}"/> |
|
5 |
<c:set var="isLoggedIn" value="${sessionScope.isLoggedIn}"/> |
|
6 |
<c:set var="user" value="${sessionScope.user}"/> |
|
7 |
|
|
4 | 8 |
<!DOCTYPE html> |
5 | 9 |
<html> |
6 | 10 |
<head> |
... | ... | |
14 | 18 |
<title>IMiGEr</title> |
15 | 19 |
</head> |
16 | 20 |
|
17 |
<body> |
|
18 |
<c:set var="HOME_URL" value="${initParam.HOME_URL}"/> |
|
19 |
<c:set var="isLoggedIn" value="${sessionScope.isLoggedIn}"/> |
|
20 |
<c:set var="user" value="${sessionScope.user}"/> |
|
21 |
|
|
21 |
<body class="${isLoggedIn ? 'loggedIn' : 'loggedOut'}"> |
|
22 | 22 |
<header class="header" id="header"> |
23 | 23 |
<img src="images/logo.png" class="header-logo" alt="logo of University of West Bohemia" title="University of West Bohemia"> |
24 | 24 |
|
... | ... | |
51 | 51 |
</form> |
52 | 52 |
</div> |
53 | 53 |
|
54 |
<c:if test="${isLoggedIn}"> |
|
55 |
<div class="diagrams-menu"> |
|
56 |
<h3>My diagrams</h3> |
|
57 |
|
|
58 |
<ul> |
|
59 |
<c:forEach items="${diagramsPrivate}" var="diagram"> |
|
60 |
<li> |
|
61 |
<a href="${HOME_URL}graph?diagramId=${diagram.id}">${diagram.name}</a> |
|
62 |
<button class="removeDiagramButton" data-name="${diagram.name}" data-id="${diagram.id}"><img src="images/button_cancel.png" alt="odstranit"></button> |
|
63 |
</li> |
|
64 |
</c:forEach> |
|
65 |
</ul> |
|
66 |
</div> |
|
67 |
</c:if> |
|
54 |
<div class="diagrams-menu loggedInOnly"> |
|
55 |
<h3>My diagrams</h3> |
|
56 |
|
|
57 |
<ul id="privateDiagramList"> |
|
58 |
<c:forEach items="${diagramsPrivate}" var="diagram"> |
|
59 |
<li> |
|
60 |
<a href="${HOME_URL}graph?diagramId=${diagram.id}">${diagram.name}</a> |
|
61 |
<button class="removeDiagramButton" data-name="${diagram.name}" data-id="${diagram.id}"><img src="images/button_cancel.png" alt="odstranit"></button> |
|
62 |
</li> |
|
63 |
</c:forEach> |
|
64 |
</ul> |
|
65 |
</div> |
|
68 | 66 |
|
69 | 67 |
<div class="diagrams-menu"> |
70 | 68 |
<h3>Public diagrams</h3> |
Také k dispozici: Unified diff
elements' visibility is controlled by body class which is set based on user's login state