forked from 0x2620/pandora
add download dialog, towards #542
This commit is contained in:
parent
1905f6843b
commit
559f05655a
1 changed files with 107 additions and 0 deletions
107
static/js/downloadVideoDialog.js
Normal file
107
static/js/downloadVideoDialog.js
Normal file
|
@ -0,0 +1,107 @@
|
|||
'use strict';
|
||||
|
||||
pandora.ui.downloadVideoDialog = function(options) {
|
||||
|
||||
var ui = pandora.user.ui,
|
||||
|
||||
formats = {
|
||||
'webm': 'WebM',
|
||||
'mp4': 'MP4',
|
||||
},
|
||||
|
||||
$content = Ox.Element()
|
||||
.css({margin: '16px'}),
|
||||
|
||||
$text = $('<div>')
|
||||
.html((
|
||||
options.out
|
||||
? Ox._(
|
||||
'Download Selection ({0} - {1})<br>of {2}', [
|
||||
Ox.formatDuration(options['in']),
|
||||
Ox.formatDuration(options.out),
|
||||
options.title
|
||||
]
|
||||
)
|
||||
: Ox._('Download {0}', [options.title])
|
||||
))
|
||||
.css({marginBottom: '16px'})
|
||||
.appendTo($content),
|
||||
|
||||
$form = window.$form = Ox.Form({
|
||||
items: [
|
||||
Ox.Select({
|
||||
id: 'format',
|
||||
items: pandora.site.video.formats.map(function(format) {
|
||||
return {
|
||||
id: format,
|
||||
title: formats[format]
|
||||
};
|
||||
}),
|
||||
label: Ox._('Format'),
|
||||
labelWidth: 120,
|
||||
value: pandora.site.video.downloadFormat,
|
||||
width: 240
|
||||
})
|
||||
.bindEvent({
|
||||
change: function(data) {
|
||||
}
|
||||
}),
|
||||
Ox.Select({
|
||||
id: 'resolution',
|
||||
items: pandora.site.video.resolutions.map(function(resolution) {
|
||||
return {
|
||||
id: resolution,
|
||||
title: resolution + 'p'
|
||||
};
|
||||
}),
|
||||
label: Ox._('Resolution'),
|
||||
labelWidth: 120,
|
||||
value: ui.videoResolution,
|
||||
width: 240
|
||||
})
|
||||
.bindEvent({
|
||||
change: function(data) {
|
||||
}
|
||||
})
|
||||
]
|
||||
}).appendTo($content),
|
||||
|
||||
that = Ox.Dialog({
|
||||
buttons: [
|
||||
Ox.Button({
|
||||
id: 'download',
|
||||
title: Ox._('Download')
|
||||
}).bindEvent({
|
||||
click: function() {
|
||||
that.close();
|
||||
var values = $form.values(),
|
||||
url
|
||||
if (options.out) {
|
||||
url = '/' + options.item
|
||||
+ '/' + values.resolution
|
||||
+ 'p.' + values.format
|
||||
+ '?t=' + options['in'] + ',' + options.out;
|
||||
} else {
|
||||
url = '/' + options.item
|
||||
+ '/download/' + values.resolution
|
||||
+ 'p.' + values.format
|
||||
}
|
||||
document.location.href = url
|
||||
}
|
||||
})
|
||||
],
|
||||
closeButton: true,
|
||||
content: $content,
|
||||
removeOnClose: true,
|
||||
keys: {enter: 'download', escape: 'close'},
|
||||
title: (
|
||||
options.out
|
||||
? Ox._('Download Video Selection')
|
||||
: Ox._('Download Video')
|
||||
),
|
||||
width: 432
|
||||
});
|
||||
|
||||
return that;
|
||||
|
||||
};
|
Loading…
Reference in a new issue