UI Macro Not displaying correctly
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-14-2025 09:04 AM
On our incident form I created a UI macro to show related incidents on the asset field. It is not displaying correctly like the rest of the UI macros. Below is my code, any ideas?
<?xml version="1.0" encoding="utf-8" ?>
<j:jelly trim="false" xmlns:j="jelly:core" xmlns:g="glide">
<g:evaluate var="jvar_guid" expression="gs.generateGUID(this);" />
<j:set var="jvar_n" value="show_asset_incidents_${jvar_guid}:${ref}"/>
<g:reference_decoration_custom id="${jvar_n}" field="${ref}"
title="${gs.getMessage('Show related incidents')}"
onclick="showAssetIncidents('${ref}')">
<span class="tab_square_button tab_header_button tab_ref_contribution icon-tree-right"
aria-label="${HTML:gs.getMessage('Show related incidents')}">
</span>
</g:reference_decoration_custom>
<script>
// Open related incidents in a clean popup (no left nav)
function showAssetIncidents(reference) {
var field = (reference.indexOf('.') > -1) ? reference.split('.').pop() : reference;
var id = g_form.getValue(field); // MUST be field-only, not table.field
if (!id) { alert('Select an Asset first.'); return; }
var url = 'incident_list.do?sysparm_query=' + field + '=' + id;
var w = (window.getTopWindow ? getTopWindow() : window.top);
w.popupOpenFocus(url, 'related_list', 950, 700, '', false, false);
}
// Hide the decoration when empty; show when the field has a value
(function () {
var field = ('${ref}'.indexOf('.') > -1) ? '${ref}'.split('.').pop() : '${ref}';
var deco = document.getElementById('${jvar_n}');
function toggle() { deco.style.display = g_form.getValue(field) ? 'inline-block' : 'none'; }
toggle();
g_form.observe(field, toggle);
})();
</script>
</j:jelly>
0 REPLIES 0