diff --git a/src/client/web/src/components/pane_admin.tsx b/src/client/web/src/components/pane_admin.tsx index ca11e8c..e8ad9e5 100644 --- a/src/client/web/src/components/pane_admin.tsx +++ b/src/client/web/src/components/pane_admin.tsx @@ -27,6 +27,7 @@ export interface UserFormState { newPwd1: string; newPwd2: string; role: string; + quota: Quota; } export class UserForm extends React.Component< @@ -42,6 +43,11 @@ export class UserForm extends React.Component< newPwd1: "", newPwd2: "", role: p.role, + quota: { + spaceLimit: p.quota.spaceLimit, + uploadSpeedLimit: p.quota.uploadSpeedLimit, + downloadSpeedLimit: p.quota.downloadSpeedLimit, + }, }; } @@ -54,6 +60,33 @@ export class UserForm extends React.Component< changeRole = (ev: React.ChangeEvent) => { this.setState({ role: ev.target.value }); }; + changeSpaceLimit = (ev: React.ChangeEvent) => { + this.setState({ + quota: { + spaceLimit: parseInt(ev.target.value, 10), + uploadSpeedLimit: this.state.quota.uploadSpeedLimit, + downloadSpeedLimit: this.state.quota.downloadSpeedLimit, + }, + }); + }; + changeUploadSpeedLimit = (ev: React.ChangeEvent) => { + this.setState({ + quota: { + spaceLimit: this.state.quota.spaceLimit, + uploadSpeedLimit: parseInt(ev.target.value, 10), + downloadSpeedLimit: this.state.quota.downloadSpeedLimit, + }, + }); + }; + changeDownloadSpeedLimit = (ev: React.ChangeEvent) => { + this.setState({ + quota: { + spaceLimit: this.state.quota.spaceLimit, + uploadSpeedLimit: this.state.quota.uploadSpeedLimit, + downloadSpeedLimit: parseInt(ev.target.value, 10), + }, + }); + }; setPwd = () => { if (this.state.newPwd1 !== this.state.newPwd2) { @@ -76,6 +109,8 @@ export class UserForm extends React.Component< ); }; + setUser = () => {}; + delUser = () => { PanesUpdater.delUser(this.state.id) .then((ok: boolean) => { @@ -112,6 +147,50 @@ export class UserForm extends React.Component< {this.props.quota.uploadSpeedLimit} / DownloadSpeedLimit:{" "} {this.props.quota.downloadSpeedLimit} +
+
+ + + + +
+
+ +
+
- - {/* no API yet */} - {/*
- - -
*/}