diff options
author | ArthurHoaro <arthur@hoa.ro> | 2018-02-24 18:18:33 +0100 |
---|---|---|
committer | ArthurHoaro <arthur@hoa.ro> | 2018-03-26 19:29:20 +0200 |
commit | d78c23e00d3007c3fee8c3603acac00efc1ce14e (patch) | |
tree | e4c14ee76b143de59a9fcb2c18f185df53b2f650 /assets/vintage/js | |
parent | faa5b2ce61ddc871eab2919f92d683c917730b10 (diff) | |
download | Shaarli-d78c23e00d3007c3fee8c3603acac00efc1ce14e.tar.gz Shaarli-d78c23e00d3007c3fee8c3603acac00efc1ce14e.tar.zst Shaarli-d78c23e00d3007c3fee8c3603acac00efc1ce14e.zip |
Webpack / Remove frontend dependencies from tpl/ & inc/ and move them to assets/
Diffstat (limited to 'assets/vintage/js')
-rw-r--r-- | assets/vintage/js/base.js | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/assets/vintage/js/base.js b/assets/vintage/js/base.js new file mode 100644 index 00000000..9bcc96fb --- /dev/null +++ b/assets/vintage/js/base.js | |||
@@ -0,0 +1,32 @@ | |||
1 | window.onload = function () { | ||
2 | var continent = document.getElementById('continent'); | ||
3 | var city = document.getElementById('city'); | ||
4 | if (continent != null && city != null) { | ||
5 | continent.addEventListener('change', function(event) { | ||
6 | hideTimezoneCities(city, continent.options[continent.selectedIndex].value, true); | ||
7 | }); | ||
8 | hideTimezoneCities(city, continent.options[continent.selectedIndex].value, false); | ||
9 | } | ||
10 | }; | ||
11 | |||
12 | /** | ||
13 | * Add the class 'hidden' to city options not attached to the current selected continent. | ||
14 | * | ||
15 | * @param cities List of <option> elements | ||
16 | * @param currentContinent Current selected continent | ||
17 | * @param reset Set to true to reset the selected value | ||
18 | */ | ||
19 | function hideTimezoneCities(cities, currentContinent, reset = false) { | ||
20 | var first = true; | ||
21 | [].forEach.call(cities, function(option) { | ||
22 | if (option.getAttribute('data-continent') != currentContinent) { | ||
23 | option.className = 'hidden'; | ||
24 | } else { | ||
25 | option.className = ''; | ||
26 | if (reset === true && first === true) { | ||
27 | option.setAttribute('selected', 'selected'); | ||
28 | first = false; | ||
29 | } | ||
30 | } | ||
31 | }); | ||
32 | } | ||