blob: 7bb394a90b179bb8392b060536eb5f079f78f2e9 [file] [log] [blame]
-----
Javascript template loading
-----
Olivier Lamy
-----
2012-09-14
-----
~~ Licensed to the Apache Software Foundation (ASF) under one
~~ or more contributor license agreements. See the NOTICE file
~~ distributed with this work for additional information
~~ regarding copyright ownership. The ASF licenses this file
~~ to you under the Apache License, Version 2.0 (the
~~ "License"); you may not use this file except in compliance
~~ with the License. You may obtain a copy of the License at
~~
~~ http://www.apache.org/licenses/LICENSE-2.0
~~
~~ Unless required by applicable law or agreed to in writing,
~~ software distributed under the License is distributed on an
~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
~~ KIND, either express or implied. See the License for the
~~ specific language governing permissions and limitations
~~ under the License.
~~ NOTE: For help with the syntax of this file, see:
~~ http://maven.apache.org/guides/mini/guide-apt-format.html
Html/Javascript templates loading
Templates are loaded on application loaded and added in the hidden div <<#html-fragments>>.
They are loaded using requirejs and the text plugin.
archiva templates are loaded as it <<<NOTE: the no cache is activated only on dev mode>>>
+-------------------------
require(['jquery',"jquery.tmpl",'i18n',"utils","text!templates/archiva/menu.html",
"text!templates/archiva/generics.html",
"text!templates/archiva/modal.html",
"text!templates/archiva/repositories.html",
"text!templates/archiva/search.html",
"text!templates/archiva/general-admin.html"],
function(jquery,jqueryTmpl,i18n,utils,menu,generics,modal,repositories,
search,general_admin) {
loadArchivaTemplate=function(){
var htmlFragment=$("#html-fragments");
// template loading
htmlFragment.append(menu);
htmlFragment.append(generics);
$.tmpl( modal ).appendTo(htmlFragment);
htmlFragment.append(repositories);
htmlFragment.append(search);
htmlFragment.append(general_admin);
$.log("main-tmpl.js loaded");
}
}
);
+-------------------------
* i18n in templates
** static templates
Some templates which are only simple html which only need i18n are executed immediatly.
Simply use:
+-------------------------
$.tmpl( menu, $.i18n.map ).appendTo("#html-fragments");
to get i18n values in your template you can use
${register} or ${$.i18n.prop('register')}
Note if you use the simple form ${register} and the property is not available, the template system will try to use if exists the function register
+-------------------------
** dynamic templates
The others are only inserted in #html-fragments.