X-Git-Url: https://git.ktnx.net/?a=blobdiff_plain;f=public%2Fjavascripts%2Flsl.js;h=7d0c4e03e630921a2743fad380d5f9d0d905ce8b;hb=dfeabddaac016f698fa33d8568131baa761a4c0f;hp=851d7090df164cf0788e05beab599fc99c4460e8;hpb=7ba6d597edfe5449c6fab136310d007154c7e96d;p=lsl.git diff --git a/public/javascripts/lsl.js b/public/javascripts/lsl.js index 851d709..7d0c4e0 100644 --- a/public/javascripts/lsl.js +++ b/public/javascripts/lsl.js @@ -20,6 +20,11 @@ function got_lists_version(new_version) { if (new_version != lists_version) window.setTimeout(load_lists); } +function got_list_version(new_version) { + var id_data = selected_list.data('id'); + if (new_version != id_data.version) + window.setTimeout(() => load_list_items(id_data.uri, selected_list)); +} function load_list_items(uri, target) { $.get(uri) .done(item_data => { @@ -99,26 +104,19 @@ function handle_new_list_submission(){ return false; } function new_list_item_submission_done(data) { - if (data.lists_version != lists_version) { - load_lists(); - return; - } + got_lists_version(data.lists_version); + got_list_version(data.list_version); var item_data = selected_list.data('items'); - if (data.list_version != item_data.version + 1) { - load_list_items(current_list); - } - else { - var new_item = { - description: $('#new-list-item input[type="text"]').val().trim(), - done: $('#new-list-item input[type="checkbox"]').prop('checked'), - version: 1, - }; - item_data.items.push(new_item); - item_data.version = data.list_version; - add_list_item(new_item); - } + var new_item = { + description: $('#new-list-item input[type="text"]').val().trim(), + done: $('#new-list-item input[type="checkbox"]').prop('checked'), + version: 1, + }; + item_data.items.push(new_item); + item_data.version = data.version; + add_list_item(new_item); $('#new-list-item input').val(''); } @@ -146,7 +144,12 @@ function handle_list_item_state_changed(ev) { version: item_data.version, done: cb.prop('checked')}) } - ); + ) + .done(function(resp){ + item_data.version = resp.version; + got_lists_version(resp.lists_version); + got_list_version(resp.list_version); + }); } $(function(){ uri_base = $('#page').attr('lsl-uri-base');