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.