collectors.js 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. (function ($, Drupal, drupalSettings, Backbone) {
  2. "use strict";
  3. var collectors = new Drupal.webprofiler.collectors.Collectors(drupalSettings.webprofiler.collectors);
  4. Drupal.webprofiler.routers.CollectorsRouter = Backbone.Router.extend({
  5. routes: {
  6. ':id': 'selectCollector'
  7. },
  8. /**
  9. *
  10. * @param id
  11. */
  12. selectCollector: function (id) {
  13. var collectors = this.collectors, layout = this.layout;
  14. //collectors.resetSelected();
  15. collectors.selectByID(id);
  16. var collector = collectors.get(id);
  17. if (collector.get('data').length != 0) {
  18. layout.setDetails(collector);
  19. } else {
  20. var deferred = collectors.get(id).fetch();
  21. deferred.done(function () {
  22. layout.setDetails(collector);
  23. });
  24. }
  25. },
  26. /**
  27. *
  28. * @param options
  29. */
  30. initialize: function (options) {
  31. this.collectors = collectors;
  32. this.layout = Drupal.webprofiler.views.Layout.getInstance({
  33. el: options.el,
  34. router: this
  35. });
  36. this.layout.render();
  37. }
  38. });
  39. }(jQuery, Drupal, drupalSettings, Backbone));