X-Git-Url: https://git.ktnx.net/?a=blobdiff_plain;f=public%2Fjavascripts%2Flsl.js;h=f7efa52f72236622f57796a2b84a501f4ec95e6e;hb=0753df8cb1a2c3d9bd1a3b36c7d1b71ca529bdd3;hp=c594a444dab4075bfca9f90f6fcfc9c57b9488d6;hpb=0958b5fd5eec3ae71f8ea7fa08fc56504dd98a0f;p=lsl.git
diff --git a/public/javascripts/lsl.js b/public/javascripts/lsl.js
index c594a44..f7efa52 100644
--- a/public/javascripts/lsl.js
+++ b/public/javascripts/lsl.js
@@ -1,18 +1,29 @@
"use strict";
(function(){
+var uri_base, environment, devel_env; // filled on page load from an HTML attribute
+var start_time = Date.now();
+
var ui_icon_class_re = new RegExp('\\bui-icon-\\S+\\b');
var uri_id_re = new RegExp('/(\\d+)$');
-var uri_base; // filled on page load from an HTML attribute
var lists_version = -1;
var lists = [];
var selected_list;
+function debug(...args) {
+ if (devel_env)
+ console.debug.apply(console, args);
+}
+
function uri_id(uri) {
var m = uri.match(uri_id_re);
return m ? m[1] : null;
}
function add_list_item(data) {
- var item = $('
').addClass('list-item-row').data('item', data);
+ var item = $('
').addClass('list-item-row').data({
+ 'lsl-uri': data.uri,
+ 'lsl-version': data.version,
+ 'lsl-description': data.description,
+ 'lsl-done': data.done});
var cb = $('');
if (data.done) cb.prop('checked', true);
item.append(cb);
@@ -27,14 +38,15 @@ function got_lists_version(new_version) {
window.setTimeout(load_lists);
}
function got_list_version(new_version) {
- if (new_version != selected_list.attr('lsl-version'))
+ if (new_version != selected_list.data('lsl-version'))
window.setTimeout(
() => load_list_items(selected_list.data('lsl-uri'), selected_list));
}
function load_list_items(uri, target) {
$.get(uri)
.done(item_data => {
- target.data('items', item_data);
+ target.data('lsl-items', item_data.items);
+ target.data('lsl-version', item_data.version);
// TODO: merge new items into existing ones
// keep track of the last existing item, and append new one
@@ -73,8 +85,125 @@ function select_list(new_selected_list) {
selected_list = new_selected_list;
}
+function edit_list() {
+ var d = $('