Web: Files: SharingPanel: Added a template for setting up an external link
This commit is contained in:
parent
06b29a5cb9
commit
e27400e573
@ -27,6 +27,7 @@ const SharingRow = (props) => {
|
||||
onDenyAccessClick,
|
||||
onRemoveUserClick,
|
||||
onShowEmbeddingPanel,
|
||||
accessRight,
|
||||
} = props;
|
||||
|
||||
const linkVisible = selection && selection.length === 1 && item.shareLink;
|
||||
@ -38,6 +39,57 @@ const SharingRow = (props) => {
|
||||
toastr.success(t("LinkCopySuccess"));
|
||||
};
|
||||
|
||||
const advancedOptions = (
|
||||
<>
|
||||
{accessOptions.includes("FullAccess") && (
|
||||
<DropDownItem
|
||||
label="Full access"
|
||||
icon="AccessEditIcon"
|
||||
//onClick={props.onFullAccessClick}
|
||||
/>
|
||||
)}
|
||||
|
||||
{accessOptions.includes("ReadOnly") && (
|
||||
<DropDownItem
|
||||
label="Read only"
|
||||
icon="EyeIcon"
|
||||
//onClick={props.onReadOnlyClick}
|
||||
/>
|
||||
)}
|
||||
|
||||
{accessOptions.includes("Review") && (
|
||||
<DropDownItem
|
||||
label="Review"
|
||||
icon="AccessReviewIcon"
|
||||
//onClick={props.onReviewClick}
|
||||
/>
|
||||
)}
|
||||
|
||||
{accessOptions.includes("Comment") && (
|
||||
<DropDownItem
|
||||
label="Comment"
|
||||
icon="AccessCommentIcon"
|
||||
//onClick={props.onCommentClick}
|
||||
/>
|
||||
)}
|
||||
|
||||
{accessOptions.includes("FormFilling") && (
|
||||
<DropDownItem
|
||||
label="Form filling"
|
||||
icon="AccessFormIcon"
|
||||
//onClick={props.onFormFillingClick}
|
||||
/>
|
||||
)}
|
||||
{accessOptions.includes("DenyAccess") && (
|
||||
<DropDownItem
|
||||
label="Deny access"
|
||||
icon="AccessNoneIcon"
|
||||
//onClick={props.onDenyAccessClick}
|
||||
/>
|
||||
)}
|
||||
</>
|
||||
);
|
||||
|
||||
const advancedOptionsRender = () => (
|
||||
<>
|
||||
{accessOptions.includes("FullAccess") && (
|
||||
@ -89,6 +141,25 @@ const SharingRow = (props) => {
|
||||
</>
|
||||
);
|
||||
|
||||
const accessOptionsComboBox = (accessOptions, item, isDisabled) => (
|
||||
<ComboBox
|
||||
advancedOptions={advancedOptions}
|
||||
options={[]}
|
||||
selectedOption={{ key: 0 }}
|
||||
size="content"
|
||||
className="panel_combo-box"
|
||||
scaled={false}
|
||||
directionX="left"
|
||||
disableIconClick={false}
|
||||
isDisabled={isDisabled}
|
||||
>
|
||||
{React.createElement(Icons[accessRight.icon], {
|
||||
size: "medium",
|
||||
className: "sharing-access-combo-box-icon",
|
||||
})}
|
||||
</ComboBox>
|
||||
);
|
||||
|
||||
const embeddedComponentRender = (accessOptions, item, isDisabled) => (
|
||||
<ComboBox
|
||||
advancedOptions={advancedOptionsRender()}
|
||||
@ -233,7 +304,7 @@ const SharingRow = (props) => {
|
||||
<LinkRow
|
||||
linkText="ExternalLink"
|
||||
data={externalLinkData}
|
||||
embeddedComponentRender={embeddedComponentRender}
|
||||
embeddedComponentRender={accessOptionsComboBox}
|
||||
onChangeToggle={onChangeToggle}
|
||||
withToggle={true}
|
||||
{...props}
|
||||
|
@ -16,7 +16,13 @@ import {
|
||||
import { connect } from "react-redux";
|
||||
import { withRouter } from "react-router";
|
||||
import { withTranslation } from "react-i18next";
|
||||
import { utils as commonUtils, constants, toastr, store } from "asc-web-common";
|
||||
import {
|
||||
utils as commonUtils,
|
||||
constants,
|
||||
toastr,
|
||||
store,
|
||||
api,
|
||||
} from "asc-web-common";
|
||||
import { getShareUsers, setShareFiles } from "../../../store/files/actions";
|
||||
import { getAccessOption, getSelection } from "../../../store/files/selectors";
|
||||
import {
|
||||
@ -33,7 +39,7 @@ const i18n = createI18N({
|
||||
page: "SharingPanel",
|
||||
localesPath: "panels/SharingPanel",
|
||||
});
|
||||
|
||||
const { setExternalAccess } = api.files;
|
||||
const { changeLanguage } = commonUtils;
|
||||
const { ShareAccessRights } = constants;
|
||||
const {
|
||||
@ -41,6 +47,18 @@ const {
|
||||
getSettingsCustomNamesGroupsCaption,
|
||||
} = store.auth.selectors;
|
||||
|
||||
const accessType = Object.freeze({
|
||||
None: 0,
|
||||
ReadWrite: 1,
|
||||
Read: 2,
|
||||
Restrict: 3,
|
||||
Varies: 4,
|
||||
Review: 5,
|
||||
Comment: 6,
|
||||
FillForms: 7,
|
||||
CustomFilter: 8,
|
||||
});
|
||||
|
||||
class SharingPanelComponent extends React.Component {
|
||||
constructor(props) {
|
||||
super(props);
|
||||
@ -429,6 +447,10 @@ class SharingPanelComponent extends React.Component {
|
||||
let error = null;
|
||||
let shareData = {};
|
||||
|
||||
setExternalAccess(fileId, accessType.none).then((res) => {
|
||||
console.log(res);
|
||||
});
|
||||
|
||||
if (folderId.length !== 0 || fileId.length !== 0) {
|
||||
getShareUsers(folderId, fileId)
|
||||
.then((res) => {
|
||||
@ -648,6 +670,7 @@ class SharingPanelComponent extends React.Component {
|
||||
index={index}
|
||||
isMyId={isMyId}
|
||||
accessOptions={accessOptions}
|
||||
accessRight={accessRight}
|
||||
onFullAccessClick={this.onFullAccessItemClick}
|
||||
onReadOnlyClick={this.onReadOnlyItemClick}
|
||||
onReviewClick={this.onReviewItemClick}
|
||||
|
Loading…
Reference in New Issue
Block a user