')
);
lists.append(list_item);
}
@@ -215,6 +241,8 @@ function load_lists() {
});
}
function new_list_submission_done(data) {
+ $('input[name="list_name"]').val('').trigger('change');
+
if (data.lists_version != lists_version) {
load_lists()
.done((d)=>{
@@ -236,21 +264,104 @@ function handle_new_list_submission(){
}
function new_list_item_submission_done(data) {
got_lists_version(data.lists_version);
+ selected_list.data('lsl-version', selected_list.data('lsl-version') + 1 );
got_list_version(data.list_version);
- var item_data = selected_list.data('items');
-
var new_item = {
description: $('#new-list-item input[type="text"]').val().trim(),
done: $('#new-list-item input[type="checkbox"]').prop('checked'),
version: 1,
+ uri: data.uri,
};
- item_data.items.push(new_item);
- item_data.version = data.version;
+ selected_list.data('lsl-items').push(new_item);
add_list_item(new_item);
$('#new-list-item input').val('');
}
+function delete_list_item(dlg, li) {
+ $.ajax(li.data('lsl-uri'),
+ { type: 'DELETE' })
+ .done((resp) => {
+ li.remove();
+ dlg.dialog('destroy');
+ selected_list.data('lsl-version', selected_list.data('lsl-version')+1);
+ got_list_version(resp.list_version);
+ 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(
+ $('