diff options
author | Ivan Kohler <ivan@freeside.biz> | 2014-02-25 18:34:25 -0800 |
---|---|---|
committer | Ivan Kohler <ivan@freeside.biz> | 2014-02-25 18:34:25 -0800 |
commit | 45d35d5739d05e602bc317739485693e0e9ff0b5 (patch) | |
tree | 61801368d96662baff145d3271fd887ca104391c /rt/share/html/Elements/EditCustomFieldSelect | |
parent | 662be3ece2ef8c7f05fcbfaa699d80a6a73ca110 (diff) |
RT 4.0.19
Diffstat (limited to 'rt/share/html/Elements/EditCustomFieldSelect')
-rw-r--r-- | rt/share/html/Elements/EditCustomFieldSelect | 60 |
1 files changed, 42 insertions, 18 deletions
diff --git a/rt/share/html/Elements/EditCustomFieldSelect b/rt/share/html/Elements/EditCustomFieldSelect index 8668bc427..87400ab2e 100644 --- a/rt/share/html/Elements/EditCustomFieldSelect +++ b/rt/share/html/Elements/EditCustomFieldSelect @@ -2,7 +2,7 @@ %# %# COPYRIGHT: %# -%# This software is Copyright (c) 1996-2013 Best Practical Solutions, LLC +%# This software is Copyright (c) 1996-2014 Best Practical Solutions, LLC %# <sales@bestpractical.com> %# %# (Except where explicitly superseded by other copyright notices) @@ -66,50 +66,74 @@ <script type="text/javascript" src="<%RT->Config->Get('WebPath')%>/NoAuth/js/cascaded.js"></script> <script type="text/javascript"><!-- jQuery( function () { - var basedon = document.getElementById(<% $NamePrefix . $CustomField->BasedOnObj->id . "-Values" |n,j%>); - if (basedon != null) { - var oldchange = basedon.onchange; - basedon.onchange = function () { + var basedon = jQuery('[name^=<% $NamePrefix . $CustomField->BasedOnObj->id %>-Value][type!=hidden]:input:not(.hidden)'); + basedon.each( function() { + var oldchange = jQuery(this).onchange; + jQuery(this).change( function () { + var vals; + if ( jQuery(this).is('select') ) { + vals = basedon.first().val(); + } + else { + vals = []; + jQuery(basedon).each( function() { + if ( jQuery(this).is(':checked') ) { + vals.push(jQuery(this).val()); + } + }); + } filter_cascade( <% "$id-Values" |n,j%>, - basedon.value, + vals, 1 ); if (oldchange != null) oldchange(); - }; - basedon.onchange(); + }); + }); + + if ( basedon.is('select') ) { + basedon.change(); + } + else { + basedon.first().change(); } }); --></script> % } -% 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"> - <option value=""<% !$selected && qq[ selected="selected"] |n %>><&|/l&>(no value)</&></option> -% $m->out($out); - </select> -% } % if ( $RenderType eq 'List' ) { <fieldset class="cfedit"> +<div name="<%$id%>-Values" id="<%$id%>-Values"> % if ( $checktype eq 'radio' ) { - <input type="<% $checktype %>" name="<% $name %>" id="<% $name %>-none" value="" <% keys %default ? '' : ' checked="checked"' |n%> /> + <div class="none"> + <input class="none" type="<% $checktype %>" name="<% $name %>" id="<% $name %>-none" value="" <% keys %default ? '' : ' checked="checked"' |n%> /> <label for="<% $name %>-none"><&|/l&>(no value)</&></label><br /> + </div> % } % my $CFVs = $CustomField->Values; % while ( my $value = $CFVs->Next ) { % my $content = $value->Name; % my $labelid = "$name-". $value->id; +<div name="<% $value->Category %>"> <input type="<% $checktype %>" name="<% $name %>" id="<% $labelid %>" value="<% $content %>" <% $default{ lc $content }? ' checked="checked"' : '' |n%> /> <label for="<% $labelid %>"><% $content %></label><br /> +</div> % } +</div> </fieldset> % } 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"> + <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" -% if ( $Rows && ( $Multiple || !@category ) ) { +% if ( $Rows && ( $Multiple || !@category || $RenderType eq 'Select box') ) { size="<% $Rows %>" % } <% $Multiple && qq[multiple="multiple"] |n %> > |