Join the #BuildWithBuildAgent Challenge! Get recognized, earn exclusive swag, and inspire the ServiceNow Community with what you can build using Build Agent.  Join the Challenge.

close spmodal using widget button in widget

avinash kirde1
Tera Contributor

c.onWidget = function(widgetId, request){

spModal.open({

title: 'Check-in',

widget: widgetId,

buttons: [],

widgetInput: {table: 'x_138031_myTable',

sys_id: request.id,

}

}).then(function(){

console.log('widget dismissed');

});

Below is the code which i have written in client side script of widget. Basically i  am using spModal to show another widget as pop up on current widget. The same pop i am trying to close once submit butto is clicked. but as of now its not getting closed can you please modify the below code
1 REPLY 1

Ratnakar7
Mega Sage

Hi @avinash kirde1 ,

 

To close the spModal from your widget, you can use the dismiss method. Here's how you can modify your code:

c.onWidget = function(widgetId, request) {
    var modalInstance;

    spModal.open({
        title: 'Check-in',
        widget: widgetId,
        buttons: [],
        widgetInput: {
            table: 'x_138031_myTable',
            sys_id: request.id,
        },
    }).then(function(instance) {
        modalInstance = instance; // store the modal instance for later use
        console.log('widget dismissed');
    });

    // Assume you have a button with id 'submitBtn' in your widget
    $('#' + widgetId).on('click', '#submitBtn', function() {
        // Perform your submit logic here

        // Close the modal when done
        if (modalInstance) {
            modalInstance.dismiss();
        }
    });
};

 

Also, refer similar thread - https://www.servicenow.com/community/developer-forum/close-the-spmodal-from-embeded-widget/m-p/13716...

 

Thanks,

Ratnakar