0
0
mirror of https://github.com/Doodle3D/doodle3d-connect.git synced 2024-06-02 08:44:31 +02:00
doodle3d-connect/js/JoinNetworkPage.js
peteruithoven 83a9a37a3d Fixed check on connecting to network page
It should now only redirect to home when the network is encrypted and
there is no form data (or there are no url params).
2014-05-22 11:26:52 +02:00

91 lines
2.7 KiB
JavaScript

/*
* This file is part of the Doodle3D project (http://doodle3d.com).
*
* Copyright (c) 2013, Doodle3D
* This software is licensed under the terms of the GNU GPL v2 or later.
* See file LICENSE.txt or visit http://www.gnu.org/licenses/gpl.html for full license details.
*/
(function (w) {
var _page;
var _list;
//var _joinOtherItem;
var _networks;
var _networkAPI = new NetworkAPI();
var _boxData = {};
var _refreshDelay;
var _refreshDelayTime = 3000;
var PAGE_ID = "#join_network";
var _self = this;
$.mobile.document.on( "pageinit", PAGE_ID, function( event, data ) {
console.log("Join network page pageinit");
_page = $(this);
_list = _page.find("ul[data-role=listview]");
//_joinOtherItem = _list.find("#joinOther");
});
$.mobile.document.on( "pagebeforeshow", PAGE_ID, function( event, data ) {
console.log("Join network page pagebeforeshow");
_boxData = d3d.util.getPageParams(PAGE_ID);
if(_boxData === undefined) {
$.mobile.changePage("#boxes");
return;
}
var boxURL = "http://"+_boxData.localip;
console.log(" _boxData: ",_boxData);
_networkAPI.init(boxURL);
refreshNetworks();
});
$.mobile.document.on( "pagebeforehide", PAGE_ID, function( event, data ) {
console.log("Join network page pagehide");
clearTimeout(_refreshDelay);
});
function refreshNetworks() {
//console.log("JoinNetwork:refreshNetworks");
d3d.util.showLoader();
_networkAPI.scan(function(data) { // completed
//console.log("JoinNetwork:refreshNetworks:scanned");
d3d.util.hideLoader();
_networks = {};
$.each(data.networks, function(index,network) {
_networks[network.ssid] = network;
});
// update list
updateList();
// keep refreshing
clearTimeout(_refreshDelay);
_refreshDelay = setTimeout(refreshNetworks, _refreshDelayTime);
});
}
function updateList() {
_list.empty();
var baseConnectingLink = _list.data("connecting-target");
var baseSecuredLink = _list.data("secured-target");
var linkParams = $.extend({}, _boxData);
//console.log(" linkParams: ",linkParams);
$.each(_networks, function(index,network) {
//console.log(" network: ",network);
linkParams.ssid = network.ssid;
var secured = (network.encryption !== "none" && network.encryption !== "");
var link;
var icon = "";
linkParams.encryption = network.encryption;
if(secured) {
link = d3d.util.replaceURLParameters(baseSecuredLink,linkParams);
icon = "lock";
} else {
link = d3d.util.replaceURLParameters(baseConnectingLink,linkParams);
}
//console.log(" link: ",link);
_list.append(
$('<li data-icon="'+icon+'"><a href="'+link+'">'+network.ssid+'</a></li>')
);
});
//_list.append(_joinOtherItem);
_list.listview('refresh'); // jQuery mobile enhance content
}
})(window);