Selaa lähdekoodia

AMBARI-15177. [Better User Experience]Display of message when folder with length 255 is created. (dipayanb)

Dipayan Bhowmick 9 vuotta sitten
vanhempi
commit
4e253f6765

+ 20 - 6
contrib/views/files/src/main/resources/ui/app/components/new-directory.js

@@ -42,6 +42,25 @@ export default Ember.Component.extend(OperationModal, {
     this.set('hasError', true);
     this.set('errorMessage', message);
   },
+  validateFolderName: function(folderName) {
+    if(Ember.isBlank(folderName)) {
+      this.setError('Cannot be empty');
+      return false;
+    }
+
+    if(this.get('fileOperationService').isExistsInCurrentPath(folderName)) {
+      this.setError('Name already exists');
+      return false;
+    }
+
+    if(folderName.length > 255) {
+      this.setError(`Max limit for length of folder name is 255. Length: ${folderName.length}`);
+      return false;
+    }
+
+    return true;
+  },
+
   actions: {
     didOpenModal: function() {
       this.set('folderName');
@@ -50,13 +69,8 @@ export default Ember.Component.extend(OperationModal, {
       }, 500);
     },
     create: function() {
-      if(Ember.isBlank(this.get('folderName'))) {
-        this.setError('Cannot be empty');
-        return false;
-      }
 
-      if(this.get('fileOperationService').isExistsInCurrentPath(this.get('folderName'))) {
-        this.setError('Name already exists');
+      if(!this.validateFolderName(this.get('folderName'))) {
         return false;
       }
 

+ 24 - 6
contrib/views/files/src/main/resources/ui/app/components/rename-modal.js

@@ -37,6 +37,29 @@ export default Ember.Component.extend(OperationModal, {
     }
   }),
 
+  validateErrors: function() {
+    let suggestedName = this.get('selectionName');
+    if (Ember.isBlank(suggestedName)) {
+      this.set('hasError', true);
+      this.set('errorMessage', 'Name cannot be blank');
+      return false;
+    }
+
+    if (this.get('selected.name') === suggestedName) {
+      this.set('hasError', true);
+      this.set('errorMessage', 'Name should be different');
+      return false;
+    }
+
+    if (suggestedName.length > 255) {
+      this.set('hasError', true);
+      this.set('errorMessage', `Max limit for length of file name is 255. Length: ${suggestedName.length}`);
+      return false;
+    }
+
+    return true;
+  },
+
   actions: {
     didOpenModal: function() {
       this.set('selectionName', this.get('selected.name'));
@@ -48,15 +71,10 @@ export default Ember.Component.extend(OperationModal, {
     },
 
     rename: function() {
-      if(Ember.isBlank(this.get('selectionName'))) {
+      if(!this.validateErrors()) {
         return false;
       }
 
-      if(this.get('selected.name') === this.get('selectionName')) {
-        this.set('hasError', true);
-        this.set('errorMessage', 'Name should be different');
-        return false;
-      }
       this.set('isUpdating', true);
       this.get('renameService').rename(this.get('selected.path'), this.get('selectionName'))
       .then((response) => {