"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;
item.append($('<span class="description">').text(data.description || ''));
item.append($('<span class="edit-trigger">').text('…'));
- $('#list-items').append(item).addClass('have-list-items');
+ $('#list-items').append(item);
+ $('#list-contents').addClass('have-list-items');
}
function got_lists_version(new_version) {
if (new_version != lists_version)
// keep track of the last existing item, and append new one
// after it, prepending if there is no last existing item
// the newly prepended/inserted item becomes the last existing
- var item_list = $('#list-items').empty().removeClass('have-list-items');
+ $('#list-contents').removeClass('have-list-items');
+ var item_list = $('#list-items').empty();
$.each(item_data.items, (i,item) => {
add_list_item(item);
}
function load_lists() {
$.get(uri_base + '/api/v1/list')
+ .always(()=>{
+ var splash = $('#splash');
+ if (splash.length) {
+ var dur = splash.css('transition-duration');
+ if (dur && dur.endsWith('s')) {
+ dur = 1000 * parseFloat(dur.substring(0, dur.length-1));
+ }
+ else
+ dur = 1000;
+
+ var now = Date.now();
+ window.setTimeout(() => {
+ splash.addClass('done');
+ debug('scheduling splash removal in '+dur+'ms');
+ window.setTimeout(()=>{ splash.remove(); }, dur);
+ },
+ Math.max(0, 500 - (now - start_time))
+ );
+ }
+ })
.done(data => {
lists_version = data.lists_version;
}
$(function(){
uri_base = $('#page').attr('lsl-uri-base');
+ environment = $('#page').attr('lsl-environment');
+ devel_env = environment == 'development';
+
$(document).ajaxStart(function(){
$(document).addClass('blocked');
window.setTimeout(