diff options
Diffstat (limited to 'apps/bookmarks/js')
-rw-r--r-- | apps/bookmarks/js/addBm.js | 17 | ||||
-rw-r--r-- | apps/bookmarks/js/bookmarks.js | 42 |
2 files changed, 58 insertions, 1 deletions
diff --git a/apps/bookmarks/js/addBm.js b/apps/bookmarks/js/addBm.js new file mode 100644 index 00000000000..7c914f2338a --- /dev/null +++ b/apps/bookmarks/js/addBm.js @@ -0,0 +1,17 @@ +$(document).ready(function() { + $('#bookmark_add_submit').click(addBookmark); +}); + +function addBookmark(event) { + var url = $('#bookmark_add_url').val(); + var title = $('#bookmark_add_title').val(); + var description = $('#bookmark_add_description').val(); + var tags = $('#bookmark_add_tags').val(); + $.ajax({ + url: 'ajax/addBookmark.php', + data: 'url=' + encodeURI(url) + '&title=' + encodeURI(title) + '&description=' + encodeURI(description) + '&tags=' + encodeURI(tags), + success: function(data){ + location.href='index.php'; + } + }); +}
\ No newline at end of file diff --git a/apps/bookmarks/js/bookmarks.js b/apps/bookmarks/js/bookmarks.js index 04db8b42a79..ac87d967be8 100644 --- a/apps/bookmarks/js/bookmarks.js +++ b/apps/bookmarks/js/bookmarks.js @@ -1,6 +1,8 @@ var bookmarks_page = 0; var bookmarks_loading = false; +var bookmarks_sorting = 'bookmarks_sorting_recent'; + $(document).ready(function() { $('.bookmarks_addBtn').click(function(event){ $('.bookmarks_add').slideToggle(); @@ -9,6 +11,11 @@ $(document).ready(function() { $('#bookmark_add_submit').click(addBookmark); $(window).scroll(updateOnBottom); + $('#bookmark_add_url').focusout(getMetadata); + $('.' + bookmarks_sorting).addClass('bookmarks_sorting_active'); + + $('.bookmarks_sorting li').click(function(event){changeSorting(this)}); + $('.bookmarks_list').empty(); getBookmarks(); }); @@ -18,9 +25,10 @@ function getBookmarks() { //have patience :) return; } + $.ajax({ url: 'ajax/updateList.php', - data: 'tag=' + encodeURI($('#bookmarkFilterTag').val()) + '&page=' + bookmarks_page, + data: 'tag=' + encodeURI($('#bookmarkFilterTag').val()) + '&page=' + bookmarks_page + '&sort=' + bookmarks_sorting, success: function(bookmarks){ bookmarks_page += 1; $('.bookmark_link').unbind('click', recordClick); @@ -36,6 +44,30 @@ function getBookmarks() { }); } +function getMetadata() { + var url = encodeEntities($('#bookmark_add_url').val()) + $.ajax({ + url: 'ajax/getMeta.php', + data: 'url=' + encodeURIComponent(url), + success: function(pageinfo){ + $('#bookmark_add_url').val(pageinfo.data.url); + $('#bookmark_add_description').val(pageinfo.data.description); + $('#bookmark_add_title').val(pageinfo.data.title); + } + }); +} + +function changeSorting(sortEl) { + $('.' + bookmarks_sorting).removeClass('bookmarks_sorting_active'); + bookmarks_sorting = sortEl.className; + $('.' + bookmarks_sorting).addClass('bookmarks_sorting_active'); + + $('.bookmarks_list').empty(); + bookmarks_page = 0; + bookmarks_loading = false; + getBookmarks(); +} + function addBookmark(event) { var url = encodeEntities($('#bookmark_add_url').val()) var title = encodeEntities($('#bookmark_add_title').val()) @@ -80,6 +112,9 @@ function updateBookmarksList(bookmark) { for ( var i=0, len=tags.length; i<len; ++i ){ taglist = taglist + '<a class="bookmark_tags" href="?tag=' + encodeURI(tags[i]) + '">' + tags[i] + '</a> '; } + if(!hasProtocol(bookmark.url)) { + bookmark.url = 'http://' + bookmark.url; + } $('.bookmarks_list').append( '<div class="bookmark_single">' + '<p class="bookmark_title"><a href="' + encodeEntities(bookmark.url) + '" target="_new" class="bookmark_link">' + encodeEntities(bookmark.title) + '</a></p>' + @@ -113,3 +148,8 @@ function encodeEntities(s){ return ""; } } + +function hasProtocol(url) { + var regexp = /(ftp|http|https|sftp)/; + return regexp.test(url); +} |