From f5ed8bb281e316c979b18b8b54b16ad0093ba420 Mon Sep 17 00:00:00 2001
From: Furkan <furkan.erdogan1205@gmail.com>
Date: Mon, 21 Nov 2022 10:09:32 +0100
Subject: [PATCH] #9505 - Added duration save to catalogs

---
 js/app/AmdaApp.js         |  3 +++
 js/app/views/CatalogUI.js | 23 ++++++++++++++++-------
 2 files changed, 19 insertions(+), 7 deletions(-)

diff --git a/js/app/AmdaApp.js b/js/app/AmdaApp.js
index d0f5ff1..0e6c83b 100755
--- a/js/app/AmdaApp.js
+++ b/js/app/AmdaApp.js
@@ -191,6 +191,9 @@ Ext.define('amdaApp.AmdaApp', {
 
 		// TT duration management
         Ext.state.Manager.getProvider().set('tt_duration', 3);
+
+		// Cat duration management
+        Ext.state.Manager.getProvider().set('cat_duration', 3);
 		
 		// now ready...
 		//override createWindow method of desktop
diff --git a/js/app/views/CatalogUI.js b/js/app/views/CatalogUI.js
index 8196c46..ddb4238 100644
--- a/js/app/views/CatalogUI.js
+++ b/js/app/views/CatalogUI.js
@@ -19,7 +19,8 @@ Ext.define('amdaUI.CatalogUI', {
         'Ext.ux.grid.filter.StringFilter',
         'amdaUI.OperationsTT',
         'Ext.grid.plugin.BufferedRenderer',
-        'amdaUI.StatisticalPlug'
+        'amdaUI.StatisticalPlug',
++       'amdaDesktop.AmdaStateProvider'
     ],
 
     isCatalog: true,
@@ -50,7 +51,7 @@ Ext.define('amdaUI.CatalogUI', {
 
         Ext.Array.each(this.TTGrid.headerCt.getGridColumns(), function (item, index, all) {
             // if item is the default duration column
-            if (item.id == amdaUI.CatalogUI.COL_TO_HIDE_DURATION + '2') {
+            if (item.id == amdaUI.CatalogUI.COL_TO_HIDE_DURATION + Ext.state.Manager.getProvider().get('cat_duration').toString()) {
                 // show this column
                 item.show();
             }
@@ -362,7 +363,7 @@ Ext.define('amdaUI.CatalogUI', {
                     width: 120,
                     minWidth: 50,
                     menuDisabled: false,
-                    hidden: true,
+                    hidden: Ext.state.Manager.getProvider().get('cat_duration') != 1 ? true : false,
                     id: amdaUI.CatalogUI.COL_TO_HIDE_DURATION + '1',
                     renderer: function (value) {
                         return this.dateToString(value);
@@ -382,7 +383,7 @@ Ext.define('amdaUI.CatalogUI', {
                     width: 120,
                     minWidth: 50,
                     menuDisabled: false,
-                    hidden: true,
+                    hidden: Ext.state.Manager.getProvider().get('cat_duration') != 2 ? true : false,
                     id: amdaUI.CatalogUI.COL_TO_HIDE_DURATION + '2',
                     renderer: function (value) {
                         return this.dateToString(value);
@@ -402,7 +403,7 @@ Ext.define('amdaUI.CatalogUI', {
                     width: 120,
                     minWidth: 50,
                     menuDisabled: false,
-                    hidden: false,
+                    hidden: Ext.state.Manager.getProvider().get('cat_duration') != 3 ? true : false,
                     id: amdaUI.CatalogUI.COL_TO_HIDE_DURATION + '3',
                     renderer: function (value) {
                         return this.dateToString(value);
@@ -422,7 +423,7 @@ Ext.define('amdaUI.CatalogUI', {
                     width: 120,
                     minWidth: 50,
                     menuDisabled: false,
-                    hidden: true,
+                    hidden: Ext.state.Manager.getProvider().get('cat_duration') != 4 ? true : false,
                     id: amdaUI.CatalogUI.COL_TO_HIDE_DURATION + '4',
                     renderer: function (value) {
                         return Ext.util.Format.number(value, '0.000');
@@ -1191,7 +1192,15 @@ Ext.define('amdaUI.CatalogUI', {
                         });
                     }, this);
                 },
-                scope: this
+                scope: this,
+                columnschanged:function(ct,eOpts){ // Takes into count the duration changes
+                    Ext.Array.each(ct.getGridColumns(), function (item, index, all) {
+                        if (Ext.util.Format.substr(item.id, 0, amdaUI.CatalogUI.COL_TO_HIDE_DURATION.length) == amdaUI.CatalogUI.COL_TO_HIDE_DURATION && !item.isHidden()) {
+                            var durationNumber = parseInt(Ext.util.Format.substr(item.id, amdaUI.CatalogUI.COL_TO_HIDE_DURATION.length, amdaUI.CatalogUI.COL_TO_HIDE_DURATION.length+1));
+                            Ext.state.Manager.getProvider().set('cat_duration', durationNumber);
+                        }
+                    });
+                }
             },
             dockedItems: [{
                     xtype: 'toolbar',
--
libgit2 0.21.2