@@ -437,7 +437,9 @@ <h5 class="modal-title" id="exampleModalLabel"></h5>
437437 tipo_capacita_selezionata = document . querySelector ( '#tipo_capacita_da_modificare' ) . value ;
438438 // inseriamo il tipo_capacita_da_modificare nell'intestazione della colonna 'Capacità settimanale'
439439 document . querySelectorAll ( ".th_capacita_settimanale" ) . forEach ( el => {
440- el . innerHTML = '<br>(' + tipo_capacita_selezionata + ')' ;
440+ el . textContent = '' ;
441+ el . appendChild ( document . createElement ( 'br' ) ) ;
442+ el . appendChild ( document . createTextNode ( `(${ tipo_capacita_selezionata } )` ) ) ;
441443 } ) ;
442444 // inseriamo il tipo_capacita_da_modificare nel sotto-accordion
443445 document . querySelectorAll ( ".span_tipo_capacita_selezionata" ) . forEach ( span => {
@@ -617,7 +619,7 @@ <h2 class="accordion-header">
617619 const radioSchedule = document . getElementById ( "inlineRadio1" ) ;
618620 const timeSchedule = document . getElementById ( "timeSchedule" ) ;
619621 if ( radioSchedule . checked ) {
620- tipo_scheduling . innerHTML = ' Sei sicuro di voler avviare lo scheduling con trigger "Schedule" (' + timeSchedule . value + ')?' ;
622+ tipo_scheduling . textContent = ` Sei sicuro di voler avviare lo scheduling con trigger "Schedule" (${ timeSchedule . value } )?` ;
621623 }
622624 else {
623625 tipo_scheduling . innerHTML = 'Sei sicuro di voler avviare lo scheduling con trigger "Now"?' ;
@@ -802,8 +804,14 @@ <h2 class="accordion-header">
802804 } ) ;
803805</ script >
804806
805-
806-
807+ <!-- funzione helper per risolvere vulnerabilità code review automatica github -->
808+ < script >
809+ function tdText ( value ) {
810+ const td = document . createElement ( 'td' ) ;
811+ td . textContent = value ;
812+ return td ;
813+ }
814+ </ script >
807815
808816< script >
809817// Funzione per aggiungere una riga alla tabella
@@ -824,21 +832,49 @@ <h2 class="accordion-header">
824832 const celleUltimaRiga = ultimaRigaOriginale . querySelectorAll ( 'td' ) ;
825833 let capacita_reale_ultima_riga = celleUltimaRiga [ 6 ] . textContent . split ( " " ) ;
826834 capacita_reale_ultima_riga = capacita_reale_ultima_riga [ capacita_reale_ultima_riga . length - 1 ]
835+
836+ nuovaRiga . appendChild ( tdText ( celleUltimaRiga [ 0 ] . textContent ) ) ;
837+ nuovaRiga . appendChild ( tdText ( celleUltimaRiga [ 1 ] . textContent ) ) ;
838+ nuovaRiga . appendChild ( tdText ( celleUltimaRiga [ 2 ] . textContent ) ) ;
839+ nuovaRiga . appendChild ( tdText ( '0' ) ) ;
840+
841+ // TD con input date (static HTML, ok)
842+ const tdInizio = document . createElement ( 'td' ) ;
843+ tdInizio . innerHTML = '<input type="date" class="form-control text-center input_inizioPeriodoValidita" onkeydown="return (event.keyCode!=13);">' ;
844+ nuovaRiga . appendChild ( tdInizio ) ;
845+
846+ const tdFine = document . createElement ( 'td' ) ;
847+ tdFine . innerHTML = '<input type="date" class="form-control text-center input_finePeriodoValidita" onkeydown="return (event.keyCode!=13);">' ;
848+ nuovaRiga . appendChild ( tdFine ) ;
849+
850+ // TD capacità (parte dinamica via proprietà, NON HTML)
851+ const tdCapacita = document . createElement ( 'td' ) ;
852+
853+ const inputCap = document . createElement ( 'input' ) ;
854+ inputCap . type = 'text' ;
855+ inputCap . className = 'form-control text-center input_capacita' ;
856+ inputCap . value = capacita_reale_ultima_riga ;
857+
858+ const label = document . createElement ( 'label' ) ;
859+ label . className = 'm-0 p-0' ;
860+ label . style . fontSize = '12px' ;
861+ label . textContent = `Capacità reale: ${ capacita_reale_ultima_riga } ` ;
862+
863+ tdCapacita . appendChild ( inputCap ) ;
864+ tdCapacita . appendChild ( label ) ;
865+ nuovaRiga . appendChild ( tdCapacita ) ;
866+
867+ nuovaRiga . appendChild ( tdText ( '-' ) ) ;
868+ nuovaRiga . appendChild ( tdText ( '' ) ) ;
869+
870+ const tdBtn = document . createElement ( 'td' ) ;
871+ const btn = document . createElement ( 'button' ) ;
872+ btn . type = 'button' ;
873+ btn . className = 'btn btn-outline-danger btn-sm rimuovi-riga' ;
874+ btn . textContent = '-' ;
875+ tdBtn . appendChild ( btn ) ;
876+ nuovaRiga . appendChild ( tdBtn ) ;
827877
828- nuovaRiga . innerHTML = `
829- <td>${ celleUltimaRiga [ 0 ] . textContent } </td>
830- <td>${ celleUltimaRiga [ 1 ] . textContent } </td>
831- <td>${ celleUltimaRiga [ 2 ] . textContent } </td>
832- <td>0</td>
833- <td><input type="date" class="form-control text-center input_inizioPeriodoValidita" onkeydown="return (event.keyCode!=13);"></td>
834- <td><input type="date" class="form-control text-center input_finePeriodoValidita" onkeydown="return (event.keyCode!=13);"></td>
835- <td><input class="form-control text-center input_capacita" autocomplete="off" type="text" inputmode="numeric" step="1" min="0" maxlength="8" value="${ capacita_reale_ultima_riga } " onkeydown="return (event.keyCode!=13);" oninput="this.value = this.value.replace(/[^0-9]/g, '')"><label class="m-0 p-0" style="font-size:12px">Capacità reale: ${ capacita_reale_ultima_riga } </label></td>
836- <td>-</td>
837- <td></td> <!-- colonna alert vuota -->
838- <td>
839- <button type="button" class="btn btn-outline-danger btn-sm rimuovi-riga" title="Rimuovi riga">-</button>
840- </td>
841- ` ;
842878
843879 // Aggiungi la nuova riga al tbody
844880 tbody . appendChild ( nuovaRiga ) ;
@@ -874,7 +910,6 @@ <h2 class="accordion-header">
874910} ) ;
875911</ script >
876912
877-
878913<!-- flatpickr per vincoli datepicker STEP 3: l'inizializzazione dei calendari datepicker (flatpickr) dev'essere fatta solo dopo aver caricato l'input con il relativo id -->
879914 < script >
880915 function inizializzazione_datepicker_flatpickr ( array_dataminima_nuovariga ) {
0 commit comments