PageSourceSearch

https://sp217.pl/skd/pics/jsw/vzdelanieucitelaitem.js

js sp217.pl collected 2026-09-27 01:05:05 UTC 56,368 bytes, 806 lines download raw bytes

1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3exports.getPriplatokDateto = exports.TeachersSelectorOld = exports.TeachersSelector = exports.VzdelavanieUcitelaItemDlg = void 0;
4var tslib_1 = require("tslib");
5var React = require("react");
6var AppRprReactUtils_1 = require("../../../app/pics/jsw/utils/AppRprReactUtils");
7var ViewLoadingContainer_1 = require("../../../app/pics/jsw/components/ViewLoadingContainer");
8var AppReactUtils_1 = require("../../../app/pics/jsw/utils/AppReactUtils");
9var dbi_react_1 = require("../../../rpr/dbi_react");
10var egovfieldeditors_1 = require("../../../egov/pics/jsw/views/itemeditors/egovfieldeditors");
11var AppTabs_1 = require("../../../app/pics/jsw/components/AppTabs");
12var AscHttp_1 = require("../../../app/pics/jsw/utils/AscHttp");
13var egovutils_1 = require("../../../egov/pics/jsw/egovutils");
14var vzdelavanieucitelov_1 = require("./vzdelavanieucitelov");
15var egovasiceviewer_1 = require("../../../egov/pics/jsw/views/dialogs/egovasiceviewer");
16var hodnotenieUcitelaUtils_1 = require("./hodnotenie_ucitela/utils/hodnotenieUcitelaUtils");
17var hodnotenieUcitelaPrint_1 = require("./hodnotenie_ucitela/utils/hodnotenieUcitelaPrint");
18importLegacyJsLib('/znamky/pics/js/utilsZnamky.js');
19importLegacyJsLib('/langs/pics/js/egov_{lang}.js');
20importLegacyJsLib('/reports/pics/js/utilsReports.js');
21importCss('/egov/pics/css/egov.css');
22importCss('/elearning/pics/css/etest.css');
23importCss('/app/pics/css/mobileApp.css');
24importCss('/diplomy/pics/css/diplomy.css');
25importCss('/skd/pics/css/officialletters.css');
26importCss('/egov/pics/css/multipleActionButton.css');
27importCss('/reports/pics/css/reportsWidgets.css');
28importCss('/znamky/pics/css/znamkyexams.css');
29importCss('/znamky/pics/css/poznamky.css');
30importCss('/signin/pics/css/signin.css');
31importLegacyJsLib('/signin/pics/js/utilsSignin.js');
32function VzdelavanieUcitelaItemDlg(props) {
33    var _this = this;
34    var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u;
35    var mainElemRef = React.useRef(null);
36    var selectedYear = props.selectedYear || EdubarUtils.getSelectedSchoolYear();
37    var _v = React.useState([]), saveErrors = _v[0], setSaveErrors = _v[1];
38    var _w = React.useState(false), isSubmitting = _w[0], setIsSubmitting = _w[1];
39    var _x = React.useState(false), isAddingHodnotenieAttachment = _x[0], setIsAddingHodnotenieAttachment = _x[1];
40    var _y = AppReactUtils_1.AppReactUtils.useRefState(props.vzdid), vzdid = _y[0], setVzdid = _y[1], vzdidRef = _y[2];
41    var _z = AppReactUtils_1.AppReactUtils.useRefState(null), formData = _z[0], setFormData = _z[1], formDataRef = _z[2];
42    var _0 = AppReactUtils_1.AppReactUtils.useRefStateWithSessionStorage('basic', 'vzdelavanieucitelatab'), selectedTab = _0[0], setSelectedTab = _0[1];
43    var firstFocusRef = React.useRef(false);
44    var isChangedRef = React.useRef(false);
45    var dbi = (0, dbi_react_1.useMainDBI)(selectedYear, {
46        needed_part: {
47            subjects: ["name"],
48            teachers: ['firstname', 'lastname', '__name', 'suggested_evaluation'],
49            classes: ['name', '__name', 'grade', 'teacher2id', 'teacherid'],
50            teacher_pomery: ['name', 'teacherid', 'pomerid', 'suffix', 'datefrom', 'dateto', 'sk_typzamestnanca', 'sk_priplatokrozvoj', 'sk_priplatokrozvoj_datum', 'sk_karierovy_stupen', 'hlavny_pomer']
51        }
52    });
53    var _1 = AppRprReactUtils_1.AppRprReactUtils.useOnlineDataWithChangeEvents('/skd/?cmd=VzdelavanieUcitelaItem&akcia=getData', { vzdid: props.vzdid, znamky_yearid: selectedYear, znamky_yearid_ns: '1', processid: props.processid }, props, function (data) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
54        return tslib_1.__generator(this, function (_a) {
55            data.origData = data.row || {};
56            return [2, data];
57        });
58    }); }), data = _1[0], reload = _1[1], md = _1[2];
59    var ld = React.useMemo(function () {
60        var _a;
61        var teacherHlavnyPomer = {};
62        var teacherPomery = {};
63        for (var _i = 0, _b = dbi.tableData('teacher_pomery'); _i < _b.length; _i++) {
64            var pr = _b[_i];
65            if (pr.hlavny_pomer) {
66                teacherHlavnyPomer[pr.teacherid] = pr;
67            }
68            if (!teacherPomery[pr.teacherid])
69                teacherPomery[pr.teacherid] = [];
70            teacherPomery[pr.teacherid].push(pr);
71        }
72        if (formDataRef.current === null && dbi && !dbi.mock && !dbi.old && md) {
73            if (md === null || md === void 0 ? void 0 : md.row) {
74                setFormData(md === null || md === void 0 ? void 0 : md.row);
75                if (md === null || md === void 0 ? void 0 : md.vzdid) {
76                    setVzdid(md === null || md === void 0 ? void 0 : md.vzdid);
77                }
78            }
79            else {
80                var tpids = [];
81                var teacherids0 = props.teacherids || [];
82                for (var _c = 0, teacherids0_1 = teacherids0; _c < teacherids0_1.length; _c++) {
83                    var id = teacherids0_1[_c];
84                    var _d = id.split(':'), teacherid0 = _d[0], pomerid0 = _d[1];
85                    if (pomerid0) {
86                        tpids.push(id);
87                        continue;
88                    }
89                    var pomerid = ((_a = teacherHlavnyPomer[teacherid0]) === null || _a === void 0 ? void 0 : _a.pomerid) || null;
90                    if (pomerid) {
91                        tpids.push(teacherid0 + ':' + pomerid);
92                    }
93                }
94                var y = props.year || EdubarUtils.getSelectedSchoolYear();
95                var defData = {
96                    type: props.type || 'aktualizacne',
97                    teacherids: tpids,
98                    year: y,
99                    date: props.type == 'adaptacne' || props.type == 'priplatok' ? null : (new Date()).format('Y-m-d'),
100                    datefrom: props.type == 'adaptacne' || props.type == 'priplatok'
101                        ? (new Date()).format('Y-m-d')
102                        : props.type == 'hodnotenie' || props.type == 'zmluva'
103                            ? (y).toString() + '-09-01'
104                            : null,
105                    dateto: props.type == 'priplatok'
106                        ? getPriplatokDateto((new Date()).format('Y-m-d'))
107                        : props.type == 'hodnotenie'
108                            ? (parseInt(y) + 1).toString() + '-06-30'
109                            : null,
110                };
111                if (props.type == 'zmluva') {
112                    defData["zmluva_type"] = 'zmluva';
113                }
114                setFormData(defData);
115            }
116        }
117        return {
118            teacherHlavnyPomer: teacherHlavnyPomer,
119            teacherPomery: teacherPomery,
120        };
121    }, [md, dbi, vzdid]);
122    var fieldsById = (md === null || md === void 0 ? void 0 : md.fieldsById) || {};
123    var internePotvrdenie = (_c = (_b = (_a = fieldsById === null || fieldsById === void 0 ? void 0 : fieldsById["type"]) === null || _a === void 0 ? void 0 : _a.values) === null || _b === void 0 ? void 0 : _b.find(function (r) { return r.id == (formData === null || formData === void 0 ? void 0 : formData["type"]); })) === null || _c === void 0 ? void 0 : _c.interne;
124    var availableDocs = (0, vzdelavanieucitelov_1.getAvailableDocs)((formData === null || formData === void 0 ? void 0 : formData["type"]) || 'aktualizacne');
125    var tabs = React.useMemo(function () {
126        var tabs = [];
127        tabs.push({
128            id: 'basic',
129            name: ls(3688),
130            fields: (formData === null || formData === void 0 ? void 0 : formData.type) == 'priplatok'
131                ? [
132                    'priplatok',
133                    'description',
134                    'attachments'
135                ]
136                : (formData === null || formData === void 0 ? void 0 : formData.type) == 'hodnotenie'
137                    ? [
138                        'year',
139                        'evaluation_level',
140                        'description',
141                        'date',
142                        'hodnotiaci_pracovnik',
143                        'hodnotiaci_pracovnik_funkcia',
144                        'teacher_visibility',
145                        'attachments'
146                    ]
147                    : (formData === null || formData === void 0 ? void 0 : formData.type) == 'zmluva'
148                        ? [
149                            'date',
150                            'zmluva_doba',
151                            'datefrom',
152                            'dateto',
153                            "cislo",
154                            (formData === null || formData === void 0 ? void 0 : formData.zmluva_type) == 'dodatok' ? 'zmluva_povodne_cislo' : null,
155                            (formData === null || formData === void 0 ? void 0 : formData.zmluva_type) == 'dodatok' ? 'zmluva_povodne_datum' : null,
156                            'attachments'
157                        ].filter(function (r) { return r !== null; })
158                        : [
159                            (formData === null || formData === void 0 ? void 0 : formData.type) == 'hodnotenie' ? null : 'rozsah_hodin',
160                            (formData === null || formData === void 0 ? void 0 : formData.type) == 'adaptacne' ? 'uvadzajuci_zamestnanec' : null,
161                            'date',
162                            'year',
163                            'description',
164                            'attachments'
165                        ].filter(function (r) { return r !== null; })
166        });
167        if ((formData === null || formData === void 0 ? void 0 : formData.type) == 'adaptacne') {
168            tabs.push({
169                id: 'protokol',
170                name: ls(12087),
171                fields: [
172                    'komisia_predseda',
173                    'komisia_clen1',
174                    'komisia_clen2',
175                    'vysledok_vzdelavania',
176                ].filter(function (r) { return r !== null; })
177            });
178        }
179        if ((formData === null || formData === void 0 ? void 0 : formData.type) == 'zmluva') {
180            tabs.push({
181                id: 'zmluva',
182                name: 'Detaily',
183                fields: [
184                    'zmluva_druhprace',
185                    'zmluva_rozsahprace',
186                    'zmluva_skusobnadoba',
187                    'zmluva_miestovykonu',
188                    'zmluva_mzdovepodmienky',
189                    'zmluva_dalsie',
190                    'zmluva_iban',
191                ].filter(function (r) { return r !== null; })
192            });
193        }
194        return tabs;
195    }, [formData, fieldsById]);
196    React.useEffect(function () {
197        $(mainElemRef.current).closest('.ui-dialog').toggleClass('grayTitleDialog noPadding autoCenteredDialog', true).toggleClass('whiteDialog', false);
198        $(mainElemRef.current).closest('.ui-dialog-content').off('dialogbeforeclose').on('dialogbeforeclose', function (e) {
199            if (isChangedRef.current) {
200                e.preventDefault();
201                barShowMessageBox(ls(6579), 'fa-warning', {
202                    buttons: [
203                        { label: ls(8276), cssClass: 'button-red etest-btn-fw-confirm', ind: 3 },
204                        { label: ls(1038), cssClass: 'button-gray etest-btn-fw-confirm', ind: 1 },
205                    ],
206                    buttonClick: function (ind) {
207                        if (ind == 3) {
208                            isChangedRef.current = false;
209                            close();
210                        }
211                    }
212                });
213            }
214        });
215        function handleBeforeUnload() {
216            if (isChangedRef.current) {
217                return ls(6579);
218            }
219        }
220        if (MobileAppBridge.isActive()) {
221            EdupageApp.inst.setViewChangesFunc(function () {
222                return isChangedRef.current;
223            }, function (doneFunc) {
224                save(doneFunc);
225            }, props.viewid);
226        }
227        else {
228            $(window).on('beforeunload', handleBeforeUnload);
229        }
230        return function () {
231            $(window).off('beforeunload', handleBeforeUnload);
232        };
233    }, []);
234    React.useEffect(function () {
235        var title = (formData === null || formData === void 0 ? void 0 : formData.type) == 'priplatok' ? 'Príplatok za rozvoj: ' : (formData === null || formData === void 0 ? void 0 : formData.type) == 'zmluva' ? 'Pracovné zmluvy a dohody: ' : (formData === null || formData === void 0 ? void 0 : formData.type) == 'hodnotenie' ? 'Hodnotenie učiteľov: ' : 'Vzdelávanie učiteľov: ';
236        title += (vzdid ? ls(4334) : ls(1399));
237        $(mainElemRef.current).closest('.ui-dialog-content').dialog('option', 'width', '750');
238        barSetDialogTitle(mainElemRef.current, title + ' ' + (props.titleSuffix || ""));
239    }, [md, formData]);
240    React.useEffect(function () {
241        if (!firstFocusRef.current && $(mainElemRef.current).find('input[type="text"],textarea').length > 0) {
242            $(mainElemRef.current).find('input[type="text"],textarea').first().focus();
243            firstFocusRef.current = true;
244        }
245    }, [data.status]);
246    function save(doneFunc) {
247        var row = $.extend({}, formDataRef.current);
248        var postData = {
249            row: row,
250            vzdid: vzdidRef.current,
251            tableid: 'vzdelavanie_ucitelov',
252            znamky_yearid: selectedYear,
253            znamky_yearid_ns: '1'
254        };
255        setIsSubmitting(true);
256        AscHttp_1.AscHttp.rpc('/skd/?cmd=VzdelavanieUcitelaItem', 'save', postData, function (data) {
257            setIsSubmitting(false);
258            if (data.status == 'ok') {
259                isChangedRef.current = false;
260                if (doneFunc) {
261                    setVzdid(data.data.id);
262                    setTimeout(function () {
263                        doneFunc(data.data.id, data.data.row, data.data.vzdids);
264                    }, 150);
265                }
266                else {
267                    var returnFunc = props.doneFunc ? props.doneFunc : barGetDialogReturnFunc($(mainElemRef.current));
268                    close();
269                    if (returnFunc) {
270                        returnFunc(data.data.id, data.data.row);
271                    }
272                }
273            }
274            else if (data.status == 'fail') {
275                setSaveErrors(data.data.errors);
276            }
277            else {
278                barShowMessageBox(ls(11161));
279            }
280        }, function () {
281            setIsSubmitting(false);
282            barShowMessageBox(ls(10070));
283        });
284    }
285    function deleteItemClick(e) {
286        egovutils_1.EGov.showRemoveItemDialog({
287            tableid: 'vzdelavanie_ucitelov',
288            removeurl: '/skd/?cmd=VzdelavanieUcitelaItem&akcia=remove&znamky_yearid=' + selectedYear + '&znamky_yearid_ns=1',
289            ids: [vzdid],
290            doneFunc: function () {
291                var returnFunc = props.doneFuncMultiEdit ? props.doneFuncMultiEdit : barGetDialogReturnFunc($(mainElemRef.current));
292                close();
293                if (returnFunc) {
294                    returnFunc(data);
295                }
296            }
297        });
298    }
299    function formSubmit(e) {
300        e.preventDefault();
301        if ((md === null || md === void 0 ? void 0 : md.readonly) && (md === null || md === void 0 ? void 0 : md.poznamkyReadonly)) {
302            barCloseDialog($(mainElemRef.current));
303            return;
304        }
305        if (isSubmitting)
306            return;
307        save();
308    }
309    function close() {
310        barCloseDialogOrView($(mainElemRef.current));
311    }
312    function isFieldReadonly(f) {
313        return false;
314    }
315    function handleValueChange(changes, fkrow) {
316        var _a, _b, _c;
317        isChangedRef.current = true;
318        if (((_a = formDataRef.current) === null || _a === void 0 ? void 0 : _a["type"]) != changes["type"]) {
319            setSelectedTab('basic');
320        }
321        if (changes["datefrom"] && ((_b = formDataRef.current) === null || _b === void 0 ? void 0 : _b["type"]) == 'priplatok'
322            && ((_c = formDataRef.current) === null || _c === void 0 ? void 0 : _c["datefrom"]) != changes["datefrom"]) {
323            var d7 = getPriplatokDateto(changes["datefrom"]);
324            changes["dateto"] = d7;
325        }
326        setFormData(changes);
327    }
328    function showDecisionClick(e) {
329        var itemid = $(e.currentTarget).attr('data-itemid');
330        barNewDialog({
331            source: '/egov/?cmd=EgovItem',
332            postData: {
333                tableid: 'egov_rs_item',
334                itemid: itemid,
335            },
336            returnFunc: function () {
337                reload();
338            }
339        });
340    }
341    function printReport0(vzdids, type) {
342        var _a;
343        var tag = formDataRef.current["type"] == 'zmluva' ? 'zmluva_type:' + ((_a = formDataRef.current) === null || _a === void 0 ? void 0 : _a.zmluva_type) : (formDataRef.current["type"] || 'aktualizacne');
344        barNewDialog({
345            source: '/reports/?cmd=SelectReport',
346            postData: {
347                module: 'vzdelavanieucitelov' + (type != 'potvrdenie' ? '_' + type : ''),
348                znamky_yearid: selectedYear,
349                znamky_yearid_ns: '1',
350                reportData: JSON.stringify({
351                    tag: tag || 'aktualizacne',
352                    selection: {
353                        vzdids: vzdids,
354                    }
355                })
356            },
357            dialogData: {},
358            returnFunc: function () {
359                reload();
360            }
361        });
362    }
363    function printReport(type) {
364        if (!vzdid) {
365            barShowMessageBox('Aby bolo možné vygenerovať dokument, je potrebné najskôr záznam uložiť. Chete tak urobiť teraz?', 'fa-question', {
366                okLbl: 'Uložiť',
367                confirm: function () {
368                    save(function (id, row, vzdids) {
369                        close();
370                        printReport0(vzdids, type);
371                    });
372                }
373            });
374        }
375        else {
376            save(function (id, row, vzdids) {
377                printReport0([vzdid], type);
378            });
379        }
380    }
381    function createPotvrdenieClick(e) {
382        var _a;
383        var id = $(e.currentTarget).attr('data-id');
384        var forceUpload = $(e.currentTarget).attr('data-forceUpload') == '1';
385        var internePotvrdenie = (_a = availableDocs.find(function (d) { return d.id == id; })) === null || _a === void 0 ? void 0 : _a.interne;
386        if (internePotvrdenie && !forceUpload) {
387            printReport(id);
388        }
389        else {
390            if (!vzdid) {
391                barShowMessageBox('Aby bolo možné pripojiť dokument, je potrebné najskôr záznam uložiť. Chete tak urobiť teraz?', 'fa-question', {
392                    okLbl: 'Uložiť',
393                    confirm: function () {
394                        save(function (id, row, vzdids) {
395                            close();
396                            egovutils_1.EGov.showGeneralItemEditor({
397                                tableid: 'egov_rs_item',
398                                uploadAttachmentOnStart: true,
399                                itemData: {
400                                    ineid: 'vzduc:' + id + '::' + (formData["year"] || selectedYear) + '::Base::vzdelavanieucitelov::' + vzdids[0],
401                                }
402                            });
403                        });
404                    }
405                });
406            }
407            else {
408                egovutils_1.EGov.showGeneralItemEditor({
409                    tableid: 'egov_rs_item',
410                    uploadAttachmentOnStart: true,
411                    itemData: {
412                        ineid: 'vzduc:' + id + '::' + (formData["year"] || selectedYear) + '::Base::vzdelavanieucitelov::' + vzdid,
413                    }
414                });
415            }
416        }
417    }
418    function handleAttClick(e) {
419        var _a, _b, _c, _d, _e, _f;
420        var vzdid = $(e.currentTarget).attr('data-vzdid');
421        var ind = $(e.currentTarget).attr('data-ind');
422        var docid = $(e.currentTarget).attr('data-docid');
423        var r0 = (_a = md === null || md === void 0 ? void 0 : md.rowsById) === null || _a === void 0 ? void 0 : _a[vzdid];
424        var r = (_b = r0 === null || r0 === void 0 ? void 0 : r0[docid + "_egov_attachments"]) === null || _b === void 0 ? void 0 : _b[ind];
425        if (!r)
426            return;
427        if (((_c = r.name) === null || _c === void 0 ? void 0 : _c.endsWith('.asice')) || ((_d = r.name) === null || _d === void 0 ? void 0 : _d.endsWith('.asics')) || ((_e = r.name) === null || _e === void 0 ? void 0 : _e.endsWith('.scs')) || ((_f = r.name) === null || _f === void 0 ? void 0 : _f.endsWith('.sce'))) {
428            e.preventDefault();
429            barNewReactDlg(React.createElement(egovasiceviewer_1.EGovAsiceViewer, { src: egovutils_1.EGov.getAttachementUrl(r), cloudid: r.clouid, fileName: r.name, itemid: r0[docid + "_egov_itemid"], attachmentid: ind }));
430            return;
431        }
432    }
433    function zobrazProcessClick(e) {
434        var _a;
435        var processid = (_a = md === null || md === void 0 ? void 0 : md.row) === null || _a === void 0 ? void 0 : _a.processid;
436        if (!processid)
437            return;
438        barStartLoading();
439        $.post('/skd/?cmd=VzdelavanieUcitelaItem', { akcia: 'openProcess', processid: processid, year: selectedYear, itemid: md === null || md === void 0 ? void 0 : md.itemid, tableid: md === null || md === void 0 ? void 0 : md.tableid }, function () {
440        }, 'script').always(function () {
441            barEndLoading();
442        });
443    }
444    function rejectProcessClick(e) {
445        var _a;
446        var processid = (_a = md === null || md === void 0 ? void 0 : md.row) === null || _a === void 0 ? void 0 : _a.processid;
447        if (!processid)
448            return;
449        barShowPromptBox({
450            title: 'Zadajte dôvod zamietnutia:',
451            inputType: "textarea",
452            confirm: function (dovod) {
453                var postData = {
454                    processids: [processid],
455                    dovod: dovod
456                };
457                setIsSubmitting(true);
458                AscHttp_1.AscHttp.rpc('/skd/?cmd=VzdelavanieUcitelaItem', 'rejectProcess', postData, function (data) {
459                    setIsSubmitting(false);
460                    if (data.status == 'ok') {
461                        isChangedRef.current = false;
462                        var returnFunc = props.doneFunc ? props.doneFunc : barGetDialogReturnFunc($(mainElemRef.current));
463                        close();
464                        if (returnFunc) {
465                            returnFunc();
466                        }
467                    }
468                    else {
469                        barShowMessageBox(ls(11161));
470                    }
471                }, function () {
472                    setIsSubmitting(false);
473                    barShowMessageBox(ls(10070));
474                });
475            }
476        });
477    }
478    function handlePomeridChange(changes) {
479        var _a;
480        if (vzdid) {
481            setFormData(tslib_1.__assign(tslib_1.__assign({}, formDataRef.current), { pomerid: changes["pomerid"] }));
482            return;
483        }
484        var teacherid = formDataRef.current.teacherids[0].split(':')[0];
485        var pomerid = changes["pomerid"] || ((_a = md.teacherHlavnyPomer[teacherid]) === null || _a === void 0 ? void 0 : _a.pomerid);
486        setFormData(tslib_1.__assign(tslib_1.__assign({}, formDataRef.current), { teacherids: [teacherid + ':' + pomerid] }));
487    }
488    function buildHodnotenieAttachmentName(teacherRow, hodnotenieDate) {
489        var teacherName = ((teacherRow === null || teacherRow === void 0 ? void 0 : teacherRow.__name) || "".concat((teacherRow === null || teacherRow === void 0 ? void 0 : teacherRow.firstname) || '', " ").concat((teacherRow === null || teacherRow === void 0 ? void 0 : teacherRow.lastname) || '').trim() || 'Učiteľ').trim();
490        var dateStr = hodnotenieDate ? Date.fromDbString(hodnotenieDate).format('d.m.Y') : '';
491        return dateStr ? "Hodnotenie - ".concat(teacherName, " - ").concat(dateStr, ".pdf") : "Hodnotenie - ".concat(teacherName, ".pdf");
492    }
493    var ur = null;
494    if (formData === null || formData === void 0 ? void 0 : formData["teacherid"]) {
495        ur = dbi === null || dbi === void 0 ? void 0 : dbi.rowData("teachers", formData["teacherid"]);
496    }
497    var tabFields = [];
498    for (var _i = 0, tabs_1 = tabs; _i < tabs_1.length; _i++) {
499        var t = tabs_1[_i];
500        if (t.id == selectedTab) {
501            tabFields = t.fields;
502        }
503    }
504    var singleTeacherid = vzdid ? formData === null || formData === void 0 ? void 0 : formData["teacherid"] : (((_d = formData === null || formData === void 0 ? void 0 : formData.teacherids) === null || _d === void 0 ? void 0 : _d.length) == 1 ? (_g = (_f = (_e = formData === null || formData === void 0 ? void 0 : formData.teacherids) === null || _e === void 0 ? void 0 : _e[0]) === null || _f === void 0 ? void 0 : _f.toString()) === null || _g === void 0 ? void 0 : _g.split(':')[0] : null);
505    var singlePomerid = singleTeacherid
506        ? (vzdid ? formData === null || formData === void 0 ? void 0 : formData["pomerid"] : (((_h = formData === null || formData === void 0 ? void 0 : formData.teacherids) === null || _h === void 0 ? void 0 : _h[0].split(':')[1]) || ((_k = (_j = ld === null || ld === void 0 ? void 0 : ld.teacherHlavnyPomer) === null || _j === void 0 ? void 0 : _j[singleTeacherid]) === null || _k === void 0 ? void 0 : _k.pomerid)))
507        : null;
508    var ud = singleTeacherid && singlePomerid ? dbi === null || dbi === void 0 ? void 0 : dbi.rowData("teachers", singleTeacherid) : null;
509    var hodnotenieUcitelaAttachment = ((formData === null || formData === void 0 ? void 0 : formData.attachments) || []).find(function (a) { return (a === null || a === void 0 ? void 0 : a.type) === 'hodnotenie_ucitela'; });
510    var _2 = React.useState(null), existingHodnotenieReportCloudid = _2[0], setExistingHodnotenieReportCloudid = _2[1];
511    React.useEffect(function () {
512        if ((formData === null || formData === void 0 ? void 0 : formData.type) !== 'hodnotenie' || hodnotenieUcitelaAttachment || !singleTeacherid) {
513            setExistingHodnotenieReportCloudid(null);
514            return;
515        }
516        var cancelled = false;
517        (0, hodnotenieUcitelaPrint_1.getExistingHodnotenieReportCloudid)(singleTeacherid)
518            .then(function (_a) {
519            var cloudid = _a.cloudid, datum = _a.datum;
520            if (!cancelled && cloudid) {
521                setExistingHodnotenieReportCloudid({ cloudid: cloudid, datum: datum });
522            }
523        })
524            .catch(function () {
525            if (!cancelled) {
526                setExistingHodnotenieReportCloudid(null);
527            }
528        });
529        return function () {
530            cancelled = true;
531        };
532    }, [formData === null || formData === void 0 ? void 0 : formData.type, singleTeacherid, hodnotenieUcitelaAttachment]);
533    function attachHodnotenieReport(cloudid, datum) {
534        var _a;
535        var trimmedCloudid = (cloudid || '').trim();
536        if (!trimmedCloudid) {
537            throw new Error('Report hodnotenia nemá cloudid.');
538        }
539        var attachments = ((_a = formDataRef.current) === null || _a === void 0 ? void 0 : _a.attachments) || [];
540        var attName = buildHodnotenieAttachmentName(ud, datum);
541        var otherAttachments = attachments.filter(function (a) { return (a === null || a === void 0 ? void 0 : a.type) !== 'hodnotenie_ucitela'; });
542        handleValueChange(tslib_1.__assign(tslib_1.__assign({}, formDataRef.current), { attachments: tslib_1.__spreadArray(tslib_1.__spreadArray([], otherAttachments, true), [{ name: attName, cloudid: trimmedCloudid, type: 'hodnotenie_ucitela' }], false) }), null);
543    }
544    function addHodnotenieAttachmentClick(forceRegenerate) {
545        if (forceRegenerate === void 0) { forceRegenerate = false; }
546        if ((md === null || md === void 0 ? void 0 : md.readonly) || isAddingHodnotenieAttachment) {
547            return;
548        }
549        if (!singleTeacherid) {
550            barShowMessageBox('Vyberte jedného učiteľa.', 'fa-info');
551            return;
552        }
553        setIsAddingHodnotenieAttachment(true);
554        barStartLoading();
555        var attachPromise = existingHodnotenieReportCloudid
556            ? Promise.resolve(existingHodnotenieReportCloudid)
557            : (0, hodnotenieUcitelaPrint_1.getHodnotenieReportCloudid)(singleTeacherid, forceRegenerate);
558        attachPromise
559            .then(function (_a) {
560            var cloudid = _a.cloudid, datum = _a.datum;
561            return attachHodnotenieReport(cloudid, datum);
562        })
563            .catch(function (err) {
564            var msg = (err === null || err === void 0 ? void 0 : err.message) || 'Nepodarilo sa pridať prílohu z hodnotenia.';
565            if (msg !== 'Generovanie reportu bolo zrušené.') {
566                barShowMessageBox(msg, 'fa-info');
567            }
568        })
569            .finally(function () {
570            setIsAddingHodnotenieAttachment(false);
571            barEndLoading();
572        });
573    }
574    return (React.createElement("div", { ref: mainElemRef },
575        React.createElement(ViewLoadingContainer_1.OnlineDataStatusContainer, { data: data, dbi: dbi }, (md === null || md === void 0 ? void 0 : md.insufficient_privileges)
576            ? (React.createElement("div", { style: { padding: '12px', textAlign: 'center' } },
577                React.createElement("div", { style: { fontSize: '64px', opacity: 0.3 } },
578                    React.createElement("i", { className: "fa fa-fw fa-lock" })),
579                React.createElement("div", { style: { margin: '16px 0' } }, ls(200151)),
580                React.createElement("div", null,
581                    React.createElement("input", { type: "button", value: ls(1038), className: "button-gray", onClick: close }))))
582            : (React.createElement("form", { className: "egov-dlg-form", onSubmit: formSubmit },
583                React.createElement("div", { className: "egov-dlg-content-overflow " },
584                    saveErrors && saveErrors.length > 0 && (React.createElement("div", { className: "egov-save-errors" },
585                        ls(200143),
586                        ":",
587                        React.createElement("ul", { className: "circles" }, saveErrors.map(function (e, ind) {
588                            return (React.createElement("li", { key: ind }, e.text));
589                        })))),
590                    (md === null || md === void 0 ? void 0 : md.readonly) && !(md === null || md === void 0 ? void 0 : md.historyData) && (React.createElement("div", { className: "egov-item-readonly-msg" },
591                        props.tableid == 'egov_rs_addressee' && formData["edupage_userid"] && !(md === null || md === void 0 ? void 0 : md.poznamkyReadonly)
592                            ? ls(11254)
593                            : ls(11255),
594                        (md === null || md === void 0 ? void 0 : md.readonlyReason) && (React.createElement("div", null, md === null || md === void 0 ? void 0 : md.readonlyReason)))),
595                    React.createElement("div", { className: "egov-item-header" },
596                        React.createElement("div", { className: "egov-item-split-row" }, vzdid
597                            ? (React.createElement("div", { className: "" },
598                                React.createElement("div", null, ls(1300)),
599                                React.createElement("div", null,
600                                    React.createElement("b", { style: { fontSize: '1.5em' } }, EdubarUtils.getUserRowName(ur)))))
601                            : (React.createElement("div", { className: "" },
602                                React.createElement("div", null,
603                                    React.createElement(TeachersSelector, { dbi: dbi, field: {
604                                            id: 'teacherids',
605                                        }, year: selectedYear, formData: formData, origData: md === null || md === void 0 ? void 0 : md.origData, onChange: handleValueChange, readonly: isFieldReadonly('teacherid') }))))),
606                        (formData === null || formData === void 0 ? void 0 : formData["type"]) == 'hodnotenie' || (formData === null || formData === void 0 ? void 0 : formData["type"]) == 'priplatok'
607                            ? null
608                            : (formData === null || formData === void 0 ? void 0 : formData["type"]) == 'zmluva'
609                                ? (React.createElement("div", { className: "egov-item-split-row", style: { marginTop: '12px' } },
610                                    React.createElement("div", null,
611                                        "Typ:",
612                                        React.createElement(egovfieldeditors_1.EGovFieldEditor, { field: fieldsById['zmluva_type'], values: (_l = fieldsById['zmluva_type']) === null || _l === void 0 ? void 0 : _l.values, formData: formData, origData: md === null || md === void 0 ? void 0 : md.origData, onChange: handleValueChange, tableid: "vzdelavanie_ucitelov", itemid: vzdid, readonly: isFieldReadonly('zmluva_type'), moreOpts: { noAddReport: true } })),
613                                    React.createElement("div", { className: "egov-split-row-colflex" },
614                                        'Názov',
615                                        ":",
616                                        React.createElement(egovfieldeditors_1.EGovFieldEditor, { field: fieldsById['name'], formData: formData, origData: md === null || md === void 0 ? void 0 : md.origData, onChange: handleValueChange, tableid: "vzdelavanie_ucitelov", itemid: vzdid, readonly: isFieldReadonly('name'), moreOpts: { noAddReport: true }, placeholderFunc: function () { return 'Nechajte prázdne, alebo zadajte názov / popis zmluvy'; } }))))
617                                : (React.createElement("div", { className: "egov-item-split-row-2-1", style: { marginTop: '12px' } },
618                                    React.createElement("div", { className: "egov-split-row-colflex" },
619                                        (formData === null || formData === void 0 ? void 0 : formData.type) == 'adaptacne' ? 'Názov programu adaptačného vzdelávania' : 'Názov',
620                                        ":",
621                                        React.createElement(egovfieldeditors_1.EGovFieldEditor, { field: fieldsById['name'], formData: formData, origData: md === null || md === void 0 ? void 0 : md.origData, onChange: handleValueChange, tableid: "vzdelavanie_ucitelov", itemid: vzdid, readonly: isFieldReadonly('name'), moreOpts: { noAddReport: true }, placeholderFunc: function () { return (formData === null || formData === void 0 ? void 0 : formData["type"]) == 'hodnotenie' ? 'Nechajte prázdne, alebo zadajte názov hodnotenia' : ''; } })),
622                                    React.createElement("div", null,
623                                        "Typ:",
624                                        React.createElement(egovfieldeditors_1.EGovFieldEditor, { field: fieldsById['type'], values: (_o = (_m = fieldsById['type']) === null || _m === void 0 ? void 0 : _m.values) === null || _o === void 0 ? void 0 : _o.filter(function (r) { return r.id != 'hodnotenie' && r.id != 'zmluva'; }), formData: formData, origData: md === null || md === void 0 ? void 0 : md.origData, onChange: handleValueChange, tableid: "vzdelavanie_ucitelov", itemid: vzdid, readonly: isFieldReadonly('type'), moreOpts: { noAddReport: true } }))))),
625                    tabs.length > 1 && (React.createElement("div", { className: "egov-item-tabs" },
626                        React.createElement(AppTabs_1.AppTabs, { tabs: tabs, selectedTab: selectedTab, onChangeTab: function (val) { return setSelectedTab(val); }, className: "light" }))),
627                    React.createElement("div", { className: "egov-item-tab", style: { minHeight: '475px' } },
628                        selectedTab == 'basic' && (singleTeacherid && ((_p = ld.teacherPomery[singleTeacherid]) === null || _p === void 0 ? void 0 : _p.length) > 0) && (React.createElement("div", { className: "egov-form-row" },
629                            React.createElement("div", null,
630                                dbi.rowName("teachers", singleTeacherid),
631                                " - pracovn\u00FD pomer:"),
632                            React.createElement("div", { className: "withField" },
633                                React.createElement(egovfieldeditors_1.EGovFieldEditor, { field: { id: 'pomerid', name: 'Prac. pomer', type: 'enum', noEmptyOption: true, values: ((_q = ld.teacherPomery[singleTeacherid]) === null || _q === void 0 ? void 0 : _q.map(function (r) { return { id: r.pomerid, name: r.suffix || "Hlavný" }; })) || [] }, formData: { pomerid: singlePomerid }, origData: md === null || md === void 0 ? void 0 : md.origData, onChange: handlePomeridChange, tableid: "DBVzdelavanieUcitelov", itemid: vzdid, readonly: isFieldReadonly("any"), moreOpts: { noAddReport: true } })))),
634                        tabFields.map(function (fid, ind) {
635                            var _a, _b, _c, _d, _e, _f, _g, _h;
636                            if (typeof fid != 'string' && fid.type == 'separator') {
637                                return (React.createElement("div", { className: "egov-form-separator", key: 'sep' + ind }, fid.text));
638                            }
639                            var f = md === null || md === void 0 ? void 0 : md.fieldsById[fid];
640                            if (!f)
641                                return;
642                            if (!f.editable)
643                                return;
644                            return (React.createElement(React.Fragment, { key: f.id },
645                                f.id == 'attachments' && (React.createElement(React.Fragment, null,
646                                    (formData === null || formData === void 0 ? void 0 : formData.type) == 'hodnotenie' && (React.createElement("div", { className: "egov-form-row" },
647                                        React.createElement("div", null, "Pr\u00EDloha z hodnotenia:"),
648                                        React.createElement("div", { className: "withField" },
649                                            React.createElement("div", { style: { display: 'flex', flexFlow: 'row nowrap' } }, hodnotenieUcitelaAttachment ? (React.createElement(React.Fragment, null,
650                                                React.createElement("a", tslib_1.__assign({ className: "app-link-button 
650normalCase normalWeight" }, AppReactUtils_1.AppReactUtils.addClickHandler(function () { return (0, hodnotenieUcitelaUtils_1.navigateToTeacher)(singleTeacherid); }), { "data-id": singleTeacherid }), hodnotenieUcitelaAttachment.name || 'Hodnotenie.pdf'),
651                                                React.createElement("a", { className: "app-link-button normalCase normalWeight", target: "_blank", href: egovutils_1.EGov.getAttachementUrl(hodnotenieUcitelaAttachment, false), style: { color: '#F44336' }, title: "Zobrazi\u0165 s\u00FAbor" },
652                                                    React.createElement("i", { className: "fa fa-fw fa-file-pdf-o" })),
653                                                !(md === null || md === void 0 ? void 0 : md.readonly) && (React.createElement("a", tslib_1.__assign({ className: "app-link-button" }, AppReactUtils_1.AppReactUtils.addClickHandler(function () { return addHodnotenieAttachmentClick(true); }), { title: "Vygenerova\u0165 znovu" }),
654                                                    React.createElement("i", { className: "fa fa-fw fa-refresh" }))))) : !(md === null || md === void 0 ? void 0 : md.readonly) ? (React.createElement("a", tslib_1.__assign({ className: "app-link-button" }, AppReactUtils_1.AppReactUtils.addClickHandler(addHodnotenieAttachmentClick), { style: {
655                                                    color: existingHodnotenieReportCloudid ? '#0091EA' : '#FF7043',
656                                                    opacity: isAddingHodnotenieAttachment ? 0.5 : 1,
657                                                    pointerEvents: isAddingHodnotenieAttachment ? 'none' : undefined,
658                                                } }), isAddingHodnotenieAttachment
659                                                ? ls(11098)
660                                                : existingHodnotenieReportCloudid
661                                                    ? 'Pripojiť'
662                                                    : 'Vygenerovať')) : (React.createElement("span", { className: "egov-subtitle" }, "-")))))),
663                                    availableDocs.map(function (d) {
664                                        var _a, _b, _c, _d, _e;
665                                        return (React.createElement("div", { className: "egov-form-row " },
666                                            React.createElement("div", null,
667                                                d.name,
668                                                ":"),
669                                            React.createElement("div", { className: "withField" },
670                                                React.createElement("div", { style: { display: 'flex', flexFlow: 'row nowrap' } }, ((_a = md === null || md === void 0 ? void 0 : md.origData) === null || _a === void 0 ? void 0 : _a[d.id + "_egov_itemid"])
671                                                    ? (React.createElement(React.Fragment, null,
672                                                        React.createElement("a", tslib_1.__assign({ className: "app-link-button normalCase normalWeight", "data-itemid": (_b = md === null || md === void 0 ? void 0 : md.origData) === null || _b === void 0 ? void 0 : _b[d.id + "_egov_itemid"] }, AppReactUtils_1.AppReactUtils.addClickHandler(showDecisionClick)), (_c = md === null || md === void 0 ? void 0 : md.origData) === null || _c === void 0 ? void 0 : _c[d.id + "_egov_number"]), (_e = (_d = md === null || md === void 0 ? void 0 : md.origData) === null || _d === void 0 ? void 0 : _d[d.id + "_egov_attachments"]) === null || _e === void 0 ? void 0 :
673                                                        _e.map(function (a, ind) {
674                                                            return (React.createElement("a", { className: "app-link-button normalCase normalWeight", target: "_blank", onClick: handleAttClick, style: { color: '#F44336' }, "data-vzdid": props.vzdid, "data-ind": ind, "data-docid": d.id, href: egovutils_1.EGov.getAttachementUrl(a, false), tabIndex: 0, onKeyDown: AppReactUtils_1.AppReactUtils.
674keyPressAsClick(handleAttClick), title: "Zobrazi\u0165 s\u00FAbor" },
675                                                                React.createElement("i", { className: "fa fa-fw fa-file-pdf-o" })));
676                                                        }),
677                                                        d.interne && (React.createElement("a", tslib_1.__assign({ className: "app-link-button " }, AppReactUtils_1.AppReactUtils.addClickHandler(createPotvrdenieClick), { "data-id": d.id, title: 'Vygenerova\u0165 znovu' }),
678                                                            React.createElement("i", { className: 'fa fa-fw fa-refresh' })))))
679                                                    : (React.createElement(React.Fragment, null,
680                                                        React.createElement("a", tslib_1.__assign({ className: "app-link-button " }, AppReactUtils_1.AppReactUtils.addClickHandler(createPotvrdenieClick), { style: { color: d.interne ? "#FF7043" : 'inherit' }, "data-id": d.id }), d.interne ? 'Vygenerovať' : 'Nahrať'),
681                                                        (formData === null || formData === void 0 ? void 0 : formData.type) == 'zmluva' && d.id == 'zmluva' && (React.createElement("a", tslib_1.__assign({ className: "app-link-button " }, AppReactUtils_1.AppReactUtils.addClickHandler(createPotvrdenieClick), { style: { color: 'inherit' }, "data-id": d.id, "data-forceUpload": "1" }), 'Nahrať'))))))));
682                                    }))),
683                                f.id == 'attachments' && ((formData === null || formData === void 0 ? void 0 : formData.type) == 'zmluva') ? null
684                                    : (React.createElement("div", { className: "egov-form-row", key: f.id },
685                                        React.createElement("div", null,
686                                            f["name_" + (formData === null || formData === void 0 ? void 0 : formData.type)] || f.name,
687                                            ":"),
688                                        React.createElement("div", { className: "withField" },
689                                            f.id == 'attachments' && ((_a = md === null || md === void 0 ? void 0 : md.row) === null || _a === void 0 ? void 0 : _a.processid) && (React.createElement("a", { className: "app-link-button normalCase normalWeight", onClick: zobrazProcessClick },
690                                                React.createElement("i", { className: "fa fa-fw fa-file-o" }),
691                                                " ",
692                                                ls(7583))),
693                                            React.createElement(egovfieldeditors_1.EGovFieldEditor, { field: f, formData: formData, origData: md === null || md === void 0 ? void 0 : md.origData, onChange: handleValueChange, tableid: "vzdelavanie_ucitelov", itemid: vzdid, readonly: isFieldReadonly(f.id), moreOpts: { noAddReport: true, allowSignSingle: false, allowSignAll: false }, placeholderFunc: (f.id == 'cislo'
694                                                    ? function () { return 'automaticky' + ((formData === null || formData === void 0 ? void 0 : formData["potvrdenie_egov_number"]) ? ': ' + (formData === null || formData === void 0 ? void 0 : formData["potvrdenie_egov_number"]) : ''); }
695                                                    : f.id == 'description' && (formData === null || formData === void 0 ? void 0 : formData['type']) == 'priplatok'
696                                                        ? function () { return 'napr. Inovačné vzdelávanie: Škola hrou'; }
697                                                        : null), getFieldNoteText: (f.id == 'cislo'
698                                                    ? function () { return 'nechajte toto pole prázdne pre automatické číslovanie podľa eGovernment modulu' + ((formData === null || formData === void 0 ? void 0 : formData["potvrdenie_egov_number"]) ? ': ' + (formData === null || formData === void 0 ? void 0 : formData["potvrdenie_egov_number"]) : ''); }
699                                                    : null) }),
700                                            f.id == 'description' && (React.createElement("div", { className: "egov-item-split-row", style: { marginTop: '12px' } }, ['datefrom', 'dateto'].map(function (fid) {
701                                                var f = fieldsById[fid];
702                                                return (React.createElement("div", { key: fid },
703                                                    f["name_" + (formData === null || formData === void 0 ? void 0 : formData.type)] || f.name,
704                                                    ":",
705                                                    React.createElement(egovfieldeditors_1.EGovFieldEditor, { field: f, formData: formData, origData: md === null || md === void 0 ? void 0 : md.origData, onChange: handleValueChange, tableid: "vzdelavanie_ucitelov", itemid: vzdid, readonly: isFieldReadonly(fid), moreOpts: { noAddReport: true } })));
706                                            }))),
707                                            f.id == "evaluation_level" && (React.createElement("div", { style: { textAlign: 'right', fontSize: '0.95em', paddingRight: '9px' } },
708                                                React.createElement("a", tslib_1.__assign({ className: 'app-link-button 
708normalCase normalWeight smallPadding ' }, AppReactUtils_1.AppReactUtils.addClickHandler(function () { return (0, hodnotenieUcitelaUtils_1.navigateToTeacher)(singleTeacherid); }), { "data-id": singleTeacherid ? singleTeacherid : null, style: { padding: '4px', textAlign: 'left' } }), ((_b = ud === null || ud === void 0 ? void 0 : ud["suggested_evaluation"]) === null || _b === void 0 ? void 0 : _b.evaluation_level) && ((_c = ud === null || ud === void 0 ? void 0 : ud["suggested_evaluation"]) === null || _c === void 0 ? void 0 : _c.date)
709                                                    ? React.createElement(React.Fragment, null,
710                                                        "(hodnotenie z ",
711                                                        Date.fromDbString((_d = ud === null || ud === void 0 ? void 0 : ud["suggested_evaluation"]) === null || _d === void 0 ? void 0 : _d.date).format('d.m.Y'),
712                                                        ': ',
713                                                        ((_g = (_f = (_e = md === null || md === void 0 ? void 0 : md.fieldsById["evaluation_level"]) === null || _e === void 0 ? void 0 : _e.values) === null || _f === void 0 ? void 0 : _f.find(function (r) { var _a; return r.id == ((_a = ud === null || ud === void 0 ? void 0 : ud["suggested_evaluation"]) === null || _a === void 0 ? void 0 : _a.evaluation_level); })) === null || _g === void 0 ? void 0 : _g.name) || ((_h = ud === null || ud === void 0 ? void 0 : ud["suggested_evaluation"]) === null || _h === void 0 ? void 0 : _h.evaluation_level),
714                                                        ")")
715                                                    : 'Zatiaľ nehodnotený'))),
716                                            f.id == 'attachments' && (React.createElement("div", { className: 'egov-subtitle small', style: { marginLeft: '8px' } }, (formData === null || formData === void 0 ? void 0 : formData["type"]) == 'adaptacne'
717                                                ? 'napr. záverečná správa uvádzajúceho pedagogického alebo odborného zamestnanca; vzdelávací program adaptačného vzdelávania'
718                                                : '')))))));
719                        }))),
720                React.createElement("div", { className: "barDialogActionButtons", style: { padding: '12px' } },
721                    !(md === null || md === void 0 ? void 0 : md.readonly) && (md === null || md === void 0 ? void 0 : md.vzdid) && (React.createElement("div", { style: { float: 'left' } },
722                        React.createElement("input", { type: "button", value: ls(1528), onClick: deleteItemClick, className: "button-red" }))),
723                    (md === null || md === void 0 ? void 0 : md.readonly)
724                        ? null
725                        : !(md === null || md === void 0 ? void 0 : md.vzdid) && ((_r = md === null || md === void 0 ? void 0 : md.row) === null || _r === void 0 ? void 0 : _r.processid)
726                            ? React.createElement(React.Fragment, null,
727                                ((_s = md === null || md === void 0 ? void 0 : md.row) === null || _s === void 0 ? void 0 : _s.processStatus) != '2' && ((_t = md === null || md === void 0 ? void 0 : md.row) === null || _t === void 0 ? void 0 : _t.processStatus) != '3'
728                                    ? React.createElement("div", { style: { float: 'left' } },
729                                        React.createElement("input", { type: "button", value: "Zamietnuť žiadosť", className: "button-red", onClick: rejectProcessClick }))
730                                    : null,
731                                React.createElement("input", { type: "submit", value: isSubmitting ? ls(11098) + '...' : ((_u = md === null || md === void 0 ? void 0 : md.row) === null || _u === void 0 ? void 0 : _u.processStatus) != '2' ? 'Uložiť príplatok a akceptovať žiadosť' : ls(1529), className: "button-green" }))
732                            : (React.createElement("input", { type: "submit", value: isSubmitting ? ls(11098) + '...' : ls(1529), className: "button-green" })),
733                    React.createElement("input", { type: "button", value: ls(1038), className: "button-gray", onClick: close })))))));
734}
735exports.VzdelavanieUcitelaItemDlg = VzdelavanieUcitelaItemDlg;
736function TeachersSelector(props) {
737    var mainElemRef = React.useRef(null);
738    var formDataRef = React.useRef(null);
739    var f = props.field;
740    formDataRef.current = props.formData || {};
741    var formData = props.formData || {};
742    var dbi = props.dbi;
743    var teacherids = formData[f.id] || [];
744    function itemsChange(val, name) {
745        var nf = tslib_1.__assign({}, formDataRef.current);
746        nf[props.field.id] = val;
747        props.onChange(nf);
748    }
749    return (React.createElement("div", { ref: mainElemRef, className: "student-selector-field" },
750        React.createElement(egovfieldeditors_1.DbiItemsSelector, { name: f.id, value: teacherids, onChange: itemsChange, readOnly: props.readonly, year: props.year, dbi: dbi, tableid: "teacher_pomery" })));
751}
752exports.TeachersSelector = TeachersSelector;
753function TeachersSelectorOld(props) {
754    var mainElemRef = React.useRef(null);
755    var formDataRef = React.useRef(null);
756    var f = props.field;
757    formDataRef.current = props.formData || {};
758    var formData = props.formData || {};
759    var dbi = props.dbi;
760    var teacherids = formData[f.id] || [];
761    function removeUserClick(e) {
762        var _a;
763        var id = $(e.currentTarget).attr('data-id');
764        var nteacherids = (_a = formDataRef.current[f.id]) === null || _a === void 0 ? void 0 : _a.filter(function (id0) { return id != id0; });
765        var nf = tslib_1.__assign({}, formDataRef.current);
766        nf[props.field.id] = nteacherids;
767        props.onChange(nf);
768    }
769    function showAddDialog() {
770        Signin.openPossibilitiesSelector({
771            title: 'Vyberte učiteľov',
772            items: dbi.tableData('teachers').map(function (r) { return { id: r.id, name: EdubarUtils.getUserRowName(r) }; }),
773            selectedids: teacherids,
774            ajSubtitle: false,
775            multiple: true,
776            returnFunc: function (itemids) {
777                var nf = tslib_1.__assign({}, formDataRef.current);
778                nf[props.field.id] = itemids;
779                props.onChange(nf);
780            }
781        });
782    }
783    return (React.createElement("div", { ref: mainElemRef, className: "student-selector-field" },
784        React.createElement("div", { className: "rss-students-list-outer" },
785            React.createElement("div", null,
786                "Vybran\u00ED \u00FA\u010Ditelia: ",
787                teacherids.length),
788            React.createElement("div", { className: "rss-students-list" }, teacherids.map(function (id) {
789                var ur = dbi.rowData('teachers', id);
790                return (React.createElement("div", { className: "rss-students-item", "data-id": id, key: id },
791                    EdubarUtils.getUserRowName(ur),
792                    props.readonly ? null : (React.createElement("a", { className: "removeStudentBtn removeBtn", "data-id": id, onClick: removeUserClick },
793                        React.createElement("i", { className: "fa fa-fw fa-trash-o" })))));
794            }))),
795        props.readonly ? null : (React.createElement("div", { className: "rss-footer" },
796            React.createElement("input", { type: "button", className: "button-blue addStudentsBtn", value: 'Vybrať učiteľov', onClick: showAddDialog })))));
797}
798exports.TeachersSelectorOld = TeachersSelectorOld;
799function getPriplatokDateto(datefrom) {
800    if (!datefrom)
801        return '';
802    var df = Date.fromDbString(datefrom);
803    var d7 = Date.fromDbString((df.format('Y') * 1 + 7) + '-' + df.format('m-d')).ascAddTime(-24 * 3600 * 1000).format('Y-m-d');
804    return d7;
805}
806exports.getPriplatokDateto = getPriplatokDateto;

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.