|
@@ -50,10 +50,20 @@ function ui_add_cards(data) {
|
50
|
50
|
function ui_add_new_card() {
|
51
|
51
|
card_data.push(card_default_data());
|
52
|
52
|
ui_update_card_list();
|
|
53
|
+ ui_select_card_by_index(card_data.length - 1);
|
|
54
|
+}
|
|
55
|
+
|
|
56
|
+function ui_select_card_by_index(index) {
|
|
57
|
+ $("#selected-card").val(index);
|
|
58
|
+ ui_update_selected_card();
|
53
|
59
|
}
|
54
|
60
|
|
55
|
61
|
function ui_selected_card_index() {
|
56
|
|
- return parseInt($("#selected_card").val(), 10);
|
|
62
|
+ return parseInt($("#selected-card").val(), 10);
|
|
63
|
+}
|
|
64
|
+
|
|
65
|
+function ui_selected_card() {
|
|
66
|
+ return card_data[ui_selected_card_index()];
|
57
|
67
|
}
|
58
|
68
|
|
59
|
69
|
function ui_delete_card() {
|
|
@@ -64,10 +74,10 @@ function ui_delete_card() {
|
64
|
74
|
function ui_update_card_list() {
|
65
|
75
|
$("#total_card_count").text("Deck contains " + card_data.length + " cards.");
|
66
|
76
|
|
67
|
|
- $('#selected_card').empty();
|
|
77
|
+ $('#selected-card').empty();
|
68
|
78
|
for (var i = 0; i < card_data.length; ++i) {
|
69
|
79
|
var card = card_data[i];
|
70
|
|
- $('#selected_card')
|
|
80
|
+ $('#selected-card')
|
71
|
81
|
.append($("<option></option>")
|
72
|
82
|
.attr("value", i)
|
73
|
83
|
.text(card.title));
|
|
@@ -91,22 +101,27 @@ function ui_save_file() {
|
91
|
101
|
}
|
92
|
102
|
|
93
|
103
|
function ui_update_selected_card() {
|
94
|
|
- var card = card_data[ui_selected_card_index()];
|
|
104
|
+ var card = ui_selected_card();
|
95
|
105
|
if (card) {
|
96
|
|
- $("#card_title").val(card.title);
|
97
|
|
- $("#card_icon").val(card.icon);
|
98
|
|
- $("#card_contents").val(card.contents.join("\n"));
|
99
|
|
- $("#card_color").val(card.color);
|
100
|
|
-
|
101
|
|
- ui_render_card(card);
|
|
106
|
+ $("#card-title").val(card.title);
|
|
107
|
+ $("#card-count").val(card.count);
|
|
108
|
+ $("#card-icon").val(card.icon);
|
|
109
|
+ $("#card-contents").val(card.contents.join("\n"));
|
|
110
|
+ $("#card-color").val(card.color);
|
|
111
|
+ ui_update_card_color_selector(card.color);
|
102
|
112
|
}
|
|
113
|
+
|
|
114
|
+ ui_render_selected_card();
|
103
|
115
|
}
|
104
|
116
|
|
105
|
|
-function ui_render_card(card) {
|
106
|
|
- var front = card_generate_front(card, card_options);
|
107
|
|
- var back = card_generate_back(card, card_options);
|
|
117
|
+function ui_render_selected_card() {
|
|
118
|
+ var card = ui_selected_card();
|
108
|
119
|
$('#preview-container').empty();
|
109
|
|
- $('#preview-container').html(front + "\n" + back);
|
|
120
|
+ if (card) {
|
|
121
|
+ var front = card_generate_front(card, card_options);
|
|
122
|
+ var back = card_generate_back(card, card_options);
|
|
123
|
+ $('#preview-container').html(front + "\n" + back);
|
|
124
|
+ }
|
110
|
125
|
}
|
111
|
126
|
|
112
|
127
|
function ui_open_help() {
|
|
@@ -118,6 +133,7 @@ function ui_select_icon() {
|
118
|
133
|
}
|
119
|
134
|
|
120
|
135
|
function ui_setup_color_selector() {
|
|
136
|
+ // Insert colors
|
121
|
137
|
$.each(card_colors, function (name, val) {
|
122
|
138
|
$(".colorselector-data")
|
123
|
139
|
.append($("<option></option>")
|
|
@@ -126,6 +142,7 @@ function ui_setup_color_selector() {
|
126
|
142
|
.text(name));
|
127
|
143
|
});
|
128
|
144
|
|
|
145
|
+ // Callbacks for when the user picks a color
|
129
|
146
|
$('#default_color_selector').colorselector({
|
130
|
147
|
callback: function (value, color, title) {
|
131
|
148
|
$("#default_color").val(title);
|
|
@@ -134,11 +151,12 @@ function ui_setup_color_selector() {
|
134
|
151
|
});
|
135
|
152
|
$('#card_color_selector').colorselector({
|
136
|
153
|
callback: function (value, color, title) {
|
137
|
|
- $("#card_color").val(title);
|
|
154
|
+ $("#card-color").val(title);
|
|
155
|
+ ui_set_card_color(value);
|
138
|
156
|
}
|
139
|
157
|
});
|
140
|
|
- $(".dropdown-colorselector").addClass("input-group-addon color-input-addon");
|
141
|
158
|
|
|
159
|
+ // Callbacks for when the user enters a color as a text
|
142
|
160
|
$("#default_color").change(function (e) {
|
143
|
161
|
var color = $("#default_color").val();
|
144
|
162
|
if ($("#default_color_selector option[value='" + color + "']").length > 0) {
|
|
@@ -149,12 +167,72 @@ function ui_setup_color_selector() {
|
149
|
167
|
}
|
150
|
168
|
ui_set_default_color(color);
|
151
|
169
|
});
|
|
170
|
+
|
|
171
|
+ // Styling
|
|
172
|
+ $(".dropdown-colorselector").addClass("input-group-addon color-input-addon");
|
152
|
173
|
}
|
153
|
174
|
|
154
|
175
|
function ui_set_default_color(color) {
|
155
|
176
|
card_options.default_color = color;
|
156
|
177
|
}
|
157
|
178
|
|
|
179
|
+function ui_change_card_title() {
|
|
180
|
+ var title = $("#card-title").val();
|
|
181
|
+ var card = ui_selected_card();
|
|
182
|
+ if (card) {
|
|
183
|
+ card.title = title;
|
|
184
|
+ $("#selected-card option:selected").text(title);
|
|
185
|
+ ui_render_selected_card();
|
|
186
|
+ }
|
|
187
|
+}
|
|
188
|
+
|
|
189
|
+function ui_change_card_property() {
|
|
190
|
+ var property = $(this).attr("data-property");
|
|
191
|
+ var value = $(this).val();
|
|
192
|
+ var card = ui_selected_card();
|
|
193
|
+ if (card) {
|
|
194
|
+ card[property] = value;
|
|
195
|
+ ui_render_selected_card();
|
|
196
|
+ }
|
|
197
|
+}
|
|
198
|
+
|
|
199
|
+function ui_set_card_color(value) {
|
|
200
|
+ var card = ui_selected_card();
|
|
201
|
+ if (card) {
|
|
202
|
+ card.color = value;
|
|
203
|
+ ui_render_selected_card();
|
|
204
|
+ }
|
|
205
|
+}
|
|
206
|
+
|
|
207
|
+function ui_update_card_color_selector(color) {
|
|
208
|
+ if ($("#card_color_selector option[value='" + color + "']").length > 0) {
|
|
209
|
+ // Update the color selector to the entered value
|
|
210
|
+ $("#card_color_selector").colorselector("setValue", color);
|
|
211
|
+ } else {
|
|
212
|
+ // Unknown color - select a neutral color and reset the text value
|
|
213
|
+ $("#card_color_selector").colorselector("setValue", "");
|
|
214
|
+ $("#card-color").val(color);
|
|
215
|
+ }
|
|
216
|
+}
|
|
217
|
+
|
|
218
|
+function ui_change_card_color() {
|
|
219
|
+ var color = $(this).val();
|
|
220
|
+
|
|
221
|
+ ui_update_card_color_selector(color);
|
|
222
|
+ ui_set_card_color(color);
|
|
223
|
+}
|
|
224
|
+
|
|
225
|
+function ui_change_card_contents() {
|
|
226
|
+ var value = $(this).val();
|
|
227
|
+
|
|
228
|
+ var card = ui_selected_card();
|
|
229
|
+ if (card) {
|
|
230
|
+ card.contents = value.split("\n");
|
|
231
|
+ ui_render_selected_card();
|
|
232
|
+ }
|
|
233
|
+}
|
|
234
|
+
|
|
235
|
+
|
158
|
236
|
$(document).ready(function () {
|
159
|
237
|
ui_setup_color_selector();
|
160
|
238
|
|
|
@@ -166,7 +244,13 @@ $(document).ready(function () {
|
166
|
244
|
$("#button-add-card").click(ui_add_new_card);
|
167
|
245
|
$("#button-delete-card").click(ui_delete_card);
|
168
|
246
|
$("#button-help").click(ui_open_help);
|
169
|
|
- $("#selected_card").change(ui_update_selected_card);
|
|
247
|
+ $("#selected-card").change(ui_update_selected_card);
|
|
248
|
+
|
|
249
|
+ $("#card-title").change(ui_change_card_title);
|
|
250
|
+ $("#card-icon").change(ui_change_card_property);
|
|
251
|
+ $("#card-count").change(ui_change_card_property);
|
|
252
|
+ $("#card-color").change(ui_change_card_color);
|
|
253
|
+ $("#card-contents").change(ui_change_card_contents);
|
170
|
254
|
|
171
|
255
|
$(".icon-select-button").click(ui_select_icon);
|
172
|
256
|
|