Author: scottbw
Date: Thu Jan 12 17:18:09 2012
New Revision: 1230648

URL: http://svn.apache.org/viewvc?rev=1230648&view=rev
Log:
Created an example Twitter widget using the Browse template to help demonstrate 
how the templates work - I've included comments in the properties file 
explaining why each property is being overridden. See WOOKIE-295.

Added:
    incubator/wookie/trunk/widgets/templates/widgets/twitter/
    incubator/wookie/trunk/widgets/templates/widgets/twitter/content_footer.html
    incubator/wookie/trunk/widgets/templates/widgets/twitter/content_header.html
    incubator/wookie/trunk/widgets/templates/widgets/twitter/style/
    
incubator/wookie/trunk/widgets/templates/widgets/twitter/style/screen.css.add
    incubator/wookie/trunk/widgets/templates/widgets/twitter/widget.properties

Added: 
incubator/wookie/trunk/widgets/templates/widgets/twitter/content_footer.html
URL: 
http://svn.apache.org/viewvc/incubator/wookie/trunk/widgets/templates/widgets/twitter/content_footer.html?rev=1230648&view=auto
==============================================================================
--- 
incubator/wookie/trunk/widgets/templates/widgets/twitter/content_footer.html 
(added)
+++ 
incubator/wookie/trunk/widgets/templates/widgets/twitter/content_footer.html 
Thu Jan 12 17:18:09 2012
@@ -0,0 +1 @@
+<a class="button" href="#help" data-role="button" data-rel="dialog" 
data-transition="pop" data-icon="info">Help</a>

Added: 
incubator/wookie/trunk/widgets/templates/widgets/twitter/content_header.html
URL: 
http://svn.apache.org/viewvc/incubator/wookie/trunk/widgets/templates/widgets/twitter/content_header.html?rev=1230648&view=auto
==============================================================================
--- 
incubator/wookie/trunk/widgets/templates/widgets/twitter/content_header.html 
(added)
+++ 
incubator/wookie/trunk/widgets/templates/widgets/twitter/content_header.html 
Thu Jan 12 17:18:09 2012
@@ -0,0 +1 @@
+<h3>${widget.name}</h3>

Added: 
incubator/wookie/trunk/widgets/templates/widgets/twitter/style/screen.css.add
URL: 
http://svn.apache.org/viewvc/incubator/wookie/trunk/widgets/templates/widgets/twitter/style/screen.css.add?rev=1230648&view=auto
==============================================================================
--- 
incubator/wookie/trunk/widgets/templates/widgets/twitter/style/screen.css.add 
(added)
+++ 
incubator/wookie/trunk/widgets/templates/widgets/twitter/style/screen.css.add 
Thu Jan 12 17:18:09 2012
@@ -0,0 +1,62 @@
+/*
+ * 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.
+ */
+
+/*
+ * These are some additional CSS properties we've added just for the Twitter
+ * widget. These will be appended to the stylesheet for the widget.
+ */
+ 
+
+/*
+ * Override default ui background with a nice turquoise
+ */
+.ui-page {
+       background-color:#008D99; 
+       background-image: none;
+}
+
+.tweet {
+    font: 100% Georgia, serif;
+    color: #085258;
+}
+
+.tweet_list {
+    border-radius: 0.5em;
+    list-style: none;
+    margin: 0;
+    padding: 0;
+    overflow-y: hidden;
+    background-color: #8ADEE0;
+}
+        
+.tweet_list li {
+    overflow-y: auto;
+    overflow-x: hidden;
+    padding: 0.5em;
+    list-style-type: none;
+}
+
+.tweet_list .tweet_avatar {
+  padding-right: .5em; float: left;
+}
+
+/*
+ * Override slightly annoying text shadow from JQMobile
+ */
+.tweet_text {
+  text-shadow: none;
+}
\ No newline at end of file

Added: 
incubator/wookie/trunk/widgets/templates/widgets/twitter/widget.properties
URL: 
http://svn.apache.org/viewvc/incubator/wookie/trunk/widgets/templates/widgets/twitter/widget.properties?rev=1230648&view=auto
==============================================================================
--- incubator/wookie/trunk/widgets/templates/widgets/twitter/widget.properties 
(added)
+++ incubator/wookie/trunk/widgets/templates/widgets/twitter/widget.properties 
Thu Jan 12 17:18:09 2012
@@ -0,0 +1,60 @@
+template.name=browse
+widget.shortname=twitter
+widget.name=Twitter
+widget.description=See whats happening on Twitter
+widget.help=<p>Initially this widget displays the most recent tweets in the 
Twitter timeline.</p> <p>You can either click on their icon, or expand the 
search form and enter a twitter screen name, to see the most recent tweets from 
a particular person.</p><p>Alternatively, if you leave the search form blank, 
this will show the public timeline again.</p>
+
+#
+# The name of the XML element that represents a single item. In a Twitter XML 
API call, each tweet is in an element called <status>, so this
+# is what we put here.
+# type: string
+#
+browse.item.name="status"
+
+# The URL from which to retrieve data for the browse index. We override this 
with the public timeline API URL for Twitter, so
+# this will give us a mix of the latest public tweets
+#
+# type: string
+# variables: sort = the sort term for APIs that support it
+#            order = the sort order for APIs that support it
+browse.index.url="http://api.twitter.com/1/statuses/public_timeline.xml";
+
+# The URL from which to retrieve search data.
+# We override this here with the user_timeline API URL for twitter, including 
the screenname as the query
+#
+# type: string
+# variables: query = query string entered into the search form
+#            sort = the sort term for APIs that support it
+#            order = the sort order for APIs that support it
+browse.search.url="http://api.twitter.com/1/statuses/user_timeline.xml?screen_name=";
 + query + "&include_entities=true"
+
+#
+# The template string to use for the collection of items to browse. This is 
used to hold
+# the set of items to display. We override this to set the class to 
"tweet_list" and use a UL rather
+# than a DIV
+#
+# type: string
+#
+browse.collection.template = "<div id='results' 
data-role='collapsible-set'><ul class='tweet_list'>${ITEMS}</ul></div>"
+
+#
+# The template string to use for item summaries, representing a single record 
but before
+# the item detail has been retrieved. We override this to provide all the info 
in the summary
+# and not the detail template - this is because the Twitter API is rate 
limited, and we can
+# populate the whole thing directly in one call.
+#
+# Note the OnClick event handler that triggers a search for the user by their 
screen_name. This
+# is missing quotes as these are added at some point in the processing of the 
parameter - if you
+# include a quote or an escape character then between Ant and JQuery something 
will go wrong :(
+# (Still, it works as is)
+#
+# type: string
+#
+browse.item.summary.template = <li class='tweet result' wid='${ID}'><a 
href='#' 
onclick=${widget.shortname}_browse_controller.search('${SCREEN_NAME}')><img 
class='tweet_avatar' alt='Avatar for ${SCREEN_NAME}; click to read more tweets 
from this user' title='See more tweets from ${SCREEN_NAME}'  
src='${PROFILE_IMAGE_URL}'></a><span class='tweet_text'>${TEXT}</span></b><div 
class='detail'></div></li>
+
+#
+# The names of the elements to map into the template placeholders. E.g. if it 
contains "title", then $TITLE in the template 
+# would be replaced by the content of the <title> element in the XML data.
+# In our case these are the important elements returned by the Twitter API.
+#
+browse.item.elements = 
"id,name,screen_name,text,profile_image_url,created_at,source"


Reply via email to