• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

divio / django-cms / #30167

24 Nov 2025 12:49PM UTC coverage: 89.964% (+14.8%) from 75.132%
#30167

push

travis-ci

web-flow
Merge 565a22220 into 5f080488d

1337 of 2146 branches covered (62.3%)

9206 of 10233 relevant lines covered (89.96%)

11.2 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

33.33
/cms/static/cms/js/modules/loader.js
1

2
// Loader mit Vanilla JS, nutzt die vorhandenen Styles aus _toolbar.scss
3
let debounceTimeout = null;
1✔
4
const LOADER_ID = 'cms-loading-bar';
1✔
5
const removeDelay = 300; // Time [ms] to wait before removing the loader from DOM
1✔
6

7
function createLoaderBar() {
8
    if (document.getElementById(LOADER_ID)) {
×
9
        return;
×
10
    }
11
    const cmsTop = document.getElementById('cms-top');
×
12
    const bar = document.createElement('div');
×
13

14
    bar.id = LOADER_ID;
×
15
    bar.className = 'cms-loading-bar';
×
16
    bar.setAttribute('role', 'bar');
×
17
    bar.innerHTML = '<div class="cms-loading-peg"></div>';
×
18
    cmsTop.appendChild(bar);
×
19
}
20

21
function removeLoaderBar() {
22
    const bar = document.getElementById(LOADER_ID);
9✔
23

24
    if (bar) {
9!
25
        bar.style.opacity = '0';
×
26
        setTimeout(() => {
×
27
            if (bar.parentNode) {
×
28
                bar.parentNode.removeChild(bar);
×
29
            }
30
        }, removeDelay);
31
    }
32
}
33

34
/**
35
 * Zeigt den Loader-Balken oben im Viewport an (debounced).
36
 */
37
export const showLoader = () => {
1✔
38
    if (debounceTimeout) {
×
39
        clearTimeout(debounceTimeout);
×
40
    }
41
    debounceTimeout = setTimeout(() => {
×
42
        createLoaderBar();
×
43
    }, 0);
44
};
45

46
/**
47
 * Versteckt den Loader-Balken.
48
 */
49
export const hideLoader = () => {
1✔
50
    if (debounceTimeout) {
9!
51
        clearTimeout(debounceTimeout);
×
52
    }
53
    removeLoaderBar();
9✔
54
};
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc