zoukankan      html  css  js  c++  java
  • datagrid.celltips.js

    /**
    * Created with JetBrains WebStorm.
    * User: cao.guanghui
    * Date: 13-6-26
    * Time: 下午11:27
    * To change this template use File | Settings | File Templates.
    */
    $.extend($.fn.datagrid.methods, {
    /**
    * 开打提示功能(基于1.3.3+版本)
    * @param {} jq
    * @param {} params 提示消息框的样式
    * @return {}
    */
    doCellTip:function (jq, params) {
    function showTip(showParams, td, e, dg) {
    //无文本,不提示。
    if ($(td).text() == "") return;
    params = params || {};
    var options = dg.data('datagrid');
    var styler = 'style="';
    if(showParams.width){
    styler = styler + "" + showParams.width + ";";
    }
    if(showParams.maxWidth){
    styler = styler + "max-" + showParams.maxWidth + ";";
    }
    if(showParams.minWidth){
    styler = styler + "min-" + showParams.minWidth + ";";
    }
    styler = styler + '"';
    showParams.content = '<div class="tipcontent" ' + styler + '>' + showParams.content + '</div>';
    $(td).tooltip({
    content:showParams.content,
    trackMouse:true,
    position:params.position,
    onHide:function () {
    $(this).tooltip('destroy');
    },
    onShow:function () {
    var tip = $(this).tooltip('tip');
    if(showParams.tipStyler){
    tip.css(showParams.tipStyler);
    }
    if(showParams.contentStyler){
    tip.find('div.tipcontent').css(showParams.contentStyler);
    }
    }
    }).tooltip('show');
    };
    return jq.each(function () {
    var grid = $(this);
    var options = $(this).data('datagrid');
    if (!options.tooltip) {
    var panel = grid.datagrid('getPanel').panel('panel');
    panel.find('.datagrid-body').each(function () {
    var delegateEle = $(this).find('> div.datagrid-body-inner').length ? $(this).find('> div.datagrid-body-inner')[0] : this;
    $(delegateEle).undelegate('td', 'mouseover').undelegate('td', 'mouseout').undelegate('td', 'mousemove').delegate('td[field]', {
    'mouseover':function (e) {
    //if($(this).attr('field')===undefined) return;
    var that = this;
    var setField = null;
    if(params.specialShowFields && params.specialShowFields.sort){
    for(var i=0; i<params.specialShowFields.length; i++){
    if(params.specialShowFields[i].field == $(this).attr('field')){
    setField = params.specialShowFields[i];
    }
    }
    }
    if(setField==null){
    options.factContent = $(this).find('>div').clone().css({'margin-left':'-5000px', 'width':'auto', 'display':'inline', 'position':'absolute'}).appendTo('body');
    var factContentWidth = options.factContent.width();
    params.content = $(this).text();
    if (params.onlyShowInterrupt) {
    if (factContentWidth > $(this).width()) {
    showTip(params, this, e, grid);
    }
    } else {
    showTip(params, this, e, grid);
    }
    }else{
    panel.find('.datagrid-body').each(function(){
    var trs = $(this).find('tr[datagrid-row-index="' + $(that).parent().attr('datagrid-row-index') + '"]');
    trs.each(function(){
    var td = $(this).find('> td[field="' + setField.showField + '"]');
    if(td.length){
    params.content = td.text();
    }
    });
    });
    showTip(params, this, e, grid);
    }
    },
    'mouseout':function (e) {
    if (options.factContent) {
    options.factContent.remove();
    options.factContent = null;
    }
    }
    });
    });
    }
    });
    },
    /**
    * 关闭消息提示功能(基于1.3.3版本)
    * @param {} jq
    * @return {}
    */
    cancelCellTip:function (jq) {
    return jq.each(function () {
    var data = $(this).data('datagrid');
    if (data.factContent) {
    data.factContent.remove();
    data.factContent = null;
    }
    var panel = $(this).datagrid('getPanel').panel('panel');
    panel.find('.datagrid-body').undelegate('td', 'mouseover').undelegate('td', 'mouseout').undelegate('td', 'mousemove')
    });
    }
    });

  • 相关阅读:
    xcode或者mac自带颜色器选择rgb格式
    -[UPAInitViewController startAPPay] in libUPAPayPlugin.a(UPAInitViewController.o)
    解决android studio设置版本号
    Android的Activity之间传对象的方法
    iOS图片目录批量复制到android图片目录
    shell批量转换iOS和Android图标
    activeandroid复制本地数据库问题总结
    第二次会议记录
    第一次会议记录
    MySql 创建函数 Error Code : 1418
  • 原文地址:https://www.cnblogs.com/huangf714/p/5907943.html
Copyright © 2011-2022 走看看