Projekt

Obecné

Profil

Stáhnout (15.9 KB) Statistiky
| Větev: | Revize:
1 a908ef13 Anděl Ondřej
<div id="detail-modal" class="modal fade" role="dialog">
2
    <div class="modal-dialog modal-dialog-centered modal-lg" role="document">
3
        <div class="modal-content">
4
            <div class="modal-header">
5
                <h4 class="modal-title">Detail záznamu</h4>
6
                <button type="button" class="close" data-dismiss="modal">&times;</button>
7
            </div>
8
            <div class="modal-body">
9
                <div class="container">
10
                    <div class="row">
11
                        <div class="col-xs-12 col-sm-4">
12
                            <label>Slovo:</label>
13
                        </div>
14
                        <div class="col-xs-12 col-sm-8">
15
                            <i id="word"></i>
16
                        </div>
17
                    </div>
18
                    <div class="row">
19
                        <div class="col-xs-12 col-sm-4">
20
                            <label>Lemma:</label>
21
                        </div>
22
                        <div class="col-xs-12 col-sm-8">
23
                            <i id="lemma"></i>
24
                        </div>
25
                    </div>
26
                    <div class="row">
27
                        <div class="col-xs-12 col-sm-4">
28
                            <label>Datum přídání:</label>
29
                        </div>
30
                        <div class="col-xs-12 col-sm-8">
31
                            <i id="date"></i>
32
                        </div>
33
                    </div>
34
                    <div class="row">
35
                        <div class="col-xs-12 col-sm-4">
36
                            <label>Rukopisy:</label>
37
                        </div>
38
                        <div class="col-xs-12 col-sm-8">
39
                            <i id="manuscript"></i>
40
                        </div>
41
                    </div>
42
                    <div class="row">
43
                        <div class="col-xs-12 col-sm-4">
44
                            <label>Pozice:</label>
45
                        </div>
46
                        <div class="col-xs-12 col-sm-8">
47
                            <i id="position"></i>
48
                        </div>
49
                    </div>
50
                    <div class="row">
51
                        <div class="col-xs-12 col-sm-4">
52
                            <label>Vlastní jméno:</label>
53
                        </div>
54
                        <div class="col-xs-12 col-sm-8">
55
                            <i id="namedentity"></i>
56
                        </div>
57
                    </div>
58
                    <div class="row">
59
                        <div class="col-xs-12 col-sm-4">
60
                            <label>Kontext:</label>
61
                        </div>
62
                        <div class="col-xs-12 col-sm-8">
63
                            <i id="context"></i>
64
                        </div>
65
                    </div>
66
                    <div class="row">
67
                        <div class="col-xs-12 col-sm-4">
68
                            <label>Slovní druh:</label>
69
                        </div>
70
                        <div class="col-xs-12 col-sm-8">
71
                            <i id="wordclass"></i>
72
                        </div>
73
                    </div>
74
75
                    <!-- conditional render -->
76
                    <div class="row" id="case-wrapper">
77
                        <div class="col-xs-12 col-sm-4">
78
                            <label>Pád:</label>
79
                        </div>
80
                        <div class="col-xs-12 col-sm-8">
81
                            <i id="case"></i>
82
                        </div>
83
                    </div>
84
                    <div class="row" id="countability-wrapper">
85
                        <div class="col-xs-12 col-sm-4">
86
                            <label>Číslo:</label>
87
                        </div>
88
                        <div class="col-xs-12 col-sm-8">
89
                            <i id="countability"></i>
90
                        </div>
91
                    </div>
92
                    <div class="row" id="gender-wrapper">
93
                        <div class="col-xs-12 col-sm-4">
94
                            <label>Rod:</label>
95
                        </div>
96
                        <div class="col-xs-12 col-sm-8">
97
                            <i id="gender"></i>
98
                        </div>
99
                    </div>
100
                    <div class="row" id="grade-wrapper">
101
                        <div class="col-xs-12 col-sm-4">
102
                            <label>Stupeň:</label>
103
                        </div>
104
                        <div class="col-xs-12 col-sm-8">
105
                            <i id="grade"></i>
106
                        </div>
107
                    </div>
108
                    <div class="row" id="shape-wrapper">
109
                        <div class="col-xs-12 col-sm-4">
110
                            <label>Tvar:</label>
111
                        </div>
112
                        <div class="col-xs-12 col-sm-8">
113
                            <i id="shape"></i>
114
                        </div>
115
                    </div>
116
                    <div class="row" id="k-type-wrapper">
117
                        <div class="col-xs-12 col-sm-4">
118
                            <label>Typ:</label>
119
                        </div>
120
                        <div class="col-xs-12 col-sm-8">
121
                            <i id="k-type"></i>
122
                        </div>
123
                    </div>
124
                    <div class="row" id="type-wrapper">
125
                        <div class="col-xs-12 col-sm-4">
126
                            <label>Druh:</label>
127
                        </div>
128
                        <div class="col-xs-12 col-sm-8">
129
                            <i id="type"></i>
130
                        </div>
131
                    </div>
132
                    <div class="row" id="mood-wrapper">
133
                        <div class="col-xs-12 col-sm-4">
134
                            <label>Způsob:</label>
135
                        </div>
136
                        <div class="col-xs-12 col-sm-8">
137
                            <i id="mood"></i>
138
                        </div>
139
                    </div>
140 c2873e44 Anděl Ondřej
                    <div class="row" id="irregular-wrapper">
141
                        <div class="col-xs-12 col-sm-4">
142
                            <label>Neurčitý slovesný tvar:</label>
143
                        </div>
144
                        <div class="col-xs-12 col-sm-8">
145
                            <i id="irregular"></i>
146
                        </div>
147
                    </div>
148 a908ef13 Anděl Ondřej
                    <div class="row" id="person-wrapper">
149
                        <div class="col-xs-12 col-sm-4">
150
                            <label>Osoba:</label>
151
                        </div>
152
                        <div class="col-xs-12 col-sm-8">
153
                            <i id="person"></i>
154
                        </div>
155
                    </div>
156
                    <div class="row" id="time-wrapper">
157
                        <div class="col-xs-12 col-sm-4">
158
                            <label>Čas:</label>
159
                        </div>
160
                        <div class="col-xs-12 col-sm-8">
161
                            <i id="time"></i>
162
                        </div>
163
                    </div>
164
                    <div class="row" id="v-type-wrapper">
165
                        <div class="col-xs-12 col-sm-4">
166
                            <label>Slovesný rod:</label>
167
                        </div>
168
                        <div class="col-xs-12 col-sm-8">
169
                            <i id="v-type"></i>
170
                        </div>
171
                    </div>
172
                    <div class="row" id="vid-wrapper">
173
                        <div class="col-xs-12 col-sm-4">
174
                            <label>Slovesný vid:</label>
175
                        </div>
176
                        <div class="col-xs-12 col-sm-8">
177
                            <i id="vid"></i>
178
                        </div>
179
                    </div>
180
                </div>
181
            </div>
182
            <div class="modal-footer">
183
                <button type="button" class="btn btn-default" data-dismiss="modal">Zavřít</button>
184
            </div>
185
        </div>
186
    </div>
187
</div>
188
189
<script>
190
    $('#detail-modal').on('show.bs.modal', function (event) {
191
        const button = $(event.relatedTarget);
192
        const pseudo_id = button.data('pseudo-id') ;// Extract info from data-* attributes
193
194
        const data_obj = data[pseudo_id];
195
        let modal = $(this);
196
197
        modal.find('#word').text(data_obj.word);
198
        modal.find('#lemma').text(data_obj.lemma.lemma);
199
        modal.find('#date').text(convertDate(data_obj.date));
200
        modal.find('#manuscript').text(renderManuscript(data_obj.manuscript, false));
201
        modal.find('#position').text(data_obj.position1 + (data_obj.position2 ? ("/" + data_obj.position2 + (data_obj.positiondetail ? "/"  + data_obj.positiondetail :  "")) : ""));
202
        modal.find('#namedentity').text(data_obj.namedentity === 1? "Ano" :  "Ne");
203
        modal.find('#context').text(data_obj.context === ""? "-" :  data_obj.context);
204
205
        const morphem = data_obj.tag.tag;
206
        analyzeMorphem(modal, morphem);
207
    });
208
209
    function analyzeMorphem(modal, morphem) {
210
        modal.find('#wordclass').text(codeToWordclass[morphem.charAt(0)]);
211
212
        (morphem.charAt(1) === '-') ? modal.find('#case-wrapper').hide() :
213
            modal.find('#case-wrapper').show();
214
        modal.find('#case').text(codeToCase[morphem.charAt(1)]);
215
216
        (morphem.charAt(2) === '-') ? modal.find('#countability-wrapper').hide() :
217
            modal.find('#countability-wrapper').show();
218
        modal.find('#countability').text(codeToCountability[morphem.charAt(2)]);
219
220
        (morphem.charAt(3) === '-') ? modal.find('#gender-wrapper').hide() :
221
            modal.find('#gender-wrapper').show();
222
        modal.find('#gender').text(codeToGender[morphem.charAt(3)]);
223
224
        (morphem.charAt(4) === '-') ? modal.find('#grade-wrapper').hide() :
225
            modal.find('#grade-wrapper').show();
226
        modal.find('#grade').text(codeToGrade[morphem.charAt(4)]);
227
228
        (morphem.charAt(5) === '-') ? modal.find('#shape-wrapper').hide() :
229
            modal.find('#shape-wrapper').show();
230
        modal.find('#shape').text(codeToShape[morphem.charAt(5)]);
231
232
        if(morphem.charAt(7) === '-'){
233
            modal.find('#k-type-wrapper').hide();
234
            modal.find('#type-wrapper').hide();
235
            modal.find('#mood-wrapper').hide();
236 c2873e44 Anděl Ondřej
            modal.find('#irregular-wrapper').hide();
237 a908ef13 Anděl Ondřej
        } else {
238
            if(morphem.charAt(0) === 'J') {
239
                modal.find('#mood-wrapper').hide();
240
                modal.find('#type-wrapper').hide();
241 c2873e44 Anděl Ondřej
                modal.find('#irregular-wrapper').hide();
242 a908ef13 Anděl Ondřej
243
                modal.find('#k-type-wrapper').show();
244
                modal.find('#k-type').text(codeToKType[morphem.charAt(7)]);
245
            } else if(morphem.charAt(0) === 'P') {
246
                modal.find('#k-type-wrapper').hide();
247
                modal.find('#mood-wrapper').hide();
248 c2873e44 Anděl Ondřej
                modal.find('#irregular-wrapper').hide();
249 a908ef13 Anděl Ondřej
250
                modal.find('#type-wrapper').show();
251
                modal.find('#type').text(codeToType[morphem.charAt(7)]);
252
            } else if(morphem.charAt(0) === 'V') {
253
                modal.find('#k-type-wrapper').hide();
254
                modal.find('#type-wrapper').hide();
255
256 c2873e44 Anděl Ondřej
                if(codeToMood[morphem.charAt(7)] !== undefined){
257
                    modal.find('#irregular-wrapper').hide();
258
                    modal.find('#mood-wrapper').show();
259
                    modal.find('#mood').text(codeToMood[morphem.charAt(7)]);
260
                } else {
261
                    modal.find('#mood-wrapper').hide();
262
                    modal.find('#irregular-wrapper').show();
263
                    modal.find('#irregular').text(codeToIrregular[morphem.charAt(7)]);
264
                }
265 a908ef13 Anděl Ondřej
            } else {
266
                modal.find('#k-type-wrapper').hide();
267
                modal.find('#type-wrapper').hide();
268
                modal.find('#mood-wrapper').hide();
269 c2873e44 Anděl Ondřej
                modal.find('#irregular-wrapper').hide();
270 a908ef13 Anděl Ondřej
            }
271
        }
272
273
        (morphem.charAt(8) === '-') ? modal.find('#person-wrapper').hide() :
274
            modal.find('#person-wrapper').show();
275
        modal.find('#person').text(morphem.charAt(8) + ".");
276
277
        (morphem.charAt(9) === '-') ? modal.find('#time-wrapper').hide() :
278
            modal.find('#time-wrapper').show();
279
        modal.find('#time').text(codeToTime[morphem.charAt(9)]);
280
281
        (morphem.charAt(10) === '-') ? modal.find('#v-type-wrapper').hide() :
282
            modal.find('#v-type-wrapper').show();
283
        modal.find('#v-type').text(codeToVType[morphem.charAt(10)]);
284
285
        (morphem.charAt(11) === '-') ? modal.find('#vid-wrapper').hide() :
286
            modal.find('#vid-wrapper').show();
287
        modal.find('#vid').text(codeToVid[morphem.charAt(11)]);
288
    }
289
290
    //CONVERTORS
291
    function convertDate(date) {
292
        let newDate = "";
293
        date = date.replace(" 00:00:00", "");
294
        let splitDate = date.split("-");
295
296
        newDate += splitDate[2] + ". " + splitDate[1] + ". " + splitDate[0];
297
        return newDate;
298
    }
299
300
    const codeToWordclass = {
301
        "N": "Substantivum",
302
        "A": "Adjektivum",
303
        "P": "Pronomen",
304
        "C": "Numeralie",
305
        "V": "Verbum",
306
        "D": "Adverbium",
307
        "R": "Prepozice",
308
        "J": "Konjunkce",
309
        "I": "Interjekce",
310
        "T": "Partikule"
311
    };
312
313 36708281 Anděl Ondřej
    const codeToManuscript = {
314
        "0":  "rukopis Vídeňský",
315
        "1":  "zlomky Hanušovy",
316
        "2":  "zlomky Hradecké",
317
        "3":  "rukopis Cambridžský",
318
        "4":  "rukopis Františkánský",
319
        "5":  "zlomek Olomoucký",
320
        "6":  "fragment Strahovský",
321
        "7":  "zlomky Klementinsko-Křižovnické",
322
        "8":  "zlomky Mnichovské",
323
        "9":  "rukopis Lobkovický",
324
        "10": "rukopis Pelclův",
325
        "11": "rukopis Cerronský",
326
        "12": "rukopis Fürstenberský",
327
        "13": "rukopis Zebererův",
328
        "14": "vydání Pavla Ješína z Bezdězi, Praha 1620",
329
        "15": "básně připsané při Pulkavově kronice v rukopisu Litoměřickém",
330
    };
331
332
    const codeToManuscriptShort = {
333
        "0":  "V",
334
        "1":  "H",
335
        "2":  "Hr",
336
        "3":  "C",
337
        "4":  "F",
338
        "5":  "O",
339
        "6":  "S",
340
        "7":  "K",
341
        "8":  "M",
342
        "9":  "L",
343
        "10": "P",
344
        "11": "Cr",
345
        "12": "Fs",
346
        "13": "Z",
347
        "14": "Js",
348
        "15": "Pl",
349
    };
350
351 a908ef13 Anděl Ondřej
    const codeToCase = {
352
        "1": "Nominativ",
353
        "2": "Genitiv",
354
        "3": "Dativ",
355
        "4": "Akuzativ",
356
        "5": "Vokativ",
357
        "6": "Lokál",
358
        "7": "Instrumentál"
359
    };
360
361
    const codeToCountability = {
362
            "S": "Singulár",
363
            "P": "Plurál",
364
            "D": "Duál"
365
    };
366
367
    const codeToGender = {
368
            "M": "Maskulinum",
369
            "F": "Femininum",
370
            "N": "Neutrum"
371
    };
372
373
    const codeToGrade = {
374
        "1": "Pozitiv",
375
        "2": "Komparativ",
376
        "3": "Superlativ"
377
    };
378
379
    const codeToKType = {
380
        "V": "Větná",
381
        "C": "Členská",
382
        "N": "Navazovací",
383
        "P": "Spojení s přechodníkem"
384
    };
385
386
    const codeToShape = {
387
        "C": "Složený",
388
        "N": "Jmenný"
389
    };
390
391
    const codeToVid = {
392
        "P": "Perfektivum",
393
        "I": "Imperfektivum",
394
    };
395
396
    const codeToVType = {
397
        "A": "Aktivum",
398
        "P": "Pasivum",
399
    };
400
401
    const codeToTime= {
402
        "P": "Prézens",
403
        "A": "Aorist",
404
        "R": "Préteritum",
405
        "I": "Imperfektum",
406
        "H": "Plusquamperfektum",
407
        "F": "Futurum"
408
    };
409
410
    const codeToType = {
411
        "P": "Personalia",
412
        "S": "Posesiva",
413
        "D": "Demonstrativa",
414
        "Q": "Interogativa",
415
        "J": "Relativa",
416
        "Z": "Indefinita",
417
        "L": "Limitativa",
418
        "W": "Negativa",
419
    };
420
421
    const codeToMood = {
422
        "d": "Indikativ",
423
        "i": "Imperativ",
424 c2873e44 Anděl Ondřej
        "c": "Kondicionál"
425
    };
426
427
    const codeToIrregular = {
428
        "f": "Infinitiv",
429 a908ef13 Anděl Ondřej
        "S": "Supinum",
430
        "e": "Přech. přítomný",
431
        "m": "Přech. minulý",
432
        "A": "Part. perf. akt.",
433
        "P": "Part. perf. akt."
434
    };
435
</script>