Merge remote-tracking branch 'origin/develop' into develop
This commit is contained in:
commit
fe01539e17
3 changed files with 11 additions and 4 deletions
|
@ -164,7 +164,7 @@ function stopListening() {
|
||||||
function addEndpoint(widgetId, endpointUrl) {
|
function addEndpoint(widgetId, endpointUrl) {
|
||||||
const u = URL.parse(endpointUrl);
|
const u = URL.parse(endpointUrl);
|
||||||
if (!u || !u.protocol || !u.host) {
|
if (!u || !u.protocol || !u.host) {
|
||||||
console.warn("Invalid origin");
|
console.warn("Invalid origin:", endpointUrl);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -52,11 +52,13 @@ export default React.createClass({
|
||||||
userId: React.PropTypes.string.isRequired,
|
userId: React.PropTypes.string.isRequired,
|
||||||
// UserId of the entity that added / modified the widget
|
// UserId of the entity that added / modified the widget
|
||||||
creatorUserId: React.PropTypes.string,
|
creatorUserId: React.PropTypes.string,
|
||||||
|
waitForIframeLoad: React.PropTypes.bool,
|
||||||
},
|
},
|
||||||
|
|
||||||
getDefaultProps() {
|
getDefaultProps() {
|
||||||
return {
|
return {
|
||||||
url: "",
|
url: "",
|
||||||
|
waitForIframeLoad: true,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -71,7 +73,7 @@ export default React.createClass({
|
||||||
const hasPermissionToLoad = localStorage.getItem(widgetPermissionId);
|
const hasPermissionToLoad = localStorage.getItem(widgetPermissionId);
|
||||||
return {
|
return {
|
||||||
initialising: true, // True while we are mangling the widget URL
|
initialising: true, // True while we are mangling the widget URL
|
||||||
loading: true, // True while the iframe content is loading
|
loading: this.props.waitForIframeLoad, // True while the iframe content is loading
|
||||||
widgetUrl: this._addWurlParams(newProps.url),
|
widgetUrl: this._addWurlParams(newProps.url),
|
||||||
widgetPermissionId: widgetPermissionId,
|
widgetPermissionId: widgetPermissionId,
|
||||||
// Assume that widget has permission to load if we are the user who
|
// Assume that widget has permission to load if we are the user who
|
||||||
|
|
|
@ -133,14 +133,18 @@ module.exports = React.createClass({
|
||||||
'$matrix_avatar_url': user ? MatrixClientPeg.get().mxcUrlToHttp(user.avatarUrl) : '',
|
'$matrix_avatar_url': user ? MatrixClientPeg.get().mxcUrlToHttp(user.avatarUrl) : '',
|
||||||
};
|
};
|
||||||
|
|
||||||
|
app.id = appId;
|
||||||
|
app.name = app.name || app.type;
|
||||||
|
|
||||||
if (app.data) {
|
if (app.data) {
|
||||||
Object.keys(app.data).forEach((key) => {
|
Object.keys(app.data).forEach((key) => {
|
||||||
params['$' + key] = app.data[key];
|
params['$' + key] = app.data[key];
|
||||||
});
|
});
|
||||||
|
|
||||||
|
app.waitForIframeLoad = (app.data.waitForIframeLoad === 'false' ? false : true);
|
||||||
|
console.log("wait for iframe load:", app.waitForIframeLoad, app.id);
|
||||||
}
|
}
|
||||||
|
|
||||||
app.id = appId;
|
|
||||||
app.name = app.name || app.type;
|
|
||||||
app.url = this.encodeUri(app.url, params);
|
app.url = this.encodeUri(app.url, params);
|
||||||
app.creatorUserId = (sender && sender.userId) ? sender.userId : null;
|
app.creatorUserId = (sender && sender.userId) ? sender.userId : null;
|
||||||
|
|
||||||
|
@ -224,6 +228,7 @@ module.exports = React.createClass({
|
||||||
userId={this.props.userId}
|
userId={this.props.userId}
|
||||||
show={this.props.showApps}
|
show={this.props.showApps}
|
||||||
creatorUserId={app.creatorUserId}
|
creatorUserId={app.creatorUserId}
|
||||||
|
waitForIframeLoad={app.waitForIframeLoad}
|
||||||
/>);
|
/>);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue