Author: lindner
Date: Sat Mar  1 06:57:57 2008
New Revision: 632597

URL: http://svn.apache.org/viewvc?rev=632597&view=rev
Log:
Implement skins feature as described in SHINDIG-98

Modified:
    incubator/shindig/trunk/config/syndicator.js
    incubator/shindig/trunk/features/skins/skins.js

Modified: incubator/shindig/trunk/config/syndicator.js
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/config/syndicator.js?rev=632597&r1=632596&r2=632597&view=diff
==============================================================================
--- incubator/shindig/trunk/config/syndicator.js (original)
+++ incubator/shindig/trunk/config/syndicator.js Sat Mar  1 06:57:57 2008
@@ -79,4 +79,15 @@
     // requests.
     "useLegacyProtocol" : false,
   },
+  // Skin defaults
+  "skins" : {
+    "properties" : {
+         "BG_COLOR": "",
+         "BG_IMAGE": "",
+         "BG_POSITION": "",
+         "BG_REPEAT": "",
+         "FONT_COLOR": "",
+         "ANCHOR_COLOR": "",
+    }
+  },
 }}

Modified: incubator/shindig/trunk/features/skins/skins.js
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/features/skins/skins.js?rev=632597&r1=632596&r2=632597&view=diff
==============================================================================
--- incubator/shindig/trunk/features/skins/skins.js (original)
+++ incubator/shindig/trunk/features/skins/skins.js Sat Mar  1 06:57:57 2008
@@ -28,20 +28,48 @@
  *     currently shown skin.
  * @name gadgets.skins
  */
-gadgets.skins = gadgets.skins || {};
+gadgets.skins = function() {
+  var skinProperties = {};
+
+  var requiredConfig = {
+    "properties": gadgets.config.ExistsValidator
+  };
+
+  gadgets.config.register("skins", requiredConfig, function(config) {
+        skinProperties = config["skins"].properties;
+      });
 
-/**
- * Fetches the display property mapped to the given key.
- *
- * @param {String} propertyKey The key to get data for;
- *    keys are defined in <a href="gadgets.skins.Property.html"><code>
- *    gadgets.skins.Property</code></a>
- * @return {String} The data
- *
- * @member gadgets.skins
- */
-gadgets.skins.getProperty = function(propertyKey) {};
 
+  return {
+    /**
+     * Override the default properties with a new set of properties.
+     *
+     * @param {Object} properties The mapping of property names to values
+     */
+    init : function(properties) {
+      skinProperties = properties;
+    },
+
+    /**
+     * Fetches the display property mapped to the given key.
+     *
+     * @param {String} propertyKey The key to get data for;
+     *    keys are defined in <a href="gadgets.skins.Property.html"><code>
+     *    gadgets.skins.Property</code></a>
+     * @return {String} The data
+     *
+     * @member gadgets.skins
+     */
+    getProperty : function(propertyKey) {
+
+      var property = skinProperties[propertyKey];
+      if (property) {                                        
+        return property;
+      }
+      return "";
+    }
+  }
+}();
 /**
  * @static
  * @class
@@ -71,8 +99,21 @@
   FONT_COLOR : 'FONT_COLOR',
 
   /**
+   * The positioning of the background image
+   * @member gadgets.skins.Property
+   */
+  BG_POSITION : 'BG_POSITION',
+
+  /**
+   * The repeat characteristics for the background image
+   * @member gadgets.skins.Property
+   */
+  BG_REPEAT : 'BG_REPEAT',
+
+  /**
    * The color that anchor tags should use.
    * @member gadgets.skins.Property
    */
   ANCHOR_COLOR : 'ANCHOR_COLOR'
+
 };


Reply via email to