%   my $condition = $CustomField->ConditionedBy;
%   if ($condition) {
%       my $condition_cf = $Object->LoadCustomFieldByIdentifier($condition->{CF});
%       if ($condition_cf->id) {
%           my $condition_val = $condition->{vals} || '';
%           my @condition_vals = ref($condition_val) eq 'ARRAY' ? @$condition_val : ($condition_val);
%           my ($cf_id, $condition_grouping, $condition_name);
%           my $request_path = $HTML::Mason::Commands::r->path_info;
%           my $selfservice_cf_groupings = RT->Config->Get('SelfServiceCustomFieldGroupings') || 0;
%           if ($request_path =~ qr{^/SelfService/(Create|Update)\.html} && !$selfservice_cf_groupings) {
%               $cf_id = GetCustomFieldInputName(Object => $Object, CustomField => $CustomField);
%               $condition_name = GetCustomFieldInputName(Object => $Object, CustomField => $condition_cf);
%            } else {
%               $Grouping =~ s/\W//g if $Grouping;
%               $cf_id = GetCustomFieldInputName(Object => $Object, CustomField => $CustomField, Grouping => $Grouping );
%               $condition_grouping = $condition_cf->_findGrouping($Object);
%               $condition_grouping =~ s/\W//g if $condition_grouping;
%               $condition_name = GetCustomFieldInputName(Object => $Object, CustomField => $condition_cf, Grouping => $condition_grouping );
%           }
<script type="text/javascript">
jQuery(function() {
    var condition_selector = get_selector('<% $condition_name |n%>', '<% $condition_cf->Type |n%>', '<% $condition_cf->RenderType |n%>');
    var alternative_selector = '#' + '<% $condition_name |n%>'.replace(/[\W]/g, '_') + '_chosen';
%           if ($condition_cf->RenderType eq 'Dropdown') {
    waitForElm('.dropdown.CF-<% $condition_cf->id %>-Edit').then((elm) => {
        jQuery(condition_selector).trigger('change');
    });
%           }
    if (jQuery(condition_selector).length) {
        respondToVisibility(jQuery(condition_selector).get(0), visible => {
            if(visible) {
                jQuery(condition_selector).trigger('change');
            }
        });
    }
    jQuery(condition_selector).change(function() {
        var cf_id = '<% $cf_id |h,n%>';
        cf_id = cf_id.replace(/:/g,'\\:');
        var condition_vals = ["<% join('", "', @condition_vals) |n%>"];
        var condition_selector_vals = get_cf_current_form_values(condition_selector, '<% $condition_cf->Type |n%>', '<% $condition_cf->RenderType |n%>', <% $condition_cf->SingleValue ? 'true' : 'false' %>);

        var condition_met = false;
        if (jQuery(condition_selector).is(':visible') || jQuery(alternative_selector).is(":visible") || (jQuery(condition_selector).closest('form').hasClass('inline-edit') && jQuery('.inline-edit-display .custom-field-<% $condition_cf->id %>').is(':visible'))) {
            condition_met = condition_is_met(condition_vals, condition_selector_vals, "<% $condition->{op} |n%>", '<% $session{CurrentUser}->LanguageHandle->language_tag %>');
        }

        if (condition_met) {
            if (jQuery('#'+cf_id).length) {
                jQuery('#'+cf_id).closest('<% $ParentSelector %>').show();
                jQuery('#'+cf_id).closest('<% $ParentSelector %>').triggerHandler('show');
            } else {
                jQuery('input[name="'+cf_id+'"], textarea[name="'+cf_id+'"]').closest('<% $ParentSelector %>').show();
                jQuery('input[name="'+cf_id+'"]').first().triggerHandler('show');
                jQuery('textarea[name="'+cf_id+'"]').triggerHandler('show');
            }
        }
        else {
            if (jQuery('#'+cf_id).length) {
                jQuery('#'+cf_id).closest('<% $ParentSelector %>').hide();
                jQuery('#'+cf_id).closest('<% $ParentSelector %>').triggerHandler('hide');
            } else {
                jQuery('input[name="'+cf_id+'"], textarea[name="'+cf_id+'"]').closest('<% $ParentSelector %>').hide();
                jQuery('input[name="'+cf_id+'"]').first().triggerHandler('hide');
                jQuery('textarea[name="'+cf_id+'"]').triggerHandler('hide');
            }
        }
    });

    jQuery(condition_selector).closest('<% $ParentSelector %>').on('hide', function() {
        var cf_id = '<% $cf_id |h,n%>';
        cf_id = cf_id.replace(/:/g,'\\:');
        if (jQuery('#'+cf_id).length) {
            jQuery('#'+cf_id).closest('<% $ParentSelector %>').hide();
            jQuery('#'+cf_id).closest('<% $ParentSelector %>').triggerHandler('hide');
        } else {
            jQuery('input[name="'+cf_id+'"], textarea[name="'+cf_id+'"]').closest('<% $ParentSelector %>').hide();
            jQuery('input[name="'+cf_id+'"]').first().triggerHandler('hide');
            jQuery('textarea[name="'+cf_id+'"]').triggerHandler('hide');
        }
    });

    jQuery(condition_selector).closest('<% $ParentSelector %>').on('show', function() {
        var cf_id = '<% $cf_id |h,n%>';
        cf_id = cf_id.replace(/:/g,'\\:');
        var condition_vals = ["<% join('", "', @condition_vals) |n%>"];
        var condition_selector_vals = get_cf_current_form_values(condition_selector, '<% $condition_cf->Type |n%>', '<% $condition_cf->RenderType |n%>');

        var condition_met = false;
        condition_met = condition_is_met(condition_vals, condition_selector_vals, "<% $condition->{op} |n%>", '<% $session{CurrentUser}->LanguageHandle->language_tag %>');

        if (condition_met) {
            if (jQuery('#'+cf_id).length) {
                jQuery('#'+cf_id).closest('<% $ParentSelector %>').show();
                jQuery('#'+cf_id).closest('<% $ParentSelector %>').triggerHandler('show');
            } else {
                jQuery('input[name="'+cf_id+'"], textarea[name="'+cf_id+'"]').closest('<% $ParentSelector %>').show();
                jQuery('input[name="'+cf_id+'"]').first().triggerHandler('show');
                jQuery('textarea[name="'+cf_id+'"]').triggerHandler('show');
            }
        }
        else {
            if (jQuery('#'+cf_id).length) {
                jQuery('#'+cf_id).closest('<% $ParentSelector %>').hide();
                jQuery('#'+cf_id).closest('<% $ParentSelector %>').triggerHandler('hide');
            } else {
                jQuery('input[name="'+cf_id+'"], textarea[name="'+cf_id+'"]').closest('<% $ParentSelector %>').hide();
                jQuery('input[name="'+cf_id+'"]').first().triggerHandler('hide');
                jQuery('textarea[name="'+cf_id+'"]').triggerHandler('hide');
            }
        }
    });

    document.body.addEventListener('htmx:load', function(evt) {
        var cf_container = jQuery(evt.detail.elt);
        if (cf_container.hasClass('edit-custom-fields') && cf_container.find(condition_selector).length) {
            jQuery(condition_selector).change(function() {
                var cf_id = '<% $cf_id |h,n%>';
                cf_id = cf_id.replace(/:/g,'\\:');
                var condition_vals = ["<% join('", "', @condition_vals) |n%>"];
                var condition_selector_vals = get_cf_current_form_values(condition_selector, '<% $condition_cf->Type |n%>', '<% $condition_cf->RenderType |n%>', <% $condition_cf->SingleValue ? 'true' : 'false' %>);

                var condition_met = false;
                if (jQuery(condition_selector).is(':visible') || jQuery(alternative_selector).is(":visible") || (jQuery(condition_selector).closest('form').hasClass('inline-edit') && jQuery('.inline-edit-display .custom-field-<% $condition_cf->id %>').is(':visible'))) {
                    condition_met = condition_is_met(condition_vals, condition_selector_vals, "<% $condition->{op} |n%>", '<% $session{CurrentUser}->LanguageHandle->language_tag %>');
                }

                if (condition_met) {
                    if (jQuery('#'+cf_id).length) {
                        jQuery('#'+cf_id).closest('<% $ParentSelector %>').show();
                        jQuery('#'+cf_id).closest('<% $ParentSelector %>').triggerHandler('show');
                    } else {
                        jQuery('input[name="'+cf_id+'"], textarea[name="'+cf_id+'"]').closest('<% $ParentSelector %>').show();
                        jQuery('input[name="'+cf_id+'"]').first().triggerHandler('show');
                        jQuery('textarea[name="'+cf_id+'"]').triggerHandler('show');
                    }
                }
                else {
                    if (jQuery('#'+cf_id).length) {
                        jQuery('#'+cf_id).closest('<% $ParentSelector %>').hide();
                        jQuery('#'+cf_id).closest('<% $ParentSelector %>').triggerHandler('hide');
                    } else {
                        jQuery('input[name="'+cf_id+'"], textarea[name="'+cf_id+'"]').closest('<% $ParentSelector %>').hide();
                        jQuery('input[name="'+cf_id+'"]').first().triggerHandler('hide');
                        jQuery('textarea[name="'+cf_id+'"]').triggerHandler('hide');
                    }
                }
            });

            jQuery(condition_selector).closest('<% $ParentSelector %>').on('hide', function() {
                var cf_id = '<% $cf_id |h,n%>';
                cf_id = cf_id.replace(/:/g,'\\:');
                if (jQuery('#'+cf_id).length) {
                    jQuery('#'+cf_id).closest('<% $ParentSelector %>').hide();
                    jQuery('#'+cf_id).closest('<% $ParentSelector %>').triggerHandler('hide');
                } else {
                    jQuery('input[name="'+cf_id+'"], textarea[name="'+cf_id+'"]').closest('<% $ParentSelector %>').hide();
                    jQuery('input[name="'+cf_id+'"]').first().triggerHandler('hide');
                    jQuery('textarea[name="'+cf_id+'"]').triggerHandler('hide');
                }
            });

            jQuery(condition_selector).closest('<% $ParentSelector %>').on('show', function() {
                var cf_id = '<% $cf_id |h,n%>';
                cf_id = cf_id.replace(/:/g,'\\:');
                var condition_vals = ["<% join('", "', @condition_vals) |n%>"];
                var condition_selector_vals = get_cf_current_form_values(condition_selector, '<% $condition_cf->Type |n%>', '<% $condition_cf->RenderType |n%>');

                var condition_met = false;
                condition_met = condition_is_met(condition_vals, condition_selector_vals, "<% $condition->{op} |n%>", '<% $session{CurrentUser}->LanguageHandle->language_tag %>');

                if (condition_met) {
                    if (jQuery('#'+cf_id).length) {
                        jQuery('#'+cf_id).closest('<% $ParentSelector %>').show();
                        jQuery('#'+cf_id).closest('<% $ParentSelector %>').triggerHandler('show');
                    } else {
                        jQuery('input[name="'+cf_id+'"], textarea[name="'+cf_id+'"]').closest('<% $ParentSelector %>').show();
                        jQuery('input[name="'+cf_id+'"]').first().triggerHandler('show');
                        jQuery('textarea[name="'+cf_id+'"]').triggerHandler('show');
                    }
                }
                else {
                    if (jQuery('#'+cf_id).length) {
                        jQuery('#'+cf_id).closest('<% $ParentSelector %>').hide();
                        jQuery('#'+cf_id).closest('<% $ParentSelector %>').triggerHandler('hide');
                    } else {
                        jQuery('input[name="'+cf_id+'"], textarea[name="'+cf_id+'"]').closest('<% $ParentSelector %>').hide();
                        jQuery('input[name="'+cf_id+'"]').first().triggerHandler('hide');
                        jQuery('textarea[name="'+cf_id+'"]').triggerHandler('hide');
                    }
                }
            });
        }
    });
%           if ($condition_cf->RenderType eq 'List') {
    jQuery(condition_selector).first().triggerHandler('change');
%           } else {
    jQuery(condition_selector).triggerHandler('change');
%           }
});
</script>
%       }
%   }
<%ARGS>
$CustomField
$Object
$Grouping => undef
$ParentSelector => 'tr'
</%ARGS>