From 398c9f3f96895c751bcb1c39656527f4dbc2b752 Mon Sep 17 00:00:00 2001
From: zxj96 <519213124@qq.com>
Date: Fri, 17 May 2019 10:01:57 +0800
Subject: [PATCH 1/3] Fix a bug created when the name is empty
---
frontend/src/components/dialog/create-file-dialog.js | 7 +++++++
frontend/src/components/dialog/create-folder-dialog.js | 6 ++++++
2 files changed, 13 insertions(+)
diff --git a/frontend/src/components/dialog/create-file-dialog.js b/frontend/src/components/dialog/create-file-dialog.js
index a3d755f176..0e380e0799 100644
--- a/frontend/src/components/dialog/create-file-dialog.js
+++ b/frontend/src/components/dialog/create-file-dialog.js
@@ -44,6 +44,13 @@ class CreateFile extends React.Component {
handleSubmit = () => {
let isDuplicated = this.checkDuplicatedName();
let newName = this.state.childName;
+
+ if (!newName.trim()) {
+ let errMessage = gettext('The file name is empty');
+ this.setState({errMessage: errMessage});
+ return;
+ }
+
if (isDuplicated) {
let errMessage = gettext('The name "{name}" is already taken. Please choose a different name.');
errMessage = errMessage.replace('{name}', Utils.HTMLescape(newName));
diff --git a/frontend/src/components/dialog/create-folder-dialog.js b/frontend/src/components/dialog/create-folder-dialog.js
index 8ea6896bcf..442af140f6 100644
--- a/frontend/src/components/dialog/create-folder-dialog.js
+++ b/frontend/src/components/dialog/create-folder-dialog.js
@@ -41,6 +41,12 @@ class CreateForder extends React.Component {
handleSubmit = () => {
let newName = this.state.childName;
let isDuplicated = this.checkDuplicatedName();
+ if (!newName.trim()) {
+ let errMessage = gettext('The folder name is empty');
+ this.setState({errMessage: errMessage});
+ return;
+ }
+
if (isDuplicated) {
let errMessage = gettext('The name "{name}" is already taken. Please choose a different name.');
errMessage = errMessage.replace('{name}', Utils.HTMLescape(newName));
From d70051f087637dcf3d976c3ed15c4f454f2e3281 Mon Sep 17 00:00:00 2001
From: zxj96 <519213124@qq.com>
Date: Fri, 17 May 2019 11:09:05 +0800
Subject: [PATCH 2/3] When it is empty, submit btn is disabled
---
.../dialog/create-department-repo-dialog.js | 9 ++++++++-
.../src/components/dialog/create-file-dialog.js | 15 ++++++++-------
.../components/dialog/create-folder-dialog.js | 16 +++++++++-------
.../src/components/dialog/create-group-dialog.js | 9 ++++++++-
.../src/components/dialog/create-repo-dialog.js | 11 +++++++++--
frontend/src/components/dialog/rename-dialog.js | 9 ++++++++-
.../components/dialog/rename-grid-item-dialog.js | 9 ++++++++-
.../src/components/dialog/rename-group-dialog.js | 9 ++++++++-
8 files changed, 66 insertions(+), 21 deletions(-)
diff --git a/frontend/src/components/dialog/create-department-repo-dialog.js b/frontend/src/components/dialog/create-department-repo-dialog.js
index e688946af5..c569fb07aa 100644
--- a/frontend/src/components/dialog/create-department-repo-dialog.js
+++ b/frontend/src/components/dialog/create-department-repo-dialog.js
@@ -14,11 +14,18 @@ class CreateDepartmentRepoDialog extends React.Component {
this.state = {
repoName: '',
errMessage: '',
+ isSubmitBtnActive: false,
};
this.newInput = React.createRef();
}
handleChange = (e) => {
+ if (!e.target.value.trim()) {
+ this.setState({isSubmitBtnActive: false});
+ } else {
+ this.setState({isSubmitBtnActive: true});
+ }
+
this.setState({
repoName: e.target.value,
});
@@ -90,7 +97,7 @@ class CreateDepartmentRepoDialog extends React.Component {
{this.state.errMessage && {this.state.errMessage}}
-
+
);
diff --git a/frontend/src/components/dialog/create-file-dialog.js b/frontend/src/components/dialog/create-file-dialog.js
index 0e380e0799..dcdb00fb84 100644
--- a/frontend/src/components/dialog/create-file-dialog.js
+++ b/frontend/src/components/dialog/create-file-dialog.js
@@ -20,6 +20,7 @@ class CreateFile extends React.Component {
childName: props.fileType || '',
isDraft: false,
errMessage: '',
+ isSubmitBtnActive: false,
};
this.newInput = React.createRef();
}
@@ -36,6 +37,12 @@ class CreateFile extends React.Component {
}
handleChange = (e) => {
+ if (!e.target.value.trim()) {
+ this.setState({isSubmitBtnActive: false});
+ } else {
+ this.setState({isSubmitBtnActive: true});
+ }
+
this.setState({
childName: e.target.value,
}) ;
@@ -45,12 +52,6 @@ class CreateFile extends React.Component {
let isDuplicated = this.checkDuplicatedName();
let newName = this.state.childName;
- if (!newName.trim()) {
- let errMessage = gettext('The file name is empty');
- this.setState({errMessage: errMessage});
- return;
- }
-
if (isDuplicated) {
let errMessage = gettext('The name "{name}" is already taken. Please choose a different name.');
errMessage = errMessage.replace('{name}', Utils.HTMLescape(newName));
@@ -155,7 +156,7 @@ class CreateFile extends React.Component {
-
+
);
diff --git a/frontend/src/components/dialog/create-folder-dialog.js b/frontend/src/components/dialog/create-folder-dialog.js
index 442af140f6..b9aee6b25c 100644
--- a/frontend/src/components/dialog/create-folder-dialog.js
+++ b/frontend/src/components/dialog/create-folder-dialog.js
@@ -18,7 +18,8 @@ class CreateForder extends React.Component {
this.state = {
parentPath: '',
childName: '',
- errMessage: ''
+ errMessage: '',
+ isSubmitBtnActive: false,
};
this.newInput = React.createRef();
}
@@ -35,17 +36,18 @@ class CreateForder extends React.Component {
}
handleChange = (e) => {
+ if (!e.target.value.trim()) {
+ this.setState({isSubmitBtnActive: false});
+ } else {
+ this.setState({isSubmitBtnActive: true});
+ }
+
this.setState({childName: e.target.value});
}
handleSubmit = () => {
let newName = this.state.childName;
let isDuplicated = this.checkDuplicatedName();
- if (!newName.trim()) {
- let errMessage = gettext('The folder name is empty');
- this.setState({errMessage: errMessage});
- return;
- }
if (isDuplicated) {
let errMessage = gettext('The name "{name}" is already taken. Please choose a different name.');
@@ -94,7 +96,7 @@ class CreateForder extends React.Component {
-
+
);
diff --git a/frontend/src/components/dialog/create-group-dialog.js b/frontend/src/components/dialog/create-group-dialog.js
index 9b05c1136b..e798892519 100644
--- a/frontend/src/components/dialog/create-group-dialog.js
+++ b/frontend/src/components/dialog/create-group-dialog.js
@@ -11,6 +11,7 @@ class CreateGroupDialog extends React.Component {
this.state = {
groupName: '',
errorMsg: '',
+ isSubmitBtnActive: false,
};
this.newInput = React.createRef();
}
@@ -22,6 +23,12 @@ class CreateGroupDialog extends React.Component {
handleGroupChange = (event) => {
let name = event.target.value;
+
+ if (!name.trim()) {
+ this.setState({isSubmitBtnActive: false});
+ } else {
+ this.setState({isSubmitBtnActive: true});
+ }
this.setState({
groupName: name
});
@@ -79,7 +86,7 @@ class CreateGroupDialog extends React.Component {
-
+
);
diff --git a/frontend/src/components/dialog/create-repo-dialog.js b/frontend/src/components/dialog/create-repo-dialog.js
index be598b06c4..22a8742e71 100644
--- a/frontend/src/components/dialog/create-repo-dialog.js
+++ b/frontend/src/components/dialog/create-repo-dialog.js
@@ -19,12 +19,19 @@ class CreateRepoDialog extends React.Component {
password1: '',
password2: '',
errMessage: '',
- permission: 'rw'
+ permission: 'rw',
+ isSubmitBtnActive: false,
};
this.newInput = React.createRef();
}
handleRepoNameChange = (e) => {
+ if (!e.target.value.trim()) {
+ this.setState({isSubmitBtnActive: false});
+ } else {
+ this.setState({isSubmitBtnActive: true});
+ }
+
this.setState({repoName: e.target.value});
}
@@ -205,7 +212,7 @@ class CreateRepoDialog extends React.Component {
-
+
);
diff --git a/frontend/src/components/dialog/rename-dialog.js b/frontend/src/components/dialog/rename-dialog.js
index 743880f4d2..55d13596d0 100644
--- a/frontend/src/components/dialog/rename-dialog.js
+++ b/frontend/src/components/dialog/rename-dialog.js
@@ -17,6 +17,7 @@ class Rename extends React.Component {
this.state = {
newName: '',
errMessage: '',
+ isSubmitBtnActive: false,
};
this.newInput = React.createRef();
}
@@ -43,6 +44,12 @@ class Rename extends React.Component {
}
handleChange = (e) => {
+ if (!e.target.value.trim()) {
+ this.setState({isSubmitBtnActive: false});
+ } else {
+ this.setState({isSubmitBtnActive: true});
+ }
+
this.setState({newName: e.target.value});
}
@@ -113,7 +120,7 @@ class Rename extends React.Component {
-
+
);
diff --git a/frontend/src/components/dialog/rename-grid-item-dialog.js b/frontend/src/components/dialog/rename-grid-item-dialog.js
index 37aaab922f..7173b497d6 100644
--- a/frontend/src/components/dialog/rename-grid-item-dialog.js
+++ b/frontend/src/components/dialog/rename-grid-item-dialog.js
@@ -18,6 +18,7 @@ class Rename extends React.Component {
this.state = {
newName: '',
errMessage: '',
+ isSubmitBtnActive: false,
};
this.newInput = React.createRef();
}
@@ -44,6 +45,12 @@ class Rename extends React.Component {
}
handleChange = (e) => {
+ if (!e.target.value.trim()) {
+ this.setState({isSubmitBtnActive: false});
+ } else {
+ this.setState({isSubmitBtnActive: true});
+ }
+
this.setState({newName: e.target.value});
}
@@ -114,7 +121,7 @@ class Rename extends React.Component {
-
+
);
diff --git a/frontend/src/components/dialog/rename-group-dialog.js b/frontend/src/components/dialog/rename-group-dialog.js
index 7afffef6dc..bc2cecaf41 100644
--- a/frontend/src/components/dialog/rename-group-dialog.js
+++ b/frontend/src/components/dialog/rename-group-dialog.js
@@ -10,10 +10,17 @@ class RenameGroupDialog extends React.Component {
super(props);
this.state = {
newGroupName: this.props.currentGroupName,
+ isSubmitBtnActive: false,
};
}
handleGroupNameChange = (event) => {
+ if (!event.target.value.trim()) {
+ this.setState({isSubmitBtnActive: false});
+ } else {
+ this.setState({isSubmitBtnActive: true});
+ }
+
let name = event.target.value;
this.setState({
newGroupName: name
@@ -52,7 +59,7 @@ class RenameGroupDialog extends React.Component {
-
+
);
From e538bbc2847a472820736511e4b6653601848932 Mon Sep 17 00:00:00 2001
From: zxj96 <519213124@qq.com>
Date: Fri, 17 May 2019 11:11:59 +0800
Subject: [PATCH 3/3] Add new-wiki-dialog.js
---
frontend/src/components/dialog/new-wiki-dialog.js | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/frontend/src/components/dialog/new-wiki-dialog.js b/frontend/src/components/dialog/new-wiki-dialog.js
index cb1fcc4122..34ba8c55a9 100644
--- a/frontend/src/components/dialog/new-wiki-dialog.js
+++ b/frontend/src/components/dialog/new-wiki-dialog.js
@@ -16,6 +16,7 @@ class NewWikiDialog extends React.Component {
isExist: false,
name: '',
repoID: '',
+ isSubmitBtnActive: false,
};
this.newName = React.createRef();
}
@@ -26,6 +27,12 @@ class NewWikiDialog extends React.Component {
}
inputNewName = (e) => {
+ if (!event.target.value.trim()) {
+ this.setState({isSubmitBtnActive: false});
+ } else {
+ this.setState({isSubmitBtnActive: true});
+ }
+
this.setState({
name: e.target.value,
});
@@ -57,7 +64,7 @@ class NewWikiDialog extends React.Component {
-
+
);