From d529672a314e188d9effdc14a30c37a990f80ebe Mon Sep 17 00:00:00 2001 From: Alex AUVOLAT Date: Sun, 4 Aug 2013 17:05:20 +0200 Subject: Some changes to the way reviews work - custom styles! --- design/style.css | 23 +++++++++++++++++++++++ js/liststudy.js | 4 ++-- js/reviewdesu.js | 44 ++++++++++++++++++++++++++++++++------------ lib/list/inc_process.php | 28 ++++++++++++++++++++-------- lib/list/list_models.php | 17 +++++++++++++++++ tpl/study/list.php | 2 +- 6 files changed, 95 insertions(+), 23 deletions(-) create mode 100644 lib/list/list_models.php diff --git a/design/style.css b/design/style.css index 3aaff45..af90223 100644 --- a/design/style.css +++ b/design/style.css @@ -6,6 +6,7 @@ body { padding: 0px; margin: 0px; width: 400px; + font-size: 0.9em; } .menu { @@ -276,6 +277,28 @@ hr { border-bottom: 1px solid #0000FF; } +/* Study lists */ + +.review_item{ + text-align: center; +} +.review_item div { + width: 400px; + margin: auto; + height: 300px; + border: 1px solid #eeeeee; + background: #ffffff; +} + +.review_item_prop span { + display: inline-block; + padding-right: 8px; + font-size: 0.8em; +} + +.rtk_kr_q_1, .rtk_kr_a_1, .rtk_kr_q_2, .rtk_kr_a_2 { margin: 0px; padding: 0px; padding-top: 50px; } +.rtk_kr_q_1, .rtk_kr_a_2 span { font-size: 4em; font-family: "IPAMincho", serif; } +.rtk_kr_q_2, .rtk_kr_a_1 span { font-size: 1.2em; } /* blog */ diff --git a/js/liststudy.js b/js/liststudy.js index 4d715b8..d4a74c8 100644 --- a/js/liststudy.js +++ b/js/liststudy.js @@ -49,7 +49,7 @@ function show_contents_table() { var html = ''; for (var i = 0; i < batch_data.columns.length; i++) { var c = batch_data.columns[i]; - html += ''; + html += ''; } html += ''; for (var i = 0; i < items.length; i++) { @@ -91,7 +91,7 @@ function show_reviews_table() { var color = ''; if (reviews_data[i].score == 100) color = '#00aa00'; - else if (reviews_data[i].score >= 90) + else if (reviews_data[i].score >= 80) color = '#55FF55'; else if (reviews_data[i].score >= 50) color = '#FFFF00'; diff --git a/js/reviewdesu.js b/js/reviewdesu.js index 45726dd..79bae82 100644 --- a/js/reviewdesu.js +++ b/js/reviewdesu.js @@ -26,24 +26,41 @@ function start_review() { } function prepare_questions() { - for (var i = 0; i < batch_data.items.length; i++) { - for (var j = 0; j < batch_data.columns.length; j++) { - if (batch_data.columns[j].question == true) { + for (var j = 0; j < batch_data.questions.length; j++) { + var tq = []; + + var q = batch_data.questions[j]; + for (var i = 0; i < batch_data.items.length; i++) { + if (q.col) { var answer = ''; for (var k = 0; k < batch_data.items[i].length; k++) { - if (k != j) - answer += '

' + batch_data.items[i][k] + "

"; + answer += '

' + batch_data.columns[k] + '' + batch_data.items[i][k] + "

"; } - questions.push({ - "question": batch_data.items[i][j], + tq.push({ + "question": '

' + batch_data.items[i][q.col] + '

', "answer": answer, "key": batch_data.items[i][0], }); + } else { + var qu = q.q; + var an = q.a; + for (var k = 0; k < batch_data.items[i].length; k++) { + qu = qu.replace('%' + k, batch_data.items[i][k]); + an = an.replace('%' + k, batch_data.items[i][k]); + } + tq.push({ + "question": qu, + "answer": an, + "key": batch_data.items[i][0], + }); } } + + tq.shuffle(); + // first question asked is the last in array questions, so just put them in reverse order. + questions = tq.concat(questions); } total = questions.length; - questions.shuffle(); } function next_question() { @@ -66,8 +83,10 @@ function next_question() { question_nb++; html = '

Question ' + question_nb + ' of ' + total + '

'; - html += '

' + question.question + '

'; + html += '
'; + html += '
' + question.question + '
'; html += '

'; + html += '
'; $("core").innerHTML = html; $("flipbtn").focus(); } @@ -75,11 +94,12 @@ function next_question() { function show_answer() { html = '

Question ' + question_nb + ' of ' + total + '

'; - html += '

' + question.question + '

'; - html += question.answer; + html += '
'; + html += '
' + question.answer + '
'; html += '

'; html += ''; - html += '

'; + html += '

'; + html += '
'; $("core").innerHTML = html; $("dunnobtn").focus(); } diff --git a/lib/list/inc_process.php b/lib/list/inc_process.php index d4656b5..0c7dd82 100644 --- a/lib/list/inc_process.php +++ b/lib/list/inc_process.php @@ -1,16 +1,28 @@ array(), "items" => array()); - - $columns = explode('|', $models); - foreach ($columns as $c) { - if ($c[0] == '!') { - $data['columns'][] = array("question" => false, "name" => substr($c, 1)); - } else { - $data['columns'][] = array("question" => true, "name" => $c); + global $list_models; + + $data = array("columns" => array(), "items" => array(), "questions" => array()); + + if ($models[0] == '*') { + $model = $list_models[substr($models, 1)]; + + $columns = $data['columns'] = $model['columns']; + $data['questions'] = $model['questions']; + } else { + $columns = explode('|', $models); + + foreach ($columns as $k => $c) { + if ($c[0] == '!') { + $data['columns'][] = substr($c, 1); + } else { + $data['columns'][] = $c; + $data['questions'][] = array('col' => $k); + } } } diff --git a/lib/list/list_models.php b/lib/list/list_models.php new file mode 100644 index 0000000..0d34856 --- /dev/null +++ b/lib/list/list_models.php @@ -0,0 +1,17 @@ + array( + "columns" => array("N#", "Kanji", "Keyword", "Strokes"), + "questions" => array( + array( + 'q' => '

%2

', + 'a' => '

#%0: %2 [%3]
%1

' + ), + array( + 'q' => '

%1

', + 'a' => '

#%0: %1 [%3]
%2

' + ), + ), + ), +); diff --git a/tpl/study/list.php b/tpl/study/list.php index 0d04ccb..c44e45e 100644 --- a/tpl/study/list.php +++ b/tpl/study/list.php @@ -13,7 +13,7 @@ foreach ($batches as $batch) { if ($batch['lr_date']) { if ($batch['lr_score'] == 100) $color = "#00AA00"; - else if ($batch['lr_score'] >= 90) + else if ($batch['lr_score'] >= 80) $color = "#55FF55"; else if ($batch['lr_score'] >= 50) $color = "#FFFF00"; -- cgit v1.2.3
' + c.name + ' - hide' + c + ' - hidewinfailscore