From baeffc9416ab2b97c4787a66e1fea4cc3d6a1b46 Mon Sep 17 00:00:00 2001
From: MichalKinas <113341662+MichalKinas@users.noreply.github.com>
Date: Fri, 26 Jan 2024 08:50:39 +0100
Subject: [PATCH] [ACS-6489] Use resizable option to disable resize on
 thumbnail column (#3590)

---
 extension.schema.json                         |  4 ++++
 .../aca-content/assets/app.extensions.json    | 24 ++++++++++++-------
 .../favorite-libraries.component.html         |  2 ++
 .../favorites/favorites.component.html        |  2 ++
 .../lib/components/files/files.component.html |  2 ++
 .../libraries/libraries.component.html        |  2 ++
 .../recent-files/recent-files.component.html  |  2 ++
 .../search-libraries-results.component.html   |  2 ++
 .../shared-files/shared-files.component.html  |  2 ++
 .../trashcan/trashcan.component.html          |  2 ++
 .../src/lib/services/app.extension.service.ts |  4 ++++
 11 files changed, 40 insertions(+), 8 deletions(-)

diff --git a/extension.schema.json b/extension.schema.json
index 69f668bf7..6eb3e78c1 100644
--- a/extension.schema.json
+++ b/extension.schema.json
@@ -582,6 +582,10 @@
           "description": "Toggles sortable state of the column",
           "type": "boolean"
         },
+        "resizable": {
+          "description": "Toggles resizable state of the column",
+          "type": "boolean"
+        },
         "template": {
           "description": "Column template id",
           "type": "string"
diff --git a/projects/aca-content/assets/app.extensions.json b/projects/aca-content/assets/app.extensions.json
index 5510dfbd1..838e353d8 100644
--- a/projects/aca-content/assets/app.extensions.json
+++ b/projects/aca-content/assets/app.extensions.json
@@ -2132,7 +2132,8 @@
           "type": "image",
           "sortable": false,
           "desktopOnly": false,
-          "order": 10
+          "order": 10,
+          "resizable": false
         },
         {
           "id": "app.files.name",
@@ -2205,7 +2206,8 @@
           "type": "image",
           "sortable": false,
           "desktopOnly": false,
-          "order": 10
+          "order": 10,
+          "resizable": false
         },
         {
           "id": "app.libraries.name",
@@ -2263,7 +2265,8 @@
           "type": "image",
           "sortable": false,
           "desktopOnly": false,
-          "order": 10
+          "order": 10,
+          "resizable": false
         },
         {
           "id": "app.favorite.libraries.name",
@@ -2321,7 +2324,8 @@
           "type": "image",
           "sortable": false,
           "desktopOnly": false,
-          "order": 10
+          "order": 10,
+          "resizable": false
         },
         {
           "id": "app.shared.name",
@@ -2420,7 +2424,8 @@
           "type": "image",
           "sortable": false,
           "desktopOnly": false,
-          "order": 10
+          "order": 10,
+          "resizable": false
         },
         {
           "id": "app.recent.name",
@@ -2493,7 +2498,8 @@
           "type": "image",
           "sortable": false,
           "desktopOnly": false,
-          "order": 10
+          "order": 10,
+          "resizable": false
         },
         {
           "id": "app.favorites.name",
@@ -2577,7 +2583,8 @@
           "type": "image",
           "sortable": false,
           "desktopOnly": false,
-          "order": 10
+          "order": 10,
+          "resizable": false
         },
         {
           "id": "app.trashcan.name",
@@ -2635,7 +2642,8 @@
           "type": "image",
           "sortable": false,
           "desktopOnly": false,
-          "order": 10
+          "order": 10,
+          "resizable": false
         },
         {
           "id": "app.libraries.name",
diff --git a/projects/aca-content/src/lib/components/favorite-libraries/favorite-libraries.component.html b/projects/aca-content/src/lib/components/favorite-libraries/favorite-libraries.component.html
index 49f268f0e..cd89b7fed 100644
--- a/projects/aca-content/src/lib/components/favorite-libraries/favorite-libraries.component.html
+++ b/projects/aca-content/src/lib/components/favorite-libraries/favorite-libraries.component.html
@@ -37,6 +37,7 @@
               <data-column
                 [id]="column.id"
                 [draggable]="column.draggable"
+                [resizable]="column.resizable"
                 [key]="column.key"
                 [title]="column.title"
                 [type]="column.type"
@@ -56,6 +57,7 @@
                 [id]="column.id"
                 [key]="column.key"
                 [draggable]="column.draggable"
+                [resizable]="column.resizable"
                 [title]="column.title"
                 [type]="column.type"
                 [format]="column.format"
diff --git a/projects/aca-content/src/lib/components/favorites/favorites.component.html b/projects/aca-content/src/lib/components/favorites/favorites.component.html
index f99495a91..7a48f7507 100644
--- a/projects/aca-content/src/lib/components/favorites/favorites.component.html
+++ b/projects/aca-content/src/lib/components/favorites/favorites.component.html
@@ -34,6 +34,7 @@
                 [key]="column.key"
                 [title]="column.title"
                 [draggable]="column.draggable"
+                [resizable]="column.resizable"
                 [type]="column.type"
                 [format]="column.format"
                 [class]="column.class"
@@ -53,6 +54,7 @@
                 [title]="column.title"
                 [type]="column.type"
                 [draggable]="column.draggable"
+                [resizable]="column.resizable"
                 [format]="column.format"
                 [class]="column.class"
                 [sortable]="column.sortable"
diff --git a/projects/aca-content/src/lib/components/files/files.component.html b/projects/aca-content/src/lib/components/files/files.component.html
index ca6c29bef..a5e10cbcc 100644
--- a/projects/aca-content/src/lib/components/files/files.component.html
+++ b/projects/aca-content/src/lib/components/files/files.component.html
@@ -49,6 +49,7 @@
                   [sortingKey]="column.sortingKey || column.key"
                   [isHidden]="column.isHidden"
                   [draggable]="column.draggable"
+                  [resizable]="column.resizable"
                 >
                   <ng-template let-context>
                     <adf-dynamic-column [id]="column.template" [context]="context"> </adf-dynamic-column>
@@ -68,6 +69,7 @@
                   [sortingKey]="column.sortingKey || column.key"
                   [isHidden]="column.isHidden"
                   [draggable]="column.draggable"
+                  [resizable]="column.resizable"
                 >
                 </data-column>
               </ng-container>
diff --git a/projects/aca-content/src/lib/components/libraries/libraries.component.html b/projects/aca-content/src/lib/components/libraries/libraries.component.html
index 9f3169859..8c2f6ffca 100644
--- a/projects/aca-content/src/lib/components/libraries/libraries.component.html
+++ b/projects/aca-content/src/lib/components/libraries/libraries.component.html
@@ -40,6 +40,7 @@
                 [type]="column.type"
                 [format]="column.format"
                 [draggable]="column.draggable"
+                [resizable]="column.resizable"
                 [class]="column.class"
                 [sortable]="column.sortable"
                 [isHidden]="column.isHidden"
@@ -59,6 +60,7 @@
                 [format]="column.format"
                 [class]="column.class"
                 [draggable]="column.draggable"
+                [resizable]="column.resizable"
                 [sortable]="column.sortable"
                 [isHidden]="column.isHidden"
               >
diff --git a/projects/aca-content/src/lib/components/recent-files/recent-files.component.html b/projects/aca-content/src/lib/components/recent-files/recent-files.component.html
index 1cfb977b1..36117a33e 100644
--- a/projects/aca-content/src/lib/components/recent-files/recent-files.component.html
+++ b/projects/aca-content/src/lib/components/recent-files/recent-files.component.html
@@ -38,6 +38,7 @@
                 [class]="column.class"
                 [sortable]="column.sortable"
                 [draggable]="column.draggable"
+                [resizable]="column.resizable"
                 [isHidden]="column.isHidden"
               >
                 <ng-template let-context>
@@ -57,6 +58,7 @@
                 [sortable]="column.sortable"
                 [isHidden]="column.isHidden"
                 [draggable]="column.draggable"
+                [resizable]="column.resizable"
               >
               </data-column>
             </ng-container>
diff --git a/projects/aca-content/src/lib/components/search/search-libraries-results/search-libraries-results.component.html b/projects/aca-content/src/lib/components/search/search-libraries-results/search-libraries-results.component.html
index ed7d9215f..368f5a86d 100644
--- a/projects/aca-content/src/lib/components/search/search-libraries-results/search-libraries-results.component.html
+++ b/projects/aca-content/src/lib/components/search/search-libraries-results/search-libraries-results.component.html
@@ -47,6 +47,7 @@
                     [class]="column.class"
                     [sortable]="column.sortable"
                     [draggable]="column.draggable"
+                    [resizable]="column.resizable"
                   >
                     <ng-template let-context>
                       <adf-dynamic-column [id]="column.template" [context]="context"> </adf-dynamic-column>
@@ -64,6 +65,7 @@
                     [class]="column.class"
                     [sortable]="column.sortable"
                     [draggable]="column.draggable"
+                    [resizable]="column.resizable"
                   >
                   </data-column>
                 </ng-container>
diff --git a/projects/aca-content/src/lib/components/shared-files/shared-files.component.html b/projects/aca-content/src/lib/components/shared-files/shared-files.component.html
index 9b8a22a54..9b6c182ef 100644
--- a/projects/aca-content/src/lib/components/shared-files/shared-files.component.html
+++ b/projects/aca-content/src/lib/components/shared-files/shared-files.component.html
@@ -38,6 +38,7 @@
                 [sortable]="column.sortable"
                 [isHidden]="column.isHidden"
                 [draggable]="column.draggable"
+                [resizable]="column.resizable"
               >
                 <ng-template let-context>
                   <adf-dynamic-column [id]="column.template" [context]="context"> </adf-dynamic-column>
@@ -49,6 +50,7 @@
               <data-column
                 [id]="column.id"
                 [draggable]="column.draggable"
+                [resizable]="column.resizable"
                 [key]="column.key"
                 [title]="column.title"
                 [type]="column.type"
diff --git a/projects/aca-content/src/lib/components/trashcan/trashcan.component.html b/projects/aca-content/src/lib/components/trashcan/trashcan.component.html
index a5886512c..bc263a8ca 100644
--- a/projects/aca-content/src/lib/components/trashcan/trashcan.component.html
+++ b/projects/aca-content/src/lib/components/trashcan/trashcan.component.html
@@ -38,6 +38,7 @@
                 [id]="column.id"
                 [key]="column.key"
                 [draggable]="column.draggable"
+                [resizable]="column.resizable"
                 [title]="column.title"
                 [type]="column.type"
                 [format]="column.format"
@@ -61,6 +62,7 @@
                 [class]="column.class"
                 [sortable]="column.sortable"
                 [draggable]="column.draggable"
+                [resizable]="column.resizable"
                 [isHidden]="column.isHidden"
               >
               </data-column>
diff --git a/projects/aca-shared/src/lib/services/app.extension.service.ts b/projects/aca-shared/src/lib/services/app.extension.service.ts
index 11cc78662..25c1330da 100644
--- a/projects/aca-shared/src/lib/services/app.extension.service.ts
+++ b/projects/aca-shared/src/lib/services/app.extension.service.ts
@@ -220,6 +220,10 @@ export class AppExtensionService implements RuleContext {
       .getElements<DocumentListPresetRef>(config, `features.documentList.${key}`)
       .filter((group) => this.filterVisible(group))
       .filter((entry) => !entry.disabled)
+      .map((entry) => {
+        entry.resizable = entry.resizable ?? true;
+        return entry;
+      })
       .sort(sortByOrder);
   }