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

This commit is contained in:
NikolayRechkin 2020-07-02 17:17:44 +03:00
commit 6edf7c237e
2 changed files with 87 additions and 64 deletions

View File

@ -1,45 +1,56 @@
import React, { memo } from "react"; import React, { memo, useState } from "react";
import styled from "styled-components"; import styled from "styled-components";
import { TextInput, Button } from "asc-web-components"; import { TextInput, Button } from "asc-web-components";
const EditingWrapper = styled.div` const EditingWrapper = styled.div`
width: 100%; width: 100%;
display: inline-flex; display: inline-flex;
align-items: center; align-items: center;
@media (max-width: 1024px) { @media (max-width: 1024px) {
height: 56px; height: 56px;
} }
.edit-text { .edit-text {
height: 30px; height: 30px;
font-size: 15px; font-size: 15px;
outline: 0 !important; outline: 0 !important;
font-weight: bold; font-weight: bold;
margin: 0; margin: 0;
font-family: 'Open Sans',sans-serif,Arial; font-family: 'Open Sans',sans-serif,Arial;
text-align: left; text-align: left;
color: #333333; color: #333333;
} }
.edit-button { .edit-button {
margin-left: 8px; margin-left: 8px;
height: 30px; height: 30px;
} }
.edit-ok-icon { .edit-ok-icon {
margin-top: -6px; margin-top: -6px;
width: 16px; width: 16px;
height: 16px; height: 16px;
} }
.edit-cancel-icon { .edit-cancel-icon {
margin-top: -6px; margin-top: -6px;
width: 14px; width: 14px;
height: 14px; height: 14px;
} }
`; `;
const EditingWrapperComponent = props => { const EditingWrapperComponent = props => {
const { isLoading, itemTitle, okIcon, cancelIcon, renameTitle, onKeyUpUpdateItem, onClickUpdateItem, cancelUpdateItem } = props; const { itemTitle, okIcon, cancelIcon, renameTitle, onKeyUpUpdateItem, onClickUpdateItem, cancelUpdateItem } = props;
const [loading, setLoading] = useState(false);
const onUpdate = () => {
setLoading(true);
onClickUpdateItem();
}
const onCancel = () => {
setLoading(true);
cancelUpdateItem();
}
return( return(
<EditingWrapper> <EditingWrapper>
@ -52,20 +63,20 @@ const EditingWrapperComponent = props => {
isAutoFocussed={true} isAutoFocussed={true}
onChange={renameTitle} onChange={renameTitle}
onKeyUp={onKeyUpUpdateItem} onKeyUp={onKeyUpUpdateItem}
isDisabled={isLoading} isDisabled={loading}
/> />
<Button <Button
className='edit-button' className='edit-button'
size='medium' size='medium'
isDisabled={isLoading} isDisabled={loading}
onClick={onClickUpdateItem} onClick={onUpdate}
icon={okIcon} icon={okIcon}
/> />
<Button <Button
className='edit-button' className='edit-button'
size='medium' size='medium'
isDisabled={isLoading} isDisabled={loading}
onClick={cancelUpdateItem} onClick={onCancel}
icon={cancelIcon} icon={cancelIcon}
/> />
</EditingWrapper> </EditingWrapper>

View File

@ -390,7 +390,7 @@ class SharingPanelComponent extends React.Component {
const accessOptions = !this.props.selectedItems.length ? getAccessOption([this.props.selectedItems]) : getAccessOption(this.props.selectedItems); const accessOptions = !this.props.selectedItems.length ? getAccessOption([this.props.selectedItems]) : getAccessOption(this.props.selectedItems);
this.setState( this.setState(
{ baseShareData, shareDataItems: arrayItems, showPanel: true, accessOptions }, { baseShareData, shareDataItems: arrayItems, accessOptions },
this.props.onLoading(false) this.props.onLoading(false)
); );
}; };
@ -434,11 +434,16 @@ class SharingPanelComponent extends React.Component {
const returnValue = this.getData(); const returnValue = this.getData();
const folderId = returnValue[0]; const folderId = returnValue[0];
const fileId = returnValue[1]; const fileId = returnValue[1];
let error = null;
if (folderId.length !== 0 || fileId.length !== 0) { if (folderId.length !== 0 || fileId.length !== 0) {
getShareUsers(folderId, fileId).then((res) => { getShareUsers(folderId, fileId).then((res) => {
this.getShareDataItems(res); this.getShareDataItems(res);
}); }).catch(err => {
this.props.onLoading(false);
error = err;
toastr.error(err);
}).finally(() => !error && this.setState({showPanel: true}));
} }
}; };
@ -464,7 +469,7 @@ class SharingPanelComponent extends React.Component {
componentDidUpdate(prevProps, prevState) { componentDidUpdate(prevProps, prevState) {
if(this.state.showPanel !== prevState.showPanel && this.state.showPanel === false) { if(this.state.showPanel !== prevState.showPanel && this.state.showPanel === false) {
setTimeout(() => this.props.onClose(), 1000); this.props.onClose();
} }
} }
@ -648,32 +653,39 @@ class SharingPanelComponent extends React.Component {
</StyledContent> </StyledContent>
</Aside> </Aside>
<AddUsersPanel {showAddUsersPanel &&
onSharingPanelClose={this.onClose} <AddUsersPanel
onClose={this.onShowUsersPanel} onSharingPanelClose={this.onClose}
visible={showAddUsersPanel} onClose={this.onShowUsersPanel}
embeddedComponent={accessOptionsComboBox} visible={showAddUsersPanel}
accessRight={accessRight} embeddedComponent={accessOptionsComboBox}
shareDataItems={shareDataItems} accessRight={accessRight}
setShareDataItems={this.setShareDataItems} shareDataItems={shareDataItems}
/> setShareDataItems={this.setShareDataItems}
/>
}
<AddGroupsPanel {showAddGroupsPanel &&
onSharingPanelClose={this.onClose} <AddGroupsPanel
onClose={this.onShowGroupsPanel} onSharingPanelClose={this.onClose}
visible={showAddGroupsPanel} onClose={this.onShowGroupsPanel}
embeddedComponent={accessOptionsComboBox} visible={showAddGroupsPanel}
accessRight={accessRight} embeddedComponent={accessOptionsComboBox}
shareDataItems={shareDataItems} accessRight={accessRight}
setShareDataItems={this.setShareDataItems} shareDataItems={shareDataItems}
/> setShareDataItems={this.setShareDataItems}
/>
}
{showEmbeddingPanel &&
<EmbeddingPanel
visible={showEmbeddingPanel}
onSharingPanelClose={this.onClose}
onClose={this.onShowEmbeddingPanel}
embeddingLink={shareLink}
/>
}
<EmbeddingPanel
visible={showEmbeddingPanel}
onSharingPanelClose={this.onClose}
onClose={this.onShowEmbeddingPanel}
embeddingLink={shareLink}
/>
</StyledAsidePanel> </StyledAsidePanel>
); );
} }