app/scripts/plugins/header.coffee

EPFL ajax header plugin

Handle loading the full epfl header via ajax

requires: jQuery or Zepto DOM library author: Julien Ramboz version: 1.0

AMD loader

Try loading as AMD module or fall back to default loading

((plugin) -> if typeof define is "function" and define.amd define ["jslib", "plugin", "globalnav"], plugin else plugin @$, AbstractPlugin ).call this, header = ($, AbstractPlugin) -> "use strict"

Plugin

The actual plugin class

class Header extends AbstractPlugin

Initialisation

Initializer function.

initialize: (options) -> super options url = @element.attr "data-ajax-header" if url query = "#{url} ##{@element.attr('id')} > *" @element.load query, () => @element.trigger "headerLoaded" $("##{@element.attr('id')} [data-widget='toggle']").epfl_toggle()

Installation

Install the plugin into the JS library

Header.install("Header", () -> $("#epfl-header")["#{AbstractPlugin.namespace}header"]() )