Sfoglia il codice sorgente

created closeDropdown function, renamed appevent, added second appevent for open timepicker

Patrick O'Carroll 7 anni fa
parent
commit
0273365df3

+ 2 - 7
public/app/core/services/keybindingSrv.ts

@@ -23,13 +23,8 @@ export class KeybindingSrv {
 
     this.setupGlobal();
     appEvents.on('show-modal', () => (this.modalOpen = true));
-    $rootScope.onAppEvent('escTimepicker', () => {
-      if (!this.timepickerOpen) {
-        this.timepickerOpen = true;
-      } else {
-        this.timepickerOpen = false;
-      }
-    });
+    $rootScope.onAppEvent('timepickerOpen', () => (this.timepickerOpen = true));
+    $rootScope.onAppEvent('timepickerClosed', () => (this.timepickerOpen = false));
   }
 
   setupGlobal() {

+ 9 - 7
public/app/features/dashboard/timepicker/timepicker.ts

@@ -22,7 +22,6 @@ export class TimePickerCtrl {
   refresh: any;
   isUtc: boolean;
   firstDayOfWeek: number;
-  closeDropdown: any;
   isOpen: boolean;
 
   /** @ngInject */
@@ -96,9 +95,8 @@ export class TimePickerCtrl {
   }
 
   openDropdown() {
-    this.$rootScope.appEvent('escTimepicker');
     if (this.isOpen) {
-      this.isOpen = false;
+      this.closeDropdown();
       return;
     }
 
@@ -114,16 +112,21 @@ export class TimePickerCtrl {
 
     this.refresh.options.unshift({ text: 'off' });
     this.isOpen = true;
+    this.$rootScope.appEvent('timepickerOpen');
+  }
+
+  closeDropdown() {
+    this.isOpen = false;
+    this.$rootScope.appEvent('timepickerClosed');
   }
 
   applyCustom() {
-    this.$rootScope.appEvent('escTimepicker');
     if (this.refresh.value !== this.dashboard.refresh) {
       this.timeSrv.setAutoRefresh(this.refresh.value);
     }
 
     this.timeSrv.setTime(this.editTimeRaw);
-    this.isOpen = false;
+    this.closeDropdown();
   }
 
   absoluteFromChanged() {
@@ -139,7 +142,6 @@ export class TimePickerCtrl {
   }
 
   setRelativeFilter(timespan) {
-    this.$rootScope.appEvent('escTimepicker');
     var range = { from: timespan.from, to: timespan.to };
 
     if (this.panel.nowDelay && range.to === 'now') {
@@ -147,7 +149,7 @@ export class TimePickerCtrl {
     }
 
     this.timeSrv.setTime(range);
-    this.isOpen = false;
+    this.closeDropdown();
   }
 }