mirror of
https://github.com/vector-im/element-web.git
synced 2024-11-16 21:24:59 +08:00
link to ShareDialog from GroupView, RoomView, UserSettings & MemberInfo
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
This commit is contained in:
parent
64bcf6fd7e
commit
7f1ce52dd3
@ -562,6 +562,13 @@ export default React.createClass({
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
|
_onShareClick: function() {
|
||||||
|
const ShareDialog = sdk.getComponent("dialogs.ShareDialog");
|
||||||
|
Modal.createTrackedDialog('share community dialog', '', ShareDialog, {
|
||||||
|
target: this._matrixClient.getGroup(this.props.groupId),
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
_onCancelClick: function() {
|
_onCancelClick: function() {
|
||||||
this._closeSettings();
|
this._closeSettings();
|
||||||
},
|
},
|
||||||
@ -1207,6 +1214,7 @@ export default React.createClass({
|
|||||||
shortDescNode = <span onClick={onGroupHeaderItemClick}>{ summary.profile.short_description }</span>;
|
shortDescNode = <span onClick={onGroupHeaderItemClick}>{ summary.profile.short_description }</span>;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.state.editing) {
|
if (this.state.editing) {
|
||||||
rightButtons.push(
|
rightButtons.push(
|
||||||
<AccessibleButton className="mx_GroupView_textButton mx_RoomHeader_textButton"
|
<AccessibleButton className="mx_GroupView_textButton mx_RoomHeader_textButton"
|
||||||
@ -1231,6 +1239,11 @@ export default React.createClass({
|
|||||||
</AccessibleButton>,
|
</AccessibleButton>,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
rightButtons.push(
|
||||||
|
<AccessibleButton className="mx_GroupHeader_button" onClick={this._onShareClick} title={_t('Share Community')} key="_shareButton">
|
||||||
|
<TintableSvg src="img/icons-share.svg" width="16" height="16" />
|
||||||
|
</AccessibleButton>,
|
||||||
|
);
|
||||||
if (this.props.collapsedRhs) {
|
if (this.props.collapsedRhs) {
|
||||||
rightButtons.push(
|
rightButtons.push(
|
||||||
<AccessibleButton className="mx_GroupHeader_button"
|
<AccessibleButton className="mx_GroupHeader_button"
|
||||||
|
@ -1074,6 +1074,14 @@ module.exports = React.createClass({
|
|||||||
</div>;
|
</div>;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
onSelfShareClick: function() {
|
||||||
|
const cli = MatrixClientPeg.get();
|
||||||
|
const ShareDialog = sdk.getComponent("dialogs.ShareDialog");
|
||||||
|
Modal.createTrackedDialog('share self dialog', '', ShareDialog, {
|
||||||
|
target: cli.getUser(this._me),
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
_showSpoiler: function(event) {
|
_showSpoiler: function(event) {
|
||||||
const target = event.target;
|
const target = event.target;
|
||||||
target.innerHTML = target.getAttribute('data-spoiler');
|
target.innerHTML = target.getAttribute('data-spoiler');
|
||||||
@ -1295,10 +1303,13 @@ module.exports = React.createClass({
|
|||||||
|
|
||||||
<div className="mx_UserSettings_section">
|
<div className="mx_UserSettings_section">
|
||||||
<div className="mx_UserSettings_advanced">
|
<div className="mx_UserSettings_advanced">
|
||||||
{ _t("Logged in as:") } { this._me }
|
{ _t("Logged in as:") + ' ' }
|
||||||
|
<span onClick={this.onSelfShareClick} className="mx_UserSettings_link">
|
||||||
|
{ this._me }
|
||||||
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div className="mx_UserSettings_advanced">
|
<div className="mx_UserSettings_advanced">
|
||||||
{ _t('Access Token:') }
|
{ _t('Access Token:') + ' ' }
|
||||||
<span className="mx_UserSettings_advanced_spoiler"
|
<span className="mx_UserSettings_advanced_spoiler"
|
||||||
onClick={this._showSpoiler}
|
onClick={this._showSpoiler}
|
||||||
data-spoiler={MatrixClientPeg.get().getAccessToken()}>
|
data-spoiler={MatrixClientPeg.get().getAccessToken()}>
|
||||||
|
@ -632,6 +632,13 @@ module.exports = withMatrixClient(React.createClass({
|
|||||||
);
|
);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
onShareUserClick: function() {
|
||||||
|
const ShareDialog = sdk.getComponent("dialogs.ShareDialog");
|
||||||
|
Modal.createTrackedDialog('share room member dialog', '', ShareDialog, {
|
||||||
|
target: this.props.member,
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
_renderUserOptions: function() {
|
_renderUserOptions: function() {
|
||||||
const cli = this.props.matrixClient;
|
const cli = this.props.matrixClient;
|
||||||
const member = this.props.member;
|
const member = this.props.member;
|
||||||
@ -705,13 +712,18 @@ module.exports = withMatrixClient(React.createClass({
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!ignoreButton && !readReceiptButton && !insertPillButton && !inviteUserButton) return null;
|
const shareUserButton = (
|
||||||
|
<AccessibleButton onClick={this.onShareUserClick} className="mx_MemberInfo_field">
|
||||||
|
{ _t('Share Link to User') }
|
||||||
|
</AccessibleButton>
|
||||||
|
);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div>
|
<div>
|
||||||
<h3>{ _t("User Options") }</h3>
|
<h3>{ _t("User Options") }</h3>
|
||||||
<div className="mx_MemberInfo_buttons">
|
<div className="mx_MemberInfo_buttons">
|
||||||
{ readReceiptButton }
|
{ readReceiptButton }
|
||||||
|
{ shareUserButton }
|
||||||
{ insertPillButton }
|
{ insertPillButton }
|
||||||
{ ignoreButton }
|
{ ignoreButton }
|
||||||
{ inviteUserButton }
|
{ inviteUserButton }
|
||||||
|
@ -149,6 +149,13 @@ module.exports = React.createClass({
|
|||||||
dis.dispatch({ action: 'show_right_panel' });
|
dis.dispatch({ action: 'show_right_panel' });
|
||||||
},
|
},
|
||||||
|
|
||||||
|
onShareRoomClick: function(ev) {
|
||||||
|
const ShareDialog = sdk.getComponent("dialogs.ShareDialog");
|
||||||
|
Modal.createTrackedDialog('share room dialog', '', ShareDialog, {
|
||||||
|
target: this.props.room,
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
_hasUnreadPins: function() {
|
_hasUnreadPins: function() {
|
||||||
const currentPinEvent = this.props.room.currentState.getStateEvents("m.room.pinned_events", '');
|
const currentPinEvent = this.props.room.currentState.getStateEvents("m.room.pinned_events", '');
|
||||||
if (!currentPinEvent) return false;
|
if (!currentPinEvent) return false;
|
||||||
@ -379,6 +386,14 @@ module.exports = React.createClass({
|
|||||||
</AccessibleButton>;
|
</AccessibleButton>;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let shareRoomButton;
|
||||||
|
if (this.props.inRoom) {
|
||||||
|
shareRoomButton =
|
||||||
|
<AccessibleButton className="mx_RoomHeader_button" onClick={this.onShareRoomClick} title={_t('Share room')}>
|
||||||
|
<TintableSvg src="img/icons-share.svg" width="16" height="16" />
|
||||||
|
</AccessibleButton>;
|
||||||
|
}
|
||||||
|
|
||||||
let rightPanelButtons;
|
let rightPanelButtons;
|
||||||
if (this.props.collapsedRhs) {
|
if (this.props.collapsedRhs) {
|
||||||
rightPanelButtons =
|
rightPanelButtons =
|
||||||
@ -400,6 +415,7 @@ module.exports = React.createClass({
|
|||||||
<div className="mx_RoomHeader_rightRow">
|
<div className="mx_RoomHeader_rightRow">
|
||||||
{ settingsButton }
|
{ settingsButton }
|
||||||
{ pinnedEventsButton }
|
{ pinnedEventsButton }
|
||||||
|
{ shareRoomButton }
|
||||||
{ manageIntegsButton }
|
{ manageIntegsButton }
|
||||||
{ forgetButton }
|
{ forgetButton }
|
||||||
{ searchButton }
|
{ searchButton }
|
||||||
|
Loading…
Reference in New Issue
Block a user