package SGN::View::Mason::Commands;
use strict;
use vars qw($m $c);
HTML::Mason::Component::FileBased->new(
'code' => sub {
use utf8; local $SGN::View::Mason::Commands::m = $HTML::Mason::Commands::m;
HTML::Mason::Exception::Params->throw
    ( error =>
      "Odd number of parameters passed to component expecting name/value pairs"
    ) if @_ % 2;
my ( $trial_id, $trial_name );
{
    my %pos;
    for ( my $x = 0; $x < @_; $x += 2 )
    {
        $pos{ $_[$x] } = $x + 1;
    }

    foreach my $arg ( qw( trial_id trial_name ) )
    {
        HTML::Mason::Exception::Params->throw
            ( error => "no value sent for required parameter '$arg'" )
                unless exists $pos{$arg};
    }
#line 3 "/home/production/cxgn/sgn/mason/breeders_toolbox/trial/trial_entry_numbers.mas"
    $trial_id = $_[ $pos{'trial_id'} ];
#line 4 "/home/production/cxgn/sgn/mason/breeders_toolbox/trial/trial_entry_numbers.mas"
    $trial_name = $_[ $pos{'trial_name'} ];
}
$m->debug_hook( $m->current_comp->path ) if ( HTML::Mason::Compiler::IN_PERL_DB() );

#line 1 "/home/production/cxgn/sgn/mason/breeders_toolbox/trial/trial_entry_numbers.mas"
$m->print( '
' );
#line 6 "/home/production/cxgn/sgn/mason/breeders_toolbox/trial/trial_entry_numbers.mas"
$m->print( '
' );
#line 7 "/home/production/cxgn/sgn/mason/breeders_toolbox/trial/trial_entry_numbers.mas"
$m->comp(   '/util/import_javascript.mas', classes => [ "jquery", "jquery.dataTables", 'jquery.dataTables-buttons-min', 'jszip-min', 'buttons.bootstrap-min', 'buttons.html5-min' ]   
); #line 7 "/home/production/cxgn/sgn/mason/breeders_toolbox/trial/trial_entry_numbers.mas"
$m->print( '

' );
#line 9 "/home/production/cxgn/sgn/mason/breeders_toolbox/trial/trial_entry_numbers.mas"
$m->comp(   '/breeders_toolbox/trial/trial_entry_numbers_template_dialog.mas', trial_id=>$trial_id, trial_name=>$trial_name   
); #line 9 "/home/production/cxgn/sgn/mason/breeders_toolbox/trial/trial_entry_numbers.mas"
$m->print( '
' );
#line 10 "/home/production/cxgn/sgn/mason/breeders_toolbox/trial/trial_entry_numbers.mas"
$m->comp(   '/breeders_toolbox/trial/trial_entry_numbers_upload_dialog.mas', trial_id=>$trial_id, trial_name=>$trial_name   
); #line 10 "/home/production/cxgn/sgn/mason/breeders_toolbox/trial/trial_entry_numbers.mas"
$m->print( '

<div id="trial_entry_numbers" style="display: none">
    <br />
    <table id="trial_entry_numbers_table" class="display"></table>
    <br /><br />
</div>

<button id="set_entry_numbers_template_btn" class="btn btn-default">Generate Entry Number Template</button>

<button id="set_entry_numbers_upload_btn" class="btn btn-default">Upload Entry Number Template</button>

<button id="delete_entry_numbers_btn" class="btn btn-default" disabled="1">Delete Entry Numbers</button>

<script src="//cdn.datatables.net/plug-ins/1.11.3/sorting/natural.js" defer></script>
<script type="text/javascript">
    jQuery(document).ready(function() {

        loadEntryNumbers();

        jQuery("#set_entry_numbers_template_btn").click(function() {
            jQuery("#set_entry_numbers_template_dialog").modal("show");
        });

	jQuery(\'#delete_entry_numbers_btn\').click(function() {
	    var yes = confirm("Are you sure you would like to remove the entry numbers from this trial? This action cannot be undone.");

	    if (yes) {
	       var p = jQuery.ajax( {
	           type : \'async\',
	     	   url : \'/ajax/breeders/trial_entry_numbers/delete\',
	     	   data: { trial_id : ' );
#line 41 "/home/production/cxgn/sgn/mason/breeders_toolbox/trial/trial_entry_numbers.mas"
$m->print(  $trial_id  );
#line 41 "/home/production/cxgn/sgn/mason/breeders_toolbox/trial/trial_entry_numbers.mas"
$m->print( ' },
	       } );

	       p.then( function(value) { loadEntryNumbers(); alert("Success!"); }, function(error) { alert("An error occurred deleting the entry numbers." ) } )
 	    }
	});
	

	//function resetEntryNumberTable() {

//	     	 alert("NOW DESTROYING TABLE!");
//		              var table = new DataTable(\'#trial_entry_numbers_table\');		
  //           table.destroy();
//	}


        jQuery("#set_entry_numbers_upload_btn").click(function() {
            jQuery("#trial_entry_numbers_upload_dialog").modal("show");
        });

        // Init DataTable
        jQuery(\'#trial_entry_numbers_table\').DataTable({
            dom: \'Bfrtip\',
            autoWidth: false,
            data: [],
            columns: [
                { title: "Accession", data: "stock_name" },
                { title: "Entry Number", data: "entry_number"}
            ],
            columnDefs: [
                { type: \'natural\', targets: 1 }
            ],
            order: [[ 1, "asc" ]],
            buttons: [
                {
                    extend: \'excelHtml5\',
                    title: \'' );
#line 77 "/home/production/cxgn/sgn/mason/breeders_toolbox/trial/trial_entry_numbers.mas"
$m->print(  $trial_name  );
#line 77 "/home/production/cxgn/sgn/mason/breeders_toolbox/trial/trial_entry_numbers.mas"
$m->print( '_entry_numbers\',
                    exportOptions: {
                        orthogonal: \'export\'
                    }
                },
                {
                    extend: \'csvHtml5\',
                    title: \'' );
#line 84 "/home/production/cxgn/sgn/mason/breeders_toolbox/trial/trial_entry_numbers.mas"
$m->print(  $trial_name  );
#line 84 "/home/production/cxgn/sgn/mason/breeders_toolbox/trial/trial_entry_numbers.mas"
$m->print( '_entry_numbers\',
                    exportOptions: {
                        orthogonal: \'export\'
                    }
                }
            ]
        });
    });

    function loadEntryNumbers() {
        jQuery.ajax({
            url: "/ajax/breeders/trial/' );
#line 95 "/home/production/cxgn/sgn/mason/breeders_toolbox/trial/trial_entry_numbers.mas"
$m->print(  $trial_id  );
#line 95 "/home/production/cxgn/sgn/mason/breeders_toolbox/trial/trial_entry_numbers.mas"
$m->print( '/entry_numbers",
            type: \'GET\',
            success: function(response) {
                if ( response && response.entry_numbers ) {
                    displayEntryNumbers(response.entry_numbers);
                }
                else {
                    alert("ERROR: Could not load entry numbers due to a server error!");
                }
            },
            error: function() {
                alert("ERROR: Could not load entry numbers due to a server error!");
            }
        });
    }

    function displayEntryNumbers(entryNumbers) {
        if ( entryNumbers && entryNumbers.length > 0 ) {
            let dt = jQuery(\'#trial_entry_numbers_table\').DataTable();
            dt.clear();
            dt.rows.add(entryNumbers);
            dt.draw();
            jQuery("#trial_entry_numbers").show();
	    jQuery(\'#delete_entry_numbers_btn\').attr("disabled", false); 
        }
	else {
	    let dt = jQuery(\'#trial_entry_numbers_table\').DataTable();
            dt.clear();
            dt.rows.add(entryNumbers);
            dt.draw();
	    jQuery(\'#delete_entry_numbers_btn\').attr("disabled", true);
        }
    }
</script>
' );
;return;
},
'declared_args' => {
  '$trial_id' => { default => undef },
  '$trial_name' => { default => undef }
},
'load_time' => 1763102299,

)
;