You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
65 lines
1.9 KiB
65 lines
1.9 KiB
/** |
|
* 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; |
|
* }); |
|
* ~~~ |
|
* |
|
* 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); |
|
});
|
|
|