Skip to content

Commit eb2898a

Browse files
committed
/collection/info: extract inlined JS code into separate file.
Addressed to #221 No functional changes.
1 parent 04f5b89 commit eb2898a

File tree

3 files changed

+42
-41
lines changed

3 files changed

+42
-41
lines changed

src/main/java/ru/mystamps/web/Url.java

+3
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ public final class Url {
7979
public static final String MAIN_CSS = "/static/styles/main.css";
8080
public static final String CATALOG_UTILS_JS = "/public/js/CatalogUtils.js";
8181
public static final String SERIES_ADD_JS = "/public/js/series/add.js";
82+
public static final String COLLECTION_INFO_JS = "/public/js/collection/info.js";
8283

8384
public static final String BOOTSTRAP_CSS = "/public/bootstrap/css/bootstrap.min.css";
8485
public static final String BOOTSTRAP_JS = "/public/bootstrap/js/bootstrap.min.js";
@@ -141,13 +142,15 @@ public static Map<String, String> asMap(boolean serveContentFromSingleHost) {
141142
map.put("MAIN_CSS", MAIN_CSS);
142143
map.put("CATALOG_UTILS_JS", CATALOG_UTILS_JS);
143144
map.put("SERIES_ADD_JS", SERIES_ADD_JS);
145+
map.put("COLLECTION_INFO_JS", COLLECTION_INFO_JS);
144146
} else {
145147
// Use separate domain for our own resources
146148
map.put("GET_IMAGE_PAGE", STATIC_RESOURCES_URL + GET_IMAGE_PAGE);
147149
map.put("FAVICON_ICO", STATIC_RESOURCES_URL + FAVICON_ICO);
148150
map.put("MAIN_CSS", STATIC_RESOURCES_URL + MAIN_CSS);
149151
map.put("CATALOG_UTILS_JS", STATIC_RESOURCES_URL + CATALOG_UTILS_JS);
150152
map.put("SERIES_ADD_JS", STATIC_RESOURCES_URL + SERIES_ADD_JS);
153+
map.put("COLLECTION_INFO_JS", STATIC_RESOURCES_URL + COLLECTION_INFO_JS);
151154

152155
// Use CDN for external resources like frameworks
153156
map.put("BOOTSTRAP_CSS", BOOTSTRAP_CSS_CDN);
+31
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
function initPage(statByCategories, statByCountries) {
2+
google.charts.load('44', {'packages':['corechart']});
3+
google.charts.setOnLoadCallback(function() {
4+
drawChart('categories-chart', createCategoriesDataTable(statByCategories));
5+
drawChart('countries-chart', createCountriesDataTable(statByCountries));
6+
});
7+
}
8+
9+
function drawChart(containerId, table) {
10+
var options = {
11+
pieHole: 0.3
12+
};
13+
var chart = new google.visualization.PieChart(document.getElementById(containerId));
14+
chart.draw(table, options);
15+
};
16+
17+
function createCategoriesDataTable(stat) {
18+
var table = new google.visualization.DataTable();
19+
table.addColumn('string', 'Category');
20+
table.addColumn('number', 'Quantity of stamps');
21+
table.addRows(stat);
22+
return table;
23+
};
24+
25+
function createCountriesDataTable(stat) {
26+
var table = new google.visualization.DataTable();
27+
table.addColumn('string', 'Country');
28+
table.addColumn('number', 'Quantity of stamps');
29+
table.addRows(stat);
30+
return table;
31+
};

src/main/webapp/WEB-INF/views/collection/info.html

+8-41
Original file line numberDiff line numberDiff line change
@@ -208,48 +208,23 @@ <h4 class="panel-title" th:text="#{t_stamps_by_categories}">Stamps by categories
208208
/*/-->
209209
<!-- Charts -->
210210
<script src="https://www.gstatic.com/charts/loader.js"></script>
211+
<script src="../../../../javascript/collection/info.js" th:src="${COLLECTION_INFO_JS}"></script>
211212
<script th:inline="javascript">
212213
/*<![CDATA[*/
213-
214-
var drawChart = function(containerId, table) {
215-
var options = {
216-
pieHole: 0.3
217-
};
218-
var chart = new google.visualization.PieChart(document.getElementById(containerId));
219-
chart.draw(table, options);
220-
};
221-
222-
var createCategoriesDataTable = function() {
223-
var table = new google.visualization.DataTable();
224-
table.addColumn('string', 'Category');
225-
table.addColumn('number', 'Quantity of stamps');
226-
214+
$(function() {
227215
/*[+
228-
table.addRows([[${statOfCollectionByCategories}]]);
216+
initPage(
217+
[[${statOfCollectionByCategories}]],
218+
[[${statOfCollectionByCountries}]]
219+
);
229220
+]*/
230221

231222
/*[- */
232-
table.addRows([
223+
initPage([
233224
['Animals', 94],
234225
['Prehistoric animals', 37],
235226
['Sport', 1]
236-
]);
237-
/* -]*/
238-
239-
return table;
240-
};
241-
242-
var createCountriesDataTable = function() {
243-
var table = new google.visualization.DataTable();
244-
table.addColumn('string', 'Country');
245-
table.addColumn('number', 'Quantity of stamps');
246-
247-
/*[+
248-
table.addRows([[${statOfCollectionByCountries}]]);
249-
+]*/
250-
251-
/*[- */
252-
table.addRows([
227+
], [
253228
['Russia', 5],
254229
['USA', 2],
255230
['Australia', 11],
@@ -261,14 +236,6 @@ <h4 class="panel-title" th:text="#{t_stamps_by_categories}">Stamps by categories
261236
['Korea', 2]
262237
]);
263238
/* -]*/
264-
265-
return table;
266-
};
267-
268-
google.charts.load('44', {'packages':['corechart']});
269-
google.charts.setOnLoadCallback(function() {
270-
drawChart('categories-chart', createCategoriesDataTable());
271-
drawChart('countries-chart', createCountriesDataTable());
272239
});
273240

274241
/*]]>*/

0 commit comments

Comments
 (0)