header.js 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. Meteor.subscribe('user-admin');
  2. Meteor.subscribe('boards');
  3. Meteor.subscribe('setting');
  4. Template.header.onCreated(function(){
  5. const templateInstance = this;
  6. templateInstance.currentSetting = new ReactiveVar();
  7. templateInstance.isLoading = new ReactiveVar(false);
  8. Meteor.subscribe('setting', {
  9. onReady() {
  10. templateInstance.currentSetting.set(Settings.findOne());
  11. let currSetting = templateInstance.currentSetting.curValue;
  12. if(currSetting && currSetting !== undefined && currSetting.customLoginLogoImageUrl !== undefined && document.getElementById("headerIsSettingDatabaseCallDone") != null)
  13. document.getElementById("headerIsSettingDatabaseCallDone").style.display = 'none';
  14. else if(document.getElementById("headerIsSettingDatabaseCallDone") != null)
  15. document.getElementById("headerIsSettingDatabaseCallDone").style.display = 'block';
  16. return this.stop();
  17. },
  18. });
  19. });
  20. Template.header.helpers({
  21. wrappedHeader() {
  22. return !Session.get('currentBoard');
  23. },
  24. currentSetting() {
  25. return Settings.findOne();
  26. },
  27. hideLogo() {
  28. return Utils.isMiniScreen() && Session.get('currentBoard');
  29. },
  30. appIsOffline() {
  31. return !Meteor.status().connected;
  32. },
  33. hasAnnouncement() {
  34. const announcements = Announcements.findOne();
  35. return announcements && announcements.enabled;
  36. },
  37. announcement() {
  38. $('.announcement').show();
  39. const announcements = Announcements.findOne();
  40. return announcements && announcements.body;
  41. },
  42. });
  43. Template.header.events({
  44. 'click .js-create-board': Popup.open('headerBarCreateBoard'),
  45. 'click .js-close-announcement'() {
  46. $('.announcement').hide();
  47. },
  48. 'click .js-select-list'() {
  49. Session.set('currentList', this._id);
  50. Session.set('currentCard', null);
  51. },
  52. });
  53. Template.offlineWarning.events({
  54. 'click a.app-try-reconnect'(event) {
  55. event.preventDefault();
  56. Meteor.reconnect();
  57. },
  58. });