diff options
author | Bernhard Posselt <nukeawhale@gmail.com> | 2012-09-02 17:08:33 +0200 |
---|---|---|
committer | Bernhard Posselt <nukeawhale@gmail.com> | 2012-09-02 17:09:59 +0200 |
commit | f8ce1854ba4678c001cb317329bde46008dcd1ea (patch) | |
tree | 63874865dc29088bb287052da5a450eed1f62548 /js | |
parent | a5495046a484fd699717463185de3a9018f96c81 (diff) |
changing folder names works now
Diffstat (limited to 'js')
-rw-r--r-- | js/main.js | 8 | ||||
-rw-r--r-- | js/menu.js | 7 | ||||
-rw-r--r-- | js/news.js | 30 |
3 files changed, 42 insertions, 3 deletions
diff --git a/js/main.js b/js/main.js index 2cfe51e8e..f219448de 100644 --- a/js/main.js +++ b/js/main.js @@ -77,11 +77,15 @@ $(document).ready(function(){ } }); - $('#addfolder_dialog,#addfeed_dialog').dialog({ + $('#addfolder_dialog,#addfeed_dialog,#changefolder_dialog').dialog({ dialogClass:'dialog', minWidth: 600, autoOpen: false - }).css('overflow','visible'); + }); + + $('#changefolder_dialog input[type=submit]').click(function(){ + News.Folder.changeName(this); + }); $('#folder_add_submit').click(function(){ News.Folder.submit(this); diff --git a/js/menu.js b/js/menu.js index e4453599c..0591fa828 100644 --- a/js/menu.js +++ b/js/menu.js @@ -546,7 +546,12 @@ var News = News || {}; * @param id the id */ Menu.prototype._edit = function(type, id){ - // TODO: + var $node = this._getNodeFromTypeAndId(type, id); + var name = $node.children('.title').html(); + var id = $node.data('id'); + $('#changefolder_dialog').find('input[type=text]').val(name); + $('#changefolder_dialog').find('input[type=hidden]').val(id); + $('#changefolder_dialog').dialog('open'); }; /** diff --git a/js/news.js b/js/news.js index deb3bfaba..483888005 100644 --- a/js/news.js +++ b/js/news.js @@ -50,6 +50,36 @@ News = { $(button).prop('value', t('news','Add folder')); }); }, + changeName:function(button){ + var folderName = $("#changefolder_dialog input[type=text]").val().trim(); + var folderId = parseInt($('#changefolder_dialog input[type=hidden]').val().trim()); + + if(folderName.length == 0) { + OC.dialogs.alert(t('news', 'Name of the folder cannot be empty.'), t('news', 'Error')); + return false; + } + + $(button).attr("disabled", true); + $(button).prop('value', t('news', 'Changing...')); + + var url = OC.filePath('news', 'ajax', 'changefoldername.php'); + var data = { + folderName: folderName, + folderId: folderId + }; + + $.post(url, data, function(jsonData){ + if(jsonData.status == 'success'){ + folderName = $('<div>').text(folderName).html(); + News.Objects.Menu.updateNode(News.MenuNodeType.Folder, folderId, {title: folderName}); + $('#changefolder_dialog').dialog('close'); + } else { + OC.dialogs.alert(jsonData.data.message, t('news', 'Error')); + } + $(button).attr("disabled", false); + $(button).prop('value', t('news','Change folder name')); + }); + } }, Feed: { id:'', |