aboutsummaryrefslogtreecommitdiff
path: root/js/io/ui/cloudpopup.reel/cloudpopup.js
blob: e5bad98e1730ede8f8549287bddc876334137edf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
/* <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() {
    		//
    		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() {
    		console.log(this._os);
    	}
    },
    ////////////////////////////////////////////////////////////////////
    //
    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();
    	}
    }
    ////////////////////////////////////////////////////////////////////
    ////////////////////////////////////////////////////////////////////
});
////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////