- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎11-16-2015 01:56 PM
Im doing a small UI macro. On change we want to have some extra text at the top of the change form. And depending on its a comprehensive or emergency change, we want different colors and text.
I got this to work if I declare the variable of type manually, but I can't figure out how to write so the macro fetches the "type" from the current ticket. I tried alot of combo but right now Im stuck in a dead end.
Here is my UI Macro which I then call on with a formatter into the change form.
I though that like 08 would work, but I guess I was wrong. and If I instead use line 07 and comment out 08 it works like a charm, but sadly not so dynamic.
<?xml version="1.0" encoding="utf-8" ?>
<j:jelly trim="false" xmlns:j="jelly:core" xmlns:g="glide" xmlns:j2="null" xmlns:g2="null">
<g:evaluate>
var colors;
var text;
//var test = 'comprehensive';
var test = current.type;
if (test == 'comprehensive')
{
colors = '#FFFF99';
text = "This is a Normal Change";
}
else if (test == 'emergency')
{
colors = '#FF8282';
text = "This is an Emergency Change";
}
</g:evaluate>
<style>
.infotext_change {
margin: auto;
width: 48%;
padding: 3px;
background-color: ${colors};
border: 2px solid #668cff;
text-align: center;
}
</style>
<div class="infotext_change">
${text}
</div>
</j:jelly>
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎11-17-2015 03:30 AM
For some reason it didnt want to show my code 😃
<html>
<style>
.infotext_change {
margin: auto;
width: 48%;
padding: 3px;
border: 2px solid #000000;
text-align: center;
}
</style>
<div class="infotext_change" id='info_change'>
</div>
<script>
function updateChangeInfo(changeType)
{
var getDiv = document.getElementById('info_change');
if (changeType == 'Comprehensive')
{
getDiv.style.backgroundColor = '#FFFF99';
getDiv.innerHTML = "This is a Normal Change";
}
else if (changeType == 'Emergency')
{
getDiv.style.backgroundColor = '#FF8282';
getDiv.innerHTML = "This is an Emergency Change";
}
}
</script>
<script>
addLoadEvent( function() {
updateChangeInfo(g_form.getValue('type'));
});
</script>
</html>
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎11-16-2015 11:35 PM
Instead of 'Current', try to access the field with Glide Form object:
g_form.getValue('type');
Regards,
Hardik Vora
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎11-17-2015 03:08 AM
Sorry, g_form.getValue didnt work there.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎11-16-2015 11:55 PM
New macro
<?xml version="1.0" encoding="utf-8" ?>
<j:jelly trim="false" xmlns:j="jelly:core" xmlns:g="glide" xmlns:j2="null" xmlns:g2="null">
<style>
.infotext_change {
margin: auto;
width: 48%;
padding: 3px;
background-color: ${colors};
border: 2px solid #668cff;
text-align: center;
}
</style>
<div class="infotext_change" id='info_change'>
</div>
<script>
function updateChangeInfo(changeType)
{
var getDiv = document.getElementById('info_change');
if (changeType == 'Comprehensive')
{
getDiv.style.color = '#FFFF99';
getDiv.innerHTML = "This is a Normal Change";
}
else if (changeType == 'Emergency')
{
getDiv.style.color = '#FF8282';
getDiv.innerHTML = "This is an Emergency Change";
}
}
</script>
<script>
addLoadEvent( function() {
updateChangeInfo(g_form.getValue('type'));
});
</script>
</j:jelly>
For making it work on change as well, add the below function call to the onchange client script of 'type' field
updateChangeInfo(g_form.getValue('type'));
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎11-17-2015 03:29 AM
Thanks kalai,
I just tweaked your code abit. changed it from color to background and then I also realized that I didn't need to do this as a macro but I could throw it inside a html-annotation instead. So I removed the jelly stuff as well. Guess I was so into making it as jelly since I just started to learn about it 😃
This is what I putted inside my annotation.
<html>
<style>
.infotext_change {
margin: auto;
width: 48%;
padding: 3px;
border: 2px solid #000000;
text-align: center;
}
</style>
<div class="infotext_change" id='info_change'>
</div>
<script>
function updateChangeInfo(changeType)
{
var getDiv = document.getElementById('info_change');
if (changeType == 'Comprehensive')
{
getDiv.style.backgroundColor = '#FFFF99';
getDiv.innerHTML = "This is a Normal Change";
}
else if (changeType == 'Emergency')
{
getDiv.style.backgroundColor = '#FF8282';
getDiv.innerHTML = "This is an Emergency Change";
}
}
</script>
<script>
addLoadEvent( function() {
updateChangeInfo(g_form.getValue('type'));
});
</script>
</html>