0
0
mirror of https://github.com/Doodle3D/doodle3d-connect.git synced 2024-12-27 02:53:48 +01:00
doodle3d-connect/js/JoinNetworkPage.js

91 lines
2.7 KiB
JavaScript
Raw Normal View History

2014-04-25 16:24:25 +02:00
/*
* 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.
*/
2014-05-12 14:44:21 +02:00
(function (w) {
2014-04-25 16:24:25 +02:00
var _page;
var _list;
2014-05-01 13:12:30 +02:00
//var _joinOtherItem;
2014-04-25 16:24:25 +02:00
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]");
2014-05-01 13:12:30 +02:00
//_joinOtherItem = _list.find("#joinOther");
2014-04-25 16:24:25 +02:00
});
$.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;
}
2014-04-25 16:24:25 +02:00
var boxURL = "http://"+_boxData.localip;
console.log(" _boxData: ",_boxData);
_networkAPI.init(boxURL);
refreshNetworks();
});
$.mobile.document.on( "pagebeforehide", PAGE_ID, function( event, data ) {
2014-04-25 16:24:25 +02:00
console.log("Join network page pagehide");
clearTimeout(_refreshDelay);
});
function refreshNetworks() {
2014-05-01 13:12:30 +02:00
//console.log("JoinNetwork:refreshNetworks");
2014-04-25 16:24:25 +02:00
d3d.util.showLoader();
_networkAPI.scan(function(data) { // completed
2014-05-01 13:12:30 +02:00
//console.log("JoinNetwork:refreshNetworks:scanned");
2014-04-25 16:24:25 +02:00
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);
2014-05-01 13:12:30 +02:00
//console.log(" linkParams: ",linkParams);
2014-04-25 16:24:25 +02:00
$.each(_networks, function(index,network) {
2014-05-01 13:12:30 +02:00
//console.log(" network: ",network);
2014-04-25 16:24:25 +02:00
linkParams.ssid = network.ssid;
2014-04-25 16:52:02 +02:00
var secured = (network.encryption !== "none" && network.encryption !== "");
2014-04-25 16:24:25 +02:00
var link;
var icon = "";
linkParams.encryption = network.encryption;
2014-04-25 16:24:25 +02:00
if(secured) {
link = d3d.util.replaceURLParameters(baseSecuredLink,linkParams);
icon = "lock";
} else {
link = d3d.util.replaceURLParameters(baseConnectingLink,linkParams);
}
2014-05-01 13:12:30 +02:00
//console.log(" link: ",link);
2014-04-25 16:24:25 +02:00
_list.append(
$('<li data-icon="'+icon+'"><a href="'+link+'">'+network.ssid+'</a></li>')
);
});
2014-05-01 13:12:30 +02:00
//_list.append(_joinOtherItem);
2014-04-25 16:24:25 +02:00
_list.listview('refresh'); // jQuery mobile enhance content
}
2014-05-12 14:44:21 +02:00
})(window);