diff --git a/frontend/src/components/dialog/transfer-dialog.js b/frontend/src/components/dialog/transfer-dialog.js
index 17971d3575..fbd08544c9 100644
--- a/frontend/src/components/dialog/transfer-dialog.js
+++ b/frontend/src/components/dialog/transfer-dialog.js
@@ -1,7 +1,10 @@
import React from 'react';
import PropTypes from 'prop-types';
import { Button, Modal, ModalHeader, ModalBody, ModalFooter } from 'reactstrap';
-import { gettext } from '../../utils/constants';
+import Select from 'react-select';
+import makeAnimated from 'react-select/lib/animated';
+import { seafileAPI } from '../../utils/seafile-api.js';
+import { gettext, isPro } from '../../utils/constants';
import UserSelect from '../user-select';
const propTypes = {
@@ -16,14 +19,13 @@ class TransferDialog extends React.Component {
this.state = {
selectedOption: null,
errorMsg: [],
- sharedItems: []
+ transferToUser: true,
};
this.options = [];
}
handleSelectChange = (option) => {
this.setState({selectedOption: option});
- this.options = [];
}
submit = () => {
@@ -31,24 +33,59 @@ class TransferDialog extends React.Component {
this.props.submit(user);
}
+ componentDidMount() {
+ seafileAPI.shareableGroups().then((res) => {
+ for (let i = 0 ; i < res.data.length; i++) {
+ let obj = {};
+ obj.value = res.data[i].name;
+ obj.email = `${res.data[i].id}@seafile_group`;
+ obj.label = res.data[i].name;
+ this.options.push(obj);
+ }
+ });
+ }
+
+ onClick = () => {
+ this.setState({
+ transferToUser: !this.state.transferToUser,
+ });
+ }
+
render() {
const itemName = this.props.itemName;
const innerSpan = '' + itemName +'';
- let msg = gettext('Transfer Library {library_name} To');
+ let msg = gettext('Transfer Library {library_name}');
let message = msg.replace('{library_name}', innerSpan);
return (
-
+
-
+ {this.state.transferToUser ?
+ :
+
+ }
+ {isPro &&
+ {this.state.transferToUser ?
+ gettext('Transfer Library to Department'): gettext('Transfer Library to User')}
+
+ }