Skip to content
Snippets Groups Projects
Commit 66958ec0 authored by David Bauer's avatar David Bauer
Browse files

Merge branch 'toggle-recommended'

parents 8eb93db2 e0c52958
No related branches found
No related tags found
No related merge requests found
...@@ -110,16 +110,30 @@ h1, h2, h3, h4, h5, h6 { ...@@ -110,16 +110,30 @@ h1, h2, h3, h4, h5, h6 {
color: #dc0067; color: #dc0067;
} }
.firmwareTableLink { .firmwareTableLink, .notRecommendedLink, .InfoLink {
clear: right;
float:right; float:right;
color: #337ab7; color: #337ab7;
cursor: pointer; cursor: pointer;
} }
.firmwareTableLink:hover { .notRecommendedLink {
display: none;
}
.firmwareTableLink:hover, .notRecommendedLink:hover {
text-decoration: underline; text-decoration: underline;
} }
.notRecommendedLabel {
color: #337ab7;
}
#wizard #model-pane .notRecommendedCheckbox {
width:auto;
display: inline;
}
#wizard .pane-wrapper { #wizard .pane-wrapper {
box-shadow: 0 0.15em 0.5em #ccc; box-shadow: 0 0.15em 0.5em #ccc;
margin: 1em 0 3em 0; margin: 1em 0 3em 0;
...@@ -180,7 +194,8 @@ h1, h2, h3, h4, h5, h6 { ...@@ -180,7 +194,8 @@ h1, h2, h3, h4, h5, h6 {
box-shadow: 0 0 0.5em #005ea0 inset; box-shadow: 0 0 0.5em #005ea0 inset;
} }
#wizard #branch-pane .warning-experimental { #wizard #branch-pane .warning-experimental,
#wizard #model-pane .warning-notrecommended {
display: none; display: none;
margin: 1em 0; margin: 1em 0;
padding: 1em; padding: 1em;
...@@ -188,7 +203,8 @@ h1, h2, h3, h4, h5, h6 { ...@@ -188,7 +203,8 @@ h1, h2, h3, h4, h5, h6 {
border: .5em solid #009ee0; border: .5em solid #009ee0;
} }
#wizard #branch-pane.show-experimental-warning .warning-experimental { #wizard #branch-pane.show-experimental-warning .warning-experimental,
#wizard #model-pane.show-notrecommended-warning .warning-notrecommended {
display: block; display: block;
} }
......
...@@ -104,7 +104,8 @@ var firmwarewizard = function() { ...@@ -104,7 +104,8 @@ var firmwarewizard = function() {
var wizard = parseWizardObject(); var wizard = parseWizardObject();
app.currentVersions = {}; app.currentVersions = {};
var images = {}; var availableImages = {};
var images = availableImages;
var vendormodels_reverse; var vendormodels_reverse;
var typeNames = { var typeNames = {
...@@ -145,6 +146,14 @@ var firmwarewizard = function() { ...@@ -145,6 +146,14 @@ var firmwarewizard = function() {
if ("enabled_device_categories" in config) { if ("enabled_device_categories" in config) {
enabled_device_categories = config.enabled_device_categories; enabled_device_categories = config.enabled_device_categories;
} }
if (config.recommended_toggle) {
enabled_device_categories = ['recommended'];
show_inline('.notRecommendedLink');
if (config.recommended_info_link) {
$('#notrecommendedinfo').innerHTML = '<p><a href="' + config.recommended_info_link + '" target="_new">Mehr Informationen</a>';
}
}
function buildVendorModelsReverse() { function buildVendorModelsReverse() {
var vendormodels_reverse = {}; var vendormodels_reverse = {};
...@@ -188,6 +197,21 @@ var firmwarewizard = function() { ...@@ -188,6 +197,21 @@ var firmwarewizard = function() {
return wizard; return wizard;
} }
function setFilteredImages() {
images = {};
for (var vendor in availableImages) {
images[vendor] = {};
for (var model in availableImages[vendor]) {
for (var device in availableImages[vendor][model]) {
console.log(availableImages[vendor][model][device].category)
if (enabled_device_categories.indexOf(availableImages[vendor][model][device].category) > -1) {
addArray(images[vendor], model, availableImages[vendor][model][device]);
}
}
}
}
}
window.onpopstate = function(event) { window.onpopstate = function(event) {
if (event.state === null) return; if (event.state === null) return;
wizard = parseWizardObject(event.state); wizard = parseWizardObject(event.state);
...@@ -231,6 +255,10 @@ var firmwarewizard = function() { ...@@ -231,6 +255,10 @@ var firmwarewizard = function() {
scrollDown(); scrollDown();
}); });
$('#wizard .notRecommendedLink').addEventListener('click', function(e) {
toggleClass($('#model-pane'), 'show-notrecommended-warning');
});
$('#wizard .firmwareTableLink').addEventListener('click', function(e) { $('#wizard .firmwareTableLink').addEventListener('click', function(e) {
firmwarewizard.showFirmwareTable(); firmwarewizard.showFirmwareTable();
}); });
...@@ -239,6 +267,17 @@ var firmwarewizard = function() { ...@@ -239,6 +267,17 @@ var firmwarewizard = function() {
firmwarewizard.hideFirmwareTable(); firmwarewizard.hideFirmwareTable();
}); });
$('#notrecommendedselect').addEventListener('change', function(e) {
if (this.checked) {
enabled_device_categories = config.enabled_device_categories;
} else if ("enabled_device_categories" in config) {
enabled_device_categories = ['recommended'];
}
setFilteredImages();
updateHTML(wizard);
updateFirmwareTable();
});
vendormodels_reverse = buildVendorModelsReverse(); vendormodels_reverse = buildVendorModelsReverse();
loadDirectories(function() { loadDirectories(function() {
...@@ -251,7 +290,7 @@ var firmwarewizard = function() { ...@@ -251,7 +290,7 @@ var firmwarewizard = function() {
var model = fullModelList[m][MODEL_MODEL]; var model = fullModelList[m][MODEL_MODEL];
previews.appendChild(createPicturePreview(vendor, model, searchstring)); previews.appendChild(createPicturePreview(vendor, model, searchstring));
} }
setFilteredImages();
updateHTML(wizard); updateHTML(wizard);
show_block('.manualSelection'); show_block('.manualSelection');
updateFirmwareTable(); updateFirmwareTable();
...@@ -370,11 +409,6 @@ var firmwarewizard = function() { ...@@ -370,11 +409,6 @@ var firmwarewizard = function() {
return; return;
} }
if (enabled_device_categories.indexOf(device.category) == -1) {
// the category is not in the list of enabled categories
return;
}
var strippedFilename = filename; var strippedFilename = filename;
strippedFilename = strippedFilename.replace(config.community_prefix, '-'); strippedFilename = strippedFilename.replace(config.community_prefix, '-');
...@@ -450,18 +484,19 @@ var firmwarewizard = function() { ...@@ -450,18 +484,19 @@ var firmwarewizard = function() {
// collect branch versions // collect branch versions
app.currentVersions[branch] = version; app.currentVersions[branch] = version;
if (!(device.vendor in images)) { if (!(device.vendor in availableImages)) {
images[device.vendor] = {}; availableImages[device.vendor] = {};
} }
addArray(images[device.vendor], device.model, { addArray(availableImages[device.vendor], device.model, {
'revision': revision, 'revision': revision,
'branch': branch, 'branch': branch,
'type': type, 'type': type,
'version': version, 'version': version,
'location': location, 'location': location,
'size': size, 'size': size,
'preview': preview+".jpg" 'preview': preview+".jpg",
'category': device.category
}); });
} }
...@@ -674,7 +709,7 @@ var firmwarewizard = function() { ...@@ -674,7 +709,7 @@ var firmwarewizard = function() {
var model = modelList[f][MODEL_MODEL]; var model = modelList[f][MODEL_MODEL];
for(p = 0; p < previews.length; p++) { for(p = 0; p < previews.length; p++) {
if (previews[p].getAttribute('data-searchstring') == searchstring) { if (previews[p].getAttribute('data-model') == model) {
previews[p].style.display = 'inline-block'; previews[p].style.display = 'inline-block';
if (modelList.length == 1) { if (modelList.length == 1) {
setClass(previews[p], 'selected', true); setClass(previews[p], 'selected', true);
......
...@@ -20,6 +20,12 @@ var config = { ...@@ -20,6 +20,12 @@ var config = {
vendormodels: vendormodels, vendormodels: vendormodels,
// set enabled categories of devices (see devices.js) // set enabled categories of devices (see devices.js)
enabled_device_categories: ["recommended"], enabled_device_categories: ["recommended"],
// Display a checkbox that allows to display not recommended devices.
// This only make sense if enabled_device_categories also contains not
// recommended devices.
recommended_toggle: false,
// Optional link to an info page about no longer recommended devices
recommended_info_link: null,
// community prefix of the firmware images // community prefix of the firmware images
community_prefix: 'gluon-ffda-', community_prefix: 'gluon-ffda-',
// firmware version regex // firmware version regex
......
...@@ -18,8 +18,24 @@ ...@@ -18,8 +18,24 @@
<img src="./router.png" > <img src="./router.png" >
<div class="pane-wrapper"> <div class="pane-wrapper">
<div id="model-pane" class="pane"> <div id="model-pane" class="pane">
<span class="notRecommendedLink">Veraltete Geräte anzeigen</span>
<span class="firmwareTableLink">Tabelle anzeigen</span> <span class="firmwareTableLink">Tabelle anzeigen</span>
<h1>Schritt 1: Wähle Dein Routermodell</h1> <h1>Schritt 1: Wähle Dein Routermodell</h1>
<div class="warning-notrecommended">
<p>
<b>Vorsicht!</b> Nicht ohne Grund siehst Du in der Voreinstellung
nur die von uns empfohlenen Geräte, denn nur mit diesen ist ein reibungsloser
Freifunk-Betrieb gewährleistet.
</p>
<p>
Du solltest dich aber im vorraus Informieren, bevor du
veraltete Geräte verwendest, um selbst abzuwägen, ob Du wirklich alle
Nachteile in Kauf nehmen willst.
</p>
<div id="notrecommendedinfo"></div>
<input type="checkbox" id="notrecommendedselect" class="notRecommendedCheckbox" value="notRecommended" />
<label class="notRecommendedLabel" for="notrecommendedselect">Veraltete Geräte trotzdem anzeigen</label>
</div>
<p>Erst mit der Freifunk-Firmware wird dein Router zu einem Teil des <p>Erst mit der Freifunk-Firmware wird dein Router zu einem Teil des
Freifunk-Netzes. Sie ist fertig vorkonfiguriert, um Kontakt mit Freifunk-Netzes. Sie ist fertig vorkonfiguriert, um Kontakt mit
benachbarten Freifunk-Knoten aufzunehmen, ein offenes und ohne benachbarten Freifunk-Knoten aufzunehmen, ein offenes und ohne
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment