Skip to content
This repository has been archived by the owner on Sep 11, 2024. It is now read-only.

Commit

Permalink
NoPopout Capability Fix #15744
Browse files Browse the repository at this point in the history
  • Loading branch information
toger5 committed Oct 21, 2021
1 parent d188d32 commit 554bd4c
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,7 @@ export default class WidgetCapabilitiesPromptDialog extends React.PureComponent<

return 0;
});
// const filteredCapabilites = //TODO this would be where the NoPopout capability text can be hidden and approved by default
const checkboxRows = orderedCapabilities.map(([cap, isChecked], i) => {
const text = CapabilityText.for(cap, this.props.widgetKind);
const byline = text.byline
Expand Down
7 changes: 6 additions & 1 deletion src/components/views/elements/AppTile.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,7 @@ interface IState {
error: Error;
menuDisplayed: boolean;
widgetPageTitle: string;
noPopout: boolean;
}

import { logger } from "matrix-js-sdk/src/logger";
Expand Down Expand Up @@ -155,6 +156,7 @@ export default class AppTile extends React.Component<IProps, IState> {
error: null,
menuDisplayed: false,
widgetPageTitle: this.props.widgetPageTitle,
noPopout: true,
};
}

Expand Down Expand Up @@ -295,6 +297,9 @@ export default class AppTile extends React.Component<IProps, IState> {
if (WidgetType.JITSI.matches(this.props.app.type)) {
this.sgWidget.widgetApi.transport.send(ElementWidgetActions.ClientReady, {});
}
this.setState({
noPopout: this.sgWidget.widgetApi.hasCapability(MatrixCapabilities.NoPopout)
});
};

private onAction = (payload): void => {
Expand Down Expand Up @@ -512,7 +517,7 @@ export default class AppTile extends React.Component<IProps, IState> {
{ this.props.showTitle && this.getTileTitle() }
</span>
<span className="mx_AppTileMenuBarWidgets">
{ this.props.showPopout && <AccessibleButton
{(this.props.showPopout && !this.state.noPopout) && <AccessibleButton
className="mx_AppTileMenuBar_iconButton mx_AppTileMenuBar_iconButton_popout"
title={_t('Popout widget')}
onClick={this.onPopoutWidgetClick}
Expand Down
3 changes: 3 additions & 0 deletions src/widgets/CapabilityText.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,9 @@ export class CapabilityText {
[MatrixCapabilities.MSC2931Navigate]: {
[GENERIC_WIDGET_KIND]: _td("Change which room, message, or user you're viewing"),
},
[MatrixCapabilities.NoPopout]: {
[GENERIC_WIDGET_KIND]: _td("Prohibits Element from showing the widget popout button."),
},
};

private static stateSendRecvCaps: ISendRecvStaticCapText = {
Expand Down

0 comments on commit 554bd4c

Please sign in to comment.