PageRenderTime 48ms CodeModel.GetById 23ms RepoModel.GetById 1ms app.codeStats 0ms

/static/js/model-models.js

https://bitbucket.org/dibau/model
JavaScript | 50 lines | 40 code | 5 blank | 5 comment | 1 complexity | c035599c92ce88d07e0a90b8df16352c MD5 | raw file
  1. /**
  2. * User: udibauman
  3. * Date: 2/2/12
  4. * Time: 7:00 PM
  5. */
  6. var DiagramElement = Backbone.Model.extend({
  7. defaults: {
  8. "x": 0,
  9. "y": 0,
  10. "width": 40,
  11. "height": 100
  12. }
  13. });
  14. var Class = DiagramElement.extend({
  15. defaults: {
  16. "name": "",
  17. "super_classes": [],
  18. "public_methods": [],
  19. "private_methods": []
  20. },
  21. get_all_members: function () {
  22. var result = [];
  23. var name = this.get('name');
  24. if (this.get('super_classes').length > 0) {
  25. name += " : ";
  26. name += this.get('super_classes').join(",")
  27. }
  28. result.push(name);
  29. _.each(this.get('public_methods'), function(n) { result.push(n); });
  30. _.each(this.get('private_methods'), function(n) { result.push(n); });
  31. return result;
  32. }
  33. });
  34. var ClassDiagram = Backbone.Collection.extend({
  35. model: Class,
  36. source: "",
  37. get_classes: function() {
  38. var result = [];
  39. _.each(this.models, function(model) {
  40. result.push(model.get("name"));
  41. });
  42. return result;
  43. }
  44. });
  45. var current_diagram = new ClassDiagram();