1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-09-07 09:51:26 +00:00

move share dialog (#2995)

This commit is contained in:
Michael An
2019-02-25 18:17:04 +08:00
committed by Daniel Pan
parent 4438708040
commit 949f3fc7b3
4 changed files with 47 additions and 39 deletions

View File

@@ -14,7 +14,10 @@ const propTypes = {
itemName: PropTypes.string.isRequired, itemName: PropTypes.string.isRequired,
itemPath: PropTypes.string.isRequired, itemPath: PropTypes.string.isRequired,
toggleDialog: PropTypes.func.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 { class ShareDialog extends React.Component {

View File

@@ -3,35 +3,17 @@ import SeafileEditor from '@seafile/seafile-editor';
import 'whatwg-fetch'; import 'whatwg-fetch';
import { seafileAPI } from './utils/seafile-api'; import { seafileAPI } from './utils/seafile-api';
import { Utils } from './utils/utils'; import { Utils } from './utils/utils';
import cookie from 'react-cookies';
import ModalPortal from './components/modal-portal'; import ModalPortal from './components/modal-portal';
import { Modal } from 'reactstrap';
import EditFileTagDialog from './components/dialog/edit-filetag-dialog'; import EditFileTagDialog from './components/dialog/edit-filetag-dialog';
import ListRelatedFileDialog from './components/dialog/list-related-file-dialog'; import ListRelatedFileDialog from './components/dialog/list-related-file-dialog';
import AddRelatedFileDialog from './components/dialog/add-related-file-dialog'; import AddRelatedFileDialog from './components/dialog/add-related-file-dialog';
import Dirent from './models/dirent'; import ShareDialog from './components/dialog/share-dialog';
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 = '/';
const serviceUrl = window.app.config.serviceUrl; const { repoID, repoName, filePath, fileName, mode, draftID, reviewID, reviewStatus, draftFilePath, isDraft, hasDraft, shareLinkExpireDaysMin, shareLinkExpireDaysMax } = window.app.pageOptions;
const seafileCollabServer = window.app.config.seafileCollabServer; const { siteRoot, serviceUrl, seafileCollabServer } = window.app.config;
const userInfo = window.app.userInfo; const userInfo = window.app.userInfo;
const userName = userInfo.username;
let dirPath = '/';
function getImageFileNameWithTimestamp() { function getImageFileNameWithTimestamp() {
var d = Date.now(); var d = Date.now();
@@ -301,6 +283,7 @@ class MarkdownEditor extends React.Component {
showEditFileTagDialog: false, showEditFileTagDialog: false,
showAddRelatedFileDialog: false, showAddRelatedFileDialog: false,
showMarkdownEditorDialog: false, showMarkdownEditorDialog: false,
showShareLinkDialog: false,
}; };
} }
@@ -310,6 +293,7 @@ class MarkdownEditor extends React.Component {
showEditFileTagDialog: false, showEditFileTagDialog: false,
showAddRelatedFileDialog: false, showAddRelatedFileDialog: false,
showMarkdownEditorDialog: false, showMarkdownEditorDialog: false,
showShareLinkDialog: false,
}); });
} }
@@ -342,6 +326,12 @@ class MarkdownEditor extends React.Component {
showMarkdownEditorDialog: true, showMarkdownEditorDialog: true,
}); });
break; break;
case 'share_link':
this.setState({
showMarkdownEditorDialog: true,
showShareLinkDialog: true,
});
break;
default: default:
return; return;
} }
@@ -438,10 +428,9 @@ class MarkdownEditor extends React.Component {
fileTagList={this.state.fileTagList} fileTagList={this.state.fileTagList}
/> />
{this.state.showMarkdownEditorDialog && ( {this.state.showMarkdownEditorDialog && (
<React.Fragment>
{this.state.showRelatedFileDialog &&
<ModalPortal> <ModalPortal>
<Modal isOpen={true}>
{
this.state.showRelatedFileDialog &&
<ListRelatedFileDialog <ListRelatedFileDialog
repoID={repoID} repoID={repoID}
filePath={filePath} filePath={filePath}
@@ -450,9 +439,10 @@ class MarkdownEditor extends React.Component {
addRelatedFileToggle={this.addRelatedFileToggle} addRelatedFileToggle={this.addRelatedFileToggle}
onRelatedFileChange={this.onRelatedFileChange} onRelatedFileChange={this.onRelatedFileChange}
/> />
</ModalPortal>
} }
{ {this.state.showEditFileTagDialog &&
this.state.showEditFileTagDialog && <ModalPortal>
<EditFileTagDialog <EditFileTagDialog
repoID={repoID} repoID={repoID}
filePath={filePath} filePath={filePath}
@@ -460,9 +450,10 @@ class MarkdownEditor extends React.Component {
toggleCancel={this.toggleCancel} toggleCancel={this.toggleCancel}
onFileTagChanged={this.onFileTagChanged} onFileTagChanged={this.onFileTagChanged}
/> />
</ModalPortal>
} }
{ {this.state.showAddRelatedFileDialog &&
this.state.showAddRelatedFileDialog && <ModalPortal>
<AddRelatedFileDialog <AddRelatedFileDialog
repoID={repoID} repoID={repoID}
filePath={filePath} filePath={filePath}
@@ -470,9 +461,22 @@ class MarkdownEditor extends React.Component {
dirent={this.state.fileInfo} dirent={this.state.fileInfo}
onRelatedFileChange={this.onRelatedFileChange} onRelatedFileChange={this.onRelatedFileChange}
/> />
}
</Modal>
</ModalPortal> </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> </React.Fragment>
); );

View File

@@ -23,7 +23,7 @@ export const contactEmail = window.app.pageOptions.contactEmail;
export const username = window.app.pageOptions.username; export const username = window.app.pageOptions.username;
export const canAddRepo = window.app.pageOptions.canAddRepo; export const canAddRepo = window.app.pageOptions.canAddRepo;
export const canGenerateShareLink = window.app.pageOptions.canGenerateShareLink; 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 canViewOrg = window.app.pageOptions.canViewOrg === 'True';
export const fileAuditEnabled = window.app.pageOptions.fileAuditEnabled ? true : false; export const fileAuditEnabled = window.app.pageOptions.fileAuditEnabled ? true : false;
export const enableFileComment = window.app.pageOptions.enableFileComment ? true : false; export const enableFileComment = window.app.pageOptions.enableFileComment ? true : false;

View File

@@ -39,6 +39,7 @@
draftFilePath: '{{ draft_file_path }}', draftFilePath: '{{ draft_file_path }}',
shareLinkExpireDaysMin: '{{ share_link_expire_days_min }}', shareLinkExpireDaysMin: '{{ share_link_expire_days_min }}',
shareLinkExpireDaysMax: '{{ share_link_expire_days_max }}', shareLinkExpireDaysMax: '{{ share_link_expire_days_max }}',
canGenerateShareLink: {% if user.permissions.can_generate_share_link %} true {% else %} false {% endif %},
}, },
userInfo: { userInfo: {
username: '{{ user.username }}', username: '{{ user.username }}',