|
|
|
/**
|
|
|
|
* Yii JavaScript module.
|
|
|
|
*
|
|
|
|
* @link http://www.yiiframework.com/
|
|
|
|
* @copyright Copyright (c) 2008 Yii Software LLC
|
|
|
|
* @license http://www.yiiframework.com/license/
|
|
|
|
* @author Qiang Xue <qiang.xue@gmail.com>
|
|
|
|
* @since 2.0
|
|
|
|
*/
|
|
|
|
|
|
|
|
/**
|
|
|
|
* yii is the root module for all Yii JavaScript modules.
|
|
|
|
* It implements a mechanism of organizing JavaScript code in modules through the function "yii.initModule()".
|
|
|
|
*
|
|
|
|
* Each module should be named as "x.y.z", where "x" stands for the root module (for the Yii core code, this is "yii").
|
|
|
|
*
|
|
|
|
* A module may be structured as follows:
|
|
|
|
*
|
|
|
|
* ~~~
|
|
|
|
* yii.sample = (function($) {
|
|
|
|
* var pub = {
|
|
|
|
* // whether this module is currently active. If false, init() will not be called for this module
|
|
|
|
* // it will also not be called for all its child modules. If this property is undefined, it means true.
|
|
|
|
* isActive: true,
|
|
|
|
* init: function() {
|
|
|
|
* // ... module initialization code go here ...
|
|
|
|
* },
|
|
|
|
*
|
|
|
|
* // ... other public functions and properties go here ...
|
|
|
|
* };
|
|
|
|
*
|
|
|
|
* // ... private functions and properties go here ...
|
|
|
|
*
|
|
|
|
* return pub;
|
|
|
|
* })(jQuery);
|
|
|
|
* ~~~
|
|
|
|
*
|
|
|
|
* Using this structure, you can define public and private functions/properties for a module.
|
|
|
|
* Private functions/properties are only visible within the module, while public functions/properties
|
|
|
|
* may be accessed outside of the module. For example, you can access "yii.sample.init()".
|
|
|
|
*
|
|
|
|
* You must call "yii.initModule()" once for the root module of all your modules.
|
|
|
|
*/
|
|
|
|
yii = (function ($) {
|
|
|
|
var pub = {
|
|
|
|
version: '2.0',
|
|
|
|
initModule: function (module) {
|
|
|
|
if (module.isActive === undefined || module.isActive) {
|
|
|
|
if ($.isFunction(module.init)) {
|
|
|
|
module.init();
|
|
|
|
}
|
|
|
|
$.each(module, function () {
|
|
|
|
if ($.isPlainObject(this)) {
|
|
|
|
pub.initModule(this);
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
};
|
|
|
|
return pub;
|
|
|
|
})(jQuery);
|
|
|
|
|
|
|
|
jQuery(document).ready(function () {
|
|
|
|
yii.initModule(yii);
|
|
|
|
});
|