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();
        }  
    },
 
}); |