Advertisement
gusto2

YUI Model REST snippet

Jul 20th, 2014
342
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.             YUI().use('app', 'model', 'node', 'model-sync-rest', 'io',
  2.                     'json-parse',
  3.                     function(Y) {
  4.  
  5.                         var msg = Y.one('#msg');
  6.  
  7.                         Y.Person = Y.Base.create('person', Y.Model, [Y.ModelSync.REST], {
  8.                             root: '/person',
  9.                             idAttribute: '_id',
  10.                             // overriding a default savw fn , just for demo purposes
  11.                             save: function(callback) {
  12.                                 Y.io('/person', {
  13.                                     method: 'POST',
  14.                                     data: this.toJSON(),
  15.                                     context: this,
  16.                                     on: {
  17.                                         success: function(tid, xhr) {
  18.                                             // doesn't want to load the +id attr
  19. //                                    this.parse(xhr.responseText);
  20.                                             var resp = JSON.parse(xhr.responseText);
  21.                                             this.set('_id', resp._id);
  22. //                                    this.parse(resp);
  23.                                             this.fire("change");
  24.                                             callback();
  25.                                         },
  26.                                         failure: function(tid, xhr) {
  27.                                             msg.setHTML('failure: ' + xhr.statusText);
  28.                                             callback(xhr.statusText);
  29.                                         }
  30.                                     }
  31.                                 });
  32.                             },
  33.                             ATTR: {
  34.                                 _id: {value: null},
  35.                                 name: {value: null},
  36.                                 born: {value: null},
  37.                                 rrn: {value: null}
  38.                             }
  39.                         });
  40.  
  41.                         Y.PersonList = Y.Base.create('persons', Y.ModelList, [Y.ModelSync.REST], {
  42. //                     By convention `Y.User`'s `root` will be used for `Y.Users` as well.
  43.                             model: Y.Person
  44.                         });
  45.  
  46. //                var users = new Y.PersonList();
  47.                         var msg = Y.one('#msg');
  48. //                users.load(function(e) {
  49. //                    if(!e) {
  50. //                        msg.setHTML('result: '+users.size());
  51. //                        
  52. //                    }
  53. //                    else {
  54. //                        msg.setHTML('resp: '+e);
  55. //                    }
  56. //                });
  57.  
  58.                         // create a new record
  59.                         var val = Date.now().toString();
  60.  
  61.                         var user = new Y.Person({
  62.                             name: val,
  63.                             rrn: val,
  64.                             born: val
  65.                         });
  66.  
  67. //                var addedNode = Y.one('#added');
  68. //                user.save(function(e) {
  69. //                    if (!e) {
  70. //                        msg.setHTML('User created: '+user.get('name') + ', '+ user.get('_id'));
  71. //                        return;
  72. //                    }
  73. //                    else {
  74. //                        msg.setHTML('resp: ' + e);
  75. //                    }
  76. //                });
  77.  
  78. //                msg.setHTML('created user: '+user.get('name') + ', '+user.get('_id'));
  79.  
  80.                         var id = '53cc18100d3bfaac0fd0c12a';
  81.                         user = new Y.Person({_id: id});
  82.                         user.load(function(e) {
  83.                             if (!e)
  84.                             {
  85.                                 msg.setHTML('loaded user: ' + user.get('name') + ', ' + user.get('_id'));
  86.                                 user.destroy({delete:true});
  87.                             }
  88.                             else {
  89.                                 var m = (!e.msg)?e:e.msg;
  90.                                 msg.setHTML('loading user: ' + m);
  91.                             }
  92.                         });
  93.  
  94.                     });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement