File tree Expand file tree Collapse file tree 3 files changed +42
-19
lines changed
src/sentry/static/sentry/app/components/organizations/timeRangeSelector Expand file tree Collapse file tree 3 files changed +42
-19
lines changed Original file line number Diff line number Diff line change @@ -31,20 +31,24 @@ export default class AbsoluteSelector extends React.Component {
3131 const { className, start, end, onChange} = this . props ;
3232
3333 return (
34- < Box p = { 2 } className = { className } >
35- update time range (UTC)
36- < DateTimeField
37- name = "start"
38- label = { t ( 'From' ) }
39- value = { start }
40- onChange = { val => onChange ( 'start' , val ) }
41- />
42- < DateTimeField
43- name = "end"
44- label = { t ( 'To' ) }
45- value = { end }
46- onChange = { val => onChange ( 'end' , val ) }
47- />
34+ < Box className = { className } >
35+ < Box mb = { 1 } > { t ( 'Update time range (UTC)' ) } </ Box >
36+ < Box mb = { 1 } >
37+ < DateTimeField
38+ name = "start"
39+ label = { t ( 'From' ) }
40+ value = { start }
41+ onChange = { val => onChange ( 'start' , val ) }
42+ />
43+ </ Box >
44+ < Box mb = { 1 } >
45+ < DateTimeField
46+ name = "end"
47+ label = { t ( 'To' ) }
48+ value = { end }
49+ onChange = { val => onChange ( 'end' , val ) }
50+ />
51+ </ Box >
4852 </ Box >
4953 ) ;
5054 }
Original file line number Diff line number Diff line change @@ -60,10 +60,27 @@ class TimeRangeSelector extends React.Component {
6060 showRelative : false ,
6161 } ;
6262
63+ constructor ( ) {
64+ super ( ) ;
65+ this . state = {
66+ isOpen : false ,
67+ } ;
68+ }
69+
6370 formatDate ( date ) {
6471 return moment ( date ) . format ( 'MMMM D, h:mm a' ) ;
6572 }
6673
74+ handleUpdate = ( ) => {
75+ const { onUpdate} = this . props ;
76+ if ( typeof onUpdate === 'function' ) {
77+ onUpdate ( ) ;
78+ }
79+ this . setState ( {
80+ isOpen : false ,
81+ } ) ;
82+ } ;
83+
6784 render ( ) {
6885 const {
6986 className,
@@ -73,7 +90,6 @@ class TimeRangeSelector extends React.Component {
7390 showAbsolute,
7491 showRelative,
7592 onChange,
76- onUpdate,
7793 } = this . props ;
7894 // Currently we will only show either absolute or relative selector, with "absolute" taking precedence
7995 // Maybe an ideal selector would allow the user to choose between the two if both types of dates were allowed
@@ -88,10 +104,13 @@ class TimeRangeSelector extends React.Component {
88104 < HeaderItem className = { className } label = { t ( 'Time Range' ) } >
89105 < DropdownLink
90106 title = { < DynamicWrapper value = { summary } fixed = "start to end" /> }
91- keepMenuOpen = { true }
92107 anchorRight = { true }
108+ keepMenuOpen = { true }
109+ isOpen = { this . state . isOpen }
110+ onOpen = { ( ) => this . setState ( { isOpen : true } ) }
111+ onClose = { ( ) => this . setState ( { isOpen : false } ) }
93112 >
94- < Flex direction = "column" >
113+ < Flex direction = "column" p = { 2 } >
95114 { shouldShowAbsolute && (
96115 < AbsoluteSelector onChange = { onChange } start = { start } end = { end } />
97116 ) }
@@ -104,7 +123,7 @@ class TimeRangeSelector extends React.Component {
104123 ) }
105124
106125 < div >
107- < Button onClick = { onUpdate } > { t ( 'Update' ) } </ Button >
126+ < Button onClick = { this . handleUpdate } > { t ( 'Update' ) } </ Button >
108127 </ div >
109128 </ Flex >
110129 </ DropdownLink >
Original file line number Diff line number Diff line change @@ -33,7 +33,7 @@ export default class RelativeSelector extends React.Component {
3333 const { className, choices, value} = this . props ;
3434
3535 return (
36- < Box p = { 2 } className = { className } >
36+ < Box mb = { 1 } className = { className } >
3737 < SelectControl value = { value } choices = { choices } onChange = { this . handleChange } />
3838 </ Box >
3939 ) ;
You can’t perform that action at this time.
0 commit comments