@@ -51,6 +51,7 @@ class SummitAttendeeListPage extends React.Component {
5151 this . handleChangeFlowEvent = this . handleChangeFlowEvent . bind ( this ) ;
5252 this . handleSetMemberFilter = this . handleSetMemberFilter . bind ( this ) ;
5353 this . handleSetStatusFilter = this . handleSetStatusFilter . bind ( this ) ;
54+ this . handleSetTicketsFilter = this . handleSetTicketsFilter . bind ( this ) ;
5455 this . handleExport = this . handleExport . bind ( this ) ;
5556 this . state = {
5657 showModal : false ,
@@ -60,19 +61,24 @@ class SummitAttendeeListPage extends React.Component {
6061 }
6162
6263 handleExport ( ev ) {
63- let { term, order, orderDir, statusFilter, memberFilter} = this . props ;
64+ let { term, order, orderDir, statusFilter, memberFilter, ticketsFilter } = this . props ;
6465 ev . preventDefault ( ) ;
65- this . props . exportAttendees ( term , order , orderDir , statusFilter , memberFilter ) ;
66+ this . props . exportAttendees ( term , order , orderDir , statusFilter , memberFilter , ticketsFilter ) ;
6667 }
6768
6869 handleSetMemberFilter ( newMemberFilter ) {
69- let { term, order, page, orderDir, perPage, statusFilter} = this . props ;
70- this . props . getAttendees ( term , page , perPage , order , orderDir , statusFilter , newMemberFilter ) ;
70+ let { term, order, page, orderDir, perPage, statusFilter, ticketsFilter} = this . props ;
71+ this . props . getAttendees ( term , page , perPage , order , orderDir , statusFilter , newMemberFilter , ticketsFilter ) ;
72+ }
73+
74+ handleSetTicketsFilter ( newTicketsFilter ) {
75+ let { term, order, page, orderDir, perPage, statusFilter, memberFilter, ticketsFilter} = this . props ;
76+ this . props . getAttendees ( term , page , perPage , order , orderDir , statusFilter , memberFilter , newTicketsFilter , ticketsFilter ) ;
7177 }
7278
7379 handleSetStatusFilter ( newStatusFilter ) {
74- let { term, order, page, orderDir, perPage, memberFilter} = this . props ;
75- this . props . getAttendees ( term , page , perPage , order , orderDir , newStatusFilter , memberFilter ) ;
80+ let { term, order, page, orderDir, perPage, memberFilter, ticketsFilter } = this . props ;
81+ this . props . getAttendees ( term , page , perPage , order , orderDir , newStatusFilter , memberFilter , ticketsFilter ) ;
7682 }
7783
7884 handleChangeFlowEvent ( ev ) {
@@ -89,6 +95,7 @@ class SummitAttendeeListPage extends React.Component {
8995 term,
9096 memberFilter,
9197 statusFilter,
98+ ticketsFilter,
9299 selectedIds,
93100 currentFlowEvent,
94101 sendEmails
@@ -104,7 +111,7 @@ class SummitAttendeeListPage extends React.Component {
104111 return false ;
105112 }
106113
107- sendEmails ( currentFlowEvent , selectedAll , selectedIds , term , statusFilter , memberFilter ) ;
114+ sendEmails ( currentFlowEvent , selectedAll , selectedIds , term , statusFilter , memberFilter , ticketsFilter ) ;
108115 }
109116
110117 handleSelected ( attendee_id , isSelected ) {
@@ -127,17 +134,17 @@ class SummitAttendeeListPage extends React.Component {
127134 componentDidMount ( ) {
128135 let { currentSummit} = this . props ;
129136 if ( currentSummit !== null ) {
130- let { term, order, page, orderDir, perPage, statusFilter, memberFilter} = this . props ;
131- this . props . getAttendees ( term , page , perPage , order , orderDir , statusFilter , memberFilter ) ;
137+ let { term, order, page, orderDir, perPage, statusFilter, memberFilter, ticketsFilter } = this . props ;
138+ this . props . getAttendees ( term , page , perPage , order , orderDir , statusFilter , memberFilter , ticketsFilter ) ;
132139 }
133140 }
134141
135142 componentWillReceiveProps ( newProps ) {
136143 let { currentSummit} = this . props ;
137144
138145 if ( currentSummit !== null && currentSummit . id !== newProps . currentSummit . id ) {
139- let { term, order, page, orderDir, perPage, statusFilter, memberFilter} = this . props ;
140- this . props . getAttendees ( term , page , perPage , order , orderDir , statusFilter , memberFilter ) ;
146+ let { term, order, page, orderDir, perPage, statusFilter, memberFilter, ticketsFilter } = this . props ;
147+ this . props . getAttendees ( term , page , perPage , order , orderDir , statusFilter , memberFilter , ticketsFilter ) ;
141148 }
142149 }
143150
@@ -170,19 +177,19 @@ class SummitAttendeeListPage extends React.Component {
170177 }
171178
172179 handlePageChange ( page ) {
173- let { term, order, orderDir, perPage, statusFilter, memberFilter} = this . props ;
174- this . props . getAttendees ( term , page , perPage , order , orderDir , statusFilter , memberFilter ) ;
180+ let { term, order, orderDir, perPage, statusFilter, memberFilter, ticketsFilter } = this . props ;
181+ this . props . getAttendees ( term , page , perPage , order , orderDir , statusFilter , memberFilter , ticketsFilter ) ;
175182 }
176183
177184 handleSort ( index , key , dir , func ) {
178- let { term, page, perPage, statusFilter, memberFilter} = this . props ;
185+ let { term, page, perPage, statusFilter, memberFilter, ticketsFilter } = this . props ;
179186 key = ( key === 'name' ) ? 'full_name' : key ;
180- this . props . getAttendees ( term , page , perPage , key , dir , statusFilter , memberFilter ) ;
187+ this . props . getAttendees ( term , page , perPage , key , dir , statusFilter , memberFilter , ticketsFilter ) ;
181188 }
182189
183190 handleSearch ( term ) {
184- let { order, orderDir, page, perPage, statusFilter, memberFilter} = this . props ;
185- this . props . getAttendees ( term , page , perPage , order , orderDir , statusFilter , memberFilter ) ;
191+ let { order, orderDir, page, perPage, statusFilter, memberFilter, ticketsFilter } = this . props ;
192+ this . props . getAttendees ( term , page , perPage , order , orderDir , statusFilter , memberFilter , ticketsFilter ) ;
186193 }
187194
188195 handleNewAttendee ( ev ) {
@@ -209,12 +216,14 @@ class SummitAttendeeListPage extends React.Component {
209216 }
210217
211218 render ( ) {
212- let { currentSummit, attendees, lastPage, currentPage,
219+ let { currentSummit, attendees,
220+ lastPage, currentPage,
213221 term, order, orderDir, totalAttendees,
214222 selectedIds,
215223 currentFlowEvent,
216224 selectedAll,
217- statusFilter, memberFilter
225+ statusFilter, memberFilter,
226+ ticketsFilter
218227 } = this . props ;
219228 let { showModal, modalSchedule, modalTitle} = this . state ;
220229
@@ -255,7 +264,6 @@ class SummitAttendeeListPage extends React.Component {
255264
256265 let flowEventsDDL = [
257266 { label : '-- SELECT EMAIL EVENT --' , value : '' } ,
258-
259267 { label : 'SUMMIT_REGISTRATION__ATTENDEE_TICKET_REGENERATE_HASH' , value : 'SUMMIT_REGISTRATION__ATTENDEE_TICKET_REGENERATE_HASH' } ,
260268 { label : 'SUMMIT_REGISTRATION_INVITE_ATTENDEE_TICKET_EDITION' , value : 'SUMMIT_REGISTRATION_INVITE_ATTENDEE_TICKET_EDITION' } ,
261269 ] ;
@@ -281,7 +289,7 @@ class SummitAttendeeListPage extends React.Component {
281289 </ div >
282290 </ div >
283291 < div className = "row" >
284- < div className = "col-md-6 " >
292+ < div className = "col-md-4 " >
285293 < SegmentedControl
286294 name = "memberFilter"
287295 options = { [
@@ -290,10 +298,10 @@ class SummitAttendeeListPage extends React.Component {
290298 { label : "Without IDP Account" , value : "HAS_NO_MEMBER" , default : memberFilter === "HAS_NO_MEMBER" } ,
291299 ] }
292300 setValue = { newValue => this . handleSetMemberFilter ( newValue ) }
293- style = { { width : "100%" , height :40 , color : '#337ab7' } }
301+ style = { { width : "100%" , height :40 , color : '#337ab7' , fontSize : '10px' } }
294302 />
295303 </ div >
296- < div className = "col-md-6 " >
304+ < div className = "col-md-4 " >
297305 < SegmentedControl
298306 name = "statusFilter"
299307 options = { [
@@ -302,12 +310,24 @@ class SummitAttendeeListPage extends React.Component {
302310 { label : "Incomplete Questions" , value : "Incomplete" , default : statusFilter === "Incomplete" } ,
303311 ] }
304312 setValue = { newValue => this . handleSetStatusFilter ( newValue ) }
305- style = { { width : "100%" , height :40 , color : '#337ab7' } }
313+ style = { { width : "100%" , height :40 , color : '#337ab7' , fontSize : '10px' } }
314+ />
315+ </ div >
316+ < div className = "col-md-4" >
317+ < SegmentedControl
318+ name = "ticketsFilter"
319+ options = { [
320+ { label : "All" , value : null , default : ticketsFilter === null } ,
321+ { label : "Has Tickets" , value : "HAS_TICKETS" , default : ticketsFilter === "HAS_TICKETS" } ,
322+ { label : "Has No Tickets" , value : "HAS_NO_TICKETS" , default : ticketsFilter === "HAS_NO_TICKETS" } ,
323+ ] }
324+ setValue = { newValue => this . handleSetTicketsFilter ( newValue ) }
325+ style = { { width : "100%" , height :40 , color : '#337ab7' , fontSize : '10px' } }
306326 />
307327 </ div >
308328 </ div >
309329 { attendees . length === 0 &&
310- < div > { T . translate ( "attendee_list.no_attendees" ) } </ div >
330+ < div > { T . translate ( "attendee_list.no_attendees" ) } </ div >
311331 }
312332
313333 < div className = { 'row' } >
0 commit comments