1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- ///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 '<div id="##" class="edui-tablepicker %%">' +
- '<div class="edui-tablepicker-body">' +
- '<div class="edui-infoarea">' +
- '<span id="##_label" class="edui-label"></span>' +
- '</div>' +
- '<div class="edui-pickarea"' +
- ' onmousemove="$$._onMouseMove(event, this);"' +
- ' onmouseover="$$._onMouseOver(event, this);"' +
- ' onmouseout="$$._onMouseOut(event, this);"' +
- ' onclick="$$._onClick(event, this);"' +
- '>' +
- '<div id="##_overlay" class="edui-overlay"></div>' +
- '</div>' +
- '</div>' +
- '</div>';
- },
- _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);
- })();
|