///import core
///import uicore
(function (){
var utils = baidu.editor.utils,
uiUtils = baidu.editor.ui.uiUtils,
UIBase = baidu.editor.ui.UIBase;
var TablePicker = baidu.editor.ui.TablePicker = function (options){
this.initOptions(options);
this.initTablePicker();
};
TablePicker.prototype = {
defaultNumRows: 10,
defaultNumCols: 10,
maxNumRows: 20,
maxNumCols: 20,
numRows: 10,
numCols: 10,
lengthOfCellSide: 22,
initTablePicker: function (){
this.initUIBase();
},
getHtmlTpl: function (){
var me = this;
return '
' +
'
' +
'
' +
'' +
'
' +
'
' +
'
' +
'
';
},
_UIBase_render: UIBase.prototype.render,
render: function (holder){
this._UIBase_render(holder);
this.getDom('label').innerHTML = '0'+this.editor.getLang("t_row")+' x 0'+this.editor.getLang("t_col");
},
_track: function (numCols, numRows){
var style = this.getDom('overlay').style;
var sideLen = this.lengthOfCellSide;
style.width = numCols * sideLen + 'px';
style.height = numRows * sideLen + 'px';
var label = this.getDom('label');
label.innerHTML = numCols +this.editor.getLang("t_col")+' x ' + numRows + this.editor.getLang("t_row");
this.numCols = numCols;
this.numRows = numRows;
},
_onMouseOver: function (evt, el){
var rel = evt.relatedTarget || evt.fromElement;
if (!uiUtils.contains(el, rel) && el !== rel) {
this.getDom('label').innerHTML = '0'+this.editor.getLang("t_col")+' x 0'+this.editor.getLang("t_row");
this.getDom('overlay').style.visibility = '';
}
},
_onMouseOut: function (evt, el){
var rel = evt.relatedTarget || evt.toElement;
if (!uiUtils.contains(el, rel) && el !== rel) {
this.getDom('label').innerHTML = '0'+this.editor.getLang("t_col")+' x 0'+this.editor.getLang("t_row");
this.getDom('overlay').style.visibility = 'hidden';
}
},
_onMouseMove: function (evt, el){
var style = this.getDom('overlay').style;
var offset = uiUtils.getEventOffset(evt);
var sideLen = this.lengthOfCellSide;
var numCols = Math.ceil(offset.left / sideLen);
var numRows = Math.ceil(offset.top / sideLen);
this._track(numCols, numRows);
},
_onClick: function (){
this.fireEvent('picktable', this.numCols, this.numRows);
}
};
utils.inherits(TablePicker, UIBase);
})();