1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-09-19 18:29:23 +00:00

convert markdown and sdoc (#5636)

This commit is contained in:
JoinTyang
2023-09-14 14:36:58 +08:00
committed by GitHub
parent 34a7318725
commit e7d32fd4d6
15 changed files with 208 additions and 8 deletions

View File

@@ -57,6 +57,7 @@ const propTypes = {
onItemRename: PropTypes.func.isRequired,
onItemMove: PropTypes.func.isRequired,
onItemCopy: PropTypes.func.isRequired,
onItemConvert: PropTypes.func.isRequired,
onDirentClick: PropTypes.func.isRequired,
isAllItemSelected: PropTypes.bool.isRequired,
onAllItemSelected: PropTypes.func.isRequired,
@@ -217,6 +218,7 @@ class DirColumnView extends React.Component {
onItemRename={this.props.onItemRename}
onItemMove={this.props.onItemMove}
onItemCopy={this.props.onItemCopy}
onItemConvert={this.props.onItemConvert}
onDirentClick={this.props.onDirentClick}
updateDirent={this.props.updateDirent}
isAllItemSelected={this.props.isAllItemSelected}

View File

@@ -19,6 +19,7 @@ const propTypes = {
onItemDelete: PropTypes.func.isRequired,
onItemMove: PropTypes.func.isRequired,
onItemCopy: PropTypes.func.isRequired,
onItemConvert: PropTypes.func.isRequired,
onRenameNode: PropTypes.func.isRequired,
isGroupOwnedRepo: PropTypes.bool.isRequired,
userPerm: PropTypes.string,
@@ -73,6 +74,7 @@ class DirGridView extends React.Component {
onItemDelete={this.props.onItemDelete}
onItemMove={this.props.onItemMove}
onItemCopy={this.props.onItemCopy}
onItemConvert={this.props.onItemConvert}
isDirentListLoading={this.props.isDirentListLoading}
updateDirent={this.props.updateDirent}
onRenameNode={this.props.onRenameNode}

View File

@@ -36,6 +36,7 @@ const propTypes = {
selectedDirentList: PropTypes.array.isRequired,
onItemsMove: PropTypes.func.isRequired,
onItemsCopy: PropTypes.func.isRequired,
onItemConvert: PropTypes.func.isRequired,
onItemsDelete: PropTypes.func.isRequired,
onFileTagChanged: PropTypes.func,
showDirentDetail: PropTypes.func.isRequired,
@@ -96,6 +97,7 @@ class DirListView extends React.Component {
selectedDirentList={this.props.selectedDirentList}
onItemsMove={this.props.onItemsMove}
onItemsCopy={this.props.onItemsCopy}
onItemConvert={this.props.onItemConvert}
onItemsDelete={this.props.onItemsDelete}
onAddFile={this.props.onAddFile}
onAddFolder={this.props.onAddFolder}

View File

@@ -33,6 +33,7 @@ const propTypes = {
onAddFile: PropTypes.func,
onItemDelete: PropTypes.func,
onItemCopy: PropTypes.func.isRequired,
onItemConvert: PropTypes.func.isRequired,
onItemMove: PropTypes.func.isRequired,
onRenameNode: PropTypes.func.isRequired,
onItemClick: PropTypes.func.isRequired,
@@ -115,6 +116,11 @@ class DirentGridView extends React.Component {
this.props.onItemDelete(currentObject);
};
onItemConvert = (currentObject, e, dstType) => {
e.nativeEvent.stopImmediatePropagation(); //for document event
this.props.onItemConvert(currentObject, dstType);
}
onMenuItemClick = (operation, currentObject, event) => {
hideMenu();
switch(operation) {
@@ -136,6 +142,12 @@ class DirentGridView extends React.Component {
case 'Copy':
this.onItemCopyToggle();
break;
case 'Convert to Markdown':
this.onItemConvert(currentObject, event, 'markdown');
break;
case 'Convert to sdoc':
this.onItemConvert(currentObject, event, 'sdoc');
break;
case 'Tags':
this.onEditFileTagToggle();
break;

View File

@@ -35,6 +35,7 @@ const propTypes = {
onItemRename: PropTypes.func.isRequired,
onItemMove: PropTypes.func.isRequired,
onItemCopy: PropTypes.func.isRequired,
onItemConvert: PropTypes.func.isRequired,
onDirentClick: PropTypes.func.isRequired,
updateDirent: PropTypes.func.isRequired,
showImagePopup: PropTypes.func.isRequired,
@@ -268,6 +269,12 @@ class DirentListItem extends React.Component {
case 'Lock':
this.onLockItem();
break;
case 'Convert to Markdown':
this.onItemConvert(event, 'markdown');
break;
case 'Convert to sdoc':
this.onItemConvert(event, 'sdoc');
break;
case 'Mark as draft':
this.onMarkAsDraft();
break;
@@ -299,6 +306,12 @@ class DirentListItem extends React.Component {
}
};
onItemConvert = (e, dstType)=> {
e.preventDefault();
e.nativeEvent.stopImmediatePropagation(); //for document event
this.props.onItemConvert(this.props.dirent, dstType);
}
onEditFileTagToggle = () => {
this.setState({
isEditFileTagShow: !this.state.isEditFileTagShow

View File

@@ -42,6 +42,7 @@ const propTypes = {
selectedDirentList: PropTypes.array.isRequired,
onItemsMove: PropTypes.func.isRequired,
onItemsCopy: PropTypes.func.isRequired,
onItemConvert: PropTypes.func.isRequired,
onItemsDelete: PropTypes.func.isRequired,
onFileTagChanged: PropTypes.func,
enableDirPrivateShare: PropTypes.bool.isRequired,
@@ -620,6 +621,7 @@ class DirentListView extends React.Component {
onItemRename={this.onItemRename}
onItemMove={this.props.onItemMove}
onItemCopy={this.props.onItemCopy}
onItemConvert={this.props.onItemConvert}
updateDirent={this.props.updateDirent}
isItemFreezed={this.state.isItemFreezed}
freezeItem={this.freezeItem}