F2.ContainerConfig Class
An object containing configuration information for the container
src\classes\containerConfig.js:3
Methods
Name | Description |
---|---|
xhr
(
|
Allows the container to fully override how the AppManifest request is made inside of F2. |
xhr.dataType
(
|
Allows the container to override the request data type (JSON or JSONP) that is used for the request |
xhr.type
(
|
Allows the container to override the request method that is used. |
xhr.url
(
|
Allows the container to override the url that is used to request an app's F2.F2.AppManifest |
Properties
Name | Description |
---|---|
debugMode | True to enable debug mode in F2.js. Adds additional logging, resource cache busting, etc. |
loadScripts | Allows the container to override the script loader which requests dependencies defined in the F2.AppManifest. |
loadStyles | Allows the container to override the stylesheet loader which requests dependencies defined in the F2.AppManifest. |
locale | The default language and region specification for this container
represented as an IETF-defined standard language tag,
e.g. |
scriptErrorTimeout | Milliseconds before F2 fires callback on script resource load errors. Due to issue with the way Internet Explorer attaches load events to script elements, the error event doesn't fire. |
xhr | Allows the container to override individual parts of the AppManifest
request. See properties and methods with the |
Methods
xhr
(
-
url
-
appConfigs
-
success
-
error
-
complete
)
Allows the container to fully override how the AppManifest request is made inside of F2.
Parameters:
-
url
StringThe manifest url
-
appConfigs
ArrayAn array of F2.AppConfig objects
-
success
FunctionThe function to be called if the request succeeds
-
error
FunctionThe function to be called if the request fails
-
complete
FunctionThe function to be called when the request finishes (after success and error callbacks have been executed)
Returns:
The XMLHttpRequest object
Example:
F2.init({ xhr: function(url, appConfigs,successCallback, errorCallback, completeCallback) { var jsonpCallback = F2.Constants.JSONP_CALLBACK + appConfigs[0].appId, // Unique function name var fetchUrl = url + '?params=' + F2.stringify(appConfigs.apps, F2.appConfigReplacer); var fetchFunc = fetchJsonp(fetchUrl, { timeout: 3000, jsonpCallbackFunction: jsonpCallback }); fetchFunc.then(function(response) { return response.json(); }) .then(function(data) { successCallback(data); completeCallback(); }) .catch(function(error) { F2.log('Failed to load app(s)', error.toString()); errorCallback(); }); } });
xhr.dataType
(
-
url
-
appConfigs
)
Allows the container to override the request data type (JSON or JSONP) that is used for the request
Parameters:
-
url
StringThe manifest url
-
appConfigs
ArrayAn array of F2.AppConfig objects
Returns:
The request data type that should be used
Example:
F2.init({
xhr: {
dataType: function(url) {
return F2.isLocalRequest(url) ? 'json' : 'jsonp';
},
type: function(url) {
return F2.isLocalRequest(url) ? 'POST' : 'GET';
}
}
});
xhr.type
(
-
url
-
appConfigs
)
Allows the container to override the request method that is used.
Parameters:
-
url
StringThe manifest url
-
appConfigs
ArrayAn array of F2.AppConfig objects
Returns:
The request method that should be used
Example:
F2.init({
xhr: {
dataType: function(url) {
return F2.isLocalRequest(url) ? 'json' : 'jsonp';
},
type: function(url) {
return F2.isLocalRequest(url) ? 'POST' : 'GET';
}
}
});
xhr.url
(
-
url
-
appConfigs
)
Allows the container to override the url that is used to request an app's F2.F2.AppManifest
Parameters:
-
url
StringThe manifest url
-
appConfigs
ArrayAn array of F2.AppConfig objects
Returns:
The url that should be used for the request
Example:
F2.init({
xhr: {
url: function(url, appConfigs) {
return 'http://example.com/proxy.php?url=' + encocdeURIComponent(url);
}
}
});
Properties
debugMode Bool
True to enable debug mode in F2.js. Adds additional logging, resource cache busting, etc.
Default: false
loadScripts Function
Allows the container to override the script loader which requests dependencies defined in the F2.AppManifest.
Example:
F2.init({
loadScripts: function(scripts,inlines,callback){
//load scripts using $.load() for each script or require(scripts)
callback();
}
});
loadStyles Function
Allows the container to override the stylesheet loader which requests dependencies defined in the F2.AppManifest.
Example:
F2.init({
loadStyles: function(styles,callback){
//load styles using $.load() for each stylesheet or another method
callback();
}
});
locale String
The default language and region specification for this container
represented as an IETF-defined standard language tag,
e.g. "en-us"
or "de-de"
. This value is passed to each app
registered as containerLocale
.
Default: null
scriptErrorTimeout Milliseconds
Milliseconds before F2 fires callback on script resource load errors. Due to issue with the way Internet Explorer attaches load events to script elements, the error event doesn't fire.
Default: 7000 (7 seconds)
xhr Object
Allows the container to override individual parts of the AppManifest
request. See properties and methods with the xhr.
prefix.
Example:
F2.init({
xhr: {
url: function(url, appConfigs) {
return 'http://example.com/proxy.php?url=' + encocdeURIComponent(url);
}
}
});