| author | veltr |
| Mon, 26 Mar 2012 19:18:04 +0200 | |
| branch | popcorn-port |
| changeset 838 | 03b03865eb9b |
| parent 837 | 353a78021ebc |
| child 839 | 4357aac4eb19 |
| permissions | -rw-r--r-- |
|
838
03b03865eb9b
Transferred i18n data to widgets, corrected slider bug, added search in annotationslist
veltr
parents:
837
diff
changeset
|
1 |
/* Internationalization for this widget */ |
|
03b03865eb9b
Transferred i18n data to widgets, corrected slider bug, added search in annotationslist
veltr
parents:
837
diff
changeset
|
2 |
|
|
03b03865eb9b
Transferred i18n data to widgets, corrected slider bug, added search in annotationslist
veltr
parents:
837
diff
changeset
|
3 |
IriSP.i18n.addMessages( |
|
03b03865eb9b
Transferred i18n data to widgets, corrected slider bug, added search in annotationslist
veltr
parents:
837
diff
changeset
|
4 |
{ |
|
03b03865eb9b
Transferred i18n data to widgets, corrected slider bug, added search in annotationslist
veltr
parents:
837
diff
changeset
|
5 |
"en": { |
|
03b03865eb9b
Transferred i18n data to widgets, corrected slider bug, added search in annotationslist
veltr
parents:
837
diff
changeset
|
6 |
"play_pause": "Play/Pause", |
|
03b03865eb9b
Transferred i18n data to widgets, corrected slider bug, added search in annotationslist
veltr
parents:
837
diff
changeset
|
7 |
"mute_unmute": "Mute/Unmute", |
|
03b03865eb9b
Transferred i18n data to widgets, corrected slider bug, added search in annotationslist
veltr
parents:
837
diff
changeset
|
8 |
"play": "Play", |
|
03b03865eb9b
Transferred i18n data to widgets, corrected slider bug, added search in annotationslist
veltr
parents:
837
diff
changeset
|
9 |
"pause": "Pause", |
|
03b03865eb9b
Transferred i18n data to widgets, corrected slider bug, added search in annotationslist
veltr
parents:
837
diff
changeset
|
10 |
"mute": "Mute", |
|
03b03865eb9b
Transferred i18n data to widgets, corrected slider bug, added search in annotationslist
veltr
parents:
837
diff
changeset
|
11 |
"unmute": "Unmute", |
|
03b03865eb9b
Transferred i18n data to widgets, corrected slider bug, added search in annotationslist
veltr
parents:
837
diff
changeset
|
12 |
"annotate": "Annotate", |
|
03b03865eb9b
Transferred i18n data to widgets, corrected slider bug, added search in annotationslist
veltr
parents:
837
diff
changeset
|
13 |
"search": "Search", |
|
03b03865eb9b
Transferred i18n data to widgets, corrected slider bug, added search in annotationslist
veltr
parents:
837
diff
changeset
|
14 |
"elapsed_time": "Elapsed time", |
|
03b03865eb9b
Transferred i18n data to widgets, corrected slider bug, added search in annotationslist
veltr
parents:
837
diff
changeset
|
15 |
"total_time": "Total time" |
|
03b03865eb9b
Transferred i18n data to widgets, corrected slider bug, added search in annotationslist
veltr
parents:
837
diff
changeset
|
16 |
}, |
|
03b03865eb9b
Transferred i18n data to widgets, corrected slider bug, added search in annotationslist
veltr
parents:
837
diff
changeset
|
17 |
"fr": { |
|
03b03865eb9b
Transferred i18n data to widgets, corrected slider bug, added search in annotationslist
veltr
parents:
837
diff
changeset
|
18 |
"play_pause": "Lecture/Pause", |
|
03b03865eb9b
Transferred i18n data to widgets, corrected slider bug, added search in annotationslist
veltr
parents:
837
diff
changeset
|
19 |
"mute_unmute": "Couper/Activer le son", |
|
03b03865eb9b
Transferred i18n data to widgets, corrected slider bug, added search in annotationslist
veltr
parents:
837
diff
changeset
|
20 |
"play": "Lecture", |
|
03b03865eb9b
Transferred i18n data to widgets, corrected slider bug, added search in annotationslist
veltr
parents:
837
diff
changeset
|
21 |
"pause": "Pause", |
|
03b03865eb9b
Transferred i18n data to widgets, corrected slider bug, added search in annotationslist
veltr
parents:
837
diff
changeset
|
22 |
"mute": "Couper le son", |
|
03b03865eb9b
Transferred i18n data to widgets, corrected slider bug, added search in annotationslist
veltr
parents:
837
diff
changeset
|
23 |
"unmute": "Activer le son", |
|
03b03865eb9b
Transferred i18n data to widgets, corrected slider bug, added search in annotationslist
veltr
parents:
837
diff
changeset
|
24 |
"annotate": "Annoter", |
|
03b03865eb9b
Transferred i18n data to widgets, corrected slider bug, added search in annotationslist
veltr
parents:
837
diff
changeset
|
25 |
"search": "Rechercher", |
|
03b03865eb9b
Transferred i18n data to widgets, corrected slider bug, added search in annotationslist
veltr
parents:
837
diff
changeset
|
26 |
"elapsed_time": "Durée écoulée", |
|
03b03865eb9b
Transferred i18n data to widgets, corrected slider bug, added search in annotationslist
veltr
parents:
837
diff
changeset
|
27 |
"total_time": "Durée totale" |
|
03b03865eb9b
Transferred i18n data to widgets, corrected slider bug, added search in annotationslist
veltr
parents:
837
diff
changeset
|
28 |
} |
|
03b03865eb9b
Transferred i18n data to widgets, corrected slider bug, added search in annotationslist
veltr
parents:
837
diff
changeset
|
29 |
} |
|
03b03865eb9b
Transferred i18n data to widgets, corrected slider bug, added search in annotationslist
veltr
parents:
837
diff
changeset
|
30 |
); |
|
03b03865eb9b
Transferred i18n data to widgets, corrected slider bug, added search in annotationslist
veltr
parents:
837
diff
changeset
|
31 |
|
|
03b03865eb9b
Transferred i18n data to widgets, corrected slider bug, added search in annotationslist
veltr
parents:
837
diff
changeset
|
32 |
|
| 109 | 33 |
IriSP.PlayerWidget = function(Popcorn, config, Serializer) { |
34 |
IriSP.Widget.call(this, Popcorn, config, Serializer); |
|
|
145
b477c9430d36
tests and implementation of the search button for the player.
hamidouk
parents:
131
diff
changeset
|
35 |
|
|
b477c9430d36
tests and implementation of the search button for the player.
hamidouk
parents:
131
diff
changeset
|
36 |
this._searchBlockOpen = false; |
|
b477c9430d36
tests and implementation of the search button for the player.
hamidouk
parents:
131
diff
changeset
|
37 |
this._searchLastValue = ""; |
| 109 | 38 |
}; |
| 115 | 39 |
|
40 |
IriSP.PlayerWidget.prototype = new IriSP.Widget(); |
|
41 |
||
| 98 | 42 |
IriSP.PlayerWidget.prototype.draw = function() { |
| 153 | 43 |
var self = this; |
| 131 | 44 |
var width = this.width; |
45 |
var height = this.height; |
|
46 |
var heightS = this.height-20; |
|
|
261
7e7a44d82a81
positionned correctly the search box - its position is now calculated in function
hamidouk
parents:
255
diff
changeset
|
47 |
|
| 831 | 48 |
var playerTempl = IriSP.templToHTML(IriSP.player_template, this._config); |
| 564 | 49 |
this.selector.append(playerTempl); |
|
468
651528a4f795
fixed a couple layout bugs that didn't appear in integration testing.
hamidouk
parents:
458
diff
changeset
|
50 |
|
|
250
41683e7cb17a
updated the playerWidget to use classes instead of id's in its elements.
hamidouk
parents:
226
diff
changeset
|
51 |
this.selector.children(".Ldt-controler").show(); |
| 153 | 52 |
|
|
202
2e0205ee7ca9
patch to respond to update the player widget when the user clicks directly on
hamidouk
parents:
163
diff
changeset
|
53 |
// 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
|
54 |
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
|
55 |
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
|
56 |
|
|
6e6b4a54776a
added a function to update the icon when the player is muted.
hamidouk
parents:
446
diff
changeset
|
57 |
this._Popcorn.listen("volumechange", IriSP.wrap(this, this.muteButtonUpdater)); |
| 440 | 58 |
|
|
559
04e73ddebfa7
the total media duration now displays itself correctly at startup.
hamidouk
parents:
540
diff
changeset
|
59 |
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
|
60 |
// update the time display for the first time. |
|
04e73ddebfa7
the total media duration now displays itself correctly at startup.
hamidouk
parents:
540
diff
changeset
|
61 |
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
|
62 |
|
| 398 | 63 |
this._Popcorn.listen("IriSP.search.matchFound", IriSP.wrap(this, this.searchMatch)); |
64 |
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
|
65 |
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
|
66 |
|
|
250
41683e7cb17a
updated the playerWidget to use classes instead of id's in its elements.
hamidouk
parents:
226
diff
changeset
|
67 |
|
|
311
43a1b7d95317
WIP - integrating the various changes samuel requested.
hamidouk
parents:
296
diff
changeset
|
68 |
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
|
69 |
this.selector.find(".Ldt-CtrlAnnotate").click(function() |
|
b1f3aee23199
send a signal when receiving a click on the Annotate button.
hamidouk
parents:
468
diff
changeset
|
70 |
{ self._Popcorn.trigger("IriSP.PlayerWidget.AnnotateButton.clicked"); }); |
|
311
43a1b7d95317
WIP - integrating the various changes samuel requested.
hamidouk
parents:
296
diff
changeset
|
71 |
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
|
72 |
|
|
311
43a1b7d95317
WIP - integrating the various changes samuel requested.
hamidouk
parents:
296
diff
changeset
|
73 |
this.selector.find('.Ldt-CtrlSound').click(function() { self.muteHandler.call(self); } ); |
|
250
41683e7cb17a
updated the playerWidget to use classes instead of id's in its elements.
hamidouk
parents:
226
diff
changeset
|
74 |
|
| 564 | 75 |
/* |
|
311
43a1b7d95317
WIP - integrating the various changes samuel requested.
hamidouk
parents:
296
diff
changeset
|
76 |
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
|
77 |
var searchBox = Mustache.to_html(IriSP.search_template, {margin_left : searchButtonPos.left + "px"}); |
| 564 | 78 |
this.selector.find(".Ldt-CtrlSearch").after(searchBox); |
79 |
*/ |
|
|
261
7e7a44d82a81
positionned correctly the search box - its position is now calculated in function
hamidouk
parents:
255
diff
changeset
|
80 |
|
|
331
ef3447aa6920
player widget now sends a special message when the mouse is hovering it.
hamidouk
parents:
311
diff
changeset
|
81 |
// 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
|
82 |
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
|
83 |
function() { self._Popcorn.trigger("IriSP.PlayerWidget.MouseOut"); }); |
| 458 | 84 |
|
85 |
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
|
86 |
}; |
|
af3adcf7cb20
added an elapsed time display to the player widget.
hamidouk
parents:
251
diff
changeset
|
87 |
|
|
af3adcf7cb20
added an elapsed time display to the player widget.
hamidouk
parents:
251
diff
changeset
|
88 |
/* Update the elasped time div */ |
|
af3adcf7cb20
added an elapsed time display to the player widget.
hamidouk
parents:
251
diff
changeset
|
89 |
IriSP.PlayerWidget.prototype.timeDisplayUpdater = function() { |
| 98 | 90 |
|
| 830 | 91 |
if (this._previousSecond === undefined) { |
|
255
af3adcf7cb20
added an elapsed time display to the player widget.
hamidouk
parents:
251
diff
changeset
|
92 |
this._previousSecond = this._Popcorn.roundTime(); |
| 830 | 93 |
} |
|
255
af3adcf7cb20
added an elapsed time display to the player widget.
hamidouk
parents:
251
diff
changeset
|
94 |
else { |
|
af3adcf7cb20
added an elapsed time display to the player widget.
hamidouk
parents:
251
diff
changeset
|
95 |
/* 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
|
96 |
if (this._Popcorn.roundTime() == this._previousSecond) |
|
af3adcf7cb20
added an elapsed time display to the player widget.
hamidouk
parents:
251
diff
changeset
|
97 |
return; |
|
af3adcf7cb20
added an elapsed time display to the player widget.
hamidouk
parents:
251
diff
changeset
|
98 |
|
| 98 | 99 |
} |
|
255
af3adcf7cb20
added an elapsed time display to the player widget.
hamidouk
parents:
251
diff
changeset
|
100 |
|
|
af3adcf7cb20
added an elapsed time display to the player widget.
hamidouk
parents:
251
diff
changeset
|
101 |
// 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
|
102 |
var duration = this._serializer.getDuration() / 1000; |
|
255
af3adcf7cb20
added an elapsed time display to the player widget.
hamidouk
parents:
251
diff
changeset
|
103 |
var totalTime = IriSP.secondsToTime(duration); |
|
af3adcf7cb20
added an elapsed time display to the player widget.
hamidouk
parents:
251
diff
changeset
|
104 |
var elapsedTime = IriSP.secondsToTime(this._Popcorn.currentTime()); |
|
af3adcf7cb20
added an elapsed time display to the player widget.
hamidouk
parents:
251
diff
changeset
|
105 |
|
| 338 | 106 |
this.selector.find(".Ldt-ElapsedTime").html(elapsedTime.toString()); |
107 |
this.selector.find(".Ldt-TotalTime").html(totalTime.toString()); |
|
|
255
af3adcf7cb20
added an elapsed time display to the player widget.
hamidouk
parents:
251
diff
changeset
|
108 |
this._previousSecond = this._Popcorn.roundTime(); |
| 98 | 109 |
}; |
110 |
||
|
202
2e0205ee7ca9
patch to respond to update the player widget when the user clicks directly on
hamidouk
parents:
163
diff
changeset
|
111 |
/* 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
|
112 |
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
|
113 |
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
|
114 |
*/ |
|
2e0205ee7ca9
patch to respond to update the player widget when the user clicks directly on
hamidouk
parents:
163
diff
changeset
|
115 |
IriSP.PlayerWidget.prototype.playButtonUpdater = function() { |
| 98 | 116 |
var status = this._Popcorn.media.paused; |
117 |
|
|
|
802
c74de6ba5d11
fixed player buttons. They now use css class instead of directly refering to the
hamidouk
parents:
732
diff
changeset
|
118 |
if ( status == true ){ |
|
c74de6ba5d11
fixed player buttons. They now use css class instead of directly refering to the
hamidouk
parents:
732
diff
changeset
|
119 |
/* the background sprite is changed by adding/removing the correct classes */ |
| 837 | 120 |
this.selector.find(".Ldt-CtrlPlay").attr("title", IriSP.i18n.getMessage('play')); |
|
802
c74de6ba5d11
fixed player buttons. They now use css class instead of directly refering to the
hamidouk
parents:
732
diff
changeset
|
121 |
this.selector.find(".Ldt-CtrlPlay").removeClass("Ldt-CtrlPlay-PauseState").addClass("Ldt-CtrlPlay-PlayState"); |
| 98 | 122 |
} else { |
| 837 | 123 |
this.selector.find(".Ldt-CtrlPlay").attr("title", IriSP.i18n.getMessage('pause')); |
|
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-CtrlPlay").removeClass("Ldt-CtrlPlay-PlayState").addClass("Ldt-CtrlPlay-PauseState"); |
| 98 | 125 |
} |
| 440 | 126 |
|
127 |
return; |
|
| 98 | 128 |
}; |
129 |
||
|
202
2e0205ee7ca9
patch to respond to update the player widget when the user clicks directly on
hamidouk
parents:
163
diff
changeset
|
130 |
|
|
2e0205ee7ca9
patch to respond to update the player widget when the user clicks directly on
hamidouk
parents:
163
diff
changeset
|
131 |
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
|
132 |
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
|
133 |
|
|
2e0205ee7ca9
patch to respond to update the player widget when the user clicks directly on
hamidouk
parents:
163
diff
changeset
|
134 |
if ( status == true ){ |
|
2e0205ee7ca9
patch to respond to update the player widget when the user clicks directly on
hamidouk
parents:
163
diff
changeset
|
135 |
this._Popcorn.play(); |
|
2e0205ee7ca9
patch to respond to update the player widget when the user clicks directly on
hamidouk
parents:
163
diff
changeset
|
136 |
} else { |
|
2e0205ee7ca9
patch to respond to update the player widget when the user clicks directly on
hamidouk
parents:
163
diff
changeset
|
137 |
this._Popcorn.pause(); |
|
2e0205ee7ca9
patch to respond to update the player widget when the user clicks directly on
hamidouk
parents:
163
diff
changeset
|
138 |
} |
|
2e0205ee7ca9
patch to respond to update the player widget when the user clicks directly on
hamidouk
parents:
163
diff
changeset
|
139 |
}; |
|
2e0205ee7ca9
patch to respond to update the player widget when the user clicks directly on
hamidouk
parents:
163
diff
changeset
|
140 |
|
| 98 | 141 |
IriSP.PlayerWidget.prototype.muteHandler = function() { |
142 |
if (!this._Popcorn.muted()) { |
|
143 |
this._Popcorn.mute(true); |
|
144 |
} else { |
|
145 |
this._Popcorn.mute(false); |
|
146 |
} |
|
147 |
}; |
|
148 |
||
|
449
6e6b4a54776a
added a function to update the icon when the player is muted.
hamidouk
parents:
446
diff
changeset
|
149 |
IriSP.PlayerWidget.prototype.muteButtonUpdater = function() { |
|
6e6b4a54776a
added a function to update the icon when the player is muted.
hamidouk
parents:
446
diff
changeset
|
150 |
var status = this._Popcorn.media.muted; |
|
6e6b4a54776a
added a function to update the icon when the player is muted.
hamidouk
parents:
446
diff
changeset
|
151 |
|
|
6e6b4a54776a
added a function to update the icon when the player is muted.
hamidouk
parents:
446
diff
changeset
|
152 |
if ( status == true ){ |
| 837 | 153 |
this.selector.find(".Ldt-CtrlSound").attr("title", IriSP.i18n.getMessage('unmute')); |
|
802
c74de6ba5d11
fixed player buttons. They now use css class instead of directly refering to the
hamidouk
parents:
732
diff
changeset
|
154 |
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
|
155 |
} else { |
| 837 | 156 |
this.selector.find(".Ldt-CtrlSound").attr("title", IriSP.i18n.getMessage('mute')); |
|
802
c74de6ba5d11
fixed player buttons. They now use css class instead of directly refering to the
hamidouk
parents:
732
diff
changeset
|
157 |
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
|
158 |
} |
|
6e6b4a54776a
added a function to update the icon when the player is muted.
hamidouk
parents:
446
diff
changeset
|
159 |
|
|
6e6b4a54776a
added a function to update the icon when the player is muted.
hamidouk
parents:
446
diff
changeset
|
160 |
return; |
|
6e6b4a54776a
added a function to update the icon when the player is muted.
hamidouk
parents:
446
diff
changeset
|
161 |
}; |
|
6e6b4a54776a
added a function to update the icon when the player is muted.
hamidouk
parents:
446
diff
changeset
|
162 |
|
|
732
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
163 |
IriSP.PlayerWidget.prototype.showSearchBlock = function() { |
|
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
164 |
var self = this; |
|
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
165 |
|
|
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
166 |
if (this._searchBlockOpen == false) { |
|
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
167 |
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
|
168 |
this.selector.find(".LdtSearchInput").css('background-color','#fff'); |
|
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 |
this._searchBlockOpen = true; |
|
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
171 |
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
|
172 |
this.selector.find(".LdtSearchInput").focus(); |
|
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
173 |
|
|
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
174 |
// 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
|
175 |
// 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
|
176 |
// 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
|
177 |
// variable to remember that we had one. |
|
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
178 |
this._positiveMatch = false; |
|
449
6e6b4a54776a
added a function to update the icon when the player is muted.
hamidouk
parents:
446
diff
changeset
|
179 |
|
|
732
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
180 |
// tell the world the field is open |
|
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
181 |
this._Popcorn.trigger("IriSP.search.open"); |
|
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
182 |
} |
|
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
183 |
}; |
|
145
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 |
IriSP.PlayerWidget.prototype.hideSearchBlock = function() { |
|
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
186 |
if (this._searchBlockOpen == true) { |
|
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
187 |
this._searchLastValue = this.selector.find(".LdtSearchInput").attr('value'); |
|
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
188 |
this.selector.find(".LdtSearchInput").attr('value',''); |
|
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
189 |
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
|
190 |
|
|
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
191 |
// unbind the watcher event. |
|
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
192 |
this.selector.find(".LdtSearchInput").unbind('keypress set'); |
|
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
193 |
this._searchBlockOpen = false; |
| 398 | 194 |
|
|
732
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
195 |
this._positiveMatch = false; |
|
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
196 |
|
|
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
197 |
this._Popcorn.trigger("IriSP.search.closed"); |
|
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
198 |
} |
|
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
199 |
}; |
|
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
200 |
|
|
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
201 |
/** react to clicks on the search button */ |
|
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
202 |
IriSP.PlayerWidget.prototype.searchButtonHandler = function() { |
|
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
203 |
var self = this; |
|
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
204 |
|
|
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
205 |
/* 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
|
206 |
if ( this._searchBlockOpen == false ) { |
|
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
207 |
this.showSearchBlock(); |
|
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
208 |
this.selector.find(".LdtSearchInput").attr('value', this._searchLastValue); |
|
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
209 |
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
|
210 |
} else { |
|
732
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
211 |
this.hideSearchBlock(); |
|
145
b477c9430d36
tests and implementation of the search button for the player.
hamidouk
parents:
131
diff
changeset
|
212 |
} |
|
b477c9430d36
tests and implementation of the search button for the player.
hamidouk
parents:
131
diff
changeset
|
213 |
}; |
|
b477c9430d36
tests and implementation of the search button for the player.
hamidouk
parents:
131
diff
changeset
|
214 |
|
|
732
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
215 |
/** 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
|
216 |
field changes */ |
|
b477c9430d36
tests and implementation of the search button for the player.
hamidouk
parents:
131
diff
changeset
|
217 |
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
|
218 |
this._searchLastValue = this.selector.find(".LdtSearchInput").attr('value'); |
| 398 | 219 |
this._positiveMatch = false; |
|
154
6e115a094858
another tweak to the searchBox : the visualization is cleared when the searchbox
hamidouk
parents:
153
diff
changeset
|
220 |
|
|
6e115a094858
another tweak to the searchBox : the visualization is cleared when the searchbox
hamidouk
parents:
153
diff
changeset
|
221 |
// 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
|
222 |
if (this._searchLastValue == "") { |
|
6e115a094858
another tweak to the searchBox : the visualization is cleared when the searchbox
hamidouk
parents:
153
diff
changeset
|
223 |
this._Popcorn.trigger("IriSP.search.cleared"); |
| 355 | 224 |
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
|
225 |
} else { |
|
6e115a094858
another tweak to the searchBox : the visualization is cleared when the searchbox
hamidouk
parents:
153
diff
changeset
|
226 |
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
|
227 |
} |
|
151
dc2ff4c87490
some tweaking to make the search function more user-friendly.
hamidouk
parents:
145
diff
changeset
|
228 |
}; |
|
dc2ff4c87490
some tweaking to make the search function more user-friendly.
hamidouk
parents:
145
diff
changeset
|
229 |
|
|
732
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
230 |
/** |
|
151
dc2ff4c87490
some tweaking to make the search function more user-friendly.
hamidouk
parents:
145
diff
changeset
|
231 |
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
|
232 |
highlight a match. |
|
dc2ff4c87490
some tweaking to make the search function more user-friendly.
hamidouk
parents:
145
diff
changeset
|
233 |
*/ |
|
dc2ff4c87490
some tweaking to make the search function more user-friendly.
hamidouk
parents:
145
diff
changeset
|
234 |
IriSP.PlayerWidget.prototype.searchMatch = function() { |
| 398 | 235 |
this._positiveMatch = true; |
|
250
41683e7cb17a
updated the playerWidget to use classes instead of id's in its elements.
hamidouk
parents:
226
diff
changeset
|
236 |
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
|
237 |
}; |
|
151
dc2ff4c87490
some tweaking to make the search function more user-friendly.
hamidouk
parents:
145
diff
changeset
|
238 |
|
|
732
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
239 |
/** 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
|
240 |
IriSP.PlayerWidget.prototype.searchNoMatch = function() { |
| 398 | 241 |
if (this._positiveMatch !== true) |
242 |
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
|
243 |
}; |
|
151
dc2ff4c87490
some tweaking to make the search function more user-friendly.
hamidouk
parents:
145
diff
changeset
|
244 |
|
|
732
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
245 |
/** 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
|
246 |
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
|
247 |
IriSP.PlayerWidget.prototype.triggeredSearch = function(searchString) { |
|
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
248 |
this.showSearchBlock(); |
|
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
249 |
this.selector.find(".LdtSearchInput").attr('value', searchString); |
|
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
250 |
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
|
251 |
}; |
|
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
252 |
|
|
823fa16807d4
refactored the code to allow external widget to do searches.
hamidouk
parents:
659
diff
changeset
|
253 |