Просмотр исходного кода

Populate the list of loaded cards

crobi 10 лет назад
Родитель
Сommit
112f19869d
5 измененных файлов: 42 добавлений и 11 удалений
  1. 1
    3
      generator/data/card_data_example.js
  2. 0
    5
      generator/data/card_data_user.js
  3. 2
    2
      generator/generate.html
  4. 8
    0
      generator/js/cards.js
  5. 31
    1
      generator/js/ui.js

+ 1
- 3
generator/data/card_data_example.js Просмотреть файл

129
             "fill | 3"
129
             "fill | 3"
130
         ]
130
         ]
131
     }
131
     }
132
-];
133
-
134
-card_data = card_data.concat(card_data_example);
132
+];

+ 0
- 5
generator/data/card_data_user.js Просмотреть файл

1
-var card_data_user = [
2
-
3
-];
4
-
5
-card_data = card_data.concat(card_data_user);

+ 2
- 2
generator/generate.html Просмотреть файл

12
     <link href="lib/colorpicker/css/bootstrap-colorselector.css" rel="stylesheet" />
12
     <link href="lib/colorpicker/css/bootstrap-colorselector.css" rel="stylesheet" />
13
     <script type="text/javascript" src="lib/colorpicker/js/bootstrap-colorselector.js" charset="utf-8"></script>
13
     <script type="text/javascript" src="lib/colorpicker/js/bootstrap-colorselector.js" charset="utf-8"></script>
14
     <!-- Data -->
14
     <!-- Data -->
15
-    <script type="text/javascript" src="data/card_data.js"></script>
16
     <script type="text/javascript" src="data/card_data_example.js"></script>
15
     <script type="text/javascript" src="data/card_data_example.js"></script>
17
     <!-- Javascript -->
16
     <!-- Javascript -->
18
     <script type="text/javascript" defer src="js/cards.js"></script>
17
     <script type="text/javascript" defer src="js/cards.js"></script>
82
             <div class="col-md-3">
81
             <div class="col-md-3">
83
                 <h3>Card list</h3>
82
                 <h3>Card list</h3>
84
                 <form role="form">
83
                 <form role="form">
84
+                    <span class="help-block" id="total_card_count">Deck contains 0 cards.</span>
85
                     <div class="form-group">
85
                     <div class="form-group">
86
                         <label for="selected_card">Selected card</label>
86
                         <label for="selected_card">Selected card</label>
87
-                        <select class="form-control" id="selected_card" readonly></select>
87
+                        <select class="form-control" id="selected_card"></select>
88
                     </div>
88
                     </div>
89
                     <button type="button" class="btn btn-primary btn-block disabled">Delete selected card</button>
89
                     <button type="button" class="btn btn-primary btn-block disabled">Delete selected card</button>
90
                     <button type="button" class="btn btn-primary btn-block disabled">Add new card</button>
90
                     <button type="button" class="btn btn-primary btn-block disabled">Add new card</button>

+ 8
- 0
generator/js/cards.js Просмотреть файл

13
     }
13
     }
14
 }
14
 }
15
 
15
 
16
+function card_default_data() {
17
+    return {
18
+        count: 1,
19
+        title: "New card",
20
+        contents: []
21
+    }
22
+}
23
+
16
 // ============================================================================
24
 // ============================================================================
17
 // Card definition related functions
25
 // Card definition related functions
18
 // ============================================================================
26
 // ============================================================================

+ 31
- 1
generator/js/ui.js Просмотреть файл

1
+// Ugly global variable holding the current card deck
2
+var card_data = [];
3
+
1
 function ui_generate() {
4
 function ui_generate() {
2
     // Generate output HTML
5
     // Generate output HTML
3
     var card_html = card_pages_generate_html(card_data);
6
     var card_html = card_pages_generate_html(card_data);
13
 
16
 
14
 function ui_load_sample() {
17
 function ui_load_sample() {
15
     card_data = card_data_example;
18
     card_data = card_data_example;
19
+    ui_update_card_list();
16
 }
20
 }
17
 
21
 
18
 function ui_clear_all() {
22
 function ui_clear_all() {
19
     card_data = [];
23
     card_data = [];
24
+    ui_update_card_list();
20
 }
25
 }
21
 
26
 
22
 function ui_load_files(evt) {
27
 function ui_load_files(evt) {
29
 
34
 
30
         reader.onload = function (reader) {
35
         reader.onload = function (reader) {
31
             var data = JSON.parse(this.result);
36
             var data = JSON.parse(this.result);
32
-            card_data = card_data.concat(data);
37
+            ui_add_cards(data);
33
         };
38
         };
34
 
39
 
35
         reader.readAsText(f);
40
         reader.readAsText(f);
36
     }
41
     }
37
 }
42
 }
38
 
43
 
44
+function ui_add_cards(data) {
45
+    card_data = card_data.concat(data);
46
+    ui_update_card_list();
47
+}
48
+
49
+function ui_add_new_card() {
50
+    card_data.push(card_default_data());
51
+    ui_update_card_list();
52
+}
53
+
54
+function ui_update_card_list() {
55
+    $("#total_card_count").text("Deck contains " + card_data.length + " cards.");
56
+
57
+    $('#selected_card').empty();
58
+    for (var i = 0; i < card_data.length; ++i) {
59
+        var card = card_data[i];
60
+        $('#selected_card')
61
+            .append($("<option></option>")
62
+            .attr("value", i)
63
+            .text(card.title));
64
+    }
65
+}
66
+
39
 function ui_save_file() {
67
 function ui_save_file() {
40
     var str = JSON.stringify(card_data, null, "  ");
68
     var str = JSON.stringify(card_data, null, "  ");
41
     var parts = [str];
69
     var parts = [str];
56
     $("#file-load").change(ui_load_files);
84
     $("#file-load").change(ui_load_files);
57
     $("#button-load-sample").click(ui_load_sample);
85
     $("#button-load-sample").click(ui_load_sample);
58
     $("#button-save").click(ui_save_file);
86
     $("#button-save").click(ui_save_file);
87
+
88
+    ui_update_card_list();
59
 });
89
 });
60
 
90
 
61
 
91
 

Загрузка…
Отмена
Сохранить