Projekt

Obecné

Profil

« Předchozí | Další » 

Revize edd0c51e

Přidáno uživatelem Pavel Fidranský před více než 6 roky(ů)

reworked all jQuery-backed AJAX calls to use AJAX JS class

Zobrazit rozdíly:

sources/src/main/webapp/uploadFiles.jsp
13 13
		<link rel="stylesheet" href="css/main.css">
14 14

  
15 15
		<script src="js/libs/jquery-3.3.1.min.js"></script>
16
		<script src="js/errors/httpError.js"></script>
17
		<script src="js/utils/ajax.js"></script>
18
		<script src="js/constants.js"></script>
19
		<script src="js/uploadFiles.js"></script>
16 20
		<script src="js/userMenu.js"></script>
17 21

  
18 22
		<title>IMiGEr</title>
......
58 62
					<c:forEach items="${diagramsPrivate}" var="diagram">
59 63
						<li>
60 64
							<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>
65
							<button class="remove-diagram-button" data-id="${diagram.id}" data-name="${diagram.name}"><img src="images/button_cancel.png" alt="odstranit"></button>
62 66
						</li>
63 67
					</c:forEach>
64 68
				</ul>
......
76 80
				</ul>
77 81
			</div>
78 82
		</main>
79

  
80
		<script>
81
			var privateDiagramList = document.getElementById('privateDiagramList');
82

  
83
			$(privateDiagramList).on('click', '.removeDiagramButton', function(e) {
84
				if (confirm('Do you really want to delete ' + $(this).data('name') + '?')) {
85
					$.ajax({
86
						'type': 'delete',
87
						'url': 'api/remove-diagram?diagramId=' + $(this).data('id'),
88
						'success': function () {
89
							location.reload(true);
90
						},
91
						'error': function (xhr) {
92
							switch (xhr.status) {
93
								case 401:
94
									alert('You are either not logged in or not an owner of this diagram.');
95
									break;
96
								default:
97
									alert('Something went wrong.');
98
							}
99
						},
100
					});
101
				}
102
			});
103

  
104
			document.addEventListener('imiger.userLoggedIn', function() {
105
				$.getJSON('api/get-private-diagrams').then(function(data) {
106
					data.forEach(function(diagram) {
107
						var openDiagramLink = document.createElement('a');
108
						openDiagramLink.setAttribute('href', './graph?diagramId=' + diagram.id);
109
						openDiagramLink.innerText = diagram.name;
110

  
111
						var removeDiagramIcon = document.createElement('img');
112
						removeDiagramIcon.setAttribute('src', 'images/button_cancel.png');
113
						removeDiagramIcon.setAttribute('alt', 'odstranit');
114

  
115
						var removeDiagramButton = document.createElement('button');
116
						removeDiagramButton.setAttribute('class', 'removeDiagramButton');
117
						removeDiagramButton.setAttribute('data-id', diagram.id);
118
						removeDiagramButton.setAttribute('data-name', diagram.name);
119
						removeDiagramButton.appendChild(removeDiagramIcon);
120

  
121
						var diagramListItem = document.createElement('li');
122
						diagramListItem.appendChild(openDiagramLink);
123
						diagramListItem.appendChild(removeDiagramButton);
124

  
125
						privateDiagramList.appendChild(diagramListItem);
126
					});
127
				});
128
			});
129

  
130
			document.addEventListener('imiger.userLoggedOut', function() {
131
				privateDiagramList.innerHTML = '';
132
			});
133
		</script>
134 83
	</body>
135 84
</html>

Také k dispozici: Unified diff