Multi-key store
by psoares
HTML
<div id="key"></div>
<pre id="res"></pre>
JavaScript
require(["dojo/_base/declare", "dojo/store/Memory", "dojo/dom", "dojo/html", "dojo/json"],
function(declare, Memory, dom, html, json) {
var data = [{host:"Team1", visitor:"Team8", result:"0-1", season:"2012" },
{host:"Team2", visitor:"Team8", result:"3-3", season:"2012" },
{host:"Team3", visitor:"Team8", result:"3-1", season:"2012" },
{host:"Team1", visitor:"Team8", result:"2-1", season:"2011" },
{host:"Team2", visitor:"Team8", result:"3-2", season:"2011" }];
var CustomStore = declare(Memory, {
getIdentity : function(object) {
return object.host + "," + object.visitor + "," + object.season;
},
get : function(id) {
var keys = id.split(",");
var host = keys[0],
team = keys[1],
season = keys[1];
console.debug("Host : %s, team : %s, season : %d", host, team, season);
return this.index.host == host && this.index.team == team && this.index.season == season;
}
});
var store = new CustomStore({data : data});
console.info(store.index);
html.set(dom.byId("id"), store.getIdentity({host:"Team2", visitor:"Team8", season:2012}));
//html.set(dom.byId("res"), store.get("Team2,Team8,2012"));
});