From ff162705c0fcb0ac14e809631260bf381310cbe4 Mon Sep 17 00:00:00 2001 From: kajol Date: Sun, 5 Apr 2020 17:19:10 +0530 Subject: [PATCH 1/5] added_cookie_consent --- src/app/app.component.ts | 22 ++++++++++++++++++++++ src/index.html | 2 ++ 2 files changed, 24 insertions(+) diff --git a/src/app/app.component.ts b/src/app/app.component.ts index 2a3cea06a..74d1b0719 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -30,6 +30,9 @@ export class AppComponent implements OnInit, OnDestroy { globalEditPhaseModalSubscription: any; globalTermsAndConditionsModalSubscription: any; globalServiceSubscriptionScrollTop: any; + cookieMessage = 'Our site uses cookies to ensure you get the best experience on our website'; + cookieDismiss = 'Cancel'; + cookieLinkText = 'Learn More'; /** * Constructor. @@ -94,6 +97,25 @@ export class AppComponent implements OnInit, OnDestroy { setTimeout(() => { this.modalParams = params; }, 0); + const cc = window as any; + cc.cookieconsent.initialise({ + palette: { + popup: { + background: '#164969' + }, + button: { + background: '#ffe000', + text: '#164969' + } + }, + theme: 'classic', + content: { + message: this.cookieMessage, + dismiss: this.cookieDismiss, + link: this.cookieLinkText, + href: 'https://www.cookiesandyou.com' + } + }); }); this.globalEditPhaseModalSubscription = this.globalService.editPhaseModalParams.subscribe(params => { diff --git a/src/index.html b/src/index.html index 265fe6ac7..43cf8a846 100644 --- a/src/index.html +++ b/src/index.html @@ -21,6 +21,8 @@ + + From 90375cb917bbf59d65313460eeb6a9ff86863559 Mon Sep 17 00:00:00 2001 From: kajol Date: Sun, 17 May 2020 14:44:05 +0530 Subject: [PATCH 2/5] using_ngx-cookieconsent_module_for_adding_consent --- angular.json | 6 ++++-- package.json | 4 +++- src/app/app.component.ts | 28 +++------------------------- src/app/app.module.ts | 21 ++++++++++++++++++++- src/index.html | 2 -- 5 files changed, 30 insertions(+), 31 deletions(-) diff --git a/angular.json b/angular.json index 01c1cd3d9..2d5b89ea1 100644 --- a/angular.json +++ b/angular.json @@ -33,10 +33,12 @@ "src/styles/base.scss", "./node_modules/froala-editor/css/froala_editor.pkgd.min.css", "./node_modules/froala-editor/css/froala_style.min.css", - "./node_modules/ng-pick-datetime/assets/style/picker.min.css" + "./node_modules/ng-pick-datetime/assets/style/picker.min.css", + "./node_modules/cookieconsent/build/cookieconsent.min.css" ], "scripts": [ - "./node_modules/froala-editor/js/froala_editor.pkgd.min.js" + "./node_modules/froala-editor/js/froala_editor.pkgd.min.js", + "./node_modules/cookieconsent/build/cookieconsent.min.js" ] }, "configurations": { diff --git a/package.json b/package.json index 1312a1287..88ecbaa40 100644 --- a/package.json +++ b/package.json @@ -31,11 +31,13 @@ "@angular/router": "^7.2.15", "@types/moment-timezone": "^0.5.12", "angular-froala-wysiwyg": "^3.0.0-rc.2-1", + "cookieconsent": "^3.1.1", "core-js": "^2.4.1", - "materialize-css": "^0.97.8", "hammerjs": "^2.0.8", + "materialize-css": "^0.97.8", "moment": "^2.24.0", "ng-pick-datetime": "^7.0.0", + "ngx-cookieconsent": "^2.2.3", "ngx-textarea-autosize": "^2.0.3", "ngx-twitter-timeline": "^0.1.5", "normalize.css": "^8.0.0", diff --git a/src/app/app.component.ts b/src/app/app.component.ts index 74d1b0719..83cb4cce2 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -6,8 +6,7 @@ import { AuthService } from './services/auth.service'; import { Router, NavigationEnd, ActivatedRoute } from '@angular/router'; import { DOCUMENT } from '@angular/common'; import { Title } from '@angular/platform-browser'; - - +import { NgcCookieConsentService } from 'ngx-cookieconsent'; @Component({ @@ -30,9 +29,6 @@ export class AppComponent implements OnInit, OnDestroy { globalEditPhaseModalSubscription: any; globalTermsAndConditionsModalSubscription: any; globalServiceSubscriptionScrollTop: any; - cookieMessage = 'Our site uses cookies to ensure you get the best experience on our website'; - cookieDismiss = 'Cancel'; - cookieLinkText = 'Learn More'; /** * Constructor. @@ -49,7 +45,8 @@ export class AppComponent implements OnInit, OnDestroy { public activatedRoute: ActivatedRoute, public titleService: Title, private globalService: GlobalService, - private authService: AuthService + private authService: AuthService, + private ccService: NgcCookieConsentService ) { } @@ -97,25 +94,6 @@ export class AppComponent implements OnInit, OnDestroy { setTimeout(() => { this.modalParams = params; }, 0); - const cc = window as any; - cc.cookieconsent.initialise({ - palette: { - popup: { - background: '#164969' - }, - button: { - background: '#ffe000', - text: '#164969' - } - }, - theme: 'classic', - content: { - message: this.cookieMessage, - dismiss: this.cookieDismiss, - link: this.cookieLinkText, - href: 'https://www.cookiesandyou.com' - } - }); }); this.globalEditPhaseModalSubscription = this.globalService.editPhaseModalParams.subscribe(params => { diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 99f1769ae..6b1783e52 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -11,6 +11,7 @@ import { MatChipsModule } from '@angular/material/chips'; import { MatMenuModule } from '@angular/material/menu'; import { MatIconModule } from '@angular/material/icon'; import { MatCheckboxModule } from '@angular/material'; +import {NgcCookieConsentModule, NgcCookieConsentConfig} from 'ngx-cookieconsent'; // Import serivces import { AuthService } from './services/auth.service'; @@ -88,6 +89,23 @@ import {PasswordMismatchValidatorDirective} from './Directives/password.validato import { ResetPasswordComponent } from './components/auth/reset-password/reset-password.component'; import { EmailValidatorDirective } from './Directives/email.validator'; import { ResetPasswordConfirmComponent } from './components/auth/reset-password-confirm/reset-password-confirm.component'; + +const cookieConfig: NgcCookieConsentConfig = { + cookie: { + domain: 'localhost' // or 'your.domain.com' // it is mandatory to set a domain, for cookies to work properly (see https://goo.gl/S2Hy2A) + }, + palette: { + popup: { + background: '#000' + }, + button: { + background: '#f1d600' + } + }, + theme: 'edgeless', + type: 'opt-out' +}; + @NgModule({ declarations: [ AppComponent, @@ -166,7 +184,8 @@ import { ResetPasswordConfirmComponent } from './components/auth/reset-password- MatIconModule, MatTableModule, MatDividerModule, - MatCheckboxModule + MatCheckboxModule, + NgcCookieConsentModule.forRoot(cookieConfig) ], providers: [ AuthService, diff --git a/src/index.html b/src/index.html index 43cf8a846..265fe6ac7 100644 --- a/src/index.html +++ b/src/index.html @@ -21,8 +21,6 @@ - - From 6e662a23a20a3fb303943399c2fe947037ce65ef Mon Sep 17 00:00:00 2001 From: kajol Date: Sun, 17 May 2020 16:39:28 +0530 Subject: [PATCH 3/5] fix_test_for_NgcCookieConsentModule_and_edited_Karma_to_load_the_cookieconsent --- karma.conf.js | 6 +++++- src/app/app.component.spec.ts | 10 +++++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/karma.conf.js b/karma.conf.js index 8ddbfd813..3f50b1276 100644 --- a/karma.conf.js +++ b/karma.conf.js @@ -12,6 +12,10 @@ module.exports = function (config) { require('karma-coverage-istanbul-reporter'), require('@angular-devkit/build-angular/plugins/karma') ], + files: [ + './node_modules/cookieconsent/build/cookieconsent.min.js', + './node_modules/cookieconsent/build/cookieconsent.min.css' + ], client:{ clearContext: false // leave Jasmine Spec Runner output visible in browser }, @@ -19,7 +23,7 @@ module.exports = function (config) { dir: require('path').join(__dirname, 'coverage'), reports: [ 'html', 'lcovonly' ], fixWebpackSourcePaths: true }, - + reporters: ['progress', 'kjhtml'], port: 9876, colors: true, diff --git a/src/app/app.component.spec.ts b/src/app/app.component.spec.ts index 4ae34378f..79e147f0e 100644 --- a/src/app/app.component.spec.ts +++ b/src/app/app.component.spec.ts @@ -17,6 +17,13 @@ import { LoadingComponent } from './components/utility/loading/loading.component import { ConfirmComponent } from './components/utility/confirm/confirm.component'; import { ModalComponent } from './components/utility/modal/modal.component'; import { NO_ERRORS_SCHEMA } from '@angular/core'; +import { NgcCookieConsentConfig, NgcCookieConsentModule } from 'ngx-cookieconsent'; + +const cookieConfig: NgcCookieConsentConfig = { + cookie: { + domain: 'localhost' + } +}; describe('AppComponent', () => { @@ -38,7 +45,8 @@ describe('AppComponent', () => { ], imports: [ RouterTestingModule, - HttpClientModule + HttpClientModule, + NgcCookieConsentModule.forRoot(cookieConfig) ], providers: [ GlobalService, From 8642c647249ef2ffa1d39d5bbc4793c387b40a2f Mon Sep 17 00:00:00 2001 From: kajol Date: Wed, 20 May 2020 19:43:07 +0530 Subject: [PATCH 4/5] add_comments --- karma.conf.js | 4 ++-- src/app/app.component.spec.ts | 2 +- src/app/app.component.ts | 2 ++ src/app/app.module.ts | 1 + 4 files changed, 6 insertions(+), 3 deletions(-) diff --git a/karma.conf.js b/karma.conf.js index 3f50b1276..fcb841824 100644 --- a/karma.conf.js +++ b/karma.conf.js @@ -13,8 +13,8 @@ module.exports = function (config) { require('@angular-devkit/build-angular/plugins/karma') ], files: [ - './node_modules/cookieconsent/build/cookieconsent.min.js', - './node_modules/cookieconsent/build/cookieconsent.min.css' + './node_modules/cookieconsent/build/cookieconsent.min.js', // loading cookie service + './node_modules/cookieconsent/build/cookieconsent.min.css' // cookie styles ], client:{ clearContext: false // leave Jasmine Spec Runner output visible in browser diff --git a/src/app/app.component.spec.ts b/src/app/app.component.spec.ts index 79e147f0e..adbe395cb 100644 --- a/src/app/app.component.spec.ts +++ b/src/app/app.component.spec.ts @@ -21,7 +21,7 @@ import { NgcCookieConsentConfig, NgcCookieConsentModule } from 'ngx-cookieconsen const cookieConfig: NgcCookieConsentConfig = { cookie: { - domain: 'localhost' + domain: 'localhost' // or 'your.domain.com' } }; diff --git a/src/app/app.component.ts b/src/app/app.component.ts index 83cb4cce2..b5bb2d342 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -6,6 +6,8 @@ import { AuthService } from './services/auth.service'; import { Router, NavigationEnd, ActivatedRoute } from '@angular/router'; import { DOCUMENT } from '@angular/common'; import { Title } from '@angular/platform-browser'; + +// service for initializing cookie import { NgcCookieConsentService } from 'ngx-cookieconsent'; diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 6b1783e52..76ee30fe6 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -90,6 +90,7 @@ import { ResetPasswordComponent } from './components/auth/reset-password/reset-p import { EmailValidatorDirective } from './Directives/email.validator'; import { ResetPasswordConfirmComponent } from './components/auth/reset-password-confirm/reset-password-confirm.component'; +// configuration of cookie consent const cookieConfig: NgcCookieConsentConfig = { cookie: { domain: 'localhost' // or 'your.domain.com' // it is mandatory to set a domain, for cookies to work properly (see https://goo.gl/S2Hy2A) From 68a69b1473d059cc8c253c75650d8f085a6b1bca Mon Sep 17 00:00:00 2001 From: kajol Date: Fri, 29 May 2020 21:32:17 +0530 Subject: [PATCH 5/5] Shifted domain to env file --- src/app/app.component.spec.ts | 3 ++- src/app/app.module.ts | 3 ++- src/environments/environment.prod.ts | 3 ++- src/environments/environment.staging.ts | 3 ++- src/environments/environment.ts | 3 ++- 5 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/app/app.component.spec.ts b/src/app/app.component.spec.ts index adbe395cb..f5d72de8e 100644 --- a/src/app/app.component.spec.ts +++ b/src/app/app.component.spec.ts @@ -18,10 +18,11 @@ import { ConfirmComponent } from './components/utility/confirm/confirm.component import { ModalComponent } from './components/utility/modal/modal.component'; import { NO_ERRORS_SCHEMA } from '@angular/core'; import { NgcCookieConsentConfig, NgcCookieConsentModule } from 'ngx-cookieconsent'; +import { environment } from '../environments/environment'; const cookieConfig: NgcCookieConsentConfig = { cookie: { - domain: 'localhost' // or 'your.domain.com' + domain: environment.domain // or 'your.domain.com' } }; diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 45c09b4ab..3b143bb40 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -11,6 +11,7 @@ import { ApiService } from './services/api.service'; import { GlobalService } from './services/global.service'; import { ChallengeService } from './services/challenge.service'; import { EndpointsService } from './services/endpoints.service'; +import { environment } from '../environments/environment'; // Import Components @@ -28,7 +29,7 @@ import { SharedModule } from './shared/shared.module'; // configuration of cookie consent const cookieConfig: NgcCookieConsentConfig = { cookie: { - domain: 'localhost' // or 'your.domain.com' // it is mandatory to set a domain, for cookies to work properly (see https://goo.gl/S2Hy2A) + domain: environment.domain // or 'your.domain.com' }, palette: { popup: { diff --git a/src/environments/environment.prod.ts b/src/environments/environment.prod.ts index 9a0aad934..b16f40fc2 100644 --- a/src/environments/environment.prod.ts +++ b/src/environments/environment.prod.ts @@ -8,5 +8,6 @@ */ export const environment = { production: true, - api_endpoint: 'https://staging-evalai.cloudcv.org/api/' + api_endpoint: 'https://staging-evalai.cloudcv.org/api/', + domain: 'https://staging-evalai.cloudcv.org' }; diff --git a/src/environments/environment.staging.ts b/src/environments/environment.staging.ts index 2acb4e6d8..b5d427390 100644 --- a/src/environments/environment.staging.ts +++ b/src/environments/environment.staging.ts @@ -8,5 +8,6 @@ */ export const environment = { production: true, - api_endpoint: 'http://staging-evalai.cloudcv.org/api/' + api_endpoint: 'http://staging-evalai.cloudcv.org/api/', + domain: 'http://staging-evalai.cloudcv.org' }; diff --git a/src/environments/environment.ts b/src/environments/environment.ts index c96ef9d4e..64da7a4d2 100644 --- a/src/environments/environment.ts +++ b/src/environments/environment.ts @@ -8,5 +8,6 @@ */ export const environment = { production: false, - api_endpoint: 'http://localhost:8000/api/' + api_endpoint: 'http://localhost:8000/api/', + domain: 'localhost' };