1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-09-02 07:27:04 +00:00

[share dialog] bugfix for 'Add auto expiration' in Share Link (#3824)

* [share dialog] bugfix for 'Add auto expiration' in Share Link

* [share dialog] modified 'Share Link'
This commit is contained in:
llj
2019-07-09 11:06:49 +08:00
committed by Daniel Pan
parent 5db48da328
commit e34ed91e4e

View File

@@ -21,14 +21,17 @@ class GenerateShareLink extends React.Component {
constructor(props) {
super(props);
this.isExpireDaysNoLimit = (parseInt(shareLinkExpireDaysMin) === 0 && parseInt(shareLinkExpireDaysMax) === 0 && shareLinkExpireDaysDefault == 0);
this.defaultExpireDays = this.isExpireDaysNoLimit ? '' : shareLinkExpireDaysDefault;
this.state = {
isValidate: false,
isShowPasswordInput: false,
isPasswordVisible: false,
isExpireChecked: false,
isExpireChecked: !this.isExpireDaysNoLimit,
password: '',
passwdnew: '',
expireDays: shareLinkExpireDaysDefault,
expireDays: this.defaultExpireDays,
errorInfo: '',
sharedLinkInfo: null,
isNoticeMessageShow: false,
@@ -40,7 +43,6 @@ class GenerateShareLink extends React.Component {
'can_edit': false,
'can_download': true
};
this.isExpireDaysNoLimit = (parseInt(shareLinkExpireDaysMin) === 0 && parseInt(shareLinkExpireDaysMax) === 0);
this.isOfficeFile = Utils.isOfficeFile(this.props.itemPath);
}
@@ -124,10 +126,11 @@ class GenerateShareLink extends React.Component {
if (isValid) {
this.setState({errorInfo: ''});
let { itemPath, repoID } = this.props;
let { password, expireDays } = this.state;
let { password, isExpireChecked, expireDays } = this.state;
let permissions = this.permissions;
permissions = JSON.stringify(permissions);
seafileAPI.createShareLink(repoID, itemPath, password, expireDays, permissions).then((res) => {
const expireDaysSent = isExpireChecked ? expireDays : '';
seafileAPI.createShareLink(repoID, itemPath, password, expireDaysSent, permissions).then((res) => {
let sharedLinkInfo = new SharedLinkInfo(res.data);
this.setState({sharedLinkInfo: sharedLinkInfo});
}).catch((error) => {
@@ -157,8 +160,8 @@ class GenerateShareLink extends React.Component {
password: '',
passwordnew: '',
isShowPasswordInput: false,
expireDays: shareLinkExpireDaysDefault,
isExpireChecked: false,
expireDays: this.defaultExpireDays,
isExpireChecked: !this.isExpireDaysNoLimit,
errorInfo: '',
sharedLinkInfo: null,
isNoticeMessageShow: false,
@@ -354,13 +357,13 @@ class GenerateShareLink extends React.Component {
<Fragment>
<FormGroup check>
<Label check>
<Input className="expire-checkbox" type="checkbox" onChange={this.onExpireChecked}/>{' '}{gettext('Add auto expiration')}
<Input className="expire-checkbox" type="checkbox" onChange={this.onExpireChecked} />{' '}{gettext('Add auto expiration')}
</Label>
</FormGroup>
{this.state.isExpireChecked &&
<FormGroup check>
<Label check>
<Input className="expire-input expire-input-border" type="text" value={this.state.expireDays} onChange={this.onExpireDaysChanged} readOnly={!this.state.isExpireChecked}/><span className="expir-span">{gettext('days')}</span>
<Input className="expire-input expire-input-border" type="text" value={this.state.expireDays} onChange={this.onExpireDaysChanged} readOnly={!this.state.isExpireChecked} /><span className="expir-span">{gettext('days')}</span>
</Label>
</FormGroup>
}