Search code examples
jerseysencha-touch-2additionupdates

Sencha touch 2~add, delete, update a data record by using jersey


I am new for sencha touch. I need to add , update a data record detail. But I don't have any idea. Here is my sample code

View.js

    Ext.define('bluebutton.view.BlueButton.Loyalty', {
    extend: 'Ext.Container',
    xtype: 'loyaltycard',
       requires: [

    'bluebutton.view.BlueButton.TransactionList',
    'bluebutton.view.BlueButton.MemberPopUp',
     'bluebutton.view.BlueButton.MemberDetail',


    'Ext.ux.keypad.Keypad',
    'Ext.Img'



    ],
    config: {
//        iconCls: 'add_black',
//        title :'Loyalty Point',
        styleHtmlContent: true,
        cls: 'styledContent',
//        
         layout: 'hbox',
         border: 3,
         ui: 'round',
         defaults: {
                margin : '10 10 10 10',
                 padding : 10
             },

        items :[


           {
                flex: 1,
                cls :'containerRadious' ,
                xtype :'container',

                items :[
                    {
                         xtype: 'fieldset',
                        title: 'Welcome, new member ~<i><u>Kenny</u></i>',
                          defaults: {
                            labelWidth: '35%',
                            style: 'font-size:1.0em'
                        },
                        items: [
                            {

                                xtype: 'image',
                                src: 'resources/images/user3.png',
                                height: 100,
                                margin:20

                            },



                            {
                                xtype: 'textfield',
                                name : 'Name',
                                label: 'Name',
                                value :'Kenny Chow',
                                readOnly: true
                            },
                             {
                                xtype: 'textfield',
                                name : 'Age',
                                label: 'Age',
                                value :'20',
                                readOnly: true
                            },
                             {
                                xtype: 'textfield',
                                name : 'Point Available',
                                label: 'Point Available',
                                 value :'50',
                                 id :'pointAvalaible',
                                 readOnly: true
                            },
                             {
                                xtype: 'textfield',
                                name : 'Last Visited',
                                label: 'Last Visited',
                                value :'27/12/2012 11:53 AM',
                                readOnly: true
                            },
                            {
                                xtype:'button',
                                 text: 'Add',
                                 handler: function() {

                                 }

                            },

                            {
                                xtype:'button',
                                 text: 'Delete',
                                 handler: function() {


                                 }


                            },

                            {
                                xtype:'button',
                                 text: 'update',
                                 handler: function() {


                                 }


                            }

                        ]

                    }
                ]

            },


            {
                 flex: 2,
                 xtype :'container',
                  cls :'containerRadious' ,

                 items :[
                     {


                         centered : true,
                         xtype :'keypad',
                         margin : '30',


                     }


                 ]


            }




        ],


   }

});

Model.js

Ext.define('bluebutton.model.BlueButton.MemberList', {
    extend: 'Ext.data.Model',
    config: {
        idProperty: 'memberModel',
        fields: [
            { name: 'memberId' },
            { name: 'name' },
            { name: 'messages' },
            { name: 'imgUrl' },
            { name: 'age' },
            { name: 'address' },
            { name: 'pointAvalaible' },
            { name: 'lastVisited' },

        ]
    }
});

Store.js

Ext.define('bluebutton.store.BlueButton.MemberList', {
    extend: 'Ext.data.Store',
   requires: [
//        'bluebutton.model.BlueButton.MemberList'
    ],

    config: {
        grouper: {
            groupFn: function (record) {
                return record.get('name')[0];
            }
        },

          proxy: {
                   type: 'ajax',
                   api: {
                     create : 'index.php?r=show/add',
                     read   : 'index.php?r=show/read',
                     update : 'index.php?r=show/update',
                     destroy: 'index.php?r=show/delete'
                   }
                },

           model :'memberModel',
           storeId :'memberStore',
           autoLoad:false,
           pageSize: 5,
           clearOnPageLoad: false, 

        data: [{
            memberId: 'Kenny',
            name: 'Kenny Chow',
            imgUrl: 'resources/images/user3.png',
            age: '20',
            address:'The Business Centre , 61 Wellfield Road , Roath, Cardiff, CF24 3DG',
            pointAvalaible :'10',
            lastVisited: '26/11/2012, 11:52 AM',




        }, {
            memberId: 'Anthony',
            name: 'Anthony Tan',
            imgUrl: 'resources/images/user3.png',
            age: '21',
            address:'3 Edgar Buildings , George Street , Bath , England , BA1 2FJ',
            pointAvalaible :'45',
            lastVisited: '27/11/2012, 09:52 AM'
        },

        {
            memberId: 'Nicholas',
            name: 'Nicholas Chen',
            imgUrl: 'resources/images/user3.png',
            age: '22',
            address: '91 Western Road , Brighton ,East Sussex ,England ,BN1 2NW ',
            pointAvalaible :'30',
            lastVisited: '30/11/2012, 15:52 PM'
        },

        {
            memberId: 'Admin2',
            name: 'Admin2',
            imgUrl: 'resources/images/user3.png',
            age: '30',
            address: '50 Eestern Road , Brighton ,West Sussex ,England ,BN1 34W ',
            pointAvalaible :'120',
            lastVisited: '01/12/2012, 15:52 PM'
        },

         {
             memberId: 'Ahmad',
             name: 'Ahmad Mohamad',
             imgUrl: 'resources/images/user3.png',
             age: '25',
              address:'Office 33 ,27 Colmore Row ,Birmingham, England ,B3 2EW',
                 pointAvalaible :'32',
              lastVisited: '30/11/2012, 18:52 PM'
         }
         ,

          {
             memberId: 'AronTan',
             name: 'Tan Wan Hua',
             imgUrl: 'resources/images/user3.png',
             age: '26',
              address:'Office 33 ,27 Colmore Row ,Birmingham, England ,B3 2EW',
                 pointAvalaible :'32',
              lastVisited: '30/11/2012, 18:52 PM'
         },

          {
             memberId: 'Justin',
             name: 'Wong Choon Wah',
             imgUrl: 'resources/images/user3.png',
             age: '25',
              address:'Office 33 ,27 Colmore Row ,Birmingham, England ,B3 2EW',
                 pointAvalaible :'32',
              lastVisited: '30/11/2012, 18:52 PM'
         },

          {
             memberId: 'User5',
             name: 'User2',
             imgUrl: 'resources/images/user3.png',
             age: '25',
              address:'Office 33 ,27 Colmore Row ,Birmingham, England ,B3 2EW',
                 pointAvalaible :'32',
              lastVisited: '30/11/2012, 18:52 PM'
         }



        ]
    }
});

Please provide me some example


Solution

  • I suspect you need to get started using Jersey for implementing the server side code.
    Here's what I would suggest:

    1. Start listing down the services that you would need. (Add/ Update data record detail)
    2. Have a look at this tutorial by mkyong for getting started with Jersey.
    3. Implement the first cut which works.
    4. Try to improve and iterate by reading more about Jersey features (Annotations, POJO Mapping, ExceptionMapper etc.)