Ui action in workspace
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎03-05-2024 02:26 AM
Hello experts,
I am working on ui action to display custom ui page popup in workspace as well as native view....below is my code-
The only issue is i am not getting how to take assessment instance dynamically here...I took the reference from OOB ui action 'Take assessment' which calls the script include, not so sure how to implement the same in my code
Could anyone please suggest me anything on this?
function pop() {
//GlideDialogWindow.get().destroy();
//alert("Yep");
//var url = 'assessment_take2.do?sysparm_assessable_sysid=' + rowSysId + '&sysparm_assessable_type=' + metricType;
// (1) Find an Assessment Instance [ asmt_assessment_instance] aka 'id'
var AINST0010070 ='b39484488762a1102d0b422e0ebb35c6';
// (2) Fit it's Metric Type / Survey Definition [asmt_metric_type] aka 'type'
var e_q = 'df1459575b4010102d33bff13381c7de';
//IMPORTANT the Assessments "Metric type" must match when you build the URL
// (3) Build the URL
// Read-only: &sysparm_reader_view=true
//var url = 'assessment_take2.do?sysparm_assessable_sysid=' + AINST0010070 + '&sysparm_assessable_type=' + e_q + '&sysparm_reader_view=true';
var url = 'assessment_take2.do?sysparm_assessable_sysid=' + AINST0010070 + '&sysparm_assessable_type=' + e_q;
var options = {
height: '85%',
width: '60%',
title: getMessage('Take Question'),
iframe: url,
onAfterClose: function() {
location.reload();
}
};
var assessmentOverlay = new GlideOverlay(options);
assessmentOverlay.center();
assessmentOverlay.render();
return false;
}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎03-05-2024 02:46 AM
Hi @Utkarsha,
Can you try updating the below scripts and UI Action.
Script Include:-
var FetchAssessmentData = Class.create();
FetchAssessmentData.prototype = {
initialize: function() {
},
getAssessmentData: function() {
var assessmentInstanceSysId;
var metricTypeSysId;
var gr = new GlideRecord('asmt_assessment_instance');
if (gr.get('your_condition')) {
assessmentInstanceSysId = gr.sys_id;
metricTypeSysId = gr.metric_type.sys_id;
}
return {
assessmentInstanceSysId: assessmentInstanceSysId,
metricTypeSysId: metricTypeSysId
};
},
type: 'FetchAssessmentData'
};
UI Action:
function pop() {
var fetchAssessmentData = new FetchAssessmentData();
var assessmentData = fetchAssessmentData.getAssessmentData();
var assessmentInstanceSysId = assessmentData.assessmentInstanceSysId;
var metricTypeSysId = assessmentData.metricTypeSysId;
if (!assessmentInstanceSysId || !metricTypeSysId) {
alert('Assessment data not found.');
return false;
}
var url = 'assessment_take2.do?sysparm_assessable_sysid=' + assessmentInstanceSysId + '&sysparm_assessable_type=' + metricTypeSysId;
var options = {
height: '85%',
width: '60%',
title: getMessage('Take Question'),
iframe: url,
onAfterClose: function() {
location.reload();
}
};
var assessmentOverlay = new GlideOverlay(options);
assessmentOverlay.center();
assessmentOverlay.render();
return false;
}
Please mark this comment as Correct Answer/Helpful if it helped you.
Regards,
Samiksha Gunjate