/* * 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 JoinNetworkPage(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"); console.log(" list: ",_list); }); $.mobile.document.on( "pagebeforeshow", PAGE_ID, function( event, data ) { console.log("Join network page pagebeforeshow"); _boxData = d3d.util.getPageParams(PAGE_ID); var boxURL = "http://"+_boxData.localip; console.log(" _boxData: ",_boxData); _networkAPI.init(boxURL); refreshNetworks(); }); $.mobile.document.on( "pagehide", 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 = ""; if(secured) { linkParams.encryption = network.encryption; link = d3d.util.replaceURLParameters(baseSecuredLink,linkParams); icon = "lock"; } else { link = d3d.util.replaceURLParameters(baseConnectingLink,linkParams); } console.log(" link: ",link); _list.append( $('