| author | veltr |
| Mon, 05 Mar 2012 17:34:48 +0100 | |
| branch | popcorn-port |
| changeset 827 | 1dc2f85c3b89 |
| parent 820 | 7968346b9689 |
| child 830 | 18ca612e9ff0 |
| permissions | -rw-r--r-- |
| 109 | 1 |
IriSP.PlayerWidget = function(Popcorn, config, Serializer) { |
2 |
IriSP.Widget.call(this, Popcorn, config, Serializer); |
|
|
145
b477c9430d36
tests and implementation of the search button for the player.
hamidouk
parents:
131
diff
changeset
|
3 |
|
|
b477c9430d36
tests and implementation of the search button for the player.
hamidouk
parents:
131
diff
changeset
|
4 |
this._searchBlockOpen = false; |
|
b477c9430d36
tests and implementation of the search button for the player.
hamidouk
parents:
131
diff
changeset
|
5 |
this._searchLastValue = ""; |
| 109 | 6 |
}; |
| 115 | 7 |
|
8 |
IriSP.PlayerWidget.prototype = new IriSP.Widget(); |
|
9 |
||
| 98 | 10 |
IriSP.PlayerWidget.prototype.draw = function() { |
| 153 | 11 |
var self = this; |
| 131 | 12 |
var width = this.width; |
13 |
var height = this.height; |
|
14 |
var heightS = this.height-20; |
|
|
261
7e7a44d82a81
positionned correctly the search box - its position is now calculated in function
hamidouk
parents:
255
diff
changeset
|
15 |
|
| 564 | 16 |
var playerTempl = IriSP.templToHTML(IriSP.player_template, {"share_template" : IriSP.share_template}); |
17 |
this.selector.append(playerTempl); |
|
|
468
651528a4f795
fixed a couple layout bugs that didn't appear in integration testing.
hamidouk
parents:
458
diff
changeset
|
18 |
|
|
250
41683e7cb17a
updated the playerWidget to use classes instead of id's in its elements.
hamidouk
parents:
226
diff
changeset
|
19 |
this.selector.children(".Ldt-controler").show(); |
| 153 | 20 |
|
|
202
2e0205ee7ca9
patch to respond to update the player widget when the user clicks directly on
hamidouk
parents:
163
diff
changeset
|
21 |
// handle clicks by the user on the video. |
|
2e0205ee7ca9
patch to respond to update the player widget when the user clicks directly on
hamidouk
parents:
163
diff
changeset
|
22 |
this._Popcorn.listen("play", IriSP.wrap(this, this.playButtonUpdater)); |
|
2e0205ee7ca9
patch to respond to update the player widget when the user clicks directly on
hamidouk
parents:
163
diff
changeset
|
23 |
this._Popcorn.listen("pause", IriSP.wrap(this, this.playButtonUpdater)); |
|
449
6e6b4a54776a
added a function to update the icon when the player is muted.
hamidouk
parents:
446
diff
changeset
|
24 |
|
|
6e6b4a54776a
added a function to update the icon when the player is muted.
hamidouk
parents:
446
diff
changeset
|
25 |
this._Popcorn.listen("volumechange", IriSP.wrap(this, this.muteButtonUpdater)); |
| 440 | 26 |
|
|
559
04e73ddebfa7
the total media duration now displays itself correctly at startup.
hamidouk
parents:
540
diff
changeset
|
27 |
this._Popcorn.listen("timeupdate", IriSP.wrap(this, this.timeDisplayUpdater)); |
|
04e73ddebfa7
the total media duration now displays itself correctly at startup.
hamidouk
parents:
540
diff
changeset
|
28 |
// update the time display for the first time. |
|
04e73ddebfa7
the total media duration now displays itself correctly at startup.
hamidouk
parents:
540
diff
changeset
|
29 |
this._Popcorn.listen("loadedmetadata", IriSP.wrap(this, this.timeDisplayUpdater)); |
|
04e73ddebfa7
the total media duration now displays itself correctly at startup.
hamidouk
parents:
540
diff
changeset
|
30 |
|
| 398 | 31 |
this._Popcorn.listen("IriSP.search.matchFound", IriSP.wrap(this, this.searchMatch)); |
32 |
this._Popcorn.listen("IriSP.search.noMatchFound", IriSP.wrap(this, this.searchNoMatch)); |
|
|
732
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
33 |
this._Popcorn.listen("IriSP.search.triggeredSearch", IriSP.wrap(this, this.triggeredSearch)); |
|
202
2e0205ee7ca9
patch to respond to update the player widget when the user clicks directly on
hamidouk
parents:
163
diff
changeset
|
34 |
|
|
250
41683e7cb17a
updated the playerWidget to use classes instead of id's in its elements.
hamidouk
parents:
226
diff
changeset
|
35 |
|
|
311
43a1b7d95317
WIP - integrating the various changes samuel requested.
hamidouk
parents:
296
diff
changeset
|
36 |
this.selector.find(".Ldt-CtrlPlay").click(function() { self.playHandler.call(self); }); |
|
540
b1f3aee23199
send a signal when receiving a click on the Annotate button.
hamidouk
parents:
468
diff
changeset
|
37 |
this.selector.find(".Ldt-CtrlAnnotate").click(function() |
|
b1f3aee23199
send a signal when receiving a click on the Annotate button.
hamidouk
parents:
468
diff
changeset
|
38 |
{ self._Popcorn.trigger("IriSP.PlayerWidget.AnnotateButton.clicked"); }); |
|
311
43a1b7d95317
WIP - integrating the various changes samuel requested.
hamidouk
parents:
296
diff
changeset
|
39 |
this.selector.find(".Ldt-CtrlSearch").click(function() { self.searchButtonHandler.call(self); }); |
|
250
41683e7cb17a
updated the playerWidget to use classes instead of id's in its elements.
hamidouk
parents:
226
diff
changeset
|
40 |
|
|
311
43a1b7d95317
WIP - integrating the various changes samuel requested.
hamidouk
parents:
296
diff
changeset
|
41 |
this.selector.find('.Ldt-CtrlSound').click(function() { self.muteHandler.call(self); } ); |
|
43a1b7d95317
WIP - integrating the various changes samuel requested.
hamidouk
parents:
296
diff
changeset
|
42 |
|
|
43a1b7d95317
WIP - integrating the various changes samuel requested.
hamidouk
parents:
296
diff
changeset
|
43 |
this.selector.find(".Ldt-CtrlPlay").attr( "style", "background-color:#CD21C24;" ); |
|
250
41683e7cb17a
updated the playerWidget to use classes instead of id's in its elements.
hamidouk
parents:
226
diff
changeset
|
44 |
|
| 564 | 45 |
/* |
|
311
43a1b7d95317
WIP - integrating the various changes samuel requested.
hamidouk
parents:
296
diff
changeset
|
46 |
var searchButtonPos = this.selector.find(".Ldt-CtrlSearch").position(); |
|
261
7e7a44d82a81
positionned correctly the search box - its position is now calculated in function
hamidouk
parents:
255
diff
changeset
|
47 |
var searchBox = Mustache.to_html(IriSP.search_template, {margin_left : searchButtonPos.left + "px"}); |
| 564 | 48 |
this.selector.find(".Ldt-CtrlSearch").after(searchBox); |
49 |
*/ |
|
|
261
7e7a44d82a81
positionned correctly the search box - its position is now calculated in function
hamidouk
parents:
255
diff
changeset
|
50 |
|
|
331
ef3447aa6920
player widget now sends a special message when the mouse is hovering it.
hamidouk
parents:
311
diff
changeset
|
51 |
// trigger an IriSP.PlayerWidget.MouseOver to the widgets that are interested (i.e : sliderWidget) |
|
ef3447aa6920
player widget now sends a special message when the mouse is hovering it.
hamidouk
parents:
311
diff
changeset
|
52 |
this.selector.hover(function() { self._Popcorn.trigger("IriSP.PlayerWidget.MouseOver"); }, |
|
ef3447aa6920
player widget now sends a special message when the mouse is hovering it.
hamidouk
parents:
311
diff
changeset
|
53 |
function() { self._Popcorn.trigger("IriSP.PlayerWidget.MouseOut"); }); |
| 458 | 54 |
|
55 |
this.muteButtonUpdater(); /* some player - jwplayer notable - save the state of the mute button between sessions */ |
|
|
255
af3adcf7cb20
added an elapsed time display to the player widget.
hamidouk
parents:
251
diff
changeset
|
56 |
}; |
|
af3adcf7cb20
added an elapsed time display to the player widget.
hamidouk
parents:
251
diff
changeset
|
57 |
|
|
af3adcf7cb20
added an elapsed time display to the player widget.
hamidouk
parents:
251
diff
changeset
|
58 |
/* Update the elasped time div */ |
|
af3adcf7cb20
added an elapsed time display to the player widget.
hamidouk
parents:
251
diff
changeset
|
59 |
IriSP.PlayerWidget.prototype.timeDisplayUpdater = function() { |
| 98 | 60 |
|
|
255
af3adcf7cb20
added an elapsed time display to the player widget.
hamidouk
parents:
251
diff
changeset
|
61 |
if (this._previousSecond === undefined) |
|
af3adcf7cb20
added an elapsed time display to the player widget.
hamidouk
parents:
251
diff
changeset
|
62 |
this._previousSecond = this._Popcorn.roundTime(); |
| 98 | 63 |
|
|
255
af3adcf7cb20
added an elapsed time display to the player widget.
hamidouk
parents:
251
diff
changeset
|
64 |
else { |
|
af3adcf7cb20
added an elapsed time display to the player widget.
hamidouk
parents:
251
diff
changeset
|
65 |
/* we're still in the same second, so it's not necessary to update time */ |
|
af3adcf7cb20
added an elapsed time display to the player widget.
hamidouk
parents:
251
diff
changeset
|
66 |
if (this._Popcorn.roundTime() == this._previousSecond) |
|
af3adcf7cb20
added an elapsed time display to the player widget.
hamidouk
parents:
251
diff
changeset
|
67 |
return; |
|
af3adcf7cb20
added an elapsed time display to the player widget.
hamidouk
parents:
251
diff
changeset
|
68 |
|
| 98 | 69 |
} |
|
255
af3adcf7cb20
added an elapsed time display to the player widget.
hamidouk
parents:
251
diff
changeset
|
70 |
|
|
af3adcf7cb20
added an elapsed time display to the player widget.
hamidouk
parents:
251
diff
changeset
|
71 |
// we get it at each call because it may change. |
|
820
7968346b9689
Added compatibility with cinecast format (with get_aliased)
veltr
parents:
802
diff
changeset
|
72 |
var duration = this._serializer.getDuration() / 1000; |
|
255
af3adcf7cb20
added an elapsed time display to the player widget.
hamidouk
parents:
251
diff
changeset
|
73 |
var totalTime = IriSP.secondsToTime(duration); |
|
af3adcf7cb20
added an elapsed time display to the player widget.
hamidouk
parents:
251
diff
changeset
|
74 |
var elapsedTime = IriSP.secondsToTime(this._Popcorn.currentTime()); |
|
af3adcf7cb20
added an elapsed time display to the player widget.
hamidouk
parents:
251
diff
changeset
|
75 |
|
| 338 | 76 |
this.selector.find(".Ldt-ElapsedTime").html(elapsedTime.toString()); |
77 |
this.selector.find(".Ldt-TotalTime").html(totalTime.toString()); |
|
|
255
af3adcf7cb20
added an elapsed time display to the player widget.
hamidouk
parents:
251
diff
changeset
|
78 |
this._previousSecond = this._Popcorn.roundTime(); |
| 98 | 79 |
}; |
80 |
||
|
202
2e0205ee7ca9
patch to respond to update the player widget when the user clicks directly on
hamidouk
parents:
163
diff
changeset
|
81 |
/* update the icon of the button - separate function from playHandler |
|
2e0205ee7ca9
patch to respond to update the player widget when the user clicks directly on
hamidouk
parents:
163
diff
changeset
|
82 |
because in some cases (for instance, when the user directly clicks on |
|
2e0205ee7ca9
patch to respond to update the player widget when the user clicks directly on
hamidouk
parents:
163
diff
changeset
|
83 |
the jwplayer window) we have to change the icon without playing/pausing |
|
2e0205ee7ca9
patch to respond to update the player widget when the user clicks directly on
hamidouk
parents:
163
diff
changeset
|
84 |
*/ |
|
2e0205ee7ca9
patch to respond to update the player widget when the user clicks directly on
hamidouk
parents:
163
diff
changeset
|
85 |
IriSP.PlayerWidget.prototype.playButtonUpdater = function() { |
| 98 | 86 |
var status = this._Popcorn.media.paused; |
87 |
|
|
|
802
c74de6ba5d11
fixed player buttons. They now use css class instead of directly refering to the
hamidouk
parents:
732
diff
changeset
|
88 |
if ( status == true ){ |
|
c74de6ba5d11
fixed player buttons. They now use css class instead of directly refering to the
hamidouk
parents:
732
diff
changeset
|
89 |
/* the background sprite is changed by adding/removing the correct classes */ |
|
311
43a1b7d95317
WIP - integrating the various changes samuel requested.
hamidouk
parents:
296
diff
changeset
|
90 |
this.selector.find(".Ldt-CtrlPlay").attr("title", "Play"); |
|
802
c74de6ba5d11
fixed player buttons. They now use css class instead of directly refering to the
hamidouk
parents:
732
diff
changeset
|
91 |
this.selector.find(".Ldt-CtrlPlay").removeClass("Ldt-CtrlPlay-PauseState").addClass("Ldt-CtrlPlay-PlayState"); |
| 98 | 92 |
} else { |
|
311
43a1b7d95317
WIP - integrating the various changes samuel requested.
hamidouk
parents:
296
diff
changeset
|
93 |
this.selector.find(".Ldt-CtrlPlay").attr("title", "Pause"); |
|
802
c74de6ba5d11
fixed player buttons. They now use css class instead of directly refering to the
hamidouk
parents:
732
diff
changeset
|
94 |
this.selector.find(".Ldt-CtrlPlay").removeClass("Ldt-CtrlPlay-PlayState").addClass("Ldt-CtrlPlay-PauseState"); |
| 98 | 95 |
} |
| 440 | 96 |
|
97 |
return; |
|
| 98 | 98 |
}; |
99 |
||
|
202
2e0205ee7ca9
patch to respond to update the player widget when the user clicks directly on
hamidouk
parents:
163
diff
changeset
|
100 |
|
|
2e0205ee7ca9
patch to respond to update the player widget when the user clicks directly on
hamidouk
parents:
163
diff
changeset
|
101 |
IriSP.PlayerWidget.prototype.playHandler = function() { |
|
2e0205ee7ca9
patch to respond to update the player widget when the user clicks directly on
hamidouk
parents:
163
diff
changeset
|
102 |
var status = this._Popcorn.media.paused; |
|
2e0205ee7ca9
patch to respond to update the player widget when the user clicks directly on
hamidouk
parents:
163
diff
changeset
|
103 |
|
|
2e0205ee7ca9
patch to respond to update the player widget when the user clicks directly on
hamidouk
parents:
163
diff
changeset
|
104 |
if ( status == true ){ |
|
2e0205ee7ca9
patch to respond to update the player widget when the user clicks directly on
hamidouk
parents:
163
diff
changeset
|
105 |
this._Popcorn.play(); |
|
2e0205ee7ca9
patch to respond to update the player widget when the user clicks directly on
hamidouk
parents:
163
diff
changeset
|
106 |
} else { |
|
2e0205ee7ca9
patch to respond to update the player widget when the user clicks directly on
hamidouk
parents:
163
diff
changeset
|
107 |
this._Popcorn.pause(); |
|
2e0205ee7ca9
patch to respond to update the player widget when the user clicks directly on
hamidouk
parents:
163
diff
changeset
|
108 |
} |
|
2e0205ee7ca9
patch to respond to update the player widget when the user clicks directly on
hamidouk
parents:
163
diff
changeset
|
109 |
}; |
|
2e0205ee7ca9
patch to respond to update the player widget when the user clicks directly on
hamidouk
parents:
163
diff
changeset
|
110 |
|
| 98 | 111 |
IriSP.PlayerWidget.prototype.muteHandler = function() { |
112 |
if (!this._Popcorn.muted()) { |
|
113 |
this._Popcorn.mute(true); |
|
114 |
} else { |
|
115 |
this._Popcorn.mute(false); |
|
116 |
} |
|
117 |
}; |
|
118 |
||
|
449
6e6b4a54776a
added a function to update the icon when the player is muted.
hamidouk
parents:
446
diff
changeset
|
119 |
IriSP.PlayerWidget.prototype.muteButtonUpdater = function() { |
|
6e6b4a54776a
added a function to update the icon when the player is muted.
hamidouk
parents:
446
diff
changeset
|
120 |
var status = this._Popcorn.media.muted; |
|
6e6b4a54776a
added a function to update the icon when the player is muted.
hamidouk
parents:
446
diff
changeset
|
121 |
|
|
6e6b4a54776a
added a function to update the icon when the player is muted.
hamidouk
parents:
446
diff
changeset
|
122 |
if ( status == true ){ |
|
6e6b4a54776a
added a function to update the icon when the player is muted.
hamidouk
parents:
446
diff
changeset
|
123 |
this.selector.find(".Ldt-CtrlSound").attr("title", "Unmute"); |
|
802
c74de6ba5d11
fixed player buttons. They now use css class instead of directly refering to the
hamidouk
parents:
732
diff
changeset
|
124 |
this.selector.find(".Ldt-CtrlSound").removeClass("Ldt-CtrlSound-MuteState").addClass("Ldt-CtrlSound-SoundState"); |
|
449
6e6b4a54776a
added a function to update the icon when the player is muted.
hamidouk
parents:
446
diff
changeset
|
125 |
} else { |
|
6e6b4a54776a
added a function to update the icon when the player is muted.
hamidouk
parents:
446
diff
changeset
|
126 |
this.selector.find(".Ldt-CtrlSound").attr("title", "Mute"); |
|
802
c74de6ba5d11
fixed player buttons. They now use css class instead of directly refering to the
hamidouk
parents:
732
diff
changeset
|
127 |
this.selector.find(".Ldt-CtrlSound").removeClass("Ldt-CtrlSound-SoundState").addClass("Ldt-CtrlSound-MuteState"); |
|
449
6e6b4a54776a
added a function to update the icon when the player is muted.
hamidouk
parents:
446
diff
changeset
|
128 |
} |
|
6e6b4a54776a
added a function to update the icon when the player is muted.
hamidouk
parents:
446
diff
changeset
|
129 |
|
|
6e6b4a54776a
added a function to update the icon when the player is muted.
hamidouk
parents:
446
diff
changeset
|
130 |
return; |
|
6e6b4a54776a
added a function to update the icon when the player is muted.
hamidouk
parents:
446
diff
changeset
|
131 |
}; |
|
6e6b4a54776a
added a function to update the icon when the player is muted.
hamidouk
parents:
446
diff
changeset
|
132 |
|
|
732
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
133 |
IriSP.PlayerWidget.prototype.showSearchBlock = function() { |
|
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
134 |
var self = this; |
|
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
135 |
|
|
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
136 |
if (this._searchBlockOpen == false) { |
|
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
137 |
this.selector.find(".LdtSearch").show("blind", { direction: "horizontal"}, 100); |
|
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
138 |
this.selector.find(".LdtSearchInput").css('background-color','#fff'); |
|
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
139 |
|
|
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
140 |
this._searchBlockOpen = true; |
|
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
141 |
this.selector.find(".LdtSearchInput").bind('keyup', null, function() { self.searchHandler.call(self); } ); |
|
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
142 |
this.selector.find(".LdtSearchInput").focus(); |
|
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
143 |
|
|
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
144 |
// we need this variable because some widget can find a match in |
|
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
145 |
// their data while at the same time other's don't. As we want the |
|
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
146 |
// search field to become green when there's a match, we need a |
|
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
147 |
// variable to remember that we had one. |
|
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
148 |
this._positiveMatch = false; |
|
449
6e6b4a54776a
added a function to update the icon when the player is muted.
hamidouk
parents:
446
diff
changeset
|
149 |
|
|
732
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
150 |
// tell the world the field is open |
|
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
151 |
this._Popcorn.trigger("IriSP.search.open"); |
|
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
152 |
} |
|
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
153 |
}; |
|
145
b477c9430d36
tests and implementation of the search button for the player.
hamidouk
parents:
131
diff
changeset
|
154 |
|
|
732
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
155 |
IriSP.PlayerWidget.prototype.hideSearchBlock = function() { |
|
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
156 |
if (this._searchBlockOpen == true) { |
|
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
157 |
this._searchLastValue = this.selector.find(".LdtSearchInput").attr('value'); |
|
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
158 |
this.selector.find(".LdtSearchInput").attr('value',''); |
|
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
159 |
this.selector.find(".LdtSearch").hide("blind", { direction: "horizontal"}, 75); |
|
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
160 |
|
|
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
161 |
// unbind the watcher event. |
|
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
162 |
this.selector.find(".LdtSearchInput").unbind('keypress set'); |
|
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
163 |
this._searchBlockOpen = false; |
| 398 | 164 |
|
|
732
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
165 |
this._positiveMatch = false; |
|
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
166 |
|
|
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
167 |
this._Popcorn.trigger("IriSP.search.closed"); |
|
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
168 |
} |
|
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
169 |
}; |
|
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
170 |
|
|
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
171 |
/** react to clicks on the search button */ |
|
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
172 |
IriSP.PlayerWidget.prototype.searchButtonHandler = function() { |
|
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
173 |
var self = this; |
|
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
174 |
|
|
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
175 |
/* show the search field if it is not shown */ |
|
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
176 |
if ( this._searchBlockOpen == false ) { |
|
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
177 |
this.showSearchBlock(); |
|
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
178 |
this.selector.find(".LdtSearchInput").attr('value', this._searchLastValue); |
|
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
179 |
this._Popcorn.trigger("IriSP.search", this._searchLastValue); // trigger the search to make it more natural. |
|
145
b477c9430d36
tests and implementation of the search button for the player.
hamidouk
parents:
131
diff
changeset
|
180 |
} else { |
|
732
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
181 |
this.hideSearchBlock(); |
|
145
b477c9430d36
tests and implementation of the search button for the player.
hamidouk
parents:
131
diff
changeset
|
182 |
} |
|
b477c9430d36
tests and implementation of the search button for the player.
hamidouk
parents:
131
diff
changeset
|
183 |
}; |
|
b477c9430d36
tests and implementation of the search button for the player.
hamidouk
parents:
131
diff
changeset
|
184 |
|
|
732
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
185 |
/** this handler is called whenever the content of the search |
|
145
b477c9430d36
tests and implementation of the search button for the player.
hamidouk
parents:
131
diff
changeset
|
186 |
field changes */ |
|
b477c9430d36
tests and implementation of the search button for the player.
hamidouk
parents:
131
diff
changeset
|
187 |
IriSP.PlayerWidget.prototype.searchHandler = function() { |
|
250
41683e7cb17a
updated the playerWidget to use classes instead of id's in its elements.
hamidouk
parents:
226
diff
changeset
|
188 |
this._searchLastValue = this.selector.find(".LdtSearchInput").attr('value'); |
| 398 | 189 |
this._positiveMatch = false; |
|
154
6e115a094858
another tweak to the searchBox : the visualization is cleared when the searchbox
hamidouk
parents:
153
diff
changeset
|
190 |
|
|
6e115a094858
another tweak to the searchBox : the visualization is cleared when the searchbox
hamidouk
parents:
153
diff
changeset
|
191 |
// do nothing if the search field is empty, instead of highlighting everything. |
|
6e115a094858
another tweak to the searchBox : the visualization is cleared when the searchbox
hamidouk
parents:
153
diff
changeset
|
192 |
if (this._searchLastValue == "") { |
|
6e115a094858
another tweak to the searchBox : the visualization is cleared when the searchbox
hamidouk
parents:
153
diff
changeset
|
193 |
this._Popcorn.trigger("IriSP.search.cleared"); |
| 355 | 194 |
this.selector.find(".LdtSearchInput").css('background-color',''); |
|
154
6e115a094858
another tweak to the searchBox : the visualization is cleared when the searchbox
hamidouk
parents:
153
diff
changeset
|
195 |
} else { |
|
6e115a094858
another tweak to the searchBox : the visualization is cleared when the searchbox
hamidouk
parents:
153
diff
changeset
|
196 |
this._Popcorn.trigger("IriSP.search", this._searchLastValue); |
|
6e115a094858
another tweak to the searchBox : the visualization is cleared when the searchbox
hamidouk
parents:
153
diff
changeset
|
197 |
} |
|
151
dc2ff4c87490
some tweaking to make the search function more user-friendly.
hamidouk
parents:
145
diff
changeset
|
198 |
}; |
|
dc2ff4c87490
some tweaking to make the search function more user-friendly.
hamidouk
parents:
145
diff
changeset
|
199 |
|
|
732
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
200 |
/** |
|
151
dc2ff4c87490
some tweaking to make the search function more user-friendly.
hamidouk
parents:
145
diff
changeset
|
201 |
handler for the IriSP.search.found message, which is sent by some views when they |
|
dc2ff4c87490
some tweaking to make the search function more user-friendly.
hamidouk
parents:
145
diff
changeset
|
202 |
highlight a match. |
|
dc2ff4c87490
some tweaking to make the search function more user-friendly.
hamidouk
parents:
145
diff
changeset
|
203 |
*/ |
|
dc2ff4c87490
some tweaking to make the search function more user-friendly.
hamidouk
parents:
145
diff
changeset
|
204 |
IriSP.PlayerWidget.prototype.searchMatch = function() { |
| 398 | 205 |
this._positiveMatch = true; |
|
250
41683e7cb17a
updated the playerWidget to use classes instead of id's in its elements.
hamidouk
parents:
226
diff
changeset
|
206 |
this.selector.find(".LdtSearchInput").css('background-color','#e1ffe1'); |
|
732
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
207 |
}; |
|
151
dc2ff4c87490
some tweaking to make the search function more user-friendly.
hamidouk
parents:
145
diff
changeset
|
208 |
|
|
732
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
209 |
/** the same, except that no value could be found */ |
|
151
dc2ff4c87490
some tweaking to make the search function more user-friendly.
hamidouk
parents:
145
diff
changeset
|
210 |
IriSP.PlayerWidget.prototype.searchNoMatch = function() { |
| 398 | 211 |
if (this._positiveMatch !== true) |
212 |
this.selector.find(".LdtSearchInput").css('background-color', "#d62e3a"); |
|
|
732
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
213 |
}; |
|
151
dc2ff4c87490
some tweaking to make the search function more user-friendly.
hamidouk
parents:
145
diff
changeset
|
214 |
|
|
732
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
215 |
/** react to an IriSP.Player.triggeredSearch - that is, when |
|
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
216 |
a widget ask the PlayerWidget to do a search on his behalf */ |
|
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
217 |
IriSP.PlayerWidget.prototype.triggeredSearch = function(searchString) { |
|
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
218 |
this.showSearchBlock(); |
|
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
219 |
this.selector.find(".LdtSearchInput").attr('value', searchString); |
|
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
220 |
this._Popcorn.trigger("IriSP.search", searchString); // trigger the search to make it more natural. |
|
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
221 |
}; |
|
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
222 |
|
|
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
223 |