[fusion-commits] r1858 - trunk/common
svn_fusion at osgeo.org
svn_fusion at osgeo.org
Wed May 20 15:25:24 EDT 2009
Author: pagameba
Date: 2009-05-20 15:25:24 -0400 (Wed, 20 May 2009)
New Revision: 1858
Added:
trunk/common/browserdetect.js
trunk/common/json.js
trunk/common/mgsamples.css
Log:
adding missing common code for new task pane widgets #248, 249, 259
Added: trunk/common/browserdetect.js
===================================================================
--- trunk/common/browserdetect.js (rev 0)
+++ trunk/common/browserdetect.js 2009-05-20 19:25:24 UTC (rev 1858)
@@ -0,0 +1,39 @@
+var agent = navigator.userAgent.toLowerCase();
+var firefox = agent.indexOf("firefox") != -1;
+var opera = agent.indexOf("opera") != -1;
+
+var safariIndex = agent.indexOf("safari");
+var safari1or2 = false;
+var safari3plus = false;
+var safari = false;
+if(safariIndex != -1)
+{
+ safari = true;
+ var safariVersion = agent.substr(safariIndex + 7, 3);
+ if(parseFloat(safariVersion) >= 500)
+ {
+ safari3plus = true;
+ }
+ else
+ {
+ safari1or2 = true;
+ }
+}
+
+var msieIndex = agent.indexOf("msie");
+var msie = false;
+var msie7plus = false;
+var msie6minus = false;
+if(msieIndex != -1)
+{
+ msie = true;
+ var msieVersion = agent.substr(msieIndex + 5, 1);
+ if(parseFloat(msieVersion) >= 7)
+ {
+ msie7plus = true;
+ }
+ else
+ {
+ msie6minus = true;
+ }
+}
Added: trunk/common/json.js
===================================================================
--- trunk/common/json.js (rev 0)
+++ trunk/common/json.js 2009-05-20 19:25:24 UTC (rev 1858)
@@ -0,0 +1,120 @@
+/*
+ json.js
+ 2006-04-28
+
+ This file adds these methods to JavaScript:
+
+ object.toJSONString()
+
+ This method produces a JSON text from an object. The
+ object must not contain any cyclical references.
+
+ array.toJSONString()
+
+ This method produces a JSON text from an array. The
+ array must not contain any cyclical references.
+
+ string.parseJSON()
+
+ This method parses a JSON text to produce an object or
+ array. It will return false if there is an error.
+*/
+(function () {
+ var m = {
+ '\b': '\\b',
+ '\t': '\\t',
+ '\n': '\\n',
+ '\f': '\\f',
+ '\r': '\\r',
+ '"' : '\\"',
+ '\\': '\\\\'
+ },
+ s = {
+ array: function (x) {
+ var a = ['['], b, f, i, l = x.length, v;
+ for (i = 0; i < l; i += 1) {
+ v = x[i];
+ f = s[typeof v];
+ if (f) {
+ v = f(v);
+ if (typeof v == 'string') {
+ if (b) {
+ a[a.length] = ',';
+ }
+ a[a.length] = v;
+ b = true;
+ }
+ }
+ }
+ a[a.length] = ']';
+ return a.join('');
+ },
+ 'boolean': function (x) {
+ return String(x);
+ },
+ 'null': function (x) {
+ return "null";
+ },
+ number: function (x) {
+ return isFinite(x) ? String(x) : 'null';
+ },
+ object: function (x) {
+ if (x) {
+ if (x instanceof Array) {
+ return s.array(x);
+ }
+ var a = ['{'], b, f, i, v;
+ for (i in x) {
+ v = x[i];
+ f = s[typeof v];
+ if (f) {
+ v = f(v);
+ if (typeof v == 'string') {
+ if (b) {
+ a[a.length] = ',';
+ }
+ a.push(s.string(i), ':', v);
+ b = true;
+ }
+ }
+ }
+ a[a.length] = '}';
+ return a.join('');
+ }
+ return 'null';
+ },
+ string: function (x) {
+ if (/["\\\x00-\x1f]/.test(x)) {
+ x = x.replace(/([\x00-\x1f\\"])/g, function(a, b) {
+ var c = m[b];
+ if (c) {
+ return c;
+ }
+ c = b.charCodeAt();
+ return '\\u00' +
+ Math.floor(c / 16).toString(16) +
+ (c % 16).toString(16);
+ });
+ }
+ return '"' + x + '"';
+ }
+ };
+
+ Object.prototype.toJSONString = function () {
+ return s.object(this);
+ };
+
+ Array.prototype.toJSONString = function () {
+ return s.array(this);
+ };
+})();
+
+String.prototype.parseJSON = function () {
+ try {
+ return !(/[^,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]/.test(
+ this.replace(/"(\\.|[^"\\])*"/g, ''))) &&
+ eval('(' + this + ')');
+ } catch (e) {
+ return false;
+ }
+};
Added: trunk/common/mgsamples.css
===================================================================
--- trunk/common/mgsamples.css (rev 0)
+++ trunk/common/mgsamples.css 2009-05-20 19:25:24 UTC (rev 1858)
@@ -0,0 +1,43 @@
+td.Title
+{
+ font-family: Arial, Helvetica, sans-serif;
+ font-weight: bold;
+ font-size: 13pt;
+}
+td.SubTitle
+{
+ font-family: Arial, Helvetica, sans-serif;
+ font-weight: bold;
+ font-size: 8pt;
+ background-color: #DCDCDC;
+ color: black;
+ height: 20px;
+}
+td.Spacer
+{
+ height: 4px;
+}
+.Swatch
+{
+ border: black 1px solid;
+ height: 16px;
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 10pt;
+}
+td.InfoText
+{
+ background-color: #FFFFCC;
+ color: #666666;
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 8pt;
+}
+.RegText
+{
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 8pt;
+}
+.Ctrl
+{
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 8pt;
+}
More information about the fusion-commits
mailing list