forked from 0x2620/pandora
add functionality to timelines view
This commit is contained in:
parent
f5fa1b59b4
commit
e1fb2d8064
4 changed files with 31 additions and 6 deletions
|
@ -69,7 +69,8 @@ pandora.UI = (function() {
|
|||
if (Object.keys(listSettings).indexOf(key) > -1) {
|
||||
// if applicable, copy setting to list setting
|
||||
add['lists.' + that.encode(pandora.user.ui._list || '') + '.' + listSettings[key]] = val;
|
||||
} else if (key == 'item' && val) {
|
||||
}
|
||||
if (key == 'item' && val) {
|
||||
// when switching to an item, update list selection
|
||||
add['listSelection'] = [val];
|
||||
add['lists.' + that.encode(pandora.user.ui._list || '') + '.selection'] = [val];
|
||||
|
@ -88,6 +89,10 @@ pandora.UI = (function() {
|
|||
key == 'item' ? val : pandora.user.ui.item
|
||||
)] = {'in': 0, out: 0, position: 0};
|
||||
}
|
||||
if (key == 'itemView' && ['video', 'timeline'].indexOf(val) > -1) {
|
||||
// when switching to a video view, add it as default video view
|
||||
add.videoView = val;
|
||||
}
|
||||
});
|
||||
[args, add].forEach(function(obj, isAdd) {
|
||||
Ox.forEach(obj, function(val, key) {
|
||||
|
|
|
@ -76,7 +76,7 @@ pandora.ui.accountDialogOptions = function(action, value) {
|
|||
return {
|
||||
buttons: Ox.merge(buttons[action].map(function(type) {
|
||||
return button(type);
|
||||
}), [button('cancel'), button('submit')]),
|
||||
}), [{}, button('cancel'), button('submit')]),
|
||||
content: Ox.Element()
|
||||
.append(
|
||||
$('<img>')
|
||||
|
|
|
@ -218,14 +218,29 @@ pandora.ui.list = function() {
|
|||
width: Math.round(ratio >= 1 ? size : size * ratio)
|
||||
},
|
||||
info: {
|
||||
/*
|
||||
css: {
|
||||
margin: '-4px 0 0 -4px'
|
||||
margin: '4px'
|
||||
},
|
||||
*/
|
||||
element: Ox.BlockVideoTimeline,
|
||||
events: {
|
||||
position: function(event) {
|
||||
//that.options({selected: [data.id]});
|
||||
pandora.$ui.videoPreview.options({
|
||||
position: event.position
|
||||
});
|
||||
pandora.UI.set('videoPoints.' + data.id + '.position', event.position);
|
||||
}
|
||||
},
|
||||
id: data.id,
|
||||
options: {
|
||||
duration: data.duration,
|
||||
getImageURL: '/' + data.id + '/timeline16p.png'
|
||||
getImageURL: function(i) {
|
||||
return '/' + data.id + '/timeline16p' + i + '.png';
|
||||
},
|
||||
position: pandora.user.ui.videoPoints[data.id]
|
||||
? pandora.user.ui.videoPoints[data.id].position : 0
|
||||
}
|
||||
}
|
||||
};
|
||||
|
@ -294,7 +309,11 @@ pandora.ui.list = function() {
|
|||
pandora.$ui.selected.html(pandora.ui.status('selected', data));
|
||||
},
|
||||
open: function(data) {
|
||||
pandora.UI.set({item: data.ids[0]});
|
||||
pandora.UI.set(Ox.extend({
|
||||
item: data.ids[0]
|
||||
}, view == 'timelines' && data.isSpecialTarget ? {
|
||||
itemView: pandora.user.ui.videoView
|
||||
} : {}));
|
||||
},
|
||||
openpreview: function(data) {
|
||||
pandora.requests.preview && pandora.api.cancel(pandora.requests.preview);
|
||||
|
@ -409,7 +428,7 @@ pandora.ui.list = function() {
|
|||
|
||||
}
|
||||
|
||||
if (pandora.user.ui.listView == 'grid') {
|
||||
if (['grid', 'timelines'].indexOf(pandora.user.ui.listView) > -1) {
|
||||
that.bindEvent({
|
||||
pandora_icons: function(data) {
|
||||
that.options({
|
||||
|
|
|
@ -27,6 +27,7 @@ pandora.ui.viewSelect = function() {
|
|||
var key = data.selected[0].id,
|
||||
set = {};
|
||||
set[viewKey] = key;
|
||||
// FIXME: this may not work on page load, and would then have to be part of UI.js
|
||||
if (!ui.item) {
|
||||
// when changing the list view ...
|
||||
if (pandora.isClipView(key)) {
|
||||
|
|
Loading…
Reference in a new issue