summaryrefslogtreecommitdiff
path: root/includes/js/dijit/demos/i18n.html
diff options
context:
space:
mode:
Diffstat (limited to 'includes/js/dijit/demos/i18n.html')
-rw-r--r--includes/js/dijit/demos/i18n.html158
1 files changed, 158 insertions, 0 deletions
diff --git a/includes/js/dijit/demos/i18n.html b/includes/js/dijit/demos/i18n.html
new file mode 100644
index 0000000..b99f6b9
--- /dev/null
+++ b/includes/js/dijit/demos/i18n.html
@@ -0,0 +1,158 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
+ "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+<head>
+ <title>Dijit I18N Demo</title>
+
+ <script>
+ var djConfig = {parseOnLoad: true, isDebug: true},
+ locale,
+ lang,
+ bidi;
+
+ // read in HREF arguments
+ if(window.location.href.indexOf("?") > -1){
+ var str = window.location.href.substr(window.location.href.indexOf("?")+1);
+ var ary = str.split(/&/);
+ for(var i=0; i<ary.length; i++){
+ var split = ary[i].split(/=/),
+ key = split[0],
+ value = split[1];
+ switch(key){
+ case "locale":
+ djConfig.locale = locale = value;
+ lang = locale.replace(/-.*/, "");
+ break;
+ case "dir":
+ document.getElementsByTagName("html")[0].dir = value;
+ bidi = value;
+ break;
+ }
+ }
+ }
+ </script>
+ <style type="text/css">
+ @import "../../dojo/resources/dojo.css";
+ @import "../themes/tundra/tundra.css";
+ @import "../themes/tundra/tundra_rtl.css";
+ @import "../tests/css/dijitTests.css";
+ @import "i18n/flags.css";
+ </style>
+
+ <script type="text/javascript" src="../../dojo/dojo.js"></script>
+
+ <script language="JavaScript" type="text/javascript">
+ dojo.require("dojo.data.ItemFileReadStore");
+ dojo.require("dijit.Tree");
+ dojo.require("dijit._Calendar");
+ dojo.require("dijit.form.DateTextBox");
+ dojo.require("dijit.form.CurrencyTextBox");
+ dojo.require("dijit.form.NumberSpinner");
+ dojo.require("dijit.form.ComboBox");
+ dojo.require("dijit.Menu");
+ dojo.require("dojo.parser");
+ dojo.addOnLoad(function(){
+ dojo.byId("locale").innerHTML = locale || "default";
+ dojo.byId("dir").innerHTML = bidi || "default";
+ });
+ </script>
+
+</head>
+<body class="tundra">
+ <div dojoType="dojo.data.ItemFileReadStore" jsId="store"
+ url="i18n/data.json"></div>
+ <div dojoType="dijit.tree.ForestStoreModel" jsId="model" store="store" childrenAttrs="languages">
+ <!-- Override all the data access functions to work from the I18N data store -->
+ <script type="dojo/method" event="getChildren" args="item, onComplete">
+ switch(item.root ? "top" : store.getValue(item, "type")){
+ case "top":
+ return store.fetch({query: {type:'continent'}, onComplete: onComplete});
+ case "continent":
+ return store.fetch({query: {continent: store.getValue(item, "iso")}, onComplete: onComplete});
+ case "country":
+ return dijit.tree.ForestStoreModel.prototype.getChildren.apply(this, arguments);
+ }
+ </script>
+ <script type="dojo/method" event="mayHaveChildren" args="item">
+ if(item.root){ return true; } // top level
+ var type = store.getValue(item, "type");
+ return (type == "continent" || type == "country");
+ </script>
+ </div>
+
+ <h1 class="testTitle" dir="ltr">Dijit I18N Demo (locale=<span id="locale"></span> dir=<span id="dir"></span>)</h1>
+
+ <table width="100%">
+ <tr>
+ <td width="30%" style="vertical-align: top;">
+ <div dojoType="dijit.Tree" id="mytree" model="model">
+ <!-- override functions for display of each node -->
+ <script type="dojo/method" event="getIconClass" args="item">
+ var icon =
+ (!item.root && store.getValue(item, "type") == "country") ?
+ ("countryIcon country" + store.getValue(item, "iso") + "Icon") :
+ dijit.Tree.prototype.getIconClass.apply(this, arguments);
+ return icon;
+ </script>
+ <script type="dojo/method" event="getLabel" args="item">
+ if(item.root){ return "Continents"; }
+ var localizedName = lang && store.getValue(item, lang);
+ return localizedName || (store.getLabel(item) + " \u202b" + "(" + store.getIdentity(item) + ")\u202c");
+ </script>
+
+ <!-- clicking a node refreshes the page with new locale setting -->
+ <script type="dojo/method" event="onClick" args="item, node">
+ var type = store.getValue(item, "type");
+ if(type == "language"){
+ var lang = store.getIdentity(item),
+ locale = lang + "-" + store.getIdentity(node.getParent().item).toLowerCase(),
+ dir = /ar|fa|he|ps|ur|yi/i.test(lang) ? "rtl" : "ltr";
+ window.location.href = window.location.href.replace(/\?.*/, "") + "?locale=" + locale + "&dir=" + dir;
+ }else{
+ alert("Please click a language, not a country or continent.");
+ }
+ </script>
+ </div>
+ </td>
+ <td style="vertical-align: top;">
+ <p dir="ltr">
+ Use the tree to select a language or a language/country combo; the page will reload
+ in the specified locale. Note that tree is also rerendered using the specified language for top level tree items.
+ Arabic and Hebrew display right-to-left so be sure to try those.
+ </p>
+ <input dojoType="dijit._Calendar"/>
+
+ <p>Some form controls:</p>
+
+ <label for="date">Date:</label>
+ <input id="date" dojoType="dijit.form.DateTextBox" value="2006-07-04"/>
+ <br/>
+ <label for="spinner">Number spinner:</label>
+ <input id="spinner" dojoType="dijit.form.NumberSpinner" value="123456789"/>
+ <br/>
+ <label for="currency">Currency:</label>
+ <input id="currency" type="text" name="income1" value="54775.53"
+ dojoType="dijit.form.CurrencyTextBox"
+ required="true"
+ constraints="{fractional:true}"
+ currency="USD"/>
+ <br/>
+
+ <label for="combo1">Simple Combo:</label>
+ <select id="combo1" dojoType="dijit.form.ComboBox">
+ <option>option #1</option>
+ <option>option #2</option>
+ <option>option #3</option>
+ </select>
+ <br/>
+ <label for="combo2">Combo on languages and countries:</label>
+ <input id="combo2" dojoType="dijit.form.ComboBox"
+ value=""
+ store="store"
+ searchAttr="name"
+ name="anything"/>
+ </td>
+ </tr>
+ </table>
+</body>
+</html>