-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathDativeSingular.html
More file actions
126 lines (106 loc) · 6.11 KB
/
DativeSingular.html
File metadata and controls
126 lines (106 loc) · 6.11 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
<!DOCTYPE html>
<html>
<head>
<title>
LT Exercise -- Accusative Singular
</title>
<link rel="stylesheet" href="css/style.css">
<link rel="stylesheet" href="css/tooltip.css">
<link rel="stylesheet" href="css/ToC.css">
<link rel="stylesheet" href="css/pageStructure.css">
<script type="text/javascript" src="js/Common.js"> </script>
<script type="text/javascript">
ButtonNext_OnPageLoad();
SetupArrayFunctions();
var subjects = '[{"NounToChange":"Mano dukra","Answer":"Mano dukrai","Ending":"a","En":"daughter"},{"NounToChange":"Mano mama","Answer":"Mano mamai","Ending":"a","En":"mother"},{"NounToChange":"Mano mokytoja","Answer":"Mano mokytojai","Ending":"a","En":"teacher"},{"NounToChange":"Mano teta","Answer":"Mano tetai","Ending":"a","En":"aunt"},{"NounToChange":"Mano draugas","Answer":"Mano draugui","Ending":"as","En":"friend"},{"NounToChange":"Mano kirpėjas","Answer":"Mano kirpėjui","Ending":"as","En":"hairdresser"},{"NounToChange":"Mano mokytojas","Answer":"Mano mokytojui","Ending":"as","En":"teacher"},{"NounToChange":"Mano odontologas","Answer":"Mano odontologui","Ending":"as","En":"dantist"},{"NounToChange":"Mano anūkė","Answer":"Mano anūkei","Ending":"ė","En":"granddaughter"},{"NounToChange":"Mano dėdė","Answer":"Mano dėdei","Ending":"ė","En":"uncle"},{"NounToChange":"Mano draugė","Answer":"Mano draugei","Ending":"ė","En":"friend"},{"NounToChange":"Mano duktė","Answer":"Mano duktei","Ending":"ė","En":"daughter"},{"NounToChange":"Mano močiutė","Answer":"Mano močiutei","Ending":"ė","En":"grandmother"},{"NounToChange":"Mano senelis","Answer":"Mano seneliui","Ending":"is","En":"grandfather"},{"NounToChange":"Mano tėtis","Answer":"Mano tėčiui","Ending":"is","En":"father"},{"NounToChange":"Mano brolis","Answer":"Mano broliui","Ending":"is","En":"brother"},{"NounToChange":"Mano giminaitis","Answer":"Mano giminaičiui","Ending":"is","En":"relative"},{"NounToChange":"Mano direktorius","Answer":"Mano direktoriui","Ending":"us","En":"director, principal"},{"NounToChange":"Mano sūnus","Answer":"Mano sūnui","Ending":"us","En":"son"},{"NounToChange":"Andrius","Answer":"Andriui","Ending":"us","En":"LT name"},{"NounToChange":"Saulius","Answer":"Sauliui","Ending":"us","En":"LT name"},{"NounToChange":"Paulius","Answer":"Pauliui","Ending":"us","En":"LT name"},{"NounToChange":"Balys","Answer":"Baliui","Ending":"ys","En":"LT name"},{"NounToChange":"Kazys","Answer":"Kaziui","Ending":"ys","En":"LT name"},{"NounToChange":"Stasys","Answer":"Stasiui","Ending":"ys","En":"LT name"}]';
var objects = [{"Object":"automobiliai","En":"Cars"},{"Object":"saldainiai","En":"Candies"},{"Object":"teatras","En":"Theater"},{"Object":"obuoliai","En":"Apples"},{"Object":"alus","En":"Beer"},{"Object":"šokti","En":"To Dance"},{"Object":"mokytis","En":"To Learn"},{"Object":"bėgioti","En":"To Run"},{"Object":"vairuoti","En":"To Drive"},{"Object":"skaityti","En":"To Read"}];
// Get array of objects {ending, values:[{ending, NounToChange, Answer, en}]}
var result = JSON
.parse(subjects)
.GroupBy((elem) => (elem.Ending), "Ending");
var currentSample =
{
subject: result.random().values.random(),
object: objects.random()
}
var notification = {};
function onNextActionButtonClick(){
// Check if it's answer request or next sample request
var isAnswerRequest = false;
var button = document.getElementById('NextActionButton');
if(button.innerText == 'Check answer') {isAnswerRequest = true;}
else {isAnswerRequest = false;}
// Call the respective function based on the request type
if(isAnswerRequest){
onAnswerRequest();
}
else { onNextSampleRequest(); }
}
function onAnswerRequest(){
// Show answer
var answerDiv = document.getElementById('Answer');
answerDiv.innerHTML = BuildAnswer(currentSample.object, currentSample.subject);
// Amend button text
var button = document.getElementById('NextActionButton');
button.innerText = 'Next';
// Amend notification
notification.Answer = answerDiv.innerHTML;
}
function onNextSampleRequest(){
// Clean up answer
var answerDiv = document.getElementById('Answer');
answerDiv.innerHTML = '';
// Amend button text
var button = document.getElementById('NextActionButton');
button.innerText = 'Check answer';
// Setup new sample
var randomSample =
{
subject: result.notRepeatingRandom(currentSample.subject.Ending,(group) => (group.Ending)).values.random(),
object: objects.notRepeatingRandom(currentSample.object)
};
currentSample = randomSample;
// Setup question div
var divToAmend = document.getElementById('Question');
var subject = currentSample.subject;
divToAmend.innerHTML = BuildQuestion(currentSample.object, currentSample.subject);
// Amend notification
notification.Answer = null;
notification.Question = divToAmend.innerHTML;
}
function BuildQuestion(object, subject){
var html = '<div class="tooltip"> ' + subject.NounToChange +' <span class="tooltiptext"> ' + subject.En + ' </span> </div> '
+ ' patinka '
+ '<div class="tooltip"> ' + object.Object +' <span class="tooltiptext rightTooltip"> ' + object.En.toLowerCase() + ' </span> </div> ';
return html;
}
function BuildAnswer(object, subject){
var html = subject.Answer + ' patinka ' + object.Object;
return html;
}
</script>
</head>
<body>
<div id='pageStructure' class="pageStructure">
<div id='ToC' class='ToC'></div>
<script type="text/javascript" src="js/ToC.js"> </script>
<script> uploadToC(); </script>
<div id='table' class='content'>
<div id='Question'> Stasys patinka alus </div>
<div id='Answer'> Stasiui patinka alus </div>
<div id='Button'>
<button id='NextActionButton'
onclick="onNextActionButtonClick()">
Next
</button>
</div>
<div class="issueNotificationDiv">
<button id='notifyButton'
onclick="notify(notification.Question, notification.Answer)">
Tell about an error
</button>
</div>
</div>
</div>
</body>
</html>