/* <copyright> This file contains proprietary software owned by Motorola Mobility, Inc.<br/> No rights, expressed or implied, whatsoever to this software are provided by Motorola Mobility, Inc. hereunder.<br/> (c) Copyright 2011 Motorola Mobility, Inc. All Rights Reserved. </copyright> */ //////////////////////////////////////////////////////////////////////// // var Montage = require("montage/core/core").Montage, Component = require("montage/ui/component").Component; //////////////////////////////////////////////////////////////////////// // exports.CloudPopup = Montage.create(Component, { //////////////////////////////////////////////////////////////////// // hasTemplate: { value: true }, //////////////////////////////////////////////////////////////////// // _os: { value: null }, //////////////////////////////////////////////////////////////////// // components: { enumerable: false, value: {test_btn: null, ok_btn: null, cancel_btn: null, download_btn: null, status: null, url: null} }, //////////////////////////////////////////////////////////////////// // prepareForDraw: { enumerable: false, value: function () { // this.components.test_btn = this.element.getElementsByClassName('btn_test nj-skinned')[0]; this.components.ok_btn = this.element.getElementsByClassName('btn_ok nj-skinned')[0]; this.components.cancel_btn = this.element.getElementsByClassName('btn_cancel nj-skinned')[0]; this.components.status = this.element.getElementsByClassName('status')[0]; this.components.url = this.element.getElementsByClassName('cloud_url')[0]; this.components.download_btn = this.element.getElementsByClassName('btn_download nj-skinned')[0]; } }, //////////////////////////////////////////////////////////////////// // willDraw: { enumerable: false, value: function() { // if (navigator.appVersion.indexOf("Win")!=-1) { this._os = 'windows'; } else if (navigator.appVersion.indexOf("Mac")!=-1) { this._os = 'mac'; } else { //Alternate message for no OS detected (probably Linux) this.element.getElementsByTagName('section')[0].style.display = 'none'; } } }, //////////////////////////////////////////////////////////////////// // draw: { enumerable: false, value: function() { // if (this.application.localStorage.getItem("ioRootUrl")) { this.components.url.value = this.application.localStorage.getItem("ioRootUrl"); } // this.testConnection(); if (this.application.ninja.coreIoApi.cloudAvailable()) { this.closeDialog(); } } }, //////////////////////////////////////////////////////////////////// // didDraw: { enumerable: false, value: function() { // this.components.download_btn.addEventListener('click', this.downloadCloudApp.bind(this), false); // this.components.test_btn.addEventListener('click', this.testConnection.bind(this), false); // this.components.ok_btn.addEventListener('click', this.closeDialog.bind(this), false); this.components.cancel_btn.addEventListener('click', this.cancelDialog.bind(this), false); } }, //////////////////////////////////////////////////////////////////// // downloadCloudApp: { enumerable: false, value: function() { if(this._os === 'mac') { location.href = '/ninja_localcloud_for_mac.zip'; } else if (this._os === 'windows') { location.href = '/ninja_localcloud_for_windows.zip'; } else { alert('Your operating system is not supported by the Ninja Local Cloud App.'); } } }, //////////////////////////////////////////////////////////////////// // testConnection: { enumerable: false, value: function() { // this.application.ninja.coreIoApi.rootUrl = this.components.url.value; // if (this.application.ninja.coreIoApi.cloudAvailable()) { this.components.status.style.color = '#77FF00'; this.components.status.innerHTML = 'Connected to '+this.application.ninja.coreIoApi.cloudData.name; } else { this.components.status.style.color = '#FF3A3A'; this.components.status.innerHTML = 'Disconnected'; } } }, //////////////////////////////////////////////////////////////////// // closeDialog: { enumerable: false, value: function() { // this.application.ninja.coreIoApi.hideCloudDialog(); } }, //////////////////////////////////////////////////////////////////// // cancelDialog: { enumerable: false, value: function() { // this.application.ninja.coreIoApi.rootUrl = null; this.application.ninja.coreIoApi.hideCloudDialog(); } } //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// }); //////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////