]> git.ktnx.net Git - lsl.git/blobdiff - public/javascripts/lsl.js
remove Cancel buttons from dialogs
[lsl.git] / public / javascripts / lsl.js
index 09f71449b383e5b97b684771c3a6d240ab255032..f7efa52f72236622f57796a2b84a501f4ec95e6e 100644 (file)
@@ -92,6 +92,14 @@ function edit_list() {
                 .append(
                     $('<legend>').text('List name'),
                     $('<input type="text" size="10">')
+                    .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 = $('<div>')
         .append(
@@ -288,6 +317,14 @@ function edit_list_item(li) {
                 .append(
                     $('<legend>').text('Item name'),
                     $('<input type="text" size="10">')
+                    .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');
+    });
 });
 })();