mirror of
https://github.com/moodle/moodle.git
synced 2025-07-26 08:50:30 +02:00
54 lines
1.1 KiB
JavaScript
54 lines
1.1 KiB
JavaScript
YUI.add('cache-plugin', function (Y, NAME) {
|
|
|
|
/**
|
|
* Provides support to use Cache as a Plugin to a Base-based class.
|
|
*
|
|
* @module cache
|
|
* @submodule cache-plugin
|
|
*/
|
|
|
|
/**
|
|
* Plugin.Cache adds pluginizability to Cache.
|
|
* @class Plugin.Cache
|
|
* @extends Cache
|
|
* @uses Plugin.Base
|
|
*/
|
|
function CachePlugin(config) {
|
|
var cache = config && config.cache ? config.cache : Y.Cache,
|
|
tmpclass = Y.Base.create("dataSourceCache", cache, [Y.Plugin.Base]),
|
|
tmpinstance = new tmpclass(config);
|
|
tmpclass.NS = "tmpClass";
|
|
return tmpinstance;
|
|
}
|
|
|
|
Y.mix(CachePlugin, {
|
|
/**
|
|
* The namespace for the plugin. This will be the property on the host which
|
|
* references the plugin instance.
|
|
*
|
|
* @property NS
|
|
* @type String
|
|
* @static
|
|
* @final
|
|
* @value "cache"
|
|
*/
|
|
NS: "cache",
|
|
|
|
/**
|
|
* Class name.
|
|
*
|
|
* @property NAME
|
|
* @type String
|
|
* @static
|
|
* @final
|
|
* @value "dataSourceCache"
|
|
*/
|
|
NAME: "cachePlugin"
|
|
});
|
|
|
|
|
|
Y.namespace("Plugin").Cache = CachePlugin;
|
|
|
|
|
|
}, '3.18.1', {"requires": ["plugin", "cache-base"]});
|