PageSourceSearch

https://legrandmix.com/modules/supersoniks/ssks_rgpd/js/ssks_rgpd.js?v=1.x

js legrandmix.com collected 2026-09-24 10:46:57 UTC 9,859 bytes, 331 lines download raw bytes

1(function ($, Drupal, drupalSettings) {
2	Drupal.behaviors.ssks_rgpd = {
3
4		attach: function (context, settings) {
5
6			// Init
7			tarteaucitron_init(settings.ssks_rgpd);
8
9			// Plugins
10			if (settings.ssks_rgpd.analytics === true)
11				tarteaucitron_analytics(settings.ssks_rgpd);
12
13			if (settings.ssks_rgpd.googletagmanager === true)
14				tarteaucitron_googletagmanager(settings.ssks_rgpd);
15
16			if (settings.ssks_rgpd.adsense === true)
17				tarteaucitron_adsense(settings.ssks_rgpd);
18
19			if (settings.ssks_rgpd.googleads === true)
20				tarteaucitron_googleads(settings.ssks_rgpd);
21
22			if (settings.ssks_rgpd.googleadwordsconversion === true)
23				tarteaucitron_googleadwordsconversion(settings.ssks_rgpd);
24
25			if (settings.ssks_rgpd.googleadwordsremarketing === true)
26				tarteaucitron_googleadwordsremarketing(settings.ssks_rgpd);
27
28			if (settings.ssks_rgpd.jsapi === true)
29				tarteaucitron_jsapi();
30
31			if (settings.ssks_rgpd.addthis === true)
32				tarteaucitron_addthis();
33
34			if (settings.ssks_rgpd.facebookcomment === true)
35				tarteaucitron_facebookcomment();
36
37			if (settings.ssks_rgpd.facebookshare === true)
38				tarteaucitron_facebookshare();
39
40			if (settings.ssks_rgpd.facebooklikebox === true)
41				tarteaucitron_facebooklikebox();
42
43			if (settings.ssks_rgpd.facebookpixel === true)
44				tarteaucitron_facebookpixel(settings.ssks_rgpd);
45
46			if (settings.ssks_rgpd.linkedinshare === true)
47				tarteaucitron_linkedinshare();
48
49			if (settings.ssks_rgpd.pinterestshare === true)
50				tarteaucitron_pinterestshare();
51
52			if (settings.ssks_rgpd.twittershare === true)
53				tarteaucitron_twittershare();
54
55			if (settings.ssks_rgpd.twitterembed === true)
56				tarteaucitron_twitterembed();
57
58			if (settings.ssks_rgpd.twittertimeline === true)
59				tarteaucitron_twittertimeline();
60
61			if (settings.ssks_rgpd.dailymotion === true)
62				tarteaucitron_dailymotion();
63
64			if (settings.ssks_rgpd.vimeo === true)
65				tarteaucitron_vimeo();
66
67			if (settings.ssks_rgpd.youtube === true)
68				tarteaucitron_youtube();
69
70			if (typeof settings.ssks_rgpd.custom_code === 'string' && settings.ssks_rgpd.custom_code.length > 0)
71				runCustomCode(settings.ssks_rgpd.custom_code, 'custom-code');
72		},
73	}
74
75	function tarteaucitron_init(settings) {
76
77		// Call popin of front settings
78		$(once('tarteauCitron', "a.handleRgpdCookie, button.handleRgpdCookie")).each(function () {
79			$(this).on("click", function (e) {
80				e.preventDefault();
81				tarteaucitron.userInterface.openPanel();
82			});
83		});
84
85		if ('tarteaucitronCustomText' in settings
86			&& typeof settings.tarteaucitronCustomText === 'object'
87			&& settings.tarteaucitronCustomText !== null
88		) {
89			tarteaucitronCustomText = settings.tarteaucitronCustomText;
90		}
91
92		tarteaucitron.job = tarteaucitron.job || [];
93
94		tarteaucitron.init({
95			"privacyUrl": settings.privacyUrl,
96			"bodyPosition": "top", /* or top to bring it as first element for accessibility */
97
98			"hashtag": settings.hashtag,
99			"cookieName": settings.cookieName,
100
101			"orientation": settings.orientation,
102
103			"groupServices": false,
104			"showDetailsOnClick": true,
105			"serviceDefaultState": "wait",
106
107			"showAlertSmall": settings.showAlertSmall,
108			"cookieslist": settings.cookieslist,
109			"cookieslistEmbed": false,
110
111			"showIcon": false,
112			"iconPosition": "BottomRight",
113
114			"adblocker": settings.adblocker,
115
116			"DenyAllCta": settings.DenyAllCta,
117			"AcceptAllCta": settings.AcceptAllCta,
118			"highPrivacy": settings.highPrivacy,
119			"alwaysNeedConsent": false,
120
121			"handleBrowserDNTRequest": settings.handleBrowserDNTRequest,
122
123			"removeCredit": settings.removeCredit,
124			"moreInfoLink": settings.moreInfoLink,
125			"useExternalCss": true,
126			"useExternalJs": false,
127
128			"readmoreLink": settings.readmoreLink,
129			"cookieDomain": settings.cookieDomain,
130
131			"mandatory": settings.mandatory,
132			"mandatoryCta": true,
133
134			"googleConsentMode": true,
135			"bingConsentMode": true,
136			"softConsentMode": false,
137
138			"dataLayer": false,
139			"serverSide": false,
140
141			"partnersList": false
142		});
143	}
144
145	function runCustomCode(code, marker) {
146		if (typeof code !== 'string' || code.trim().length === 0) {
147			return;
148		}
149
150		var scriptId = marker ? ('ssks-rgpd-' + marker) : '';
151		if (scriptId.length > 0 && document.getElementById(scriptId)) {
152			return;
153		}
154
155		var scriptElement = document.createElement('script');
156		scriptElement.setAttribute('type', 'text/javascript');
157
158		if (scriptId.length > 0) {
159			scriptElement.setAttribute('id', scriptId);
160		}
161
162		scriptElement.textContent = code;
163		document.head.appendChild(scriptElement);
164	}
165
166	function runOnGtmLoaded(googletagmanagerId, callback) {
167		if (typeof callback !== 'function' || typeof googletagmanagerId !== 'string' || googletagmanagerId.length === 0) {
168			return;
169		}
170
171		window.ssksRgpdGtmWatchers = window.ssksRgpdGtmWatchers || {};
172		if (window.ssksRgpdGtmWatchers[googletagmanagerId]) {
173			return;
174		}
175		window.ssksRgpdGtmWatchers[googletagmanagerId] = true;
176
177		var attempts = 0;
178		var maxAttempts = 120;
179		var intervalId = setInterval(function () {
180			attempts++;
181
182			if (window.google_tag_manager && window.google_tag_manager[googletagmanagerId]) {
183				clearInterval(intervalId);
184				callback();
185				return;
186			}
187
188			if (attempts >= maxAttempts) {
189				clearInterval(intervalId);
190			}
191		}, 500);
192	}
193
194	function tarteaucitron_analytics(settings) {
195		if (settings.analyticsUa.length > 0) {
196			tarteaucitron.user.gtagUa = settings.analyticsUa;
197
198			if (typeof settings.analyticsMore === 'string' && settings.analyticsMore.length > 0) {
199				tarteaucitron.user.gtagMore = function () {
200					runCustomCode(settings.analyticsMore, 'analytics-more');
201				};
202			}
203
204			(tarteaucitron.job = tarteaucitron.job || []).push('gtag');
205		}
206	}
207
208	function tarteaucitron_googletagmanager(settings) {
209		if (settings.googletagmanagerId.length > 0) {
210			tarteaucitron.user.googletagmanagerId = settings.googletagmanagerId;
211			(tarteaucitron.job = tarteaucitron.job || []).push('googletagmanager');
212
213			if (typeof settings.googletagmanagerMore === 'string' && settings.googletagmanagerMore.length > 0) {
214				runOnGtmLoaded(settings.googletagmanagerId, function () {
215					runCustomCode(settings.googletagmanagerMore, 'gtm-more-' + settings.googletagmanagerId.toLowerCase());
216				});
217			}
218		}
219	}
220
221	function tarteaucitron_adsense(settings) {
222		var adsensecapub = typeof settings.adsensecapub === 'string' ? settings.adsensecapub.trim() : '';
223		if (adsensecapub.length > 0) {
224			tarteaucitron.user.adsensecapub = adsensecapub;
225			(tarteaucitron.job = tarteaucitron.job || []).push('adsenseauto');
226			return;
227		}
228
229		(tarteaucitron.job = tarteaucitron.job || []).push('adsense');
230	}
231
232	function tarteaucitron_googleads(settings) {
233		if (settings.googleadsId.length > 0) {
234			tarteaucitron.user.googleadsId = settings.googleadsId;
235
236			if (typeof settings.googleadsMore === 'string' && settings.googleadsMore.length > 0) {
237				tarteaucitron.user.googleadsMore = function () {
238					runCustomCode(settings.googleadsMore, 'googleads-more-' + settings.googleadsId.toLowerCase());
239				};
240			}
241
242			(tarteaucitron.job = tarteaucitron.job || []).push('googleads');
243		}
244	}
245
246	function tarteaucitron_googleadwordsconversion(settings) {
247		if (settings.adwordsconversionId.length > 0) {
248			tarteaucitron.user.adwordsconversionId = settings.adwordsconversionId;
249
250			if (typeof settings.adwordsconversionLabel === 'string' && settings.adwordsconversionLabel.length > 0) {
251				tarteaucitron.user.adwordsconversionLabel = settings.adwordsconversionLabel;
252			}
253
254			(tarteaucitron.job = tarteaucitron.job || []).push('googleadwordsconversion');
255		}
256	}
257
258	function tarteaucitron_googleadwordsremarketing(settings) {
259		if (settings.adwordsremarketingId.length > 0) {
260			tarteaucitron.user.adwordsremarketingId = settings.adwordsremarketingId;
261			(tarteaucitron.job = tarteaucitron.job || []).push('googleadwordsremarketing');
262		}
263	}
264
265	function tarteaucitron_jsapi() {
266		(tarteaucitron.job = tarteaucitron.job || []).push('jsapi');
267	}
268
269	function tarteaucitron_addthis() {
270		(tarteaucitron.job = tarteaucitron.job || []).push('addthis');
271	}
272
273	function tarteaucitron_facebookcomment() {
274		(tarteaucitron.job = tarteaucitron.job || []).push('facebookcomment');
275	}
276
277	function tarteaucitron_facebookshare() {
278		(tarteaucitron.job = tarteaucitron.job || []).push('facebook');
279	}
280
281	function tarteaucitron_facebooklikebox() {
282		(tarteaucitron.job = tarteaucitron.job || []).push('facebooklikebox');
283	}
284
285	function tarteaucitron_facebookpixel(settings) {
286		if (settings.facebookpixelId.length > 0) {
287			tarteaucitron.user.facebookpixelId = settings.facebookpixelId;
288
289      if (typeof settings.facebookpixelMore === 'string' && settings.facebookpixelMore.length > 0) {
290				tarteaucitron.user.facebookpixelMore = function () {
291					runCustomCode(settings.facebookpixelMore, 'facebookpixel-more');
292				};
293			}
294
295			(tarteaucitron.job = tarteaucitron.job || []).push('facebookpixel');
296		}
297	}
298
299	function tarteaucitron_linkedinshare() {
300		(tarteaucitron.job = tarteaucitron.job || []).push('linkedin');
301	}
302
303	function tarteaucitron_pinterestshare() {
304		(tarteaucitron.job = tarteaucitron.job || []).push('pinterest');
305	}
306
307	function tarteaucitron_twittershare() {
308		(tarteaucitron.job = tarteaucitron.job || []).push('twitter');
309	}
310
311	function tarteaucitron_twitterembed() {
312		(tarteaucitron.job = tarteaucitron.job || []).push('twitterembed');
313	}
314
315	function tarteaucitron_twittertimeline() {
316		(tarteaucitron.job = tarteaucitron.job || []).push('twittertimeline');
317	}
318
319	function tarteaucitron_dailymotion() {
320		(tarteaucitron.job = tarteaucitron.job || []).push('dailymotion');
321	}
322
323	function tarteaucitron_vimeo() {
324		(tarteaucitron.job = tarteaucitron.job || []).push('vimeo');
325	}
326
327	function tarteaucitron_youtube() {
328		(tarteaucitron.job = tarteaucitron.job || []).push('youtube');
329		(tarteaucitron.job = tarteaucitron.job || []).push('youtubeplaylist');
330	}
331})(jQuery, Drupal, drupalSettings);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.