|
@@ -2,6 +2,37 @@
|
2
|
2
|
var card_data = [];
|
3
|
3
|
var card_options = card_default_options();
|
4
|
4
|
|
|
5
|
+function mergeSort(arr, compare) {
|
|
6
|
+ if (arr.length < 2)
|
|
7
|
+ return arr;
|
|
8
|
+
|
|
9
|
+ var middle = parseInt(arr.length / 2);
|
|
10
|
+ var left = arr.slice(0, middle);
|
|
11
|
+ var right = arr.slice(middle, arr.length);
|
|
12
|
+
|
|
13
|
+ return merge(mergeSort(left, compare), mergeSort(right, compare), compare);
|
|
14
|
+}
|
|
15
|
+
|
|
16
|
+function merge(left, right, compare) {
|
|
17
|
+ var result = [];
|
|
18
|
+
|
|
19
|
+ while (left.length && right.length) {
|
|
20
|
+ if (compare(left[0], right[0]) <= 0) {
|
|
21
|
+ result.push(left.shift());
|
|
22
|
+ } else {
|
|
23
|
+ result.push(right.shift());
|
|
24
|
+ }
|
|
25
|
+ }
|
|
26
|
+
|
|
27
|
+ while (left.length)
|
|
28
|
+ result.push(left.shift());
|
|
29
|
+
|
|
30
|
+ while (right.length)
|
|
31
|
+ result.push(right.shift());
|
|
32
|
+
|
|
33
|
+ return result;
|
|
34
|
+}
|
|
35
|
+
|
5
|
36
|
function ui_generate() {
|
6
|
37
|
// Generate output HTML
|
7
|
38
|
var card_html = card_pages_generate_html(card_data, card_options);
|
|
@@ -260,7 +291,28 @@ function ui_change_default_icon_size() {
|
260
|
291
|
}
|
261
|
292
|
|
262
|
293
|
function ui_sort_by_name() {
|
263
|
|
- card_data.sort(function (a, b) { return b.title < a.title });
|
|
294
|
+ card_data = mergeSort(card_data, function (a, b) {
|
|
295
|
+ if (a.title > b.title) {
|
|
296
|
+ return 1;
|
|
297
|
+ }
|
|
298
|
+ if (a.title < b.title) {
|
|
299
|
+ return -1;
|
|
300
|
+ }
|
|
301
|
+ return 0;
|
|
302
|
+ });
|
|
303
|
+ ui_update_card_list();
|
|
304
|
+}
|
|
305
|
+
|
|
306
|
+function ui_sort_by_icon() {
|
|
307
|
+ card_data = mergeSort(card_data, function (a, b) {
|
|
308
|
+ if (a.icon > b.icon) {
|
|
309
|
+ return 1;
|
|
310
|
+ }
|
|
311
|
+ if (a.icon < b.icon) {
|
|
312
|
+ return -1;
|
|
313
|
+ }
|
|
314
|
+ return 0;
|
|
315
|
+ });
|
264
|
316
|
ui_update_card_list();
|
265
|
317
|
}
|
266
|
318
|
|
|
@@ -296,6 +348,7 @@ $(document).ready(function () {
|
296
|
348
|
$("#button-load-sample").click(ui_load_sample);
|
297
|
349
|
$("#button-save").click(ui_save_file);
|
298
|
350
|
$("#button-sort-name").click(ui_sort_by_name);
|
|
351
|
+ $("#button-sort-icon").click(ui_sort_by_icon);
|
299
|
352
|
$("#button-add-card").click(ui_add_new_card);
|
300
|
353
|
$("#button-duplicate-card").click(ui_duplicate_card);
|
301
|
354
|
$("#button-delete-card").click(ui_delete_card);
|