UNPKG

generator-bingo-dig-h5

Version:

Bingo-dig-h5 generator by BINGO.DIG

88 lines (71 loc) 2.77 kB
var React = require('react'); var Classable = require('../mixins/classable'); var SilverlightHost = React.createClass({ mixins: [Classable], propTypes: { xapPath: React.PropTypes.string }, getDefaultProps: function() { return { xapPath: "" }; }, render: function() { var classes = this.getClasses('dig-silverlight-host', {}); var iframeStyle = { visibility:"hidden", width:0, height:0, border:0 }; return ( <form id="form1" runat="server" style={{height:'100%'}}> <div id="silverlightControlHost" className={classes}> <object width="100%" height="100%" type="application/x-silverlight-2" data="data:application/x-silverlight-2," > <param name="source" value={this.props.xapPath}/> <param name="onerror" value={this._onSilverlightError} /> <param name="background" value="white" /> <param name="minRuntimeVersion" value="4.0.60310.0" /> <param name="autoUpgrade" value="true" /> <a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=4.0.60310.0" style={{textDecoration:'none'}}> <img src="http://go.microsoft.com/fwlink/?LinkId=161376" alt="Get Microsoft Silverlight" style={{borderStyle:'none'}}/> </a> </object> <iframe id="_sl_historyFrame" style={iframeStyle}> </iframe> </div> </form> ); }, _onSilverlightError: function(sender, args) { var appSource = ""; if (sender != null && sender != 0) { appSource = sender.getHost().Source; } var errorType = args.ErrorType; var iErrorCode = args.ErrorCode; if (errorType == "ImageError" || errorType == "MediaError") { return; } var errMsg = "Unhandled Error in Silverlight Application " + appSource + "\n"; errMsg += "Code: " + iErrorCode + " \n"; errMsg += "Category: " + errorType + " \n"; errMsg += "Message: " + args.ErrorMessage + " \n"; if (errorType == "ParserError") { errMsg += "File: " + args.xamlFile + " \n"; errMsg += "Line: " + args.lineNumber + " \n"; errMsg += "Position: " + args.charPosition + " \n"; } else if (errorType == "RuntimeError") { if (args.lineNumber != 0) { errMsg += "Line: " + args.lineNumber + " \n"; errMsg += "Position: " + args.charPosition + " \n"; } errMsg += "MethodName: " + args.methodName + " \n"; } throw new Error(errMsg); } }); module.exports = SilverlightHost;