PageSourceSearch

https://dchistory.org/wp-content/themes/dc-history/js/main.js?ver=1.0.156

js dchistory.org collected 2026-10-02 05:50:49 UTC 12,924 bytes, 199 lines download raw bytes

1import { safeURL, initGlobalBehaviors } from "./globals.js?v=001";
2
3const doc = document;
4const win = window;
5
6doc.addEventListener('DOMContentLoaded', () => {
7
8    safeURL.init();
9
10    window.baseURL = String(window.location).split(window.location.host)[0] + window.location.host + '/';
11
12    document.fonts.ready.then((fontFaceSet) => {
13        document.body.classList.add('fonts-loaded');
14
15        document.body.classList.add('fadein');
16
17        const siteVersion = win.siteVersion || '1.0.0';
18
19        const config = {
20            mainSelector: '.js-module',
21            jsModules: [
22                { selector: '.block-microbanner', src: './layouts/blocks/block-microbanner.js?ver='+siteVersion },
23                { selector: '.block-nl-subscription-banner', src: './layouts/blocks/block-nl-subscription-banner.js?ver='+siteVersion },
24                { selector: '.component-floating-nav', src: './layouts/components/component-floating-nav.js?ver=' + siteVersion },
25                { selector: '.block-on-picture-content', src: './layouts/blocks/block-on-picture-content.js?ver=' + siteVersion },
26                { selector: '.component-videos-gallery', src: './layouts/components/component-videos-gallery.js?ver=' + siteVersion },
27                { selector: '.block-row-of-videos', src: './layouts/blocks/block-row-of-videos.js?ver=' + siteVersion },
28                { selector: '.block-slideshow', src: './layouts/blocks/block-slideshow.js?ver=' + siteVersion },
29                { selector: '.block-slideshow-with-text', src: './layouts/blocks/block-slideshow-with-text.js?ver=' + siteVersion },
30                { selector: '.block-index-bar', src: './layouts/blocks/block-index-bar.js?ver=' + siteVersion },
31                { selector: '.block-hero', src: './layouts/blocks/block-hero.js?ver=' + siteVersion },
32                { selector: '.block-items-list', src: './layouts/blocks/block-items-list.js?ver=' + siteVersion },
33                { selector: '.block-content-layout-3', src: './layouts/blocks/block-content-layout-3.js?ver=' + siteVersion },
34                { selector: '.block-features-with-image', src: './layouts/blocks/block-features-with-image.js?ver=' + siteVersion },
35                { selector: '.block-features-in-a-row', src: './layouts/blocks/block-features-in-a-row.js?ver=' + siteVersion },
36                { selector: '.component-feature-atom', src: './layouts/components/component-feature-atom.js?ver=' + siteVersion },
37                { selector: '.component-buttons', src: './layouts/components/component-buttons.js?ver=' + siteVersion },
38                { selector: '.block-banner', src: './layouts/blocks/block-banner.js?ver=' + siteVersion },
39                { selector: '.block-banner-w-img', src: './layouts/blocks/block-banner-w-img.js?ver=' + siteVersion },
40                { selector: '.block-banner-on-picture', src: './layouts/blocks/block-banner-on-picture.js?ver=' + siteVersion },
41                { selector: '.block-grid-of-cards', src: './layouts/blocks/block-grid-of-cards.js?ver=' + siteVersion },
42                { selector: '.block-media', src: './layouts/blocks/block-media.js?ver=' + siteVersion },
43                { selector: '.component-accordion', src: './layouts/components/component-accordion.js?ver=' + siteVersion },
44                { selector: '.component-media', src: './layouts/components/component-media.js?ver=' + siteVersion },
45                { selector: '.component-card-large', src: './layouts/components/component-card-large.js?ver=' + siteVersion },
46                { selector: '.component-card-small', src: './layouts/components/component-card-small.js?ver=' + siteVersion },
47
48                { selector: '.component-loading', src: './layouts/components/component-loading.js?ver=' + siteVersion },
49                { selector: '.component-image-text-split', src: './layouts/components/component-image-text-split.js?ver=' + siteVersion },
50                { selector: '.page-single-people', src: './layouts/pages/page-single-people.js?ver=' + siteVersion },
51                { selector: '.component-custom-select', src: './layouts/components/component-custom-select.js?ver=' + siteVersion },
52                { selector: '.block-past-fellows', src: './layouts/blocks/block-past-fellows.js?ver=' + siteVersion },
53                { selector: '.block-related-people', src: './layouts/blocks/block-related-people.js?ver=' + siteVersion },
54                { selector: '.component-people-card', src: './layouts/components/component-people-card.js?ver=' + siteVersion },
55                { selector: '.page-archive-people', src: './layouts/pages/page-archive-people.js?ver=' + siteVersion },
56                { selector: '.component-feature-card', src: './layouts/components/component-feature-card.js?ver=' + siteVersion },
57                { selector: '.block-feature-cards-grid', src: './layouts/blocks/block-feature-cards-grid.js?ver
57=' + siteVersion },
58                { selector: '.block-horizontal-rows-of-content', src: './blocks/block-horizontal-rows-of-content.js?ver=' + siteVersion },
59                { selector: '.block-embed-code', src: './layouts/blocks/block-embed-code.js?ver=' + siteVersion },
60                { selector: '.block-grid-news', src: './layouts/blocks/block-grid-news.js?ver=' + siteVersion },
61                { selector: '.component-jump-menu', src: './layouts/components/component-jump-menu.js?ver=' + siteVersion },
62                { selector: '.block-text-on-image', src: './layouts/blocks/block-text-on-image.js?ver=' + siteVersion },
63                { selector: '.page-single-summits', src: './layouts/pages/page-single-summits.js?ver=' + siteVersion },
64                { selector: '.page-single-events', src: './layouts/pages/page-single-events.js?ver=' + siteVersion },
65                { selector: '.component-scroll-gallery', src: './layouts/components/component-scroll-gallery.js?ver=' + siteVersion },
66                { selector: '.block-related-events', src: './layouts/blocks/block-related-events.js?ver=' + siteVersion },
67                { selector: '.block-related-news', src: './layouts/blocks/block-related-news.js?ver=' + siteVersion },
68                { selector: '.component-share-post', src: './layouts/components/component-share-post.js?ver=' + siteVersion },
69                { selector: '.page-single-news', src: './layouts/pages/page-single-news.js?ver=' + siteVersion },
70
71                { selector: '.block-gallery', src: './layouts/blocks/block-gallery.js?ver=' + siteVersion },
72
73                { selector: '.page-archive-programs', src: './layouts/pages/page-archive-programs.js?ver=' + siteVersion },
74                { selector: '.page-single-programs', src: './layouts/pages/page-single-programs.js?ver=' + siteVersion },
75
76                { selector: '.component-label', src: './layouts/components/component-label.js?ver=' + siteVersion },
77
78                { selector: '.component-news-card', src: './layouts/components/component-news-card.js?ver=' + siteVersion },
79                { selector: '.page-archive-news', src: './layouts/pages/page-archive-news.js?ver=' + siteVersion },
80                { selector: '.component-item-archive-list', src: './layouts/components/component-item-archive-list.js?ver=' + siteVersion },
81
82                { selector: '.page-events-archive', src: './layouts/pages/page-events-archive.js?ver=' + siteVersion },
83                { selector: '.component-event-card', src: './layouts/components/component-event-card.js?ver=' + siteVersion },
84                { selector: '.component-chips', src: './layouts/components/component-chips.js?ver=' + siteVersion },
85                { selector: '.component-chip', src: './layouts/components/component-chip.js?ver=' + siteVersion },
86
87
88                { selector: '.block-content-layout-1', src: './layouts/blocks/block-content-layout-1.js?ver=' + siteVersion },
89                { selector: '.block-content-layout-2', src: './layouts/blocks/block-content-layout-2.js?ver=' + siteVersion },
90
91                { selector: '.block-logos', src: './layouts/blocks/block-logos.js?ver=' + siteVersion },
92
93                { selector: '.block-accordion', src: './layouts/blocks/block-accordion.js?ver=' + siteVersion },
94                { selector: '.header', src: './layouts/header.js?ver' + siteVersion },
95            ]
96        }
97
98        if (!!document.querySelector(config.mainSelector)) {
99            const observer = new IntersectionObserver(entries => {
100                entries.forEach(entry => {
101                    const isInit = entry.target.initialized;
102                    const isPaused = entry.target.paused;
103                    //if(isInit && !entry.intersectionRatio && !isPaused && entry.target.pauseModule){
104                    if (isInit && !entry.isIntersecting && !isPaused && entry.target.pauseModule) {
105                        //si está inicializado el modulo, está fuera del viewport, no está pausado y existe la función pauseModule dispara pauseModule();
106                        entry.target.paused = true;
107                        entry.target.pauseModule();
108                        //}else if(isInit && entry.intersectionRatio && isPaused && entry.target.playModule){
109                    } else if (isInit && entry.isIntersecting && isPaused && entry.target.playModule) {
110                        //si está inicializado el modulo, está dentro del viewport, está pausado y existe la función playModule dispara playModule();
111                        entry.target.paused = false;
112                        entry.target.playModule();
113                        //}else if(!isInit && entry.intersectionRatio > 0.3){
114                    } else if (!isInit && entry.isIntersecting) {
115                        //si no está inicializado y entra el 30% en el viewport tira la carga del módulo e inicializa
116                        config.jsModules.forEach((el, i) => {
117                            const type = el.selector.substring(0, 1);
118                            //const selector = el.selector.split('#').join('').split('.').join('');
119                            const selector = el.selector.substring(1, el.selector.length);
120                            if ((type == '#' && entry.target.getAttribute('id') == selector) || (type == '.' && entry.target.classList.contains(selector))) {
121                                //observer.unobserve(entry.target);
122                                const moduleSpecifierStr = el.src;
123                                import(moduleSpecifierStr)
124                                    .then((namespaceObject) => {
125                                        entry.target.initialized = true;
126                                        namespaceObject.startModule(entry.target);//inicializa el modulo de js 
127                                    });
128                            }
129                        });
130                    }
131                });
132            }, {
133                //rootMargin: '0px 0px -25% 0px',
134                rootMargin: '0px 0px 60px 0px',
135                //threshold: [0, .1, .2, .3, .4, .5, .6, .7, .8, .9, 1]
136            });
137            document.querySelectorAll(config.mainSelector).forEach((el) => {
138                observer.observe(el);
139            });
140
141
142        }
143
144        initGlobalBehaviors();
145
146        let globalToolPanelInitiated = false;
147
148        window.addEventListener('scroll', () => {
149            if (globalToolPanelInitiated) return;
150
151            const scrollTop = window.scrollY || document.documentElement.scrollTop;
152            const windowHeight = window.innerHeight;
153            const documentHeight = document.documentElement.scrollHeight;
154
155            if (scrollTop + windowHeight >= documentHeight - 10) {
156                globalToolPanelInitiated = true;
157                initGlobalToolPanel();
158            }
159        });
160
161
162
163        function initGlobalToolPanel() {
164
165            const toolPanels = document.querySelectorAll('.tool-controls');
166            if (!toolPanels.length) return;
167
168            const globalTools = document.createElement('div');
169            globalTools.classList.add('global-tool-controls');
170
171            const createButton = (label, action) => {
172                const btn = document.createElement('button');
173                btn.textContent = label;
174                btn.addEventListener('click', action);
175                return btn;
176            };
177
178            const collapseAll = () => {
179                toolPanels.forEach(panel => {
180                    panel.classList.remove('tool-visible');
181                });
182            };
183
184            const expandAll = () => {
185                toolPanels.forEach(panel => {
186                    panel.classList.add('tool-visible');
187                });
188            };
189
190            globalTools.appendChild(createButton('Colapsar', collapseAll));
191            globalTools.appendChild(createButton('Expandir', expandAll));
192
193            document.body.appendChild(globalTools);
194        }
195
196    });
197
198
199});

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.