Index: branches/MwEmbedStandAlone/modules/SmilPlayer/mw.SmilBody.js |
— | — | @@ -89,7 +89,7 @@ |
90 | 90 | this.getElementsForTime( time , |
91 | 91 | /* SMIL Element in Range */ |
92 | 92 | function( smilElement) { |
93 | | - mw.log("SmilBody::renderTime: Element in Range" + $j( smilElement ).attr('id')); |
| 93 | + //mw.log("SmilBody::renderTime: Element in Range" + $j( smilElement ).attr('id')); |
94 | 94 | // var relativeTime = time - smilElement.parentTimeOffset; |
95 | 95 | var relativeTime = time - $j( smilElement ).data ( 'startOffset' ); |
96 | 96 | |
— | — | @@ -101,7 +101,7 @@ |
102 | 102 | }, |
103 | 103 | /* SMIL Element out of range */ |
104 | 104 | function( smilElement ){ |
105 | | - mw.log("SmilBody::renderTime: Element out of Range" + $j( smilElement ).attr('id')); |
| 105 | + //mw.log("SmilBody::renderTime: Element out of Range" + $j( smilElement ).attr('id')); |
106 | 106 | // Stop the animation or playback |
107 | 107 | _this.smil.getAnimate().pauseAnimation( smilElement ) |
108 | 108 | |
Index: branches/MwEmbedStandAlone/modules/SmilPlayer/mw.SmilLayout.js |
— | — | @@ -130,7 +130,7 @@ |
131 | 131 | case 'img': |
132 | 132 | case 'cdata_html': |
133 | 133 | case 'smiltext': |
134 | | - // Give the static content a getSmilElementPlayerID for player layaer control |
| 134 | + // Give the static content a getSmilElementPlayerID for player layer control |
135 | 135 | var $target = $j('<div />') |
136 | 136 | .attr('id', _this.smil.getSmilElementPlayerID( smilElement ) ) |
137 | 137 | .css({ |
— | — | @@ -208,7 +208,7 @@ |
209 | 209 | break; |
210 | 210 | case 'mwtemplate': |
211 | 211 | $target.loadingSpinner(); |
212 | | - this.addSmilTemplateHtml( smilElement, $target, callback ); |
| 212 | + this.getSmilTemplateHtml( smilElement, $target, callback ); |
213 | 213 | return; |
214 | 214 | break; |
215 | 215 | case 'cdata_html': |
— | — | @@ -371,7 +371,7 @@ |
372 | 372 | /** |
373 | 373 | * Add Smil Template to a $target |
374 | 374 | */ |
375 | | - addSmilTemplateHtml: function( smilElement, $target, callback ){ |
| 375 | + getSmilTemplateHtml: function( smilElement, $target, callback ){ |
376 | 376 | var _this = this; |
377 | 377 | var addTemplateHtmlToTarget = function(){ |
378 | 378 | // Add the html to the target: |
— | — | @@ -400,7 +400,7 @@ |
401 | 401 | return ; |
402 | 402 | } |
403 | 403 | |
404 | | - mw.log("addSmilTemplateHtml:: x-wikitemplate:: " + $j( smilElement).attr( 'apititlekey' ) + " to target:" + $target.attr('class'));; |
| 404 | + mw.log("getSmilTemplateHtml:: x-wikitemplate:: " + $j( smilElement).attr( 'apititlekey' ) + " to target:" + $target.attr('class'));; |
405 | 405 | // build a wikitext call ( xml keys lose case when put into xml ) |
406 | 406 | var templateKey = $j( smilElement).attr( 'apititlekey' ); |
407 | 407 | if(!templateKey){ |
— | — | @@ -526,7 +526,9 @@ |
527 | 527 | return $j('<div />') |
528 | 528 | // Wrap in font-size percentage relative to virtual size |
529 | 529 | .css( { |
530 | | - 'font-size': ( scalePercent *100 ) + '%' |
| 530 | + 'font-size': ( scalePercent *100 ) + '%', |
| 531 | + 'width': '100%', |
| 532 | + 'height' : '100%' |
531 | 533 | }) |
532 | 534 | .append( |
533 | 535 | $htmlLayout.css( textCss ) |
— | — | @@ -703,11 +705,15 @@ |
704 | 706 | */ |
705 | 707 | panZoomLayout: function( smilElement, $target, img ){ |
706 | 708 | var _this = this; |
| 709 | + mw.log( 'panZoomLayout:' + $j( smilElement).attr('id') ); |
707 | 710 | var panZoom = $j( smilElement).attr('panZoom').split(','); |
708 | 711 | if( !img ){ |
709 | | - var img = $j( '#' + this.smil.getSmilElementPlayerID( smilElement ) ).get(0); |
| 712 | + var img = $j( '#' + this.smil.getSmilElementPlayerID( smilElement ) ).find('img').get(0); |
| 713 | + if( !img){ |
| 714 | + mw.log('Error getting image for ' + $j( smilElement).attr('id') ); |
| 715 | + } |
710 | 716 | } |
711 | | - |
| 717 | + |
712 | 718 | _this.getNaturalSize( img, function( natrualSize ){ |
713 | 719 | // Check if the transfrom is needed: |
714 | 720 | if( parseInt( panZoom.left ) == 0 |
— | — | @@ -719,11 +725,13 @@ |
720 | 726 | ( parseInt( panZoom.height ) == 100 && panZoom.height.indexOf('%') != -1 ) |
721 | 727 | ){ |
722 | 728 | // no transform is needed |
| 729 | + mw.log("no transofmr needed: " + parseInt( panZoom.left ) + ' = 0 && ' + |
| 730 | + ( parseInt( panZoom.width ) ) ); |
723 | 731 | return ; |
724 | 732 | } |
725 | 733 | // Get percent values |
726 | 734 | var percentValues = _this.smil.getAnimate().getPercentFromPanZoomValues( panZoom, natrualSize ); |
727 | | - //mw.log('panZoomLayout::' + 'l:' + percentValues.left + ' t:' + percentValues.top + ' w:' + percentValues.width + ' h:' + percentValues.height ); |
| 735 | + mw.log('panZoomLayout::' + 'l:' + percentValues.left + ' t:' + percentValues.top + ' w:' + percentValues.width + ' h:' + percentValues.height ); |
728 | 736 | // Update the layout via the animation engine updateElementLayout method |
729 | 737 | _this.smil.getAnimate().updateElementLayout( smilElement, percentValues, $target, img ); |
730 | 738 | }); |
Index: branches/MwEmbedStandAlone/modules/SmilPlayer/mw.SmilAnimate.js |
— | — | @@ -235,7 +235,7 @@ |
236 | 236 | //mw.log( "SmilAnimate::transformVideoForTime:" + assetId + " ct:" +vid.currentTime + ' should be: ' + videoSeekTime ); |
237 | 237 | |
238 | 238 | // Register a buffer ready callback |
239 | | - this.smil.getBuffer().videoBufferSeek( smilElement, videoSeekTime, function() { |
| 239 | + this.smil.getBuffer().mediaBufferSeek( smilElement, videoSeekTime, function() { |
240 | 240 | //mw.log( "transformVideoForTime:: seek complete ") |
241 | 241 | if( callback ) |
242 | 242 | callback(); |
— | — | @@ -435,7 +435,7 @@ |
436 | 436 | // xxx need to refactor move to "smilLayout" |
437 | 437 | updateElementLayout: function( smilElement, percentValues, $target, htmlElement ){ |
438 | 438 | var _this = this; |
439 | | - //mw.log("updateElementLayout::" + ' ' + percentValues.left + ' ' + percentValues.top + ' ' + percentValues.width + ' ' + percentValues.height ); |
| 439 | + mw.log("updateElementLayout::" + ' ' + percentValues.left + ' ' + percentValues.top + ' ' + percentValues.width + ' ' + percentValues.height ); |
440 | 440 | |
441 | 441 | // get a pointer to the html target: |
442 | 442 | if( !$target ) { |
Index: branches/MwEmbedStandAlone/modules/EmbedPlayer/loader.js |
— | — | @@ -156,8 +156,7 @@ |
157 | 157 | // Set up the embed video player class request: (include the skin js as well) |
158 | 158 | var dependencyRequest = [ |
159 | 159 | [ |
160 | | - '$j.ui', |
161 | | - '$j.widget', |
| 160 | + '$j.ui', |
162 | 161 | 'mw.EmbedPlayer', |
163 | 162 | 'mw.PlayerControlBuilder', |
164 | 163 | '$j.fn.hoverIntent', |
— | — | @@ -167,6 +166,7 @@ |
168 | 167 | 'JSON' |
169 | 168 | ], |
170 | 169 | [ |
| 170 | + '$j.widget', |
171 | 171 | '$j.ui.mouse', |
172 | 172 | '$j.fn.menu', |
173 | 173 | 'mw.style.jquerymenu', |
Index: branches/MwEmbedStandAlone/modules/Sequencer/loader.js |
— | — | @@ -87,7 +87,8 @@ |
88 | 88 | '$j.fn.layout', |
89 | 89 | |
90 | 90 | // UI components used in the sequencer interface: |
91 | | - '$j.ui.mouse', |
| 91 | + '$j.ui.mouse', |
| 92 | + '$j.widget', |
92 | 93 | '$j.ui.accordion', |
93 | 94 | '$j.ui.dialog', |
94 | 95 | '$j.ui.droppable', |
— | — | @@ -95,7 +96,7 @@ |
96 | 97 | '$j.ui.progressbar', |
97 | 98 | '$j.ui.sortable', |
98 | 99 | '$j.ui.resizable', |
99 | | - '$j.ui.slider', |
| 100 | + '$j.ui.slider', |
100 | 101 | '$j.ui.tabs' |
101 | 102 | ] |
102 | 103 | ]; |
Index: branches/MwEmbedStandAlone/modules/Sequencer/Sequencer.i18n.php |
— | — | @@ -45,8 +45,11 @@ |
46 | 46 | 'mwe-sequencer-tools-panzoomhelper-desc' => 'Resize and move the <i>layout helper</i> to update layout', |
47 | 47 | 'mwe-sequencer-tools-panzoomhelper-resetlayout' => 'Reset layout', |
48 | 48 | |
| 49 | + 'mwe-sequencer-tools-templateedit' => 'Edit template', |
| 50 | + 'mwe-sequencer-template-name' => 'Template page name', |
| 51 | + 'mwe-sequencer-tools-templateedit-desc' => 'Edit template parameters', |
| 52 | + 'mwe-sequencer-edittemplate-params' => 'Template parameters', |
49 | 53 | |
50 | | - |
51 | 54 | 'mwe-sequencer-tools-transitions' => 'Transitions', |
52 | 55 | 'mwe-sequencer-tools-transitions-desc' => 'Set in and out Transitions', |
53 | 56 | 'mwe-sequencer-clip-transin' => 'Transition in', |
Index: branches/MwEmbedStandAlone/modules/Sequencer/actions/mw.SequencerActionsSequence.js |
— | — | @@ -252,7 +252,7 @@ |
253 | 253 | 'title' : gM('mwe-sequencer-menu-sequence-publish-desc'), |
254 | 254 | 'content' : gM('mwe-sequencer-loading-publish-render'), |
255 | 255 | 'width' : 450, |
256 | | - 'height' : 400 |
| 256 | + 'height' : 470 |
257 | 257 | }); |
258 | 258 | |
259 | 259 | // Check if we have unsaved changes ( don't publish unsaved changes ) |
Index: branches/MwEmbedStandAlone/modules/Sequencer/mw.SequencerTools.js |
— | — | @@ -40,7 +40,7 @@ |
41 | 41 | }, |
42 | 42 | 'templateedit':{ |
43 | 43 | 'editWidgets' : ['edittemplate'], |
44 | | - 'editableAttributes' : [ 'apiTitleKey' ], |
| 44 | + 'editableAttributes' : [ 'apititlekey' ], |
45 | 45 | 'contentTypes' : ['mwtemplate'] |
46 | 46 | }, |
47 | 47 | 'transitions' : { |
— | — | @@ -63,9 +63,9 @@ |
64 | 64 | 'title' : gM('mwe-sequencer-clip-panzoom' ), |
65 | 65 | 'defaultValue' : '0%, 0%, 100%, 100%' |
66 | 66 | }, |
67 | | - 'apiTitleKey' : { |
| 67 | + 'apititlekey' : { |
68 | 68 | 'type' : 'string', |
69 | | - 'inputSize' : 15, |
| 69 | + 'inputSize' : 30, |
70 | 70 | 'title' : gM('mwe-sequencer-template-name' ) |
71 | 71 | }, |
72 | 72 | 'transIn' : { |
— | — | @@ -79,28 +79,34 @@ |
80 | 80 | // Special child node type |
81 | 81 | 'param' : { |
82 | 82 | 'type' : 'childParam', |
83 | | - 'inputSize' : 20 |
| 83 | + 'inputSize' : 30 |
84 | 84 | } |
85 | 85 | }, |
86 | 86 | editableTypes: { |
87 | 87 | 'childParam': { |
88 | | - update: function( _this, smilElement, paramName, value){ |
| 88 | + update: function( _this, smilElement, paramName, value){ |
89 | 89 | // Check if the param already exists |
90 | | - $paramNode = $j( smilElement ).find( "[name='"+ paramName + '"]' ); |
| 90 | + $paramNode = $j( smilElement ).find( "[name='"+ paramName + "']" ); |
91 | 91 | if( $paramNode.length == 0){ |
92 | 92 | $j( smilElement ).append( |
93 | | - $j('<param />').attr('name', paramName) |
| 93 | + $j('<param />').attr({ |
| 94 | + 'name': paramName, |
| 95 | + 'value' : value |
| 96 | + }) |
94 | 97 | ) |
| 98 | + } else { |
| 99 | + // Update the param value |
| 100 | + $paramNode.attr( 'value', value); |
95 | 101 | } |
96 | | - // Update the param value |
97 | | - $paramNode.attr( 'value', value); |
| 102 | + mw.log("editableTypes::Should have updated smilElement param: " + paramName |
| 103 | + + ' to : ' + $j( smilElement ).find( "[name='"+ paramName + '"]' ).attr( 'value') ); |
98 | 104 | }, |
99 | | - getSmilVal: function( _this, smilElement, paramName, value){ |
100 | | - $paramNode = $j( smilElement ).find( "[name='"+ paramName + '"]' ); |
| 105 | + getSmilVal: function( _this, smilElement, paramName ){ |
| 106 | + $paramNode = $j( smilElement ).find( "[name='"+ paramName + "']" ); |
101 | 107 | if( $paramNode.length == 0){ |
102 | 108 | return ''; |
103 | 109 | } |
104 | | - $paramNode.attr('value'); |
| 110 | + return $paramNode.attr('value'); |
105 | 111 | } |
106 | 112 | }, |
107 | 113 | 'string': { |
— | — | @@ -185,8 +191,16 @@ |
186 | 192 | }, |
187 | 193 | editWidgets: { |
188 | 194 | 'edittemplate':{ |
189 | | - 'onChange' : function( _this, target, smilElement ){ |
190 | | - |
| 195 | + 'onChange' : function( _this, smilElement, target ){ |
| 196 | + // Clear the smilElement template cache: |
| 197 | + $j( smilElement ).data('templateHtmlCache', null); |
| 198 | + // Re draw the smilElement in the player |
| 199 | + var smil = _this.sequencer.getSmil(); |
| 200 | + $playerTarget = $j('#' + smil.getSmilElementPlayerID( smilElement ) ); |
| 201 | + $playerTarget.loadingSpinner(); |
| 202 | + smil.getLayout().getSmilTemplateHtml( smilElement, $playerTarget, function(){ |
| 203 | + mw.log("SequencerTools::editWidgets: smil template updated"); |
| 204 | + }); |
191 | 205 | }, |
192 | 206 | 'draw': function( _this, target, smilElement ){ |
193 | 207 | // Parse the set of templates from the template text cache |
— | — | @@ -197,19 +211,23 @@ |
198 | 212 | return ; |
199 | 213 | } |
200 | 214 | // Get the template wikitext |
201 | | - _this.sequencer.getServer().getTemplateText($j( smilElement).attr('apititlekey'), function( templateText ){ |
202 | | - if( ! templateText ){ |
| 215 | + _this.sequencer |
| 216 | + .getServer() |
| 217 | + .getTemplateText( $j( smilElement).attr('apititlekey'), function( templateText ){ |
| 218 | + mw.log("GotTemplateText: " + templateText ); |
| 219 | + if( ! templateText || typeof templateText != 'string' ){ |
203 | 220 | mw.log("Error: could not get wikitext form titlekey: " + $j( smilElement).attr('apititlekey')) |
204 | 221 | return ; |
205 | 222 | } |
206 | 223 | $j( target ).empty().append( |
207 | | - $j('<h3 />').text('mwe-sequencer-edittemplate-params') |
| 224 | + $j('<h3 />').text( gM('mwe-sequencer-edittemplate-params') ) |
208 | 225 | ) |
209 | 226 | |
210 | 227 | // This is not supposed to be perfect .. |
211 | 228 | // just get you 'most' of the input vars 'most' of the time via the greedy regEx: |
212 | | - var templateVars = templateText.match(/\{\{\{([^\}]*)\}\}\}/gi); |
213 | | - var cleanTemplateParams = {}; |
| 229 | + var templateVars = templateText.match(/\{\{\{([^\}]*)\}\}\}/gi); |
| 230 | + var cleanTemplateParams = {}; |
| 231 | + |
214 | 232 | for( i =0;i<templateVars.length; i++ ){ |
215 | 233 | var tVar = templateVars[i]; |
216 | 234 | // Remove all {{{ and }}} |
— | — | @@ -224,15 +242,34 @@ |
225 | 243 | // Output input boxes for each template var as a param |
226 | 244 | for( var paramName in cleanTemplateParams ){ |
227 | 245 | $j( target ).append( |
228 | | - _this.getEditableAttribute(smilElement, 'edittemplate', 'param', paramName ), |
229 | | - $j('<br />') |
| 246 | + _this.getEditableAttribute( |
| 247 | + smilElement, |
| 248 | + 'edittemplate', |
| 249 | + 'param', |
| 250 | + paramName |
| 251 | + ) |
| 252 | + .find('input') |
| 253 | + // Bind the change event: |
| 254 | + .change(function(){ |
| 255 | + _this.editWidgets.edittemplate.onChange( |
| 256 | + _this, |
| 257 | + smilElement, |
| 258 | + target |
| 259 | + ) |
| 260 | + }) |
| 261 | + .parent() |
| 262 | + , |
| 263 | + $j('<div />') |
| 264 | + .css('clear', 'both') |
230 | 265 | ) |
231 | | - } |
| 266 | + } |
| 267 | + |
| 268 | + |
232 | 269 | }); |
233 | 270 | } |
234 | 271 | }, |
235 | 272 | 'panzoom' : { |
236 | | - 'onChange': function( _this, target, smilElement ){ |
| 273 | + 'onChange': function( _this, smilElement, target ){ |
237 | 274 | var panZoomVal = $j('#' +_this.getEditToolInputId( 'panzoom', 'panZoom')).val(); |
238 | 275 | mw.log("panzoom change:" + panZoomVal ); |
239 | 276 | |
— | — | @@ -267,7 +304,7 @@ |
268 | 305 | // Add a input box binding: |
269 | 306 | $j('#' +_this.getEditToolInputId( 'panzoom', 'panZoom')) |
270 | 307 | .change(function(){ |
271 | | - _this.editWidgets.panzoom.onChange( _this, target, smilElement); |
| 308 | + _this.editWidgets.panzoom.onChange( _this, smilElement, target ); |
272 | 309 | }) |
273 | 310 | |
274 | 311 | $j( target ).append( |
— | — | @@ -357,7 +394,7 @@ |
358 | 395 | _this.sequencer.getSmil() |
359 | 396 | .getLayout() |
360 | 397 | .panZoomLayout( |
361 | | - smilElement |
| 398 | + smilElement |
362 | 399 | ); |
363 | 400 | } |
364 | 401 | // Add bindings |
— | — | @@ -378,7 +415,7 @@ |
379 | 416 | // Restore original css for the layout helper |
380 | 417 | $j(this).css( orginalHelperCss ) |
381 | 418 | // trigger the 'change' |
382 | | - _this.editWidgets.panzoom.onChange( _this, target, smilElement ); |
| 419 | + _this.editWidgets.panzoom.onChange( _this, smilElement, target ); |
383 | 420 | } |
384 | 421 | }) |
385 | 422 | .css('cursor', 'move') |
— | — | @@ -400,14 +437,14 @@ |
401 | 438 | // Restore original css |
402 | 439 | $j(this).css( orginalHelperCss ) |
403 | 440 | // trigger the change |
404 | | - _this.editWidgets.panzoom.onChange( _this, target, smilElement ); |
| 441 | + _this.editWidgets.panzoom.onChange( _this, smilElement, target ); |
405 | 442 | } |
406 | 443 | }) |
407 | 444 | |
408 | 445 | } |
409 | 446 | }, |
410 | 447 | 'trimTimeline' : { |
411 | | - 'onChange': function( _this, target, smilElement ){ |
| 448 | + 'onChange': function( _this, smilElement, target){ |
412 | 449 | var smil = _this.sequencer.getSmil(); |
413 | 450 | // Update the preview thumbs |
414 | 451 | |
— | — | @@ -466,7 +503,7 @@ |
467 | 504 | |
468 | 505 | var onInputChange = function( sliderIndex, timeValue ){ |
469 | 506 | // Register the change |
470 | | - _this.editWidgets.trimTimeline.onChange( _this, target, smilElement); |
| 507 | + _this.editWidgets.trimTimeline.onChange( _this, smilElement, target); |
471 | 508 | // Update the slider |
472 | 509 | if( fullClipDuration ){ |
473 | 510 | $j('#'+_this.sequencer.id + '_trimTimeline' ) |
— | — | @@ -493,7 +530,7 @@ |
494 | 531 | }); |
495 | 532 | |
496 | 533 | // Update the thumbnails: |
497 | | - _this.editWidgets.trimTimeline.onChange( _this, target, smilElement ); |
| 534 | + _this.editWidgets.trimTimeline.onChange( _this, smilElement, target); |
498 | 535 | |
499 | 536 | // Get the clip full duration to build out the timeline selector |
500 | 537 | smil.getBody().getClipAssetDuration( smilElement, function( clipDuration ) { |
— | — | @@ -539,7 +576,7 @@ |
540 | 577 | _this.editableTypes['time'].update( _this, smilElement, 'dur', sliderToTime( ui.values[ 1 ]- ui.values[0] ) ); |
541 | 578 | |
542 | 579 | // update the widget display |
543 | | - _this.editWidgets.trimTimeline.onChange( _this, target, smilElement); |
| 580 | + _this.editWidgets.trimTimeline.onChange( _this, smilElement, target); |
544 | 581 | |
545 | 582 | // Register the edit state for undo / redo |
546 | 583 | _this.sequencer.getActionsEdit().registerEdit(); |
— | — | @@ -758,7 +795,7 @@ |
759 | 796 | _this.editableAttributes[ attributeName ].inputSize : 6; |
760 | 797 | |
761 | 798 | // Set paramName based attributes: |
762 | | - var attributeTitle = ( editAttribute.title ) ? editAttribute.title : paramName; |
| 799 | + var attributeTitle = ( editAttribute.title ) ? editAttribute.title : paramName + ':'; |
763 | 800 | |
764 | 801 | return $j( '<div />' ) |
765 | 802 | .css({ |
Index: branches/MwEmbedStandAlone/modules/Sequencer/mw.SequencerServer.js |
— | — | @@ -116,8 +116,8 @@ |
117 | 117 | }, |
118 | 118 | getTemplateText: function( templateTitle, callback ){ |
119 | 119 | var _this = this; |
120 | | - if(this.templateTextCache[templateTitle]){ |
121 | | - callback(templateTitle); |
| 120 | + if( this.templateTextCache[templateTitle] ){ |
| 121 | + callback( this.templateTextCache[templateTitle] ); |
122 | 122 | return ; |
123 | 123 | } |
124 | 124 | mw.getTitleText( this.getApiUrl(),templateTitle, function( templateText ){ |
Index: branches/MwEmbedStandAlone/modules/Sequencer/mw.SequencerTimeline.js |
— | — | @@ -113,11 +113,9 @@ |
114 | 114 | var trackStack =0; |
115 | 115 | // Draw all the tracks |
116 | 116 | $j.each(smilSequenceTracks, function( trackIndex, smilSequenceTrack ){ |
117 | | - trackStack++; |
118 | | - mw.log("!!!t++ inx: " + trackIndex + ' stack:' + trackStack); |
| 117 | + trackStack++; |
119 | 118 | _this.drawSequenceTrack( trackIndex, smilSequenceTrack, function(){ |
120 | 119 | trackStack--; |
121 | | - mw.log("t-- inx: " + trackIndex + ' stack:' + trackStack); |
122 | 120 | if( trackStack == 0 && callback ){ |
123 | 121 | callback(); |
124 | 122 | } |
Index: branches/MwEmbedStandAlone/remotes/mediaWiki.js |
— | — | @@ -271,11 +271,13 @@ |
272 | 272 | var jsPlayerRequest = [ |
273 | 273 | 'mw.EmbedPlayer', |
274 | 274 | 'mw.style.EmbedPlayer', |
275 | | - '$j.ui', |
| 275 | + '$j.ui', |
| 276 | + '$j.widget', |
| 277 | + '$j.ui.mouse', |
276 | 278 | 'mw.PlayerControlBuilder', |
277 | 279 | '$j.fn.hoverIntent', |
278 | 280 | '$j.cookie', |
279 | | - 'JSON', |
| 281 | + 'JSON', |
280 | 282 | '$j.ui.slider', |
281 | 283 | |
282 | 284 | 'mw.PlayerSkinKskin', |