forked from exsurgo/ProjectTemplates
/
Account.js
154 lines (116 loc) · 3.97 KB
/
Account.js
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
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
/*
* File: app/controller/Account.js
*
* This file was generated by Sencha Architect version 3.0.0.
* http://www.sencha.com/products/architect/
*
* This file requires use of the Sencha Touch 2.2.x library, under independent license.
* License of Sencha Architect does not include license for Sencha Touch 2.2.x. For more
* details see http://www.sencha.com/license or contact license@sencha.com.
*
* This file will be auto-generated each and everytime you save your project.
*
* Do NOT hand edit this file.
*/
Ext.define('MyApp.controller.Account', {
extend: 'Ext.app.Controller',
config: {
refs: {
mainView: 'mainview',
loginPanel: 'mainview #loginPanel',
welcomePanel: 'mainview #welcomePanel'
},
control: {
"mainview #showLoginButton": {
tap: 'showLogin'
},
"mainview #showRegisterButton": {
tap: 'showRegister'
},
"loginform #loginButton": {
tap: 'login'
},
"registerform #registerButton": {
tap: 'register'
}
}
},
showLogin: function(button, e, eOpts) {
var loginForm = Ext.create('widget.loginform'), // Login form
mainView = this.getMainView(); // Main view
// Navigate to login
mainView.push({
xtype: "loginform",
title: "Login"
});
},
showRegister: function(button, e, eOpts) {
var registerForm = Ext.create('widget.registerform'), // Registration form
mainView = this.getMainView(); // Main view
// Navigate to register
mainView.push({
xtype: "registerform",
title: "Register"
});
},
login: function(button, e, eOpts) {
var form = button.up('formpanel'), // Login form
values = form.getValues(), // Form values
mainView = this.getMainView(), // Main view
loginPanel = this.getLoginPanel(), // Login and register buttons
welcomePanel = this.getWelcomePanel(); // Welcome panel
// Success
var successCallback = function(resp, ops) {
// Go back
mainView.pop();
// Hide login panel
loginPanel.hide();
// Show welcome panel
welcomePanel.show();
};
// Failure
var failureCallback = function(resp, ops) {
// Show login failure error
Ext.Msg.alert("Login Failure", resp);
};
// TODO: Login using server-side authentication service
// Ext.Ajax.request({
// url: "/api/login",
// params: values,
// success: successCallback,
// failure: failureCallback
// });
// Just run success for now
successCallback();
},
register: function(button, e, eOpts) {
var form = button.up('formpanel'), // Login form
values = form.getValues(), // Form values
mainView = this.getMainView(), // Main view
loginPanel = this.getLoginPanel(), // Login and register buttons
welcomePanel = this.getWelcomePanel(); // Welcome panel
// Success
var successCallback = function(resp, ops) {
// Go back
mainView.pop();
// Hide login panel
loginPanel.hide();
// Show welcome panel
welcomePanel.show();
};
// Failure
var failureCallback = function(resp, ops) {
// Show login failure error
Ext.Msg.alert("Registration Failure", resp);
};
// TODO: Register using server-side authentication service
// Ext.Ajax.request({
// url: "/api/register",
// params: values,
// success: successCallback,
// failure: failureCallback
// });
// Just run success for now
successCallback();
}
});