| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174 | (function (root, factory) {  if (typeof define === 'function' && define.amd) {    // AMD. Register as an anonymous module.    define('simple-module', ["jquery"], function ($) {      return (root.returnExportsGlobal = factory($));    });  } else if (typeof exports === 'object') {    // Node. Does not work with strict CommonJS, but    // only CommonJS-like enviroments that support module.exports,    // like Node.    module.exports = factory(require("jquery"));  } else {    root['SimpleModule'] = factory(jQuery);  }}(this, function ($) {var Module,  __slice = [].slice;Module = (function() {  Module.extend = function(obj) {    var key, val, _ref;    if (!((obj != null) && typeof obj === 'object')) {      return;    }    for (key in obj) {      val = obj[key];      if (key !== 'included' && key !== 'extended') {        this[key] = val;      }    }    return (_ref = obj.extended) != null ? _ref.call(this) : void 0;  };  Module.include = function(obj) {    var key, val, _ref;    if (!((obj != null) && typeof obj === 'object')) {      return;    }    for (key in obj) {      val = obj[key];      if (key !== 'included' && key !== 'extended') {        this.prototype[key] = val;      }    }    return (_ref = obj.included) != null ? _ref.call(this) : void 0;  };  Module.connect = function(cls) {    if (typeof cls !== 'function') {      return;    }    if (!cls.pluginName) {      throw new Error('Module.connect: cannot connect plugin without pluginName');      return;    }    cls.prototype._connected = true;    if (!this._connectedClasses) {      this._connectedClasses = [];    }    this._connectedClasses.push(cls);    if (cls.pluginName) {      return this[cls.pluginName] = cls;    }  };  Module.prototype.opts = {};  function Module(opts) {    var cls, instance, instances, name, _base, _i, _len;    this.opts = $.extend({}, this.opts, opts);    (_base = this.constructor)._connectedClasses || (_base._connectedClasses = []);    instances = (function() {      var _i, _len, _ref, _results;      _ref = this.constructor._connectedClasses;      _results = [];      for (_i = 0, _len = _ref.length; _i < _len; _i++) {        cls = _ref[_i];        name = cls.pluginName.charAt(0).toLowerCase() + cls.pluginName.slice(1);        if (cls.prototype._connected) {          cls.prototype._module = this;        }        _results.push(this[name] = new cls());      }      return _results;    }).call(this);    if (this._connected) {      this.opts = $.extend({}, this.opts, this._module.opts);    } else {      this._init();      for (_i = 0, _len = instances.length; _i < _len; _i++) {        instance = instances[_i];        if (typeof instance._init === "function") {          instance._init();        }      }    }    this.trigger('initialized');  }  Module.prototype._init = function() {};  Module.prototype.on = function() {    var args, _ref;    args = 1 <= arguments.length ? __slice.call(arguments, 0) : [];    (_ref = $(this)).on.apply(_ref, args);    return this;  };  Module.prototype.one = function() {    var args, _ref;    args = 1 <= arguments.length ? __slice.call(arguments, 0) : [];    (_ref = $(this)).one.apply(_ref, args);    return this;  };  Module.prototype.off = function() {    var args, _ref;    args = 1 <= arguments.length ? __slice.call(arguments, 0) : [];    (_ref = $(this)).off.apply(_ref, args);    return this;  };  Module.prototype.trigger = function() {    var args, _ref;    args = 1 <= arguments.length ? __slice.call(arguments, 0) : [];    (_ref = $(this)).trigger.apply(_ref, args);    return this;  };  Module.prototype.triggerHandler = function() {    var args, _ref;    args = 1 <= arguments.length ? __slice.call(arguments, 0) : [];    return (_ref = $(this)).triggerHandler.apply(_ref, args);  };  Module.prototype._t = function() {    var args, _ref;    args = 1 <= arguments.length ? __slice.call(arguments, 0) : [];    return (_ref = this.constructor)._t.apply(_ref, args);  };  Module._t = function() {    var args, key, result, _ref;    key = arguments[0], args = 2 <= arguments.length ? __slice.call(arguments, 1) : [];    result = ((_ref = this.i18n[this.locale]) != null ? _ref[key] : void 0) || '';    if (!(args.length > 0)) {      return result;    }    result = result.replace(/([^%]|^)%(?:(\d+)\$)?s/g, function(p0, p, position) {      if (position) {        return p + args[parseInt(position) - 1];      } else {        return p + args.shift();      }    });    return result.replace(/%%s/g, '%s');  };  Module.i18n = {    'zh-CN': {}  };  Module.locale = 'zh-CN';  return Module;})();return Module;}));
 |