- From: Thomas Gambet via cvs-syncmail <cvsmail@w3.org>
- Date: Mon, 14 Sep 2009 07:13:55 +0000
- To: www-validator-cvs@w3.org
Update of /sources/public/2006/unicorn/WebContent/scripts
In directory hutz:/tmp/cvs-serv1638/WebContent/scripts
Modified Files:
w3c_unicorn_results.js
Log Message:
new script
Index: w3c_unicorn_results.js
===================================================================
RCS file: /sources/public/2006/unicorn/WebContent/scripts/w3c_unicorn_results.js,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- w3c_unicorn_results.js 28 Aug 2009 17:07:03 -0000 1.3
+++ w3c_unicorn_results.js 14 Sep 2009 07:13:53 -0000 1.4
@@ -2,38 +2,175 @@
start: function() {
- W3C.Links = $$('h2').concat($$('h3'));
- W3C.Links.each(function(link) {
- link.addClass('pointer');
- link.addClass('toggles');
+ W3C.ObserverEvents = true;
+ W3C.Observers = $$('.observer');
+
+ var slideDuration = 500;
+ var invalidObservers = $$('.observer.invalid');
+ var scroller = new Fx.Scroll(document);
+
+ $$('.title').each(function(title) {
+ title.addClass('pointer');
+ title.addClass('toggles');
});
- $$('div.warnings').getElement('div.result').slide('hide');
- if ($$('div.observer.invalid').length > 0)
- $$('div.observer.valid').getElement('div.results').slide('hide');
- else
- $$('div.observer.valid').getElement('h2').addClass('toggled');
+ $$('.section').each(function(section) {
+ var title = section.getElement('.title');
+ var block = section.getElement('.block');
+ section.store('fxSlide', new Fx.Slide(block, {'duration': slideDuration, 'link': 'cancel'}));
+ section.store('block', block);
+ title.addEvent('click', function(event) {
+ if (!section.hasClass('observer') || W3C.ObserverEvents)
+ W3C.toggle(section);
+ });
+ });
- $$('div.observer.invalid').getElement('h2').addClass('toggled');
- $$('div.errors').getElement('h3').addClass('toggled');
- $$('div.infos').getElement('h3').addClass('toggled');
+ $$('.observer .section').each(function(section) {
+ if (section.hasClass('warnings'))
+ W3C.close(section, false).callChain();
+ if (section.hasClass('errors') || section.hasClass('infos'))
+ W3C.open(section, false).callChain();
+ });
- $$('div.observer').each(function(observer) {
- observer.getElement('h2').addEvent('click', function(event) {
- observer.getElement('div.results').slide('toggle');
- this.toggleClass('toggled');
+ $$('.observer .title a').each(function(a) {
+ a.addEvent('click', function (event) {
+ event.stopPropagation();
});
});
- W3C.ResultBlock = $$('div.errors').concat($$('div.infos'), $$('div.warnings'));
- W3C.ResultBlock.each(function(results) {
- results.getElement('h3').addEvent('click', function(event){
- results.getElement('div.result').slide('toggle');
- results.getParent('div').getParent('div').setStyle('height', 'auto');
- this.toggleClass('toggled');
+ $$('.observer').each(function(observer) {
+ W3C.open(observer, false).callChain();
+ if (observer.hasClass('valid') && invalidObservers.length > 0)
+ W3C.close(observer, false).callChain();
+ observer.getElement('a.anchor').addEvent('click', function(event) {
+ event.preventDefault();
+ W3C.open(observer, true);
+ scroller.toElement(observer);
+
+ /*if (!observer.retrieve('open')) {
+ W3C.closeAllObserversBut(observer, true).chain(function() {
+ scroller.toElement(observer);
+ });
+ } else {
+ scroller.toElement(observer);
+ }*/
});
});
+ var mySmoothScroll = new Fx.SmoothScroll({
+ links: '.smooth',
+ wheelStops: true
+ });
+ },
+
+ toggle: function(section) {
+ if (!section.hasClass('observer'))
+ W3C.observersEvents(false);
+ var title = section.getElement('.title');
+ var slide = section.retrieve('fxSlide');
+ if (section.retrieve('open')) {
+ /*title.removeClass('toggled');
+ section.store('open', false);
+ return slide.slideOut().chain(function(){
+ section.getElement('div').setStyle('height', '0');
+ slide.callChain();
+ }).chain(function() {
+ W3C.observersEvents(true);
+ slide.callChain();
+ });*/
+ return W3C.close(section, true);
+ } else {
+ /*title.addClass('toggled');
+ section.store('open', true);
+ return slide.slideIn().chain(function(){
+ section.getElement('div').setStyle('height', 'auto');
+ slide.callChain();
+ }).chain(function() {
+ W3C.observersEvents(true);
+ slide.callChain();
+ });*/
+ return W3C.open(section, true);
+ }
+ /*return slide.toggle().chain(function(){
+ if (section.retrieve('open'))
+ section.getElement('div').setStyle('height', 'auto');
+ else
+ section.getElement('div').setStyle('height', '0');
+ slide.callChain();
+ }).chain(function() {
+ W3C.observersEvents(true);
+ slide.callChain();
+ });*/
+ },
+
+ close: function(section, withFx) {
+ var opened = section.retrieve('open');
+ var title = section.getElement('.title');
+ var slide = section.retrieve('fxSlide');
+ title.removeClass('toggled');
+ section.store('open', false);
+ if (withFx && opened) {
+ return slide.slideOut().chain(function(){
+ section.getElement('div').setStyle('height', '0');
+ slide.callChain();
+ });
+ } else {
+ return slide.hide().chain(function(){
+ section.getElement('div').setStyle('height', '0');
+ slide.callChain();
+ });
+ }
+ },
+
+ open: function(section, withFx) {
+ var closed = !section.retrieve('open');
+ var title = section.getElement('.title');
+ var slide = section.retrieve('fxSlide');
+ title.addClass('toggled');
+ section.store('open', true);
+ if (withFx && closed) {
+ return slide.slideIn().chain(function(){
+ section.getElement('div').setStyle('height', 'auto');
+ slide.callChain();
+ });
+ } else {
+ return slide.show().chain(function(){
+ section.getElement('div').setStyle('height', 'auto');
+ slide.callChain();
+ });
+ }
+ },
+
+ closeAllObserversBut: function(observer, withFx) {
+ W3C.Observers.each(function (ob) {
+ if (ob != observer)
+ W3C.close(ob, withFx).callChain();
+ });
+ return W3C.open(observer, withFx);
+ },
+
+
+ closeAllSectionsBut: function(observer, section, withFx) {
+ return;
+ },
+
+ observersEvents: function(on) {
+ if (on) {
+ W3C.ObserverEvents = true;
+ W3C.Observers.getElement('.title').addClass('pointer');
+ } else {
+ W3C.ObserverEvents = true;
+ W3C.Observers.getElement('.title').removeClass('pointer');
+ }
+ },
+
+ setHash: function(hash){
+ if (window.webkit419){
+ W3C.FakeForm = W3C.FakeForm || new Element('form', {'method': 'get'}).injectInside(document.body);
+ W3C.FakeForm.setProperty('action', '#' + hash).submit();
+ } else {
+ window.location.hash = hash;
+ }
}
};
Received on Monday, 14 September 2009 07:14:04 UTC