@@ -15,19 +15,25 @@ $(function() {
1515} ) ;
1616
1717function makeConnectButton ( ) {
18- return '<p data-placement="top" data-toggle="tooltip" title="Connect">' +
19- '<button class="btn btn-danger btn-xs pull-right connect-encoder-button">' +
20- '<span class="glyphicon glyphicon-ok-circle"></span>' +
21- '</button>' +
22- '</p>' ;
18+ var wrapper = $ ( '<p data-placement="top" data-toggle="tooltip" title="Connect">' +
19+ '<button class="btn btn-danger btn-xs pull-right connect-encoder-button">' +
20+ '<span class="glyphicon glyphicon-ok-circle"></span>' +
21+ '</button>' +
22+ '</p>' ) ;
23+
24+ addConnectListener ( wrapper . find ( '.connect-encoder-button' ) ) ;
25+ return wrapper ;
2326} ;
2427
2528function makeDisconnectButton ( ) {
26- return '<p data-placement="top" data-toggle="tooltip" title="Disconnect">' +
27- '<button class="btn btn-danger btn-xs pull-right disconnect-encoder-button">' +
28- '<span class="glyphicon glyphicon-ban-circle"></span>' +
29- '</button>' +
30- '</p>' ;
29+ var wrapper = $ ( '<p data-placement="top" data-toggle="tooltip" title="Disconnect">' +
30+ '<button class="btn btn-danger btn-xs pull-right disconnect-encoder-button">' +
31+ '<span class="glyphicon glyphicon-ban-circle"></span>' +
32+ '</button>' +
33+ '</p>' ) ;
34+
35+ addDisconnectListener ( wrapper . find ( '.disconnect-encoder-button' ) ) ;
36+ return wrapper ;
3137} ;
3238
3339function setEncoderRowState ( encoderRow , encoderState ) {
@@ -37,24 +43,24 @@ function setEncoderRowState(encoderRow, encoderState) {
3743
3844// connected = 0, connecting = 1, auth failure = 2, faulted = 3, disconnected = 4
3945function changeEncoderState ( encoder , encoderState ) {
40-
46+ console . log ( 'Encoder state = ' + encoderState ) ;
4147 var row = $ ( '.encoder-row[data-encoder-id=\'' + encoder . ID + '\']' ) ;
42-
4348 if ( row == null ) {
49+ console . log ( 'ROW WAS NULL' ) ;
4450 return ;
4551 }
4652
4753 setEncoderRowState ( row , encoderState ) ;
4854 var connectColumn = row . children ( '.encoder-connect-row' ) ;
4955
5056 if ( encoderState === 0 ) {
51- connectColumn . html ( makeDisconnectButton ( ) ) ;
52- addDisconnectEncoderHandler ( ) ;
57+ var disconnectButton = makeDisconnectButton ( ) ;
58+ connectColumn . html ( disconnectButton ) ;
5359 } else if ( encoderState === 1 ) {
5460 connectColumn . html ( '' ) ;
5561 } else {
56- connectColumn . html ( makeConnectButton ( ) ) ;
57- addConnectEncoderHandler ( ) ;
62+ var connectButton = $ ( makeConnectButton ( ) ) ;
63+ connectColumn . html ( connectButton ) ;
5864 }
5965} ;
6066
@@ -95,49 +101,58 @@ function captionerStateToString(state) {
95101} ;
96102
97103function makeMuteButton ( ) {
98- return '<p data-placement="top" data-toggle="tooltip" title="Mute">' +
99- '<button class="btn btn-danger btn-xs mute-captioner-button">' +
100- '<span class="glyphicon glyphicon-volume-off"></span>' +
101- '</button>' +
102- '</p>' ;
104+ var wrapper = $ ( '<p data-placement="top" data-toggle="tooltip" title="Mute">' +
105+ '<button class="btn btn-danger btn-xs mute-captioner-button">' +
106+ '<span class="glyphicon glyphicon-volume-off"></span>' +
107+ '</button>' +
108+ '</p>' ) ;
109+
110+ addMuteCaptionerHandler ( wrapper . find ( '.mute-captioner-button' ) ) ;
111+ return wrapper ;
103112} ;
104113
105114function makeUnmuteButton ( ) {
106- return '<p data-placement="top" data-toggle="tooltip" title="Unmute">' +
107- '<button class="btn btn-danger btn-xs unmute-captioner-button">' +
108- '<span class="glyphicon glyphicon-volume-up"></span>' +
109- '</button>' +
110- '</p>' ;
115+ var wrapper = $ ( '<p data-placement="top" data-toggle="tooltip" title="Unmute">' +
116+ '<button class="btn btn-danger btn-xs unmute-captioner-button">' +
117+ '<span class="glyphicon glyphicon-volume-up"></span>' +
118+ '</button>' +
119+ '</p>' ) ;
120+
121+ addUnmuteCaptionerHandler ( wrapper . find ( '.unmute-captioner-button' ) ) ;
122+ return wrapper ;
111123} ;
112124
113125function addCaptioner ( captioner , tableId , state ) {
114- var openRow = '<tr class="captioner-row" id="' + tableId + '" ' +
126+ var row = $ ( '<tr class="captioner-row" id="' + tableId + '" ' +
115127 'data-captioner-ip="' + captioner . IPAddr + '" ' +
116128 'data-captioner-num-conn="' + captioner . NumConn + '" ' +
117- 'data-captioner-network-id="' + captioner . NetworkID + '">' ;
129+ 'data-captioner-network-id="' + captioner . NetworkID + '"></tr>' ) ;
118130
119131 var headers = '<th class="col-xl-1 col-lg-1 col-md-1 row-number" scope=row>0</th>' +
120132 '<td class="col-xl-2 col-lg-2 col-md-3">' + captioner . IPAddr + '</td>' +
121133 '<td class="col-xl-2 col-lg-2 col-md-3">' + captioner . NumConn + '</td>' +
122134 '<td class="col-xl-2 col-lg-2 col-md-3 state-row">' + captionerStateToString ( state ) + '</td>' ;
123135 // state will always be 0 here. Default to disconnectable/mutable
124-
125- var muteColumn = '<td class="col-xl-1 col-lg-1 col-md-1 mute-row">' + makeMuteButton ( ) + '</td>' ;
126- var disconnect = '<td class="col-xl-1 col-lg-1 col-md-1 disconnect-row">' +
136+ row . append ( $ ( headers ) ) ;
137+
138+ var muteColumn = $ ( '<td class="col-xl-1 col-lg-1 col-md-1 mute-row"></td>' ) ;
139+ muteColumn . append ( makeMuteButton ( ) ) ;
140+ row . append ( muteColumn ) ;
141+
142+ var disconnect = $ ( '<td class="col-xl-1 col-lg-1 col-md-1 disconnect-row">' +
127143 '<p data-placement="top" data-toggle="tooltip" title="Disconnect">' +
128144 '<button class="btn btn-danger btn-xs disconnect-captioner-button">' +
129145 '<span class="glyphicon glyphicon-ban-circle"></span>' +
130146 '</button>' +
131147 '</p>' +
132- '</td>' ;
133-
134- var endRow = '</tr>' ;
135- var row = $ ( openRow + headers + muteColumn + disconnect + endRow ) ;
136- $ ( '#captioner-selection-table > tbody' ) . prepend ( row ) ;
148+ '</td>' ) ;
149+
150+ addCaptionerDisconnectListener ( disconnect . find ( '.disconnect-captioner-button' ) ) ;
151+ row . append ( disconnect ) ;
152+
153+ $ ( '#captioner-selection-table > tbody' ) . append ( row ) ;
137154
138155 recountCaptioners ( ) ;
139- addDisconnectCaptionerListeners ( ) ;
140- addMuteCaptionerListners ( ) ;
141156
142157 var wrapper = $ ( '#captioner-list-wrapper' ) ;
143158 if ( wrapper . is ( ':hidden' ) ) {
@@ -166,14 +181,12 @@ function changeCaptionerState(captioner, state) {
166181
167182 row . children ( '.state-row' ) . text ( captionerStateToString ( state ) ) ;
168183 row . children ( '.mute-row' ) . children ( ) . replaceWith ( makeUnmuteButton ( ) ) ;
169- addUnmuteCaptionerListners ( ) ;
170184
171185 } else if ( state === 3 ) { // unmuted
172186 var row = $ ( document . getElementById ( tableId ) ) ;
173187
174188 row . children ( '.state-row' ) . text ( captionerStateToString ( state ) ) ;
175189 row . children ( '.mute-row' ) . children ( ) . replaceWith ( makeMuteButton ( ) ) ;
176- addMuteCaptionerListners ( ) ;
177190 } else {
178191 // NOOP
179192 }
@@ -182,6 +195,9 @@ function changeCaptionerState(captioner, state) {
182195function startWebSocket ( ) {
183196 socketRocket . start ( socketURL ) . then ( function ( webSocket ) {
184197 webSocket . onNewMessage = function ( message ) {
198+ console . log ( '+++++++++++ new ws message +++++++++++' ) ;
199+ console . log ( message ) ;
200+ console . log ( '++++++++++++++++++++++++++++++++++++++' ) ;
185201 var encoderState = message [ 'encoderState' ] ;
186202 var captionerState = message [ 'captionerState' ] ;
187203
@@ -234,13 +250,15 @@ function addEncoder(encoder) {
234250 }
235251
236252 var body = $ ( '#encoder-selection-table > tbody' ) ;
237- var deleteItem = '<td class="encoder-delete-row">' +
253+ var deleteItem = $ ( '<td class="encoder-delete-row">' +
238254 '<p data-placement="top" data-toggle="tooltip" title="Delete">' +
239255 '<button class="btn btn-danger btn-xs pull-right delete-encoder-button">' +
240256 '<span class="glyphicon glyphicon-trash"></span>' +
241257 '</button>' +
242258 '</p>' +
243- '</td>' ;
259+ '</td>' ) ;
260+
261+ var disconnectItem = $ ( '<td class="encoder-connect-row">' + makeDisconnectButton ( ) + '</td>' ) ;
244262
245263 var count = body . children ( ) . length ;
246264
@@ -252,10 +270,12 @@ function addEncoder(encoder) {
252270 row . append ( '<td class="editable" data-name="port" name="port">' + encoder . Port + '</td>' ) ;
253271 row . append ( '<td class="editable" data-name="handle" name="handle">' + encoder . Handle + '</td>' ) ;
254272 row . append ( '<td class="editable" data-name="password" name="password">' + encoder . Password + '</td>' ) ;
255- row . append ( '<td>' + encoderStateToString ( encoder . Status ) + '</td>' ) ;
256- row . append ( '<td class="encoder-connect-row">' + makeConnectButton ( ) + '</td>' ) ;
273+ row . append ( '<td class="encoder-status-row" >' + encoderStateToString ( 1 ) + '</td>' ) ;
274+ row . append ( disconnectItem ) ;
257275 row . append ( deleteItem ) ;
258276
277+ addDeleteHandler ( deleteItem . find ( '.delete-encoder-button' ) ) ;
278+
259279 body . append ( row ) ;
260280
261281 return true ;
@@ -368,8 +388,6 @@ function addAddEncoderHandler() {
368388 data : $ . param ( data ) ,
369389 } ) . done ( function ( encoder ) {
370390 if ( addEncoder ( encoder ) ) {
371- addDeleteEncoderHandler ( ) ;
372- addDisconnectEncoderHandler ( ) ;
373391 configureEditing ( ) ;
374392 recountEncoders ( ) ;
375393 form . find ( 'input.form-control' ) . val ( '' ) ;
@@ -458,14 +476,20 @@ function addDisconnectListener(object) {
458476function getCaptionerData ( button ) {
459477 var row = $ ( button ) . closest ( 'tr' ) ;
460478 var data = $ ( '#toggle-captioner-mute-form' ) . serializeArray ( ) ;
479+
461480 data . push ( { name : 'ipAddress' , value : row . attr ( 'data-captioner-ip' ) } ) ;
462481 data . push ( { name : 'numConn' , value : row . attr ( 'data-captioner-num-conn' ) } ) ;
463482 data . push ( { name : 'networkId' , value : row . attr ( 'data-captioner-network-id' ) } ) ;
483+
464484 return data ;
465485} ;
466486
467487function addMuteCaptionerListners ( ) {
468- $ ( '.mute-captioner-button' ) . click ( function ( event ) {
488+ addMuteCaptionerHandler ( $ ( '.mute-captioner-button' ) ) ;
489+ } ;
490+
491+ function addMuteCaptionerHandler ( object ) {
492+ object . click ( function ( event ) {
469493 event . preventDefault ( ) ;
470494
471495 $ . ajax ( {
@@ -477,7 +501,11 @@ function addMuteCaptionerListners() {
477501} ;
478502
479503function addUnmuteCaptionerListners ( ) {
480- $ ( '.unmute-captioner-button' ) . click ( function ( event ) {
504+ $ ( '.unmute-captioner-button' )
505+ } ;
506+
507+ function addUnmuteCaptionerHandler ( object ) {
508+ object . click ( function ( event ) {
481509 event . preventDefault ( ) ;
482510
483511 $ . ajax ( {
0 commit comments