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]);
> };
>
> })();
>
>
>