diff options
Diffstat (limited to 'rt/share/html/Elements/EditCustomFieldSelect')
-rw-r--r-- | rt/share/html/Elements/EditCustomFieldSelect | 31 |
1 files changed, 15 insertions, 16 deletions
diff --git a/rt/share/html/Elements/EditCustomFieldSelect b/rt/share/html/Elements/EditCustomFieldSelect index 662c188..9fcebfb 100644 --- a/rt/share/html/Elements/EditCustomFieldSelect +++ b/rt/share/html/Elements/EditCustomFieldSelect @@ -50,12 +50,10 @@ %# (perhaps by tweaking the .display style?) % my $selected = 0; % my @category; -% my $id = $NamePrefix . $CustomField->Id; % my $out = $m->scomp('SELF:options', %ARGS, SelectedRef => \$selected, CategoryRef => \@category); % if (!$HideCategory and @category and not $CustomField->BasedOnObj->id) { - <script type="text/javascript" src="<%RT->Config->Get('WebPath')%>/NoAuth/js/cascaded.js"></script> %# XXX - Hide this select from w3m? - <select onchange="filter_cascade(<% "$id-Values" |n,j%>, this.value)" name="<% $id %>-Category" class="CF-<%$CustomField->id%>-Edit"> + <select onchange="filter_cascade_by_id(<% $name |n,j %>, this.value)" name="<% $name %>-Category" class="CF-<%$CustomField->id%>-Edit"> <option value=""<% !$selected && qq[ selected="selected"] |n %>><&|/l&>-</&></option> % foreach my $cat (@category) { % my ($depth, $name) = @$cat; @@ -63,10 +61,10 @@ % } </select><br /> % } elsif ($CustomField->BasedOnObj->id) { -<script type="text/javascript" src="<%RT->Config->Get('WebPath')%>/NoAuth/js/cascaded.js"></script> + <script type="text/javascript"><!-- jQuery( function () { - var basedon = jQuery('[name^=<% $NamePrefix . $CustomField->BasedOnObj->id %>-Value][type!=hidden]:input:not(.hidden)'); + var basedon = jQuery('[name^="'+<% $BasedOnName || $NamePrefix . $CustomField->BasedOnObj->id . '-Value' |n,j %>+'"][type!="hidden"]:input:not(.hidden)'); basedon.each( function() { var oldchange = jQuery(this).onchange; jQuery(this).change( function () { @@ -82,10 +80,10 @@ jQuery( function () { } }); } - filter_cascade( - <% "$id-Values" |n,j%>, + filter_cascade_by_id( + <% $name |n,j%>, vals, - 1 + true ); if (oldchange != null) oldchange(); @@ -104,7 +102,7 @@ jQuery( function () { % if ( $RenderType eq 'List' ) { <fieldset class="cfedit"> -<div data-name="<%$id%>-Values" id="<%$id%>-Values"> +<div data-name="<%$name%>" id="<%$name%>"> % if ( $checktype eq 'radio' ) { <div class="none"> <input class="none" type="<% $checktype %>" name="<% $name %>" id="<% $name %>-none" value="" <% keys %default ? '' : ' checked="checked"' |n%> /> @@ -125,14 +123,14 @@ jQuery( function () { % } else { % if (@category) { %# this hidden select is to supply a full list of values, -%# see filter_cascade() in js/cascaded.js - <select name="<%$id%>-Values-Complete" id="<%$id%>-Values-Complete" class="hidden" disabled="disabled"> +%# see filter_cascade_select() in js/cascaded.js + <select name="<%$name%>-Complete" id="<%$name%>-Complete" class="hidden" disabled="disabled"> <option value=""<% !$selected && qq[ selected="selected"] |n %>><&|/l&>(no value)</&></option> % $m->out($out); </select> % } <select - name="<%$id%>-Values" id="<%$id%>-Values" class="CF-<%$CustomField->id%>-Edit" + name="<%$name%>" id="<%$name%>" class="CF-<%$CustomField->id%>-Edit" % if ( $Rows && ( $Multiple || !@category || $RenderType eq 'Select box') ) { size="<% $Rows %>" % } @@ -149,12 +147,11 @@ if ( $RenderType eq 'Dropdown' ) { $Rows = 0; } -# The following is for rendering checkboxes / radio buttons only my ($checktype, $name); -if ( $MaxValues == 1 ) { - ($checktype, $name) = ('radio', $NamePrefix . $CustomField->Id . '-Value'); +if ( $MaxValues == 1 and $RenderType eq 'List' ) { + ($checktype, $name) = ('radio', $Name || $NamePrefix . $CustomField->Id . '-Value'); } else { - ($checktype, $name) = ('checkbox', $NamePrefix . $CustomField->Id . '-Values'); + ($checktype, $name) = ('checkbox', $Name || $NamePrefix . $CustomField->Id . '-Values'); } @Default = grep defined && length, @Default; @@ -167,6 +164,8 @@ my %default = map {lc $_ => 1} @Default; $Object => undef $CustomField => undef $NamePrefix => undef +$Name => undef +$BasedOnName => undef @Default => () $Values => undef $Multiple => 0 |