generator-bingo-dig-h5
Version:
Bingo-dig-h5 generator by BINGO.DIG
88 lines (71 loc) • 2.77 kB
JSX
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;