Commit 05f9e7aefab24052509301ca14ef0ef0c0170d06
Committed by
GitHub
Exists in
2.9
and in
7 other branches
Merge pull request #6603 from portabilis/issue-6601
Ajusta helper para campo hora aceitar também segundos
Showing
3 changed files
with
22 additions
and
13 deletions
Show diff stats
config/assets.php
ieducar/intranet/include/clsCampos.inc.php
... | ... | @@ -594,7 +594,7 @@ class clsCampos extends Core_Controller_Page_Abstract |
594 | 594 | ]; |
595 | 595 | } |
596 | 596 | |
597 | - public function campoHora($nome, $campo, $valor, $obrigatorio = false, $descricao = '', $acao = '', $limitaHora = true, $desabilitado = false) | |
597 | + public function campoHora($nome, $campo, $valor, $obrigatorio = false, $descricao = '', $acao = '', $limitaHora = true, $desabilitado = false, $maxLength = 5) | |
598 | 598 | { |
599 | 599 | $arr_componente = [ |
600 | 600 | 'hora', |
... | ... | @@ -602,7 +602,7 @@ class clsCampos extends Core_Controller_Page_Abstract |
602 | 602 | $limitaHora ? ($obrigatorio ? '/^([0-1]?[0-9]|2[0-3]):([0-5][0-9])(:[0-5][0-9])?$/' : '*(/^([0-1]?[0-9]|2[0-3]):([0-5][0-9])(:[0-5][0-9])?$/)') : ($obrigatorio ? '/[0-9]{2}:[0-9]{2}/' : '*(/[0-9]{2}:[0-9]{2}/)'), |
603 | 603 | $valor, |
604 | 604 | 6, |
605 | - 5, | |
605 | + $maxLength, | |
606 | 606 | 'hh:mm', |
607 | 607 | $descricao, |
608 | 608 | $acao, |
... | ... | @@ -1962,8 +1962,9 @@ class clsCampos extends Core_Controller_Page_Abstract |
1962 | 1962 | break; |
1963 | 1963 | |
1964 | 1964 | case 'hora': |
1965 | - $componente[3] = strlen($componente[3]) < 6 ? $componente[3] : substr($componente[3], 0, 5); | |
1966 | - $retorno .= "<input onKeyPress=\"formataHora(this, event);\" class='{$class}' type='text' name=\"{$nome}\" id=\"{$nome}\" value=\"{$componente[3]}\" size=\"{$componente[4]}\" maxlength=\"{$componente[5]}\" {$componente[8]} {$componente[9]}>{$componente[7]}"; | |
1965 | + $componente[3] = (strlen($componente[3]) < 6 || $componente[5] != 5) ? $componente[3] : substr($componente[3], 0, 5); | |
1966 | + $segundos = ($componente[5] != 5) ? 'true' : 'false'; | |
1967 | + $retorno .= "<input onKeyPress=\"formataHora(this, event, {$segundos});\" class='{$class}' type='text' name=\"{$nome}\" id=\"{$nome}\" value=\"{$componente[3]}\" size=\"{$componente[4]}\" maxlength=\"{$componente[5]}\" {$componente[8]} {$componente[9]}>{$componente[7]}"; | |
1967 | 1968 | break; |
1968 | 1969 | |
1969 | 1970 | case 'cor': | ... | ... |
ieducar/intranet/scripts/padrao.js
... | ... | @@ -158,13 +158,17 @@ function formataData(campo, e) |
158 | 158 | } |
159 | 159 | } |
160 | 160 | |
161 | -function formataHora(campo, e) | |
161 | +function formataHora(campo, e, segundos = false) | |
162 | 162 | { |
163 | 163 | if (typeof window.event != 'undefined') { |
164 | 164 | if (window.event.keyCode != 58) { |
165 | 165 | if ((campo.value.length == 2)) { |
166 | 166 | campo.value += ':'; |
167 | 167 | } |
168 | + | |
169 | + if (segundos && (campo.value.length == 5)) { | |
170 | + campo.value += ':'; | |
171 | + } | |
168 | 172 | } |
169 | 173 | } |
170 | 174 | else { |
... | ... | @@ -175,6 +179,10 @@ function formataHora(campo, e) |
175 | 179 | if ((campo.value.length == 2)) { |
176 | 180 | campo.value += ':'; |
177 | 181 | } |
182 | + | |
183 | + if (segundos && (campo.value.length == 5)) { | |
184 | + campo.value += ':'; | |
185 | + } | |
178 | 186 | } |
179 | 187 | } |
180 | 188 | } |
... | ... | @@ -547,7 +555,7 @@ function formataCNPJ(campo, e) |
547 | 555 | * Ver: $ egrep -rn 'formataFone[ ]{0,3}\(' intranet/ |
548 | 556 | */ |
549 | 557 | function formataFoneNew(campo, e) |
550 | -{ | |
558 | +{ | |
551 | 559 | // console.log(e.keyCode); |
552 | 560 | if (window.event.keyCode != 40 && (campo.value.length == 0)) { |
553 | 561 | campo.value += '('; |
... | ... | @@ -558,7 +566,7 @@ function formataCNPJ(campo, e) |
558 | 566 | // Allow: backspace, delete, tab, escape, enter and . |
559 | 567 | if ($j.inArray(e.keyCode, [46, 8, 9, 27, 13, 110, 190]) !== -1 || |
560 | 568 | // Allow: Ctrl+A |
561 | - (e.keyCode == 65 && e.ctrlKey === true) || | |
569 | + (e.keyCode == 65 && e.ctrlKey === true) || | |
562 | 570 | // Allow: home, end, left, right |
563 | 571 | (e.keyCode >= 35 && e.keyCode <= 39)) { |
564 | 572 | // let it happen, don't do anything |
... | ... | @@ -753,7 +761,7 @@ function cv_set_campo(campo1, valor1, campo2, valor2, campo3, valor3, campo4, |
753 | 761 | obj1 = parent.document.getElementById(campo1); |
754 | 762 | |
755 | 763 | if (obj1){ |
756 | - obj1.value = valor1; | |
764 | + obj1.value = valor1; | |
757 | 765 | } |
758 | 766 | |
759 | 767 | obj2 = parent.document.getElementById(campo2); |
... | ... | @@ -773,18 +781,18 @@ function cv_set_campo(campo1, valor1, campo2, valor2, campo3, valor3, campo4, |
773 | 781 | } |
774 | 782 | |
775 | 783 | obj5 = parent.document.getElementById(campo5); |
776 | - | |
784 | + | |
777 | 785 | if (obj5) |
778 | 786 | obj5.value = valor5; |
779 | - | |
787 | + | |
780 | 788 | |
781 | 789 | obj6 = parent.document.getElementById(campo6); |
782 | - | |
790 | + | |
783 | 791 | if (obj6) |
784 | 792 | obj6.value = valor6; |
785 | 793 | |
786 | 794 | obj7 = parent.document.getElementById(campo7); |
787 | - | |
795 | + | |
788 | 796 | if (obj7){ |
789 | 797 | obj7.value = valor7; |
790 | 798 | } | ... | ... |