dojox.data.GoogleFeedStore¶
Author: | Shane O’Sullivan |
---|---|
since: | V1.2 |
Contents
The GoogleFeedStore is a store designed to work against Google’s feed reading AJAX API. This store is an extension of GoogleSearchStore.
Note: These stores make use of Google’s AJAX search and feed services. In order to use them in your web-sites, please make sure to read Google’s terms and conditions and agree to them before using these stores.
Constructor Params¶
The following parameters are supported by the GoogleFeedStore implementation.
name | description | type |
label | The attribute of the search returns to use as the item’s label. Defaults to titleNoFormatting. | string |
key | Your Google API key (optional) | string |
lang | The language locale to use. Defaults to the browser locale. | string |
Item Attributes¶
The following attributes are available on items returned from the GoogleFeedStore
Attribute | Description |
title | The feed entry title. |
link | The URL for the HTML version of the feed entry. |
content | The full content of the blog post, in HTML format |
summary | A snippet of information about the feed entry, in plain text |
published |
|
categories | An array of string tags for the entry |
Query Syntax¶
The query syntax for this store is simple. It takes a single object with the attribute ‘url’, where the value of the feed to retrieve
Query Example¶
{
"url" : "http://news.google.com/nwshp?hl=en&tab=wn&output=atom"
}
Example Usage¶
dojo.require("dijit.form.Button");
dojo.require("dijit.form.TextBox");
dojo.require("dijit.layout.TabContainer");
dojo.require("dijit.layout.ContentPane");
dojo.require("dojox.data.GoogleFeedStore");
dojo.require("dojox.grid.DataGrid");
function hrefFormatter(value){
value = unescape(value);
return "<a href=\"" + value + "\" target=\"_blank\">Link</a>";
};
var layoutResults = [
[
{ field: "title", name: "Title", width: 20 },
{ field: "link", name: "URL", width: 5, formatter: hrefFormatter},
{ field: "summary", name: "Summary", width: 'auto' }
]
];
function init(){
function search(){
var text = dijit.byId("urlText").getValue();
text = dojo.trim(text);
if(text !== "" ){
var query = { url: text };
dijit.byId("feedGrid").setQuery(query);
}
}
dojo.connect(dijit.byId("searchButton"), "onClick", search);
}
dojo.ready(init);
<b>Input feed URL here:</b>
<br>
<br>
<input data-dojo-type="dijit.form.TextBox" style="width:50em;" id="urlText" value="http://news.google.com/nwshp?hl=en&tab=wn&output=atom"></input>
<br>
<div data-dojo-type="dijit.form.Button" id="searchButton">Search!</div>
<div data-dojo-type="dojox.data.GoogleFeedStore" data-dojo-id="feedStore"></div>
<br>
<br>
<div style="width: 750px; height: 300px;">
<div id="feedGrid"
data-dojo-type="dojox.grid.DataGrid"
data-dojo-props="store:feedStore,
structure:'layoutResults',
query:{url:'http://news.google.com/nwshp?hl=en&tab=wn&output=atom'},
rowsPerPage:40">
</div>
</div>
@import "{{baseUrl}}dojox/grid/resources/Grid.css";
@import "{{baseUrl}}dojox/grid/resources/nihiloGrid.css";
.dojoxGrid table {
margin: 0;
}
The following example shows wiring the GoogleFeedStore to dojox.data.DataGrid.