pandora/static/js/viewSelect.js

49 lines
1.4 KiB
JavaScript
Raw Normal View History

2011-07-29 18:37:11 +00:00
// vim: et:ts=4:sw=4:sts=4:ft=javascript
2011-11-05 17:04:10 +00:00
'use strict';
2011-05-25 19:42:45 +00:00
pandora.ui.viewSelect = function() {
var ui = pandora.user.ui,
sortKey = !ui.item ? 'listSort' : 'itemSort',
viewKey = !ui.item ? 'listView' : 'itemView',
2012-05-22 15:07:34 +00:00
items = pandora.site[viewKey + 's'].filter(function(view) {
return view.id != 'data' && view.id != 'media';
2012-05-22 15:07:34 +00:00
}).map(function(view) {
2013-05-09 10:13:58 +00:00
return {id: view.id, title: Ox._('View {0}', [Ox._(view.title)])};
}),
that;
if (
viewKey == 'itemView'
2017-11-04 09:53:27 +00:00
&& pandora.hasCapability('canSeeExtraItemViews')
) {
2012-05-24 08:22:56 +00:00
items = items.concat([
{},
2013-05-09 10:13:58 +00:00
{id: 'data', title: Ox._('View Data')},
{id: 'media', title: Ox._('View Media')}
]);
}
that = Ox.Select({
id: 'viewSelect',
items: items,
value: ui[viewKey],
width: !ui.item ? 144 : 128
})
.css({
float: 'left',
margin: '4px 0 0 4px'
})
.bindEvent({
change: function(data) {
pandora.UI.set(viewKey, data.value);
},
pandora_listview: function(data) {
!ui.item && that.value(data.value);
},
pandora_itemview: function(data) {
ui.item && that.value(data.value);
}
});
2011-05-25 19:42:45 +00:00
return that;
};