[%# This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. # # This Source Code Form is "Incompatible With Secondary Licenses", as # defined by the Mozilla Public License, v. 2.0. #%] [%# INTERFACE: # (All the below interface elements are optional.) # title: string. Page title. # header: string. Main page header. # subheader: string. Page subheader. # header_addl_info: string. Additional header information. # bodyclasses: array of extra CSS classes for the
# onload: string. JavaScript code to run when the page finishes loading. # javascript: string. Javascript to go in the header. # javascript_urls: list. List of URLs to Javascript. # style: string. CSS style. # style_urls: list. List of URLs to CSS style sheets. # message: string. A message to display to the user. May contain HTML. # atomlink: Atom link URL, May contain HTML # generate_api_token: generate a token which can be used to make authenticated webservice calls #%] [% IF message %] [% PROCESS global/messages.html.tmpl %] [% END %] [% DEFAULT subheader = "" header_addl_info = "" onload = "" style_urls = [] yui = [] yui_css = {} yui_deps = {} no_yui = 0 jquery = [] jquery_css = [] generate_api_token = 0 %] [% IF NOT no_yui %] [% SET yui_css = { autocomplete => 1, calendar => 1, datatable => 1, button => 1, } %] [%# Note: This is simple dependency resolution--you can't have dependencies # that depend on each other. You have to specify all of a module's deps, # if that module is going to be specified in "yui". #%] [% SET yui_deps = { autocomplete => ['json', 'connection', 'datasource'], datatable => ['json', 'connection', 'datasource', 'element'], } %] [%# When using certain YUI modules, we need to process certain # extra JS templates. #%] [% SET yui_templates = { datatable => ['global/value-descs.js.tmpl'], } %] [% END %] [%# These are JS URLs that are *always* on the page and come before # every other JS URL. #%] [% SET starting_js_urls = [ "js/jquery/jquery-min.js", "js/jquery/ui/jquery-ui-min.js" ] %] [% IF NOT no_yui %] [% starting_js_urls.push("js/yui/yahoo-dom-event/yahoo-dom-event.js", "js/yui/cookie/cookie-min.js") %] [% END %] [% SET jq_css_urls = [ "js/jquery/ui/jquery-ui-min.css", "js/jquery/ui/jquery-ui-structure-min.css", "js/jquery/ui/jquery-ui-theme-min.css", ] %] [% style_urls.import(jquery_css, jq_css_urls) FILTER null %] [%# Add jQuery cookie support %] [% jquery.push("cookie") %] [%# We should be able to set the default value of the header variable # to the value of the title variable using the DEFAULT directive, # but that doesn't work if a caller sets header to the empty string # to avoid header inheriting the value of title, since DEFAULT # mistakenly treats empty strings as undefined and gives header the # value of title anyway. To get around that problem we explicitly # set header's default value here only if it is undefined. %] [% IF !header.defined %][% header = title %][% END %] [% Hook.process("start") %]