forked from 0x2620/pandora
rename edit menu to item menu, swap list/edit/text menu on section change
This commit is contained in:
parent
cc3931ae9f
commit
1d1d190522
1 changed files with 51 additions and 30 deletions
|
@ -41,7 +41,7 @@ pandora.ui.mainMenu = function() {
|
||||||
: { id: 'signout', title: Ox._('Sign Out...')}
|
: { id: 'signout', title: Ox._('Sign Out...')}
|
||||||
] },
|
] },
|
||||||
getListMenu(),
|
getListMenu(),
|
||||||
{ id: 'editMenu', title: Ox._('Edit'), items: [
|
{ id: 'itemMenu', title: Ox._('Item'), items: [
|
||||||
{ id: 'add', title: Ox._('Add {0}', [Ox._(pandora.site.itemName.singular)]), disabled: pandora.site.itemRequiresVideo || !pandora.site.capabilities.canAddItems[pandora.user.level] },
|
{ id: 'add', title: Ox._('Add {0}', [Ox._(pandora.site.itemName.singular)]), disabled: pandora.site.itemRequiresVideo || !pandora.site.capabilities.canAddItems[pandora.user.level] },
|
||||||
{ id: 'upload', title: Ox._('Upload Video...'), disabled: !pandora.site.capabilities.canAddItems[pandora.user.level] },
|
{ id: 'upload', title: Ox._('Upload Video...'), disabled: !pandora.site.capabilities.canAddItems[pandora.user.level] },
|
||||||
{},
|
{},
|
||||||
|
@ -236,9 +236,9 @@ pandora.ui.mainMenu = function() {
|
||||||
}
|
}
|
||||||
} else if (data.id == 'cliporder') {
|
} else if (data.id == 'cliporder') {
|
||||||
if (!ui.item) {
|
if (!ui.item) {
|
||||||
pandora.UI.set({listSort: [{key: pandora.user.ui.listSort[0].key, operator: value == 'ascending' ? '+' : '-'}]});
|
pandora.UI.set({listSort: [{key: ui.listSort[0].key, operator: value == 'ascending' ? '+' : '-'}]});
|
||||||
} else {
|
} else {
|
||||||
pandora.UI.set({itemSort: [{key: pandora.user.ui.itemSort[0].key, operator: value == 'ascending' ? '+' : '-'}]});
|
pandora.UI.set({itemSort: [{key: ui.itemSort[0].key, operator: value == 'ascending' ? '+' : '-'}]});
|
||||||
}
|
}
|
||||||
} else if (data.id == 'clipsort') {
|
} else if (data.id == 'clipsort') {
|
||||||
if (!ui.item) {
|
if (!ui.item) {
|
||||||
|
@ -249,7 +249,7 @@ pandora.ui.mainMenu = function() {
|
||||||
} else if (data.id == 'find') {
|
} else if (data.id == 'find') {
|
||||||
if (value) {
|
if (value) {
|
||||||
pandora.$ui.findSelect.value(value);
|
pandora.$ui.findSelect.value(value);
|
||||||
if (pandora.user.ui._findState.key == 'advanced') {
|
if (ui._findState.key == 'advanced') {
|
||||||
// fixme: autocomplete function doesn't get updated
|
// fixme: autocomplete function doesn't get updated
|
||||||
pandora.$ui.findInput.options({placeholder: ''});
|
pandora.$ui.findInput.options({placeholder: ''});
|
||||||
}
|
}
|
||||||
|
@ -258,7 +258,7 @@ pandora.ui.mainMenu = function() {
|
||||||
}
|
}
|
||||||
pandora.$ui.findInput.focusInput(true);
|
pandora.$ui.findInput.focusInput(true);
|
||||||
} else if (data.id == 'itemorder') {
|
} else if (data.id == 'itemorder') {
|
||||||
pandora.UI.set({listSort: [{key: pandora.user.ui.listSort[0].key, operator: value == 'ascending' ? '+' : '-'}]});
|
pandora.UI.set({listSort: [{key: ui.listSort[0].key, operator: value == 'ascending' ? '+' : '-'}]});
|
||||||
} else if (data.id == 'itemsort') {
|
} else if (data.id == 'itemsort') {
|
||||||
pandora.UI.set({listSort: [{key: value, operator: pandora.getSortOperator(value)}]});
|
pandora.UI.set({listSort: [{key: value, operator: pandora.getSortOperator(value)}]});
|
||||||
} else if (data.id == 'itemview') {
|
} else if (data.id == 'itemview') {
|
||||||
|
@ -266,14 +266,14 @@ pandora.ui.mainMenu = function() {
|
||||||
} else if (data.id == 'listview') {
|
} else if (data.id == 'listview') {
|
||||||
var set = {listView: value};
|
var set = {listView: value};
|
||||||
if (
|
if (
|
||||||
!pandora.isClipView(key, pandora.user.ui.item)
|
!pandora.isClipView(key, ui.item)
|
||||||
&& ['title', 'position'].indexOf(pandora.user.ui.listSort[0].key) > -1
|
&& ['title', 'position'].indexOf(ui.listSort[0].key) > -1
|
||||||
) {
|
) {
|
||||||
set.listSort = pandora.site.user.ui.listSort;
|
set.listSort = pandora.site.user.ui.listSort;
|
||||||
}
|
}
|
||||||
pandora.UI.set(set);
|
pandora.UI.set(set);
|
||||||
} else if (Ox.startsWith(data.id, 'orderfilter')) {
|
} else if (Ox.startsWith(data.id, 'orderfilter')) {
|
||||||
var filters = Ox.clone(pandora.user.ui.filters),
|
var filters = Ox.clone(ui.filters),
|
||||||
id = data.id.replace('orderfilter', ''),
|
id = data.id.replace('orderfilter', ''),
|
||||||
index = Ox.getIndexById(filters, id),
|
index = Ox.getIndexById(filters, id),
|
||||||
key = filters[index].sort[0].key,
|
key = filters[index].sort[0].key,
|
||||||
|
@ -357,7 +357,7 @@ pandora.ui.mainMenu = function() {
|
||||||
].indexOf(data.id) > -1) {
|
].indexOf(data.id) > -1) {
|
||||||
pandora.addList(data.id.indexOf('smart') > -1, data.id.indexOf('from') > -1);
|
pandora.addList(data.id.indexOf('smart') > -1, data.id.indexOf('from') > -1);
|
||||||
} else if (data.id == 'duplicatelist') {
|
} else if (data.id == 'duplicatelist') {
|
||||||
pandora.addList(pandora.user.ui._list);
|
pandora.addList(ui._list);
|
||||||
} else if (data.id == 'editlist') {
|
} else if (data.id == 'editlist') {
|
||||||
pandora.ui.listDialog().open();
|
pandora.ui.listDialog().open();
|
||||||
} else if (data.id == 'add') {
|
} else if (data.id == 'add') {
|
||||||
|
@ -469,7 +469,7 @@ pandora.ui.mainMenu = function() {
|
||||||
},
|
},
|
||||||
key_control_f: function() {
|
key_control_f: function() {
|
||||||
if (!pandora.hasDialogOrScreen()) {
|
if (!pandora.hasDialogOrScreen()) {
|
||||||
if (pandora.user.ui._findState.key != 'advanced') {
|
if (ui._findState.key != 'advanced') {
|
||||||
setTimeout(function() {
|
setTimeout(function() {
|
||||||
pandora.$ui.findInput.focusInput(true);
|
pandora.$ui.findInput.focusInput(true);
|
||||||
}, 25);
|
}, 25);
|
||||||
|
@ -619,7 +619,7 @@ pandora.ui.mainMenu = function() {
|
||||||
]('findsimilar');
|
]('findsimilar');
|
||||||
},
|
},
|
||||||
pandora_listsort: function(data) {
|
pandora_listsort: function(data) {
|
||||||
if (pandora.isClipView(pandora.user.ui.listView, false)) {
|
if (pandora.isClipView(ui.listView, false)) {
|
||||||
that.checkItem('sortMenu_sortclips_' + data.value[0].key);
|
that.checkItem('sortMenu_sortclips_' + data.value[0].key);
|
||||||
that.checkItem('sortMenu_orderclips_' + (
|
that.checkItem('sortMenu_orderclips_' + (
|
||||||
data.value[0].operator == '+' ? 'ascending' : 'descending')
|
data.value[0].operator == '+' ? 'ascending' : 'descending')
|
||||||
|
@ -641,6 +641,7 @@ pandora.ui.mainMenu = function() {
|
||||||
]('findsimilar');
|
]('findsimilar');
|
||||||
},
|
},
|
||||||
pandora_section: function() {
|
pandora_section: function() {
|
||||||
|
that.replaceMenu('listMenu', getListMenu());
|
||||||
that.replaceMenu('sortMenu', getSortMenu());
|
that.replaceMenu('sortMenu', getSortMenu());
|
||||||
},
|
},
|
||||||
pandora_showannotations: function(data) {
|
pandora_showannotations: function(data) {
|
||||||
|
@ -672,7 +673,7 @@ pandora.ui.mainMenu = function() {
|
||||||
|
|
||||||
Ox.Clipboard.bindEvent(function(data, event) {
|
Ox.Clipboard.bindEvent(function(data, event) {
|
||||||
if (Ox.contains(['add', 'copy', 'paste'], event)) {
|
if (Ox.contains(['add', 'copy', 'paste'], event)) {
|
||||||
that.highlightMenu('editMenu');
|
that.highlightMenu('itemMenu');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -732,47 +733,63 @@ pandora.ui.mainMenu = function() {
|
||||||
}
|
}
|
||||||
|
|
||||||
function getListMenu(lists) {
|
function getListMenu(lists) {
|
||||||
return { id: 'listMenu', title: Ox._('List'), items: [].concat(
|
var itemNameSingular = ui.section == 'items' ? 'List' : ui.section == 'edits' ? 'Edit' : 'Text',
|
||||||
{ id: 'allitems', title: Ox._('All {0}', [Ox._(pandora.site.itemName.plural)]), checked: !ui.item && !ui._list, keyboard: 'shift control w' },
|
itemNamePlural = ui.section == 'items' ? 'Lists' : ui.section == 'edits' ? 'Edits' : 'Texts';
|
||||||
|
return { id: 'listMenu', title: Ox._(itemNameSingular), items: [].concat(
|
||||||
|
{
|
||||||
|
id: 'allitems',
|
||||||
|
title: pandora.getAllItemsTitle(),
|
||||||
|
checked: ui.section == 'items' ? !ui.item && !ui._list
|
||||||
|
: ui.section == 'edits' ? !ui.edit
|
||||||
|
: !ui.text,
|
||||||
|
keyboard: 'shift control w'
|
||||||
|
},
|
||||||
['personal', 'favorite', 'featured'].map(function(folder) {
|
['personal', 'favorite', 'featured'].map(function(folder) {
|
||||||
return {
|
return {
|
||||||
id: folder + 'lists',
|
id: folder + 'lists',
|
||||||
title: Ox._('{0} Lists', [Ox._(Ox.toTitleCase(folder))]),
|
title: Ox._(Ox.toTitleCase(folder) + ' ' + itemNamePlural),
|
||||||
items: Ox.isUndefined(lists)
|
items: Ox.isUndefined(lists)
|
||||||
? [{id: 'loading', title: Ox._('Loading...'), disabled: true}]
|
? [{id: 'loading', title: Ox._('Loading...'), disabled: true}]
|
||||||
: lists[folder].length == 0
|
: lists[folder].length == 0
|
||||||
? [{id: 'nolists', title: Ox._('No {0} Lists', [Ox._(Ox.toTitleCase(folder))]), disabled: true}]
|
? [{id: 'nolists', title: Ox._('No ' + Ox.toTitleCase(folder) + ' ' + itemNamePlural), disabled: true}]
|
||||||
: lists[folder].map(function(list) {
|
: lists[folder].map(function(list) {
|
||||||
return {
|
return {
|
||||||
id: 'viewlist' + list.id,
|
id: 'viewlist' + list.id,
|
||||||
title: Ox.encodeHTMLEntities((
|
title: Ox.encodeHTMLEntities((
|
||||||
folder == 'favorite' ? list.user + ': ' : ''
|
folder == 'favorite' ? list.user + ': ' : ''
|
||||||
) + list.name),
|
) + list.name),
|
||||||
checked: list.id == pandora.user.ui._list
|
checked: ui.section == 'items' ? list.id == ui._list
|
||||||
|
: ui.section == 'edits' ? list.id == ui.edit
|
||||||
|
: list.id == ui.text
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
};
|
};
|
||||||
}),
|
}),
|
||||||
[
|
[
|
||||||
{},
|
{},
|
||||||
{ id: 'newlist', title: Ox._('New List'), disabled: isGuest, keyboard: 'control n' },
|
{ id: 'newlist', title: Ox._('New ' + itemNameSingular), disabled: isGuest, keyboard: 'control n' },
|
||||||
{ id: 'newlistfromselection', title: Ox._('New List from Selection'), disabled: isGuest || ui.listSelection.length == 0, keyboard: 'shift control n' },
|
],
|
||||||
{ id: 'newsmartlist', title: Ox._('New Smart List'), disabled: isGuest, keyboard: 'alt control n' },
|
ui.section != 'texts' ? [
|
||||||
{ id: 'newsmartlistfromresults', title: Ox._('New Smart List from Results'), disabled: isGuest, keyboard: 'shift alt control n' },
|
{ id: 'newlistfromselection', title: Ox._('New ' + itemNameSingular + ' from Selection'), disabled: isGuest || ui.listSelection.length == 0, keyboard: 'shift control n' },
|
||||||
|
{ id: 'newsmartlist', title: Ox._('New Smart ' + itemNameSingular), disabled: isGuest, keyboard: 'alt control n' },
|
||||||
|
{ id: 'newsmartlistfromresults', title: Ox._('New Smart ' + itemNameSingular + ' from Results'), disabled: isGuest, keyboard: 'shift alt control n' },
|
||||||
|
] : [],
|
||||||
|
[
|
||||||
{},
|
{},
|
||||||
{ id: 'duplicatelist', title: Ox._('Duplicate Selected List'), disabled: isGuest || !pandora.user.ui._list, keyboard: 'control d' },
|
{ id: 'duplicatelist', title: Ox._('Duplicate Selected ' + itemNameSingular), disabled: isGuest || !ui._list, keyboard: 'control d' },
|
||||||
{ id: 'editlist', title: Ox._('Edit Selected List...'), disabled: isGuest || !pandora.user.ui._list, keyboard: 'control e' },
|
{ id: 'editlist', title: Ox._('Edit Selected ' + itemNameSingular + '...'), disabled: isGuest || !ui._list, keyboard: 'control e' },
|
||||||
{ id: 'deletelist', title: Ox._('Delete Selected List...'), disabled: isGuest || !pandora.user.ui._list, keyboard: 'delete' },
|
{ id: 'deletelist', title: Ox._('Delete Selected ' + itemNameSingular + '...'), disabled: isGuest || !ui._list, keyboard: 'delete' }
|
||||||
|
],
|
||||||
|
ui.section == 'items' ? [
|
||||||
{},
|
{},
|
||||||
{ id: 'print', title: Ox._('Print'), keyboard: 'control p' },
|
{ id: 'print', title: Ox._('Print'), keyboard: 'control p' },
|
||||||
{ id: 'tv', title: Ox._('TV'), keyboard: 'control space' }
|
{ id: 'tv', title: Ox._('TV'), keyboard: 'control space' }
|
||||||
]
|
] : []
|
||||||
)};
|
)};
|
||||||
};
|
};
|
||||||
|
|
||||||
function getSortMenu() {
|
function getSortMenu() {
|
||||||
var ui = pandora.user.ui,
|
var isClipView = pandora.isClipView(),
|
||||||
isClipView = pandora.isClipView(),
|
|
||||||
clipItems = (isClipView ? pandora.site.clipKeys.map(function(key) {
|
clipItems = (isClipView ? pandora.site.clipKeys.map(function(key) {
|
||||||
return Ox.extend(Ox.clone(key), {
|
return Ox.extend(Ox.clone(key), {
|
||||||
checked: ui.listSort[0].key == key.id,
|
checked: ui.listSort[0].key == key.id,
|
||||||
|
@ -818,7 +835,7 @@ pandora.ui.mainMenu = function() {
|
||||||
] },
|
] },
|
||||||
{ id: 'advancedsort', title: Ox._('Advanced Sort...'), keyboard: 'shift control s', disabled: true },
|
{ id: 'advancedsort', title: Ox._('Advanced Sort...'), keyboard: 'shift control s', disabled: true },
|
||||||
{},
|
{},
|
||||||
{ id: 'sortfilters', title: Ox._('Sort Filters'), disabled: ui.section != 'items', items: pandora.user.ui.filters.map(function(filter) {
|
{ id: 'sortfilters', title: Ox._('Sort Filters'), disabled: ui.section != 'items', items: ui.filters.map(function(filter) {
|
||||||
return {
|
return {
|
||||||
id: 'sortfilter' + filter.id,
|
id: 'sortfilter' + filter.id,
|
||||||
title: Ox._('Sort {0} Filter by', [Ox._(Ox.getObjectById(pandora.site.filters, filter.id).title)]),
|
title: Ox._('Sort {0} Filter by', [Ox._(Ox.getObjectById(pandora.site.filters, filter.id).title)]),
|
||||||
|
@ -830,7 +847,7 @@ pandora.ui.mainMenu = function() {
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}) },
|
}) },
|
||||||
{ id: 'orderfilters', title: Ox._('Order Filters'), disabled: ui.section != 'items', items: pandora.user.ui.filters.map(function(filter) {
|
{ id: 'orderfilters', title: Ox._('Order Filters'), disabled: ui.section != 'items', items: ui.filters.map(function(filter) {
|
||||||
return {
|
return {
|
||||||
id: 'orderfilter' + filter.id,
|
id: 'orderfilter' + filter.id,
|
||||||
title: Ox._('Order {0} Filter', [Ox._(Ox.getObjectById(pandora.site.filters, filter.id).title)]),
|
title: Ox._('Order {0} Filter', [Ox._(Ox.getObjectById(pandora.site.filters, filter.id).title)]),
|
||||||
|
@ -883,7 +900,11 @@ pandora.ui.mainMenu = function() {
|
||||||
};
|
};
|
||||||
|
|
||||||
Ox.forEach(queries, function(query, folder) {
|
Ox.forEach(queries, function(query, folder) {
|
||||||
pandora.api.findLists({
|
pandora.api[
|
||||||
|
ui.section == 'items' ? 'findLists'
|
||||||
|
: ui.section == 'edits' ? 'findEdits'
|
||||||
|
: 'findTexts'
|
||||||
|
]({
|
||||||
query: query,
|
query: query,
|
||||||
keys: ['id', 'name', 'user'],
|
keys: ['id', 'name', 'user'],
|
||||||
sort: [{key: 'position', operator: '+'}]
|
sort: [{key: 'position', operator: '+'}]
|
||||||
|
|
Loading…
Reference in a new issue