forked from 0x2620/pandora
fix various list menu bugs
This commit is contained in:
parent
a2473f6ce4
commit
80e4d41fb2
1 changed files with 53 additions and 24 deletions
|
@ -339,6 +339,7 @@ pandora.ui.mainMenu = function() {
|
||||||
} else if (data.id == 'viewicons') {
|
} else if (data.id == 'viewicons') {
|
||||||
pandora.UI.set({icons: value});
|
pandora.UI.set({icons: value});
|
||||||
} else if (data.id.slice(0, 8) == 'viewlist') {
|
} else if (data.id.slice(0, 8) == 'viewlist') {
|
||||||
|
if (ui.section == 'items') {
|
||||||
pandora.UI.set({
|
pandora.UI.set({
|
||||||
find: {
|
find: {
|
||||||
conditions: data.checked ? [
|
conditions: data.checked ? [
|
||||||
|
@ -347,6 +348,9 @@ pandora.ui.mainMenu = function() {
|
||||||
operator: '&'
|
operator: '&'
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
} else {
|
||||||
|
pandora.UI.set(ui.section.slice(0, -1), data.id.slice(8).replace(/\t/g, '_'));
|
||||||
|
}
|
||||||
} else if (data.id == 'viewsection') {
|
} else if (data.id == 'viewsection') {
|
||||||
pandora.UI.set({section: value});
|
pandora.UI.set({section: value});
|
||||||
} else if (data.id == 'viewtimelines') {
|
} else if (data.id == 'viewtimelines') {
|
||||||
|
@ -354,29 +358,29 @@ pandora.ui.mainMenu = function() {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
click: function(data) {
|
click: function(data) {
|
||||||
if ([
|
if (Ox.contains([
|
||||||
'home', 'software', 'signup', 'signin', 'signout',
|
'home', 'software', 'signup', 'signin', 'signout',
|
||||||
'preferences', 'help', 'api'
|
'preferences', 'help', 'api'
|
||||||
].concat(
|
].concat(
|
||||||
pandora.site.sitePages.map(function(page) {
|
pandora.site.sitePages.map(function(page) {
|
||||||
return page.id;
|
return page.id;
|
||||||
})
|
})
|
||||||
).indexOf(data.id) > -1) {
|
), data.id)) {
|
||||||
pandora.UI.set({page: data.id});
|
pandora.UI.set({page: data.id});
|
||||||
} else if ([
|
} else if (Ox.contains([
|
||||||
'newlist', 'newlistfromselection', 'newsmartlist', 'newsmartlistfromresults'
|
'newlist', 'newlistfromselection', 'newsmartlist', 'newsmartlistfromresults'
|
||||||
].indexOf(data.id) > -1) {
|
], data.id)) {
|
||||||
if (ui.section == 'texts') {
|
if (ui.section == 'texts') {
|
||||||
pandora.addText({type: 'text'});
|
pandora.addText({type: 'text'});
|
||||||
} else {
|
} else {
|
||||||
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 (Ox.contains(['neweditfromselection', 'newsmarteditfromresults'], data.id)) {
|
||||||
|
// ...
|
||||||
|
} else if (data.id == 'newpdf') {
|
||||||
|
pandora.addText({type: 'pdf'});
|
||||||
} else if (data.id == 'duplicatelist') {
|
} else if (data.id == 'duplicatelist') {
|
||||||
if (ui.section == 'texts') {
|
pandora.addFolderItem(ui.section, ui.section == 'items' ? ui._list : ui.edit);
|
||||||
pandora.addText({type: 'text'});
|
|
||||||
} else {
|
|
||||||
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') {
|
||||||
|
@ -639,7 +643,18 @@ pandora.ui.mainMenu = function() {
|
||||||
hasTimeline() && pandora.UI.set({showTimeline: !ui.showTimeline});
|
hasTimeline() && pandora.UI.set({showTimeline: !ui.showTimeline});
|
||||||
},
|
},
|
||||||
pandora_edit: function() {
|
pandora_edit: function() {
|
||||||
// ...
|
var action = pandora.getListData().editable ? 'enableItem' : 'disableItem',
|
||||||
|
edit = ui.edit,
|
||||||
|
previousEdit = pandora.UI.getPrevious().edit;
|
||||||
|
if (edit != previousEdit) {
|
||||||
|
that.uncheckItem(previousEdit == '' ? 'allitems' : 'viewlist' + previousEdit.replace(/_/g, Ox.char(9)));
|
||||||
|
that.checkItem(edit == '' ? 'allitems' : 'viewlist' + edit.replace(/_/g, '\t'));
|
||||||
|
}
|
||||||
|
that[edit ? 'enableItem' : 'disableItem']('duplicatelist');
|
||||||
|
that[action]('editlist');
|
||||||
|
that[action]('deletelist');
|
||||||
|
that[ui.listSelection.length ? 'enableItem' : 'disableItem']('newlistfromselection');
|
||||||
|
that.replaceMenu('itemMenu', getItemMenu());
|
||||||
},
|
},
|
||||||
pandora_find: function() {
|
pandora_find: function() {
|
||||||
var action = pandora.getListData().editable ? 'enableItem' : 'disableItem',
|
var action = pandora.getListData().editable ? 'enableItem' : 'disableItem',
|
||||||
|
@ -649,8 +664,8 @@ pandora.ui.mainMenu = function() {
|
||||||
that.uncheckItem(previousList == '' ? 'allitems' : 'viewlist' + previousList.replace(/_/g, Ox.char(9)));
|
that.uncheckItem(previousList == '' ? 'allitems' : 'viewlist' + previousList.replace(/_/g, Ox.char(9)));
|
||||||
that.checkItem(list == '' ? 'allitems' : 'viewlist' + list.replace(/_/g, '\t'));
|
that.checkItem(list == '' ? 'allitems' : 'viewlist' + list.replace(/_/g, '\t'));
|
||||||
}
|
}
|
||||||
|
that[ui._list ? 'enableItem' : 'disableItem']('duplicatelist');
|
||||||
that[action]('editlist');
|
that[action]('editlist');
|
||||||
that[action]('duplicatelist');
|
|
||||||
that[action]('deletelist');
|
that[action]('deletelist');
|
||||||
that[ui.listSelection.length ? 'enableItem' : 'disableItem']('newlistfromselection');
|
that[ui.listSelection.length ? 'enableItem' : 'disableItem']('newlistfromselection');
|
||||||
that.replaceMenu('itemMenu', getItemMenu());
|
that.replaceMenu('itemMenu', getItemMenu());
|
||||||
|
@ -719,6 +734,9 @@ pandora.ui.mainMenu = function() {
|
||||||
pandora_listselection: function(data) {
|
pandora_listselection: function(data) {
|
||||||
var action = data.value.length ? 'enableItem' : 'disableItem';
|
var action = data.value.length ? 'enableItem' : 'disableItem';
|
||||||
that[action]('newlistfromselection');
|
that[action]('newlistfromselection');
|
||||||
|
if (ui.section == 'items') {
|
||||||
|
that[action]('neweditfromselection');
|
||||||
|
}
|
||||||
that.replaceMenu('itemMenu', getItemMenu());
|
that.replaceMenu('itemMenu', getItemMenu());
|
||||||
that[
|
that[
|
||||||
pandora.getItemIdAndPosition() ? 'enableItem' : 'disableItem'
|
pandora.getItemIdAndPosition() ? 'enableItem' : 'disableItem'
|
||||||
|
@ -970,16 +988,27 @@ pandora.ui.mainMenu = function() {
|
||||||
{},
|
{},
|
||||||
{ id: 'newlist', title: Ox._('New ' + itemNameSingular), disabled: isGuest, keyboard: 'control n' },
|
{ id: 'newlist', title: Ox._('New ' + itemNameSingular), disabled: isGuest, keyboard: 'control n' },
|
||||||
],
|
],
|
||||||
ui.section != 'texts' ? [
|
ui.section == 'items' ? [
|
||||||
{ id: 'newlistfromselection', title: Ox._('New ' + itemNameSingular + ' from Selection'), disabled: isGuest || ui.listSelection.length == 0, keyboard: 'shift 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: '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: 'newsmartlistfromresults', title: Ox._('New Smart ' + itemNameSingular + ' from Results'), disabled: isGuest, keyboard: 'shift alt control n' },
|
||||||
|
{ id: 'neweditfromselection', title: Ox._('New Edit from Selection'), disabled: isGuest || ui.listSelection.length == 0 },
|
||||||
|
{ id: 'newsmarteditfromresults', title: Ox._('New Smart Edit from Results'), disabled: isGuest }
|
||||||
|
] : ui.section == 'edits' ? [
|
||||||
|
{ 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: 'newpdf', title: Ox._('New PDF'), disabled: isGuest, keyboard: 'alt control n' },
|
||||||
|
],
|
||||||
|
[
|
||||||
|
{}
|
||||||
|
],
|
||||||
|
ui.section != 'texts' ? [
|
||||||
|
{ id: 'duplicatelist', title: Ox._('Duplicate Selected ' + itemNameSingular), disabled: isGuest || (ui.section == 'items' && !ui._list) || (ui.section == 'edits' && !ui.edit), keyboard: 'control d' }
|
||||||
] : [],
|
] : [],
|
||||||
[
|
[
|
||||||
{},
|
{ id: 'editlist', title: Ox._('Edit Selected ' + itemNameSingular + '...'), disabled: isGuest || (ui.section == 'items' && !ui._list) || (ui.section == 'edits' && !ui.edit), keyboard: 'control e' },
|
||||||
{ id: 'duplicatelist', title: Ox._('Duplicate Selected ' + itemNameSingular), disabled: isGuest || !ui._list, keyboard: 'control d' },
|
{ id: 'deletelist', title: Ox._('Delete Selected ' + itemNameSingular + '...'), disabled: isGuest || (ui.section == 'items' && !ui._list) || (ui.section == 'edits' && !ui.edit), keyboard: 'delete' }
|
||||||
{ id: 'editlist', title: Ox._('Edit Selected ' + itemNameSingular + '...'), disabled: isGuest || !ui._list, keyboard: 'control e' },
|
|
||||||
{ id: 'deletelist', title: Ox._('Delete Selected ' + itemNameSingular + '...'), disabled: isGuest || !ui._list, keyboard: 'delete' }
|
|
||||||
],
|
],
|
||||||
ui.section == 'items' ? [
|
ui.section == 'items' ? [
|
||||||
{},
|
{},
|
||||||
|
|
Loading…
Reference in a new issue