Web: Files: PublicRoom: fixed onCopyPrimaryLink

This commit is contained in:
Nikita Gopienko 2023-10-05 17:41:29 +03:00
parent 3efbc2d49a
commit d0fe772a9e
3 changed files with 19 additions and 13 deletions

View File

@ -2,6 +2,7 @@ import React from "react";
import { inject, observer } from "mobx-react";
import toastr from "@docspace/components/toast/toastr";
import QuickButtons from "../components/QuickButtons";
import copy from "copy-to-clipboard";
export default function withQuickButtons(WrappedComponent) {
class WithQuickButtons extends React.Component {
@ -52,6 +53,15 @@ export default function withQuickButtons(WrappedComponent) {
.catch((err) => toastr.error(err));
};
onCopyPrimaryLink = async () => {
const { t, item, getPrimaryLink } = this.props;
const primaryLink = await getPrimaryLink(item.id);
if (primaryLink) {
copy(primaryLink.sharedTo.shareLink);
toastr.success(t("Files:LinkSuccessfullyCopied"));
}
};
render() {
const { isLoading } = this.state;
@ -80,6 +90,7 @@ export default function withQuickButtons(WrappedComponent) {
onClickDownload={this.onClickDownload}
onClickFavorite={this.onClickFavorite}
folderCategory={folderCategory}
onCopyPrimaryLink={this.onCopyPrimaryLink}
/>
);
@ -109,7 +120,7 @@ export default function withQuickButtons(WrappedComponent) {
const folderCategory =
isTrashFolder || isArchiveFolderRoot || isPersonalFolderRoot;
const { isPublicRoom } = publicRoomStore;
const { isPublicRoom, getPrimaryLink } = publicRoomStore;
return {
theme: auth.settingsStore.theme,
@ -120,6 +131,7 @@ export default function withQuickButtons(WrappedComponent) {
setSharingPanelVisible,
folderCategory,
isPublicRoom,
getPrimaryLink,
};
}
)(observer(WithQuickButtons));

View File

@ -12,7 +12,6 @@ import { isMobile, isTablet } from "react-device-detect";
import { FileStatus, RoomsType } from "@docspace/common/constants";
import { ColorTheme, ThemeType } from "@docspace/components/ColorTheme";
import copy from "copy-to-clipboard";
const QuickButtons = (props) => {
const {
@ -22,6 +21,7 @@ const QuickButtons = (props) => {
sectionWidth,
onClickLock,
onClickDownload,
onCopyPrimaryLink,
isDisabled,
onClickFavorite,
viewAs,
@ -66,12 +66,6 @@ const QuickButtons = (props) => {
const isPublicRoomType = item.roomType === RoomsType.PublicRoom;
const onCopyLink = () => {
console.log("onCopyLink", item); // TODO:
return;
copy();
};
return (
<div className="badges additional-badges">
{isAvailableLockFile && (
@ -108,7 +102,7 @@ const QuickButtons = (props) => {
iconName={LinkReactSvgUrl}
className="badge copy-link icons-group"
size={sizeQuickButton}
onClick={onCopyLink}
onClick={onCopyPrimaryLink}
color={colorLock}
isDisabled={isDisabled}
hoverColor={theme.filesQuickButtons.sharedColor}

View File

@ -1152,10 +1152,10 @@ class ContextOptionsStore {
const primaryLink = await this.publicRoomStore.getPrimaryLink(
item.id
);
copy(primaryLink.sharedTo.shareLink);
toastr.success(t("Files:LinkSuccessfullyCopied"));
return;
if (primaryLink) {
copy(primaryLink.sharedTo.shareLink);
toastr.success(t("Files:LinkSuccessfullyCopied"));
}
},
// onLoad: () => this.onLoadLinks(t, item),
},