@phantomstudios/ft-lib 0.5.0-rc12 → 0.5.0-rc15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/consentMonitor/index-old.d.ts +19 -0
- package/lib/consentMonitor/index-old.d.ts.map +1 -0
- package/lib/consentMonitor/index-old.js +117 -0
- package/lib/consentMonitor/index-old.js.map +1 -0
- package/lib/consentMonitor/index.d.ts +2 -0
- package/lib/consentMonitor/index.d.ts.map +1 -1
- package/lib/consentMonitor/index.js +16 -3
- package/lib/consentMonitor/index.js.map +1 -1
- package/package.json +1 -1
- package/src/consentMonitor/index.ts +22 -3
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export declare class consentMonitor {
|
|
2
|
+
protected _consent: boolean;
|
|
3
|
+
protected _devHosts: string[];
|
|
4
|
+
protected _isDevEnvironment: boolean;
|
|
5
|
+
protected _hostname: string;
|
|
6
|
+
protected _isInitialized: boolean;
|
|
7
|
+
constructor(hostname?: string, devHosts?: string[] | string);
|
|
8
|
+
get consent(): boolean;
|
|
9
|
+
get devHosts(): string[] | string;
|
|
10
|
+
get isDevEnvironment(): boolean;
|
|
11
|
+
get isInitialized(): boolean;
|
|
12
|
+
getCookieValue: (name: string) => string;
|
|
13
|
+
init: () => void;
|
|
14
|
+
cookieConsentTest: () => void;
|
|
15
|
+
setDevCookieHandler: () => void;
|
|
16
|
+
permutiveConsentOn: () => void;
|
|
17
|
+
permutiveConsentOff: () => void;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=index-old.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-old.d.ts","sourceRoot":"","sources":["../../src/consentMonitor/index-old.ts"],"names":[],"mappings":"AAKA,qBAAa,cAAc;IACzB,SAAS,CAAC,QAAQ,UAAS;IAC3B,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;IAC9B,SAAS,CAAC,iBAAiB,UAAS;IACpC,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,cAAc,UAAS;gBAErB,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM;IAc3D,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,IAAI,QAAQ,IAAI,MAAM,EAAE,GAAG,MAAM,CAEhC;IAED,IAAI,gBAAgB,IAAI,OAAO,CAE9B;IAED,IAAI,aAAa,IAAI,OAAO,CAE3B;IAED,cAAc,GAAI,MAAM,MAAM,YACgD;IAE9E,IAAI,aASF;IAEF,iBAAiB,aA6Bf;IAEF,mBAAmB,aAkBjB;IAEF,kBAAkB,aAMhB;IAEF,mBAAmB,aAGjB;CACH"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.consentMonitor = void 0;
|
|
7
|
+
var debug_1 = __importDefault(require("debug"));
|
|
8
|
+
var debug = (0, debug_1.default)("@phantomstudios/ft-lib");
|
|
9
|
+
var DEFAULT_DEV_HOSTS = ["localhost", "phq", ".app", "preview"];
|
|
10
|
+
var consentMonitor = /** @class */ (function () {
|
|
11
|
+
function consentMonitor(hostname, devHosts) {
|
|
12
|
+
var _this = this;
|
|
13
|
+
this._consent = false;
|
|
14
|
+
this._isDevEnvironment = false;
|
|
15
|
+
this._isInitialized = false;
|
|
16
|
+
this.getCookieValue = function (name) { var _a; return ((_a = document.cookie.match("(^|;)\\s*" + name + "\\s*=\\s*([^;]+)")) === null || _a === void 0 ? void 0 : _a.pop()) || ""; };
|
|
17
|
+
this.init = function () {
|
|
18
|
+
_this.cookieConsentTest();
|
|
19
|
+
setInterval(_this.cookieConsentTest, 3000);
|
|
20
|
+
//Simulate cookie consent behaviour in non-prod environments
|
|
21
|
+
_this._devHosts.map(function (devHost) {
|
|
22
|
+
return _this._hostname.includes(devHost) && _this.setDevCookieHandler();
|
|
23
|
+
});
|
|
24
|
+
};
|
|
25
|
+
this.cookieConsentTest = function () {
|
|
26
|
+
if (window.permutive) {
|
|
27
|
+
if (!_this._isInitialized) {
|
|
28
|
+
if (_this.getCookieValue("FTConsent").includes("behaviouraladsOnsite%3Aon")) {
|
|
29
|
+
_this.permutiveConsentOn();
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
_this.permutiveConsentOff();
|
|
33
|
+
}
|
|
34
|
+
_this._isInitialized = true;
|
|
35
|
+
}
|
|
36
|
+
else if (_this.getCookieValue("FTConsent").includes("behaviouraladsOnsite%3Aon") &&
|
|
37
|
+
!_this.consent) {
|
|
38
|
+
debug("setting permutive tracking consent: on");
|
|
39
|
+
_this.permutiveConsentOn();
|
|
40
|
+
}
|
|
41
|
+
else if (!_this.getCookieValue("FTConsent").includes("behaviouraladsOnsite%3Aon") &&
|
|
42
|
+
_this.consent) {
|
|
43
|
+
debug("setting permutive tracking consent: off");
|
|
44
|
+
_this.permutiveConsentOff();
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
this.setDevCookieHandler = function () {
|
|
49
|
+
_this._isDevEnvironment = true;
|
|
50
|
+
debug("setting development environment from host match");
|
|
51
|
+
var oCookieMessage = document.getElementsByClassName("o-cookie-message")[0];
|
|
52
|
+
if (oCookieMessage) {
|
|
53
|
+
var onCookieMessageAct_1 = function () {
|
|
54
|
+
debug("setting development FT consent cookies");
|
|
55
|
+
document.cookie = "FTConsent=behaviouraladsOnsite%3Aon";
|
|
56
|
+
document.cookie = "FTCookieConsentGDPR=true";
|
|
57
|
+
oCookieMessage.removeEventListener("oCookieMessage.act", onCookieMessageAct_1, false);
|
|
58
|
+
};
|
|
59
|
+
oCookieMessage.addEventListener("oCookieMessage.act", onCookieMessageAct_1);
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
this.permutiveConsentOn = function () {
|
|
63
|
+
window.permutive.consent({
|
|
64
|
+
opt_in: true,
|
|
65
|
+
token: "behaviouraladsOnsite:on",
|
|
66
|
+
});
|
|
67
|
+
_this._consent = true;
|
|
68
|
+
};
|
|
69
|
+
this.permutiveConsentOff = function () {
|
|
70
|
+
window.permutive.consent({ opt_in: false });
|
|
71
|
+
_this._consent = false;
|
|
72
|
+
};
|
|
73
|
+
if (Array.isArray(devHosts)) {
|
|
74
|
+
this._devHosts = devHosts.concat(DEFAULT_DEV_HOSTS);
|
|
75
|
+
}
|
|
76
|
+
else if (devHosts === undefined) {
|
|
77
|
+
this._devHosts = DEFAULT_DEV_HOSTS;
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
this._devHosts = DEFAULT_DEV_HOSTS;
|
|
81
|
+
this._devHosts.push(devHosts);
|
|
82
|
+
}
|
|
83
|
+
this._hostname = hostname || window.location.hostname;
|
|
84
|
+
this.init();
|
|
85
|
+
}
|
|
86
|
+
Object.defineProperty(consentMonitor.prototype, "consent", {
|
|
87
|
+
get: function () {
|
|
88
|
+
return this._consent;
|
|
89
|
+
},
|
|
90
|
+
enumerable: false,
|
|
91
|
+
configurable: true
|
|
92
|
+
});
|
|
93
|
+
Object.defineProperty(consentMonitor.prototype, "devHosts", {
|
|
94
|
+
get: function () {
|
|
95
|
+
return this._devHosts;
|
|
96
|
+
},
|
|
97
|
+
enumerable: false,
|
|
98
|
+
configurable: true
|
|
99
|
+
});
|
|
100
|
+
Object.defineProperty(consentMonitor.prototype, "isDevEnvironment", {
|
|
101
|
+
get: function () {
|
|
102
|
+
return this._isDevEnvironment;
|
|
103
|
+
},
|
|
104
|
+
enumerable: false,
|
|
105
|
+
configurable: true
|
|
106
|
+
});
|
|
107
|
+
Object.defineProperty(consentMonitor.prototype, "isInitialized", {
|
|
108
|
+
get: function () {
|
|
109
|
+
return this._isInitialized;
|
|
110
|
+
},
|
|
111
|
+
enumerable: false,
|
|
112
|
+
configurable: true
|
|
113
|
+
});
|
|
114
|
+
return consentMonitor;
|
|
115
|
+
}());
|
|
116
|
+
exports.consentMonitor = consentMonitor;
|
|
117
|
+
//# sourceMappingURL=index-old.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-old.js","sourceRoot":"","sources":["../../src/consentMonitor/index-old.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ export declare class ConsentMonitor {
|
|
|
3
3
|
private _devHosts;
|
|
4
4
|
private _isDevEnvironment;
|
|
5
5
|
private _isInitialized;
|
|
6
|
+
private _hostname;
|
|
6
7
|
get consent(): boolean;
|
|
7
8
|
get devHosts(): string[];
|
|
8
9
|
get isDevEnvironment(): boolean;
|
|
@@ -14,6 +15,7 @@ export declare class ConsentMonitor {
|
|
|
14
15
|
private enablePermutive;
|
|
15
16
|
private disablePermutive;
|
|
16
17
|
cookieConsentTest: () => void;
|
|
18
|
+
setDevConsentCookies: () => void;
|
|
17
19
|
}
|
|
18
20
|
export { ConsentMonitor as consentMonitor };
|
|
19
21
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/consentMonitor/index.ts"],"names":[],"mappings":"AA+BA,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,SAAS,CAAW;IAC5B,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,cAAc,CAAS;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/consentMonitor/index.ts"],"names":[],"mappings":"AA+BA,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,SAAS,CAAW;IAC5B,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,SAAS,CAAS;IAE1B,IAAW,OAAO,IAAI,OAAO,CAE5B;IACD,IAAW,QAAQ,IAAI,MAAM,EAAE,CAE9B;IACD,IAAW,gBAAgB,IAAI,OAAO,CAErC;IACD,IAAW,aAAa,IAAI,OAAO,CAElC;IAED,IAAW,gBAAgB,IAAI,OAAO,CAErC;IAED,cAAc,GAAI,MAAM,MAAM,YACgD;gBAElE,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM;IAiC3D,OAAO,CAAC,kBAAkB;IAiC1B,OAAO,CAAC,eAAe;IAUvB,OAAO,CAAC,gBAAgB;IAQxB,iBAAiB,aAcf;IAEF,oBAAoB,aAMlB;CACH;AAED,OAAO,EAAE,cAAc,IAAI,cAAc,EAAE,CAAC"}
|
|
@@ -45,6 +45,13 @@ var ConsentMonitor = /** @class */ (function () {
|
|
|
45
45
|
});
|
|
46
46
|
}
|
|
47
47
|
};
|
|
48
|
+
this.setDevConsentCookies = function () {
|
|
49
|
+
_this._isDevEnvironment = true;
|
|
50
|
+
debug("setting development FT consent cookies");
|
|
51
|
+
document.cookie =
|
|
52
|
+
"FTConsent=behaviouraladsOnsite%3Aon%2CcookiesOnsite%3Aon%2CpermutiveadsOnsite%3Aon";
|
|
53
|
+
document.cookie = "FTCookieConsentGDPR=true";
|
|
54
|
+
};
|
|
48
55
|
if (Array.isArray(devHosts)) {
|
|
49
56
|
this._devHosts = __spreadArray(__spreadArray([], devHosts, true), DEFAULT_DEV_HOSTS, true);
|
|
50
57
|
}
|
|
@@ -54,14 +61,14 @@ var ConsentMonitor = /** @class */ (function () {
|
|
|
54
61
|
else {
|
|
55
62
|
this._devHosts = __spreadArray(__spreadArray([], DEFAULT_DEV_HOSTS, true), [devHosts], false);
|
|
56
63
|
}
|
|
57
|
-
|
|
64
|
+
this._hostname = hostname || window.location.hostname;
|
|
58
65
|
this._isDevEnvironment = this._devHosts.some(function (h) {
|
|
59
|
-
return
|
|
66
|
+
return _this._hostname.includes(h);
|
|
60
67
|
});
|
|
61
68
|
(0, loadFtCmp_1.loadFtCmpScript)()
|
|
62
69
|
.then(function () {
|
|
63
70
|
_this.attachCmpListeners();
|
|
64
|
-
var propertyConfig = window.location.hostname.endsWith("ft.com")
|
|
71
|
+
var propertyConfig = window.location.hostname.endsWith(".ft.com")
|
|
65
72
|
? cmp_client_1.properties["FT_DOTCOM_PROD"]
|
|
66
73
|
: cmp_client_1.properties["FT_DOTCOM_TEST"];
|
|
67
74
|
// initialize CMP
|
|
@@ -127,6 +134,12 @@ var ConsentMonitor = /** @class */ (function () {
|
|
|
127
134
|
_this.enablePermutive();
|
|
128
135
|
else if (typeId === CMP_CHOICE_REJECT_ALL)
|
|
129
136
|
_this.disablePermutive();
|
|
137
|
+
//Simulate cookie consent behaviour in non-prod environments as banner does not set cookies in non .ft.com domains
|
|
138
|
+
_this._devHosts.map(function (devHost) {
|
|
139
|
+
return _this._hostname.includes(devHost) &&
|
|
140
|
+
typeId === CMP_CHOICE_ACCEPT_ALL &&
|
|
141
|
+
_this.setDevConsentCookies();
|
|
142
|
+
});
|
|
130
143
|
// banner updated - check new cookie value to fire consent_update event
|
|
131
144
|
setTimeout(_this.cookieConsentTest, 3000);
|
|
132
145
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/consentMonitor/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,0DAIqC;AACrC,gDAA0B;AAE1B,8CAAuE;AAEvE,IAAM,KAAK,GAAG,IAAA,eAAK,EAAC,uCAAuC,CAAC,CAAC;AAE7D,IAAM,iBAAiB,GAAG,CAAC,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;AAiBlE,IAAM,qBAAqB,GAAG,EAAE,CAAC;AACjC,IAAM,qBAAqB,GAAG,EAAE,CAAC;AAEjC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/consentMonitor/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,0DAIqC;AACrC,gDAA0B;AAE1B,8CAAuE;AAEvE,IAAM,KAAK,GAAG,IAAA,eAAK,EAAC,uCAAuC,CAAC,CAAC;AAE7D,IAAM,iBAAiB,GAAG,CAAC,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;AAiBlE,IAAM,qBAAqB,GAAG,EAAE,CAAC;AACjC,IAAM,qBAAqB,GAAG,EAAE,CAAC;AAEjC;IA2BE,wBAAY,QAAiB,EAAE,QAA4B;QAA3D,iBA+BC;QAzDO,aAAQ,GAAG,KAAK,CAAC;QAEjB,sBAAiB,GAAG,KAAK,CAAC;QAC1B,mBAAc,GAAG,KAAK,CAAC;QAoB/B,mBAAc,GAAG,UAAC,IAAY,YAC5B,OAAA,CAAA,MAAA,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,GAAG,kBAAkB,CAAC,0CAAE,GAAG,EAAE,KAAI,EAAE,CAAA,EAAA,CAAC;QAqF9E,0GAA0G;QAC1G,sBAAiB,GAAG;YAClB,IAAI,CAAC,KAAI,CAAC,cAAc,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS;gBAAE,OAAO;YACjE,IAAI,KAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC;gBACpE,2BAA2B;gBAC3B,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC;oBACpB,KAAK,EAAE,gBAAgB;oBACvB,OAAO,EAAE,IAAI;iBACd,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC;oBACpB,KAAK,EAAE,gBAAgB;oBACvB,OAAO,EAAE,KAAK;iBACf,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC;QAEF,yBAAoB,GAAG;YACrB,KAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC9B,KAAK,CAAC,wCAAwC,CAAC,CAAC;YAChD,QAAQ,CAAC,MAAM;gBACb,oFAAoF,CAAC;YACvF,QAAQ,CAAC,MAAM,GAAG,0BAA0B,CAAC;QAC/C,CAAC,CAAC;QAzGA,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,SAAS,mCAAO,QAAQ,SAAK,iBAAiB,OAAC,CAAC;QACvD,CAAC;aAAM,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAClC,IAAI,CAAC,SAAS,qBAAO,iBAAiB,OAAC,CAAC;QAC1C,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,SAAS,mCAAO,iBAAiB,UAAE,QAAQ,SAAC,CAAC;QACpD,CAAC;QAED,IAAI,CAAC,SAAS,GAAG,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAEtD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAC,CAAC;YAC7C,OAAA,KAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QAA1B,CAA0B,CAC3B,CAAC;QAEF,IAAA,2BAAe,GAAE;aACd,IAAI,CAAC;YACJ,KAAI,CAAC,kBAAkB,EAAE,CAAC;YAE1B,IAAM,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC;gBACjE,CAAC,CAAC,uBAAU,CAAC,gBAAgB,CAAC;gBAC9B,CAAC,CAAC,uBAAU,CAAC,gBAAgB,CAAC,CAAC;YAEjC,iBAAiB;YACjB,IAAA,+BAAkB,EAAC,EAAE,cAAc,gBAAA,EAAE,CAAC,CAAC;YACvC,sFAAsF;YACtF,6HAA6H;YAC7H,IAAA,wCAA2B,GAAE,CAAC;YAC9B,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC7B,CAAC,CAAC;aACD,KAAK,CAAC,UAAC,GAAG,IAAK,OAAA,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAlB,CAAkB,CAAC,CAAC;IACxC,CAAC;IAnDD,sBAAW,mCAAO;aAAlB;YACE,OAAO,IAAI,CAAC,QAAQ,CAAC;QACvB,CAAC;;;OAAA;IACD,sBAAW,oCAAQ;aAAnB;YACE,OAAO,IAAI,CAAC,SAAS,CAAC;QACxB,CAAC;;;OAAA;IACD,sBAAW,4CAAgB;aAA3B;YACE,OAAO,IAAI,CAAC,iBAAiB,CAAC;QAChC,CAAC;;;OAAA;IACD,sBAAW,yCAAa;aAAxB;YACE,OAAO,IAAI,CAAC,cAAc,CAAC;QAC7B,CAAC;;;OAAA;IAED,sBAAW,4CAAgB;aAA3B;YACE,OAAO,IAAI,CAAC,QAAQ,CAAC;QACvB,CAAC;;;OAAA;IAsCO,2CAAkB,GAA1B;QAAA,iBA+BC;QA9BC,IAAA,8BAAkB,EAAC;;YACjB,IAAM,OAAO,GAAwB,UAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI;gBACpD,KAAK,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;gBAC/B,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;oBACxB,KAAI,CAAC,eAAe,EAAE,CAAC;gBACzB,CAAC;qBAAM,CAAC;oBACN,KAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC1B,CAAC;YACH,CAAC,CAAC;YAEF,IAAM,QAAQ,GAAyB,UAAC,EAAE,EAAE,EAAE,EAAE,MAAM;gBACpD,KAAK,CAAC,wBAAwB,EAAE,MAAM,CAAC,CAAC;gBACxC,IAAI,MAAM,KAAK,qBAAqB;oBAAE,KAAI,CAAC,eAAe,EAAE,CAAC;qBACxD,IAAI,MAAM,KAAK,qBAAqB;oBAAE,KAAI,CAAC,gBAAgB,EAAE,CAAC;gBAEnE,kHAAkH;gBAClH,KAAI,CAAC,SAAS,CAAC,GAAG,CAChB,UAAC,OAAO;oBACN,OAAA,KAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC;wBAChC,MAAM,KAAK,qBAAqB;wBAChC,KAAI,CAAC,oBAAoB,EAAE;gBAF3B,CAE2B,CAC9B,CAAC;gBAEF,uEAAuE;gBACvE,UAAU,CAAC,KAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;YAC3C,CAAC,CAAC;YAEF,MAAA,MAAA,MAAM,CAAC,IAAI,EAAC,gBAAgB,mDAAG,gBAAgB,EAAE,OAAO,CAAC,CAAC;YAC1D,MAAA,MAAA,MAAM,CAAC,IAAI,EAAC,gBAAgB,mDAAG,uBAAuB,EAAE,QAAQ,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,wCAAe,GAAvB;;QACE,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC1B,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC/B,MAAA,MAAM,CAAC,SAAS,0CAAE,OAAO,CAAC;YACxB,MAAM,EAAE,IAAI;YACZ,KAAK,EAAE,yBAAyB;SACjC,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACvB,CAAC;IAEO,yCAAgB,GAAxB;;QACE,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC3B,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAChC,MAAA,MAAM,CAAC,SAAS,0CAAE,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACxB,CAAC;IA0BH,qBAAC;AAAD,CAAC,AAtID,IAsIC;AAtIY,wCAAc;AAwIA,wCAAc"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@phantomstudios/ft-lib",
|
|
3
3
|
"description": "A collection of Javascript UI & tracking utils for FT sites",
|
|
4
|
-
"version": "0.5.0-
|
|
4
|
+
"version": "0.5.0-rc15",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"types": "lib/index.d.ts",
|
|
7
7
|
"homepage": "https://github.com/phantomstudios/ft-lib#readme",
|
|
@@ -34,6 +34,7 @@ export class ConsentMonitor {
|
|
|
34
34
|
private _devHosts: string[];
|
|
35
35
|
private _isDevEnvironment = false;
|
|
36
36
|
private _isInitialized = false;
|
|
37
|
+
private _hostname: string;
|
|
37
38
|
|
|
38
39
|
public get consent(): boolean {
|
|
39
40
|
return this._consent;
|
|
@@ -64,16 +65,17 @@ export class ConsentMonitor {
|
|
|
64
65
|
this._devHosts = [...DEFAULT_DEV_HOSTS, devHosts];
|
|
65
66
|
}
|
|
66
67
|
|
|
67
|
-
|
|
68
|
+
this._hostname = hostname || window.location.hostname;
|
|
69
|
+
|
|
68
70
|
this._isDevEnvironment = this._devHosts.some((h) =>
|
|
69
|
-
|
|
71
|
+
this._hostname.includes(h),
|
|
70
72
|
);
|
|
71
73
|
|
|
72
74
|
loadFtCmpScript()
|
|
73
75
|
.then(() => {
|
|
74
76
|
this.attachCmpListeners();
|
|
75
77
|
|
|
76
|
-
const propertyConfig = window.location.hostname.endsWith("ft.com")
|
|
78
|
+
const propertyConfig = window.location.hostname.endsWith(".ft.com")
|
|
77
79
|
? properties["FT_DOTCOM_PROD"]
|
|
78
80
|
: properties["FT_DOTCOM_TEST"];
|
|
79
81
|
|
|
@@ -102,6 +104,15 @@ export class ConsentMonitor {
|
|
|
102
104
|
debug("onMessageChoiceSelect:", typeId);
|
|
103
105
|
if (typeId === CMP_CHOICE_ACCEPT_ALL) this.enablePermutive();
|
|
104
106
|
else if (typeId === CMP_CHOICE_REJECT_ALL) this.disablePermutive();
|
|
107
|
+
|
|
108
|
+
//Simulate cookie consent behaviour in non-prod environments as banner does not set cookies in non .ft.com domains
|
|
109
|
+
this._devHosts.map(
|
|
110
|
+
(devHost) =>
|
|
111
|
+
this._hostname.includes(devHost) &&
|
|
112
|
+
typeId === CMP_CHOICE_ACCEPT_ALL &&
|
|
113
|
+
this.setDevConsentCookies(),
|
|
114
|
+
);
|
|
115
|
+
|
|
105
116
|
// banner updated - check new cookie value to fire consent_update event
|
|
106
117
|
setTimeout(this.cookieConsentTest, 3000);
|
|
107
118
|
};
|
|
@@ -144,6 +155,14 @@ export class ConsentMonitor {
|
|
|
144
155
|
});
|
|
145
156
|
}
|
|
146
157
|
};
|
|
158
|
+
|
|
159
|
+
setDevConsentCookies = () => {
|
|
160
|
+
this._isDevEnvironment = true;
|
|
161
|
+
debug("setting development FT consent cookies");
|
|
162
|
+
document.cookie =
|
|
163
|
+
"FTConsent=behaviouraladsOnsite%3Aon%2CcookiesOnsite%3Aon%2CpermutiveadsOnsite%3Aon";
|
|
164
|
+
document.cookie = "FTCookieConsentGDPR=true";
|
|
165
|
+
};
|
|
147
166
|
}
|
|
148
167
|
|
|
149
168
|
export { ConsentMonitor as consentMonitor };
|