From 8d69711a08ef0dcbe2ec0fdd974931a68ee9dc6d Mon Sep 17 00:00:00 2001 From: Brice Maron Date: Mon, 5 Nov 2012 21:12:00 +0000 Subject: [PATCH] Bookmark: prevent adding empty bookmarks fix #149 --- css/bookmarks.css | 6 ++++++ js/bookmarks.js | 30 +++++++++++++++++++++++++++--- 2 files changed, 33 insertions(+), 3 deletions(-) diff --git a/css/bookmarks.css b/css/bookmarks.css index f88d5365..2ba82133 100644 --- a/css/bookmarks.css +++ b/css/bookmarks.css @@ -4,6 +4,12 @@ #firstrun .button { font-size: 0.7em; } #firstrun #selections { font-size:0.8em; font-weight: normal; width: 100%; margin: 2em auto auto auto; clear: both; } + +input.disabled, input.disabled:hover { + cursor: not-allowed; + background-color: #ddd; + color: gray; +} #leftcontent { padding-top: 1em; } diff --git a/js/bookmarks.js b/js/bookmarks.js index 8709fa41..15def460 100644 --- a/js/bookmarks.js +++ b/js/bookmarks.js @@ -6,12 +6,12 @@ var bookmarks_sorting = 'bookmarks_sorting_recent'; var bookmark_view = 'image'; $(document).ready(function() { + watchUrlField(); $('.centercontent').click(clickSideBar); $('#view_type input').click(clickSwitchView); - $('#add_form').submit(addBookmark); - -// $('#bm_import_submit').click(attachSettingEvent); + $('#bm_import').change(attachSettingEvent); + $('#add_url').on('keydown keyup change click', watchUrlField); $('#settingsbtn').on('click keydown', function() { if( $('#bookmark_settings').hasClass('open')) $('#bookmark_settings').switchClass( "open", "" ); @@ -189,9 +189,33 @@ function createEditDialog(record){ }); } +function watchUrlField(){ + var form = $('#add_form'); + var el = $('#add_url'); + var button = $('#bookmark_add_submit'); + form.unbind('submit'); + if(! acceptUrl(el.val()) ) { + form.bind('submit',function(e){e.preventDefault()}); + button.addClass('disabled'); + } + else{ + button.removeClass('disabled'); + form.bind('submit',addBookmark); + } +} + +function acceptUrl(url) { + return url.replace(/^\s+/g,'').replace(/\s+$/g,'') != ''; +} + function addBookmark(event) { event.preventDefault(); url = $('#add_url').val(); + //If trim is empty + if(! acceptUrl(url) ) { + return; + } + $('#add_url').val(''); bookmark = { url: url, description:'', title:'', from_own: '1'}; $.ajax({