From ac219da8e5d871bd41b51f131ef8bb028f5e7903 Mon Sep 17 00:00:00 2001 From: rolux Date: Thu, 6 Feb 2014 09:51:23 +0000 Subject: [PATCH] fix bugs in edit menu and manage personal edits menu --- static/js/folders.js | 27 +++++++++++++++++---------- static/js/mainMenu.js | 5 ++++- 2 files changed, 21 insertions(+), 11 deletions(-) diff --git a/static/js/folders.js b/static/js/folders.js index 3242238a..05a5a669 100644 --- a/static/js/folders.js +++ b/static/js/folders.js @@ -94,7 +94,7 @@ pandora.ui.folders = function(section) { pandora.$ui.personalListsMenu = Ox.MenuButton({ items: [ { id: 'newedit', title: Ox._('New Edit'), keyboard: 'control n' }, - { id: 'neweditfromselection', title: Ox._('New Edit from Selection'), keyboard: 'shift control n', disabled: ui.edit && ui.edits[ui.edit].selection.length }, + { id: 'neweditfromselection', title: Ox._('New Edit from Selection'), keyboard: 'shift control n', disabled: !ui.edit || !ui.editSelection.length }, { id: 'newsmartedit', title: Ox._('New Smart Edit'), keyboard: 'alt control n'}, {}, { id: 'duplicateedit', title: Ox._('Duplicate Selected Edit'), keyboard: 'control d', disabled: !ui.edit }, @@ -123,15 +123,22 @@ pandora.ui.folders = function(section) { } } }) - .bindEvent('pandora_edit', function(data) { - var action = ui.edit - && pandora.getListData(ui.edit).user == pandora.user.username - ? 'enableItem' : 'disableItem'; - pandora.$ui.personalListsMenu[ - ui.edit ? 'enableItem' : 'disableItem' - ]('duplicateedit'); - pandora.$ui.personalListsMenu[action]('editedit'); - pandora.$ui.personalListsMenu[action]('deleteedit'); + .bindEvent({ + pandora_edit: function(data) { + var action = ui.edit + && pandora.getListData(ui.edit).user == pandora.user.username + ? 'enableItem' : 'disableItem'; + pandora.$ui.personalListsMenu[ + ui.edit ? 'enableItem' : 'disableItem' + ]('duplicateedit'); + pandora.$ui.personalListsMenu[action]('editedit'); + pandora.$ui.personalListsMenu[action]('deleteedit'); + }, + pandora_editselection: function(data) { + pandora.$ui.personalListsMenu[ + data.value.length ? 'enableItem' : 'disableItem' + ]('neweditfromselection'); + } }) ]; } else if (section == 'texts') { diff --git a/static/js/mainMenu.js b/static/js/mainMenu.js index b54006d0..3052b47c 100644 --- a/static/js/mainMenu.js +++ b/static/js/mainMenu.js @@ -656,6 +656,9 @@ pandora.ui.mainMenu = function() { that[ui.listSelection.length ? 'enableItem' : 'disableItem']('newlistfromselection'); that.replaceMenu('itemMenu', getItemMenu()); }, + pandora_editselection: function(data) { + that[data.value.length ? 'enableItem' : 'disableItem']('newlistfromselection'); + }, pandora_find: function() { var action = pandora.getListData().editable ? 'enableItem' : 'disableItem', list = ui._list, @@ -995,7 +998,7 @@ pandora.ui.mainMenu = function() { { 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: 'newlistfromselection', title: Ox._('New ' + itemNameSingular + ' from Selection'), disabled: isGuest || !ui.edit || ui.editSelection.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' },