X-Git-Url: https://git.ktnx.net/?a=blobdiff_plain;f=public%2Fjavascripts%2Flsl.js;h=de2da715f83f6828daa8843b56ab33f32083c699;hb=16706fb7c714414c863214f638b051606f2e3c3e;hp=d1656d4f1320aedd2e680cb77690154e9d122eeb;hpb=082a91fa76feab7dc6d4e4a033169b2dbaea1c49;p=lsl.git
diff --git a/public/javascripts/lsl.js b/public/javascripts/lsl.js
index d1656d4..de2da71 100644
--- a/public/javascripts/lsl.js
+++ b/public/javascripts/lsl.js
@@ -1,11 +1,14 @@
"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 lists_version = -1;
var lists = [];
var selected_list;
+var last_item_action, last_item_action_stamp, item_action_streak = 0;
function debug(...args) {
if (devel_env)
@@ -17,7 +20,11 @@ function uri_id(uri) {
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);
@@ -32,14 +39,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
@@ -78,8 +86,125 @@ function select_list(new_selected_list) {
selected_list = new_selected_list;
}
+function edit_list() {
+ var d = $('