Merge remote-tracking branch 'origin/develop' into develop

This commit is contained in:
Weblate 2017-12-06 16:44:52 +00:00
commit fe01539e17
3 changed files with 11 additions and 4 deletions

View file

@ -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;
} }

View file

@ -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

View file

@ -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}
/>); />);
}); });