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
| Ext.define('UserApp.controller.User', {
extend: 'Ext.app.Controller',
stores: ['User'],
views: [
'user.List',
'user.Edit',
'user.Create'
],
init: function() {
var myStore = this.getUserStore();
var task = {
run: function(){
myStore.load();
},
interval: 10000
}
var runner = new Ext.util.TaskRunner();
runner.start(task);
this.control({
'viewport > panel': {
render: this.onPanelRendered
},
'userList': {
itemdblclick: this.editUser,
selectionchange: this.selectUser,
},
'userList button[action=addUser]': {
click: this.newUser
},
'userList button[action=delete]': {
click: this.deleteUserClick
},
'userEdit button[action=save]': {
click: this.updateUser
},
'userCreate button[action=save]': {
click: this.createUser
},
});
},
onPanelRendered: function() {
console.log('The panel was rendered');
},
selectUser: function(selModel, selections) {
console.log('select');
var delBut = Ext.ComponentQuery.query('#deleteUser')[0];
delBut.setDisabled(false);
},
editUser: function(grid, record) {
console.log('Double clicked on ' + record.get('name'));
var view = Ext.widget('userEdit');
view.down('form').loadRecord(record);
},
newUser: function(button) {
console.log('Create');
var view = Ext.widget('userCreate');
view.down('form');
},
updateUser: function(button) {
console.log('clicked the Save button');
var win = button.up('window'),
form = win.down('form'),
record = form.getRecord(),
values = form.getValues();
var viewEF = form.getForm();
console.log('view'+ viewEF);
if (viewEF.isValid()) {
record.set(values);
win.close();
this.getUserStore().sync();
}
},
createUser: function(button) {
console.log('clicked the Save button Create');
var win = button.up('window'),
form = win.down('form'),
record = form.getRecord(),
values = form.getValues();
//record.set(values);
console.log(values);
this.getUserStore().add(values);
win.close();
this.getUserStore().sync();
},
deleteUserClick: function(selModel, selections) {
// console.log('clicked Delete');
var viewList = Ext.ComponentQuery.query('#userID')[0];
// console.log(viewList.getSelectionModel().getSelection()[0]);
var selection=viewList.getSelectionModel().getSelection()[0];
if(selection)
{
this.getUserStore().remove(selection);
this.getUserStore().sync();
}
},
}); |