fluid.fetchResources() Section |
---|
Column |
---|
| Accepts a hash of structures with free keys, where each entry has either href or nodeId set - on completion, callback will be called with the populated structure with fetched resource text in the field resourceText for each entry. Code Block |
---|
| javascript |
---|
| javascript |
---|
bgColor | white |
---|
borderStyle | nonejavascript |
---|
|
fluid.fetchResources(resourceSpecs, callback, options);
|
File name: FluidRequests.js Parameters Span |
---|
| resourceSpecs
| (Object) An object describing the resources to be fetched. The structure of this object is described below. | callback
| (Function) The function to call once all resources have been loaded. | options
| (Object) New in v1.3: Options controlling the behaviour of the function. |
|
Return Value |
| Resource SpecificationThe first argument to fluid.fetchResources is an object describing the resources to be fetched. The keys in resourceSpecs represent a unique key to represent each resource specification. The resource specifications must have one of the following fields: Field | Purpose |
---|
href | A full resolvable URL holding a template or template fragment. This will be fetched via AJAX and used to populate the resourceText entry. NOTE that if this value is provided, the nodeId will be ignored. | nodeId | The id of a node within the current document holding a template, for which innerHTML is to be treated as a template. NOTE that if href is provided, this value will be ignored. |
On conclusion of all of the fetches, the function callback will be called with the now filled-in resourceSpecs structure as argument. The resourceSpecs structure will have the following fields added to it: Field | Purpose |
---|
baseURL | Computed from href, in order to rebase local URLs in the template. | resourceText | The full text of the template fragment, as a string | fetchError | Filled in if the AJAX request to fetch the resource failed. It will be populated with a structure status: response status, textStatus: textual version of status, and errorThrown: holding details of an exception. | queued | A reserved flag by the system to track the progress of AJAX calls. |
The filled-in resourceSpecs structure is suitable for passing directly as the argument to the low-level function fluid.parseTemplates . CallbackThe argument passed to fluid.fetchResources as the callback should be a function that accepts a single parameter: the filled-in resourceSpecs object. The fields of this object are as described in the previous section. OptionsThe following options to the function can be used to customize the behaviour of fluid.fetchResources : Name | Description | Values | Default |
---|
amalgamateClasses
| | | |
Example Code Block |
---|
|
var myResourceSpecs = {
bodyTemplate: {
href: "templates/Body.html"
},
sidebarTemplate: {
href: "templates/Sidebar.html"
}
};
var myCallback = function (returnedResourceSpecs) {
// very simple: inject the fetched HTML into the DOM
$(".bodyNode").html(returnedResourceSpecs.bodyTemplate.resourceText);
$(".sidebarNode").html(returnedResourceSpecs.sidebarTemplate.resourceText);
};
fluid.fetchResources(myResourceSpecs, myCallback);
|
Example Code Block |
---|
|
var myResourceSpecs = {
template1: {
href: "html/template1.html"
},
template2: {
href: "html/template1.html"
},
data: {
href: "data/clientData.json"
}};
var myCallback = function (returnedResourceSpecs) {
for (var key in returnedResourceSpecs) {
// check for errors before proceeding
if (returnedResourceSpecs[key].fetchError) {
// log the failed fetch
fluid.log("Error loading resource " + returnedResourceSpecs[key].href);
fluid.log("status: " + returnedResourceSpecs[key].fetchError.status +
", textStatus: " + returnedResourceSpecs[key].fetchError.textStatus +
", errorThrown: " + returnedResourceSpecs[key].fetchError.errorThrown);
} else {
// process successfully loaded resource
...
}
}
};
fluid.fetchResources(myResourceSpecs, myCallback);
|
|