X-Git-Url: https://git.ktnx.net/?a=blobdiff_plain;f=public%2Fjavascripts%2Flsl.js;h=f7efa52f72236622f57796a2b84a501f4ec95e6e;hb=0753df8cb1a2c3d9bd1a3b36c7d1b71ca529bdd3;hp=09f71449b383e5b97b684771c3a6d240ab255032;hpb=6ef15e84e77bb06afb4e6b95847f90f49d53ab2f;p=lsl.git diff --git a/public/javascripts/lsl.js b/public/javascripts/lsl.js index 09f7144..f7efa52 100644 --- a/public/javascripts/lsl.js +++ b/public/javascripts/lsl.js @@ -92,6 +92,14 @@ function edit_list() { .append( $('').text('List name'), $('') + .on('keypress', (ev) => { + if (13 == ev.keyCode) { + save_list(d); + return false; + } + + return true; + }) .val(selected_list.data('lsl-name')) ) ); @@ -101,7 +109,10 @@ function edit_list() { autoOpen: true, modal: true, title: 'Edit list', - width: 'max-content', + width: 'min(calc(100% - 2em), 20em)', + close: (ev) => { + $(ev.target).dialog('destroy'); + }, buttons: [ { class: 'btn-delete', @@ -110,10 +121,6 @@ function edit_list() { delete_list(d); }, }, - { - text: 'Cancel', - click: ()=>{ d.dialog('destroy'); }, - }, { icon: 'ui-icon-disk', text: 'OK', @@ -281,6 +288,28 @@ function delete_list_item(dlg, li) { got_lists_version(resp.lists_version); }); } +function save_list_item(dlg,li) { + var new_description = dlg.find('input[type="text"]').val(); + + $.ajax( li.data('lsl-uri'), + { type: 'PUT', + data: JSON.stringify({ + description: new_description, + version: li.data('lsl-version')}) + } + ) + .done((d)=>{ + selected_list.data('lsl-version', selected_list.data('lsl-version') + 1); + + li.data('lsl-description', new_description); + li.data('lsl-version', d.version); + li.find('.description').text(new_description); + + dlg.dialog('destroy'); + got_list_version(d.list_version); + got_lists_version(d.lists_version); + }); +} function edit_list_item(li) { var d = $('
') .append( @@ -288,6 +317,14 @@ function edit_list_item(li) { .append( $('').text('Item name'), $('') + .on('keypress', (ev) => { + if (13 == ev.keyCode) { + save_list_item(d, li); + return false; + } + + return true; + }) .val(li.data('lsl-description')) ) ); @@ -297,7 +334,10 @@ function edit_list_item(li) { autoOpen: true, modal: true, title: 'Edit item', - width: 'max-content', + width: 'min(calc(100% - 2em), 20em)', + close: (ev) => { + $(ev.target).dialog('destroy'); + }, buttons: [ { class: 'btn-delete', @@ -306,10 +346,6 @@ function edit_list_item(li) { delete_list_item(d, li); }, }, - { - text: 'Cancel', - click: ()=>{ d.dialog('destroy'); }, - }, { icon: 'ui-icon-disk', text: 'OK', @@ -411,5 +447,8 @@ $(function(){ }); $('#list-items').on('change', '.list-item-row input[type="checkbox"]', handle_list_item_state_changed); load_lists(); + $('body').on('click', '.ui-widget-overlay', (ev) => { + $(ev.target).siblings('.ui-dialog').find('.ui-dialog-content').dialog('close'); + }); }); })();