Skip to content

Commit df89357

Browse files
committed
UI: remove the $.extend in the UI's files
1 parent 6b1671d commit df89357

26 files changed

+440
-525
lines changed

compressed.js

Lines changed: 1 addition & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

event/listWidth.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ var
1010
api.keyboard.shortcut( "ctrl+l", ui.listOpenToggle );
1111

1212
dom.ctrlPlaylistBtn.click( ui.listOpenToggle );
13-
dom.playlistCloseBtn.click( ui.listClose );
13+
dom.playlistCloseBtn.click( ui.listOpenToggle.bind( ui, false ) );
1414

1515
jqExtend
1616
.mousedown( function() {

ui/actionDesc.js

Lines changed: 14 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,18 @@
11
"use strict";
22

3-
(function() {
3+
ui.actionDescEnable = true;
44

5-
var screenTextTimeoutId;
6-
7-
$.extend( ui, {
8-
actionDescEnable: true,
9-
actionDesc: function( msg ) {
10-
if ( ui.actionDescEnable ) {
11-
clearTimeout( screenTextTimeoutId );
12-
dom.screenShortcutText
13-
.text( msg )
14-
.removeClass( "hidden" )
15-
;
16-
// Start to fadeout the element after 2s.
17-
screenTextTimeoutId = setTimeout( function() {
18-
dom.screenShortcutText.addClass( "hidden" );
19-
}, 2000 );
20-
}
21-
return ui;
5+
ui.actionDesc = function( msg ) {
6+
if ( ui.actionDescEnable ) {
7+
clearTimeout( ui.actionDescTimeoutId );
8+
dom.screenShortcutText
9+
.text( msg )
10+
.removeClass( "hidden" )
11+
;
12+
// Start to fadeout the element after 2s.
13+
ui.actionDescTimeoutId = setTimeout( function() {
14+
dom.screenShortcutText.addClass( "hidden" );
15+
}, 2000 );
2216
}
23-
});
24-
25-
})();
17+
return ui;
18+
};

ui/brightness.js

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,12 @@
11
"use strict";
22

3-
$.extend( ui, {
4-
brightness: function( op ) {
5-
dom.screenBrightness.css( "opacity", op );
6-
dom.ctrlBrightnessSlider.element().val( op );
7-
dom.ctrlBrightnessIcon
8-
.removeClass( "fa-moon-o fa-lightbulb-o" )
9-
.addClass( op < .5 ? "fa-moon-o" : "fa-lightbulb-o" )
10-
;
11-
dom.ctrlBrightnessValue.text( utils.fPercent( op ) );
12-
return ui;
13-
}
14-
});
3+
ui.brightness = function( op ) {
4+
dom.screenBrightness.css( "opacity", op );
5+
dom.ctrlBrightnessSlider.element().val( op );
6+
dom.ctrlBrightnessIcon
7+
.removeClass( "fa-moon-o fa-lightbulb-o" )
8+
.addClass( op < .5 ? "fa-moon-o" : "fa-lightbulb-o" )
9+
;
10+
dom.ctrlBrightnessValue.text( utils.fPercent( op ) );
11+
return ui;
12+
};

ui/buffered.js

Lines changed: 37 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -1,55 +1,45 @@
11
"use strict";
22

3-
(function() {
4-
5-
var
6-
jqDivArr = [],
7-
nbBuffVisibles = 0
8-
;
3+
ui.bufferedDivs = [];
4+
ui.bufferedDivsVisible = 0;
5+
6+
ui.buffered = function() {
7+
var
8+
i,
9+
divLen,
10+
jqDiv,
11+
dur = api.video.duration(),
12+
buff = api.videoElement.buffered,
13+
buffLen = buff.length
14+
;
15+
16+
for ( i = buffLen - ui.bufferedDivs.length; i-- > 0; ) {
17+
jqDiv = $( "<div class='buffer'>" ).hide();
18+
ui.bufferedDivs.push( { jqBuf: jqDiv } );
19+
dom.ctrlSliderPosTrack.append( jqDiv );
20+
}
21+
divLen = ui.bufferedDivs.length;
922

10-
// dom.ctrlSliderPosTrack.append( "<div class='buffer'>" );
23+
if ( ui.bufferedDivsVisible !== buffLen ) {
24+
for ( i = 0; i < divLen; ++i ) {
25+
ui.bufferedDivs[ i ].jqBuf.toggle( i < buffLen );
26+
}
27+
ui.bufferedDivsVisible = buffLen;
28+
}
1129

12-
$.extend( ui, {
13-
buffered: function() {
30+
for ( i = 0; i < buffLen; ++i ) {
1431
var
15-
i,
16-
divLen,
17-
jqDiv,
18-
dur = api.video.duration(),
19-
buff = api.videoElement.buffered,
20-
buffLen = buff.length
32+
a = buff.start( i ),
33+
b = buff.end( i ),
34+
buf = ui.bufferedDivs[ i ]
2135
;
22-
23-
for ( i = buffLen - jqDivArr.length; i-- > 0; ) {
24-
jqDiv = $( "<div class='buffer'>" ).hide();
25-
jqDivArr.push( { jqBuf: jqDiv } );
26-
dom.ctrlSliderPosTrack.append( jqDiv );
36+
if ( buf.b !== b ) {
37+
buf.b = b;
38+
buf.jqBuf.css( {
39+
left: a / dur * 100 + "%",
40+
width: ( b - a ) / dur * 100 + "%"
41+
});
2742
}
28-
divLen = jqDivArr.length;
29-
30-
if ( nbBuffVisibles !== buffLen ) {
31-
for ( i = 0; i < divLen; ++i ) {
32-
jqDivArr[ i ].jqBuf.toggle( i < buffLen );
33-
}
34-
nbBuffVisibles = buffLen;
35-
}
36-
37-
for ( i = 0; i < buffLen; ++i ) {
38-
var
39-
a = buff.start( i ),
40-
b = buff.end( i ),
41-
buf = jqDivArr[ i ]
42-
;
43-
if ( buf.b !== b ) {
44-
buf.b = b;
45-
buf.jqBuf.css( {
46-
left: a / dur * 100 + "%",
47-
width: ( b - a ) / dur * 100 + "%"
48-
});
49-
}
50-
}
51-
return ui;
5243
}
53-
});
54-
55-
})();
44+
return ui;
45+
};

ui/canvas.js

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -18,32 +18,32 @@ function frame( timestamp ) {
1818
}
1919
}
2020

21-
$.extend( ui, {
22-
canvasDisplayed: false,
23-
canvasToggle: function( b ) {
24-
if ( typeof b !== "boolean" ) {
25-
b = !ui.canvasDisplayed;
26-
}
27-
ui.canvasDisplayed = b;
28-
ctx.clearRect( 0, 0, canvas.width, canvas.height );
29-
dom.fileplayer.toggleClass( "canvas-displayed", b );
30-
if ( b ) {
31-
if ( !requestId ) {
32-
requestId = requestAnimationFrame( frame );
33-
}
34-
} else {
35-
cancelAnimationFrame( requestId );
36-
requestId = null;
21+
ui.canvasDisplayed = false;
22+
23+
ui.canvasToggle = function( b ) {
24+
if ( typeof b !== "boolean" ) {
25+
b = !ui.canvasDisplayed;
26+
}
27+
ui.canvasDisplayed = b;
28+
ctx.clearRect( 0, 0, canvas.width, canvas.height );
29+
dom.fileplayer.toggleClass( "canvas-displayed", b );
30+
if ( b ) {
31+
if ( !requestId ) {
32+
requestId = requestAnimationFrame( frame );
3733
}
38-
return ui;
39-
},
40-
canvasRender: function( fn, obj ) {
41-
frameFn = fn || $.noop;
42-
frameObj = $.extend( obj, {
43-
ctxCanvas: ctx
44-
});
45-
return ui;
34+
} else {
35+
cancelAnimationFrame( requestId );
36+
requestId = null;
4637
}
47-
});
38+
return ui;
39+
};
40+
41+
ui.canvasRender = function( fn, obj ) {
42+
frameFn = fn || $.noop;
43+
frameObj = $.extend( obj, {
44+
ctxCanvas: ctx
45+
});
46+
return ui;
47+
};
4848

4949
})();

ui/currentTimeDuration.js

Lines changed: 15 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,18 @@
11
"use strict";
22

3-
$.extend( ui, {
4-
currentTime: function( sec ) {
5-
ui.subtitlesCue( api.subtitles.findCue() );
6-
dom.ctrlCutesliderPosition.element().val( sec );
7-
dom.ctrlTimeCurrent.text( utils.secondsToString( sec ) );
8-
dom.ctrlTimeRemaining.text( utils.secondsToString( api.video.duration() - sec ) );
9-
clearTimeout( ui.seekTimeout );
10-
if ( api.video.isPlaying ) {
11-
ui.seekTimeout = setTimeout( ui.seeking, 700 );
12-
}
13-
return ui;
14-
},
15-
duration: function( sec ) {
16-
dom.ctrlTimeDuration.text( utils.secondsToString( sec ) );
17-
return ui;
3+
ui.currentTime = function( sec ) {
4+
ui.subtitlesCue( api.subtitles.findCue() );
5+
dom.ctrlCutesliderPosition.element().val( sec );
6+
dom.ctrlTimeCurrent.text( utils.secondsToString( sec ) );
7+
dom.ctrlTimeRemaining.text( utils.secondsToString( api.video.duration() - sec ) );
8+
clearTimeout( ui.seekTimeout );
9+
if ( api.video.isPlaying ) {
10+
ui.seekTimeout = setTimeout( ui.seeking, 700 );
1811
}
19-
});
12+
return ui;
13+
};
14+
15+
ui.duration = function( sec ) {
16+
dom.ctrlTimeDuration.text( utils.secondsToString( sec ) );
17+
return ui;
18+
};

ui/fileDetach.js

Lines changed: 18 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,22 @@
11
"use strict";
22

3-
(function() {
4-
5-
var timeoutId;
6-
7-
$.extend( ui, {
8-
fileDetach: function( jqFile ) {
9-
if ( jqFile ) {
10-
jqFile.addClass( "dragging" );
11-
// callback to the end of the CSS's animation.
12-
timeoutId = setTimeout( function() {
13-
jqFile.detach();
14-
ui.listUpdate();
15-
}, 200 );
16-
}
17-
return ui;
18-
},
19-
fileReattach: function( jqFile ) {
20-
clearTimeout( timeoutId );
21-
ui.listAdd( jqFile );
22-
setTimeout( function() {
23-
jqFile.removeClass( "dragging" );
24-
}, 1 );
25-
return ui;
3+
ui.fileDetach = function( jqFile ) {
4+
if ( jqFile ) {
5+
jqFile.addClass( "dragging" );
6+
// callback to the end of the CSS's animation.
7+
ui.fileDetachTimeoutId = setTimeout( function() {
8+
jqFile.detach();
9+
ui.listUpdate();
10+
}, 200 );
2611
}
27-
});
12+
return ui;
13+
};
2814

29-
})();
15+
ui.fileReattach = function( jqFile ) {
16+
clearTimeout( ui.fileDetachTimeoutId );
17+
ui.listAdd( jqFile );
18+
setTimeout( function() {
19+
jqFile.removeClass( "dragging" );
20+
}, 1 );
21+
return ui;
22+
};

ui/fileSelect.js

Lines changed: 21 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,27 @@
11
"use strict";
22

3-
$.extend( ui, {
4-
jqFileSelected: dom.empty,
5-
fileSelect: function( jqFile ) {
6-
var fwrap = jqFile[ 0 ].fileWrapper;
3+
ui.jqFileSelected = dom.empty;
74

8-
function txt( btn, file, str ) {
9-
file = file && file.fileWrapper;
10-
btn[ 0 ].dataset.tooltipContent = !file ? "" :
11-
str + "&nbsp;: <span class='filename' data-type='" +
12-
file.type + "'>" + file.name + "</span>"
13-
;
14-
}
5+
ui.fileSelect = function( jqFile ) {
6+
var fwrap = jqFile[ 0 ].fileWrapper;
157

16-
// Write the tooltip on the prev/next buttons.
17-
txt( dom.ctrlPrevBtn, jqFile.prev()[ 0 ] || ui.jqFiles.get( -1 ), "Previous" );
18-
txt( dom.ctrlNextBtn, jqFile.next()[ 0 ] || ui.jqFiles[ 0 ], "Next" );
8+
function txt( btn, file, str ) {
9+
file = file && file.fileWrapper;
10+
btn[ 0 ].dataset.tooltipContent = !file ? "" :
11+
str + "&nbsp;: <span class='filename' data-type='" +
12+
file.type + "'>" + file.name + "</span>"
13+
;
14+
}
1915

20-
// toggleClass "selected" on the jqFile in the playlist's list.
21-
ui.jqFileSelected.removeClass( "selected" );
22-
ui.jqFileSelected = jqFile.addClass( "selected" );
16+
// Write the tooltip on the prev/next buttons.
17+
txt( dom.ctrlPrevBtn, jqFile.prev()[ 0 ] || ui.jqFiles.get( -1 ), "Previous" );
18+
txt( dom.ctrlNextBtn, jqFile.next()[ 0 ] || ui.jqFiles[ 0 ], "Next" );
2319

24-
// Display or not the canvas.
25-
ui.canvasToggle( fwrap.type === "audio" && api.visualisations.enable );
26-
return ui;
27-
}
28-
});
20+
// toggleClass "selected" on the jqFile in the playlist's list.
21+
ui.jqFileSelected.removeClass( "selected" );
22+
ui.jqFileSelected = jqFile.addClass( "selected" );
23+
24+
// Display or not the canvas.
25+
ui.canvasToggle( fwrap.type === "audio" && api.visualisations.enable );
26+
return ui;
27+
};

0 commit comments

Comments
 (0)