private _getComposedCallback()

in legacy/src/Calendar/Calendar.ts [357:383]


    private _getComposedCallback(callbackType: FullCalendarCallbackType) {
        const args = arguments;
        return (event: FullCalendar.EventObject, element: JQuery, view: FullCalendar.ViewObject): JQuery | boolean => {
            const fns = this._callbacks[callbackType];
            if (!fns) {
                return undefined;
            }
            let broken = false;
            let updatedElement = element;
            for (let i = 0; i < fns.length; ++i) {
                const fn = fns[i];

                const result = fn(event, updatedElement, view);
                if (callbackType === FullCalendarCallbackType.eventRender && result === false) {
                    broken = true;
                    break;
                }
                if (callbackType === FullCalendarCallbackType.eventRender && result instanceof jQuery) {
                    updatedElement = result;
                }
            }
            if (broken) {
                return false;
            }
            return updatedElement;
        };
    }