- From: Thomas Gambet via cvs-syncmail <cvsmail@w3.org>
- Date: Wed, 21 Oct 2009 15:06:30 +0000
- To: www-validator-cvs@w3.org
Update of /sources/public/2006/unicorn/WebContent/scripts
In directory hutz:/tmp/cvs-serv7317/WebContent/scripts
Modified Files:
w3c_unicorn_results.js
Log Message:
added fold/unfold functionality to multiple contexts
Index: w3c_unicorn_results.js
===================================================================
RCS file: /sources/public/2006/unicorn/WebContent/scripts/w3c_unicorn_results.js,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -d -r1.19 -r1.20
--- w3c_unicorn_results.js 20 Oct 2009 12:44:40 -0000 1.19
+++ w3c_unicorn_results.js 21 Oct 2009 15:06:28 -0000 1.20
@@ -3,16 +3,20 @@
start: function() {
+ W3C.cleanHash();
+
+ W3C.ContextsToShow = 7;
+
W3C.Observers = $$('.observer');
var slideDuration = 500;
var invalidObservers = $$('.observer.invalid');
var scroller = new Fx.Scroll(document);
+ var instantScroller = new Fx.Scroll(document, {'duration': 0});
$$('.section').each(function(section) {
var title = section.getElement('.title');
var block = section.getElement('.block');
- //var results = block.getElement('.results');
if (!section.hasClass('observer') || section.getElement('.section') != null) {
title.addClass('pointer');
@@ -36,7 +40,6 @@
if (section.hasClass('warnings'))
W3C.close(section, false);
else
- //if (section.hasClass('errors') || section.hasClass('infos'))
W3C.open(section, false);
});
@@ -95,8 +98,96 @@
wheelStops: true
});
- W3C.cleanHash();
W3C.parseHash();
+
+ var classes = $('observations').getProperty('class');
+
+ var re = new RegExp(/contextShow:'[^']*'/);
+ var m = re.exec(classes);
+ var s = "";
+ for (i = 0; i < m.length; i++) {
+ s = s + m[i];
+ }
+ var showString = s.replace('contextShow:', '').replace(/'/g, '');
+
+ var re = new RegExp(/contextHide:'[^']*'/);
+ var m = re.exec(classes);
+ var s = "";
+ for (i = 0; i < m.length; i++) {
+ s = s + m[i];
+ }
+ var hideString = s.replace('contextHide:', '').replace(/'/g, '');
+
+ $$('td.message').each(function (td) {
+ if (td.getProperty('rowspan') > W3C.ContextsToShow) {
+ var mainTr = td.getParent('tr');
+ var anchorTd = mainTr.getElement('td.anchor');
+ var nbContexts = td.getProperty('rowspan');
+ var i = 1;
+ var tr = mainTr;
+
+ var array = new Array();
+ var index = 0;
+
+ while (i <= nbContexts) {
+ if (i > W3C.ContextsToShow) {
+ tr.setStyle('display', 'none');
+ array[index] = tr;
+ index++;
+ }
+
+ if (i == nbContexts) {
+ var showTr = new Element('tr', {'class' : 'showContext'});
+ var showTd = new Element('td', {'colspan': '3'});
+ showTd.addClass('pointer');
+ showTd.setProperty('title', showString.replace(/%1/, array.length));
+ showTd.set('text', showString.replace(/%1/, array.length));
+
+ showTd.inject(showTr);
+ showTr.inject(tr, 'after');
+
+ showTr.addEvent('click', function(event) {
+
+ var isClosed = array.some(function (tr) {
+ if (tr.getStyle('display') == 'none') {
+ return true;
+ } else
+ return false;
+ });
+
+ if (isClosed) {
+ array.each(function (tr) {
+ tr.setStyle('display', '');
+ });
+ td.setProperty('rowspan', nbContexts + 1);
+ anchorTd.setProperty('rowspan', nbContexts + 1);
+ showTd.setProperty('title', hideString);
+ showTd.set('text', hideString);
+ instantScroller.toElement(mainTr);
+ } else {
+ array.each(function (tr) {
+ tr.setStyle('display', 'none');
+ });
+ td.setProperty('rowspan', W3C.ContextsToShow + 1);
+ anchorTd.setProperty('rowspan', W3C.ContextsToShow + 1);
+ showTd.setProperty('title', showString.replace(/%1/, array.length));
+ showTd.set('text', showString.replace(/%1/, array.length));
+ instantScroller.toElement(mainTr);
+ }
+
+ });
+
+ }
+
+ tr = tr.getNext('tr');
+ i++;
+ }
+
+ td.setProperty('rowspan', W3C.ContextsToShow + 1);
+ anchorTd.setProperty('rowspan', W3C.ContextsToShow + 1);
+ }
+ });
+
},
toggle: function(section) {
Received on Wednesday, 21 October 2009 15:06:32 UTC