intial commit of a bundle for a UI component library for SSE

This commit is contained in:
fmittag committed 2015-02-03 16:13:48 +01:00
1 parent 7a47dc70f6
commit 2cf6703ff6
47 files changed
+2218 -1

No files matched your search

@@ -33,5 +33,5 @@
<booleanAttribute key="tracing" value="false"/> <booleanAttribute key="tracing" value="false"/>
<booleanAttribute key="useCustomFeatures" value="false"/> <booleanAttribute key="useCustomFeatures" value="false"/>
<booleanAttribute key="useDefaultConfigArea" value="false"/> <booleanAttribute key="useDefaultConfigArea" value="false"/>
<stringAttribute key="workspace_bundles" value="com.google.gwt.osgi@default:default,com.googlecode.java-diff-utils@default:default,com.mongodb.driver@default:default,com.sap.sailing.barbados.resultimport@default:default,com.sap.sailing.datamining.shared@default:default,com.sap.sailing.datamining@default:default,com.sap.sailing.declination@default:default,com.sap.sailing.domain.common@default:default,com.sap.sailing.domain.deckmanadapter@4:true,com.sap.sailing.domain.igtimiadapter.persistence@default:default,com.sap.sailing.domain.igtimiadapter@default:default,com.sap.sailing.domain.persistence@default:default,com.sap.sailing.domain.racelogtrackingadapter@3:default,com.sap.sailing.domain.shared.android@default:default,com.sap.sailing.domain.swisstimingadapter.persistence@default:default,com.sap.sailing.domain.swisstimingadapter@4:true,com.sap.sailing.domain.swisstimingreplayadapter@4:true,com.sap.sailing.domain.tractracadapter.persistence@default:default,com.sap.sailing.domain.tractracadapter@4:true,com.sap.sailing.domain@default:default,com.sap.sailing.ess40.resultimport@default:default,com.sap.sailing.expeditionconnector@default:default,com.sap.sailing.freg.resultimport@default:default,com.sap.sailing.geocoding@default:default,com.sap.sailing.gwt.ui@5:true,com.sap.sailing.kiworesultimport@default:default,com.sap.sailing.manage2sail.resultimport@default:default,com.sap.sailing.manage2sail@default:default,com.sap.sailing.nmeaconnector@default:default,com.sap.sailing.polars@default:default,com.sap.sailing.resultimport@default:default,com.sap.sailing.sailwave.resultimport@default:default,com.sap.sailing.server.gateway.ess40@4:true,com.sap.sailing.server.gateway.serialization.shared.android@default:default,com.sap.sailing.server.gateway.serialization@default:default,com.sap.sailing.server.gateway@5:true,com.sap.sailing.server.trackfiles@default:default,com.sap.sailing.server@default:default,com.sap.sailing.simulator@default:default,com.sap.sailing.udpconnector@default:default,com.sap.sailing.velum.resultimport@default:default,com.sap.sailing.www.events@4:true,com.sap.sailing.www@4:true,com.sap.sailing.xrr.resultimport@default:default,com.sap.sailing.xrr.schema@default:default,com.sap.sailing.xrr.structureimport@default:default,com.sap.sse.common@default:default,com.sap.sse.datamining.shared@default:default,com.sap.sse.datamining@default:default,com.sap.sse.filestorage@3:true,com.sap.sse.gateway@default:default,com.sap.sse.gwt.adminconsole@default:default,com.sap.sse.gwt@default:default,com.sap.sse.mongodb@default:default,com.sap.sse.operationaltransformation@default:default,com.sap.sse.osgi@default:default,com.sap.sse.replication@4:true,com.sap.sse.security.common@default:default,com.sap.sse.security.ui@6:true,com.sap.sse.security.userstore.mongodb@4:true,com.sap.sse.security@5:true,com.sap.sse.shared.android@default:default,com.sap.sse@default:default,com.tractrac.clientmodule@default:default,net.sf.marineapi@default:default,org.json.simple@default:default,org.moxieapps.gwt.highcharts@default:default"/> <stringAttribute key="workspace_bundles" value="com.google.gwt.osgi@default:default,com.googlecode.java-diff-utils@default:default,com.mongodb.driver@default:default,com.sap.sailing.barbados.resultimport@default:default,com.sap.sailing.datamining.shared@default:default,com.sap.sailing.datamining@default:default,com.sap.sailing.declination@default:default,com.sap.sailing.domain.common@default:default,com.sap.sailing.domain.deckmanadapter@4:true,com.sap.sailing.domain.igtimiadapter.persistence@default:default,com.sap.sailing.domain.igtimiadapter@default:default,com.sap.sailing.domain.persistence@default:default,com.sap.sailing.domain.racelogtrackingadapter@3:default,com.sap.sailing.domain.shared.android@default:default,com.sap.sailing.domain.swisstimingadapter.persistence@default:default,com.sap.sailing.domain.swisstimingadapter@4:true,com.sap.sailing.domain.swisstimingreplayadapter@4:true,com.sap.sailing.domain.tractracadapter.persistence@default:default,com.sap.sailing.domain.tractracadapter@4:true,com.sap.sailing.domain@default:default,com.sap.sailing.ess40.resultimport@default:default,com.sap.sailing.expeditionconnector@default:default,com.sap.sailing.freg.resultimport@default:default,com.sap.sailing.geocoding@default:default,com.sap.sailing.gwt.ui@5:true,com.sap.sailing.kiworesultimport@default:default,com.sap.sailing.manage2sail.resultimport@default:default,com.sap.sailing.manage2sail@default:default,com.sap.sailing.nmeaconnector@default:default,com.sap.sailing.polars@default:default,com.sap.sailing.resultimport@default:default,com.sap.sailing.sailwave.resultimport@default:default,com.sap.sailing.server.gateway.ess40@4:true,com.sap.sailing.server.gateway.serialization.shared.android@default:default,com.sap.sailing.server.gateway.serialization@default:default,com.sap.sailing.server.gateway@5:true,com.sap.sailing.server.trackfiles@default:default,com.sap.sailing.server@default:default,com.sap.sailing.simulator@default:default,com.sap.sailing.udpconnector@default:default,com.sap.sailing.velum.resultimport@default:default,com.sap.sailing.www.events@4:true,com.sap.sailing.www@4:true,com.sap.sailing.xrr.resultimport@default:default,com.sap.sailing.xrr.schema@default:default,com.sap.sailing.xrr.structureimport@default:default,com.sap.sse.common@default:default,com.sap.sse.datamining.shared@default:default,com.sap.sse.datamining@default:default,com.sap.sse.filestorage@3:true,com.sap.sse.gateway@default:default,com.sap.sse.gwt.adminconsole@default:default,com.sap.sse.gwt.theme@5:true,com.sap.sse.gwt@default:default,com.sap.sse.mongodb@default:default,com.sap.sse.operationaltransformation@default:default,com.sap.sse.osgi@default:default,com.sap.sse.replication@4:true,com.sap.sse.security.common@default:default,com.sap.sse.security.ui@6:true,com.sap.sse.security.userstore.mongodb@4:true,com.sap.sse.security@5:true,com.sap.sse.shared.android@default:default,com.sap.sse@default:default,com.tractrac.clientmodule@default:default,net.sf.marineapi@default:default,org.json.simple@default:default,org.moxieapps.gwt.highcharts@default:default"/>
</launchConfiguration> </launchConfiguration>
+10
View File
@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src/main/java"/>
<classpathentry kind="src" path="src/main/resources"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="con" path="com.google.gwt.eclipse.core.GWT_CONTAINER"/>
<classpathentry exported="true" kind="lib" path="WEB-INF/classes"/>
<classpathentry kind="output" path="bin"/>
</classpath>
+6
View File
@@ -0,0 +1,6 @@
/bin
/.gwt
/.generated
/gwt-unitCache
/extras
/com.sap.sse.gwt.theme.*
+39
View File
@@ -0,0 +1,39 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>com.sap.sse.gwt.theme</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.pde.ManifestBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.pde.SchemaBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>com.google.gdt.eclipse.core.webAppProjectValidator</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>com.google.gwt.eclipse.core.gwtProjectValidator</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.pde.PluginNature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>com.google.gwt.eclipse.core.gwtNature</nature>
</natures>
</projectDescription>
@@ -0,0 +1,2 @@
eclipse.preferences.version=1
gwtCompileSettings=PGd3dC1jb21waWxlLXNldHRpbmdzPjxsb2ctbGV2ZWw+SU5GTzwvbG9nLWxldmVsPjxvdXRwdXQtc3R5bGU+T0JGVVNDQVRFRDwvb3V0cHV0LXN0eWxlPjxleHRyYS1hcmdzPjwhW0NEQVRBWy13YXIgLiAtbG9jYWxXb3JrZXJzIDMgLXN0cmljdCAtbG9nTGV2ZWwgSU5GT11dPjwvZXh0cmEtYXJncz48dm0tYXJncz48IVtDREFUQVstWG14NTEybV1dPjwvdm0tYXJncz48ZW50cnktcG9pbnQtbW9kdWxlPmNvbS5zYXAuc3NlLmd3dC50aGVtZS5TU0VUaGVtZTwvZW50cnktcG9pbnQtbW9kdWxlPjwvZ3d0LWNvbXBpbGUtc2V0dGluZ3M+
@@ -0,0 +1,19 @@
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: SSE Base Theme
Bundle-SymbolicName: com.sap.sse.gwt.theme
Bundle-Version: 1.0.0.qualifier
Bundle-Vendor: SAP
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
Bundle-ActivationPolicy: lazy
Bundle-ClassPath: WEB-INF/classes/
Import-Package: org.osgi.framework;version="1.7.0",
javax.servlet;version="3.1.0",
javax.servlet.descriptor;version="3.1.0",
javax.servlet.http;version="3.1.0"
Require-Bundle: com.google.gwt.osgi;bundle-version="2.7.0",
com.sap.sailing.domain.common,
com.sap.sse.common,
com.sap.sse.gwt
Web-ContextPath: /theme
Export-Package: com.sap.sse.gwt.theme.client
+3
View File
@@ -0,0 +1,3 @@
.mainPanel {
}
+54
View File
@@ -0,0 +1,54 @@
<!doctype html>
<!-- The DOCTYPE declaration above will set the -->
<!-- browser's rendering engine into -->
<!-- "Standards Mode". Replacing this declaration -->
<!-- with a "Quirks Mode" doctype may lead to some -->
<!-- differences in layout. -->
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<!-- -->
<!-- Consider inlining CSS to reduce the number of requested files -->
<!-- -->
<link rel="shortcut icon" type="image/x-icon" href="images/sap.ico" />
<!-- -->
<!-- Any title is fine -->
<!-- -->
<title>SAP Sports Engine Theme</title>
<link rel="stylesheet" type="text/css" href="/sailing-normalize-3.0.2.cache.css">
<link rel="stylesheet" type="text/css" href="/clean/sailing-clean-1.0.cache.css">
<link rel="stylesheet" type="text/css" href="SSETheme.css">
<!-- -->
<!-- This script loads your compiled module. -->
<!-- If you add any GWT meta tags, they must -->
<!-- be added before this line. -->
<!-- -->
<script type="text/javascript" language="javascript" src="com.sap.sse.gwt.theme.SSETheme/com.sap.sse.gwt.theme.SSETheme.nocache.js"></script>
</head>
<!-- -->
<!-- The body can have arbitrary html, or -->
<!-- you can leave the body empty if you want -->
<!-- to create a completely dynamic UI. -->
<!-- -->
<body>
<!-- OPTIONAL: include this if you want history support -->
<iframe src="javascript:''" id="__gwt_historyFrame" tabIndex='-1' style="position:absolute;width:0;height:0;border:0"></iframe>
<!-- RECOMMENDED if your web app will not function without JavaScript enabled -->
<noscript>
<div style="width: 22em; position: absolute; left: 50%; margin-left: -11em; color: red; background-color: white; border: 1px solid red; padding: 4px; font-family: sans-serif">
Your web browser must have JavaScript enabled
in order for this application to display correctly.
</div>
</noscript>
</body>
</html>
@@ -0,0 +1,27 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<launchConfiguration type="com.google.gdt.eclipse.suite.webapp">
<booleanAttribute key="com.google.gdt.eclipse.core.RUN_SERVER" value="false"/>
<stringAttribute key="com.google.gdt.eclipse.suiteMainTypeProcessor.PREVIOUSLY_SET_MAIN_TYPE_NAME" value="com.google.gwt.dev.GWTShell"/>
<booleanAttribute key="com.google.gdt.eclipse.suiteWarArgumentProcessor.IS_WAR_FROM_PROJECT_PROPERTIES" value="true"/>
<listAttribute key="com.google.gwt.eclipse.core.ENTRY_POINT_MODULES">
<listEntry value="com.sap.sse.gwt.theme.SSETheme"/>
</listAttribute>
<booleanAttribute key="com.google.gwt.eclipse.core.SUPERDEVMODE_ENABLED" value="true"/>
<stringAttribute key="com.google.gwt.eclipse.core.URL" value="/theme/SSETheme.html"/>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
<listEntry value="/com.sap.sse.gwt.theme"/>
</listAttribute>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
<listEntry value="4"/>
</listAttribute>
<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
<listEntry value="org.eclipse.debug.ui.launchGroup.run"/>
</listAttribute>
<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="com.google.gwt.eclipse.core.moduleClasspathProvider"/>
<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="com.google.gwt.dev.DevMode"/>
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-superDevMode -war &quot;${project_loc:com.sap.sse.gwt.theme}&quot; -noserver -remoteUI &quot;${gwt_remote_ui_server_port}:${unique_id}&quot; -logLevel INFO -codeServerPort 9997 -startupUrl /theme/SSETheme.html com.sap.sse.gwt.theme.SSETheme"/>
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="com.sap.sse.gwt.theme"/>
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xms1024m -Xmx3072m"/>
</launchConfiguration>
@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<launchConfiguration type="com.google.gdt.eclipse.suite.webapp">
<booleanAttribute key="com.google.gdt.eclipse.core.RUN_SERVER" value="false"/>
<stringAttribute key="com.google.gdt.eclipse.suiteMainTypeProcessor.PREVIOUSLY_SET_MAIN_TYPE_NAME" value="com.google.gwt.dev.GWTShell"/>
<booleanAttribute key="com.google.gdt.eclipse.suiteWarArgumentProcessor.IS_WAR_FROM_PROJECT_PROPERTIES" value="true"/>
<listAttribute key="com.google.gwt.eclipse.core.ENTRY_POINT_MODULES">
<listEntry value="com.sap.sse.gwt.theme.SSETheme"/>
</listAttribute>
<stringAttribute key="com.google.gwt.eclipse.core.URL" value="/theme/SSETheme.html"/>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
<listEntry value="/com.sap.sse.gwt.theme"/>
</listAttribute>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
<listEntry value="4"/>
</listAttribute>
<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
<listEntry value="org.eclipse.debug.ui.launchGroup.run"/>
</listAttribute>
<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="com.google.gwt.eclipse.core.moduleClasspathProvider"/>
<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="com.google.gwt.dev.DevMode"/>
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-nosuperDevMode -war &quot;${project_loc:com.sap.sse.gwt.theme}&quot; -noserver -remoteUI &quot;${gwt_remote_ui_server_port}:${unique_id}&quot; -logLevel INFO -codeServerPort 9997 -startupUrl /theme/SSETheme.html com.sap.sse.gwt.theme.SSETheme"/>
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="com.sap.sse.gwt.theme"/>
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xmx2048m -Dgwt-usearchives=false -Dgwt.persistentunitcache=false"/>
</launchConfiguration>
@@ -0,0 +1,2 @@
deploy
classes
@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
<!-- Disable directory listing: -->
<servlet>
<servlet-name>default</servlet-name>
<servlet-class>org.eclipse.jetty.servlet.DefaultServlet
</servlet-class>
<init-param>
<param-name>dirAllowed</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>useFileMappedBuffer</param-name>
<param-value>false</param-value>
</init-param>
</servlet>
</web-app>
@@ -0,0 +1,10 @@
source.WEB-INF/classes/ = src/main/java,\
src/main/resources
output.WEB-INF/classes/ = bin
bin.includes = META-INF/,\
WEB-INF/classes/,\
WEB-INF/web.xml,\
com.sap.sse.gwt.theme.SSETheme/,\
SSETheme.css,\
SSETheme.html
output.. = WEB-INF/classes/
+107
View File
@@ -0,0 +1,107 @@
<?xml version="1.0" encoding="UTF-8"?>
<project
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>root</artifactId>
<groupId>com.sap.sailing</groupId>
<version>1.0.0-SNAPSHOT</version>
</parent>
<artifactId>com.sap.sse.gwt.theme</artifactId>
<packaging>eclipse-plugin</packaging>
<dependencies>
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>1.0.0.GA</version>
</dependency>
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>1.0.0.GA</version>
<classifier>sources</classifier>
</dependency>
<dependency>
<groupId>com.sap.sailing</groupId>
<artifactId>com.sap.sse.common</artifactId>
<version>1.0.0-SNAPSHOT</version>
<classifier>sources</classifier>
</dependency>
<dependency>
<groupId>com.sap.sailing</groupId>
<artifactId>com.sap.sse.gwt</artifactId>
<version>1.0.0-SNAPSHOT</version>
<classifier>sources</classifier>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-source-plugin</artifactId>
<version>${tycho-version}</version>
<executions>
<execution>
<id>plugin-source</id>
<phase>generate-sources</phase>
<goals>
<goal>plugin-source</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>gwt-maven-plugin</artifactId>
<version>${gwt.version}</version>
<executions>
<!-- GWT version detected from dependencyManagement -->
<execution>
<configuration>
<extraJvmArgs>-Dgwt.persistentunitcache=false</extraJvmArgs>
<!-- <userAgents>chrome</userAgents> -->
<modules>
<module>com.sap.sse.gwt.theme.Theme</module>
</modules>
<gen>${basedir}/.generated</gen>
<localWorkers>7</localWorkers>
<webappDirectory>${basedir}</webappDirectory>
<warSourceDirectory>${basedir}/src/main/resources
</warSourceDirectory>
</configuration>
<goals>
<goal>compile</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>debug.no-gwt-compile</id>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>gwt-maven-plugin</artifactId>
<version>${gwt.version}</version>
<executions>
<execution>
<configuration combine.self="override">
<modules>
</modules>
</configuration>
<goals>
<goal>help</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>
@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 2.7.0//EN" "http://gwtproject.org/doctype/2.7.0/gwt-module.dtd">
<module>
<!-- Inherit the core Web Toolkit stuff. -->
<inherits name='com.google.gwt.user.User'/>
<!-- Other module inherits -->
<inherits name="com.sap.sse.gwt.EmulatedJRE" />
<inherits name="com.sap.sse.gwt.SSESharedGWT" />
<inherits name="com.sap.sse.SSECommon" />
<super-source path="jre" />
<entry-point class='com.sap.sse.gwt.theme.client.ThemeEntryPoint'/>
<set-configuration-property name="CssResource.enableGss" value="true" />
<set-configuration-property name="CssResource.legacy" value="true" />
<!-- Specify the paths for translatable code -->
<source path='client'/>
<source path='shared'/>
<!-- allow Super Dev Mode -->
<add-linker name="xsiframe"/>
</module>
@@ -0,0 +1,20 @@
package com.sap.sse.gwt.theme.client;
import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.user.client.ui.RootLayoutPanel;
import com.sap.sse.gwt.theme.client.resources.ThemeResources;
import com.sap.sse.gwt.theme.client.showcase.MainPage;
/**
* Entry point classes define <code>onModuleLoad()</code>.
*/
public class ThemeEntryPoint implements EntryPoint {
@Override
public void onModuleLoad() {
ThemeResources.INSTANCE.mediaCss().ensureInjected();
ThemeResources.INSTANCE.mainCss().ensureInjected();
RootLayoutPanel.get().add(new MainPage());
}
}
@@ -0,0 +1,47 @@
.eventteasercontainer {
font-size: 1rem;
text-align: center;
width: 100%;
height: 24em;
}
.eventteaser {
font-size: 1rem;
display: inline-block;
margin-bottom: 3em;
text-align: left;
max-width: 100%;
width: 100%;
}
.eventteaser:hover {
text-decoration: none;
}
.eventteaser:hover .eventteaser_name {
text-decoration: underline;
}
.eventteaser:hover .eventteaser_image {
opacity: 0.9;
}
.eventteaser_image {
position: relative;
display: inline-block;
max-width: 100%;
width: 100%;
height: 240px;
background-position: center;
background-size: cover;
background-repeat: no-repeat;
}
.eventteaser_series {
position: absolute;
bottom: 0;
right: 0;
}
.eventteaser_name {
font-size: 1.466666666666667em;
font-weight: bold;
color: #008fcc;
margin-top: 0.333333333333333em;
}
.eventteaser_location {
color: #222;
}
@@ -0,0 +1,69 @@
package com.sap.sse.gwt.theme.client.component.recentevent;
import com.google.gwt.core.client.GWT;
import com.google.gwt.dom.client.DivElement;
import com.google.gwt.dom.client.SpanElement;
import com.google.gwt.dom.client.Style.Display;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.uibinder.client.UiHandler;
import com.google.gwt.user.client.Command;
import com.google.gwt.user.client.ui.Anchor;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.Widget;
public class RecentEvent extends Composite {
@UiField
SpanElement eventNameUi;
@UiField
SpanElement venueNameUi;
@UiField
SpanElement eventDateUi;
@UiField
Anchor eventOverviewUi;
@UiField
DivElement eventImageContainerUi;
@UiField
DivElement isLiveUi;
interface RecentEventUiBinder extends UiBinder<Widget, RecentEvent> {
}
private static RecentEventUiBinder uiBinder = GWT.create(RecentEventUiBinder.class);
private Command eventClickAction;
public RecentEvent(RecentEventData data) {
this.eventClickAction = data.getCommand();
RecentEventResources.INSTANCE.css().ensureInjected();
initWidget(uiBinder.createAndBindUi(this));
eventNameUi.setInnerText(data.getEventName());
venueNameUi.setInnerText(data.getVenue());
eventDateUi.setInnerText(data.getEventStart().toString().substring(10) + " "
+ data.getEventEnd().toString().substring(10));
final StringBuilder thumbnailUrlBuilder = new StringBuilder("url('").append(data.getEventImageUrl()).append(
"')");
GWT.log(thumbnailUrlBuilder.toString());
eventImageContainerUi.getStyle().setBackgroundImage(thumbnailUrlBuilder.toString());
if (data.isLive())
isLiveUi.getStyle().setDisplay(Display.BLOCK);
else
isLiveUi.getStyle().setDisplay(Display.NONE);
}
@UiHandler("eventOverviewUi")
public void goToEventOverview(ClickEvent e) {
eventClickAction.execute();
e.preventDefault();
}
}
@@ -0,0 +1,22 @@
<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"
xmlns:g="urn:import:com.google.gwt.user.client.ui">
<ui:with field="i18n" type="com.sap.sse.gwt.theme.client.resources.i18n.TextMessages" />
<ui:with field="res" type="com.sap.sse.gwt.theme.client.resources.ThemeResources" />
<ui:with field="local_res" type="com.sap.sse.gwt.theme.client.component.recentevent.RecentEventResources" />
<g:HTMLPanel styleName="{res.mediaCss.small12} {res.mediaCss.medium6} {res.mediaCss.large4} {res.mediaCss.columns}">
<div class="{local_res.css.eventteasercontainer}">
<g:Anchor ui:field="eventOverviewUi" styleName="{local_res.css.eventteaser}">
<div class="{local_res.css.eventteaser_image}" ui:field="eventImageContainerUi" >
<div ui:field="isLiveUi" data-labeltype="live" class="{local_res.css.eventteaser_series} {res.mainCss.label}"></div>
</div>
<div class="{local_res.css.eventteaser_name}"><span ui:field="eventNameUi" /></div>
<div class="{local_res.css.eventteaser_location}">
<span ui:field="venueNameUi" />,&nbsp;<span ui:field="eventDateUi" />
</div>
</g:Anchor>
</div>
</g:HTMLPanel>
</ui:UiBinder>
@@ -0,0 +1,16 @@
package com.sap.sse.gwt.theme.client.component.recentevent;
import java.util.Date;
import com.google.gwt.user.client.Command;
public interface RecentEventData {
String getEventImageUrl();
String getVenue();
String getLocation();
Date getEventStart();
Date getEventEnd();
Command getCommand();
String getEventName();
boolean isLive();
}
@@ -0,0 +1,25 @@
package com.sap.sse.gwt.theme.client.component.recentevent;
import com.google.gwt.core.client.GWT;
import com.google.gwt.resources.client.ClientBundle;
import com.google.gwt.resources.client.CssResource;
import com.google.gwt.resources.client.ImageResource;
public interface RecentEventResources extends ClientBundle {
public static final RecentEventResources INSTANCE = GWT.create(RecentEventResources.class);
@Source("RecentEvent.css")
LocalCss css();
public interface LocalCss extends CssResource {
String eventteaser();
String eventteaser_name();
String eventteaser_image();
String eventteaser_series();
String eventteaser_location();
String eventteasercontainer();
}
@Source("default_event_photo.jpg")
ImageResource defaultEventPhotoImage();
}
@@ -0,0 +1,44 @@
.siteheader {
font-size: 15px;
font-size: 1rem;
background: #333;
border-bottom: 5px solid #f0ab00;
height: 70px;
line-height: 4em;
width: 100%;
overflow: hidden;
text-align:center;
}
.siteheaderLeft {
float:left;
width: 25%;
text-align: left;
}
.siteheaderCentered {
width: 50%;
display: inline-block;
margin:0 auto;
}
.siteheaderRight {
float:right;
width: 25%;
text-align: right;
}
.logo {
margin: 0.8em 10px;
float: left;
}
.logotitle {
display: inline;
color: #f6f9fc;
font-weight: bold;
}
.pagetitle {
color: #ffffff;
font-size: 1.5rem;
font-weight: bold;
}
@@ -0,0 +1,51 @@
package com.sap.sse.gwt.theme.client.component.sapheader;
import com.google.gwt.core.client.GWT;
import com.google.gwt.core.client.Scheduler;
import com.google.gwt.core.client.Scheduler.RepeatingCommand;
import com.google.gwt.dom.client.DivElement;
import com.google.gwt.dom.client.ParagraphElement;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.uibinder.client.UiHandler;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.Widget;
import com.sap.sse.gwt.theme.client.util.FullscreenUtil;
public class SAPHeader extends Composite {
private static SAPHeaderUiBinder uiBinder = GWT.create(SAPHeaderUiBinder.class);
interface SAPHeaderUiBinder extends UiBinder<Widget, SAPHeader> {
}
@UiField ParagraphElement applicationNameUi;
@UiField DivElement pageTitleUi;
@UiField Button startFullScreenButton;
public SAPHeader(String applicationName, String pageTitle, boolean startInAutoScreenMode) {
SAPHeaderResources.INSTANCE.css().ensureInjected();
initWidget(uiBinder.createAndBindUi(this));
applicationNameUi.setInnerText(applicationName != null ? applicationName : "&nbsp;");
pageTitleUi.setInnerText(pageTitle);
startFullScreenButton.setVisible(startInAutoScreenMode);
// the 'fullscreen' button should disappear after some seconds (10)
if(startInAutoScreenMode) {
Scheduler.get().scheduleFixedPeriod(new RepeatingCommand() {
public boolean execute () {
startFullScreenButton.setVisible(false);
return false;
}
}, 10000);
}
}
@UiHandler("startFullScreenButton")
void startFullScreenClicked(ClickEvent e) {
FullscreenUtil.requestFullscreen();
}
}
@@ -0,0 +1,21 @@
<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"
xmlns:g="urn:import:com.google.gwt.user.client.ui">
<ui:with field="res" type="com.sap.sse.gwt.theme.client.resources.ThemeResources" />
<ui:with field="local_res" type="com.sap.sse.gwt.theme.client.component.sapheader.SAPHeaderResources" />
<g:HTMLPanel>
<header class="{local_res.css.siteheader}">
<div class="{local_res.css.siteheaderLeft}">
<g:Image resource="{local_res.logo}" pixelSize="80, 40" altText="SAP Sailing Analytics" styleName="{local_res.css.logo}"/>
<p ui:field="applicationNameUi" class="{local_res.css.logotitle}"></p>
</div>
<div class="{local_res.css.siteheaderCentered}">
<div ui:field="pageTitleUi" class="{local_res.css.pagetitle}"></div>
</div>
<div class="{local_res.css.siteheaderRight}">
<g:Button ui:field="startFullScreenButton" styleName="{res.mainCss.button}" text="Fullscreen" />
<span>&nbsp;</span>
</div>
</header>
</g:HTMLPanel>
</ui:UiBinder>
@@ -0,0 +1,5 @@
package com.sap.sse.gwt.theme.client.component.sapheader;
public interface SAPHeaderData {
}
@@ -0,0 +1,26 @@
package com.sap.sse.gwt.theme.client.component.sapheader;
import com.google.gwt.core.client.GWT;
import com.google.gwt.resources.client.ClientBundle;
import com.google.gwt.resources.client.CssResource;
import com.google.gwt.resources.client.ImageResource;
public interface SAPHeaderResources extends ClientBundle {
public static final SAPHeaderResources INSTANCE = GWT.create(SAPHeaderResources.class);
@Source("SAPHeader.css")
LocalCss css();
public interface LocalCss extends CssResource {
String siteheader();
String siteheaderLeft();
String siteheaderCentered();
String siteheaderRight();
String logo();
String logotitle();
String pagetitle();
}
@Source("logo-small@2x.png")
ImageResource logo();
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

@@ -0,0 +1,140 @@
package com.sap.sse.gwt.theme.client.resources;
import com.google.gwt.core.client.GWT;
import com.google.gwt.resources.client.ClientBundle;
import com.google.gwt.resources.client.CssResource;
public interface ThemeResources extends ClientBundle {
public static final ThemeResources INSTANCE = GWT.create(ThemeResources.class);
@Source("main.gss")
MainCss mainCss();
@Source("media.gss")
MediaCss mediaCss();
public interface MainCss extends CssResource{
String wrapper();
String navbar();
String navbar_button();
String navbar_buttonhidden();
String navbar_buttonactive();
String button();
String buttonsmall();
String buttonstrong();
String buttoninactive();
String buttonprimary();
String buttonred();
String buttonrefresh();
String buttonarrowdown();
String buttonsearch();
String buttonarrowrightwhite();
String label();
String labellarge();
String morelink();
String dummy();
String mainsection();
String mainsection_header();
String mainsection_header_title();
String mainsection_navigation();
String lightbox();
String lightbox_overlay();
String lightbox_content();
String lightbox_close();
String stickyheader();
String slideto();
String slidetonav();
String slidetoactive();
}
public interface MediaCss extends CssResource{
String grid();
String stackenblochen();
String column();
String columns();
String small1();
String small2();
String small3();
String small4();
String small5();
String small6();
String small7();
String small8();
String small9();
String small10();
String small11();
String small12();
String smalloffset0();
String smalloffset1();
String smalloffset2();
String smalloffset3();
String smalloffset4();
String smalloffset5();
String smalloffset6();
String smalloffset7();
String smalloffset8();
String smalloffset9();
String smalloffset10();
String smalloffset11();
String showonsmall();
String hideonsmall();
String showonmedium();
String hideonmedium();
String showonlarge();
String hideonlarge();
String smallcentered();
String smalluncentered();
String medium1();
String medium2();
String medium3();
String medium4();
String medium5();
String medium6();
String medium7();
String medium8();
String medium9();
String medium10();
String medium11();
String medium12();
String mediumoffset0();
String mediumoffset1();
String mediumoffset2();
String mediumoffset3();
String mediumoffset4();
String mediumoffset5();
String mediumoffset6();
String mediumoffset7();
String mediumoffset8();
String mediumoffset9();
String mediumoffset10();
String mediumoffset11();
String mediumcentered();
String mediumuncentered();
String large1();
String large2();
String large3();
String large4();
String large5();
String large6();
String large7();
String large8();
String large9();
String large10();
String large11();
String large12();
String largeoffset0();
String largeoffset1();
String largeoffset2();
String largeoffset3();
String largeoffset4();
String largeoffset5();
String largeoffset6();
String largeoffset7();
String largeoffset8();
String largeoffset9();
String largeoffset10();
String largeoffset11();
String largecentered();
String largeuncentered();
}
}
@@ -0,0 +1,10 @@
package com.sap.sse.gwt.theme.client.resources.i18n;
import com.google.gwt.core.client.GWT;
import com.google.gwt.i18n.client.Messages;
public interface TextMessages extends Messages {
public static final TextMessages INSTANCE = GWT.create(TextMessages.class);
String chooseALanguage();
}
@@ -0,0 +1 @@
chooseALanguage=Choose a language
@@ -0,0 +1 @@
chooseALanguage=Wähle eine Sprache
@@ -0,0 +1,417 @@
/**
* The main styling styles
*/
*,
*:before,
*:after {
-moz-box-sizing: border-box;
box-sizing: border-box;
}
html,
body {
height: 100%;
font-family: 'Open Sans', sans-serif;
font-size: 93.75%;
line-height: 1.333;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
-ms-content-zooming: none;
}
figure {
margin: 0;
}
a {
text-decoration: none;
color: #008fcc;
}
a:hover,
a:focus {
text-decoration: underline;
}
a img {
vertical-align: bottom;
}
hr {
font-size: 1rem;
margin: 0;
height: 1px;
border: none;
border-top: 1px solid #eee;
}
h1 {
font-size: 2.133333333333333em;
}
h2 {
font-size: 1.466666666666667em;
font-weight: bold;
color: #008fcc;
margin-top: 0.7em;
margin-bottom: 0.7em;
}
h3 {
font-size: 1.2em;
font-weight: bold;
margin: 0 0 0.5em;
}
h4 {
font-size: 1em;
font-weight: bold;
color: #008fcc;
}
h5 {
font-size: 0.866666666666667em;
font-weight: 600;
color: #008fcc;
}
figure img {
display: block;
}
figcaption {
margin-top: 1.333333333333333em;
}
.wrapper {
position: relative;
min-height: 100%;
margin-bottom: -5em;
padding-bottom: 8em;
}
.wrapper > * {
padding-left: 1.333333333333333em;
padding-right: 1.333333333333333em;
}
.navbar {
font-size: 1rem;
}
.navbar_button {
font-size: 1.2em;
display: inline-block;
font-weight: 600;
color: #666;
border: 1px solid #dedede;
padding: 0.833333333333333em 0.944444444444444em;
background-color: #eee;
-webkit-transition: background-color 0.2s, border-color 0.2s;
-moz-transition: background-color 0.2s, border-color 0.2s;
transition: background-color 0.2s, border-color 0.2s;
text-decoration: none;
margin-right: 0.833333333333333em;
}
.navbar_buttonhidden {
display: block;
}
.navbar_button:hover,
.navbar_button:focus {
background-color: #dedede;
outline: none;
text-decoration: none;
}
.navbar_buttonactive {
color: #333;
background-color: #fff;
border-bottom: 1px solid #fff;
}
.navbar_buttonactive:hover,
.navbar_buttonactive:focus {
background-color: #dedede;
border-bottom: 1px solid #dedede;
}
.button {
font-size: 1rem;
display: inline-block;
font-weight: 600;
color: #fff;
border: none;
padding: 0.666666666666667em 2em;
border-radius: 0.2em;
background-color: #f0ab00;
-webkit-transition: background-color 0.2s;
-moz-transition: background-color 0.2s;
transition: background-color 0.2s;
text-decoration: none;
}
.button:hover,
.button:focus {
background-color: #d89a00;
outline: none;
text-decoration: none;
}
.buttonsmall {
visibility: inherit;
}
.buttonstrong {
font-size: 0.933333333333333rem;
font-weight: 700;
text-transform: uppercase;
padding: 0.714285714285714em 1.071428571428571em;
}
.buttoninactive {
background-color: #eee;
}
.buttoninactive:hover,
.buttoninactive:focus {
background-color: #eee;
}
.buttonprimary {
background-color: #008fcc;
}
.buttonprimary:hover,
.buttonprimary:focus {
background-color: #0081b8;
}
.buttonred {
background-color: #e94a1b;
}
.buttonred:hover,
.buttonred:focus {
background-color: #d54115;
}
.buttonrefresh {
background-image: url("data:image/png;base64,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");
}
.buttonrefresh,
.buttonarrowdown {
background-repeat: no-repeat;
background-position: left top;
background-size: cover;
width: 2.333333333333333em;
height: 0;
padding: 2.333333333333333em 0 0 0;
border: 0;
overflow: hidden;
}
.buttonsearch {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo2NTg0MEE1MTVFN0UxMUU0QkNGMTk0Q0UzOUEwNUNFMyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo2NTg0MEE1MjVFN0UxMUU0QkNGMTk0Q0UzOUEwNUNFMyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjY1ODQwQTRGNUU3RTExRTRCQ0YxOTRDRTM5QTA1Q0UzIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjY1ODQwQTUwNUU3RTExRTRCQ0YxOTRDRTM5QTA1Q0UzIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+tERf2gAAArFJREFUeNrMmE1kXFEUx28SwjAMjxCGIQwhzCoMQysVugqlhJBVyCqLbELpqtmEUFJddZFNFhVSpd20uqgw1VIhixgSIqREYiKRSExkhNTruZzhOO5999737m3m8DdzZt6773fP/Trn9cRxLBysD/QUNAaKQEP4eQI6xc/voN/Cl0lAC1VBG6Cr2M6aoHegkmX7WpkuKIPW4/R2B1oBRSEAJ0G3BoAz0DaoZbjuGEfBG+CS5kG7oFegiua+MYxYU3Gv7OyUD0AV3CFo2qHhHGhBM2efZQGcUjT4ER+YZg7JRbLF2msljEAiYFkx515nXYXYuS+s3QNQvyvghiJywpPyoAZr/4ULYFXRw5xHQKkh3HY6dmGz/fTifv2S7d+LoLbwa39Ab4gvT6BZm5MkYj3b9Rw5qojN84ZNBB+B+gnzexHOLvGs7lgFVEy6oQNI7asIax+YP2oCLBP/BrQXGHCH+RUT4ADxZcr0NzDgEfMLJsA88dsivN0wP2cCvCZ+/j8ARsw/NwGeEr+IWXNIK7kC7hNfbje1wIA1xQaeCPiL/TYRGHCSzfkfppMkx/K2Q9tMI2X6dU+e9dPmJGmzzVNWanOBorfE5viqbVWnyjSKnqNXY9E7thkp6qywlGvLY8pVVNQpc64Ja4S9ovbJA2QJMyRqm2lrkqoi7W9kKMBrmgpvPEtVN60pGZdBBYeorRnePAxnqYufa4rxFg677MQoSdlL6MtS8xtbDJkgk/6s4J7ow+qgCcVwGyFtC/CLlGBNtlpHXCFtJ3sBQesWUPe4Smc0+5wTZI/j+0GBCa488Acx+xkk7waP8Gw15ZUjoE28lybLT1jyIkTACs4kq0g+JKAV5EMDGiHTzMEQNgyqK+bk424B1EF+7hXdY/u4immNJLopgh2TLxLe4vf5fwIMADtbDGrkqxb2AAAAAElFTkSuQmCC");
background-color: transparent;
background-size: contain;
background-position: center center;
background-repeat: no-repeat;
width: 1.333333333333333em;
height: 1.333333333333333em;
padding: 0;
}
.buttonsearch:hover,
.buttonsearch:focus {
background-color: transparent;
outline: none;
text-decoration: none;
}
.buttonarrowdown {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAALFJREFUeNrs1TEOgjAUxnFx5iDscgPvwXkYuYdXwBPgAYwrsxPGIAPPvKQkxLQO5UE0+X9J06Ff0186tImI7H45CUCAAAECBAgQIMA1s1+y+dkUpUXna/QGY0Z/q0QztCcJddyauG7UOdHA8XWXKT7khNO47rbArj5kIeQnTrubA0NIS9xioA9piTMB+pBWODPgHGmJ02H6UD/OeaZzerxc+eoAAgQIECBAgAD/AvgWYACm/8hEADYaXwAAAABJRU5ErkJggg==");
width: 2.666666666666667em;
padding: 2.733333333333333em 0 0 0;
}
.buttonarrowrightwhite:after {
content: '';
display: inline-block;
margin-left: 0.666666666666667em;
width: 0.466666666666667em;
height: 0.8em;
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAMCAYAAACulacQAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAFtJREFUeNpi+P///wEgPgzEokDMgIxBxMn/EHAVXQGIkIBKYCiAqUJXIIEsiVUBA5ojRJEUnGFiwAR/ofQvXLpQjMXpILxeOY8rEEAOegfER4DYAYhfI7sMIMAAiXvwy2upI1UAAAAASUVORK5CYII=");
background-size: contain;
background-repeat: no-repeat;
}
.label {
display: inline-block;
font-size: 0.8rem;
font-weight: 600;
color: #fff;
padding: 0.066666666666667em 0.666666666666667em;
position: relative;
margin-left: 0.833333333333333em;
height: 1.666666666666667em;
line-height: 1.666666666666667em;
}
.label:before {
content: '';
position: absolute;
top: 0;
left: -0.833333333333333em;
width: 0;
height: 0;
border-top: 0.833333333333333em solid transparent;
border-bottom: 0.833333333333333em solid transparent;
border-right: 0.833333333333333em solid transparent;
}
.labellarge {
height: 2em;
line-height: 1.75em;
margin-left: 1em;
}
.labellarge:before {
left: -1em;
border-top-width: 1em;
border-bottom-width: 1em;
border-right-width: 1em;
}
.label[datalabeltype='live'] {
background-color: #e94a1b;
vertical-align: middle;
margin-top: -0.416666666666667em;
}
.label[datalabeltype='live']:before {
border-right-color: #e94a1b;
}
.label[datalabeltype='finished'] {
background-color: #8ab54e;
vertical-align: middle;
margin-top: -0.416666666666667em;
}
.label[datalabeltype='finished']:before {
border-right-color: #8ab54e;
}
.label[datalabeltype='progress'] {
background-color: #f0ab00;
vertical-align: middle;
margin-top: -0.416666666666667em;
}
.label[datalabeltype='progress']:before {
border-right-color: #f0ab00;
}
.label[datalabeltype='upcoming'] {
color: #333;
background-color: #eee;
vertical-align: middle;
margin-top: -0.416666666666667em;
}
.label[datalabeltype='upcoming']:before {
border-right-color: #eee;
}
.label[datalabeltype='new'],
.label[datalabeltype='updated'] {
background-color: #f0ab00;
text-transform: uppercase;
vertical-align: middle;
}
.label[datalabeltype='new']:before,
.label[datalabeltype='updated']:before {
border-right-color: #f0ab00;
}
.label[datalabeltype='ess'] {
background-color: #a71724;
}
.label[datalabeltype='ess']:before {
border-right-color: #a71724;
}
.label[datalabeltype='worldcup'] {
background-color: #c79242;
}
.label[datalabeltype='worldcup']:before {
border-right-color: #c79242;
}
.label[datalabeltype='bundesliga'] {
background-color: #005fa7;
}
.label[datalabeltype='bundesliga']:before {
border-right-color: #005fa7;
}
.morelink {
color: #008fcc;
text-transform: uppercase;
text-align: center;
font-size: 0.933333333333333em;
font-weight: 700;
padding: 1.866666666666667em;
display: block;
text-decoration: none;
}
.morelink:hover,
.morelink:focus {
text-decoration: underline;
}
.dummy {
font-size: 1rem;
min-height: 25em;
position: relative;
}
.dummy:after {
content: 'Dummy content';
position: absolute;
top: 50%;
left: 50%;
font-weight: 700;
font-size: 6em;
color: #f7f7f7;
text-shadow: 1px 1px 0 #eee, 2px 2px 0 #eee, 3px 3px 0 #eee, 4px 4px 0 #eee, 5px 5px 0 #eee, 6px 6px 0 #eee, 7px 7px 0 #eee;
margin: -100px 0 0 -350px;
}
.mainsection {
padding-top: 5.333333333333333em;
padding-bottom: 5.333333333333333em;
}
.mainsection_header {
text-align: center;
margin-bottom: 3.666666666666667em;
}
.mainsection_header p {
margin-top: 0;
font-size: 1.2em;
}
.mainsection_header_title {
margin: 0;
font-size: 2.4em;
text-align: center;
}
.mainsection_navigation {
text-align: center;
}
.lightbox {
font-size: 1rem;
}
.lightbox_overlay {
display: none;
font-size: 1rem;
background: rgba(0,0,0,0.75);
width: 100%;
height: 100%;
position: fixed;
left: 0;
top: 0;
z-index: 10;
-webkit-transition: opacity 0.3s ease;
-moz-transition: opacity 0.3s ease;
transition: opacity 0.3s ease;
}
.lightbox_content {
position: absolute;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%, -50%);
-moz-transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
max-width: 90%;
max-height: 90%;
overflow: hidden;
}
.lightbox_close {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAHVJREFUeNqsk4EJACEIReWawY2bMLh5LME7JNQEE4So/x9pCUTUVvaVuBKSieJpIAuOkYSgaDn6t/EmIdrMHtQHJ4g2/5pd4EFM8w7whK7ZAliQEZWWaVbY3AeqcbuEUhMj4fEZ8XTV6CNlzC7kyjCVxnkKMABEXRUAnXsRRQAAAABJRU5ErkJggg==");
background-repeat: no-repeat;
background-position: center center;
width: 1.333333333333333em;
height: 0;
padding-top: 1.333333333333333em;
position: absolute;
top: 1.333333333333333em;
right: 1.333333333333333em;
cursor: pointer;
z-index: 2;
}
.stickyheader {
background: inherit;
}
.slideto {
background: inherit;
border-bottom: 0.266666666666667em solid transparent;
}
.slidetonav {
background: inherit;
}
.slidetoactive {
border-bottom-color: #f0ab00;
text-decoration: none;
color: #dedede;
}
.slidetoactive:hover,
.slidetoactive:focus {
border-bottom-color: #d89a00;
}
@@ -0,0 +1,450 @@
/**
* The grid styles
*/
.grid,
.stackenblochen {
display: block;
width: 100%;
max-width: 80rem;
list-style: none;
margin: 0 auto;
zoom: 1;
}
.grid:before,
.stackenblochen:before,
.grid:after,
.stackenblochen:after {
content: "";
display: table;
}
.grid:after,
.stackenblochen:after {
clear: both;
}
.grid *,
.stackenblochen * {
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.grid .grid,
.stackenblochen .grid,
.grid .stackenblochen,
.stackenblochen .stackenblochen {
width: auto;
max-width: none;
margin-left: -1rem;
margin-right: -1rem;
}
.column,
.columns {
float: left;
padding: 0 1rem;
position: relative;
width: 100%;
}
.column img,
.columns img {
max-width: 100%;
height: auto;
ms-interpolation-mode: bicubic;
}
.small1 {
width: 8.3333333333333%;
}
.small2 {
width: 16.6666666666667%;
}
.small3 {
width: 25%;
}
.small4 {
width: 33.3333333333333%;
}
.small5 {
width: 41.6666666666667%;
}
.small6 {
width: 50%;
}
.small7 {
width: 58.3333333333333%;
}
.small8 {
width: 66.6666666666667%;
}
.small9 {
width: 75%;
}
.small10 {
width: 83.3333333333333%;
}
.small11 {
width: 91.6666666666667%;
}
.small12 {
width: 100%;
}
.smalloffset0 {
margin-left: 0% !important;
}
.smalloffset1 {
margin-left: 8.3333333333333% !important;
}
.smalloffset2 {
margin-left: 16.6666666666667% !important;
}
.smalloffset3 {
margin-left: 25% !important;
}
.smalloffset4 {
margin-left: 33.3333333333333% !important;
}
.smalloffset5 {
margin-left: 41.6666666666667% !important;
}
.smalloffset6 {
margin-left: 50% !important;
}
.smalloffset7 {
margin-left: 58.3333333333333% !important;
}
.smalloffset8 {
margin-left: 66.6666666666667% !important;
}
.smalloffset9 {
margin-left: 75% !important;
}
.smalloffset10 {
margin-left: 83.3333333333333% !important;
}
.smalloffset11 {
margin-left: 91.6666666666667% !important;
}
.showonsmall {
display: inherit !important;
}
.hideonsmall {
display: none !important;
}
table.showonsmall {
display: table !important;
}
tr.showonsmall {
display: table-row !important;
}
td.showonsmall,
th.showonsmall {
display: table-cell !important;
}
.showonmedium {
display: none !important;
}
.hideonmedium {
display: inherit !important;
}
table.hideonmedium {
display: table !important;
}
tr.hideonmedium {
display: table-row !important;
}
td.hideonmedium,
th.hideonmedium {
display: table-cell !important;
}
.showonlarge {
display: none !important;
}
.hideonlarge {
display: inherit !important;
}
table.hideonlarge {
display: table !important;
}
tr.hideonlarge {
display: table-row !important;
}
td.hideonlarge,
th.hideonlarge {
display: table-cell !important;
}
.column.smallcentered,
.columns.smallcentered {
margin-left: auto;
margin-right: auto;
float: none;
}
.column.smalluncentered,
.columns.smalluncentered {
margin-left: 0;
margin-right: 0;
float: left !important;
}
@media (min-width: 45em) {
.medium1 {
width: 8.3333333333333%;
}
.medium2 {
width: 16.6666666666667%;
}
.medium3 {
width: 25%;
}
.medium4 {
width: 33.3333333333333%;
}
.medium5 {
width: 41.6666666666667%;
}
.medium6 {
width: 50%;
}
.medium7 {
width: 58.3333333333333%;
}
.medium8 {
width: 66.6666666666667%;
}
.medium9 {
width: 75%;
}
.medium10 {
width: 83.3333333333333%;
}
.medium11 {
width: 91.6666666666667%;
}
.medium12 {
width: 100%;
}
.mediumoffset0 {
margin-left: 0% !important;
}
.mediumoffset1 {
margin-left: 8.3333333333333% !important;
}
.mediumoffset2 {
margin-left: 16.6666666666667% !important;
}
.mediumoffset3 {
margin-left: 25% !important;
}
.mediumoffset4 {
margin-left: 33.3333333333333% !important;
}
.mediumoffset5 {
margin-left: 41.6666666666667% !important;
}
.mediumoffset6 {
margin-left: 50% !important;
}
.mediumoffset7 {
margin-left: 58.3333333333333% !important;
}
.mediumoffset8 {
margin-left: 66.6666666666667% !important;
}
.mediumoffset9 {
margin-left: 75% !important;
}
.mediumoffset10 {
margin-left: 83.3333333333333% !important;
}
.mediumoffset11 {
margin-left: 91.6666666666667% !important;
}
.showonsmall {
display: none !important;
}
.hideonsmall {
display: inherit !important;
}
table.hideonsmall {
display: table !important;
}
tr.hideonsmall {
display: table-row !important;
}
td.hideonsmall,
th.hideonsmall {
display: table-cell !important;
}
.showonmedium {
display: inherit !important;
}
.hideonmedium {
display: none !important;
}
table.showonmedium {
display: table !important;
}
tr.showonmedium {
display: table-row !important;
}
td.showonmedium,
th.showonmedium {
display: table-cell !important;
}
.showonlarge {
display: none !important;
}
.hideonlarge {
display: inherit !important;
}
table.hideonlarge {
display: table !important;
}
tr.hideonlarge {
display: table-row !important;
}
td.hideonlarge,
th.hideonlarge {
display: table-cell !important;
}
.column.mediumcentered,
.columns.mediumcentered {
margin-left: auto;
margin-right: auto;
float: none;
}
.column.mediumuncentered,
.columns.mediumuncentered {
margin-left: 0;
margin-right: 0;
float: left !important;
}
}
@media (min-width: 61em) {
.large1 {
width: 8.3333333333333%;
}
.large2 {
width: 16.6666666666667%;
}
.large3 {
width: 25%;
}
.large4 {
width: 33.3333333333333%;
}
.large5 {
width: 41.6666666666667%;
}
.large6 {
width: 50%;
}
.large7 {
width: 58.3333333333333%;
}
.large8 {
width: 66.6666666666667%;
}
.large9 {
width: 75%;
}
.large10 {
width: 83.3333333333333%;
}
.large11 {
width: 91.6666666666667%;
}
.large12 {
width: 100%;
}
.largeoffset0 {
margin-left: 0% !important;
}
.largeoffset1 {
margin-left: 8.3333333333333% !important;
}
.largeoffset2 {
margin-left: 16.6666666666667% !important;
}
.largeoffset3 {
margin-left: 25% !important;
}
.largeoffset4 {
margin-left: 33.3333333333333% !important;
}
.largeoffset5 {
margin-left: 41.6666666666667% !important;
}
.largeoffset6 {
margin-left: 50% !important;
}
.largeoffset7 {
margin-left: 58.3333333333333% !important;
}
.largeoffset8 {
margin-left: 66.6666666666667% !important;
}
.largeoffset9 {
margin-left: 75% !important;
}
.largeoffset10 {
margin-left: 83.3333333333333% !important;
}
.largeoffset11 {
margin-left: 91.6666666666667% !important;
}
.showonsmall {
display: none !important;
}
.hideonsmall {
display: inherit !important;
}
table.hideonsmall {
display: table !important;
}
tr.hideonsmall {
display: table-row !important;
}
td.hideonsmall,
th.hideonsmall {
display: table-cell !important;
}
.showonmedium {
display: none !important;
}
.hideonmedium {
display: inherit !important;
}
table.hideonmedium {
display: table !important;
}
tr.hideonmedium {
display: table-row !important;
}
td.hideonmedium,
th.hideonmedium {
display: table-cell !important;
}
.showonlarge {
display: inherit !important;
}
.hideonlarge {
display: none !important;
}
table.showonlarge {
display: table !important;
}
tr.showonlarge {
display: table-row !important;
}
td.showonlarge,
th.showonlarge {
display: table-cell !important;
}
.column.largecentered,
.columns.largecentered {
margin-left: auto;
margin-right: auto;
float: none;
}
.column.largeuncentered,
.columns.largeuncentered {
margin-left: 0;
margin-right: 0;
float: left !important;
}
}
@@ -0,0 +1,53 @@
package com.sap.sse.gwt.theme.client.showcase;
import com.google.gwt.core.client.GWT;
import com.google.gwt.dom.client.DivElement;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiChild;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.SimplePanel;
import com.google.gwt.user.client.ui.Widget;
public class ComponentShowCase extends Composite {
private static ComponentShowCaseUiBinder uiBinder = GWT.create(ComponentShowCaseUiBinder.class);
interface ComponentShowCaseUiBinder extends UiBinder<Widget, ComponentShowCase> {
}
@UiField
DivElement componentNameUi;
@UiField
SimplePanel componentDescriptionUi;
@UiField
SimplePanel componentPanelUi;
private String name;
public ComponentShowCase() {
initWidget(uiBinder.createAndBindUi(this));
}
public void setName(String name) {
this.name = name;
componentNameUi.setInnerText(name);
}
@UiChild
public void addDescription(Widget description) {
componentDescriptionUi.setWidget(description);
}
@UiChild
public void addComponent(Widget w) {
componentPanelUi.setWidget(w);
}
public String getName() {
return this.name;
}
}
@@ -0,0 +1,30 @@
<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"
xmlns:g="urn:import:com.google.gwt.user.client.ui">
<ui:style>
.outerpanel {
margin: 20px;
}
.componentName {
font-size: 20px;
font-weight: bold;
magin-bottom: 10px;
}
.componentDescription {
margin-bottom: 30px;
border-bottom: 3px solid black;
padding: 20px;
width: 100%;
}
</ui:style>
<g:HTMLPanel styleName="{style.outerpanel}">
<div class="{style.componentName}" ui:field="componentNameUi"></div>
<g:SimplePanel styleName="{style.componentDescription}" ui:field="componentDescriptionUi">
</g:SimplePanel>
<g:SimplePanel ui:field="componentPanelUi">
</g:SimplePanel>
</g:HTMLPanel>
</ui:UiBinder>
@@ -0,0 +1,30 @@
package com.sap.sse.gwt.theme.client.showcase;
import com.google.gwt.core.client.GWT;
import com.google.gwt.dom.client.Style.Unit;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.SimplePanel;
import com.google.gwt.user.client.ui.Widget;
public class MainPage extends Composite {
private static MainPageUiBinder uiBinder = GWT.create(MainPageUiBinder.class);
interface MainPageUiBinder extends UiBinder<Widget, MainPage> {
}
@UiField(provided = true)
SimplePanel contentUi;
@UiField(provided = true)
ShowcaseStackLayoutPanel stackLayoutPanelUi;
public MainPage() {
contentUi = new SimplePanel();
stackLayoutPanelUi = new ShowcaseStackLayoutPanel(Unit.EM);
stackLayoutPanelUi.setTarget(contentUi);
initWidget(uiBinder.createAndBindUi(this));
}
}
@@ -0,0 +1,33 @@
<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"
xmlns:g="urn:import:com.google.gwt.user.client.ui"
xmlns:ux="urn:import:com.sap.sse.gwt.theme.client.showcase">
<g:LayoutPanel>
<g:layer left="0" width="200">
<ux:ShowcaseStackLayoutPanel ui:field="stackLayoutPanelUi" unit="EM">
<ux:stack>
<ux:header size="3">Styleguide</ux:header>
<ux:Section>
<ux:item name="Typeface Open Sans">
<g:HTMLPanel>tbd.</g:HTMLPanel>
</ux:item>
</ux:Section>
</ux:stack>
<ux:stack>
<ux:header size="3">Components</ux:header>
<ux:Section>
<ux:item name="SAP Header">
<ux:sapheader.SAPHeaderShowcase />
</ux:item>
<ux:item name="Recent Event">
<ux:recentevent.RecentEventShowcase />
</ux:item>
</ux:Section>
</ux:stack>
</ux:ShowcaseStackLayoutPanel>
</g:layer>
<g:layer left="200" right="0">
<g:ScrollPanel><g:SimplePanel ui:field="contentUi" /></g:ScrollPanel>
</g:layer>
</g:LayoutPanel>
</ui:UiBinder>
@@ -0,0 +1,50 @@
package com.sap.sse.gwt.theme.client.showcase;
import com.google.gwt.core.client.GWT;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiChild;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.user.client.ui.AcceptsOneWidget;
import com.google.gwt.user.client.ui.Anchor;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.FlowPanel;
import com.google.gwt.user.client.ui.SimplePanel;
import com.google.gwt.user.client.ui.Widget;
public class Section extends Composite {
private static ShowCaseSectionUiBinder uiBinder = GWT.create(ShowCaseSectionUiBinder.class);
interface ShowCaseSectionUiBinder extends UiBinder<Widget, Section> {
}
private AcceptsOneWidget target;
@UiField
FlowPanel panelUi;
public Section() {
initWidget(uiBinder.createAndBindUi(this));
}
public void setTargetContentArea(AcceptsOneWidget target) {
this.target = target;
}
@UiChild
public void addItem(final Widget widget, String name) {
SimplePanel p = new SimplePanel();
Anchor showCaseItem = new Anchor(name);
p.setWidget(showCaseItem);
showCaseItem.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
target.setWidget(widget);
}
});
panelUi.add(p);
}
}
@@ -0,0 +1,6 @@
<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"
xmlns:g="urn:import:com.google.gwt.user.client.ui">
<g:FlowPanel ui:field="panelUi">
</g:FlowPanel>
</ui:UiBinder>
@@ -0,0 +1,27 @@
package com.sap.sse.gwt.theme.client.showcase;
import com.google.gwt.dom.client.Style.Unit;
import com.google.gwt.user.client.ui.SimplePanel;
import com.google.gwt.user.client.ui.StackLayoutPanel;
import com.google.gwt.user.client.ui.Widget;
public class ShowcaseStackLayoutPanel extends StackLayoutPanel {
private SimplePanel target;
public ShowcaseStackLayoutPanel(Unit unit) {
super(unit);
}
public void setTarget(SimplePanel target) {
this.target = target;
}
@Override
public void add(Widget widget, String header, boolean asHtml, double headerSize) {
if (widget instanceof Section) {
Section section = (Section) widget;
section.setTargetContentArea(target);
}
super.add(widget, header, asHtml, headerSize);
}
}
@@ -0,0 +1,131 @@
package com.sap.sse.gwt.theme.client.showcase.recentevent;
import java.util.Date;
import com.google.gwt.core.client.GWT;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.user.client.Command;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.Widget;
import com.sap.sse.gwt.theme.client.component.recentevent.RecentEvent;
import com.sap.sse.gwt.theme.client.component.recentevent.RecentEventData;
public class RecentEventShowcase extends Composite {
private static RecentEventShowcaseUiBinder uiBinder = GWT.create(RecentEventShowcaseUiBinder.class);
interface RecentEventShowcaseUiBinder extends UiBinder<Widget, RecentEventShowcase> {
}
@UiField(provided = true)
RecentEvent finishedItem;
@UiField(provided = true)
RecentEvent liveItem;
public RecentEventShowcase() {
finishedItem = new RecentEvent(new RecentEventData() {
@Override
public boolean isLive() {
return false;
}
@Override
public String getVenue() {
return "Venue1";
}
@Override
public String getLocation() {
return "Loc1";
}
@Override
public Date getEventStart() {
return new Date();
}
@Override
public String getEventName() {
return "SomeName";
}
@Override
public String getEventImageUrl() {
return "http://demotivators.despair.com/demotivational/mistakesdemotivator.jpg";
}
@Override
public Date getEventEnd() {
return new Date();
}
@Override
public Command getCommand() {
return new Command() {
@Override
public void execute() {
Window.alert("done");
}
};
}
});
liveItem = new RecentEvent(new RecentEventData() {
@Override
public boolean isLive() {
return true;
}
@Override
public String getVenue() {
return "Venue2";
}
@Override
public String getLocation() {
return "Loc2";
}
@Override
public Date getEventStart() {
return new Date();
}
@Override
public String getEventName() {
return "SomeName";
}
@Override
public String getEventImageUrl() {
return "http://demotivators.despair.com/demotivational/mistakesdemotivator.jpg";
}
@Override
public Date getEventEnd() {
return new Date();
}
@Override
public Command getCommand() {
return new Command() {
@Override
public void execute() {
Window.alert("done");
}
};
}
});
initWidget(uiBinder.createAndBindUi(this));
}
}
@@ -0,0 +1,35 @@
<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"
xmlns:g="urn:import:com.google.gwt.user.client.ui"
xmlns:ux="urn:import:com.sap.sse.gwt.theme.client.showcase"
xmlns:ubi="urn:import:com.sap.sse.gwt.theme.client.component.recentevent">
<ui:style>
.holder {
width: 400px;
display: block;
magin: 10px;
}
</ui:style>
<ux:ComponentShowCase name="Recent Event" >
<ux:description>
<g:HTMLPanel>
This is a very cool recent event widget.
<p>Import: xmlns:ubi="urn:import:com.sap.sse.gwt.theme.client.sailing"</p>
</g:HTMLPanel>
</ux:description>
<ux:component>
<g:HTMLPanel>
<p style="clear: both;">FINISHED:</p>
<div class="{style.holder}">
<ubi:RecentEvent ui:field="finishedItem"></ubi:RecentEvent>
</div>
<p style="clear: both;">LIVE:</p>
<div class="{style.holder}">
<ubi:RecentEvent ui:field="liveItem"></ubi:RecentEvent>
</div>
</g:HTMLPanel>
</ux:component>
</ux:ComponentShowCase>
</ui:UiBinder>
@@ -0,0 +1,25 @@
package com.sap.sse.gwt.theme.client.showcase.sapheader;
import com.google.gwt.core.client.GWT;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.Widget;
import com.sap.sse.gwt.theme.client.component.sapheader.SAPHeader;
public class SAPHeaderShowcase extends Composite {
private static SAPHeaderShowcaseUiBinder uiBinder = GWT.create(SAPHeaderShowcaseUiBinder.class);
interface SAPHeaderShowcaseUiBinder extends UiBinder<Widget, SAPHeaderShowcase> {
}
@UiField(provided = true)
SAPHeader sapHeader;
public SAPHeaderShowcase() {
sapHeader = new SAPHeader("Sailing Analytics", "Demo page", false);
initWidget(uiBinder.createAndBindUi(this));
}
}
@@ -0,0 +1,29 @@
<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"
xmlns:g="urn:import:com.google.gwt.user.client.ui"
xmlns:ux="urn:import:com.sap.sse.gwt.theme.client.showcase"
xmlns:sap="urn:import:com.sap.sse.gwt.theme.client.component.sapheader">
<ui:style>
.holder {
width: 400px;
display: block;
magin: 10px;
}
</ui:style>
<ux:ComponentShowCase name="SAP Header" >
<ux:description>
<g:HTMLPanel>
A simple header with SAP logo and title.
<p>Import: xmlns:sap="urn:import:com.sap.sse.gwt.theme.client.component.sapheader"</p>
</g:HTMLPanel>
</ux:description>
<ux:component>
<g:HTMLPanel>
<div class="{style.holder}">
<sap:SAPHeader ui:field="sapHeader"></sap:SAPHeader>
</div>
</g:HTMLPanel>
</ux:component>
</ux:ComponentShowCase>
</ui:UiBinder>
@@ -0,0 +1,24 @@
<section class="style-guide">
<div class="style-guide__headline">Typeface Open Sans</div>
<div class="style-guide__row">
<div class="style-guide__row__description large-3">
<div class="style-guide__row__description__title">REGULAR</div><a href="javascript:return" class="style-guide__row__description__code-link">&lt;/&gt;</a>
</div>
<div class="style-guide__row__content large-9 style-guide-details__typeface--regular">Grumpy wizards make toxic brew for the evil queen and jack.</div>
<div class="style-guide__row__code large-9 large-offset-3">Code und sooo</div>
</div>
<div class="style-guide__row">
<div class="style-guide__row__description large-3">
<div class="style-guide__row__description__title">SEMIBOLD</div><a href="javascript:return" class="style-guide__row__description__code-link">&lt;/&gt;</a>
</div>
<div class="style-guide__row__content large-9 style-guide-details__typeface--semibold">Grumpy wizards make toxic brew for the evil queen and jack.</div>
<div class="style-guide__row__code large-9 large-offset-3">Code und sooo</div>
</div>
<div class="style-guide__row">
<div class="style-guide__row__description large-3">
<div class="style-guide__row__description__title">BOLD</div><a href="javascript:return" class="style-guide__row__description__code-link">&lt;/&gt;</a>
</div>
<div class="style-guide__row__content large-9 style-guide-details__typeface--bold">Grumpy wizards make toxic brew for the evil queen and jack.</div>
<div class="style-guide__row__code large-9 large-offset-3">Code und sooo</div>
</div>
</section>
@@ -0,0 +1,27 @@
package com.sap.sse.gwt.theme.client.util;
/**
* A utility class to set the browser to fullscreen mode
* @author c5163874 (Frank)
*
*/
public class FullscreenUtil {
public static void requestFullscreen() {
nativeRequestFullScreen();
};
private static native void nativeRequestFullScreen() /*-{
var element = $doc.documentElement;
if(element.requestFullscreen) {
element.requestFullscreen();
} else if(element.mozRequestFullScreen) {
element.mozRequestFullScreen();
} else if(element.webkitRequestFullscreen) {
element.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT);
} else if(element.msRequestFullscreen) {
element.msRequestFullscreen();
}
}-*/;
}