function init() { var favoritesManager = new FavoritesManager(); App.reqres.setHandler('favorites:getmanager', function () { return favoritesManager; }) }
function init() { App.reqres.setHandler('marketplace:getmanager', function () { return marketplaceManager; }) addToMenu(); }
return App.module('Comments', function(Comments){ // Comments level api var API = { listComments: function(id){ Comments.List.Controller.listComments(id); }, showComment: function(model){ return Comments.Show.Controller.showComment(model); } } // app level api App.on('comments:list', function(id){ API.listComments(id); }); App.reqres.setHandler('comment:show', function(model){ return API.showComment(model); }); });
function init() { var filelistManager = new FileListManager(); App.reqres.setHandler('filelists:getmanager', function () { return filelistManager; }) addToMenu(); var documentManager = App.request('documents:getmanager'); documentManager.listenTo(documentManager, 'all', function(eVentName, e) { }) App.commands.setHandler('filelists:filelisteditordoc', function () { filelistManager.showFileListEditorDoc(); }); }
return App.module('Entities', function(Entities){ Entities.Message = Backbone.Model.extend({ url: '/api/messages/' }); Entities.Messages = Backbone.Collection.extend({ model: Entities.Message, url: function(){ // if (this.forId){ // return '/api/messages/for/' + this.get('forId') // } return '/api/messages/for/' + 1 }, initialize: function(options){ this.set('forId', options.forId); } }); var API = { getMessageEntities: function(id){ // if ( id === -1 || id === undefined){ // return this.noMessages(); // } // else { // return this.fetchMessages(id); // } return this.fetchMessages(id); }, noMessages: function(){ var defer = $.Deferred(); var id = this.randomString(32) var data = new Entities.Messages({forId: id}); return defer.promise(); }, fetchMessages: function(id){ var messages = new Entities.Messages({forId: id}); var defer = $.Deferred(); messages.fetch({ success: function(data){ defer.resolve(data); }, error: function(err){ defer.resolve(undefined); } }); return defer.promise(); }, randomString: function(length){ var result = ''; var chars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; for (var i = length; i > 0 ; --i){ result += chars[Math.round( Math.random() * (chars.length-1) )]; } return result; } } App.reqres.setHandler('entities:messages', function(id){ return API.getMessageEntities(id); }) });