| ----- |
| 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. |