Merge branch 'feature/files' of github.com:ONLYOFFICE/AppServer into feature/files

This commit is contained in:
Alexey 2020-09-11 12:55:56 +03:00
commit 804bb1553a
6 changed files with 23 additions and 38 deletions

View File

@ -2,8 +2,6 @@ import React from "react";
import { TreeMenu, TreeNode, Icons, toastr, utils, Badge } from "asc-web-components";
import styled from "styled-components";
import { api, constants } from "asc-web-common";
import { setIsLoading } from "../../../store/files/actions";
import { connect } from "react-redux";
const { files } = api;
const { FolderType, ShareAccessRights } = constants;
@ -363,11 +361,4 @@ TreeFolders.defaultProps = {
needUpdate: true
};
function mapStateToProps(state) {
const { isLoading } = state.files;
return {
isLoading
}
}
export default connect(mapStateToProps, { setIsLoading })(TreeFolders);
export default TreeFolders;

View File

@ -99,7 +99,8 @@ class ArticleBodyContent extends React.Component {
isShare,
setDragging,
onTreeDrop,
selectedTreeNode
selectedTreeNode,
setIsLoading
} = this.props;
const { showNewFilesPanel, expandedKeys, newFolderId } = this.state;
@ -115,7 +116,7 @@ class ArticleBodyContent extends React.Component {
folderId={newFolderId}
treeFolders={data}
setTreeFolders={setTreeFolders}
setIsLoading={setIsLoading}
//setNewItems={this.setNewItems}
/>
)}

View File

@ -6,7 +6,6 @@ import { api, utils } from "asc-web-common";
import { fetchFiles, clearProgressData } from "../../../store/files/actions";
import store from "../../../store/store";
import { createI18N } from "../../../helpers/i18n";
import { connect } from "react-redux";
const i18n = createI18N({
page: "EmptyTrashDialog",
@ -131,11 +130,4 @@ const EmptyTrashDialog = props => (
<ModalDialogContainerTranslated i18n={i18n} {...props} />
);
function mapStateToProps(state) {
const { isLoading } = state.files;
return {
isLoading
}
}
export default connect(mapStateToProps)(EmptyTrashDialog);
export default EmptyTrashDialog;

View File

@ -1,6 +1,5 @@
import React, { memo } from "react";
import styled from "styled-components";
import { connect } from "react-redux";
import { TextInput, Button } from "asc-web-components";
const EditingWrapper = styled.div`
@ -91,11 +90,4 @@ const EditingWrapperComponent = props => {
)
}
function mapStateToProps(state) {
const { isLoading } = state.files;
return {
isLoading
}
}
export default connect(mapStateToProps)(memo(EditingWrapperComponent));
export default memo(EditingWrapperComponent);

View File

@ -294,7 +294,7 @@ class FilesRowContent extends React.PureComponent {
}
render() {
const { t, item, fileAction, isTrashFolder, folders, widthProp } = this.props;
const { t, item, fileAction, isTrashFolder, folders, widthProp, isLoading } = this.props;
const { itemTitle, editingId, showNewFilesPanel, newItems, newFolderId, showConvertDialog } = this.state;
const {
contentLength,
@ -328,6 +328,7 @@ class FilesRowContent extends React.PureComponent {
onClickUpdateItem={this.onClickUpdateItem}
cancelUpdateItem={this.cancelUpdateItem}
itemId={id}
isLoading={isLoading}
/>
: (
<>
@ -507,7 +508,7 @@ class FilesRowContent extends React.PureComponent {
};
function mapStateToProps(state) {
const { filter, fileAction, selectedFolder, treeFolders, folders, newRowItems, dragging } = state.files;
const { filter, fileAction, selectedFolder, treeFolders, folders, newRowItems, dragging, isLoading } = state.files;
const { settings } = state.auth;
const indexOfTrash = 3;
const rootFolderId = selectedFolder.pathParts && selectedFolder.pathParts[0];
@ -524,7 +525,8 @@ function mapStateToProps(state) {
selectedFolder,
folders,
newRowItems,
dragging
dragging,
isLoading
}
}

View File

@ -91,7 +91,8 @@ class SectionBodyContent extends React.Component {
editingId: null,
showSharingPanel: false,
showMoveToPanel: false,
showCopyPanel: false
showCopyPanel: false,
isDrag: false
};
this.tooltipRef = React.createRef();
@ -149,7 +150,7 @@ class SectionBodyContent extends React.Component {
} */
shouldComponentUpdate(nextProps, nextState) {
const { showMoveToPanel, showCopyPanel } = this.state;
const { showMoveToPanel, showCopyPanel, isDrag } = this.state;
if (this.state.showSharingPanel !== nextState.showSharingPanel) {
return true;
}
@ -166,6 +167,10 @@ class SectionBodyContent extends React.Component {
return true;
}
if (isDrag !== nextState.isDrag) {
return true;
}
return false;
}
@ -867,7 +872,7 @@ class SectionBodyContent extends React.Component {
if (mouseButton || e.currentTarget.tagName !== "DIV" || label) { return; }
document.addEventListener("mousemove", this.onMouseMove);
this.setTooltipPosition(e);
const { selection, setDragging } = this.props;
const { selection } = this.props;
const elem = e.currentTarget.closest('.draggable');
if (!elem) {
@ -885,12 +890,13 @@ class SectionBodyContent extends React.Component {
item = selection.find(x => x.id === Number(splitValue[1]) && x.fileExst);
}
if (item) {
setDragging(true);
this.setState({isDrag: true});
}
}
onMouseUp = e => {
const { selection, dragging, setDragging, dragItem, setDragItem } = this.props;
this.state.isDrag && this.setState({isDrag: false});
const mouseButton = e.which ? e.which !== 1 : e.button ? e.button !== 0 : false;
if (mouseButton || !this.tooltipRef.current || !dragging) { return; }
document.removeEventListener("mousemove", this.onMouseMove);
@ -930,7 +936,8 @@ class SectionBodyContent extends React.Component {
}
onMouseMove = e => {
if (this.props.dragging) {
if (this.state.isDrag) {
!this.props.dragging && this.props.setDragging(true);
const tooltip = this.tooltipRef.current;
tooltip.style.display = "block";
this.setTooltipPosition(e);