Only 10 of my events is showing on my website

Only 10 of my events is showing on my website even though I have set the number of events to display to 30. What should I do?

1 Like

Hello @Ebba_Musikhuset :wave:

I’ve shared your request with our devs. I’ll get back to you once any news come up :slightly_smiling_face:

Unfortunately, there is no option to disable Load More button on the List Layout.

I’ve added this script to the Custom JS field on the Settings tab and all the events are displayed now:

(() => {
    const start = Date.now();

    const inViewport = (elem) => {
        const bb = elem.getBoundingClientRect();
        return !(bb.top > window.innerHeight || bb.bottom < 0);
    };

    const clickWhenInViewport = (elem) => {
        while (document.body.contains(elem) && inViewport(elem)) {
            elem.click();
        }
    };

    const rafAsync = () => new Promise(resolve => requestAnimationFrame(resolve));

    const getElement = selector => document.querySelector(selector);

    const checkElement = (selector) => {
        const elem = getElement(selector);

        if (!elem) {
            if (Date.now() - start > 20000) return Promise.reject();

            return rafAsync().then(() => checkElement(selector));
        } else {
            return Promise.resolve(elem);
        }
    };

    const addAutoClickOnLoadMore = () => {
        const selector = '.eapp-events-calendar-load-more-button-component';

        checkElement(selector).then((elem) => {
            clickWhenInViewport(elem);

            const handler = () => {
                const actualElem = getElement(selector);

                if (actualElem) {
                    clickWhenInViewport(elem);
                } else {
                    document.removeEventListener('scroll', handler);
                    window.removeEventListener('resize', handler);
                }
            };

            document.addEventListener('scroll', handler);
            window.addEventListener('resize', handler);
        },
            () => {
            }
        );
    };

    if (document.readyState === 'loading') {
        document.addEventListener('DOMContentLoaded', addAutoClickOnLoadMore);
    } else {
        addAutoClickOnLoadMore();
    }
})();

Please check your website and let me know if it’s working fine :slightly_smiling_face:

1 Like