render : function()

in xf/ui/xf.ui.loader.js [16:58]


    render : function (loader, options) {

        var jqLoader = $(loader),
        _self = this;

        if (!options) {
            options = {};
        }
            
        if (!loader || !(jqLoader instanceof $) || jqLoader.attr('data-skip-enhance') == 'true') {
            return;
        }


        var id = jqLoader.attr('id') || XF.utils.uniqueID(),
        idStack = XF.ui.checkInIsset('loader'),
        newId = false;

        // Check if locader with the same ID was created before
        for (var i in idStack) {

            if (newId) {

                if (!$('#' + idStack[i]).length) {
                    id = idStack[i];
                    newId = true;
                }
            }
        }

        // If 'no', add new ID to the stack
        if (!newId) {
            XF.ui.issetElements.push({type : 'loader', id : id});
        }

        jqLoader.attr({'id': id, 'data-skip-enhance' : 'true'});

        if (!$('#' + id).hasClass('xf-loader')) {
            $('#' + id).addClass('xf-loader');
        }

        return jqLoader;
    },