| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145 | 
							- import { ReactiveCache } from '/imports/reactiveCache';
 
- Meteor.subscribe('user-admin');
 
- Meteor.subscribe('boards');
 
- Meteor.subscribe('setting');
 
- Meteor.subscribe('announcements');
 
- Template.header.onCreated(function(){
 
-   const templateInstance = this;
 
-   templateInstance.currentSetting = new ReactiveVar();
 
-   templateInstance.isLoading = new ReactiveVar(false);
 
-   Meteor.subscribe('setting', {
 
-     onReady() {
 
-       templateInstance.currentSetting.set(ReactiveCache.getCurrentSetting());
 
-       let currSetting = templateInstance.currentSetting.curValue;
 
-       if(currSetting && currSetting !== undefined && currSetting.customLoginLogoImageUrl !== undefined && document.getElementById("headerIsSettingDatabaseCallDone") != null)
 
-         document.getElementById("headerIsSettingDatabaseCallDone").style.display = 'none';
 
-       else if(document.getElementById("headerIsSettingDatabaseCallDone") != null)
 
-         document.getElementById("headerIsSettingDatabaseCallDone").style.display = 'block';
 
-       return this.stop();
 
-     },
 
-   });
 
- });
 
- Template.header.helpers({
 
-   wrappedHeader() {
 
-     return !Session.get('currentBoard');
 
-   },
 
-   hideLogo() {
 
-     return Utils.isMiniScreen() && Session.get('currentBoard');
 
-   },
 
-   appIsOffline() {
 
-     return !Meteor.status().connected;
 
-   },
 
-   hasAnnouncement() {
 
-     const announcements = Announcements.findOne();
 
-     return announcements && announcements.enabled;
 
-   },
 
-   announcement() {
 
-     $('.announcement').show();
 
-     const announcements = Announcements.findOne();
 
-     return announcements && announcements.body;
 
-   },
 
-   zoomLevel() {
 
-     const sessionZoom = Session.get('wekan-zoom-level');
 
-     if (sessionZoom !== undefined) {
 
-       return Math.round(sessionZoom * 100);
 
-     }
 
-     return Math.round(Utils.getZoomLevel() * 100);
 
-   },
 
-   mobileMode() {
 
-     const sessionMode = Session.get('wekan-mobile-mode');
 
-     if (sessionMode !== undefined) {
 
-       return sessionMode;
 
-     }
 
-     return Utils.getMobileMode();
 
-   },
 
- });
 
- Template.header.events({
 
-   'click .js-create-board': Popup.open('headerBarCreateBoard'),
 
-   'click .js-zoom-level-click'(evt) {
 
-     const $zoomDisplay = $(evt.currentTarget).find('.zoom-display');
 
-     const $zoomInput = $(evt.currentTarget).find('.zoom-input');
 
-     // Hide display, show input
 
-     $zoomDisplay.hide();
 
-     $zoomInput.show().focus().select();
 
-   },
 
-   'keypress .js-zoom-input'(evt) {
 
-     if (evt.which === 13) { // Enter key
 
-       const newZoomPercent = parseInt(evt.target.value);
 
-       if (!isNaN(newZoomPercent) && newZoomPercent >= 50 && newZoomPercent <= 300) {
 
-         const newZoom = newZoomPercent / 100;
 
-         Utils.setZoomLevel(newZoom);
 
-         // Hide input, show display
 
-         const $zoomDisplay = $(evt.target).siblings('.zoom-display');
 
-         const $zoomInput = $(evt.target);
 
-         $zoomInput.hide();
 
-         $zoomDisplay.show();
 
-       } else {
 
-         alert('Please enter a zoom level between 50% and 300%');
 
-         evt.target.focus().select();
 
-       }
 
-     }
 
-   },
 
-   'blur .js-zoom-input'(evt) {
 
-     // When input loses focus, hide it and show display
 
-     const $zoomDisplay = $(evt.target).siblings('.zoom-display');
 
-     const $zoomInput = $(evt.target);
 
-     $zoomInput.hide();
 
-     $zoomDisplay.show();
 
-   },
 
-   'click .js-mobile-mode-toggle'() {
 
-     const currentMode = Utils.getMobileMode();
 
-     Utils.setMobileMode(!currentMode);
 
-   },
 
-   'click .js-open-bookmarks'(evt) {
 
-     // Already added but ensure single definition -- safe guard
 
-   },
 
-   'click .js-close-announcement'() {
 
-     $('.announcement').hide();
 
-   },
 
-   'click .js-select-list'() {
 
-     Session.set('currentList', this._id);
 
-     Session.set('currentCard', null);
 
-   },
 
-   'click .js-toggle-desktop-drag-handles'() {
 
-     //currentUser = Meteor.user();
 
-     //if (currentUser) {
 
-     //  Meteor.call('toggleDesktopDragHandles');
 
-     //} else if (window.localStorage.getItem('showDesktopDragHandles')) {
 
-     if (window.localStorage.getItem('showDesktopDragHandles')) {
 
-       window.localStorage.removeItem('showDesktopDragHandles');
 
-       location.reload();
 
-     } else {
 
-       window.localStorage.setItem('showDesktopDragHandles', 'true');
 
-       location.reload();
 
-     }
 
-   },
 
-   'click .js-open-bookmarks'(evt) {
 
-     // Desktop: open popup, Mobile: route to page
 
-     if (Utils.isMiniScreen()) {
 
-       FlowRouter.go('bookmarks');
 
-     } else {
 
-       Popup.open('bookmarksPopup')(evt);
 
-     }
 
-   },
 
- });
 
- Template.offlineWarning.events({
 
-   'click a.app-try-reconnect'(event) {
 
-     event.preventDefault();
 
-     Meteor.reconnect();
 
-   },
 
- });
 
 
  |