mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-06 17:33:18 +00:00
move share dialog (#2995)
This commit is contained in:
@@ -14,7 +14,10 @@ const propTypes = {
|
||||
itemName: PropTypes.string.isRequired,
|
||||
itemPath: PropTypes.string.isRequired,
|
||||
toggleDialog: PropTypes.func.isRequired,
|
||||
repoID: PropTypes.string.isRequired
|
||||
repoID: PropTypes.string.isRequired,
|
||||
repoEncrypted: PropTypes.bool,
|
||||
userPerm: PropTypes.string,
|
||||
enableDirPrivateShare: PropTypes.bool,
|
||||
};
|
||||
|
||||
class ShareDialog extends React.Component {
|
||||
|
@@ -3,35 +3,17 @@ import SeafileEditor from '@seafile/seafile-editor';
|
||||
import 'whatwg-fetch';
|
||||
import { seafileAPI } from './utils/seafile-api';
|
||||
import { Utils } from './utils/utils';
|
||||
import cookie from 'react-cookies';
|
||||
import ModalPortal from './components/modal-portal';
|
||||
import { Modal } from 'reactstrap';
|
||||
import EditFileTagDialog from './components/dialog/edit-filetag-dialog';
|
||||
import ListRelatedFileDialog from './components/dialog/list-related-file-dialog';
|
||||
import AddRelatedFileDialog from './components/dialog/add-related-file-dialog';
|
||||
import Dirent from './models/dirent';
|
||||
let repoID = window.app.pageOptions.repoID;
|
||||
let repoName = window.app.pageOptions.repoName;
|
||||
let filePath = window.app.pageOptions.filePath;
|
||||
let fileName = window.app.pageOptions.fileName;
|
||||
let siteRoot = window.app.config.siteRoot;
|
||||
let domain = window.app.pageOptions.domain;
|
||||
let protocol = window.app.pageOptions.protocol;
|
||||
let mode = window.app.pageOptions.mode;
|
||||
let draftID = window.app.pageOptions.draftID;
|
||||
let reviewID = window.app.pageOptions.reviewID;
|
||||
let reviewStatus = window.app.pageOptions.reviewStatus;
|
||||
let isDraft = window.app.pageOptions.isDraft;
|
||||
let hasDraft = window.app.pageOptions.hasDraft;
|
||||
let draftFilePath = window.app.pageOptions.draftFilePath;
|
||||
let shareLinkExpireDaysMin = window.app.pageOptions.shareLinkExpireDaysMin;
|
||||
let shareLinkExpireDaysMax = window.app.pageOptions.shareLinkExpireDaysMax;
|
||||
let userName = window.app.userInfo.username;
|
||||
let dirPath = '/';
|
||||
import ShareDialog from './components/dialog/share-dialog';
|
||||
|
||||
const serviceUrl = window.app.config.serviceUrl;
|
||||
const seafileCollabServer = window.app.config.seafileCollabServer;
|
||||
const { repoID, repoName, filePath, fileName, mode, draftID, reviewID, reviewStatus, draftFilePath, isDraft, hasDraft, shareLinkExpireDaysMin, shareLinkExpireDaysMax } = window.app.pageOptions;
|
||||
const { siteRoot, serviceUrl, seafileCollabServer } = window.app.config;
|
||||
const userInfo = window.app.userInfo;
|
||||
const userName = userInfo.username;
|
||||
let dirPath = '/';
|
||||
|
||||
function getImageFileNameWithTimestamp() {
|
||||
var d = Date.now();
|
||||
@@ -301,6 +283,7 @@ class MarkdownEditor extends React.Component {
|
||||
showEditFileTagDialog: false,
|
||||
showAddRelatedFileDialog: false,
|
||||
showMarkdownEditorDialog: false,
|
||||
showShareLinkDialog: false,
|
||||
};
|
||||
}
|
||||
|
||||
@@ -310,6 +293,7 @@ class MarkdownEditor extends React.Component {
|
||||
showEditFileTagDialog: false,
|
||||
showAddRelatedFileDialog: false,
|
||||
showMarkdownEditorDialog: false,
|
||||
showShareLinkDialog: false,
|
||||
});
|
||||
}
|
||||
|
||||
@@ -342,6 +326,12 @@ class MarkdownEditor extends React.Component {
|
||||
showMarkdownEditorDialog: true,
|
||||
});
|
||||
break;
|
||||
case 'share_link':
|
||||
this.setState({
|
||||
showMarkdownEditorDialog: true,
|
||||
showShareLinkDialog: true,
|
||||
});
|
||||
break;
|
||||
default:
|
||||
return;
|
||||
}
|
||||
@@ -438,10 +428,9 @@ class MarkdownEditor extends React.Component {
|
||||
fileTagList={this.state.fileTagList}
|
||||
/>
|
||||
{this.state.showMarkdownEditorDialog && (
|
||||
<React.Fragment>
|
||||
{this.state.showRelatedFileDialog &&
|
||||
<ModalPortal>
|
||||
<Modal isOpen={true}>
|
||||
{
|
||||
this.state.showRelatedFileDialog &&
|
||||
<ListRelatedFileDialog
|
||||
repoID={repoID}
|
||||
filePath={filePath}
|
||||
@@ -450,9 +439,10 @@ class MarkdownEditor extends React.Component {
|
||||
addRelatedFileToggle={this.addRelatedFileToggle}
|
||||
onRelatedFileChange={this.onRelatedFileChange}
|
||||
/>
|
||||
</ModalPortal>
|
||||
}
|
||||
{
|
||||
this.state.showEditFileTagDialog &&
|
||||
{this.state.showEditFileTagDialog &&
|
||||
<ModalPortal>
|
||||
<EditFileTagDialog
|
||||
repoID={repoID}
|
||||
filePath={filePath}
|
||||
@@ -460,9 +450,10 @@ class MarkdownEditor extends React.Component {
|
||||
toggleCancel={this.toggleCancel}
|
||||
onFileTagChanged={this.onFileTagChanged}
|
||||
/>
|
||||
</ModalPortal>
|
||||
}
|
||||
{
|
||||
this.state.showAddRelatedFileDialog &&
|
||||
{this.state.showAddRelatedFileDialog &&
|
||||
<ModalPortal>
|
||||
<AddRelatedFileDialog
|
||||
repoID={repoID}
|
||||
filePath={filePath}
|
||||
@@ -470,9 +461,22 @@ class MarkdownEditor extends React.Component {
|
||||
dirent={this.state.fileInfo}
|
||||
onRelatedFileChange={this.onRelatedFileChange}
|
||||
/>
|
||||
}
|
||||
</Modal>
|
||||
</ModalPortal>
|
||||
}
|
||||
{this.state.showShareLinkDialog &&
|
||||
<ModalPortal>
|
||||
<ShareDialog
|
||||
itemType="file"
|
||||
itemName={this.state.fileInfo.name}
|
||||
itemPath={filePath}
|
||||
repoID={repoID}
|
||||
toggleDialog={this.toggleCancel}
|
||||
isGroupOwnedRepo={false}
|
||||
repoEncrypted={false}
|
||||
/>
|
||||
</ModalPortal>
|
||||
}
|
||||
</React.Fragment>
|
||||
)}
|
||||
</React.Fragment>
|
||||
);
|
||||
|
@@ -23,7 +23,7 @@ export const contactEmail = window.app.pageOptions.contactEmail;
|
||||
export const username = window.app.pageOptions.username;
|
||||
export const canAddRepo = window.app.pageOptions.canAddRepo;
|
||||
export const canGenerateShareLink = window.app.pageOptions.canGenerateShareLink;
|
||||
export const canGenerateUploadLink = window.app.pageOptions.canGenerateUploadLink;
|
||||
export const canGenerateUploadLink = window.app.pageOptions.canGenerateUploadLink ? true : false;
|
||||
export const canViewOrg = window.app.pageOptions.canViewOrg === 'True';
|
||||
export const fileAuditEnabled = window.app.pageOptions.fileAuditEnabled ? true : false;
|
||||
export const enableFileComment = window.app.pageOptions.enableFileComment ? true : false;
|
||||
|
@@ -39,6 +39,7 @@
|
||||
draftFilePath: '{{ draft_file_path }}',
|
||||
shareLinkExpireDaysMin: '{{ share_link_expire_days_min }}',
|
||||
shareLinkExpireDaysMax: '{{ share_link_expire_days_max }}',
|
||||
canGenerateShareLink: {% if user.permissions.can_generate_share_link %} true {% else %} false {% endif %},
|
||||
},
|
||||
userInfo: {
|
||||
username: '{{ user.username }}',
|
||||
|
Reference in New Issue
Block a user