33// Page: all tasks with a given name. Reuses task-details to render the list (many tasks).
44const template = require ( './task-by-name.html' ) ;
55const api = require ( '../api' ) ;
6+ const { DATE_FILTERS , DATE_FILTER_VALUES , getDateRangeForRange } = require ( '../_util/dateRange' ) ;
67
78function buildTaskGroup ( name , tasks ) {
89 const statusCounts = { pending : 0 , succeeded : 0 , failed : 0 , cancelled : 0 , in_progress : 0 , unknown : 0 } ;
@@ -28,74 +29,6 @@ function buildTaskGroup(name, tasks) {
2829
2930const PAGE_SIZE_OPTIONS = [ 25 , 50 , 100 , 200 ] ;
3031
31- const DATE_FILTERS = [
32- { value : 'last_hour' , label : 'Last Hour' } ,
33- { value : 'today' , label : 'Today' } ,
34- { value : 'yesterday' , label : 'Yesterday' } ,
35- { value : 'thisWeek' , label : 'This Week' } ,
36- { value : 'lastWeek' , label : 'Last Week' } ,
37- { value : 'thisMonth' , label : 'This Month' } ,
38- { value : 'lastMonth' , label : 'Last Month' }
39- ] ;
40- const DATE_FILTER_VALUES = DATE_FILTERS . map ( f => f . value ) ;
41-
42- function getDateRangeForRange ( selectedRange ) {
43- const now = new Date ( ) ;
44- let start , end ;
45- switch ( selectedRange ) {
46- case 'last_hour' :
47- start = new Date ( ) ;
48- start . setHours ( start . getHours ( ) - 1 ) ;
49- end = new Date ( ) ;
50- break ;
51- case 'today' :
52- start = new Date ( ) ;
53- start . setHours ( 0 , 0 , 0 , 0 ) ;
54- end = new Date ( ) ;
55- end . setHours ( 23 , 59 , 59 , 999 ) ;
56- break ;
57- case 'yesterday' :
58- start = new Date ( now ) ;
59- start . setDate ( start . getDate ( ) - 1 ) ;
60- start . setHours ( 0 , 0 , 0 , 0 ) ;
61- end = new Date ( start ) ;
62- end . setHours ( 23 , 59 , 59 , 999 ) ;
63- break ;
64- case 'thisWeek' :
65- start = new Date ( now . getTime ( ) - ( 7 * 86400000 ) ) ;
66- start . setHours ( 0 , 0 , 0 , 0 ) ;
67- end = new Date ( ) ;
68- end . setHours ( 23 , 59 , 59 , 999 ) ;
69- break ;
70- case 'lastWeek' :
71- start = new Date ( now . getTime ( ) - ( 14 * 86400000 ) ) ;
72- start . setHours ( 0 , 0 , 0 , 0 ) ;
73- end = new Date ( now . getTime ( ) - ( 7 * 86400000 ) ) ;
74- end . setHours ( 23 , 59 , 59 , 999 ) ;
75- break ;
76- case 'thisMonth' : {
77- const y = now . getUTCFullYear ( ) ;
78- const m = now . getUTCMonth ( ) ;
79- start = new Date ( Date . UTC ( y , m , 1 , 0 , 0 , 0 , 0 ) ) ;
80- end = new Date ( Date . UTC ( y , m + 1 , 0 , 23 , 59 , 59 , 999 ) ) ;
81- break ;
82- }
83- case 'lastMonth' : {
84- const y = now . getUTCFullYear ( ) ;
85- const m = now . getUTCMonth ( ) ;
86- start = new Date ( Date . UTC ( y , m - 1 , 1 , 0 , 0 , 0 , 0 ) ) ;
87- end = new Date ( Date . UTC ( y , m , 0 , 23 , 59 , 59 , 999 ) ) ;
88- break ;
89- }
90- default :
91- start = new Date ( ) ;
92- start . setHours ( start . getHours ( ) - 1 ) ;
93- end = new Date ( ) ;
94- break ;
95- }
96- return { start, end } ;
97- }
98-
9932module . exports = app => app . component ( 'task-by-name' , {
10033 template,
10134 data : ( ) => ( {
0 commit comments