render : function()

in xf/ui/xf.ui.header.js [17:63]


        render : function (header, options) {
            var jQHeader = $(header);

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

            // Detect if we have title
            var headerTitle = jQHeader.find('h1');
            if (headerTitle.length > 0) {
                headerTitle.addClass('xf-header-title');
            }

            // Set up options
            options.id = options.id || XF.utils.uniqueID();
            options.title = options.title || '';
            options.html = jQHeader.html();
            options.isFixed = (options.fixed && options.fixed === true) ? true : false;

            var parentPages = $(this.selector).parents('.xf-page'),
                siblingPages = $(this.selector).siblings('.xf-page');
                
            // Add additional class for parent node
            if (!_.isEmpty(parentPages) && options.isFixed) {
                parentPages.addClass('xf-has-header');
            }
            
            // Add additional class for siblings
            if (!_.isEmpty(siblingPages)) {
                siblingPages.addClass('xf-has-header');
            }

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

            // Underscore template for header
            var _template = _.template(
                '<header class="xf-header <% if(isFixed) { %> xf-header-fixed <% } %>">' +
                '<%= html %>' +
                '</header>'
            );

            jQHeader.html(_template(options));
        }