rice-framework/krad-web/src/main/webapp/krad/scripts/krad.actions.js
/**
 *  Locate all bubblepopup content and see if any have a error displayed (via
 *  class "uif-hasError").  If so, locate the action which opens the content
 *  and submit the click event for that action.
 **/
Locate all bubblepopup content and see if any have a error displayed (via
class "uif-hasError").  If so, locate the action which opens the content
and submit the click event for that action.
Locate all bubblepopup content and see if any have a error displayed ( via class " uif - hasError " ) . If so locate the action which opens the content and submit the click event for that action .
function openPopoverContentsWithErrors() {
    var popupFormId;
    var popupContent = {};
    jQuery("div.uif-popupContent-inner").each(function () {
        if (popupContent[this.id] === true) {
            return false;
        }
        popupContent[this.id] = true;
        if (jQuery(".uif-hasError", jQuery(this)).length > 0) {
            popupFormId = this.id;
            var popupTarget = jQuery("[data-popupContentId='" + this.id + "']");
            _openPopover(popupTarget, popupFormId);
        }
    });
}
function openPopoverContentsWithErrors ( ) { var popupFormId ; var popupContent = { } ; jQuery ( "div.uif-popupContent-inner" ) . each ( function ( ) { if ( popupContent [ this . id ] === true ) { return false ; } popupContent [ this . id ] = true ; if ( jQuery ( ".uif-hasError" , jQuery ( this ) ) . length > 0 ) { popupFormId = this . id ; var popupTarget = jQuery ( "[data-popupContentId='" + this . id + "']" ) ; _openPopover ( popupTarget , popupFormId ) ; } } ) ; }
Locate all bubblepopup content and see if any have a error displayed (via
  class "uif-hasError").
Locate all bubblepopup content and see if any have a error displayed ( via class " uif - hasError " ) .
// .detach() apparently creates duplicates in the DOM, and this code eliminates them
