/**
* XXX插件
*
* @file XXX插件
* @author Brian Li(lbxxlht@163.com)
*
* 数据结构:
*
*
* 宿主fire的事件:
*
*
* 暴露的API:
*
*/
var define = typeof define === 'function' && define.amd ? define : function (factory) {
typeof module === 'object' ? (module.exports = factory(require)) : '';
};
define(function (require) {
var util = require('../core/util');
var Plugin = require('../core/plugin');
// public /////////////////////////////////////////////////////////////////
/**
* 构造函数
*
* @constructor
* @param {Object} param 初始化对象
* @param {boolean} param.changeSelectStyle 选中行后时候改变背景色
*/
function PluginTemplate(param) {
if (!(this instanceof PluginTemplate)) {
return new PluginTemplate(param);
}
this.required = [];
param = param || {};
Plugin.call(this, param);
}
util.inherit(PluginTemplate, Plugin);
/**
* @override
*
* @param {Object} param 宿主UI初始化时的参数引用,***操作请小心***
* @return {boolean} 是否初始化成功
*/
PluginTemplate.prototype.load = function (param) {
// param.pluginSkin = util.joinClassName(param.pluginSkin, '');
// param.tpl = extendTPL(param.tpl);
// util.appendHandler(param, 'click', mouseHandler);
// extendAPI(this.host, this);
return true;
};
/**
* @override
*
* 宿主渲染完成后回调
*/
PluginTemplate.prototype.hostRendered = function () {
};
// private /////////////////////////////////////////////////////////////////
/**
* 扩展宿主对象API
*
* @param {Object} host 宿主实例
* @param {Object} plugin 插件实例
*/
function extendAPI(host, plugin) {
}
/**
* 对模版进行扩充
*
* @param {Array.<string>} tpl 原始模板
* @return {Array.<string>} 扩展后的模板
*/
function extendTPL(tpl) {
var picker = new util.Picker(tpl);
return picker.export();
}
/**
* 处理一切鼠标事件
*
* @param {Event} evt 鼠标事件句柄
*/
function mouseHandler(evt) {
}
return PluginTemplate;
});
|