Commit 82560cb27e1bf55535f2911719509823a2ae7667

Authored by Nathanaël Jourdane
1 parent 65ac4a9d

fix folders (wip)

js/app/models/InteractiveNode.js
@@ -696,21 +696,18 @@ Ext.define('amdaModel.InteractiveNode', { @@ -696,21 +696,18 @@ Ext.define('amdaModel.InteractiveNode', {
696 * Create Folder 696 * Create Folder
697 */ 697 */
698 createDir: function() { 698 createDir: function() {
699 - console.log('create folder')  
700 var me = this; 699 var me = this;
701 amdaModel.InteractiveNode.preloadNodes(this.getRootNode(), 700 amdaModel.InteractiveNode.preloadNodes(this.getRootNode(),
702 function() 701 function()
703 { 702 {
704 var newNode = Ext.create(me.$className, 703 var newNode = Ext.create(me.$className,
705 { 704 {
706 - leaf : false,  
707 - nodeType : me.get('nodeType'),  
708 - text : amdaModel.AmdaNode.NEW_DIR_NAME, 705 + leaf : false, nodeType : me.get('nodeType'),
  706 + text : amdaModel.AmdaNode.NEW_DIR_NAME,
709 children : [] 707 children : []
710 }); 708 });
711 709
712 - // insert the new node as a child of node  
713 - // newNode = me.insertChild(0, newNode); 710 + // insert the new node as a child of node
714 me.insertChild(0, newNode); 711 me.insertChild(0, newNode);
715 // start text edition on this new directory node 712 // start text edition on this new directory node
716 me.expand(false); 713 me.expand(false);
@@ -741,7 +738,6 @@ Ext.define('amdaModel.InteractiveNode', { @@ -741,7 +738,6 @@ Ext.define('amdaModel.InteractiveNode', {
741 738
742 renameNode: function() 739 renameNode: function()
743 { 740 {
744 - console.log('renameNode');  
745 if (this.myGetOwnerTree()) 741 if (this.myGetOwnerTree())
746 { 742 {
747 // load the rootNode and recursively all its child nodes if not already loaded 743 // load the rootNode and recursively all its child nodes if not already loaded
js/app/views/ExplorerUI.js
@@ -698,7 +698,9 @@ Ext.define('amdaUI.ExplorerUI', { @@ -698,7 +698,9 @@ Ext.define('amdaUI.ExplorerUI', {
698 field: { 698 field: {
699 validFlag: true, 699 validFlag: true,
700 validator : function(value) { 700 validator : function(value) {
701 - console.log('validator'); 701 + if(value === amdaModel.AmdaNode.NEW_DIR_NAME) {
  702 + this.validFlag = 'Field is not modified'
  703 + }
702 return this.validFlag; 704 return this.validFlag;
703 }, 705 },
704 listeners: { 706 listeners: {
@@ -706,27 +708,28 @@ Ext.define('amdaUI.ExplorerUI', { @@ -706,27 +708,28 @@ Ext.define('amdaUI.ExplorerUI', {
706 { 708 {
707 console.log('changing...'); 709 console.log('changing...');
708 var explModule = myDesktopApp.getLoadedModule(myDesktopApp.dynamicModules.explorer.id); 710 var explModule = myDesktopApp.getLoadedModule(myDesktopApp.dynamicModules.explorer.id);
709 - var activeTreePanel = explModule.getUiContent().getActiveTab(); 711 + var explUI = explModule.getUiContent();
  712 + var activeTreePanel = explUI.getActiveTab();
710 713
711 var editedNode = activeTreePanel.getSelectionModel().selected.items[0]; 714 var editedNode = activeTreePanel.getSelectionModel().selected.items[0];
712 if (editedNode) { 715 if (editedNode) {
713 editedNode.isValidName(newValue, function (res) { 716 editedNode.isValidName(newValue, function (res) {
714 - var validFlag = true; 717 + field.validFlag = true;
715 if (!res) { 718 if (!res) {
716 - validFlag = 'Error during object validation'; 719 + field.validFlag = 'Error during object validation';
717 } else if (!res.valid) { 720 } else if (!res.valid) {
718 if (res.error) { 721 if (res.error) {
719 - validFlag = res.error; 722 + field.validFlag = res.error;
720 } else { 723 } else {
721 - validFlag = 'Invalid object name'; 724 + field.validFlag = 'Invalid object name';
722 } 725 }
723 } 726 }
724 - if (validFlag === true) {  
725 - // field.fireEvent('validitychange', true); 727 + if (field.validFlag === true) {
  728 + console.log('change - valid');
  729 + field.lastValid = newValue;
726 } else { 730 } else {
727 - field.markInvalid(validFlag);  
728 - // field.setValue(oldValue);  
729 - // field.fireEvent('validitychange', false, validFlag); 731 + console.log('change - not valid:', field.validFlag);
  732 + field.markInvalid(field.validFlag);
730 } 733 }
731 }); 734 });
732 } 735 }
@@ -735,45 +738,23 @@ Ext.define('amdaUI.ExplorerUI', { @@ -735,45 +738,23 @@ Ext.define('amdaUI.ExplorerUI', {
735 scope: this 738 scope: this
736 } 739 }
737 }], 740 }],
738 - // add our custom editor plugin 741 + //add our custom editor plugin
739 plugins: [ new MyTreeEditor({ 742 plugins: [ new MyTreeEditor({
740 pluginId: 'treeEditor', 743 pluginId: 'treeEditor',
741 listeners: { 744 listeners: {
742 - 'canceledit' : function(editor, context) {  
743 - console.log('canceledit event');  
744 - // if (editor && editor.startValue===amdaModel.AmdaNode.NEW_DIR_NAME) {  
745 - context.record.remove(true);  
746 - // }  
747 - },  
748 - 'edit': function (editor, e) {  
749 - var me = this;  
750 - console.log('edit event');  
751 - var explModule = myDesktopApp.getLoadedModule(myDesktopApp.dynamicModules.explorer.id);  
752 - var activeTreePanel = explModule.getUiContent().getActiveTab();  
753 -  
754 - var editedNode = activeTreePanel.getSelectionModel().selected.items[0];  
755 - if (editedNode) {  
756 - editedNode.isValidName(e.value, function (res) {  
757 - var validFlag = true;  
758 - if (!res) {  
759 - validFlag = 'Error during object validation';  
760 - } else if (!res.valid) {  
761 - if (res.error) {  
762 - validFlag = res.error;  
763 - } else {  
764 - validFlag = 'Invalid object name';  
765 - }  
766 - }  
767 - if (validFlag === true) {  
768 - console.log('valid');  
769 - } else {  
770 - console.log('not valid');  
771 - me.cancelEdit();  
772 - }  
773 - });  
774 - }  
775 -  
776 - 745 + 'validateedit': function (editor, e) {
  746 + var field = e.column.field
  747 + console.log('validateedit - field=', field);
  748 + if(field.validFlag !== true) {
  749 + if(field.lastValid) {
  750 + e.record.data[e.field] = field.lastValid;
  751 + } else {
  752 + e.record.remove(true);
  753 + }
  754 + }
  755 + },
  756 + 'beforeedit': function (editor, e) {
  757 + // e.column.field.fireEvent('change', e.value, e.value);
777 } 758 }
778 }, 759 },
779 scope: this 760 scope: this
@@ -1013,11 +994,10 @@ Ext.define( 'MyTreeEditor', { @@ -1013,11 +994,10 @@ Ext.define( 'MyTreeEditor', {
1013 * Cancel any active editing. 994 * Cancel any active editing.
1014 */ 995 */
1015 cancelEdit: function() { 996 cancelEdit: function() {
1016 - console.log('cancelEdit');  
1017 var me = this, 997 var me = this,
1018 activeEd = me.getActiveEditor(), 998 activeEd = me.getActiveEditor(),
1019 viewEl = me.grid.getView().getEl(me.getActiveColumn()); 999 viewEl = me.grid.getView().getEl(me.getActiveColumn());
1020 - // console.log('activeEd:', activeEd); 1000 +
1021 me.setActiveEditor(null); 1001 me.setActiveEditor(null);
1022 me.setActiveColumn(null); 1002 me.setActiveColumn(null);
1023 me.setActiveRecord(null); 1003 me.setActiveRecord(null);
@@ -1039,23 +1019,12 @@ Ext.define( 'MyTreeEditor', { @@ -1039,23 +1019,12 @@ Ext.define( 'MyTreeEditor', {
1039 1019
1040 me.on({ 1020 me.on({
1041 edit: function(editor,event){ 1021 edit: function(editor,event){
1042 - console.log('edited');  
1043 - // console.log('grid:', event.grid.validate());  
1044 - // console.log('record:', event.record.validate());  
1045 - // console.log('field:', event.field);  
1046 - // console.log('grid:', event.grid.validFlag);  
1047 - // console.log('record:', event.record.validFlag);  
1048 - // console.log('field:', event.field.validFlag);  
1049 - // // console.log('row:', event.row.validFlag);  
1050 - // console.log('column:', event.column.validFlag);  
1051 - // me.cancelEdit();  
1052 - // if there is a modification 1022 + // if there is a modification
1053 if (event.originalValue !== event.value) { 1023 if (event.originalValue !== event.value) {
1054 // delegate rename action on model 1024 // delegate rename action on model
1055 event.record.rename(event.value,function(result){ 1025 event.record.rename(event.value,function(result){
1056 // if a result has been returned : success 1026 // if a result has been returned : success
1057 if(result) { 1027 if(result) {
1058 - console.log('renaming, success');  
1059 // delegate commit action to delete modification flag 1028 // delegate commit action to delete modification flag
1060 event.record.commit(); 1029 event.record.commit();
1061 var rec = event.record.data; 1030 var rec = event.record.data;
@@ -1065,7 +1034,6 @@ Ext.define( 'MyTreeEditor', { @@ -1065,7 +1034,6 @@ Ext.define( 'MyTreeEditor', {
1065 rec.id = result.id; 1034 rec.id = result.id;
1066 } 1035 }
1067 } else { // in case of transaction error 1036 } else { // in case of transaction error
1068 - console.log('renaming, oops');  
1069 // reset originalValue 1037 // reset originalValue
1070 event.record.value = event.originalValue; 1038 event.record.value = event.originalValue;
1071 event.record.set('text', event.originalValue); 1039 event.record.set('text', event.originalValue);