You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@labs.apache.org by si...@apache.org on 2009/11/16 16:46:16 UTC

svn commit: r880810 - in /labs/magma/trunk/website-layouts-yui-tabs: ./ src/ src/main/ src/main/java/ src/main/java/org/ src/main/java/org/apache/ src/main/java/org/apache/magma/ src/main/java/org/apache/magma/website/ src/main/java/org/apache/magma/we...

Author: simoneg
Date: Mon Nov 16 15:46:15 2009
New Revision: 880810

URL: http://svn.apache.org/viewvc?rev=880810&view=rev
Log:
YUI based tabs implementation

Added:
    labs/magma/trunk/website-layouts-yui-tabs/pom.xml
    labs/magma/trunk/website-layouts-yui-tabs/src/
    labs/magma/trunk/website-layouts-yui-tabs/src/main/
    labs/magma/trunk/website-layouts-yui-tabs/src/main/java/
    labs/magma/trunk/website-layouts-yui-tabs/src/main/java/org/
    labs/magma/trunk/website-layouts-yui-tabs/src/main/java/org/apache/
    labs/magma/trunk/website-layouts-yui-tabs/src/main/java/org/apache/magma/
    labs/magma/trunk/website-layouts-yui-tabs/src/main/java/org/apache/magma/website/
    labs/magma/trunk/website-layouts-yui-tabs/src/main/java/org/apache/magma/website/layouts/
    labs/magma/trunk/website-layouts-yui-tabs/src/main/java/org/apache/magma/website/layouts/YUITabs.java
    labs/magma/trunk/website-layouts-yui-tabs/src/main/resources/
    labs/magma/trunk/website-layouts-yui-tabs/src/test/
    labs/magma/trunk/website-layouts-yui-tabs/src/test/java/
    labs/magma/trunk/website-layouts-yui-tabs/src/test/resources/

Added: labs/magma/trunk/website-layouts-yui-tabs/pom.xml
URL: http://svn.apache.org/viewvc/labs/magma/trunk/website-layouts-yui-tabs/pom.xml?rev=880810&view=auto
==============================================================================
--- labs/magma/trunk/website-layouts-yui-tabs/pom.xml (added)
+++ labs/magma/trunk/website-layouts-yui-tabs/pom.xml Mon Nov 16 15:46:15 2009
@@ -0,0 +1,24 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <parent>
+    <artifactId>magma-parent</artifactId>
+    <groupId>org.apache.magma</groupId>
+    <version>3</version>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.apache.magma</groupId>
+  <artifactId>website-layouts-yui-tabs</artifactId>
+  <name>Layouts YUI Tabs</name>
+  <version>0.0.3-SNAPSHOT</version>
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.magma</groupId>
+      <artifactId>website-layouts</artifactId>
+      <version>0.0.3-SNAPSHOT</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.magma</groupId>
+      <artifactId>website-yui</artifactId>
+      <version>0.0.2-SNAPSHOT</version>
+    </dependency>    
+  </dependencies>
+</project>
\ No newline at end of file

Added: labs/magma/trunk/website-layouts-yui-tabs/src/main/java/org/apache/magma/website/layouts/YUITabs.java
URL: http://svn.apache.org/viewvc/labs/magma/trunk/website-layouts-yui-tabs/src/main/java/org/apache/magma/website/layouts/YUITabs.java?rev=880810&view=auto
==============================================================================
--- labs/magma/trunk/website-layouts-yui-tabs/src/main/java/org/apache/magma/website/layouts/YUITabs.java (added)
+++ labs/magma/trunk/website-layouts-yui-tabs/src/main/java/org/apache/magma/website/layouts/YUITabs.java Mon Nov 16 15:46:15 2009
@@ -0,0 +1,84 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.magma.website.layouts;
+
+import java.io.IOException;
+import java.io.OutputStream;
+import java.io.OutputStreamWriter;
+import java.io.Writer;
+import java.util.List;
+
+import org.apache.magma.website.Head;
+
+import com.sun.org.apache.bcel.internal.generic.GETSTATIC;
+
+public class YUITabs extends Tabs {
+	
+	private String uniqueId = Long.toHexString(System.currentTimeMillis()) + this.hashCode();
+
+	@Override
+	public void head(Head head) {
+		head.addYUIScript("yahoo-dom-event/yahoo-dom-event.js");
+		head.addYUIScript("element/element-beta-min.js");
+		head.addYUIScript("connection/connection-min.js");
+		head.addYUIScript("tabview/tabview-min.js");
+		head.addYUICss("tabview/assets/skins/sam/tabview.css");
+		head.addRawScript(uniqueId + "-yui-tab", "new YAHOO.widget.TabView('" + uniqueId + "', {activeIndex:" + getOpened() + "});");
+		super.head(head);
+	}
+	
+	@Override
+	protected void openContainer(Writer writer) throws IOException {
+		writer.write("<div id=\"" + uniqueId +"\" class=\"yui-navset\"> " +
+					 "<ul class=\"yui-nav\">");
+		List<String> names = super.getPanelNames();
+		for (int i = 0; i < names.size(); i++) {
+			writer.write("<li");
+			if (getOpened() == i) {
+				writer.write(" class=\"selected\"");
+			}
+			writer.write("><a href=\"#tab" + i + "\"><em>" + names.get(i) + "</em></a></li>");
+		}
+		writer.write("</ul>");
+		writer.write("<div class=\"yui-content\">");
+	}
+	
+	@Override
+	protected void openPanel(Writer stream, String name) throws IOException {
+		stream.write("<div");
+		try {
+			if (!getPanelNames().get(getOpened()).equals(name)) {
+				stream.write(" class=\"yui-hidden\"");
+			}
+		} catch (Exception e) {
+			// No problem if an exception happens here
+		}
+		stream.write(">");
+	}
+	
+	@Override
+	protected void closePanel(Writer stream, String name) throws IOException {
+		stream.write("</div>");
+	}
+	
+	@Override
+	protected void closeContainer(Writer stream) throws IOException {
+		stream.write("</div>");
+		stream.write("</div>");
+	}
+	
+}



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@labs.apache.org
For additional commands, e-mail: commits-help@labs.apache.org