From 138e8ed89d34d7fd2d205f81e1b01ad86e5bdce9 Mon Sep 17 00:00:00 2001
From: xgui3783 <xgui3783@gmail.com>
Date: Wed, 26 Aug 2020 10:59:44 +0200
Subject: [PATCH] bugfix: csp fontSrc (#646)

bugfix: remove additional layers stop event prop
uifix: remove box shadow for version selection
chore: pointer-events css rule & stop prop arg type
---
 deploy/csp/index.js                           |  1 +
 src/atlasViewer/atlasViewer.template.html     | 34 ++++++++++---------
 src/res/css/extra_styles.css                  |  2 +-
 .../directives/stopPropagation.directive.ts   |  2 +-
 4 files changed, 21 insertions(+), 18 deletions(-)

diff --git a/deploy/csp/index.js b/deploy/csp/index.js
index 7eebf7be2..b30032c30 100644
--- a/deploy/csp/index.js
+++ b/deploy/csp/index.js
@@ -70,6 +70,7 @@ module.exports = (app) => {
         ...WHITE_LIST_SRC
       ],
       fontSrc: [
+        "'self'",
         '*.fontawesome.com',
         ...WHITE_LIST_SRC
       ],
diff --git a/src/atlasViewer/atlasViewer.template.html b/src/atlasViewer/atlasViewer.template.html
index a9a76fed2..d9e76c0a2 100644
--- a/src/atlasViewer/atlasViewer.template.html
+++ b/src/atlasViewer/atlasViewer.template.html
@@ -181,31 +181,33 @@
               <!-- dismiss icon -->
               <mat-icon
                 *ngIf="dismissable"
-                (click)="clearAdditionalLayer(parcel)"
+                (click)="clearAdditionalLayer(parcel); $event.stopPropagation()"
                 fontSet="fas"
-                iav-stop="click"
                 fontIcon="fa-times">
               </mat-icon>
             </mat-chip>
           </ng-template>
 
           <!-- layer version selector -->
-          <mat-menu #layerVersionMenu class="bg-none">
+          <mat-menu #layerVersionMenu
+            class="bg-none box-shadow-none"
+            [hasBackdrop]="false">
             <ng-template matMenuContent let-layerVersionMenuTrigger="layerVersionMenuTrigger">
-
-              <ng-container *ngFor="let parcVer of selectedLayerVersions$ | async">
-                <ng-container *ngTemplateOutlet="chipTmpl; context: {
-                  parcel: parcVer,
-                  selected: selectedParcellation && selectedParcellation['@id'] === parcVer['@id'],
-                  dismissable: false,
-                  onclick: bindFns([
-                    [ selectParcellation.bind(this), parcVer ],
-                    [ layerVersionMenuTrigger.closeMenu.bind(layerVersionMenuTrigger) ]
-                  ])
-                }">
+              <div (iav-outsideClick)="layerVersionMenuTrigger.closeMenu()">
+                <ng-container *ngFor="let parcVer of selectedLayerVersions$ | async">
+                  <ng-container *ngTemplateOutlet="chipTmpl; context: {
+                    parcel: parcVer,
+                    selected: selectedParcellation && selectedParcellation['@id'] === parcVer['@id'],
+                    dismissable: false,
+                    onclick: bindFns([
+                      [ selectParcellation.bind(this), parcVer ],
+                      [ layerVersionMenuTrigger.closeMenu.bind(layerVersionMenuTrigger) ]
+                    ])
+                  }">
+                  </ng-container>
+                  <div class="mt-1"></div>
                 </ng-container>
-                <div class="mt-1"></div>
-              </ng-container>
+              </div>
             </ng-template>
           </mat-menu>
 
diff --git a/src/res/css/extra_styles.css b/src/res/css/extra_styles.css
index 29150dca0..f815f5313 100644
--- a/src/res/css/extra_styles.css
+++ b/src/res/css/extra_styles.css
@@ -369,7 +369,7 @@ markdown-dom pre code
 
 .pe-none
 {
-  pointer-events: none;
+  pointer-events: none!important;
 }
 
 .h-2rem
diff --git a/src/util/directives/stopPropagation.directive.ts b/src/util/directives/stopPropagation.directive.ts
index 441d07a80..504d74c3d 100644
--- a/src/util/directives/stopPropagation.directive.ts
+++ b/src/util/directives/stopPropagation.directive.ts
@@ -11,7 +11,7 @@ const VALID_EVENTNAMES = new Set([
   'touchend',
 ])
 
-const stopPropagation = ev => ev.stopPropagation()
+const stopPropagation = (ev: Event) => ev.stopPropagation()
 
 @Directive({
   selector: '[iav-stop]',
-- 
GitLab