sub common_min_load_params {
for my $p ($q->param) {
my $val = $q->param($p) ;
$val =~ s/\"//g ;
$i{$p} = $val ;
# &common_min_debug("$p - $val") ;
}
} #------------------------------------------------------------------------------------------
sub common_min_alert_type {
if ($error) {
$alert = &common_min_alert('danger',"$error",'remove-sign') ;
}
elsif ($warning) {
$alert = &common_min_alert('warning',"$warning") ;
}
elsif ($success) {
$alert = &common_min_alert('success',"$success",'ok') ;
}
} #------------------------------------------------------------------------------------------
sub common_min_alert {
my ($type,$msg,$glyphicon,$id) = @_ ;
unless ($id) { $id = 'alertmsg'; }
unless ($glyphicon) { $glyphicon = 'exclamation-sign'; }
my $alert = qq(
$dlg{$field}~ ;
return ($row) ;
} #------------------------------------------------------------------------------------------
sub common_min_form_label_col {
my ($field) = @_ ;
my $ucfirst_field = ucfirst $field ;
my $print_field = &common_min_print_field($field) ; if ($preferred_title{$field}) { $print_field = $preferred_title{$field} ; }
my $field_id = "label$ucfirst_field" ;
my $row = qq~
~;
unless ($excl_on_change{$field}) { push @jquery_trigger_fields, $field_id ; }
# unless ($excl_on_change{$field}) { push @jquery_workings_trigger_fields, $field_id ; }
return ($row) ;
} #------------------------------------------------------------------------------------------
sub common_min_form_textarea {
my ($field,$val,$height) = @_ ;
if ($textarea_height{$field}) { $height = $textarea_height{$field}; }
unless ($height) { $height = 100; }
my $ucfirst_field = ucfirst $field ;
my $print_field = &common_min_print_field($field) ; if ($preferred_title{$field}) { $print_field = $preferred_title{$field} ; }
$tindex++ ;
my $row = qq~
~ ;
return ($row) ;
} #------------------------------------------------------------------------------------------
sub common_min_form_textarea_col {
my ($field,$val,$height,$hide) = @_ ;
if ($textarea_height{$field}) { $height = $textarea_height{$field}; }
unless ($height) { $height = 100; }
my $ucfirst_field = ucfirst $field ;
my $print_field = &common_min_print_field($field) ; if ($preferred_title{$field}) { $print_field = $preferred_title{$field} ; }
$tindex++ ;
my $hide = ($hide) ? "none" : "" ;
my $row = qq~
~ ;
return ($row) ;
} #------------------------------------------------------------------------------------------
sub common_min_form_checkbox {
my ($field,$val,$checked,$classic) = @_ ;
my $ucfirst_field = ucfirst $field ;
my $print_field = &common_min_print_field($field) ; if ($preferred_title{$field}) { $print_field = $preferred_title{$field} ; }
my $check_class = ($classic) ? 'class="iphone-toggle"' : '' ;
#
$tindex++ ;
my $row = qq(
) ;
#
return ($row) ;
} #------------------------------------------------------------------------------------------
sub common_min_form_checkbox_col {
my ($field,$val,$checked,$classic) = @_ ;
my $ucfirst_field = ucfirst $field ;
my $print_field = &common_min_print_field($field) ; if ($preferred_title{$field}) { $print_field = $preferred_title{$field} ; }
my $field_id = "checkbox$ucfirst_field" ;
my $check_class = ($classic) ? 'class="iphone-toggle"' : '' ;
my $label = '' ; if ($label{$field}) { $label = "
" ; }
$tindex++ ;
my $row = qq(
$label
) ;
unless ($excl_on_change{$field}) { push @jquery_trigger_fields, $field_id ; }
# unless ($excl_on_change{$field}) { push @jquery_workings_trigger_fields, $field_id ; }
return ($row) ;
} #------------------------------------------------------------------------------------------
sub common_min_form_radio {
my ($field,$val,$opts) = @_ ;
my $ucfirst_field = ucfirst $field ;
my $print_field = &common_min_print_field($field) ; if ($preferred_title{$field}) { $print_field = $preferred_title{$field} ; }
my @opts = split(/\+/,$radio_opts{$field});
foreach (@opts) {
if ($_ eq $val) { $checked = 'CHECKED'; } else { $checked = ''; }
$print_radios .= qq(
$_) ;
}
my $row = qq(
) ;
return ($row) ;
} #------------------------------------------------------------------------------------------
sub common_min_form_select {
my ($field,$val,$dont_end_row) = @_ ;
if ($multiple{$field}) { $setmultiple = 'multiple' ; } else { $setmultiple = '' ; }
my $ucfirst_field = ucfirst $field ;
my $print_field = &common_min_print_field($field) ; if ($preferred_title{$field}) { $print_field = $preferred_title{$field} ; }
$tindex++ ;
my $row = qq~
$dlg{$field}~ ;
unless ($dont_end_row) { $row .= qq~
~ ; }
if ($allow_deselect{$field}) {
if ($minify_jquery) {
push @all_select_ids,"#select$ucfirst_field" if $ucfirst_field ;
} else {
$trigger_jquery_raw .= qq~\$("#select$ucfirst_field").chosen({ allow_single_deselect:true,search_contains:true });~ ;
}
}
# if ($val) {
# $trigger_jquery_raw .= qq~\$("#select$ucfirst_field").val($val) ; \$("#select$ucfirst_field").trigger("chosen:updated"); ~ ;
# }
return ($row) ;
} #------------------------------------------------------------------------------------------
sub common_min_form_select_col {
my ($field,$val) = @_ ;
my $ucfirst_field = ucfirst $field ;
my $print_field = &common_min_print_field($field) ; if ($preferred_title{$field}) { $print_field = $preferred_title{$field} ; }
if ($multiple{$field}) { $setmultiple = 'multiple' ; } else { $setmultiple = '' ; }
$tindex++ ;
my $row = qq~
$dlg_operator{$field}
$dlg{$field}~ ;
if ($allow_deselect{$field}) {
if ($minify_jquery) {
push @all_select_ids,"#select$ucfirst_field" if $ucfirst_field ;
} else {
$trigger_jquery_raw .= qq~\$("#select$ucfirst_field").chosen({ allow_single_deselect:true });~ ;
}
}
# if ($val) {
# $trigger_jquery_raw .= qq~\$("#select$ucfirst_field").val($val) ; \$("#select$ucfirst_field").trigger("chosen:updated"); ~ ;
# }
return ($row) ;
} #------------------------------------------------------------------------------------------
sub common_min_form_datetimepicker {
my ($field,$val,$diff) = @_ ;
$diff = 10 unless $diff ;
my $ucfirst_field = ucfirst $field ;
my $print_field = &common_min_print_field($field) ; if ($preferred_title{$field}) { $print_field = $preferred_title{$field} ; }
$tindex++ ;
# if ($field eq 'date_from') { $val = "$now_ccyy_mm_dd $now_hour:00:00" unless $val ; }
if ($field eq 'date_from') { $val = "$now_ccyy_mm_dd 08:00:00" unless $val ; }
if ($field eq 'date_to') { my $hr = sprintf("%02s", $now_hour + 2) ; $val = "$now_ccyy_mm_dd $hr:00:00" unless $val ; }
my $row = qq(
) ;
$trigger_jquery_raw .= qq(\$('#datetimepicker$ucfirst_field').datetimepicker({language: 'pt-BR'}); ) ;
my @field_name_parts = split(/\_/,$field) ;
if ($field_name_parts[-1] eq 'from' && !($ENV{'SCRIPT_NAME'} =~ /event_quotes/ && ($ENV{'QUERY_STRING'} =~ /edit/ || $ENV{'QUERY_STRING'} =~ /add/))) {
pop @field_name_parts ; my $field_prefix = join("_",@field_name_parts) ; my $ucfirst_field_prefix = ucfirst $field_prefix ;
if ($ENV{'QUERY_STRING'} =~ /filter/ || $ENV{'QUERY_STRING'} =~ /search/ || $ENV{'SCRIPT_NAME'} =~ /report/) {
$trigger_jquery_raw .= qq~
\$('#datetimepicker$ucfirst_field_prefix\_from').on('changeDate', function(e) {
var datetimepickerDate_from = \$("input[name='$field_prefix\_from']").val();
var datetimepickerDate_to = \$("input[name='$field_prefix\_to']").val();
var newDatetimepickerDate_from = new Date(datetimepickerDate_from);
var newDatetimepickerDate_to = new Date(datetimepickerDate_to);
if (newDatetimepickerDate_from > newDatetimepickerDate_to) {
newDatetimepickerDate_to = new Date(datetimepickerDate_from);
}
console.log("datetimepickerDate_from="+datetimepickerDate_from) ;
newDatetimepickerDate_from.setHours(+2);
newDatetimepickerDate_from.setMinutes(0);
newDatetimepickerDate_from.setSeconds(0);
newDatetimepickerDate_from.setMilliseconds(0);
console.log("newDatetimepickerDate_from="+newDatetimepickerDate_from) ;
\$("#datetimepicker$ucfirst_field_prefix\_from").datetimepicker("setDate", newDatetimepickerDate_from);
console.log("datetimepickerDate_to="+newDatetimepickerDate_to) ;
newDatetimepickerDate_to.setHours(23+2);
newDatetimepickerDate_to.setMinutes(59);
newDatetimepickerDate_to.setSeconds(59);
newDatetimepickerDate_to.setMilliseconds(59);
console.log("newDatetimepickerDate_to="+newDatetimepickerDate_to) ;
\$("#datetimepicker$ucfirst_field_prefix\_to").datetimepicker("setDate", newDatetimepickerDate_to);
}) ;
\$('#datetimepicker$ucfirst_field_prefix\_to').on('changeDate', function(e) {
var datetimepickerDate_to = \$("input[name='$field_prefix\_to']").val();
var newDatetimepickerDate_to = new Date(datetimepickerDate_to);
console.log("datetimepickerDate_to="+datetimepickerDate_to) ;
newDatetimepickerDate_to.setHours(23+2);
newDatetimepickerDate_to.setMinutes(59);
newDatetimepickerDate_to.setSeconds(59);
newDatetimepickerDate_to.setMilliseconds(59);
console.log("newDatetimepickerDate_to="+newDatetimepickerDate_to) ;
\$("#datetimepicker$ucfirst_field_prefix\_to").datetimepicker("setDate", newDatetimepickerDate_to);
}) ;
~;
} else {
$trigger_jquery_raw .= qq~
if (\$("#datetimepicker$ucfirst_field_prefix\_to").length) {
\$('#datetimepicker$ucfirst_field_prefix\_from').on('changeDate', function(e) {
var datetimepickerDate_from = \$("input[name='$field_prefix\_from']").val();
console.log("datetimepickerDate_from="+datetimepickerDate_from) ;
if (datetimepickerDate_from) {
// Parse datetimepickerDate_from value to a Date object
var datetimepickerDate_to = new Date(datetimepickerDate_from);
console.log("datetimepickerDate_to="+datetimepickerDate_to) ;
// Add 2 hours to datetimepickerDate_from value
// datetimepickerDate_to.setHours(datetimepickerDate_to.getHours() + $diff);
datetimepickerDate_to.setHours(datetimepickerDate_to.getHours() + $diff);
console.log("datetimepickerDate_to="+datetimepickerDate_to) ;
\$("#datetimepicker$ucfirst_field_prefix\_to").datetimepicker("setDate", datetimepickerDate_to);
}
}) ;
}
~;
}
}
return ($row) ;
#
} #------------------------------------------------------------------------------------------
sub common_min_form_datepicker {
my ($field,$val,$label,$dont_end_row) = @_ ;
my $ucfirst_field = ucfirst $field ;
my $print_field = &common_min_print_field($field) ; if ($label) { $print_field = $label ; } if ($preferred_title{$field}) { $print_field = $preferred_title{$field} ; }
if ($val eq '0000-00-00') { $val = '' ; }
$tindex++ ;
my $row = qq~
~ ;
unless ($dont_end_row) {
$row .= qq~
~ ;
}
&common_min_form_datepicker_jquery($ucfirst_field);
return ($row) ;
#
} #------------------------------------------------------------------------------------------
sub common_min_form_datepicker_col {
my ($field,$val,$end_row) = @_ ;
my $ucfirst_field = ucfirst $field ;
my $print_field = &common_min_print_field($field) ; if ($preferred_title{$field}) { $print_field = $preferred_title{$field} ; }
$tindex++ ;
if ($val eq '0000-00-00') { $val = '' ; }
my $row = qq(
) ;
$row .= qq~
~ if $end_row ;
&common_min_form_datepicker_jquery($ucfirst_field);
return ($row) ;
} #------------------------------------------------------------------------------------------
sub common_min_form_datepicker_jquery {
my ($ucfirst_field) = @_ ;
$trigger_jquery_raw .= qq~
\$('#datepicker$ucfirst_field').datepicker({
format: "yyyy-mm-dd"}).on('changeDate', function (ev) {
\$('.datepicker').hide();
}) ;
~ ;
my $lc_field = lc $ucfirst_field ;
my @field_name_parts = split(/\_/,$lc_field) ;
# if ($field_name_parts[-1] eq 'from') {
# pop @field_name_parts ; my $field_prefix = join("_",@field_name_parts) ; my $ucfirst_field_prefix = ucfirst $field_prefix ;
# $trigger_jquery_raw .= qq~
# if (\$("#datepicker$ucfirst_field_prefix\_to").length) {
# // \$('#datepicker$ucfirst_field_prefix\_from').on('changeDate', function(e) {
# // var datepickerDate_from = \$("input[name='$field_prefix\_from']").val();
# // console.log("datepickerDate_from [$field_prefix\_from]="+datepickerDate_from) ;
# // if (datepickerDate_from) {
# // // Parse datepickerDate_from value to a Date object
# // var datepickerDate_to = new Date(datepickerDate_from);
# // console.log("datepickerDate_to="+datepickerDate_to) ;
# // // Add 1 month to datepickerDate_from value
# // datepickerDate_to.setMonth(datepickerDate_to.getMonth() + 1);
# // // var formattedDate = \$("#datepicker$ucfirst_field_prefix\_to").formatDate("yyyy-mm-dd", new Date(datepickerDate_to));
# // // console.log("datepickerDate_to [datepicker$ucfirst_field_prefix\_to]="+datepickerDate_to+" ["+formattedDate+"]") ;
# // console.log("datepickerDate_to [datepicker$ucfirst_field_prefix\_to]="+datepickerDate_to) ;
# // // \$("#datepicker$ucfirst_field_prefix\_to").datepicker("setDate", new Date(datepickerDate_to));
# // // \$("#datepicker$ucfirst_field_prefix\_to").setDate(datepickerDate_to);
# // }
# // }) ;
# var nowTemp = new Date();
# var now = new Date(nowTemp.getFullYear(), nowTemp.getMonth(), nowTemp.getDate(), 0, 0, 0, 0);
# var from = \$('#datepicker$ucfirst_field_prefix\_from').datepicker({
# format: "yyyy-mm-dd",
# onRender: function (date) {
# return date.valueOf() < now.valueOf() ? 'disabled' : '';
# }
# }).on('changeDate', function (ev) {
# if (ev.date.valueOf() > to.date.valueOf()) {
# var newDate = new Date(ev.date)
# newDate.setDate(newDate.getDate() + 30);
# to.setValue(newDate);
# }
# // from.hide();
# \$('#datepicker$ucfirst_field_prefix\_to')[0].focus();
# }).data('datepicker');
# var to = \$('#datepicker$ucfirst_field_prefix\_to').datepicker({
# format: "yyyy-mm-dd",
# onRender: function (date) {
# return (date.valueOf() < now.valueOf()) && (date.valueOf() >= from.date.valueOf()) ? 'disabled' : '';
# }
# }).on('changeDate', function (ev) {
# // to.hide();
# }).data('datepicker');
# }
# ~;
# }
} #------------------------------------------------------------------------------------------
# sub common_min_form_datepicker {
# my ($field,$val) = @_ ;
# my $ucfirst_field = ucfirst $field ;
# my $print_field = &common_min_print_field($field) ;
# my $row = qq(