aboutsummaryrefslogtreecommitdiff
path: root/includes/js/dojox/grid/tests/test_events.html
diff options
context:
space:
mode:
Diffstat (limited to 'includes/js/dojox/grid/tests/test_events.html')
-rw-r--r--includes/js/dojox/grid/tests/test_events.html174
1 files changed, 0 insertions, 174 deletions
diff --git a/includes/js/dojox/grid/tests/test_events.html b/includes/js/dojox/grid/tests/test_events.html
deleted file mode 100644
index 8ea61a4..0000000
--- a/includes/js/dojox/grid/tests/test_events.html
+++ /dev/null
@@ -1,174 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<head>
- <title>Test dojox.Grid Events</title>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8"></meta>
- <style type="text/css">
- @import "../_grid/Grid.css";
- body,td,th {
- font-family: Geneva, Arial, Helvetica, sans-serif;
- }
- #grid {
- border: 1px solid;
- border-top-color: #F6F4EB;
- border-right-color: #ACA899;
- border-bottom-color: #ACA899;
- border-left-color: #F6F4EB;
- }
- #grid {
- width: 50em;
- height: 20em;
- padding: 1px;
- overflow: hidden;
- font-size: small;
- }
- h3 {
- margin: 10px 0 2px 0;
- }
- .fade {
- /*background-image:url(images/fade.gif);*/
- }
- .no-fade {
- /*background-image: none;*/
- }
- #eventGrid {
- float: right;
- font-size: small;
- }
- </style>
- <script type="text/javascript" src="../../../dojo/dojo.js" djConfig="isDebug:false, parseOnLoad: true"></script>
- <script type="text/javascript">
- dojo.require("dojox.grid.Grid");
- dojo.require("dojo.parser");
- </script>
- <script type="text/javascript">
- // events to track
- var eventRows = [
- { name: 'onCellClick' },
- { name: 'onRowClick', properties: ['rowIndex'] },
- { name: 'onCellDblClick' },
- { name: 'onRowDblClick', properties: ['rowIndex'] },
- { name: 'onCellMouseOver' },
- { name: 'onCellMouseOut' },
- { name: 'onCellMouseDown' },
- { name: 'onRowMouseOver' },
- { name: 'onRowMouseOut' },
- { name: 'onRowMouseDown' },
- { name: 'onHeaderCellClick' },
- { name: 'onHeaderClick', properties: ['rowIndex'] },
- { name: 'onHeaderCellDblClick' },
- { name: 'onHeaderDblClick', properties: ['rowIndex'] },
- { name: 'onHeaderCellMouseOver' },
- { name: 'onHeaderCellMouseOut' },
- { name: 'onHeaderCellMouseDown' },
- { name: 'onHeaderMouseOver' },
- { name: 'onHeaderMouseOut' },
- { name: 'onKeyDown', properties: ['keyCode'] },
- { name: 'onCellContextMenu' },
- { name: 'onRowContextMenu', properties: ['rowIndex'] },
- { name: 'onHeaderCellContextMenu' },
- { name: 'onHeaderContextMenu', properties: ['rowIndex'] }
- ];
-
- getEventName = function(inRowIndex) {
- return eventRows[inRowIndex].name;
- };
-
- getEventData = function(inRowIndex) {
- var d = eventRows[inRowIndex].data;
- var r = [];
- if (d)
- for (var i in d)
- r.push(d[i]);
- else
- r.push('na')
- return r.join(', ');
- }
-
- // grid structure for event tracking grid.
- var eventView = {
- noscroll: true,
- cells: [[
- { name: 'Event', get: getEventName, width: 12 },
- { name: 'Data', get: getEventData, width: 10 }
- ]]
- }
- var eventLayout = [ eventView ];
-
- var fade = function(inNode) {
- if (!inNode || !inNode.style) return;
- var c = 150, step = 5, delay = 20;
- var animate = function() {
- c = Math.min(c + step, 255);
- inNode.style.backgroundColor = "rgb(" + c + ", " + c + ", 255)";
- if (c < 255) window.setTimeout(animate, delay);
- }
- animate();
- }
-
- // setup a fade on a row. Must do this way to avoid caching of fade gif
- updateRowFade = function(inRowIndex) {
- var n = eventGrid.views.views[0].getRowNode(inRowIndex);
- fade(n);
- }
-
- // store data about event. By default track event.rowIndex and event.cell.index, but eventRows can specify params, which are event properties to track.
- setEventData = function(inIndex, inEvent) {
- var eRow = eventRows[inIndex];
- eRow.data = {};
- var properties = eRow.properties;
- if (properties)
- for (var i=0, l=properties.length, p; (p=properties[i] || i < l); i++)
- eRow.data[p] = inEvent[p];
- else
- eRow.data = {
- row: (inEvent.rowIndex != undefined ? Number(inEvent.rowIndex) : 'na'),
- cell: (inEvent.cell && inEvent.cell.index != undefined ? inEvent.cell.index : 'na')
- }
- eventGrid.updateRow(inIndex);
- updateRowFade(inIndex);
- }
-
- // setup grid events for all events being tracked.
- setGridEvents = function() {
- var makeEvent = function(inIndex, inName) {
- return function(e) {
- setEventData(inIndex, e);
- dojox.VirtualGrid.prototype[inName].apply(this, arguments);
- }
- }
- for (var i=0, e; (e=eventRows[i]); i++)
- grid[e.name] = makeEvent(i, e.name);
- }
-
- // Grid structure
- var layout = [// array of view objects
- { type: 'dojox.GridRowView', width: '20px' },
- { noscroll: true, cells: [// array of rows, a row is an array of cells
- [{ name: "Alpha", value: '<input type="checkbox"></input>', rowSpan: 2, width: 6, styles: 'text-align:center;' }, { name: "Alpha2", value: "Alpha2" }],
- [{ name: "Alpha3", value: "Alpha3" }]
- ]},
- { cells: [
- [{ name: "Beta", value: 'simple'}, { name: "Beta2", value: "Beta2" }, { name: "Beta3", value: "Beta3" }, { name: "Beta4", value: "Beta4" }, { name: "Beta5", value: "Beta5" }],
- [{ name: "Summary", colSpan: 5, value: 'Summary' }]
- ]},
- { noscroll: true, cells: [
- [{ name: "Gamma", value: "Gamma" }, { name: "Gamma2", value: "<button>Radiate</button>", styles: 'text-align:center;' }]]
- }];
-
- dojo.addOnLoad(function() {
- window["grid"] = dijit.byId("grid");
- window["eventGrid"] = dijit.byId("eventGrid");
- grid.rows.defaultRowHeight = 4;
- setGridEvents();
- eventGrid.updateRowCount(eventRows.length);
- dojo.debug = console.log;
- });
- </script>
-</head>
-<body>
-<h3>dojox.Grid Event Tracking</h3>
-<div id="eventGrid" autoWidth="true" autoHeight="true" structure="eventLayout" dojoType="dojox.VirtualGrid"></div>
-<div id="grid" rowCount="100" dojoType="dojox.VirtualGrid"></div>
-</body>
-</html>