|
|
@@ -64,11 +64,14 @@ class CopyDropdown extends React.Component {
|
|
|
}
|
|
|
|
|
|
generatePermalink() {
|
|
|
- const { pageId } = this.props;
|
|
|
+ const { pageId, isShareLinkMode } = this.props;
|
|
|
|
|
|
if (pageId == null) {
|
|
|
return null;
|
|
|
}
|
|
|
+ if (isShareLinkMode) {
|
|
|
+ return decodeURI(`${origin}/share/${pageId}`);
|
|
|
+ }
|
|
|
|
|
|
return decodeURI(`${origin}/${pageId}${this.uriParams}`);
|
|
|
}
|
|
|
@@ -90,7 +93,9 @@ class CopyDropdown extends React.Component {
|
|
|
);
|
|
|
|
|
|
render() {
|
|
|
- const { t, pageId } = this.props;
|
|
|
+ const {
|
|
|
+ t, pageId, isShareLinkMode,
|
|
|
+ } = this.props;
|
|
|
const { isParamsAppended } = this.state;
|
|
|
|
|
|
const pagePathWithParams = this.generatePagePathWithParams();
|
|
|
@@ -98,17 +103,19 @@ class CopyDropdown extends React.Component {
|
|
|
const permalink = this.generatePermalink();
|
|
|
|
|
|
const { DropdownItemContents } = this;
|
|
|
+ const copyTarget = isShareLinkMode ? `copyShareLink${pageId}` : 'copyPagePathDropdown';
|
|
|
|
|
|
return (
|
|
|
<>
|
|
|
- <UncontrolledDropdown id="copyPagePathDropdown" className="grw-copy-dropdown">
|
|
|
-
|
|
|
+ <UncontrolledDropdown id={copyTarget} className="grw-copy-dropdown">
|
|
|
<DropdownToggle
|
|
|
caret
|
|
|
className="d-block text-muted bg-transparent btn-copy border-0"
|
|
|
style={this.props.buttonStyle}
|
|
|
>
|
|
|
- <i className="ti-clipboard"></i>
|
|
|
+ { isShareLinkMode ? (
|
|
|
+ <>Copy Link</>
|
|
|
+ ) : (<i className="ti-clipboard"></i>)}
|
|
|
</DropdownToggle>
|
|
|
|
|
|
<DropdownMenu>
|
|
|
@@ -146,7 +153,6 @@ class CopyDropdown extends React.Component {
|
|
|
<DropdownItemContents title={t('copy_to_clipboard.Page URL')} contents={pagePathUrl} />
|
|
|
</DropdownItem>
|
|
|
</CopyToClipboard>
|
|
|
-
|
|
|
<DropdownItem divider className="my-0"></DropdownItem>
|
|
|
|
|
|
{/* Parmanent Link */}
|
|
|
@@ -183,7 +189,7 @@ class CopyDropdown extends React.Component {
|
|
|
|
|
|
</UncontrolledDropdown>
|
|
|
|
|
|
- <Tooltip placement="bottom" isOpen={this.state.tooltipOpen} target="copyPagePathDropdown" fade={false}>
|
|
|
+ <Tooltip placement="bottom" isOpen={this.state.tooltipOpen} target={copyTarget} fade={false}>
|
|
|
copied!
|
|
|
</Tooltip>
|
|
|
</>
|
|
|
@@ -198,6 +204,7 @@ CopyDropdown.propTypes = {
|
|
|
pagePath: PropTypes.string.isRequired,
|
|
|
pageId: PropTypes.string,
|
|
|
buttonStyle: PropTypes.object,
|
|
|
+ isShareLinkMode: PropTypes.bool,
|
|
|
};
|
|
|
|
|
|
export default withTranslation()(CopyDropdown);
|