Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.
 
 
 
 
 
 

55 wiersze
1.4 KiB

  1. // recent document list
  2. wn.ui.toolbar.RecentDocs = Class.extend({
  3. init:function() {
  4. $('.navbar .nav:first').append('<li class="dropdown">\
  5. <a class="dropdown-toggle" data-toggle="dropdown" href="#" \
  6. onclick="return false;">Recent<b class="caret"></b></a>\
  7. <ul class="dropdown-menu" id="toolbar-recent"></ul>\
  8. </li>');
  9. this.setup();
  10. this.bind_events();
  11. },
  12. bind_events: function() {
  13. rename_observers.push(this);
  14. },
  15. rename_notify: function(dt, old, name) {
  16. this.remove(dt, old);
  17. this.add(dt, name, 1);
  18. },
  19. add: function(dt, dn, on_top) {
  20. if(this.istable(dt)) return;
  21. this.remove(dt, dn);
  22. var html = repl('<li data-docref="%(dt)s/%(dn)s">\
  23. <a href="#Form/%(dt)s/%(dn)s">\
  24. %(dn)s <span style="font-size: 10px">(%(dt)s)</span>\
  25. </a></li>',
  26. {dt:dt, dn:dn});
  27. if(on_top) {
  28. $('#toolbar-recent').prepend(html);
  29. } else {
  30. $('#toolbar-recent').append(html);
  31. }
  32. },
  33. istable: function(dt) {
  34. return locals.DocType[dt] && locals.DocType[dt].istable || false;
  35. },
  36. remove: function(dt, dn) {
  37. $(repl('#toolbar-recent li[data-docref="%(dt)s/%(dn)s"]', {dt:dt, dn:dn})).remove();
  38. },
  39. setup: function() {
  40. // add menu items
  41. try{ var rlist = JSON.parse(profile.recent); }
  42. catch(e) { return; /*old style-do nothing*/ }
  43. var m = rlist.length;
  44. if(m>15)m=15;
  45. for (var i=0;i<m;i++) {
  46. var rd = rlist[i]
  47. if(rd[1]) {
  48. var dt = rd[0]; var dn = rd[1];
  49. this.add(dt, dn, 0);
  50. }
  51. }
  52. }
  53. });