- From: Thomas Gambet via cvs-syncmail <cvsmail@w3.org>
- Date: Tue, 15 Sep 2009 11:45:22 +0000
- To: www-validator-cvs@w3.org
Update of /sources/public/2006/unicorn/WebContent/scripts
In directory hutz:/tmp/cvs-serv14667/WebContent/scripts
Modified Files:
w3c_unicorn_results.js
Log Message:
script automatically opens the right section based on hash
Index: w3c_unicorn_results.js
===================================================================
RCS file: /sources/public/2006/unicorn/WebContent/scripts/w3c_unicorn_results.js,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- w3c_unicorn_results.js 15 Sep 2009 10:20:42 -0000 1.6
+++ w3c_unicorn_results.js 15 Sep 2009 11:45:20 -0000 1.7
@@ -1,3 +1,4 @@
+/* $Id$Id */
var W3C = {
start: function() {
@@ -40,10 +41,14 @@
W3C.open(observer, false);
if (observer.hasClass('valid') && invalidObservers.length > 0)
W3C.close(observer, false);
+ console.log(observer.getElement('a.anchor'));
observer.getElement('a.anchor').addEvent('click', function(event) {
- event.preventDefault();
+ //event.preventDefault();
W3C.open(observer, true);
- scroller.toElement(observer);
+ //scroller.toElement(observer);
+ /*(new Chain()).wait(slideDuration).chain(function() {
+ W3C.setHash(observer.getProperty('id'));
+ }).callChain();*/
});
if (observer.getElement('a.infos')) {
observer.getElement('a.infos').addEvent('click', function(event) {
@@ -79,6 +84,9 @@
links: '.smooth',
wheelStops: true
});
+
+ W3C.cleanHash();
+ W3C.parseHash();
},
toggle: function(section) {
@@ -138,6 +146,74 @@
W3C.open(section, withFx);
},
+ parseHash: function(){
+ var hash = window.location.hash;
+ if (hash == "") {
+ return;
+ }
+ var tab = hash.replace('#', '').split('_');
+ var observerId = tab[0];
+ var sectionId = tab[1];
+ var uriId = tab[2];
+ var messageId = tab[3];
+
+ var scroller = new Fx.Scroll(document, {duration: 0});
+
+ var observerIndex = W3C.Observers.getProperty('id').indexOf(observerId);
+ if (observerIndex == -1) {
+ W3C.setHash('');
+ return;
+ }
+ var observer = W3C.Observers[observerIndex];
+ W3C.closeAllObserversBut(observer, false);
+
+ if (!sectionId) {
+ scroller.toElement(observer);
+ return;
+ }
+ var sectionIndex = observer.getElements('.section').getProperty('id').indexOf(observerId + '_' + sectionId);
+ if (sectionIndex == -1) {
+ W3C.setHash(observerId);
+ return;
+ }
+ var section = observer.getElements('.section')[sectionIndex];
+ W3C.closeAllSectionsBut(observer, section, false);
+
+
+ if (!uriId) {
+ scroller.toElement(observer);
+ return;
+ }
+ var uriIndex = section.getElements('td.uri').getProperty('id').indexOf(observerId + '_' + sectionId + '_' + uriId);
+ if (uriIndex == -1) {
+ W3C.setHash(observerId + '_' + sectionId);
+ return;
+ }
+ var uriTd = section.getElements('td.uri')[uriIndex];
+
+ if (!messageId) {
+ scroller.toElement(uriTd);
+ return;
+ }
+
+ W3C.setHash(hash);
+
+ },
+
+ updateHash: function(){
+ var tab = W3C.Forms[W3C.SelectedTab].getProperty('id');
+ var task = '+task_' + W3C.TaskOptions[W3C.SelectedTask].getProperty('value');
+ var withOptions = W3C.WithOptions ? '+with_options' : '';
+
+ W3C.setHash(tab + task + withOptions);
+ },
+
+ cleanHash: function(){
+ var hash = window.location.hash;
+ if (hash.match('^#validate-by'))
+ W3C.setHash('');
+ },
+
setHash: function(hash){
if (window.webkit419){
W3C.FakeForm = W3C.FakeForm || new Element('form', {'method': 'get'}).injectInside(document.body);
Received on Tuesday, 15 September 2009 11:45:32 UTC