diff options
Diffstat (limited to '')
22 files changed, 1460 insertions, 0 deletions
diff --git a/js/dojo-1.6/dojox/analytics.js b/js/dojo-1.6/dojox/analytics.js new file mode 100644 index 0000000..beec85d --- /dev/null +++ b/js/dojo-1.6/dojox/analytics.js @@ -0,0 +1,14 @@ +/*
+ Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved.
+ Available via Academic Free License >= 2.1 OR the modified BSD license.
+ see: http://dojotoolkit.org/license for details
+*/
+
+
+if(!dojo._hasResource["dojox.analytics"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
+dojo._hasResource["dojox.analytics"] = true;
+dojo.provide("dojox.analytics");
+dojo.require("dojox.analytics._base");
+
+
+}
diff --git a/js/dojo-1.6/dojox/analytics.xd.js b/js/dojo-1.6/dojox/analytics.xd.js new file mode 100644 index 0000000..75efd02 --- /dev/null +++ b/js/dojo-1.6/dojox/analytics.xd.js @@ -0,0 +1,19 @@ +/*
+ Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved.
+ Available via Academic Free License >= 2.1 OR the modified BSD license.
+ see: http://dojotoolkit.org/license for details
+*/
+
+
+dojo._xdResourceLoaded(function(dojo, dijit, dojox){
+return {depends: [["provide", "dojox.analytics"],
+["require", "dojox.analytics._base"]],
+defineResource: function(dojo, dijit, dojox){if(!dojo._hasResource["dojox.analytics"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
+dojo._hasResource["dojox.analytics"] = true;
+dojo.provide("dojox.analytics");
+dojo.require("dojox.analytics._base");
+
+
+}
+
+}};});
diff --git a/js/dojo-1.6/dojox/analytics/README b/js/dojo-1.6/dojox/analytics/README new file mode 100644 index 0000000..7299925 --- /dev/null +++ b/js/dojo-1.6/dojox/analytics/README @@ -0,0 +1,139 @@ +------------------------------------------------------------------------------- +dojox.analytics +------------------------------------------------------------------------------- +Version 1.0 +Release date: 12/17/2007 +------------------------------------------------------------------------------- +Project state: +[base]: alpha +[Urchin]: alpha +------------------------------------------------------------------------------- +Project authors + Dustin Machi (dmachi) + Peter Higgins (dante) +------------------------------------------------------------------------------- +Project description + analytics and client monitoring system. Including the base analytics +system and any number of plugins enables logging of different system data +back to the server. Plugins included at this time: + + dojo - reports dojo startup collected information + window - reports available window information to the server + mouseOver - allows periodic sampling of mouseOver + mouseClick - reports any mouse clicks to the server + idle - reports idle/activity + consoleMessages - reports console.* messages to the server + + Additionally, a Google Analytics (Urchin tracker) helper is included + in this project, though is unrelated to the Core dojox.analytics + project code. + +------------------------------------------------------------------------------- +Dependencies: + +Dojo Core (package loader). +------------------------------------------------------------------------------- +Documentation + +Usage: + +The primary intended usage will be to create a custom build layer that includes +the particular plugins you need for your project. However in practice you +can use the system as such: + + <script type="text/javascript" src="../../../dojo/dojo.js" + djConfig="parseOnLoad: true, isDebug: false, usePlainJson: true, sendMethod: 'script', sendInterval: 5000"></script> + + <script language="JavaScript" type="text/javascript"> + // include the analytics system + dojo.require("dojox.analytics"); + + //tracks mouse clicks on the page + dojo.require("dojox.analytics.plugins.mouseClick"); + + // this plugin returns the informatin dojo collects when it launches + dojo.require("dojox.analytics.plugins.dojo"); + + // this plugin return the information the window has when it launches + // and it also ties to a few events such as window.option + dojo.require("dojox.analytics.plugins.window"); + + // this plugin tracks console. message, It logs console.error, warn, and + // info messages to the tracker. It also defines console.rlog() which + // can be used to log only to the server. Note that if isDebug() is disabled + // you will still see the console messages on the sever, but not in the actual + // browser console. + dojo.require("dojox.analytics.plugins.consoleMessages"); + + // tracks where a mouse is on a page an what it is over, periodically sampling + // and storing this data + dojo.require("dojox.analytics.plugins.mouseOver"); + + //tracks when the user has gone idle + dojo.require("dojox.analytics.plugins.idle"); + + </script> + +When done using a build, none of the dojo.require() statement will be requires +would already be in the build. + +Most of the plugins and the base itself have a number of configurable params +that are passed in via the djConfig variable set. This approach is taken so that +the parameters can be easily provided in the case of a build or for a custom +dojo.js build with analytics built in. Examples for different build profiles +are in the profiles directory. + +Available Configuration Parameters: + + Base Configs + sendInterval - Normal send interval. Default 5000 + sendMethod - "script" || "xhrPost" + inTransitRetry - Delay before retrying an a send if it was in transit + or if there is still data to be sent after a post. + Default 1000 + analyticsUrl - url to send logging data to. defaults to the test php + file for now + maxRequestSize - Maximum size of GET style requests. Capped at 2000 for + IE, and 4000 otherwise + + consoleMessages Config: + + consoleLogFuncs - functions from the console object that you will log to + the server. If the console object doesn't exist + or a particuarl method doesn't exist it will be + created as a remote logging only method. This provides + a quick and convient way to automatically define + a remote logging funciton that includes the functions + name in the log. The 'rlog' in the default paramerters + is an example of this. Defaults to ["error", "warn", "info", "rlog"] + + idle Config: + + idleTime - Number of ms to be idle before being reported to the server as idle + + mouseOver config: + targetProps - the properties whose values will be reported for each target from + a mouse over sample. defaults to ["id","className","localName","href", "spellcheck", "lang", "textContent", "value" ] + + sampleDelay - the delay in ms between mouseover samples. Defaults to 2500 + + window config: + windowConnects - methods on the window objec that will be attached to + have its data passed to the server when called. + + +Note that the basic usage of this system simply serializes json with toJson() when passed +to the analytics addData() method. If data is passed that has circular references +it will die. Take care not to do that or be surprised when it doens't work +in those cases. + +------------------------------------------------------------------------------- +Installation instructions + +Grab the following from the Dojo SVN Repository: +http://svn.dojotoolkit.org/var/src/dojo/dojox/trunk/analytics + +Install into the following directory structure: +/dojox/analytics/ + +...which should be at the same level as your Dojo checkout. diff --git a/js/dojo-1.6/dojox/analytics/Urchin.js b/js/dojo-1.6/dojox/analytics/Urchin.js new file mode 100644 index 0000000..b6106e9 --- /dev/null +++ b/js/dojo-1.6/dojox/analytics/Urchin.js @@ -0,0 +1,141 @@ +/*
+ Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved.
+ Available via Academic Free License >= 2.1 OR the modified BSD license.
+ see: http://dojotoolkit.org/license for details
+*/
+
+
+if(!dojo._hasResource["dojox.analytics.Urchin"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
+dojo._hasResource["dojox.analytics.Urchin"] = true;
+dojo.provide("dojox.analytics.Urchin");
+
+/*=====
+dojo.mixin(djConfig,{
+ // urchin: String
+ // Used by `dojox.analytics.Urchin` as the default UA-123456-7 account
+ // number used when being created. Alternately, you can pass an acct:""
+ // parameter to the constructor a la: new dojox.analytics.Urchin({ acct:"UA-123456-7" });
+ urchin: ""
+});
+=====*/
+
+dojo.declare("dojox.analytics.Urchin", null, {
+ // summary: A Google-analytics helper, for post-onLoad inclusion of the tracker, and
+ // dynamic tracking during long-lived page cycles.
+ //
+ // description:
+ // A small class object will allows for lazy-loading the Google Analytics API
+ // at any point during a page lifecycle. Most commonly, Google-Analytics is loaded
+ // via a synchronous script tag in the body, which causes `dojo.addOnLoad` to
+ // stall until the external API has been completely loaded. The Urchin helper
+ // will load the API on the fly, and provide a convenient API to use, wrapping
+ // Analytics for Ajaxy or single page applications.
+ //
+ // The class can be instantiated two ways: Programatically, by passing an
+ // `acct:` parameter, or via Markup / dojoType and defining a djConfig
+ // parameter `urchin:`
+ //
+ // IMPORTANT:
+ // This module will not work simultaneously with the core dojox.analytics
+ // package. If you need the ability to run Google Analytics AND your own local
+ // analytics system, you MUST include dojox.analytics._base BEFORE dojox.analytics.Urchin
+ //
+ // example:
+ // | // create the tracker programatically:
+ // | var tracker = new dojox.analytics.Urchin({ acct:"UA-123456-7" });
+ //
+ // example:
+ // | // define the urchin djConfig option:
+ // | var djConfig = { urchin: "UA-123456-7" };
+ // |
+ // | // and in markup:
+ // | <div dojoType="dojox.analytics.Urchin"></div>
+ // | // or code:
+ // | new dojox.analytics.Urchin();
+ //
+ // example:
+ // | // create and define all analytics with one tag.
+ // | <div dojoType="dojox.analytics.Urchin" acct="UA-12345-67"></div>
+ //
+ // acct: String
+ // your GA urchin tracker account number. Overrides `djConfig.urchin`
+ acct: "",
+
+ constructor: function(args){
+ // summary:
+ // Initialize this Urchin instance. Immediately starts the load
+ // sequence, so defer construction until (ideally) after onLoad and
+ // potentially widget parsing.
+ this.tracker = null;
+ dojo.mixin(this, args);
+ this.acct = this.acct || dojo.config.urchin;
+
+ var re = /loaded|complete/,
+ gaHost = ("https:" == dojo.doc.location.protocol) ? "https://ssl." : "http://www.",
+ h = dojo.doc.getElementsByTagName("head")[0],
+ n = dojo.create('script', {
+ src: gaHost + "google-analytics.com/ga.js"
+ }, h);
+
+ n.onload = n.onreadystatechange = dojo.hitch(this, function(e){
+ if(e && e.type == "load" || re.test(n.readyState)){
+ n.onload = n.onreadystatechange = null;
+ this._gotGA();
+ h.removeChild(n);
+ }
+ });
+
+ },
+
+ _gotGA: function(){
+ // summary: initialize the tracker
+ this.tracker = _gat._getTracker(this.acct);
+ this.GAonLoad.apply(this, arguments);
+ },
+
+ GAonLoad: function(){
+ // summary:
+ // Stub function to fire when urchin is complete
+ // description:
+ // This function is executed when the tracker variable is
+ // complete and initialized. The initial trackPageView (with
+ // no arguments) is called here as well, so remeber to call
+ // manually if overloading this method.
+ //
+ // example:
+ // Create an Urchin tracker that will track a specific page on init
+ // after page load (or parsing, if parseOnLoad is true)
+ // | dojo.addOnLoad(function(){
+ // | new dojox.ananlytics.Urchin({
+ // | acct:"UA-12345-67",
+ // | GAonLoad: function(){
+ // | this.trackPageView("/custom-page");
+ // | }
+ // | });
+ // | });
+
+ this.trackPageView();
+ },
+
+ trackPageView: function(/* string */url){
+ // summary: A public API attached to this widget instance, allowing you
+ // Ajax-like notification of updates.
+ //
+ // url: String
+ // A location to tell the tracker to track, eg: "/my-ajaxy-endpoint"
+ //
+ // example:
+ // Track clicks from a container of anchors and populate a `ContentPane`
+ // | // 'tracker' is our `Urchin` instance, pane is the `ContentPane` ref.
+ // | dojo.connect(container, "onclick", function(e){
+ // | var ref = dojo.attr(e.target, "href");
+ // | tracker.trackPageView(ref);
+ // | pane.attr("href", ref);
+ // | });
+
+ this.tracker._trackPageview.apply(this, arguments);
+ }
+
+});
+
+}
diff --git a/js/dojo-1.6/dojox/analytics/Urchin.xd.js b/js/dojo-1.6/dojox/analytics/Urchin.xd.js new file mode 100644 index 0000000..801b778 --- /dev/null +++ b/js/dojo-1.6/dojox/analytics/Urchin.xd.js @@ -0,0 +1,145 @@ +/*
+ Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved.
+ Available via Academic Free License >= 2.1 OR the modified BSD license.
+ see: http://dojotoolkit.org/license for details
+*/
+
+
+dojo._xdResourceLoaded(function(dojo, dijit, dojox){
+return {depends: [["provide", "dojox.analytics.Urchin"]],
+defineResource: function(dojo, dijit, dojox){if(!dojo._hasResource["dojox.analytics.Urchin"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
+dojo._hasResource["dojox.analytics.Urchin"] = true;
+dojo.provide("dojox.analytics.Urchin");
+
+/*=====
+dojo.mixin(djConfig,{
+ // urchin: String
+ // Used by `dojox.analytics.Urchin` as the default UA-123456-7 account
+ // number used when being created. Alternately, you can pass an acct:""
+ // parameter to the constructor a la: new dojox.analytics.Urchin({ acct:"UA-123456-7" });
+ urchin: ""
+});
+=====*/
+
+dojo.declare("dojox.analytics.Urchin", null, {
+ // summary: A Google-analytics helper, for post-onLoad inclusion of the tracker, and
+ // dynamic tracking during long-lived page cycles.
+ //
+ // description:
+ // A small class object will allows for lazy-loading the Google Analytics API
+ // at any point during a page lifecycle. Most commonly, Google-Analytics is loaded
+ // via a synchronous script tag in the body, which causes `dojo.addOnLoad` to
+ // stall until the external API has been completely loaded. The Urchin helper
+ // will load the API on the fly, and provide a convenient API to use, wrapping
+ // Analytics for Ajaxy or single page applications.
+ //
+ // The class can be instantiated two ways: Programatically, by passing an
+ // `acct:` parameter, or via Markup / dojoType and defining a djConfig
+ // parameter `urchin:`
+ //
+ // IMPORTANT:
+ // This module will not work simultaneously with the core dojox.analytics
+ // package. If you need the ability to run Google Analytics AND your own local
+ // analytics system, you MUST include dojox.analytics._base BEFORE dojox.analytics.Urchin
+ //
+ // example:
+ // | // create the tracker programatically:
+ // | var tracker = new dojox.analytics.Urchin({ acct:"UA-123456-7" });
+ //
+ // example:
+ // | // define the urchin djConfig option:
+ // | var djConfig = { urchin: "UA-123456-7" };
+ // |
+ // | // and in markup:
+ // | <div dojoType="dojox.analytics.Urchin"></div>
+ // | // or code:
+ // | new dojox.analytics.Urchin();
+ //
+ // example:
+ // | // create and define all analytics with one tag.
+ // | <div dojoType="dojox.analytics.Urchin" acct="UA-12345-67"></div>
+ //
+ // acct: String
+ // your GA urchin tracker account number. Overrides `djConfig.urchin`
+ acct: "",
+
+ constructor: function(args){
+ // summary:
+ // Initialize this Urchin instance. Immediately starts the load
+ // sequence, so defer construction until (ideally) after onLoad and
+ // potentially widget parsing.
+ this.tracker = null;
+ dojo.mixin(this, args);
+ this.acct = this.acct || dojo.config.urchin;
+
+ var re = /loaded|complete/,
+ gaHost = ("https:" == dojo.doc.location.protocol) ? "https://ssl." : "http://www.",
+ h = dojo.doc.getElementsByTagName("head")[0],
+ n = dojo.create('script', {
+ src: gaHost + "google-analytics.com/ga.js"
+ }, h);
+
+ n.onload = n.onreadystatechange = dojo.hitch(this, function(e){
+ if(e && e.type == "load" || re.test(n.readyState)){
+ n.onload = n.onreadystatechange = null;
+ this._gotGA();
+ h.removeChild(n);
+ }
+ });
+
+ },
+
+ _gotGA: function(){
+ // summary: initialize the tracker
+ this.tracker = _gat._getTracker(this.acct);
+ this.GAonLoad.apply(this, arguments);
+ },
+
+ GAonLoad: function(){
+ // summary:
+ // Stub function to fire when urchin is complete
+ // description:
+ // This function is executed when the tracker variable is
+ // complete and initialized. The initial trackPageView (with
+ // no arguments) is called here as well, so remeber to call
+ // manually if overloading this method.
+ //
+ // example:
+ // Create an Urchin tracker that will track a specific page on init
+ // after page load (or parsing, if parseOnLoad is true)
+ // | dojo.addOnLoad(function(){
+ // | new dojox.ananlytics.Urchin({
+ // | acct:"UA-12345-67",
+ // | GAonLoad: function(){
+ // | this.trackPageView("/custom-page");
+ // | }
+ // | });
+ // | });
+
+ this.trackPageView();
+ },
+
+ trackPageView: function(/* string */url){
+ // summary: A public API attached to this widget instance, allowing you
+ // Ajax-like notification of updates.
+ //
+ // url: String
+ // A location to tell the tracker to track, eg: "/my-ajaxy-endpoint"
+ //
+ // example:
+ // Track clicks from a container of anchors and populate a `ContentPane`
+ // | // 'tracker' is our `Urchin` instance, pane is the `ContentPane` ref.
+ // | dojo.connect(container, "onclick", function(e){
+ // | var ref = dojo.attr(e.target, "href");
+ // | tracker.trackPageView(ref);
+ // | pane.attr("href", ref);
+ // | });
+
+ this.tracker._trackPageview.apply(this, arguments);
+ }
+
+});
+
+}
+
+}};});
diff --git a/js/dojo-1.6/dojox/analytics/_base.js b/js/dojo-1.6/dojox/analytics/_base.js new file mode 100644 index 0000000..e41066f --- /dev/null +++ b/js/dojo-1.6/dojox/analytics/_base.js @@ -0,0 +1,143 @@ +/*
+ Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved.
+ Available via Academic Free License >= 2.1 OR the modified BSD license.
+ see: http://dojotoolkit.org/license for details
+*/
+
+
+if(!dojo._hasResource["dojox.analytics._base"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
+dojo._hasResource["dojox.analytics._base"] = true;
+dojo.provide("dojox.analytics._base");
+
+dojox.analytics = function(){
+ // summary: TODOC
+ // where we store data until we're ready to send it off.
+ //
+ //the data queue;
+ this._data = [];
+
+ //id of messages for this session/page
+ this._id = 1;
+
+ //some default values
+ this.sendInterval = dojo.config["sendInterval"] || 5000;
+ this.inTransitRetry = dojo.config["inTransitRetry"] || 200;
+ this.dataUrl = dojo.config["analyticsUrl"] || dojo.moduleUrl("dojox.analytics.logger", "dojoxAnalytics.php");
+ this.sendMethod = dojo.config["sendMethod"] || "xhrPost";
+ this.maxRequestSize = dojo.isIE ? 2000 : dojo.config["maxRequestSize"] || 4000;
+
+ //while we can go ahead and being logging as soon as this constructor is completed
+ //we're not going to schedule pushing data to the server until after the page
+ //has completed loading
+ dojo.addOnLoad(this, "schedulePusher");
+ dojo.addOnUnload(this, "pushData", true);
+};
+
+dojo.extend(dojox.analytics, {
+ schedulePusher: function(/* Int */interval){
+ // summary: Schedule the data pushing routines to happen in interval ms
+ setTimeout(dojo.hitch(this, "checkData"), interval || this.sendInterval);
+ },
+
+ addData: function(dataType, data){
+ // summary:
+ // add data to the queue. Will be pusshed to the server on the next
+ // data push
+
+ if(arguments.length > 2){
+ // FIXME: var c = dojo._toArray(arguments) ?
+ var c = [];
+ for(var i = 1; i < arguments.length; i++){
+ c.push(arguments[i]);
+ }
+ data = c;
+ }
+
+ this._data.push({ plugin: dataType, data: data });
+ },
+
+ checkData: function(){
+ // summary: TODOC?
+ if(this._inTransit){
+ this.schedulePusher(this.inTransitRetry);
+ return;
+ }
+
+ if(this.pushData()){ return; }
+ this.schedulePusher();
+ },
+
+ pushData: function(){
+ // summary:
+ // pushes data to the server if any exists. If a push is done, return
+ // the deferred after hooking up completion callbacks. If there is no data
+ // to be pushed, return false;
+ if(this._data.length){
+ //clear the queue
+ this._inTransit = this._data;
+ this._data = [];
+ var def;
+ switch(this.sendMethod){
+ case "script":
+ def = dojo.io.script.get({
+ url: this.getQueryPacket(),
+ preventCache: 1,
+ callbackParamName: "callback"
+ });
+ break;
+ case "xhrPost":
+ default:
+ def = dojo.xhrPost({
+ url:this.dataUrl,
+ content:{
+ id: this._id++,
+ data: dojo.toJson(this._inTransit)
+ }
+ });
+ break;
+ }
+ def.addCallback(this, "onPushComplete");
+ return def;
+ }
+ return false;
+ },
+
+ getQueryPacket: function(){
+ // summary: TODOC
+ while(true){
+ var content = {
+ id: this._id++,
+ data: dojo.toJson(this._inTransit)
+ };
+
+ //FIXME would like a much better way to get the query down to lenght
+ var query = this.dataUrl + '?' + dojo.objectToQuery(content);
+ if(query.length > this.maxRequestSize){
+ this._data.unshift(this._inTransit.pop());
+ this._split = 1;
+ }else{
+ return query;
+ }
+ }
+ },
+
+ onPushComplete: function(results){
+ // summary:
+ // If our data push was successfully, remove the _inTransit data and schedule the next
+ // parser run.
+ if(this._inTransit){
+ delete this._inTransit;
+ }
+
+ if(this._data.length > 0){
+ this.schedulePusher(this.inTransitRetry);
+ }else{
+ this.schedulePusher();
+ }
+ }
+});
+
+//create the analytics singleton
+dojox.analytics = new dojox.analytics();
+
+}
diff --git a/js/dojo-1.6/dojox/analytics/_base.xd.js b/js/dojo-1.6/dojox/analytics/_base.xd.js new file mode 100644 index 0000000..8a54a7c --- /dev/null +++ b/js/dojo-1.6/dojox/analytics/_base.xd.js @@ -0,0 +1,147 @@ +/*
+ Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved.
+ Available via Academic Free License >= 2.1 OR the modified BSD license.
+ see: http://dojotoolkit.org/license for details
+*/
+
+
+dojo._xdResourceLoaded(function(dojo, dijit, dojox){
+return {depends: [["provide", "dojox.analytics._base"]],
+defineResource: function(dojo, dijit, dojox){if(!dojo._hasResource["dojox.analytics._base"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
+dojo._hasResource["dojox.analytics._base"] = true;
+dojo.provide("dojox.analytics._base");
+
+dojox.analytics = function(){
+ // summary: TODOC
+ // where we store data until we're ready to send it off.
+ //
+ //the data queue;
+ this._data = [];
+
+ //id of messages for this session/page
+ this._id = 1;
+
+ //some default values
+ this.sendInterval = dojo.config["sendInterval"] || 5000;
+ this.inTransitRetry = dojo.config["inTransitRetry"] || 200;
+ this.dataUrl = dojo.config["analyticsUrl"] || dojo.moduleUrl("dojox.analytics.logger", "dojoxAnalytics.php");
+ this.sendMethod = dojo.config["sendMethod"] || "xhrPost";
+ this.maxRequestSize = dojo.isIE ? 2000 : dojo.config["maxRequestSize"] || 4000;
+
+ //while we can go ahead and being logging as soon as this constructor is completed
+ //we're not going to schedule pushing data to the server until after the page
+ //has completed loading
+ dojo.addOnLoad(this, "schedulePusher");
+ dojo.addOnUnload(this, "pushData", true);
+};
+
+dojo.extend(dojox.analytics, {
+ schedulePusher: function(/* Int */interval){
+ // summary: Schedule the data pushing routines to happen in interval ms
+ setTimeout(dojo.hitch(this, "checkData"), interval || this.sendInterval);
+ },
+
+ addData: function(dataType, data){
+ // summary:
+ // add data to the queue. Will be pusshed to the server on the next
+ // data push
+
+ if(arguments.length > 2){
+ // FIXME: var c = dojo._toArray(arguments) ?
+ var c = [];
+ for(var i = 1; i < arguments.length; i++){
+ c.push(arguments[i]);
+ }
+ data = c;
+ }
+
+ this._data.push({ plugin: dataType, data: data });
+ },
+
+ checkData: function(){
+ // summary: TODOC?
+ if(this._inTransit){
+ this.schedulePusher(this.inTransitRetry);
+ return;
+ }
+
+ if(this.pushData()){ return; }
+ this.schedulePusher();
+ },
+
+ pushData: function(){
+ // summary:
+ // pushes data to the server if any exists. If a push is done, return
+ // the deferred after hooking up completion callbacks. If there is no data
+ // to be pushed, return false;
+ if(this._data.length){
+ //clear the queue
+ this._inTransit = this._data;
+ this._data = [];
+ var def;
+ switch(this.sendMethod){
+ case "script":
+ def = dojo.io.script.get({
+ url: this.getQueryPacket(),
+ preventCache: 1,
+ callbackParamName: "callback"
+ });
+ break;
+ case "xhrPost":
+ default:
+ def = dojo.xhrPost({
+ url:this.dataUrl,
+ content:{
+ id: this._id++,
+ data: dojo.toJson(this._inTransit)
+ }
+ });
+ break;
+ }
+ def.addCallback(this, "onPushComplete");
+ return def;
+ }
+ return false;
+ },
+
+ getQueryPacket: function(){
+ // summary: TODOC
+ while(true){
+ var content = {
+ id: this._id++,
+ data: dojo.toJson(this._inTransit)
+ };
+
+ //FIXME would like a much better way to get the query down to lenght
+ var query = this.dataUrl + '?' + dojo.objectToQuery(content);
+ if(query.length > this.maxRequestSize){
+ this._data.unshift(this._inTransit.pop());
+ this._split = 1;
+ }else{
+ return query;
+ }
+ }
+ },
+
+ onPushComplete: function(results){
+ // summary:
+ // If our data push was successfully, remove the _inTransit data and schedule the next
+ // parser run.
+ if(this._inTransit){
+ delete this._inTransit;
+ }
+
+ if(this._data.length > 0){
+ this.schedulePusher(this.inTransitRetry);
+ }else{
+ this.schedulePusher();
+ }
+ }
+});
+
+//create the analytics singleton
+dojox.analytics = new dojox.analytics();
+
+}
+
+}};});
diff --git a/js/dojo-1.6/dojox/analytics/plugins/consoleMessages.js b/js/dojo-1.6/dojox/analytics/plugins/consoleMessages.js new file mode 100644 index 0000000..80c91dd --- /dev/null +++ b/js/dojo-1.6/dojox/analytics/plugins/consoleMessages.js @@ -0,0 +1,32 @@ +/*
+ Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved.
+ Available via Academic Free License >= 2.1 OR the modified BSD license.
+ see: http://dojotoolkit.org/license for details
+*/
+
+
+if(!dojo._hasResource["dojox.analytics.plugins.consoleMessages"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
+dojo._hasResource["dojox.analytics.plugins.consoleMessages"] = true;
+dojo.require("dojox.analytics._base");
+dojo.provide("dojox.analytics.plugins.consoleMessages");
+
+dojox.analytics.plugins.consoleMessages = new (function(){
+ // summary:
+ // plugin to have analyitcs return the base info dojo collects
+ this.addData = dojo.hitch(dojox.analytics, "addData", "consoleMessages");
+
+ var lvls = dojo.config["consoleLogFuncs"] || ["error", "warn", "info", "rlog"];
+ if(!console){
+ console = {};
+ }
+
+ for(var i=0; i < lvls.length; i++){
+ if(console[lvls[i]]){
+ dojo.connect(console, lvls[i], dojo.hitch(this, "addData", lvls[i]));
+ }else{
+ console[lvls[i]] = dojo.hitch(this, "addData", lvls[i]);
+ }
+ }
+})();
+
+}
diff --git a/js/dojo-1.6/dojox/analytics/plugins/consoleMessages.xd.js b/js/dojo-1.6/dojox/analytics/plugins/consoleMessages.xd.js new file mode 100644 index 0000000..dd2d820 --- /dev/null +++ b/js/dojo-1.6/dojox/analytics/plugins/consoleMessages.xd.js @@ -0,0 +1,37 @@ +/*
+ Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved.
+ Available via Academic Free License >= 2.1 OR the modified BSD license.
+ see: http://dojotoolkit.org/license for details
+*/
+
+
+dojo._xdResourceLoaded(function(dojo, dijit, dojox){
+return {depends: [["require", "dojox.analytics._base"],
+["provide", "dojox.analytics.plugins.consoleMessages"]],
+defineResource: function(dojo, dijit, dojox){if(!dojo._hasResource["dojox.analytics.plugins.consoleMessages"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
+dojo._hasResource["dojox.analytics.plugins.consoleMessages"] = true;
+dojo.require("dojox.analytics._base");
+dojo.provide("dojox.analytics.plugins.consoleMessages");
+
+dojox.analytics.plugins.consoleMessages = new (function(){
+ // summary:
+ // plugin to have analyitcs return the base info dojo collects
+ this.addData = dojo.hitch(dojox.analytics, "addData", "consoleMessages");
+
+ var lvls = dojo.config["consoleLogFuncs"] || ["error", "warn", "info", "rlog"];
+ if(!console){
+ console = {};
+ }
+
+ for(var i=0; i < lvls.length; i++){
+ if(console[lvls[i]]){
+ dojo.connect(console, lvls[i], dojo.hitch(this, "addData", lvls[i]));
+ }else{
+ console[lvls[i]] = dojo.hitch(this, "addData", lvls[i]);
+ }
+ }
+})();
+
+}
+
+}};});
diff --git a/js/dojo-1.6/dojox/analytics/plugins/dojo.js b/js/dojo-1.6/dojox/analytics/plugins/dojo.js new file mode 100644 index 0000000..a7b24ff --- /dev/null +++ b/js/dojo-1.6/dojox/analytics/plugins/dojo.js @@ -0,0 +1,23 @@ +if(!dojo._hasResource["dojox.analytics.plugins.dojo"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
+dojo._hasResource["dojox.analytics.plugins.dojo"] = true;
+dojo.require("dojox.analytics._base");
+dojo.provide("dojox.analytics.plugins.dojo");
+
+dojox.analytics.plugins.dojo = new (function(){
+ // summary:
+ // plugin to have analyitcs return the base info dojo collects
+ this.addData = dojo.hitch(dojox.analytics, "addData", "dojo");
+ dojo.addOnLoad(dojo.hitch(this, function(){
+ var data = {};
+ for(var i in dojo){
+ if ((i=="version") || ((!dojo.isObject(dojo[i]))&&(i[0]!="_"))){
+ data[i]=dojo[i];
+ }
+ }
+
+ if (dojo.config){data.djConfig=dojo.config}
+ this.addData(data);
+ }));
+})();
+
+}
diff --git a/js/dojo-1.6/dojox/analytics/plugins/idle.js b/js/dojo-1.6/dojox/analytics/plugins/idle.js new file mode 100644 index 0000000..201a3b3 --- /dev/null +++ b/js/dojo-1.6/dojox/analytics/plugins/idle.js @@ -0,0 +1,42 @@ +/*
+ Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved.
+ Available via Academic Free License >= 2.1 OR the modified BSD license.
+ see: http://dojotoolkit.org/license for details
+*/
+
+
+if(!dojo._hasResource["dojox.analytics.plugins.idle"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
+dojo._hasResource["dojox.analytics.plugins.idle"] = true;
+dojo.require("dojox.analytics._base");
+dojo.provide("dojox.analytics.plugins.idle");
+
+// window startup data
+dojox.analytics.plugins.idle = new (function(){
+ this.addData = dojo.hitch(dojox.analytics, "addData", "idle");
+ this.idleTime=dojo.config["idleTime"] || 60000;
+ this.idle=true;
+
+ this.setIdle = function(){
+ this.addData("isIdle");
+ this.idle=true;
+
+ }
+
+ dojo.addOnLoad(dojo.hitch(this, function(){
+ var idleResets=["onmousemove","onkeydown","onclick","onscroll"];
+ for (var i=0;i<idleResets.length;i++){
+ dojo.connect(dojo.doc,idleResets[i],this, function(e){
+ if (this.idle){
+ this.idle=false;
+ this.addData("isActive");
+ this.idleTimer=setTimeout(dojo.hitch(this,"setIdle"), this.idleTime);
+ }else{
+ clearTimeout(this.idleTimer);
+ this.idleTimer=setTimeout(dojo.hitch(this,"setIdle"), this.idleTime);
+ }
+ });
+ }
+ }));
+})();
+
+}
diff --git a/js/dojo-1.6/dojox/analytics/plugins/idle.xd.js b/js/dojo-1.6/dojox/analytics/plugins/idle.xd.js new file mode 100644 index 0000000..67821c0 --- /dev/null +++ b/js/dojo-1.6/dojox/analytics/plugins/idle.xd.js @@ -0,0 +1,47 @@ +/*
+ Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved.
+ Available via Academic Free License >= 2.1 OR the modified BSD license.
+ see: http://dojotoolkit.org/license for details
+*/
+
+
+dojo._xdResourceLoaded(function(dojo, dijit, dojox){
+return {depends: [["require", "dojox.analytics._base"],
+["provide", "dojox.analytics.plugins.idle"]],
+defineResource: function(dojo, dijit, dojox){if(!dojo._hasResource["dojox.analytics.plugins.idle"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
+dojo._hasResource["dojox.analytics.plugins.idle"] = true;
+dojo.require("dojox.analytics._base");
+dojo.provide("dojox.analytics.plugins.idle");
+
+// window startup data
+dojox.analytics.plugins.idle = new (function(){
+ this.addData = dojo.hitch(dojox.analytics, "addData", "idle");
+ this.idleTime=dojo.config["idleTime"] || 60000;
+ this.idle=true;
+
+ this.setIdle = function(){
+ this.addData("isIdle");
+ this.idle=true;
+
+ }
+
+ dojo.addOnLoad(dojo.hitch(this, function(){
+ var idleResets=["onmousemove","onkeydown","onclick","onscroll"];
+ for (var i=0;i<idleResets.length;i++){
+ dojo.connect(dojo.doc,idleResets[i],this, function(e){
+ if (this.idle){
+ this.idle=false;
+ this.addData("isActive");
+ this.idleTimer=setTimeout(dojo.hitch(this,"setIdle"), this.idleTime);
+ }else{
+ clearTimeout(this.idleTimer);
+ this.idleTimer=setTimeout(dojo.hitch(this,"setIdle"), this.idleTime);
+ }
+ });
+ }
+ }));
+})();
+
+}
+
+}};});
diff --git a/js/dojo-1.6/dojox/analytics/plugins/mouseClick.js b/js/dojo-1.6/dojox/analytics/plugins/mouseClick.js new file mode 100644 index 0000000..7a309a0 --- /dev/null +++ b/js/dojo-1.6/dojox/analytics/plugins/mouseClick.js @@ -0,0 +1,57 @@ +/*
+ Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved.
+ Available via Academic Free License >= 2.1 OR the modified BSD license.
+ see: http://dojotoolkit.org/license for details
+*/
+
+
+if(!dojo._hasResource["dojox.analytics.plugins.mouseClick"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
+dojo._hasResource["dojox.analytics.plugins.mouseClick"] = true;
+dojo.require("dojox.analytics._base");
+dojo.provide("dojox.analytics.plugins.mouseClick");
+
+// window startup data
+dojox.analytics.plugins.mouseClick = new (function(){
+ this.addData = dojo.hitch(dojox.analytics, "addData", "mouseClick");
+
+ this.onClick=function(e){
+ this.addData(this.trimEvent(e));
+ }
+ dojo.connect(dojo.doc, "onclick", this, "onClick");
+
+ this.trimEvent=function(e){
+ var t = {};
+ for (var i in e){
+ switch(i){
+ case "target":
+ case "originalTarget":
+ case "explicitOriginalTarget":
+ var props=["id","className","nodeName", "localName","href", "spellcheck", "lang"];
+ t[i]={};
+ for(var j=0;j<props.length;j++){
+ if(e[i][props[j]]){
+ if (props[j]=="text" || props[j]=="textContent"){
+ if ((e[i]["localName"]!="HTML")&&(e[i]["localName"]!="BODY")){
+ t[i][props[j]]=e[i][props[j]].substr(0,50);
+ }
+ }else{
+ t[i][props[j]]=e[i][props[j]];
+ }
+ }
+ }
+ break;
+ case "clientX":
+ case "clientY":
+ case "pageX":
+ case "pageY":
+ case "screenX":
+ case "screenY":
+ t[i]=e[i];
+ break;
+ }
+ }
+ return t;
+ }
+})();
+
+}
diff --git a/js/dojo-1.6/dojox/analytics/plugins/mouseClick.xd.js b/js/dojo-1.6/dojox/analytics/plugins/mouseClick.xd.js new file mode 100644 index 0000000..09a31b8 --- /dev/null +++ b/js/dojo-1.6/dojox/analytics/plugins/mouseClick.xd.js @@ -0,0 +1,62 @@ +/*
+ Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved.
+ Available via Academic Free License >= 2.1 OR the modified BSD license.
+ see: http://dojotoolkit.org/license for details
+*/
+
+
+dojo._xdResourceLoaded(function(dojo, dijit, dojox){
+return {depends: [["require", "dojox.analytics._base"],
+["provide", "dojox.analytics.plugins.mouseClick"]],
+defineResource: function(dojo, dijit, dojox){if(!dojo._hasResource["dojox.analytics.plugins.mouseClick"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
+dojo._hasResource["dojox.analytics.plugins.mouseClick"] = true;
+dojo.require("dojox.analytics._base");
+dojo.provide("dojox.analytics.plugins.mouseClick");
+
+// window startup data
+dojox.analytics.plugins.mouseClick = new (function(){
+ this.addData = dojo.hitch(dojox.analytics, "addData", "mouseClick");
+
+ this.onClick=function(e){
+ this.addData(this.trimEvent(e));
+ }
+ dojo.connect(dojo.doc, "onclick", this, "onClick");
+
+ this.trimEvent=function(e){
+ var t = {};
+ for (var i in e){
+ switch(i){
+ case "target":
+ case "originalTarget":
+ case "explicitOriginalTarget":
+ var props=["id","className","nodeName", "localName","href", "spellcheck", "lang"];
+ t[i]={};
+ for(var j=0;j<props.length;j++){
+ if(e[i][props[j]]){
+ if (props[j]=="text" || props[j]=="textContent"){
+ if ((e[i]["localName"]!="HTML")&&(e[i]["localName"]!="BODY")){
+ t[i][props[j]]=e[i][props[j]].substr(0,50);
+ }
+ }else{
+ t[i][props[j]]=e[i][props[j]];
+ }
+ }
+ }
+ break;
+ case "clientX":
+ case "clientY":
+ case "pageX":
+ case "pageY":
+ case "screenX":
+ case "screenY":
+ t[i]=e[i];
+ break;
+ }
+ }
+ return t;
+ }
+})();
+
+}
+
+}};});
diff --git a/js/dojo-1.6/dojox/analytics/plugins/mouseOver.js b/js/dojo-1.6/dojox/analytics/plugins/mouseOver.js new file mode 100644 index 0000000..6084316 --- /dev/null +++ b/js/dojo-1.6/dojox/analytics/plugins/mouseOver.js @@ -0,0 +1,98 @@ +/*
+ Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved.
+ Available via Academic Free License >= 2.1 OR the modified BSD license.
+ see: http://dojotoolkit.org/license for details
+*/
+
+
+if(!dojo._hasResource["dojox.analytics.plugins.mouseOver"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
+dojo._hasResource["dojox.analytics.plugins.mouseOver"] = true;
+dojo.require("dojox.analytics._base");
+dojo.provide("dojox.analytics.plugins.mouseOver");
+
+dojox.analytics.plugins.mouseOver = new (function(){
+ this.watchMouse = dojo.config["watchMouseOver"] || true;
+ this.mouseSampleDelay = dojo.config["sampleDelay"] || 2500;
+ this.addData = dojo.hitch(dojox.analytics, "addData", "mouseOver");
+ this.targetProps = dojo.config["targetProps"] || ["id","className","localName","href", "spellcheck", "lang", "textContent", "value" ];
+
+ this.toggleWatchMouse=function(){
+ if (this._watchingMouse){
+ dojo.disconnect(this._watchingMouse);
+ delete this._watchingMouse;
+ return;
+ }
+ dojo.connect(dojo.doc, "onmousemove", this, "sampleMouse");
+ }
+
+ if (this.watchMouse){
+ dojo.connect(dojo.doc, "onmouseover", this, "toggleWatchMouse");
+ dojo.connect(dojo.doc, "onmouseout", this, "toggleWatchMouse");
+ }
+
+ this.sampleMouse=function(e){
+ if (!this._rateLimited){
+ this.addData("sample",this.trimMouseEvent(e));
+ this._rateLimited=true;
+ setTimeout(dojo.hitch(this, function(){
+ if (this._rateLimited){
+ //this.addData("sample", this.trimMouseEvent(this._lastMouseEvent));
+ this.trimMouseEvent(this._lastMouseEvent);
+ delete this._lastMouseEvent;
+ delete this._rateLimited;
+ }
+ }), this.mouseSampleDelay);
+ }
+ this._lastMouseEvent = e;
+ return e;
+ }
+
+ this.trimMouseEvent=function(e){
+ var t = {};
+ for (var i in e){
+ switch(i){
+ //case "currentTarget":
+ case "target":
+ //case "originalTarget":
+ //case "explicitOriginalTarget":
+ var props=this.targetProps;
+ t[i]={};
+ //console.log(e, i, e[i]);
+ for(var j=0;j<props.length;j++){
+ if(dojo.isObject(e[i]) && props[j] in e[i]){
+
+ if (props[j]=="text" || props[j]=="textContent"){
+ if (e[i]["localName"] && (e[i]["localName"]!="HTML")&&(e[i]["localName"]!="BODY")){
+ t[i][props[j]]=e[i][props[j]].substr(0,50);
+ }
+ }else{
+ t[i][props[j]]=e[i][props[j]];
+ }
+ }
+ }
+ break;
+ //case "clientX":
+ //case "clientY":
+ //case "pageX":
+ //case "pageY":
+ //case "screenX":
+ //case "screenY":
+ case "x":
+ case "y":
+ if (e[i]) {
+ //console.log("Attempting: " + i);
+ var val = e[i];
+ //console.log("val: " + val); console.log(i + "e of i: " + val);
+ t[i]=val + '';
+ }
+ break;
+ default:
+ //console.log("Skipping: ", i);
+ break;
+ }
+ }
+ return t;
+ }
+})();
+
+}
diff --git a/js/dojo-1.6/dojox/analytics/plugins/mouseOver.xd.js b/js/dojo-1.6/dojox/analytics/plugins/mouseOver.xd.js new file mode 100644 index 0000000..c3b1fd9 --- /dev/null +++ b/js/dojo-1.6/dojox/analytics/plugins/mouseOver.xd.js @@ -0,0 +1,103 @@ +/*
+ Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved.
+ Available via Academic Free License >= 2.1 OR the modified BSD license.
+ see: http://dojotoolkit.org/license for details
+*/
+
+
+dojo._xdResourceLoaded(function(dojo, dijit, dojox){
+return {depends: [["require", "dojox.analytics._base"],
+["provide", "dojox.analytics.plugins.mouseOver"]],
+defineResource: function(dojo, dijit, dojox){if(!dojo._hasResource["dojox.analytics.plugins.mouseOver"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
+dojo._hasResource["dojox.analytics.plugins.mouseOver"] = true;
+dojo.require("dojox.analytics._base");
+dojo.provide("dojox.analytics.plugins.mouseOver");
+
+dojox.analytics.plugins.mouseOver = new (function(){
+ this.watchMouse = dojo.config["watchMouseOver"] || true;
+ this.mouseSampleDelay = dojo.config["sampleDelay"] || 2500;
+ this.addData = dojo.hitch(dojox.analytics, "addData", "mouseOver");
+ this.targetProps = dojo.config["targetProps"] || ["id","className","localName","href", "spellcheck", "lang", "textContent", "value" ];
+
+ this.toggleWatchMouse=function(){
+ if (this._watchingMouse){
+ dojo.disconnect(this._watchingMouse);
+ delete this._watchingMouse;
+ return;
+ }
+ dojo.connect(dojo.doc, "onmousemove", this, "sampleMouse");
+ }
+
+ if (this.watchMouse){
+ dojo.connect(dojo.doc, "onmouseover", this, "toggleWatchMouse");
+ dojo.connect(dojo.doc, "onmouseout", this, "toggleWatchMouse");
+ }
+
+ this.sampleMouse=function(e){
+ if (!this._rateLimited){
+ this.addData("sample",this.trimMouseEvent(e));
+ this._rateLimited=true;
+ setTimeout(dojo.hitch(this, function(){
+ if (this._rateLimited){
+ //this.addData("sample", this.trimMouseEvent(this._lastMouseEvent));
+ this.trimMouseEvent(this._lastMouseEvent);
+ delete this._lastMouseEvent;
+ delete this._rateLimited;
+ }
+ }), this.mouseSampleDelay);
+ }
+ this._lastMouseEvent = e;
+ return e;
+ }
+
+ this.trimMouseEvent=function(e){
+ var t = {};
+ for (var i in e){
+ switch(i){
+ //case "currentTarget":
+ case "target":
+ //case "originalTarget":
+ //case "explicitOriginalTarget":
+ var props=this.targetProps;
+ t[i]={};
+ //console.log(e, i, e[i]);
+ for(var j=0;j<props.length;j++){
+ if(dojo.isObject(e[i]) && props[j] in e[i]){
+
+ if (props[j]=="text" || props[j]=="textContent"){
+ if (e[i]["localName"] && (e[i]["localName"]!="HTML")&&(e[i]["localName"]!="BODY")){
+ t[i][props[j]]=e[i][props[j]].substr(0,50);
+ }
+ }else{
+ t[i][props[j]]=e[i][props[j]];
+ }
+ }
+ }
+ break;
+ //case "clientX":
+ //case "clientY":
+ //case "pageX":
+ //case "pageY":
+ //case "screenX":
+ //case "screenY":
+ case "x":
+ case "y":
+ if (e[i]) {
+ //console.log("Attempting: " + i);
+ var val = e[i];
+ //console.log("val: " + val); console.log(i + "e of i: " + val);
+ t[i]=val + '';
+ }
+ break;
+ default:
+ //console.log("Skipping: ", i);
+ break;
+ }
+ }
+ return t;
+ }
+})();
+
+}
+
+}};});
diff --git a/js/dojo-1.6/dojox/analytics/plugins/window.js b/js/dojo-1.6/dojox/analytics/plugins/window.js new file mode 100644 index 0000000..9136fc7 --- /dev/null +++ b/js/dojo-1.6/dojox/analytics/plugins/window.js @@ -0,0 +1,42 @@ +/*
+ Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved.
+ Available via Academic Free License >= 2.1 OR the modified BSD license.
+ see: http://dojotoolkit.org/license for details
+*/
+
+
+if(!dojo._hasResource["dojox.analytics.plugins.window"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
+dojo._hasResource["dojox.analytics.plugins.window"] = true;
+dojo.require("dojox.analytics._base");
+dojo.provide("dojox.analytics.plugins.window");
+
+// window startup data
+dojox.analytics.plugins.window = new (function(){
+ this.addData = dojo.hitch(dojox.analytics, "addData", "window");
+ this.windowConnects = dojo.config["windowConnects"] || ["open", "onerror"];
+
+ for(var i=0; i<this.windowConnects.length;i++){
+ dojo.connect(window, this.windowConnects[i], dojo.hitch(this, "addData", this.windowConnects[i]));
+ }
+
+ dojo.addOnLoad(dojo.hitch(this, function(){
+ var data = {};
+ for(var i in window){
+ if (dojo.isObject(window[i])){
+ switch(i){
+ case "location":
+ case "console":
+ data[i]=window[i];
+ break;
+ default:
+ break;
+ }
+ }else{
+ data[i]=window[i];
+ }
+ }
+ this.addData(data);
+ }));
+})();
+
+}
diff --git a/js/dojo-1.6/dojox/analytics/plugins/window.xd.js b/js/dojo-1.6/dojox/analytics/plugins/window.xd.js new file mode 100644 index 0000000..837fac7 --- /dev/null +++ b/js/dojo-1.6/dojox/analytics/plugins/window.xd.js @@ -0,0 +1,47 @@ +/*
+ Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved.
+ Available via Academic Free License >= 2.1 OR the modified BSD license.
+ see: http://dojotoolkit.org/license for details
+*/
+
+
+dojo._xdResourceLoaded(function(dojo, dijit, dojox){
+return {depends: [["require", "dojox.analytics._base"],
+["provide", "dojox.analytics.plugins.window"]],
+defineResource: function(dojo, dijit, dojox){if(!dojo._hasResource["dojox.analytics.plugins.window"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
+dojo._hasResource["dojox.analytics.plugins.window"] = true;
+dojo.require("dojox.analytics._base");
+dojo.provide("dojox.analytics.plugins.window");
+
+// window startup data
+dojox.analytics.plugins.window = new (function(){
+ this.addData = dojo.hitch(dojox.analytics, "addData", "window");
+ this.windowConnects = dojo.config["windowConnects"] || ["open", "onerror"];
+
+ for(var i=0; i<this.windowConnects.length;i++){
+ dojo.connect(window, this.windowConnects[i], dojo.hitch(this, "addData", this.windowConnects[i]));
+ }
+
+ dojo.addOnLoad(dojo.hitch(this, function(){
+ var data = {};
+ for(var i in window){
+ if (dojo.isObject(window[i])){
+ switch(i){
+ case "location":
+ case "console":
+ data[i]=window[i];
+ break;
+ default:
+ break;
+ }
+ }else{
+ data[i]=window[i];
+ }
+ }
+ this.addData(data);
+ }));
+})();
+
+}
+
+}};});
diff --git a/js/dojo-1.6/dojox/analytics/profiles/analytics.profile.js b/js/dojo-1.6/dojox/analytics/profiles/analytics.profile.js new file mode 100644 index 0000000..71878b0 --- /dev/null +++ b/js/dojo-1.6/dojox/analytics/profiles/analytics.profile.js @@ -0,0 +1,28 @@ +/*
+ Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved.
+ Available via Academic Free License >= 2.1 OR the modified BSD license.
+ see: http://dojotoolkit.org/license for details
+*/
+
+
+dependencies = {
+ layers: [
+ {
+ name: "../dojox/analytics.js",
+ dependencies: [
+ "dojox.analytics",
+ "dojox.analytics.plugins.dojo",
+ "dojox.analytics.plugins.window",
+ "dojox.analytics.plugins.consoleMessages",
+ "dojox.analytics.plugins.mouseOver",
+ "dojox.analytics.plugins.mouseClick",
+ "dojox.analytics.plugins.idle"
+ ]
+ }
+ ],
+
+ prefixes: [
+ [ "dojox", "../dojox" ],
+ [ "dijit", "../dijit" ]
+ ]
+}
diff --git a/js/dojo-1.6/dojox/analytics/profiles/analytics.profile.xd.js b/js/dojo-1.6/dojox/analytics/profiles/analytics.profile.xd.js new file mode 100644 index 0000000..269d64b --- /dev/null +++ b/js/dojo-1.6/dojox/analytics/profiles/analytics.profile.xd.js @@ -0,0 +1,32 @@ +/*
+ Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved.
+ Available via Academic Free License >= 2.1 OR the modified BSD license.
+ see: http://dojotoolkit.org/license for details
+*/
+
+
+dojo._xdResourceLoaded(function(dojo, dijit, dojox){
+return {
+defineResource: function(dojo, dijit, dojox){dependencies = {
+ layers: [
+ {
+ name: "../dojox/analytics.js",
+ dependencies: [
+ "dojox.analytics",
+ "dojox.analytics.plugins.dojo",
+ "dojox.analytics.plugins.window",
+ "dojox.analytics.plugins.consoleMessages",
+ "dojox.analytics.plugins.mouseOver",
+ "dojox.analytics.plugins.mouseClick",
+ "dojox.analytics.plugins.idle"
+ ]
+ }
+ ],
+
+ prefixes: [
+ [ "dojox", "../dojox" ],
+ [ "dijit", "../dijit" ]
+ ]
+}
+
+}};});
diff --git a/js/dojo-1.6/dojox/analytics/profiles/analyticsInBase.profile.js b/js/dojo-1.6/dojox/analytics/profiles/analyticsInBase.profile.js new file mode 100644 index 0000000..0b35edd --- /dev/null +++ b/js/dojo-1.6/dojox/analytics/profiles/analyticsInBase.profile.js @@ -0,0 +1,29 @@ +/*
+ Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved.
+ Available via Academic Free License >= 2.1 OR the modified BSD license.
+ see: http://dojotoolkit.org/license for details
+*/
+
+
+dependencies = {
+ layers: [
+ {
+ //name: "../dojox/analytics.js",
+ name: "dojo.js",
+ dependencies: [
+ "dojox.analytics",
+ "dojox.analytics.plugins.dojo",
+ "dojox.analytics.plugins.window",
+ "dojox.analytics.plugins.consoleMessages",
+ "dojox.analytics.plugins.mouseOver",
+ "dojox.analytics.plugins.mouseClick",
+ "dojox.analytics.plugins.idle"
+ ]
+ }
+ ],
+
+ prefixes: [
+ [ "dojox", "../dojox" ],
+ [ "dijit", "../dijit" ]
+ ]
+}
diff --git a/js/dojo-1.6/dojox/analytics/profiles/analyticsInBase.profile.xd.js b/js/dojo-1.6/dojox/analytics/profiles/analyticsInBase.profile.xd.js new file mode 100644 index 0000000..7e4265c --- /dev/null +++ b/js/dojo-1.6/dojox/analytics/profiles/analyticsInBase.profile.xd.js @@ -0,0 +1,33 @@ +/*
+ Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved.
+ Available via Academic Free License >= 2.1 OR the modified BSD license.
+ see: http://dojotoolkit.org/license for details
+*/
+
+
+dojo._xdResourceLoaded(function(dojo, dijit, dojox){
+return {
+defineResource: function(dojo, dijit, dojox){dependencies = {
+ layers: [
+ {
+ //name: "../dojox/analytics.js",
+ name: "dojo.js",
+ dependencies: [
+ "dojox.analytics",
+ "dojox.analytics.plugins.dojo",
+ "dojox.analytics.plugins.window",
+ "dojox.analytics.plugins.consoleMessages",
+ "dojox.analytics.plugins.mouseOver",
+ "dojox.analytics.plugins.mouseClick",
+ "dojox.analytics.plugins.idle"
+ ]
+ }
+ ],
+
+ prefixes: [
+ [ "dojox", "../dojox" ],
+ [ "dijit", "../dijit" ]
+ ]
+}
+
+}};});
|
