%# BEGIN BPS TAGGED BLOCK {{{
%#
%# COPYRIGHT:
%#
%# This software is Copyright (c) 1996-2019 Best Practical Solutions, LLC
%#                                          <sales@bestpractical.com>
%#
%# (Except where explicitly superseded by other copyright notices)
%#
%#
%# LICENSE:
%#
%# This work is made available to you under the terms of Version 2 of
%# the GNU General Public License. A copy of that license should have
%# been provided with this software, but in any event can be snarfed
%# from www.gnu.org.
%#
%# This work is distributed in the hope that it will be useful, but
%# WITHOUT ANY WARRANTY; without even the implied warranty of
%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
%# General Public License for more details.
%#
%# You should have received a copy of the GNU General Public License
%# along with this program; if not, write to the Free Software
%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
%# 02110-1301 or visit their web page on the internet at
%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
%#
%#
%# CONTRIBUTION SUBMISSION POLICY:
%#
%# (The following paragraph is not intended to limit the rights granted
%# to you to modify and distribute this software under the terms of
%# the GNU General Public License and is only of importance to you if
%# you choose to contribute your changes and enhancements to the
%# community by submitting them to Best Practical Solutions, LLC.)
%#
%# By intentionally submitting any modifications, corrections or
%# derivatives to this work, or any other work intended for use with
%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
%# you are the copyright holder for those contributions and you grant
%# Best Practical Solutions,  LLC a nonexclusive, worldwide, irrevocable,
%# royalty-free, perpetual, license to use, copy, create derivative
%# works based on those contributions, and sublicense and distribute
%# those contributions and any derivatives thereof.
%#
%# END BPS TAGGED BLOCK }}}
<table class="edit-columns">

<tr>
<th><&|/l&>Add Columns</&>:</th>
<th><&|/l&>Format</&>:</th>
<th></th>
<th><&|/l&>Show Columns</&>:</th>
</tr>

<script type="text/javascript">
jQuery( function() {
    jQuery('select[name=SelectDisplayColumns].chosen').chosen({ width: '12em', placeholder_text_multiple: ' ', no_results_text: ' ', search_contains: true });
    jQuery('[name=AddCol], [name=RemoveCol], [name=ColUp], [name=ColDown]').click( function() {
        var name = jQuery(this).attr('name');
        var form = jQuery(this).closest('form');
        jQuery.ajax({
            url: '<% RT->Config->Get('WebPath') %>/Helpers/BuildFormatString?' + name + '=1&' + form.serialize(),
            success: function (data) {
                if ( data.status == 'success' ) {
                    form.find('input[name=Format]').val(data.Format);
                    form.find('select[name=CurrentDisplayColumns]').html(data.CurrentDisplayColumns);
                    form.find('select[name=SelectDisplayColumns]').val('').trigger("chosen:updated");
                    form.find('[name=Link],[name=Title],[name=Size],[name=Face]').val('');
                }
                else {
                    alert('<% loc("Failed to update format. Reason:") %>' + ' ' + data.message);
                }
            },
            error: function (xhr, reason) {
                alert('<% loc("Failed to update format. Reason:") %>' + ' ' + reason);
            }
        });
        return false;
    });
});
</script>
<tr>

<td valign="top"><select name="SelectDisplayColumns" multiple="multiple" class="chosen">
% my %seen;
% foreach my $field ( grep !$seen{lc $_}++, @$AvailableColumns) {
<option value="<% $field %>" <% $selected{$field} ? 'selected="selected"' : '' |n%>>\
<% $field =~ /^(?:CustomField|CF)\./ ? $field : loc($field) %></option>
% }
</select></td>
<td>
<div class="row">
<span class="label"><&|/l&>Link</&>:</span>
<span class="value">
<select name="Link">
<option value="None">-</option>
<option value="Display"><&|/l&>Display</&></option>
% if ($IncludeTicketLinks) {
<option value="Take"><&|/l&>Take</&></option>
<option value="Respond"><&|/l&>Respond</&></option>
<option value="Comment"><&|/l&>Comment</&></option>
<option value="Resolve"><&|/l&>Resolve</&></option>
% }
</select>
</span>
</div>
<div class="row">
<span class="label"><&|/l&>Title</&>:</span>
<span class="value"><input name="Title" size="10" /></span>
</div>
<div class="row">
<span class="label"><&|/l&>Size</&>:</span>
<span class="value"><select name="Size">
<option value="">-</option>
<option value="Small"><&|/l&>Small</&></option>
<option value="Large"><&|/l&>Large</&></option>
</select>
</span>
</div>
<div class="row">
<span class="label"><&|/l&>Style</&>:</span>
<span class="value"><select name="Face">
<option value="">-</option>
<option value="Bold"><&|/l&>Bold</&></option>
<option value="Italic"><&|/l&>Italic</&></option>
</select>
</span>
</div>
</td>

<td><input type="submit" class="button" name="AddCol" value=" &rarr; " /></td>

<td valign="top">
<select size="8" name="CurrentDisplayColumns">
% my $i=0;
% my $current = $ARGS{CurrentDisplayColumns} || ''; $current =~ s/^\d+>//;
% foreach my $field ( @$CurrentFormat ) {
<option value="<% $i++ %>><% $field->{Column} %>" <% $field->{Column} eq $current ? 'selected="selected"' : '' |n%>>\
<% $field->{Column} =~ /^(?:CustomField|CF)\./ ? $field->{Column} : loc( $field->{Column} ) %></option>
% }
</select>
<br />
<center>
<input type="submit" class="button" name="ColUp" value=" &uarr; " />
<input type="submit" class="button" name="ColDown" value=" &darr; " />
<input type="submit" class="button" name="RemoveCol" value="<%loc('Delete')%>" />
</center>
</td>

</tr>
</table>

<%init>
my $selected = $ARGS{AddCol} ? [] : $ARGS{SelectDisplayColumns};
$selected = [ $selected ] unless ref $selected;
my %selected;
$selected{$_}++ for grep {defined} @{ $selected };
</%init>
<%ARGS>
$CurrentFormat => undef
$AvailableColumns => undef
$IncludeTicketLinks => 1
</%ARGS>
