PageSourceSearch

https://www.wprost.pl/_js/console/console.js

js wprost.pl collected 2026-09-24 17:42:10 UTC 74,861 bytes, 1,278 lines download raw bytes

1var genesisConsole = {  
2    id:       false,
3    extDiv:   false,
4    tabsDiv:  false,
5    tempDiv:  false,
6    pagesDiv: false,
7    view: [
8        {
9            'id': 'webpage',
10            'title': 'Strona',
11            'text': 'Podstawowe informacje o stronie internetowej',
12        },
13        {
14            'id': 'ads',
15            'title': 'Reklama',
16            'text': 'Informacje o jednostkach reklamowych, Header Biding, dostawcy zewnętrzni...',
17        },
18        {
19            'id': 'deep',
20            'title': 'Deep.BI',
21            'text': 'Zdarzenia Deep.BI, informacje o użytkowniku',
22        }
23    ],
24    tabs: [
25        {
26            'id': 'webpage',
27            'text': 'Strona',
28            'mdi': 'web',
29            'view': ['webpage'],
30        },
31        {
32            'id': 'rich-data',
33            'text': 'Dane strukturalne',
34            'mdi': 'code-json',
35            'view': ['webpage'],
36        }, 
37        {
38            'id': 'details',
39            'text': 'Szczegóły',
40            'mdi': 'information-variant',
41            'view': ['ads','webpage','deep'],
42        },
43        {
44            'id': 'ad-units',
45            'text': 'Jednostki',
46            'mdi': 'view-grid-outline',
47            'view': ['ads']
48        },
49        {
50            'id': 'console',
51            'text': 'Konsola',
52            'mdi': 'console-line',
53            'view': ['ads','deep'],
54        }
55    ],
56    init: function () {    
57        var obj = this;
58        if (!this.id)
59        {
60            this.id = sessionStorage.genesisConsoleID ? 
61                      sessionStorage.genesisConsoleID : this.createId();
62            sessionStorage.genesisConsoleID = this.id;
63        }
64        this.extDiv = document.getElementById('genesis-ext-console');
65        if (!this.extDiv)
66        {
67            this.extDiv = document.createElement('div');
68            this.extDiv.id = 'genesis-ext-console';
69            this.extDiv.dataset.id = this.id;
70            this.extDiv.className = 'genesis-ext-console';
71            this.extDiv.style.display = 'none';
72            document.body.appendChild(this.extDiv);
73            this.createTabs();
74        }  
75        this.prepareConsole();
76        this.refreshPageData();
77        this.refreshRichData();
78        this.refreshAdUnits();
79        this.refreshDetailsData();
80        addCSSModule('genesis-ads-preview-vars', '/_css/ext/genesis-console-vars.css');
81
82        let ev = new CustomEvent('genesisExtComplete', {'detail': {'id': sessionStorage.genesisConsoleID}, 'bubbles': true, 'cancelable': false});
83        document.dispatchEvent(ev);
84        window.addEventListener('genesisExtDataChange', function(event) {
85            console.log('genesisExtDataChange', event);
86        }, false);
87        window.addEventListener('genesisExtConsoleClose', function(event) {
88            onClose(event);
89        }, false);
90    },
91    createId: function () {
92        let d     = new Date(),   
93            tstmp = d.getTime();
94        return 'gen-console-' + tstmp + '-' + Math.floor(Math.random() * 1000) + '-' + Math.floor(Math.random() * 1000);
95    },
96    createTabs: function () {
97        this.tabsDiv = document.createElement('div');
98        this.tabsDiv.className = 'genesis-ext-tabs';
99        this.pagesDiv = document.createElement('div');
100        this.pagesDiv.className = 'genesis-ext-pages';
101        this.tempDiv = document.createElement('div');
102        this.tempDiv.id = 'genesis-console-template';
103        this.tempDiv.className = 'hidden';
104        let tabsUL = document.createElement('ul');
105        for (let t in this.tabs)   
106        {    
107            let tab = document.createElement('li');
108            tab.id = 'genesis-tab-' + this.tabs[t].id;
109            tab.dataset.id = this.tabs[t].id;
110            tab.dataset.index = t;
111            tab.dataset.view = this.tabs[t].view;
112            tab.innerHTML = '<i class="mdi mdi-' + this.tabs[t].mdi + '"></i> ' + this.tabs[t].text; 
113            tab.onclick = function () {
114                let id = this.dataset.id,
115                    page = document.getElementById('genesis-page-' + id),
116                    tabs = document.querySelectorAll('#genesis-ext-console > .genesis-ext-tabs li')
117                tabs.forEach(function (tab) {
118                    let id = tab.dataset.id,
119                        page = document.getElementById('genesis-page-' + id);
120                    tab.classList.remove('active-tab');
121                    if (page)
122                        page.classList.remove('active-tab');
123                });
124                this.classList.add('active-tab');
125                if (page)
126                    page.classList.add('active-tab');
127            };
128            tabsUL.appendChild(tab);   
129            let page = document.createElement('div');  
130            page.id = 'genesis-page-' + this.tabs[t].id;
131            page.dataset.id = this.tabs[t].id;
132            page.dataset.index = t;
133            page.dataset.view = this.tabs[t].view;
134            this.pagesDiv.appendChild(page);   
135        }
136        this.tabsDiv.appendChild(tabsUL);
137        this.extDiv.appendChild(this.tabsDiv);
138        this.extDiv.appendChild(this.pagesDiv); 
139        this.extDiv.appendChild(this.tempDiv); 
140    }, 
141    prepareConsole: function () { 
142        let consoleDiv = document.getElementById('genesis-page-console'),
143            consoleTB  = false,
144            consoleFI  = false,
145            consoleDL  = false,
146            consoleUL  = false,  
147            consoleC1  = false,  
148            consoleL1  = false,  
149            consoleC2  = false,  
150            consoleL2  = false,  
151            consoleC3  = false,  
152            consoleL3  = false,  
153            consoleC4  = false,  
154            consoleL4  = false;    
155        if (!consoleDiv)   
156        {
157            return false;
158        }
159        consoleTB = document.createElement('div');
160        consoleTB.className      = 'genesis-console-toolbar';
161        consoleFI = document.createElement('input');
162        consoleFI.type           = 'text';
163        consoleFI.value          = '';
164        consoleFI.placeholder    = 'Filtruj zawartość';
165        consoleFI.list           = 'genesis-console-events-datalist';
166        consoleFI.id             = 'genesis-console-filter';
167        consoleFI.className      = 'genesis-console-filter';
168        consoleFI.innerHTML      = 'genesis-console-toolbar';
169        consoleDL = document.createElement('datalist');
170        consoleDL.id             = 'genesis-console-events-datalist';
171        consoleDL.innerHTML      = '<option value="slotRenderEnded"><option value="slotResponseReceived"><option value="slotRequested"><option value="slotOnload"><option value="impressionViewable"><option value="auctionInit"><option value="auctionEnd"><option value="beforeRequestBids"><option value="bidRequested"><option value="bidResponse"><option value="bidAdjustment"><option value="bidTimeout"><option value="setTargeting"><option value="requestBids"><option value="addAdUnits"><option value="adRenderFailed"><option value="adRenderSucceeded"><option value="auctionDebug"><option value="bidderDone"><option value="bidderError"><option value="tcf2Enforcement"><option value="findTheBestBids"></datalist>';
172        consoleC1 = document.createElement('input');
173        consoleC1.type           = 'checkbox';
174        consoleC1.dataset.filter = 'hb';
175        consoleC1.id             = 'genesis-console-filter-hb';
176        consoleC1.className      = 'genesis-console-filter-checkbox';  
177        consoleL1 = document.createElement('label');
178        consoleL1.htmlFor        = 'genesis-console-filter-hb';
179        consoleL1.innerHTML      = 'HB';  
180        consoleC2 = document.createElement('input');
181        consoleC2.type           = 'checkbox';
182        consoleC2.dataset.filter = 'errors';
183        consoleC2.id             = 'genesis-console-filter-errors';
184        consoleC2.className      = 'genesis-console-filter-checkbox';  
185        consoleL2 = document.createElement('label');
186        consoleL2.htmlFor        = 'genesis-console-filter-errors';
187        consoleL2.innerHTML      = 'Błędy';  
188        consoleC3 = document.createElement('input');
189        consoleC3.type           = 'checkbox';
190        consoleC3.dataset.filter = 'warnings';
191        consoleC3.id             = 'genesis-console-filter-warnings';
192        consoleC3.className      = 'genesis-console-filter-checkbox';  
193        consoleL3 = document.createElement('label');
194        consoleL3.htmlFor        = 'genesis-console-filter-warnings';
195        consoleL3.innerHTML      = 'Ostrzeżenia';  
196        consoleC4 = document.createElement('input');
197        consoleC4.type           = 'checkbox';
198        consoleC4.dataset.filter = 'messages';
199        consoleC4.id             = 'genesis-console-filter-messages';
200        consoleC4.className      = 'genesis-console-filter-checkbox';  
201        consoleL4 = document.createElement('label');
202        consoleL4.htmlFor        = 'genesis-console-filter-messages';
203        consoleL4.innerHTML      = 'Informacje';  
204        consoleUL = document.createElement('ul');
205        consoleUL.className      = 'genesis-console genesis-console-filter';
206        consoleTB.appendChild(consoleDL); 
207        consoleTB.appendChild(consoleFI); 
208        consoleTB.appendChild(consoleC1); 
209        consoleTB.appendChild(consoleL1); 
210        consoleTB.appendChild(consoleC2); 
211        consoleTB.appendChild(consoleL2); 
212        consoleTB.appendChild(consoleC3); 
213        consoleTB.appendChild(consoleL3); 
214        consoleTB.appendChild(consoleC4); 
215        consoleTB.appendChild(consoleL4); 
216        consoleDiv.appendChild(consoleTB); 
217        consoleDiv.appendChild(consoleUL); 
218    },
219    prepareEvents: function () { 
220        /*
221        let items = document.querySelectorAll('#genesis-ext-console li.genesis-console-item-data:not(.assigned)')
222        items.forEach(function (item) {
223            item.classList.add('assigned');
224            item.onclick = function (event) {
225                this.classList.toggle('genesis-console-item-expand');
226                event.preventDefault(); 
227                event.stopPropagation();
228            };
229        });
230        let dataBlocks = document.querySelectorAll('#genesis-ext-console li.genesis-console-item-data .genesis-console-item-data-block:not(.assigned)')
231        dataBlocks.forEach(function (dataBlock) {
232            dataBlock.classList.add('assigned');
233            dataBlock.onclick = function (event) {
234                event.preventDefault(); 
235                //event.stopPropagation();
236            };
237        });
238        let dataTabs = document.querySelectorAll('#genesis-ext-console li.genesis-console-item-data .genesis-ext-tabs-data ul:not(.assigned)')
239        dataTabs.forEach(function (dataTab) {
240            dataTab.classList.add('assigned');
241            let tabItems = dataTab.querySelectorAll('li')
242            tabItems.forEach(function (tab, index) {
243                tab.dataset.index = index;
244                tab.onclick = function (event) {
245                    let tabItem   = this,
246                        dataBlock = tabItem.closest('div.genesis-console-item-data-block');  
247                    if (dataBlock)
248                    {
249                        let dataLi = dataBlock.querySelectorAll('#genesis-ext-console li.genesis-console-item-data .genesis-ext-tabs-data li');
250                        dataLi.forEach(function (li, index) {
251                            if (li.dataset.index == tabItem.dataset.index)
252                                li.classList.add('active-tab');
253                            else
254                                li.classList.remove('active-tab');
255                        });
256                        dataBlock.querySelector('dl').style.display  = ((tabItem.dataset.index == 0) ? 'grid' : 'none');  
257                        dataBlock.querySelector('pre').style.display = ((tabItem.dataset.index == 1) ? 'block' : 'none');  ; 
258                    }  
259                    event.preventDefault(); 
260                    event.stopPropagation();
261                };
262            });
263        });
264        */
265    },
266    add: function (text, params, view) { 
267        let consoleUL  = document.querySelector('#genesis-page-console ul.genesis-console'),
268            consoleItem = ''; 
269            consoleHTML = '',  
270            storageConsoleItems = {},  
271            storageConsoleCount = 0; 
272        if (!consoleUL)   
273            return false;     
274        if ((typeof genesisAds == 'object') && (typeof genesisAds.consoleStorage == 'object') && (genesisAds.consoleStorageMode == 'write'))
275        {    
276            for (let dt in genesisAds.consoleStorage)   
277            {
278                storageConsoleItems[dt] = genesisAds.consoleStorage[dt]; 
279                storageConsoleCount++
280            }
281            genesisAds.consoleStorage     = false;
282            genesisAds.consoleStorageMode = 'exit';
283        }
284        if (storageConsoleCount > 0)
285        {    
286            for (let dt in storageConsoleItems)   
287                consoleHTML += this.prepareItem('STORAGE ' + storageConsoleItems[dt][0], storageConsoleItems[dt][1], storageConsoleItems[dt][2]); 
288            consoleUL.insertAdjacentHTML('afterBegin', consoleHTML);
289        }
290        consoleItem = this.prepareItem(text, params, view); 
291        consoleUL.insertAdjacentHTML('beforeEnd', consoleItem);
292        if ((typeof params == 'object') && (params != null) &&  ((typeof genesisAds == 'object') && (typeof genesisAds.slots == 'object')))
293        {
294            if (params.refreshSlotInfo)
295            {                            
296                var slot = false;
297                if (params.slotElementId)
298                    slot = genesisAds.getSlotByID(params.slotElementId);
299                if (typeof slot != 'object')
300                    slot = genesisAds.getSlotByID(params.slotElementId, true);    
301                if (typeof slot != 'object')
302                {
303                    const el = document.getElementById(params.slotElementId);   
304                    if ((el != null) && (typeof el == 'object') && (el.closest('div[data-ad="genesis"]')))
305                        slot = genesisAds.getSlotByID(el.id);
306                }             
307                if (typeof slot == 'object')
308                {
309                    let slot_id     = ((slot.cascade) ? slot.org_id : slot.id);            
310                        slot_row_id = slot_id.replace('.', '-'),    
311                        slot_box    = '#genesis-ads-console-slot-' + slot_row_id,
312                        adUnitItem  = document.getElementById('genesis-ads-console-slot-' + slot_id); 
313                        tempItem    = document.getElementById('#genesis-ads-console-template-slot-' + slot_row_id);  
314                    if (slot_id != '')  
315                    {
316                        if (adUnitItem)
317                        {
318                            const st = window.getComputedStyle(adUnitItem);
319                            if (st.position == 'static')
320                                adUnitItem.style.position = 'relative'; 
321                        }       
322                        if (!tempItem)   
323                            this.tempDiv.insertAdjacentHTML('beforeEnd', '<div id="genesis-ads-console-template-slot-' + slot_row_id + '"></div>');
324                    } 
325                    // console.log('test_console refreshSlotInfo 1', params.eventName, slot_id)      
326                    if (params.eventName == 'slotRenderEnded')
327                    {       
328                        if (this.refreshAdUnit(slot, false))
329                        {
330                            if (!adUnitItem)
331                            {
332                                adUnitItem  = document.getElementById('genesis-ads-console-slot-' + slot_id); 
333                                if (adUnitItem)
334                                {
335                                    const st = window.getComputedStyle(adUnitItem);
336                                    if (st.position == 'static')
337                                        adUnitItem.style.position = 'relative'; 
338                                }       
339                            }
340                            //console.log('test_console refreshSlotInfo 2', params.eventName, slot_id, adUnitItem)  
341                            if (adUnitItem)
342                            {
343                                // console.log('test_console refreshSlotInfo 2', params.eventName, slot_id)  
344                                const A = adUnitItem.querySelector('.genesis-ad-item'),
345                                      B = adUnitItem.querySelector('.genesis-slot-box');  
346                                // console.log('test_console refreshSlotInfo 3', params.eventName, slot_id, A, B);  
347                                if (A && B)
348                                {                           
349                                    if (params.eventData.isEmpty)  
350                                    {   
351                                        A.innerHTML = '<i class="mdi mdi-alert"></i> brak reklamy';
352                                        B.classList.remove('genesis-ad-item-rendered');
353                                    }  
354                                    else
355                                    {          
356                                        let html = '<dl>';
357                                        if (params.eventData.advertiserId)
358                                            html += '<dt title="advertiserId: ' + params.eventData.advertiserId + '">Identyfikator reklamodawcy</dt><dd title="advertiserId: ' + params.eventData.advertiserId + '">' + params.eventData.advertiserId + '</dd>';  
359                                        if (params.eventData.campaignId)
360                                            html += '<dt title="campaignId: ' + params.eventData.campaignId + '">Identyfikator kampanii</dt><dd title="campaignId: ' + params.eventData.campaignId + '"><a href="https://admanager.google.com/60089353#delivery/order/order_overview/order_id=' + params.eventData.campaignId + '" target="_blank">' + params.eventData.campaignId + ' <i class="mdi mdi-open-in-new"></i></a></dd>';  
361                                        if (params.eventData.lineItemId)
362                                            html += '<dt title="lineItemId: ' + params.eventData.lineItemId + '">Identyfikator elementu zamówienia</dt><dd title="lineItemId: ' + params.eventData.lineItemId + '"><a href="https://admanager.google.com/60089353#creatives/creative/detail/line_item_id=' + params.eventData.lineItemId + '&creative_id=' + params.eventData.creativeId + '" target="_blank">' + params.eventData.lineItemId + ' <i class="mdi mdi-open-in-new"></i></a></dd>';  
363                                        if (params.eventData.creativeId)
364                                            html += '<dt title="creativeId: ' + params.eventData.creativeId + '">Identyfikator kreacji</dt><dd title="creativeId: ' + params.eventData.creativeId + '">' + params.eventData.creativeId + '</dd>';  
365                                        if (params.eventData.sourceAgnosticLineItemId)
366                                            html += '<dt title="sourceAgnosticLineItemId: ' + params.eventData.sourceAgnosticLineItemId + '">Zapasowy identyfikator zamówienia</dt><dd title="sourceAgnosticLineItemId: ' + params.eventData.sourceAgnosticLineItemId + '">' + params.eventData.sourceAgnosticLineItemId + '</dd>';  
367                                        if (params.eventData.sourceAgnosticCreativeId)
368                                            html += '<dt title="sourceAgnosticCreativeId: ' + params.eventData.sourceAgnosticCreativeId + '">Zapasowy identyfikator kreacji</dt><dd title="sourceAgnosticCreativeId: ' + params.eventData.sourceAgnosticCreativeId + '">' + params.eventData.sourceAgnosticCreativeId + '</dd>';  
369                                        if (params.eventData.size)
370                                            html += '<dt>Rozmiar kreacji</dt><dd>' + params.eventData.size[0] + 'x' + params.eventData.size[1] + '</dd>';   
371                                        A.innerHTML = html + '</dl>';
372                                        B.classList.add('genesis-ad-item-rendered');  
373                                    }        
374                                    // console.log('test_console refreshSlotInfo 3', params.eventName, slot_id, adUnitItem, A.innerHTML, B.classList);  
375                                    let id = this.id,
376                                        ev = new CustomEvent('genesisExtDataChange', {'detail': {'page': 'ad-units', 'id': id}, 'bubbles': true, 'cancelable': false});
377                                    document.dispatchEvent(ev);                                         
378                                }     
379                            }
380                        }
381                    }                                                                     
382                    else
383                    if ((params.eventName == 'slotRequested') || (params.eventName == 'slotRequested') || (params.eventName == 'slotResponseReceived'))
384                    {           
385                        if (adUnitItem)
386                        {
387                            const A = adUnitItem.querySelector('.genesis-ad-item'),
388                                  B = adUnitItem.querySelector('.genesis-slot-box');   
389                            if (A && B)
390                            {
391                                A.innerHTML = '<i class="mdi mdi-chart-donut mdi-spin"></i>
391 oczekiwanie na odpowiedź serwera reklam...';
392                                B.classList.remove('genesis-ad-item-rendered');
393                                let id = this.id,
394                                    ev = new CustomEvent('genesisExtDataChange', {'detail': {'page': 'ad-units', 'id': id}, 'bubbles': true, 'cancelable': false});
395                                document.dispatchEvent(ev);
396                            }
397                        }
398                    }                                                                     
399                    else       
400                    if (params.eventName == 'slotVisibilityChanged')
401                    {        
402                        if (adUnitItem)
403                        {
404                            const V = adUnitItem.querySelector('.genesis-ad-visibility');   
405                            if (V)
406                            {
407                                if (params.eventData.inViewPercentage)
408                                    V.innerHTML = params.eventData.inViewPercentage + '%';
409                                else
410                                    V.innerHTML = 'brak danych';
411                                let id = this.id,
412                                    ev = new CustomEvent('genesisExtDataChange', {'detail': {'page': 'ad-units', 'id': id}, 'bubbles': true, 'cancelable': false});
413                                document.dispatchEvent(ev);
414                            }
415                        }          
416                    }                                                                     
417                    else     
418                    if ((params.eventName == 'loadMonetEasy') || (params.eventName == 'loadPlista') || (params.eventName == 'loadMGID') || (params.eventName == 'loadVI') || (params.eventName == 'loadOnnetwork'))
419                    {               
420                        if (adUnitItem)
421                        {
422                            const A = adUnitItem.querySelector('.genesis-ad-item'),
423                                  B = adUnitItem.querySelector('.genesis-slot-box'),
424                                  D = adUnitItem.querySelector('.genesis-ad-def');   
425                            if (A && B)
426                            {
427                                if (params.eventData)      
428                                { 
429                                    if (params.eventName == 'loadMonetEasy')
430                                    {
431                                        A.innerHTML = '<dl>' 
432                                            + '<dt>Parametry widgetu</dt><dd><a href="https://widgets.moneteasy.pl/widget-preview/' + params.eventData.id + '" target="_blank">' + params.eventData.id + ' <i class="mdi mdi-open-in-new"></i></a></dd>'
433                                            + '<dt>Skrypt JS widgetu</dt><dd>' + params.eventData.script + '</dd>'
434                                            + '</dl>';
435                                    }
436                                    else
437                                    if (params.eventName == 'loadPlista')
438                                    {
439                                        A.innerHTML = '<dl>' 
440                                            + '<dt>Widget</dt><dd>' + params.eventData + '</dd>'
441                                            + '</dl>';
442                                    }
443                                    else
444                                    if (params.eventName == 'loadMGID')
445                                    {
446                                        A.innerHTML = '<dl>' 
447                                            + '<dt>Parametry widgetu</dt><dd>' + params.eventData.id + '</dd>'
448                                            + '<dt>Skrypt JS widgetu</dt><dd>' + params.eventData.script + '</dd>'
449                                            + '</dl>';
450                                    }
451                                    else
452                                    if (params.eventName == 'loadVI')
453                                    {
454                                        A.innerHTML = '<dl>' 
455                                            + '<dt>Identyfikator kanału</dt><dd>' + params.eventData.config.ChannelID + '</dd>' 
456                                            + '<dt>Identyfikator wydawcy</dt><dd>' + params.eventData.config.PublisherID + '</dd>' 
457                                            + '<dt>Identyfikator placement\'u</dt><dd>' + params.eventData.config.PlacementID + '</dd>' 
458                                            + '<dt>Kategoria IAB</dt><dd>' + params.eventData.config.IAB_Category + '</dd>'     
459                                            + '<dt>Typ jednostki</dt><dd>' + params.eventData.config.AdUnitType + '</dd>'  
460                                            + '<dt>Język</dt><dd>' + params.eventData.config.Language + '</dd>' 
461                                            + '<dt>Skrypt JS widgetu</dt><dd>' + params.eventData.script + '</dd>' 
462                                            + '</dl>';
463                                    }
464                                    else
465                                    if (params.eventName == 'loadOnnetwork')
466                                    {
467                                        A.innerHTML = '<dl>' 
468                                            + ((params.eventData.onnwID && (params.eventData.onnwID != 'undefined')) ? '<dt>Identyfikator wydawcy</dt><dd>' + params.eventData.onnwID + '</dd>' : '') 
469                                            + ((params.eventData.apl && (params.eventData.apl != 'undefined')) ? '<dt>Identyfikator aplikacji</dt><dd>' + params.eventData.apl + '</dd>'  : '') 
470                                            + ((params.eventData.sid && (params.eventData.sid != 'undefined')) ? '<dt>Identyfikator SID</dt><dd>' + params.eventData.sid + '</dd> ' : '') 
471                                            + '<dt>Skrypt JS widgetu</dt><dd>' + params.eventData.script + '</dd>'
472                                            + '</dl>';
473                                    }
474                                    B.classList.add('genesis-ad-item-rendered'); 
475                                }  
476                                else
477                                {
478                                    A.style.display = 'none';
479                                    if (D)
480                                        D.style.display = 'none';
481                                }   
482                                this.refreshAdUnit(slot, false);
483                                let id = this.id,
484                                    ev = new CustomEvent('genesisExtDataChange', {'detail': {'page': 'ad-units', 'id': id}, 'bubbles': true, 'cancelable': false});
485                                document.dispatchEvent(ev);
486                            }
487                        }          
488                    }                                                                     
489                    else     
490                    if (params.eventName == 'loadGenesisDisplay')
491                    {                       
492                        if (adUnitItem)
493                        {
494                            const A = adUnitItem.querySelector('.genesis-ad-item'),
495                                  B = adUnitItem.querySelector('.genesis-slot-box');   
496                            if (A && B)
497                            {                                        
498                                let html = '<dl>',
499                                    alt_sizes = '';
500                                this.refreshAdUnit(slot, false);        
501                                if (params.eventData.id)
502                                {
503                                    if (window.location.host.indexOf('wprost') >= 0)   
504                                        html += '<dt>Identyfikator reklamy</dt><dd><a href="https://cms10.wprost.pl/reklama-edycja/' + params.eventData.id + '" target="_blank">' + params.eventData.id + ' <i class="mdi mdi-open-in-new"></i></a></dd>';  
505                                    else    
506                                    if (window.location.host.indexOf('dorzeczy') >= 0) 
507                                        html += '<dt>Identyfikator reklamy</dt><dd><a href="https://cms.dorzeczy.pl/reklama-edycja/' + params.eventData.id + '" target="_blank">' + params.eventData.id + ' <i class="mdi mdi-open-in-new"></i></a></dd>';  
508                                    else    
509                                        html += '<dt>Identyfikator reklamy</dt><dd>' + params.eventData.id + '</dd>';  
510                                } 
511                                if (params.eventData.type)
512                                    html += '<dt>Rodzaj</dt><dd>' + params.eventData.type + '</dd>';  
513                                if (params.eventData.width)
514                                    html += '<dt>Rozmiar kreacji</dt><dd>' + params.eventData.width + 'x' + params.eventData.height + '</dd>';   
515                                for (let altIdent in params.eventData.alt_sizes)
516                                {
517                                   if (alt_sizes == '')
518                                       alt_sizes = altIdent; 
519                                   else 
520                                       alt_sizes = ',' + altIdent;
521                                }
522                                if (alt_sizes != '')
523                                    html += '<dt>Rozmiary alternatywne</dt><dd>' + alt_sizes + '</dd>';   
524                                A.innerHTML = html + '</dl>';
525                                B.classList.add('genesis-ad-item-rendered');  
526                                let id = this.id,
527                                    ev = new CustomEvent('genesisExtDataChange', {'detail': {'page': 'ad-units', 'id': id}, 'bubbles': true, 'cancelable': false});
528                                document.dispatchEvent(ev);                                         
529                            }     
530                        }
531                    }  
532                }    
533            }
534        }
535        this.prepareEvents();
536        
537        let id = this.id,
538            ev = new CustomEvent('genesisExtConsoleChange', {'detail': {'id': id}, 'bubbles': true, 'cancelable': false});
539        document.dispatchEvent(ev);
540    },
541    refreshAdsProperties: function () { 
542        this.refreshDetailsData();
543    },
544    refreshPageData: function () { 
545        let pageDiv  = document.getElementById('genesis-page-webpage'),
546            pageHTML = '';   
547        if (!pageDiv)   
548            return false;
549        pageHTML = 
550            '<dt data-view="webpage">Środowisko</dt><dd data-view="webpage"><dl>' +   
551                '<dt>URL</dt><dd>'          + document.location + '</dd>' +  
552                '<dt>Odsłona</dt><dd>'      + genesisAds.pageView  + '<br />' + sessionStorage.gen_ads + ' na ' + document.location.hostname + '</dd>' +  
553                '<dt>Przeglądarka</dt><dd>' + navigator.userAgent + '</dd>' +   
554                '<dt>System</dt><dd>'       + ((navigator.userAgentData) ? navigator.userAgentData.platform : navigator.platform)  + '</dd>' +
555                '<dt>Język</dt><dd>'        + navigator.language + '</dd>' +     
556                '<dt>Ekran</dt><dd>'        + screen.width + 'x' + screen.height + ' (dostępne: ' + genesisPage.getWidth() + 'x' + genesisPage.getHeight() + ')</dd>' +         
557            '</dl></dd>';   
558        pageDiv.innerHTML = '<dl class="genesis-console genesis-console-prop">' + pageHTML + '</dl>';
559
560        this.prepareEvents();
561        let id = this.id,
562            ev = new CustomEvent('genesisExtDataChange', {'detail': {'page': 'webpage', 'id': id}, 'bubbles': true, 'cancelable': false});
563        document.dispatchEvent(ev);
564    },
565    refreshRichData: function () { 
566        let obj      = this,
567            richDiv  = document.getElementById('genesis-page-rich-data'),
568            richHTML = '';   
569        if (!richDiv)   
570            return false;
571        let scripts = document.querySelectorAll('script[type="application/ld+json"]')
572        scripts.forEach(function (script) {
573            try 
574            {
575                let json = JSON.parse(script.innerHTML);
576                richHTML += obj.prepareItem('JSON-LD ', {'name': json['@type'], 'data': json});
577            }
578            catch(err) 
579            {
580            }
581        });
582        richDiv.innerHTML = '<ul class="genesis-console">' + richHTML + '</ul>';
583        this.prepareEvents();
584        
585        let id = this.id,
586            ev = new CustomEvent('genesisExtDataChange', {'detail': {'page': 'rich-data', 'id': id}, 'bubbles': true, 'cancelable': false});
587        document.dispatchEvent(ev);
588    },
589    refreshDetailsData: function () { 
590        let detailsDiv  = document.getElementById('genesis-page-details'),
591            detailsHTML = '';         
592        if (!detailsDiv)   
593            return false;
594        if ((typeof googletag == 'object') && (typeof googletag.getVersion == 'function')) 
595        {        
596            let gpt_tv = '';
597            if (googletag && googletag.apiReady && googletag.pubadsReady) 
598            {
599                let gpt_tk = googletag.pubads().getTargetingKeys();
600                if (gpt_tk.length > 0)      
601                {                     
602                    for (let i = 0; i < gpt_tk.length; i++)
603                        gpt_tv += '<dt>' + gpt_tk[i] + '</dt><dd>' + googletag.pubads().getTargeting(gpt_tk[i]) + '</dd>';
604                }         
605            }           
606            detailsHTML += 
607                '<dt data-view="ads">GPT</dt><dd data-view="ads"><dl>' +      
608                    '<dt>Wersja</dt><dd>' + 
609                    googletag.getVersion() + '</dd>' +    
610                    '<dt>API</dt><dd>' + 
611                    (googletag.apiReady ? '' : 'nie') + 'dostępne</dd>' +  
612                    '<dt>Publisher Ads</dt><dd>' + 
613                    (googletag.pubadsReady ? '' : 'nie ') + 'dostępny</dd>' +  
614                    '<dt>googletag</dt><dd>' + 
615                    (window.googletag ? '' : 'nie ') + 'dostępny</dd>' +
616                    '<dt>Targetowanie</dt><dd><dl>' + ((gpt_tv != '') ? gpt_tv : 'brak') + '</dl></dd>' +
617                '</dl></dd>'; 
618        }
619
620        if (typeof genesisAds == 'object')
621        {           
622            detailsHTML +=  
623                '<dt data-view="ads">Header Bidding</dt><dd data-view="ads"><dl>' +      
624                    '<dt>Dostępność</dt><dd>' + 
625                    (genesisAds.hasHB ? 'tak' : 'nie ') + '</dd>' +       
626                    '<dt>Aktywacja</dt><dd>' + 
627                    (genesisAds.hbRelease == 'load' ? 'Przy uruchomieniu strony' : (genesisAds.hbRelease == 'scroll' ? 'Po przewinięciu strony' : 'W widoku aktywnym')) + '</dd>' +     
628                    ((typeof window.genesisPrebid == 'object') ? '<dt>Wersja Prebid.js</dt><dd>' + window.genesisPrebid.version + '</dd>' : '') +   
629                '</dl></dd>' +
630                '<dt data-view="ads">GenesisAds</dt><dd data-view="ads"><dl>' +     
631                '<dt>CMP</dt><dd><dl>' +                                                   
632                    '<dt>Integracja</dt><dd>' + (genesisAds.waitForCMP ? 'tak' : 'nie ') + '</dd>' +    
633                    (genesisAds.waitForCMP ? '<dt>Czas oczekiwania</dt><dd>' + (genesisAds.waitForCMPTimeOut / 1000) + ' sek. </dd>' : '') +   
634                '</dl></dd>' +  
635                '<dt>Moduły</dt><dd><dl>' +      
636                    '<dt>genesis</dt><dd>' + (genesisAds.modules.genesis.loaded ? 'załadowany' : (genesisAds.modules.genesis.inited ? 'wywołany' : 'nie wywołany')) + ' </dd>' +  
637                    '<dt>optad360</dt><dd>' + (genesisAds.modules.optad360.loaded ? 'załadowany' : (genesisAds.modules.optad360.inited ? 'wywołany' : 'nie wywołany')) + ' </dd>' +     
638                    '<dt>mgid</dt><dd>' +   (genesisAds.modules.mgid.loaded ? 'załadowany' : (genesisAds.modules.mgid.inited ? 'wywołany' : 'nie wywołany')) + ' </dd>' +
639                    '<dt>idmNet</dt><dd>' + (genesisAds.modules.idmNet.loaded ? 'załadowany' : (genesisAds.modules.idmNet.inited ? 'wywołany' : 'nie wywołany')) + ' </dd>' +   
640                    '<dt>adPrime</dt><dd>' + (genesisAds.modules.adPrime.loaded ? 'załadowany' : (genesisAds.modules.adPrime.inited ? 'wywołany' : 'nie wywołany')) + ' </dd>' +  
641                    '<dt>vi</dt><dd>' + (genesisAds.modules.vi.loaded ? 'załadowany' : (genesisAds.modules.vi.inited ? 'wywołany' : 'nie wywołany')) + ' </dd>' +     
642                    '<dt>onnetwork</dt><dd>' + (genesisAds.modules.onnetwork.loaded ? 'załadowany' : (genesisAds.modules.onnetwork.inited ? 'wywołany' : 'nie wywołany')) + ' </dd>' +     
643                    '<dt>plista</dt><dd>' + (genesisAds.modules.plista.loaded ? 'załadowany' : (genesisAds.modules.plista.inited ? 'wywołany' : 'nie wywołany')) + ' </dd>' +     
644                    '<dt>moneteasy</dt><dd>' + (genesisAds.modules.moneteasy.loaded ? 'załadowany' : (genesisAds.modules.moneteasy.inited ? 'wywołany' : 'nie wywołany')) + ' </dd>' +     
645                    '<dt>cascade</dt><dd>' + (genesisAds.modules.cascade.loaded ? 'załadowany' : (genesisAds.modules.cascade.inited ? 'wywołany' : 'nie wywołany')) + ' </dd>' +     
646                    '<dt>wallpaper</dt><dd>' + (genesisAds.modules.wallpaper.loaded ? 'załadowany' : 'nie wywołany') + ' </dd>' +   
647                    '<dt>intext</dt><dd>' + (genesisAds.modules.intext.loaded ? 'załadowany' : (genesisAds.modules.intext.inited ? 'wywołany' : 'nie wywołany')) + ' </dd>' +     
648                '</dl></dd>' +           
649                '<dt>Odświeżanie reklam</dt><dd><dl>' +      
650                    '<dt>W widoku aktywnym</dt><dd>' + genesisAds.refresh.intervalSecLimit + ' sek. </dd>' +    
651                    '<dt>Poza widokiem aktywnym</dt><dd>' + genesisAds.refresh.intervalOffSecLimit + ' sek. </dd>' +     
652                    '<dt>Sprawdzenie co</dt><dd>' + (genesisAds.refresh.intervalTime / 1000)+ ' sek. </dd>' +   
653                '</dl></dd>' +                    
654                '<dt>Embed URL</dt><dd>' + genesisAds.embedDomain + '</dd>' + 
655            '</dl></dd>' 
656        }        
657        
658        if (typeof genesisAdsActiveUnits == 'object')
659        {                   
660            let au = '';        
661            for (let u in genesisAdsActiveUnits)   
662                au += '<dt>' + u + '</dt><dd>
662' + ((genesisAdsActiveUnits[u] == 'true') ? 'tak' : 'nie ') + '</dd>';
663            detailsHTML += 
664                '<dt data-view="ads">Aktywność jednostek Direct</dt><dd data-view="ads"><dl>' + au + '</dl></dd>'; 
665        }  
666
667        if (typeof deep_user_profile == 'object')
668        {                  
669            let dp = '';      
670            for (let d in deep_user_profile)   
671                dp += '<dt>' + d + '</dt><dd>' + deep_user_profile[d] + '</dd>';
672            detailsHTML += 
673                '<dt data-view="deep">Profil użytkownika Deep.bi</dt><dd data-view="deep"><dl>' + dp + '</dl></dd>'; 
674        }
675        
676        /*              
677            if (genAdsConfig.optad360)
678            {                      
679                $('#genesis-ads-console div.genesis-ads-console-contents div[data-container="2"] dl.genesis-console').append(
680                    '<dt>optad360</dt><dd><dl>' +      
681                        '<dt>src</dt><dd>' + genAdsConfig.optad360_src + '</dd>' +    
682                        '<dt>release</dt><dd>' + genAdsConfig.optad360_release + '</dd>' +   
683                    '</dl></dd>'                            
684                ); 
685            }               
686            if (genAdsConfig.idmnet)
687            {
688                $('#genesis-ads-console div.genesis-ads-console-contents div[data-container="2"] dl.genesis-console').append(
689                    '<dt>idmNet</dt><dd><dl>' +      
690                        '<dt>src</dt><dd>' + genAdsConfig.idmnet_src + '</dd>' +    
691                        '<dt>init</dt><dd>' + genAdsConfig.idmnet_init + '</dd>' +    
692                        '<dt>var</dt><dd>' + genAdsConfig.idmnet_var + '</dd>' +  
693                        '<dt>slots</dt><dd>' + genAdsConfig.idmnet_slots + '</dd>' +  
694                        '<dt>release</dt><dd>' + genAdsConfig.idmnet_release + '</dd>' +  
695                    '</dl></dd>' 
696                ); 
697            }             
698            if (genAdsConfig.adprime)
699            {
700                $('#genesis-ads-console div.genesis-ads-console-contents div[data-container="2"] dl.genesis-console').append(
701                    '<dt>adPrime</dt><dd><dl>' +      
702                        '<dt>src</dt><dd>' + genAdsConfig.adprime_src + '</dd>' +    
703                        '<dt>mode</dt><dd>' + genAdsConfig.adprime_mode + '</dd>' +    
704                        '<dt>domain</dt><dd>' + genAdsConfig.adprime_domain + '</dd>' +  
705                        '<dt>network_id</dt><dd>' + genAdsConfig.adprime_network_id + '</dd>' +  
706                        '<dt>release</dt><dd>' + genAdsConfig.adprime_release + '</dd>' +  
707                    '</dl></dd>' 
708                ); 
709            } 
710        */     
711
712        detailsDiv.innerHTML = '<dl class="genesis-console genesis-console-prop">' + detailsHTML + '</dl>';
713        this.prepareEvents();
714        
715        let id = this.id,
716            ev = new CustomEvent('genesisExtDataChange', {'detail': {'page': 'details', 'id': id}, 'bubbles': true, 'cancelable': false});
717        document.dispatchEvent(ev);
718    },    
719    refreshAdUnits: function () {
720        let adUnitsDiv = document.getElementById('genesis-page-ad-units'),
721            adUnitsOL  = false;         
722        if (!adUnitsDiv)   
723            return false;
724        adUnitsOL = adUnitsDiv.querySelector('ol.genesis-console');      
725        if (!adUnitsOL)   
726        {
727            adUnitsOL = document.createElement('ol');
728            adUnitsOL.className = 'genesis-console';
729            adUnitsDiv.appendChild(adUnitsOL); 
730        }
731        if ((typeof genesisAds == 'object') && (typeof genesisAds.slots == 'object'))
732        {                  
733            for (var slot in genesisAds.slots)   
734            {
735                this.refreshAdUnit(genesisAds.slots[slot]);
736            }   
737        }
738    },    
739    refreshAdUnit: function (slot, sendEvent) {
740        // console.log('test_console refreshAdUnit BEGIN', slot);
741        let adUnitsOL = document.querySelector('#genesis-page-ad-units ol.genesis-console');  
742        if (!adUnitsOL)   
743            return false;
744        if ((slot == false) || (slot == null) || (typeof slot != 'object') || ((typeof slot == 'object') && (Object.keys(slot).length === 0)))
745            return false;   
746        if (slot.type_adprime)     
747            return false;     
748
749        let slot_id     = (slot.cascade) ? slot.org_id : slot.id,   
750            slot_row_id = slot_id.replace('.', '-'),    
751            slot_status = false;      
752        if ((!slot_id) || (typeof slot_id == 'undefined') || (slot_id == 'undefined'))
753            return false;      
754        
755        const ID_UNIT_ITEM    = 'genesis-ads-console-slot-' + slot_row_id,
756              ID_UNIT_PREVIEW = 'genesis-ads-console-preview-slot-' + slot_row_id; 
757
758        // console.log('test_console refreshAdUnit', slot_id);
759
760        if (!document.getElementById(ID_UNIT_ITEM)) 
761        {
762            let li = document.createElement('li');
763            li.id  = ID_UNIT_ITEM;
764            adUnitsOL.appendChild(li); 
765        }
766        if (!document.getElementById(ID_UNIT_PREVIEW)) 
767        {
768            let adp = document.getElementById(slot_id);
769            if (adp)
770            {
771                let div = document.createElement('div');
772                div.id  = ID_UNIT_PREVIEW;
773                div.dataset.slotId = slot_id;
774                div.dataset.slotRowId = slot_row_id;
775                div.className = 'genesis-ads-console-slot-preview';
776                div.innerHTML = '<i class="mdi mdi-timer-outline mdi-24px"></i>';
777                adp.style.position = 'relative';
778                adp.appendChild(div); 
779            }
780        }
781        let adUnitItem     = document.getElementById(ID_UNIT_ITEM),
782            adUnitPreview  = document.getElementById(ID_UNIT_PREVIEW),
783            tempSlotObject = document.getElementById('#genesis-ads-console-template-slot-' + slot_row_id)
784            slotObject     = document.getElementById(slot.id); 
785        if (!adUnitItem)   
786        {      
787            return false;  
788        }
789        adUnitItem.className = 'genesis-ads-console-slot';
790        if (adUnitPreview)     
791            adUnitPreview.className = 'genesis-ads-console-slot-preview';
792        
793        let slot_info         = '<dl class="genesis-slot-box">',
794            slot_preview_info = '<div><h3>' + (([].indexOf.call(adUnitsOL.querySelectorAll('li'), adUnitItem)) + 1) + '</h3>';    
795        slot_info += '<dt>ID slotu</dt><dd>'
796        slot_info += '<a href="#' + slot.id + '" data-object="#' + (slot.id).replace('.', '\\.') + '">' + slot.id + '</a>&nbsp;'  
797                   + '<a href="#' + slot.id + '" data-filter="' + slot.id + '"><i class="mdi mdi-console-line"></i></a>'   
798                   + ((slot.hb) ? '<br />Header Bidding' : '');
799        if ((typeof slot.container != 'undefined') && (slot.container != slot_id))                                           
800            slot_info += '<br />' + slot.container;    
801    
802        slot_info += '</dd>';
803        slot_info += '<dt>Dostawca</dt><dd>';   
804        slot_preview_info += '<em title="' + slot.id + '">' + slot.id + '</em>';
805        if ((slot.slot) && ((slot.type_dfp) || (slot.type_genesis && slot.hb) || (slot.type_idmnet))) 
806            slot_preview_info += '<strong title="' + slot.slot + '">' + slot.slot + ((slot.hb) ? '<b>Header Bidding</b>' : '') + '</strong>';   
807        if (slot.type_dfp)
808        {
809            slot_info         += 'Google Ad Manager <a href="https://admanager.google.com/" target="_blank"><i class="mdi mdi-open-in-new"></i></a>';   
810            slot_preview_info += '<i>Google Ad Manager</i>';
811            adUnitItem.classList.add('genesis-ad-item-gam');
812            if (adUnitPreview)     
813                adUnitPreview.classList.add('genesis-ad-item-gam');
814        }
815        else  
816        if (slot.type_idmnet)      
817        {
818            slot_info         += 'IDMNet';  
819            slot_preview_info += '<i>IDMNet</i>';
820            adUnitItem.classList.add('genesis-ad-item-idmnet');
821            if (adUnitPreview)     
822                adUnitPreview.classList.add('genesis-ad-item-idmnet');
823        }
824        else             
825        if (slot.type_vi)      
826        {                                       
827            slot_info         += 'Video Intelligence <a href="https://dashboard.vi.ai/dashboard" target="_blank"><i class="mdi mdi-open-in-new"></i></a>';  
828            if (slot.placementID)
829                slot_preview_info += '<strong title="' + slot.placementID + '">' + slot.placementID + '</strong>';   
830            slot_preview_info += '<i>Video Intelligence</i>'; 
831            adUnitItem.classList.add('genesis-ad-item-vi-ai');
832            if (adUnitPreview)     
833                adUnitPreview.classList.add('genesis-ad-item-vi-ai');  
834        }                 
835        if (slot.type_onnetwork)      
836        {                                    
837            slot_info         += 'Onnetwork.tv <a href="https://www.onnetwork.tv/pl" target="_blank"><i class="mdi mdi-open-in-new"></i></a>';  
838            if ((slot.apl && (slot.apl != 'undefined')) && (slot.onnwID && (slot.onnwID != 'undefined')) && (slot.sid && (slot.sid != 'undefined')))       
839                slot_preview_info += '<strong>
839' + slot.onnwID + ' / ' + slot.apl + ' / ' + slot.sid + '</strong>';   
840            else
841            if (slot.apl && (slot.apl != 'undefined'))        
842                slot_preview_info += '<strong title="apl">' + slot.apl + '</strong>';   
843            else
844            if (slot.sid && (slot.asidpl != 'undefined'))
845                slot_preview_info += '<strong title="sid">' + slot.sid + '</strong>';   
846            else
847            if (slot.onnwID && (slot.onnwID != 'undefined'))        
848                slot_preview_info += '<strong title="onnwID">' + slot.onnwID + '</strong>';   
849            slot_preview_info += '<i>Onnetwork.tv</i>';   
850            adUnitItem.classList.add('genesis-ad-item-onnetwork');
851            if (adUnitPreview)     
852                adUnitPreview.classList.add('genesis-ad-item-onnetwork');
853        }
854        else               
855        if (slot.type_optad360)    
856        {
857            slot_info         += 'optad360';
858            slot_preview_info += '<i>optad360</i>'; 
859            adUnitItem.classList.add('genesis-ad-item-optad360');
860            if (adUnitPreview)     
861                adUnitPreview.classList.add('genesis-ad-item-optad360');
862        } 
863        else               
864        if (slot.type_plista)    
865        {
866            slot_info         += 'Plista';       
867            slot_preview_info += '<strong>plista_widget_' + slot.widget + '</strong>';    
868            slot_preview_info += '<i>Plista</i>'; 
869            adUnitItem.classList.add('genesis-ad-item-plista');
870            if (adUnitPreview)     
871                adUnitPreview.classList.add('genesis-ad-item-plista');
872        } 
873        else         
874        if (slot.type_adprime)   
875        {              
876            slot_info         += 'AdPrime';   
877            slot_preview_info += '<i>AdPrime</i>';
878            adUnitItem.classList.add('genesis-ad-item-adprime');
879            if (adUnitPreview)     
880                adUnitPreview.classList.add('genesis-ad-item-adprime');
881        }     
882        else   
883        if (slot.type_moneteasy)         
884        {              
885            slot_info         += 'Moneteasy <a href="https://panel.moneteasy.pl/login" target="_blank"><i class="mdi mdi-open-in-new"></i></a>';
886            slot_preview_info += '<strong title="' + slot.moneteasy + '">' + slot.moneteasy + '</strong>';    
887            slot_preview_info += '<i>Moneteasy</i>';
888            adUnitItem.classList.add('genesis-ad-item-moneteasy');
889            if (adUnitPreview)     
890                adUnitPreview.classList.add('genesis-ad-item-moneteasy');
891        }      
892        else   
893        if (slot.type_mgid)         
894        {              
895            slot_info         += 'MGID ';
896            slot_preview_info += '<strong title="' + slot_id + '">' + slot_id + '</strong>';    
897            slot_preview_info += '<i>MGID</i>';   
898            adUnitItem.classList.add('genesis-ad-item-mgid');
899            if (adUnitPreview)     
900                adUnitPreview.classList.add('genesis-ad-item-mgid');   
901        }    
902        if (slot.type_genesis)
903        {
904            if (slot.type_dfp || slot.type_idmnet || slot.type_optad360)     
905            {
906                slot_info += ', ';    
907                slot_preview_info += ', ';  
908            }   
909            else
910            {
911                adUnitItem.classList.add('genesis-ad-item-genesis');
912                if (adUnitPreview)     
913                    adUnitPreview.classList.add('genesis-ad-item-genesis');
914            }
915            
916            slot_info += 'Genesis';   
917            slot_preview_info += '<i>Genesis</i>';    
918            if (typeof slot.winnerBid == 'object')
919            {      
920                slot_preview_info += '<strong>' + slot.winnerBid.bidder + ' <span style="opacity:0.5">PB: ' + slot.winnerBid.pb + '</span></strong>';  
921            }
922        } 
923        slot_info += '</dd>';                     
924        if ((slot.slot) && ((slot.type_dfp) || (slot.type_idmnet) || (slot.type_genesis && slot.hb)))  
925        {                               
926            if ((slot.type_dfp) || (slot.type_genesis && slot.hb)) 
927                slot_info += '<dt>Jednostka</dt><dd><a href="https://admanager.google.com/#inventory/inventory/adUnitCode=genesis&adUnitPathCode=' + encodeURIComponent(slot.slot) + '" target="_blank">' + slot.slot + '</a> '; 
928            else
929                slot_info += '<dt>Jednostka</dt><dd>' + slot.slot + ' ';  
930            slot_info += '<a href="#' + slot.slot + '" data-filter="' + slot.slot + '"><i class="mdi mdi-console-line"></i></a>'   
931            slot_info += '</dd>';    
932        }  
933        if (slot.mob_slot)   
934            slot_info += '<dt>Jednostka mobilna</dt><dd>' + slot.mob_slot + '</dd>';  
935        if ((slot.type_dfp || (slot.type_genesis && slot.hb)) && (slot.oop_slot) && (typeof slot.oop_slot != 'object'))   
936        {
937            slot_info += '<dt title="Jednostka OutOfPage">Jednostka tapety</dt><dd><a href="https://admanager.google.com/#inventory/inventory/adUnitCode=genesis&adUnitPathCode=' + encodeURIComponent(slot.oop_slot) + '" target="_blank">' + slot.oop_slot + '</a> '; 
938            slot_info += '<a href="#' + slot.oop_slot + '" data-filter="' + slot.oop_slot + '"><i class="mdi mdi-console-line"></i></a>'   
939            slot_info += '</dd>';    
940        }
941        if (slot.type_dfp || slot.type_genesis)
942        {
943            if (slot.width && slot.height)
944                slot_info += '<dt>Rozmiar</dt><dd>' + slot.width + 'x' + slot.height + '</dd>'; ; 
945            if (slot.ph_width)
946                slot_info += '<dt>Szerokość kontenera:</dt><dd>' + slot.ph_width + '</dd>'; ;         
947            if (slot.max_width > 0)
948                slot_info += '<dt>Maksymalny rozmiar</dt><dd>' + slot.max_width + 'x' + slot.max_height + '</dd>';  
949            if (slot.sizes && (slot.sizes.length > 0))
950            {
951                slot_info += '<dt>Aktywne rozmiary</dt><dd>' 
952                for (let i = 0; i < slot.sizes.length; i++)
953                    slot_info += ((i == 0) ? '' : ', ') + slot.sizes[i][0] + 'x' + slot.sizes[i][1];   
954                slot_info += '</dd>'; 
955            }    
956            if (slotObject.dataset.multiSize)    
957                slot_info += '<dt>Zdefiniowane rozmiary</dt><dd>' + (slotObject.dataset.multiSize).replace(/,/gi, ', ') + '</dd>'; 
958        }          
959        slot_info += '<dt>Aktywacja</dt><dd>' + ((slot.release == 'load') ? 'Przy uruchomieniu strony' : ((slot.release == 'scroll') ? 'Po przewinięciu strony' : 'W widoku aktywnym')) + '</dd>'; 
960        if ((((slot.type_genesis == true) && (slot.hb == true)) || (slot.type_dfp == true)))
961        {             
962            slot_info += '<dt>Widoczność</dt>
962<dd class="genesis-ad-visibility">' + slot.visibility + '%</dd>';      
963        }  
964        if ((slot.can_refresh) && (((slot.type_genesis == true) && (slot.hb == true)) || (slot.type_dfp == true)))
965        {             
966            slot_info += '<dt>Odświeżanie</dt><dd>Włączone</dd>';      
967        }         
968        else       
969        if ((!slot.type_moneteasy) && (!slot.type_mgid) && (!slot.type_plista) && (!slot.type_vi) && (!slot.type_onnetwork))                  
970            slot_info += '<dt>Odświeżanie</dt><dd>Wyłączone</dd>';     
971        if (slot.cascade)
972        {
973            slot_info += '<dt>Kaskada</dt><dd>';  
974            slot_info += '<dl>'; 
975            for (let ci = 0; ci < slot.cascade_count; ci++)
976            {  
977                if (ci < slot.cascade_start)  
978                    slot_info += '<dt class="cl-gray">';  
979                else    
980                    slot_info += '<dt>';  
981                if (ci < slot.cascade_index) 
982                {
983                    if (ci < slot.cascade_start)    
984                        slot_info +=  '<i class="mdi mdi-redo mdi-cl-error"></i> ';  
985                    else               
986                        slot_info +=  '<i class="mdi mdi-close-circle mdi-cl-error"></i> ';                                                
987                }
988                else          
989                if (ci > slot.cascade_index) 
990                    slot_info += '<i class="mdi mdi-timer-outline"></i> ';
991                else
992                    slot_info += '<i class="mdi mdi-arrow-right-bold"></i> ';
993                slot_info += ((ci == slot.cascade_index) ? '<b>' : '');    
994                if (slot.cascade_items[ci].type == 'gam')
995                    slot_info += 'Google Ad Manager';   
996                else  
997                if (slot.cascade_items[ci].type == 'idmnet')
998                    slot_info += 'IDMNet';  
999                else      
1000                if (slot.cascade_items[ci].type == 'genesis-hb')
1001                    slot_info += 'Genesis HB';  
1002                else   
1003                if (slot.cascade_items[ci].type == 'optad360')
1004                    slot_info += 'optad360';      
1005                slot_info += ((ci == slot.cascade_index) ? '</b>' : '');    
1006                slot_info += '</dt>'; 
1007                if ((('' + slot.cascade_items[ci].type).toLowerCase() == 'gam') || (('' + slot.cascade_items[ci].type).toLowerCase() == 'genesis-hb')) 
1008                    slot_info += '<dd><a href="https://admanager.google.com/#inventory/inventory/adUnitCode=genesis&adUnitPathCode=' + encodeURIComponent(slot.cascade_items[ci].slot) + '" target="_blank">' + slot.cascade_items[ci].slot + '</a>'; 
1009                else
1010                    slot_info += '<dd>' + slot.cascade_items[ci].slot;     
1011                if (ci < slot.cascade_start) 
1012                    slot_info += '<span class="cl-gray"> - pominięty</span>';   
1013                else         
1014                if ((('' + slot.cascade_items[ci].type).toLowerCase() == 'gam') || (('' + slot.cascade_items[ci].type).toLowerCase() == 'genesis-hb')) 
1015                    slot_info += ' <a href="#' + slot.id + '" data-filter="' + slot.cascade_items[ci].slot + '"><i class="mdi mdi-console-line"></i></a>'   
1016                slot_info += '</dd>';   
1017            }
1018            slot_info += '</dl>'; 
1019            slot_info += '</dd>'; 
1020        }      
1021        slot_info += '<dt class="genesis-ad-def">Reklama</dt><dd class="genesis-ad-item">';    
1022        if (slotObject)
1023        {     
1024            if (slot.type_dfp || slot.type_idmnet)  
1025            {
1026                if ((slotObject.dataset.dfpState == 'wait') && (slot.release == 'viewport'))
1027                    slot_status = '<i class="mdi mdi-timer-outline"></i> Oczekiwanie na aktywację, slot poza widokiem aktywnym'; 
1028                else
1029                    slot_status = '<i class="mdi mdi-timer-outline"></i> Oczekiwanie...';
1030            }
1031            else
1032            if (slot.type_genesis)  
1033            {                       
1034                if ((slotObject.dataset.dfpState == 'wait') && (slot.release == 'viewport'))
1035                    slot_status = '<i class="mdi mdi-timer-outline"></i> Oczekiwanie na aktywację, slot poza widokiem aktywnym'; 
1036                else
1037                    slot_status = '<i class="mdi mdi-timer-outline"></i> Oczekiwanie...';
1038            }
1039        }       
1040        if (slot_status)               
1041            slot_info += slot_status;  
1042        else
1043            slot_info += '(brak danych)';       
1044        slot_info += '</dd>';   
1045        if (typeof slot.winnerBid == 'object')
1046        {      
1047            slot_info += '<dt class="genesis-ad-def">Zwycięska aukcja</dt><dd class="genesis-hb-winner">';
1048            slot_info += '<dl>';    
1049            slot_info += '<dt>Licytujący</dt><dd>' + slot.winnerBid.bidder + ' (' + slot.winnerBid.bidderCode + ')<//dd>';  
1050            slot_info += '<dt>Identyfikator aukcji</dt><dd><a href="#' + slot.winnerBid.auctionId + '" data-filter="' + slot.winnerBid.auctionId + '">' + slot.winnerBid.auctionId + '  <i class="mdi mdi-console-line"></i></a><//dd>';     
1051            slot_info += '<dt>Identyfikator transakcji</dt><dd>' + slot.winnerBid.transactionId + '<//dd>';  
1052            slot_info += '<dt>Identyfikator żądania</dt><dd>' + slot.winnerBid.requestId + '<//dd>';  
1053            slot_info += '<dt>Identyfikator reklamy</dt><dd>' + slot.winnerBid.adId + '<//dd>';  
1054            slot_info += '<dt>Identyfikator kreacji</dt><dd>' + slot.winnerBid.creativeId + '<//dd>';  
1055            slot_info += '<dt>Źródło</dt><dd>' + slot.winnerBid.source + '<//dd>';     
1056            slot_info += '<dt>Rodzaj</dt><dd>' + slot.winnerBid.mediaType + '<//dd>';   
1057            slot_info += '<dt>Status</dt><dd>' + slot.winnerBid.statusMessage + '<//dd>';   
1058            slot_info += '<dt>CPM</dt><dd>' + slot.winnerBid.cpm + ' ' + slot.winnerBid.currency +'<//dd>';  
1059            slot_info += '<dt>Oryginalny CPM</dt><dd>' + slot.winnerBid.originalCpm + ' ' + slot.winnerBid.originalCurrency +'<//dd>';    
1060            slot_info += '<dt>Rozmiar</dt><dd>' + slot.winnerBid.size + '<//dd>';    
1061            slot_info += '<dt>Czas odpowiedzi</dt><dd>' + slot.winnerBid.timeToRespond + '<//dd>';   
1062            slot_info += '<dt>Targeting</dt><dd><dl>';   
1063            for (var tg_key in slot.winnerBid.adserverTargeting)   
1064            {                      
1065                slot_info += '<dt>' + tg_key + '</dt>';
1066                slot_info += '<dd>' + slot.winnerBid.adserverTargeting[tg_key] + '<//dd>';
1067            }                 
1068            slot_info += '</dl><//dd>';   
1069            slot_info += '</dl>';
1070            slot_info += '</dd>';       
1071        }      
1072        else   
1073        if (typeof slot.noBids == 'object')
1074        {                       
1075            slot_info += '<dt class="genesis-ad-def">Aukcja</dt><dd class="genesis-hb-winner">';
1076            slot_info += '<dl>'
1077            slot_info += '<dt>Licytujący</dt><dd>brak<//dd>';  
1078            slot_info += '<dt>Identyfikator aukcji</dt><dd><a href="#' + slot.noBids.auctionId + '" data-filter="' + slot.noBids.auctionId + '">' + slot.noBids.auctionId + '  <i class="mdi mdi-console-line"></i></a><//dd>';     
1079            slot_info += '</dl>';
1080            slot_info += '</dd>';   
1081        }  
1082        if (slot.hb_config)
1083        {      
1084            slot_info += '<dt class="genesis-hb-def">Konfiguracja HB</dt><dd class="genesis-hb-item">';
1085            slot_info += '<a href="#' + slot.hb_config + '" data-panel="genesis-ads-hb-def-' + slot_row_i
1085d + '" class="expanded">' + slot.hb_config + '</a>';
1086            if ((typeof genesisBidders == 'object') && (typeof genesisBidders[slot.hb_config] == 'object'))
1087            {                     
1088                slot_info += '<dl id="genesis-ads-hb-def-' + slot_row_id + '" class="hidden">';
1089                for (var bi in genesisBidders[slot.hb_config])   
1090                {                        
1091                    slot_info += '<dt>' + genesisBidders[slot.hb_config][bi].bidder + '</dt>';
1092                    slot_info += '<dd>';
1093                    let bpf = true;
1094                    for (var bp in genesisBidders[slot.hb_config][bi].params)   
1095                    {             
1096                        if (!bpf)      
1097                            slot_info += '<br />';       
1098                        slot_info += bp + ' = ' + genesisBidders[slot.hb_config][bi].params[bp];
1099                        bpf = false;
1100                    }      
1101                    slot_info += '<//dd>';
1102                }      
1103                slot_info += '</dl>';
1104            }  
1105            slot_info += '</dd>';       
1106        }                     
1107        slot_info += '</dl>';                              
1108        slot_preview_info += '</div>';     
1109        if ((slot.can_refresh) && (((slot.type_genesis == true) && (slot.hb == true)) || (slot.type_dfp == true)))
1110        {
1111            slot_preview_info += '<div class="genesis-ad-refresh-data">' +
1112                                 '<span class="genesis-ad-refresh-data-timer"></span>' +
1113                                 '<span class="genesis-ad-refresh-data-off-timer"></span>' + 
1114                                 '</div>';
1115        }             
1116        if (tempSlotObject)                          
1117            tempSlotObject.innerHTML = slot_preview_info;  
1118        if (adUnitPreview)     
1119            adUnitPreview.innerHTML = slot_preview_info;  
1120        adUnitItem.innerHTML = slot_info;  
1121      
1122        addCSSModule('genesis-ads-preview', '/_css/ext/genesis-ads-preview.css', '.genesis-ads-console-slot-preview');
1123        this.prepareEvents();
1124        
1125        if (sendEvent !== false)
1126        {
1127            let id = this.id,
1128                ev = new CustomEvent('genesisExtDataChange', {'detail': {'page': 'ad-units', 'id': id}, 'bubbles': true, 'cancelable': false});
1129            document.dispatchEvent(ev);
1130        }
1131        //console.log('test_console refreshAdUnit END', slot);
1132        return true;     
1133    },  
1134    prepareItem: function (text, params, view) {         
1135        let consoleItem = '',
1136            className = false;  
1137        if ((typeof params == 'object') && (params != null))
1138        {
1139            if (params.type)
1140                className = 'genesis-console-' + params.type;    
1141            if (params.category)
1142                className += ' genesis-console-' + params.category;    
1143            if (params.name)
1144                text = '<b>' + params.name + '</b> ' + text;  
1145            else  
1146            if (params.eventName)
1147                text = '<b>' + params.eventName + '</b> ' + text;   
1148            if (params.category)
1149                text = text + '<i class="genesis-console-item-data-category">' + params.category + '</i>'; 
1150            let data = false;
1151            if ((typeof params.data == 'object') && (params.data != null))
1152                data = params.data;  
1153            else
1154            if ((typeof params.eventData == 'object') && (params.eventData != null))
1155                data = params.eventData;
1156                        
1157            if ((typeof data == 'object') && (data != null))
1158            {
1159                let dp = '';           
1160                for (let d in data)   
1161                {
1162                    if (d != 'constructor')
1163                    {
1164                        if ((typeof data[d] == 'object') && (data[d] != null) && (d != 'slot'))
1165                        {                      
1166                            dp += '<dt>' + d + '</dt><dd><dl>';
1167                            for (let d2 in data[d])   
1168                            {       
1169                                if ((typeof data[d][d2] == 'object') && (data[d][d2] != null))
1170                                {
1171                                    dp += '<dt>' + d2 + '</dt><dd><dl>';
1172                                    for (let d3 in data[d][d2])   
1173                                    {       
1174                                        if ((typeof data[d][d2][d3] == 'object') && (data[d][d2][d3] != null))
1175                                        {
1176                                            dp += '<dt>' + d3 + '</dt><dd><dl>';  
1177                                            for (let d4 in data[d][d2][d3])   
1178                                            {       
1179                                                if ((typeof data[d][d2][d3][d4] == 'object') && (data[d][d2][d3][d4] != null))
1180                                                {
1181                                                    dp += '<dt>' + d4 + '</dt><dd><dl>';
1182                                                    for (let d5 in data[d][d2][d3][d4])   
1183                                                    {       
1184                                                        if (typeof data[d][d2][d3][d4][d5] == 'function')
1185                                                            dp += '<dt>' + d2 + '</dt><dd>(function)</dd>';    
1186                                                        else    
1187                                                        if ((d5 == 'html') || (d5 == 'css'))        
1188                                                            dp += '<dt>' + d4 + '</dt><dd><code>' + d5 + '</code></dd>';  
1189                                                        else    
1190                                                            dp += '<dt>' + d5 + '</dt><dd>' + data[d][d2][d3][d4][d5] + '</dd>';
1191                                                    }
1192                                                    dp += '</dl></dd>';  
1193                                                }                      
1194                                                else       
1195                                                {
1196                                                    if (typeof data[d][d2][d3][d4] == 'function')
1197                                                        dp += '<dt>' + d2 + '</dt><dd>(function)</dd>';           
1198                                                    else         
1199                                                    if ((d4 == 'html') || (d4 == 'css'))               
1200                                                        dp += '<dt>' + d4 + '</dt><dd><code>' + d4 + '</code></dd>';  
1201                                                    else                        
1202                                                        dp += '<dt>' + d4 + '</dt><dd>' + data[d][d2][d3][d4] + '</dd>';
1203                                                }
1204                                            }   
1205                                            dp += '</dl></dd>';  
1206                                        }                      
1207                                        else
1208                                        {                
1209                                            if (typeof data[d][d2][d3] == 'function')
1210                                                dp += '<dt>' + d2 + '</dt><dd>(function)</dd>';    
1211                                            else    
1212                                            if ((d3 == 'html') || (d3 == 'css'))
1213                                                dp += '<dt>' + d3 + '</dt><dd><code>' + d3 + '</code></dd>';   
1214                                            else    
1215                                                dp += '<dt>' + d3 + '</dt><dd>' + data[d][d2][d3] + '</dd>'; 
1216                                        }
1217                                    }
1218                                    dp += '</dl></dd>';  
1219                                }                      
1220                                else       
1221                                {                
1222                                    if (typeof data[d][d2] == 'function')
1223                                        dp += '<dt>' + d2 + '</dt><dd>(function)</dd>';         
1224                                    else           
1225                                    if ((d2 == 'html') || (d2 == 'css'))
1226                                        dp += '<dt>' + d2 + '</dt><dd><code>' + d2 + '</code></dd>';  
1227                                    else   
1228                                        dp += '<dt>' + d2 + '</dt><dd>' + data[d][d2] + '</dd>';  
1229                                }
1230                            }
1231                            dp += '</dl></dd>';
1232                        }
1233                        else
1234                        if ((typeof data[d] == 'object') && (data[d] != null) && (d == 'slot'))
1235                        {
1236                            dp += '<dt>' + d + '</dt><dd>(object)</dd>'; 
1237                        }
1238                        else
1239                        {                      
1240                            if (typeof data[d] == 'function')
1241                                dp += '<dt>' + d + '</dt><dd>(function)</dd>'; 
1242                            else          
1243                            if ((d == 'html') || (d == 'css'))
1244                                dp += '<dt>' + d + '</dt><dd>' + d + '</dd>';  
1245                            else  
1246                                dp += '<dt>' + d + '</dt><dd>' + data[d] + '</dd>';
1247                        }
1248                    }
1249                }
1250                if (dp.length > 0)   
1251                {
1252                    let _data = data
1253                    if (_data.css)
1254                        _data.css = '<code>CSS</code>';
1255                    if (_data.html)
1256                        _data.html = '<code>HTML</code>';                 
1257                    text = text + '<div class="genesis-console-item-data-block">'+               
1258                                '<div class="genesis-ext-tabs genesis-ext-tabs-data">'+               
1259                                '<ul>'+               
1260                                '<li class="active-tab"><i class="mdi mdi-file-table-box-outline"></i>Dane</li>'+               
1261                                '<li><i class="mdi mdi-code-json"></i>JSON</li>'+               
1262                                '</ul>'+               
1263                                '</div>'+
1264                                '<dl>' + dp + '</dl><pre>' + JSON.stringify(_data, null, 4);  + '</pre>'+
1265                                '</div>';  
1266                }                 
1267                className = (className ? (className + ' ') : '') + 'genesis-console-item-data';    
1268            }
1269        }
1270        consoleItem = '<li' + (className  ? ' class="' + className.trim() + '"' : '') + (view ? ' data-view="' + view + '"' : '') + '>
1270' + text + '</li>';
1271        return consoleItem;
1272    },
1273    onClose: function (event) {
1274        //
1275    }
1276};
1277
1278(function(a){a.init();}(genesisConsole));  

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.