( function( $ ) { $.fn.ErrorTipBox = function( options ) { var opts = $.extend( {}, $.fn.ErrorTipBox.defaults, options ); var $this = this; var related_widget; var timer; Global.addCss( 'global/widgets/error_tip/ErrorTipBox.css' ); this.cancelRemove = function() { if ( Global.isSet( timer ) ) { clearTimeout( timer ); } }; this.show = function( target, error_string, sec, isWarning ) { related_widget = target; if ( isWarning ) { $( this ).addClass( 'warningtip-box' ); } else { $( this ).removeClass( 'warningtip-box' ); } if ( $.type( error_string ) === 'array' ) { error_string = error_string.join( '
' ); } var error_tip_label = $( this ).find( '.errortip-label' ); error_tip_label.html( error_string ); $( this ).css( 'left', related_widget.offset().left + related_widget.width() + 5 ); if ( related_widget.hasClass( 'a-combobox' ) ) { $( this ).css( 'top', related_widget.offset().top ); } else { $( this ).css( 'top', related_widget.offset().top ); } $( 'body' ).append( this ); if ( sec > 0 ) { timer = setTimeout( function() { $this.remove(); }, sec * 1000 ); } }; this.remove = function() { $( this ).remove(); }; this.each( function() { var o = $.meta ? $.extend( {}, opts, $( this ).data() ) : opts; } ); return this; }; $.fn.ErrorTipBox.defaults = {}; $.fn.ErrorTipBox.html_template = `
`; } )( jQuery );