Skip to content
Snippets Groups Projects
Commit 68bf534c authored by fsdavid's avatar fsdavid
Browse files

Display cookie agreement modal (#106)

parent 7620b6a2
No related branches found
No related tags found
No related merge requests found
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 { Store, select } from "@ngrx/store";
import { ViewerStateInterface, isDefined, FETCHED_SPATIAL_DATA, UPDATE_SPATIAL_DATA, TOGGLE_SIDE_PANEL, safeFilter } from "../services/stateStore.service"; 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"; import { Observable, Subscription, combineLatest, interval, merge, of } from "rxjs";
...@@ -29,12 +29,13 @@ import { DatabrowserService } from "src/ui/databrowserModule/databrowser.service ...@@ -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('floatingMouseContextualContainer', { read: ViewContainerRef }) floatingMouseContextualContainer: ViewContainerRef
@ViewChild('helpComponent', {read: TemplateRef}) helpComponent : TemplateRef<any> @ViewChild('helpComponent', {read: TemplateRef}) helpComponent : TemplateRef<any>
@ViewChild('viewerConfigComponent', {read: TemplateRef}) viewerConfigComponent : TemplateRef<any> @ViewChild('viewerConfigComponent', {read: TemplateRef}) viewerConfigComponent : TemplateRef<any>
@ViewChild('signinModalComponent', {read: TemplateRef}) signinModalComponent : TemplateRef<any> @ViewChild('signinModalComponent', {read: TemplateRef}) signinModalComponent : TemplateRef<any>
@ViewChild('cookieAgreementComponent', {read: TemplateRef}) cookieAgreementComponent : TemplateRef<any>
@ViewChild(LayoutMainSide) layoutMainSide: LayoutMainSide @ViewChild(LayoutMainSide) layoutMainSide: LayoutMainSide
@ViewChild(NehubaContainer) nehubaContainer: NehubaContainer @ViewChild(NehubaContainer) nehubaContainer: NehubaContainer
...@@ -299,6 +300,22 @@ export class AtlasViewer implements OnDestroy, OnInit { ...@@ -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. * For completeness sake. Root element should never be destroyed.
*/ */
......
...@@ -90,6 +90,10 @@ ...@@ -90,6 +90,10 @@
</signin-modal> </signin-modal>
</ng-template> </ng-template>
<ng-template #cookieAgreementComponent>
<cookie-agreement>
</cookie-agreement>
</ng-template>
<div class="d-flex flex-column" minReq *ngIf="!meetsRequirement"> <div class="d-flex flex-column" minReq *ngIf="!meetsRequirement">
<div class="jumbotron bg-light text-center mb-0"> <div class="jumbotron bg-light text-center mb-0">
......
...@@ -44,6 +44,7 @@ import { UtilModule } from "src/util/util.module"; ...@@ -44,6 +44,7 @@ import { UtilModule } from "src/util/util.module";
import { RegionHierarchy } from "./regionHierachy/regionHierarchy.component"; import { RegionHierarchy } from "./regionHierachy/regionHierarchy.component";
import { FilterNameBySearch } from "./regionHierachy/filterNameBySearch.pipe"; import { FilterNameBySearch } from "./regionHierachy/filterNameBySearch.pipe";
import { StatusCardComponent } from "./nehubaContainer/statusCard/statusCard.component"; import { StatusCardComponent } from "./nehubaContainer/statusCard/statusCard.component";
import { CookieAgreement } from "./cookieAgreement/cookieAgreement.component";
@NgModule({ @NgModule({
...@@ -77,8 +78,8 @@ import { StatusCardComponent } from "./nehubaContainer/statusCard/statusCard.com ...@@ -77,8 +78,8 @@ import { StatusCardComponent } from "./nehubaContainer/statusCard/statusCard.com
SigninBanner, SigninBanner,
SigninModal, SigninModal,
RegionHierarchy, RegionHierarchy,
StatusCardComponent, StatusCardComponent,
CookieAgreement,
/* pipes */ /* pipes */
GroupDatasetByRegion, GroupDatasetByRegion,
...@@ -119,7 +120,8 @@ import { StatusCardComponent } from "./nehubaContainer/statusCard/statusCard.com ...@@ -119,7 +120,8 @@ import { StatusCardComponent } from "./nehubaContainer/statusCard/statusCard.com
ConfigComponent, ConfigComponent,
MenuIconsBar, MenuIconsBar,
SigninBanner, SigninBanner,
SigninModal SigninModal,
CookieAgreement,
] ]
}) })
......
import { Directive, Input, HostBinding, HostListener, ElementRef, OnChanges, Output, EventEmitter } from "@angular/core"; import { Directive, Input, HostBinding, HostListener, ElementRef, OnChanges, Output, EventEmitter } from "@angular/core";
import { ConsoleReporter } from "jasmine";
@Directive({ @Directive({
selector: '[fixedMouseContextualContainerDirective]' selector: '[fixedMouseContextualContainerDirective]'
...@@ -52,8 +51,6 @@ export class FixedMouseContextualContainerDirective implements OnChanges{ ...@@ -52,8 +51,6 @@ export class FixedMouseContextualContainerDirective implements OnChanges{
@HostListener('document:click', ['$event']) @HostListener('document:click', ['$event'])
documentClick(event: MouseEvent){ documentClick(event: MouseEvent){
if (event.which !== 3) { if (event.which !== 3) {
console.log(event.target);
console.log(event.which);
if (this.styleDisplay === 'none') if (this.styleDisplay === 'none')
return return
if (this.el.nativeElement.contains(event.target)) if (this.el.nativeElement.contains(event.target))
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment