forked from 0x2620/pandora
move js files from js/pandora to js, fixes #1366
This commit is contained in:
parent
b5eda32bbd
commit
a9b7738aa8
104 changed files with 7 additions and 2 deletions
82
static/js/sortElement.js
Normal file
82
static/js/sortElement.js
Normal file
|
|
@ -0,0 +1,82 @@
|
|||
// vim: et:ts=4:sw=4:sts=4:ft=javascript
|
||||
|
||||
'use strict';
|
||||
|
||||
pandora.ui.sortElement = function(isNavigationView) {
|
||||
|
||||
var isClipView = pandora.isClipView(),
|
||||
isEmbed = pandora.isEmbedURL(),
|
||||
items = (
|
||||
isClipView ? pandora.site.clipKeys.map(function(key) {
|
||||
return Ox.extend(Ox.clone(key), {
|
||||
title: Ox._((!pandora.user.ui.item ? 'Sort by Clip {0}' : 'Sort by {0}'), [Ox._(key.title)])
|
||||
});
|
||||
}) : []
|
||||
).concat(
|
||||
!pandora.user.ui.item ? pandora.site.sortKeys.map(function(key) {
|
||||
return Ox.extend(Ox.clone(key), {
|
||||
title: Ox._('Sort by {0}', [Ox._(key.title)])
|
||||
});
|
||||
}) : []
|
||||
),
|
||||
sortKey = !pandora.user.ui.item ? 'listSort' : 'itemSort',
|
||||
|
||||
$sortSelect = Ox.Select({
|
||||
items: items,
|
||||
value: pandora.user.ui[sortKey][0].key,
|
||||
width: !isEmbed && isNavigationView ? 120 + Ox.UI.SCROLLBAR_SIZE : 144
|
||||
})
|
||||
.bindEvent({
|
||||
change: function(data) {
|
||||
var key = data.value;
|
||||
pandora.UI.set(sortKey, [{
|
||||
key: key,
|
||||
operator: pandora.getSortOperator(key)
|
||||
}]);
|
||||
}
|
||||
}),
|
||||
|
||||
$orderButton = Ox.Button({
|
||||
overlap: 'left',
|
||||
title: getButtonTitle(),
|
||||
tooltip: getButtonTooltip(),
|
||||
type: 'image'
|
||||
})
|
||||
.bindEvent({
|
||||
click: function() {
|
||||
pandora.UI.set(sortKey, [{
|
||||
key: pandora.user.ui[sortKey][0].key,
|
||||
operator: pandora.user.ui[sortKey][0].operator == '+' ? '-' : '+'
|
||||
}]);
|
||||
}
|
||||
}),
|
||||
|
||||
that = Ox.FormElementGroup({
|
||||
elements: [$sortSelect, $orderButton],
|
||||
float: 'right'
|
||||
})
|
||||
.css({
|
||||
float: isNavigationView ? 'right' : 'left',
|
||||
margin: isNavigationView ? '4px 4px 0 0' : '4px 0 0 4px'
|
||||
})
|
||||
.bindEvent('pandora_' + sortKey.toLowerCase(), updateElement);
|
||||
|
||||
function getButtonTitle() {
|
||||
return pandora.user.ui[sortKey][0].operator == '+' ? 'up' : 'down';
|
||||
}
|
||||
|
||||
function getButtonTooltip() {
|
||||
return Ox._(pandora.user.ui[sortKey][0].operator == '+' ? 'Ascending' : 'Descending');
|
||||
}
|
||||
|
||||
function updateElement() {
|
||||
$sortSelect.value(pandora.user.ui[sortKey][0].key);
|
||||
$orderButton.options({
|
||||
title: getButtonTitle(),
|
||||
tooltip: getButtonTooltip()
|
||||
});
|
||||
}
|
||||
|
||||
return that;
|
||||
|
||||
};
|
||||
Loading…
Add table
Add a link
Reference in a new issue