diff --git a/src/atlasViewer/atlasViewer.component.ts b/src/atlasViewer/atlasViewer.component.ts index fbb7fe151b36d405db40a19988dc8aa5d3076308..2d38266914c0388c162b18a24861a9dae9998e9e 100644 --- a/src/atlasViewer/atlasViewer.component.ts +++ b/src/atlasViewer/atlasViewer.component.ts @@ -1,4 +1,4 @@ -import { Component, HostBinding, ViewChild, ViewContainerRef, OnDestroy, OnInit, TemplateRef, Injector } from "@angular/core"; +import { Component, HostBinding, ViewChild, ViewContainerRef, OnDestroy, OnInit, TemplateRef, Injector, AfterViewInit } from "@angular/core"; import { Store, select } from "@ngrx/store"; import { ViewerStateInterface, isDefined, FETCHED_SPATIAL_DATA, UPDATE_SPATIAL_DATA, TOGGLE_SIDE_PANEL, safeFilter } from "../services/stateStore.service"; import { Observable, Subscription, combineLatest, interval, merge, of } from "rxjs"; @@ -29,12 +29,13 @@ import { DatabrowserService } from "src/ui/databrowserModule/databrowser.service ] }) -export class AtlasViewer implements OnDestroy, OnInit { +export class AtlasViewer implements OnDestroy, OnInit, AfterViewInit { @ViewChild('floatingMouseContextualContainer', { read: ViewContainerRef }) floatingMouseContextualContainer: ViewContainerRef @ViewChild('helpComponent', {read: TemplateRef}) helpComponent : TemplateRef<any> @ViewChild('viewerConfigComponent', {read: TemplateRef}) viewerConfigComponent : TemplateRef<any> @ViewChild('signinModalComponent', {read: TemplateRef}) signinModalComponent : TemplateRef<any> + @ViewChild('cookieAgreementComponent', {read: TemplateRef}) cookieAgreementComponent : TemplateRef<any> @ViewChild(LayoutMainSide) layoutMainSide: LayoutMainSide @ViewChild(NehubaContainer) nehubaContainer: NehubaContainer @@ -299,6 +300,22 @@ export class AtlasViewer implements OnDestroy, OnInit { } + ngAfterViewInit() { + // Show modal for Agree cookies + if (!localStorage.getItem('cookies') || localStorage.getItem('cookies') !== 'agreed') { + setTimeout(() => { + this.modalService.show(ModalUnit, { + initialState: { + title: 'Cookie Disclaimer', + template: this.cookieAgreementComponent, + }, + // backdrop: 'static', + // keyboard: false + }); + }); + } + } + /** * For completeness sake. Root element should never be destroyed. */ diff --git a/src/atlasViewer/atlasViewer.template.html b/src/atlasViewer/atlasViewer.template.html index d868f7fda7d05d0eed17e9a9b2a9512c52e192f5..32d60aee3c831b52c5544a97a4ca13250d48c5ac 100644 --- a/src/atlasViewer/atlasViewer.template.html +++ b/src/atlasViewer/atlasViewer.template.html @@ -90,6 +90,10 @@ </signin-modal> </ng-template> +<ng-template #cookieAgreementComponent> + <cookie-agreement> + </cookie-agreement> +</ng-template> <div class="d-flex flex-column" minReq *ngIf="!meetsRequirement"> <div class="jumbotron bg-light text-center mb-0"> diff --git a/src/ui/ui.module.ts b/src/ui/ui.module.ts index e1e80ad3269902b9521aa72f9940765670865d01..4c494358055930abc18b0f2ea387d4ba0d327aee 100644 --- a/src/ui/ui.module.ts +++ b/src/ui/ui.module.ts @@ -44,6 +44,7 @@ import { UtilModule } from "src/util/util.module"; import { RegionHierarchy } from "./regionHierachy/regionHierarchy.component"; import { FilterNameBySearch } from "./regionHierachy/filterNameBySearch.pipe"; import { StatusCardComponent } from "./nehubaContainer/statusCard/statusCard.component"; +import { CookieAgreement } from "./cookieAgreement/cookieAgreement.component"; @NgModule({ @@ -77,8 +78,8 @@ import { StatusCardComponent } from "./nehubaContainer/statusCard/statusCard.com SigninBanner, SigninModal, RegionHierarchy, - StatusCardComponent, + CookieAgreement, /* pipes */ GroupDatasetByRegion, @@ -119,7 +120,8 @@ import { StatusCardComponent } from "./nehubaContainer/statusCard/statusCard.com ConfigComponent, MenuIconsBar, SigninBanner, - SigninModal + SigninModal, + CookieAgreement, ] }) diff --git a/src/util/directives/FixedMouseContextualContainerDirective.directive.ts b/src/util/directives/FixedMouseContextualContainerDirective.directive.ts index 6787cd2579df99d410c3702d5f5350dac672da5d..ad5c553f02073d7429dec341c91a64503746b097 100644 --- a/src/util/directives/FixedMouseContextualContainerDirective.directive.ts +++ b/src/util/directives/FixedMouseContextualContainerDirective.directive.ts @@ -1,5 +1,4 @@ import { Directive, Input, HostBinding, HostListener, ElementRef, OnChanges, Output, EventEmitter } from "@angular/core"; -import { ConsoleReporter } from "jasmine"; @Directive({ selector: '[fixedMouseContextualContainerDirective]' @@ -52,8 +51,6 @@ export class FixedMouseContextualContainerDirective implements OnChanges{ @HostListener('document:click', ['$event']) documentClick(event: MouseEvent){ if (event.which !== 3) { - console.log(event.target); - console.log(event.which); if (this.styleDisplay === 'none') return if (this.el.nativeElement.contains(event.target))