]> git.ktnx.net Git - lsl.git/blob - public/javascripts/lsl.js
first ugly attempts at the web app
[lsl.git] / public / javascripts / lsl.js
1 "use strict";
2 (function(){
3 var ui_icon_class_re = new RegExp('\\bui-icon-\\S+\\b');
4 var uri_base;
5 var lists_version;
6 var lists = [];
7 var current_list;
8
9 function load_lists() {
10     console.log('TODO');
11 }
12 function handle_new_list_submission(){
13     $.post(uri_base + '/api/v1/list',
14         JSON.stringify({name:$('input[name="list_name"]').val()}))
15     .done(load_lists);
16     return false;
17 }
18 $(function(){
19     uri_base = $('#page').attr('lsl-uri-base');
20     $(document).ajaxStart(function(){
21         $(document).addClass('blocked');
22         window.setTimeout(
23             function() {
24                 $(document).addClass('busy');
25             }
26         );
27     });
28     $(document).ajaxStop(function(){
29         $(document).removeClass('busy');
30         window.setTimeout(
31             function() {
32                 $(document).removeClass('blocked');
33             },
34             1000 );
35     });
36     $.ajaxSetup({contentType: 'application/json'});
37     $('button, input[type="submit"], input[type="reset"]').each(function(){
38         var class_prop = $(this).prop('class');
39         var icon_classes = class_prop.match(ui_icon_class_re);
40         $(this).button({icon: icon_classes?icon_classes[0]:null});
41     });
42
43     $('#new-list-sidebar-item button').on('click', handle_new_list_submission);
44     $('#new-list-sidebar-item input').on('keypress', function(ev) {
45         if (13 == ev.keyCode) {
46             handle_new_list_submission();
47             return false;
48         }
49
50         return true;
51     });
52     load_lists();
53 });
54 })();