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
|
/* <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
},
////////////////////////////////////////////////////////////////////
//
components: {
enumerable: false,
value: {test_btn: null, ok_btn: null, cancel_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];
}
},
////////////////////////////////////////////////////////////////////
//
willDraw: {
enumerable: false,
value: function() {
//
}
},
////////////////////////////////////////////////////////////////////
//
draw: {
enumerable: false,
value: function() {
//
this.testConnection();
if (this.application.ninja.coreIoApi.cloudAvailable()) {
this.closeDialog();
}
}
},
////////////////////////////////////////////////////////////////////
//
didDraw: {
enumerable: false,
value: function() {
//
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);
}
},
////////////////////////////////////////////////////////////////////
//this.application.ninja.coreIoApi.hideCloudDialog
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();
}
}
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
});
////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
|