mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-21 11:27:18 +00:00
dtable share update API-js
This commit is contained in:
@@ -12,8 +12,8 @@ import '../../css/invitations.css';
|
|||||||
const userItemPropTypes = {
|
const userItemPropTypes = {
|
||||||
item: PropTypes.object.isRequired,
|
item: PropTypes.object.isRequired,
|
||||||
permissions: PropTypes.array.isRequired,
|
permissions: PropTypes.array.isRequired,
|
||||||
deleteShareTable: PropTypes.func.isRequired,
|
deleteTableShare: PropTypes.func.isRequired,
|
||||||
changeShareTablePermission: PropTypes.func.isRequired,
|
updateTableShare: PropTypes.func.isRequired,
|
||||||
};
|
};
|
||||||
|
|
||||||
class UserItem extends React.Component {
|
class UserItem extends React.Component {
|
||||||
@@ -33,12 +33,12 @@ class UserItem extends React.Component {
|
|||||||
this.setState({isOperationShow: false});
|
this.setState({isOperationShow: false});
|
||||||
};
|
};
|
||||||
|
|
||||||
deleteShareTable = () => {
|
deleteTableShare = () => {
|
||||||
this.props.deleteShareTable(this.props.item.email);
|
this.props.deleteTableShare(this.props.item.email);
|
||||||
};
|
};
|
||||||
|
|
||||||
changeShareTablePermission = (permission) => {
|
updateTableShare = (permission) => {
|
||||||
this.props.changeShareTablePermission(this.props.item.email, permission);
|
this.props.updateTableShare(this.props.item.email, permission);
|
||||||
};
|
};
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
@@ -53,13 +53,13 @@ class UserItem extends React.Component {
|
|||||||
isEditIconShow={this.state.isOperationShow}
|
isEditIconShow={this.state.isOperationShow}
|
||||||
currentPermission={currentPermission}
|
currentPermission={currentPermission}
|
||||||
permissions={this.props.permissions}
|
permissions={this.props.permissions}
|
||||||
onPermissionChanged={this.changeShareTablePermission}
|
onPermissionChanged={this.updateTableShare}
|
||||||
/>
|
/>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<span
|
<span
|
||||||
className={`sf2-icon-x3 action-icon ${this.state.isOperationShow ? '' : 'hide'}`}
|
className={`sf2-icon-x3 action-icon ${this.state.isOperationShow ? '' : 'hide'}`}
|
||||||
onClick={this.deleteShareTable}
|
onClick={this.deleteTableShare}
|
||||||
title={gettext('Delete')}
|
title={gettext('Delete')}
|
||||||
>
|
>
|
||||||
</span>
|
</span>
|
||||||
@@ -90,7 +90,7 @@ class ShareTableToUser extends React.Component {
|
|||||||
}
|
}
|
||||||
|
|
||||||
componentDidMount() {
|
componentDidMount() {
|
||||||
seafileAPI.listShareTableUser(this.workspaceID, this.tableName).then((res) => {
|
seafileAPI.listTableShares(this.workspaceID, this.tableName).then((res) => {
|
||||||
this.setState({userList: res.data.user_list});
|
this.setState({userList: res.data.user_list});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -111,14 +111,14 @@ class ShareTableToUser extends React.Component {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
addShareTable = () => {
|
addTableShare = () => {
|
||||||
if (!this.state.selectedOption || this.state.selectedOption.length === 0) {
|
if (!this.state.selectedOption || this.state.selectedOption.length === 0) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
let name = this.state.selectedOption.value;
|
let name = this.state.selectedOption.value;
|
||||||
let email = this.state.selectedOption.email;
|
let email = this.state.selectedOption.email;
|
||||||
let permission = this.state.permission;
|
let permission = this.state.permission;
|
||||||
seafileAPI.addShareTable(this.workspaceID, this.tableName, email, permission).then((res) => {
|
seafileAPI.addTableShare(this.workspaceID, this.tableName, email, permission).then((res) => {
|
||||||
let userList = this.state.userList;
|
let userList = this.state.userList;
|
||||||
let userInfo = {
|
let userInfo = {
|
||||||
name: name,
|
name: name,
|
||||||
@@ -138,8 +138,8 @@ class ShareTableToUser extends React.Component {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
deleteShareTable = (email) => {
|
deleteTableShare = (email) => {
|
||||||
seafileAPI.deleteShareTable(this.workspaceID, this.tableName, email).then((res) => {
|
seafileAPI.deleteTableShare(this.workspaceID, this.tableName, email).then((res) => {
|
||||||
let userList = this.state.userList.filter(userInfo => {
|
let userList = this.state.userList.filter(userInfo => {
|
||||||
return userInfo.email !== email;
|
return userInfo.email !== email;
|
||||||
});
|
});
|
||||||
@@ -151,8 +151,8 @@ class ShareTableToUser extends React.Component {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
changeShareTablePermission = (email, permission) => {
|
updateTableShare = (email, permission) => {
|
||||||
seafileAPI.modifyShareTablePermission(this.workspaceID, this.tableName, email, permission).then((res) => {
|
seafileAPI.updateTableShare(this.workspaceID, this.tableName, email, permission).then((res) => {
|
||||||
let userList = this.state.userList.filter(userInfo => {
|
let userList = this.state.userList.filter(userInfo => {
|
||||||
if (userInfo.email === email) {
|
if (userInfo.email === email) {
|
||||||
userInfo.permission = permission;
|
userInfo.permission = permission;
|
||||||
@@ -174,8 +174,8 @@ class ShareTableToUser extends React.Component {
|
|||||||
key={index}
|
key={index}
|
||||||
item={item}
|
item={item}
|
||||||
permissions={this.permissions}
|
permissions={this.permissions}
|
||||||
deleteShareTable={this.deleteShareTable}
|
deleteTableShare={this.deleteTableShare}
|
||||||
changeShareTablePermission={this.changeShareTablePermission}
|
updateTableShare={this.updateTableShare}
|
||||||
/>
|
/>
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
@@ -211,7 +211,7 @@ class ShareTableToUser extends React.Component {
|
|||||||
/>
|
/>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<Button onClick={this.addShareTable}>{gettext('Submit')}</Button>
|
<Button onClick={this.addTableShare}>{gettext('Submit')}</Button>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
|
@@ -318,8 +318,8 @@ class DTable extends Component {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
listShareTable = () => {
|
listSharedTables = () => {
|
||||||
seafileAPI.listShareTable().then((res) => {
|
seafileAPI.listSharedTables().then((res) => {
|
||||||
this.setState({
|
this.setState({
|
||||||
shareTableLoading: false,
|
shareTableLoading: false,
|
||||||
shareTableList: res.data.table_list,
|
shareTableList: res.data.table_list,
|
||||||
@@ -343,7 +343,7 @@ class DTable extends Component {
|
|||||||
let email = username;
|
let email = username;
|
||||||
let tableName = table.name;
|
let tableName = table.name;
|
||||||
let workspaceID = table.workspace_id;
|
let workspaceID = table.workspace_id;
|
||||||
seafileAPI.deleteShareTable(workspaceID, tableName, email).then(() => {
|
seafileAPI.deleteTableShare(workspaceID, tableName, email).then(() => {
|
||||||
let shareTableList = this.state.shareTableList.filter(table => {
|
let shareTableList = this.state.shareTableList.filter(table => {
|
||||||
return table.name !== tableName;
|
return table.name !== tableName;
|
||||||
});
|
});
|
||||||
@@ -361,7 +361,7 @@ class DTable extends Component {
|
|||||||
|
|
||||||
componentDidMount() {
|
componentDidMount() {
|
||||||
this.listWorkspaces();
|
this.listWorkspaces();
|
||||||
this.listShareTable();
|
this.listSharedTables();
|
||||||
}
|
}
|
||||||
|
|
||||||
renderShareTablePanel = () => {
|
renderShareTablePanel = () => {
|
||||||
|
@@ -52,7 +52,7 @@ class ShareTableItem extends Component {
|
|||||||
className="action-icon sf2-icon-x3"
|
className="action-icon sf2-icon-x3"
|
||||||
title={gettext('Leave Share')}
|
title={gettext('Leave Share')}
|
||||||
style={!this.state.active ? {opacity: 0} : {}}
|
style={!this.state.active ? {opacity: 0} : {}}
|
||||||
onClick={this.onLeaveShareTableSubmit.bind(this)}>
|
onClick={this.onLeaveShareTableSubmit}>
|
||||||
</i>
|
</i>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
@@ -374,7 +374,7 @@ urlpatterns = [
|
|||||||
url(r'^api/v2.1/workspace/(?P<workspace_id>\d+)/dtable-asset-upload-link/$', DTableAssetUploadLinkView.as_view(), name='api-v2.1-workspace-dtable-asset-upload-link'),
|
url(r'^api/v2.1/workspace/(?P<workspace_id>\d+)/dtable-asset-upload-link/$', DTableAssetUploadLinkView.as_view(), name='api-v2.1-workspace-dtable-asset-upload-link'),
|
||||||
url(r'^workspace/(?P<workspace_id>\d+)/dtable/(?P<name>.*)/$', dtable_file_view, name='dtable-file-view'),
|
url(r'^workspace/(?P<workspace_id>\d+)/dtable/(?P<name>.*)/$', dtable_file_view, name='dtable-file-view'),
|
||||||
url(r'^workspace/(?P<workspace_id>\d+)/asset/(?P<dtable_id>[-0-9a-f]{36})/(?P<path>.*)$', dtable_asset_access, name='dtable-asset-access'),
|
url(r'^workspace/(?P<workspace_id>\d+)/asset/(?P<dtable_id>[-0-9a-f]{36})/(?P<path>.*)$', dtable_asset_access, name='dtable-asset-access'),
|
||||||
url(r'^api/v2.1/dtables/share/$', ShareDTablesView.as_view(), name='api-v2.1-dtables-share'),
|
url(r'^api/v2.1/dtables/shared/$', ShareDTablesView.as_view(), name='api-v2.1-dtables-share'),
|
||||||
url(r'^api/v2.1/workspace/(?P<workspace_id>\d+)/dtable/(?P<name>.*)/share/$', ShareDTableView.as_view(), name='api-v2.1-dtable-share'),
|
url(r'^api/v2.1/workspace/(?P<workspace_id>\d+)/dtable/(?P<name>.*)/share/$', ShareDTableView.as_view(), name='api-v2.1-dtable-share'),
|
||||||
|
|
||||||
# Deprecated
|
# Deprecated
|
||||||
|
Reference in New Issue
Block a user