You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@shindig.apache.org by ja...@gmail.com on 2011/07/25 21:31:48 UTC

Fix implementation on gadgets.window.getContainerDimensions API and update some descriptions (issue4800050)

Reviewers: rbaxter85, dev_shindig.apache.org,

Description:
1. Update implementation of gadgets.window.getContainerDimensions based
on latest API which will call the callback function with the dimension
object as parameter.
2. correct the feature docs.

Please review this at http://codereview.appspot.com/4800050/

Affected files:
   content/samplecontainer/examples/media-openGadgets/MediaUIOpenGadgets.js
    
features/src/main/javascript/features/open-views/viewenhancements-container.js
   features/src/main/javascript/features/open-views/viewenhancements.js
   features/src/test/javascript/features/open-views/viewEnhancements-test.js


### Eclipse Workspace Patch 1.0
#P shindig-project
Index:  
content/samplecontainer/examples/media-openGadgets/MediaUIOpenGadgets.js
===================================================================
---  
content/samplecontainer/examples/media-openGadgets/MediaUIOpenGadgets.js	 
(revision 1150846)
+++  
content/samplecontainer/examples/media-openGadgets/MediaUIOpenGadgets.js	 
(working copy)
@@ -349,6 +349,14 @@
     */
    function editMediaItemPopupInGadget(album, mediaItem) {

+    function resultCallback(result) {
+      if (result != null) {
+        console.log('container width = ' + result.width);
+        console.log('container height = ' + result.height);
+      }
+    }
+    gadgets.window.getContainerDimensions(resultCallback);
+
      function callback(newMediaItem) {
        var albumId = mediaItem == null ? album.id : mediaItem.albumId;

Index:  
features/src/main/javascript/features/open-views/viewenhancements-container.js
===================================================================
---  
features/src/main/javascript/features/open-views/viewenhancements-container.js	 
(revision 1150848)
+++  
features/src/main/javascript/features/open-views/viewenhancements-container.js	 
(working copy)
@@ -332,21 +332,28 @@

    /**
     * Gets the dimensions of the container displaying the gadget.
+   *
+   * @param {function}
+   *          resultCallback: Callback function will be called with the  
return
+   *          value as a parameter.
     */
-  function getContainerDimensions() {
+  function getContainerDimensions(resultCallback) {
+    if (resultCallback == null) {
+      return;
+    }
      var el = document.documentElement; // Container
      // element
      if (el !== undefined)
        // return client width and client height
-      return {
+      resultCallback({
          'width' : el.clientWidth,
          'height' : el.clientHeight
-      };
+      });
      else
-      return {
+      resultCallback({
          'width' : -1,
          'height' : -1
-      };
+      });
    }

    osapi.container.Container.addMixin('views', function(container) {
Index: features/src/main/javascript/features/open-views/viewenhancements.js
===================================================================
--- features/src/main/javascript/features/open-views/viewenhancements.js	 
(revision 1150848)
+++ features/src/main/javascript/features/open-views/viewenhancements.js	 
(working copy)
@@ -35,8 +35,8 @@
     *          closes. The function will be called with the return value as  
a
     *          parameter.
     * @param {function}
-   *          idCallback: Callback function to be called with the id of the
-   *          Site which has been opened.
+   *          navigateCallback: Callback function to be called with the
+   *          site and gadget metadata.
     * @param {Object}
     *          opt_params: These are optional parameters which can be used  
to
     *          open gadgets. The following parameters may be included in  
this
@@ -48,9 +48,10 @@
     *          parameters for the view being rendered.
     */

-  gadgets.views.openGadget = function(resultCallback, idCallback,  
opt_params) {
+  gadgets.views.openGadget = function(resultCallback, navigateCallback,
+          opt_params) {
      gadgets.rpc.call('..', 'gadgets.views.openGadget', null,  
resultCallback,
-        idCallback, opt_params);
+        navigateCallback, opt_params);
    };

    /**
@@ -92,14 +93,14 @@
     *          url: URL to a web page to open in a URL site in the  
container.
     *          (Note this should not be a URL to a gadget definition.).
     * @param {function}
-   *          idCallback: Callback function to be called with the id of the
+   *          navigateCallback: Callback function to be called with the
     *          site which has been opened.
     * @param {string=}
     *          opt_viewTarget: Optional parameter,the view that indicates  
where
     *          to open the URL.
     */
-  gadgets.views.openUrl = function(url, idCallback, opt_viewTarget) {
-    gadgets.rpc.call('..', 'gadgets.views.openUrl', null, url, idCallback,
+  gadgets.views.openUrl = function(url, navigateCallback, opt_viewTarget) {
+    gadgets.rpc.call('..', 'gadgets.views.openUrl', null, url,  
navigateCallback,
          opt_viewTarget);
    }

@@ -107,12 +108,12 @@
     * Closes an opened site. If the opt_id parameter is null the container  
will
     * close the calling site.
     *
-   * @param {string}
-   *          opt_id: Optional parameter which specifies what site to  
close.
+   * @param {Object=}
+   *          opt_site: Optional parameter which specifies what site to  
close.
     *          If null it will close the current gadget site.
     */
-  gadgets.views.close = function(id) {
-    gadgets.rpc.call('..', 'gadgets.views.close', null, id);
+  gadgets.views.close = function(opt_site) {
+    gadgets.rpc.call('..', 'gadgets.views.close', null, opt_site);
    };

    /**
@@ -138,7 +139,7 @@
     */
    gadgets.window.getContainerDimensions = function(resultCallback) {
      gadgets.rpc.call('..', 'gadgets.window.getContainerDimensions',
-        resultCallback, null);
+        null, resultCallback);
    }

  }());
Index:  
features/src/test/javascript/features/open-views/viewEnhancements-test.js
===================================================================
---  
features/src/test/javascript/features/open-views/viewEnhancements-test.js	 
(revision 1150704)
+++  
features/src/test/javascript/features/open-views/viewEnhancements-test.js	 
(working copy)
@@ -130,8 +130,8 @@

      this.assertEquals('..', rpcs[0][0]);
      this.assertEquals('gadgets.window.getContainerDimensions', rpcs[0][1]);
-    this.assertEquals(resultCallback, rpcs[0][2]);
-    this.assertNull('Assert null error', rpcs[0][3]);
+    this.assertNull('Assert null error', rpcs[0][2]);
+    this.assertEquals(resultCallback, rpcs[0][3]);
    };

  })();



Re: Fix implementation on gadgets.window.getContainerDimensions API and update some descriptions (issue4800050)

Posted by Henry Saputra <he...@gmail.com>.
Hi,

Could you move this review to https://reviews.apache.org?

- Henry

On Mon, Jul 25, 2011 at 12:31 PM,  <ja...@gmail.com> wrote:
> Reviewers: rbaxter85, dev_shindig.apache.org,
>
> Description:
> 1. Update implementation of gadgets.window.getContainerDimensions based
> on latest API which will call the callback function with the dimension
> object as parameter.
> 2. correct the feature docs.
>
> Please review this at http://codereview.appspot.com/4800050/
>
> Affected files:
>  content/samplecontainer/examples/media-openGadgets/MediaUIOpenGadgets.js
>  features/src/main/javascript/features/open-views/viewenhancements-container.js
>  features/src/main/javascript/features/open-views/viewenhancements.js
>  features/src/test/javascript/features/open-views/viewEnhancements-test.js
>
>
> ### Eclipse Workspace Patch 1.0
> #P shindig-project
> Index:
> content/samplecontainer/examples/media-openGadgets/MediaUIOpenGadgets.js
> ===================================================================
> --- content/samplecontainer/examples/media-openGadgets/MediaUIOpenGadgets.js
>    (revision 1150846)
> +++ content/samplecontainer/examples/media-openGadgets/MediaUIOpenGadgets.js
>    (working copy)
> @@ -349,6 +349,14 @@
>    */
>   function editMediaItemPopupInGadget(album, mediaItem) {
>
> +    function resultCallback(result) {
> +      if (result != null) {
> +        console.log('container width = ' + result.width);
> +        console.log('container height = ' + result.height);
> +      }
> +    }
> +    gadgets.window.getContainerDimensions(resultCallback);
> +
>     function callback(newMediaItem) {
>       var albumId = mediaItem == null ? album.id : mediaItem.albumId;
>
> Index:
> features/src/main/javascript/features/open-views/viewenhancements-container.js
> ===================================================================
> ---
> features/src/main/javascript/features/open-views/viewenhancements-container.js
>      (revision 1150848)
> +++
> features/src/main/javascript/features/open-views/viewenhancements-container.js
>      (working copy)
> @@ -332,21 +332,28 @@
>
>   /**
>    * Gets the dimensions of the container displaying the gadget.
> +   *
> +   * @param {function}
> +   *          resultCallback: Callback function will be called with the
> return
> +   *          value as a parameter.
>    */
> -  function getContainerDimensions() {
> +  function getContainerDimensions(resultCallback) {
> +    if (resultCallback == null) {
> +      return;
> +    }
>     var el = document.documentElement; // Container
>     // element
>     if (el !== undefined)
>       // return client width and client height
> -      return {
> +      resultCallback({
>         'width' : el.clientWidth,
>         'height' : el.clientHeight
> -      };
> +      });
>     else
> -      return {
> +      resultCallback({
>         'width' : -1,
>         'height' : -1
> -      };
> +      });
>   }
>
>   osapi.container.Container.addMixin('views', function(container) {
> Index: features/src/main/javascript/features/open-views/viewenhancements.js
> ===================================================================
> --- features/src/main/javascript/features/open-views/viewenhancements.js
>    (revision 1150848)
> +++ features/src/main/javascript/features/open-views/viewenhancements.js
>    (working copy)
> @@ -35,8 +35,8 @@
>    *          closes. The function will be called with the return value as a
>    *          parameter.
>    * @param {function}
> -   *          idCallback: Callback function to be called with the id of the
> -   *          Site which has been opened.
> +   *          navigateCallback: Callback function to be called with the
> +   *          site and gadget metadata.
>    * @param {Object}
>    *          opt_params: These are optional parameters which can be used to
>    *          open gadgets. The following parameters may be included in this
> @@ -48,9 +48,10 @@
>    *          parameters for the view being rendered.
>    */
>
> -  gadgets.views.openGadget = function(resultCallback, idCallback,
> opt_params) {
> +  gadgets.views.openGadget = function(resultCallback, navigateCallback,
> +          opt_params) {
>     gadgets.rpc.call('..', 'gadgets.views.openGadget', null, resultCallback,
> -        idCallback, opt_params);
> +        navigateCallback, opt_params);
>   };
>
>   /**
> @@ -92,14 +93,14 @@
>    *          url: URL to a web page to open in a URL site in the container.
>    *          (Note this should not be a URL to a gadget definition.).
>    * @param {function}
> -   *          idCallback: Callback function to be called with the id of the
> +   *          navigateCallback: Callback function to be called with the
>    *          site which has been opened.
>    * @param {string=}
>    *          opt_viewTarget: Optional parameter,the view that indicates
> where
>    *          to open the URL.
>    */
> -  gadgets.views.openUrl = function(url, idCallback, opt_viewTarget) {
> -    gadgets.rpc.call('..', 'gadgets.views.openUrl', null, url, idCallback,
> +  gadgets.views.openUrl = function(url, navigateCallback, opt_viewTarget) {
> +    gadgets.rpc.call('..', 'gadgets.views.openUrl', null, url,
> navigateCallback,
>         opt_viewTarget);
>   }
>
> @@ -107,12 +108,12 @@
>    * Closes an opened site. If the opt_id parameter is null the container
> will
>    * close the calling site.
>    *
> -   * @param {string}
> -   *          opt_id: Optional parameter which specifies what site to
> close.
> +   * @param {Object=}
> +   *          opt_site: Optional parameter which specifies what site to
> close.
>    *          If null it will close the current gadget site.
>    */
> -  gadgets.views.close = function(id) {
> -    gadgets.rpc.call('..', 'gadgets.views.close', null, id);
> +  gadgets.views.close = function(opt_site) {
> +    gadgets.rpc.call('..', 'gadgets.views.close', null, opt_site);
>   };
>
>   /**
> @@ -138,7 +139,7 @@
>    */
>   gadgets.window.getContainerDimensions = function(resultCallback) {
>     gadgets.rpc.call('..', 'gadgets.window.getContainerDimensions',
> -        resultCallback, null);
> +        null, resultCallback);
>   }
>
>  }());
> Index:
> features/src/test/javascript/features/open-views/viewEnhancements-test.js
> ===================================================================
> ---
> features/src/test/javascript/features/open-views/viewEnhancements-test.js
> (revision 1150704)
> +++
> features/src/test/javascript/features/open-views/viewEnhancements-test.js
> (working copy)
> @@ -130,8 +130,8 @@
>
>     this.assertEquals('..', rpcs[0][0]);
>     this.assertEquals('gadgets.window.getContainerDimensions', rpcs[0][1]);
> -    this.assertEquals(resultCallback, rpcs[0][2]);
> -    this.assertNull('Assert null error', rpcs[0][3]);
> +    this.assertNull('Assert null error', rpcs[0][2]);
> +    this.assertEquals(resultCallback, rpcs[0][3]);
>   };
>
>  })();
>
>
>