/
pomodoro-break-c.js
77 lines (67 loc) · 1.89 KB
/
pomodoro-break-c.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
/**
* @ngdoc function
* @name superProductivity.controller:PomodoroBreakCtrl
* @description
* # PomodoroBreakCtrl
* Controller of the superProductivity
*/
(function() {
'use strict';
angular
.module('superProductivity')
.controller('PomodoroBreakCtrl', PomodoroBreakCtrl);
/* @ngInject */
function PomodoroBreakCtrl($mdDialog, $rootScope, theme, pomodoroData, pomodoroConfig, $scope, $timeout, IS_ELECTRON, PomodoroButton, Notifier) {
this.r = $rootScope.r;
this.theme = theme;
this.pomodoroData = pomodoroData;
this.isShowDistractionsOnBreak = pomodoroConfig.isShowDistractionsOnBreak;
this.isBreakDone = false;
if (IS_ELECTRON) {
window.ipcRenderer.send('SHOW_OR_FOCUS');
} else {
Notifier({
title: 'Pomodoro break started',
sound: true,
wait: true
});
}
if (this.pomodoroData.currentSessionTime) {
// close 100 ms earlier to prevent next session time from being displayed
let timeoutDuration = this.pomodoroData.currentSessionTime - 100;
// prevent negative timeouts
if (timeoutDuration < 0) {
timeoutDuration = 0;
}
this.timeout = $timeout(() => {
this.isBreakDone = true;
if (IS_ELECTRON) {
window.ipcRenderer.send('SHOW_OR_FOCUS');
} else {
Notifier({
title: 'Pomodoro break ended',
sound: true,
wait: true
});
}
if (pomodoroConfig.isManualContinue) {
this.pomodoroData.currentSessionTime = 0;
PomodoroButton.pause();
} else {
$mdDialog.hide();
}
}, timeoutDuration);
}
this.cancel = () => {
$mdDialog.hide();
};
this.continue = () => {
$mdDialog.hide(true);
};
$scope.$on('$destroy', () => {
if (this.timeout) {
$timeout.cancel(this.timeout);
}
});
}
})();