Description
Hello,
I'm using pgGrid (v8.7,0) with column validation inside an Angular v13(13.3.12) App. When the validator fires It should show the tooltip but It's throwing a TypeError. The line that has the problem is:
"options.complete = callback;"
The variable "options" is a boolean, and I think problem is related to strict mode because when I tried a similar line without strict mode, it ran fine.
jquery -> v3.4.0
jquery-ui-pack -> v1.12.3
Thanks in advance.
Fernando.
TypeError: Cannot create property 'complete' on boolean 'true'
Error:
core.mjs:7739
ERROR TypeError: Cannot create property 'complete' on boolean 'true'
at $.Widget. [as _show] (jquery-ui.js:716:3)
at $..._open (jquery-ui.js:15926:8)
at $..._open (jquery-ui.js:139:25)
at $..._updateContent (jquery-ui.js:15855:9)
at $..._updateContent (jquery-ui.js:139:25)
at Object. (jquery-ui.js:15732:10)
at Function.each (jquery.js:391:19)
at $..._setOption (jquery-ui.js:15731:6)
at $..._setOption (jquery-ui.js:139:25)
at $..._setOptions (jquery-ui.js:429:9)
jquery-ui.js CODE:
`
$.each( { show: "fadeIn", hide: "fadeOut" }, function( method, defaultEffect ) {
$.Widget.prototype[ "_" + method ] = function( element, options, callback ) {
if ( typeof options === "string" ) {
options = { effect: options };
}
var hasOptions;
var effectName = !options ?
method :
options === true || typeof options === "number" ?
defaultEffect :
options.effect || defaultEffect;
options = options || {};
if ( typeof options === "number" ) {
options = { duration: options };
}
hasOptions = !$.isEmptyObject( options );
options.complete = callback;
if ( options.delay ) {
element.delay( options.delay );
}
if ( hasOptions && $.effects && $.effects.effect[ effectName ] ) {
element[ method ]( options );
} else if ( effectName !== method && element[ effectName ] ) {
element[ effectName ]( options.duration, options.easing, callback );
} else {
element.queue( function( next ) {
$( this )[ method ]();
if ( callback ) {
callback.call( element[ 0 ] );
}
next();
} );
}
};
} );
`