PageRenderTime 65ms CodeModel.GetById 14ms RepoModel.GetById 0ms app.codeStats 0ms

/src/gaoqi-py/static/js/module/mytags/mytags.js

https://bitbucket.org/bobyuxinyang/letsgaoqi
JavaScript | 58 lines | 43 code | 12 blank | 3 comment | 4 complexity | 2f99748355e992c944ea5e70deac2a6d MD5 | raw file
  1. define(function(require){
  2. var service = require('utility/service');
  3. require('module/mytags/mytag');
  4. window.Mytags = Backbone.Collection.extend({
  5. model: mytag,
  6. initialize: function (model) {
  7. //如果传入tags models 直接用
  8. //如果不传入tags models 就去服务器获取注册时选得所有tags
  9. if(!model) this.getAll();
  10. else this.bindModelRemoveEvent();
  11. },
  12. comparator: function (e) {
  13. return -e.get("order");
  14. },
  15. getAll: function () {
  16. var $self = this;
  17. $.ajaxSetup({cache: false});
  18. service.get_my_activity_tags(function (e) {
  19. $self._reset();
  20. $self.add(e);
  21. $self.trigger('getAll');
  22. $self.bindModelRemoveEvent();
  23. $.ajaxSetup({cache: true});
  24. });
  25. },
  26. bindModelRemoveEvent: function(){
  27. //为每个model 绑定 删除事件
  28. var _tags = this;
  29. for (var i in _tags.models) {
  30. var tag = _tags.models[i];
  31. tag.bind('removeCallback', function (cid) {
  32. var model = _tags.getByCid(cid);
  33. _tags.remove(model);
  34. });
  35. }
  36. },
  37. getTagsList: function(){
  38. var orderList = new Array();
  39. for(var key in this.models){
  40. var model = this.models[key];
  41. orderList.push(model.get('order'));
  42. }
  43. return orderList;
  44. }
  45. });
  46. })