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')
    });
    }
    });

  • 相关阅读:
    Android 3.0 r1 API中文文档(108) —— ExpandableListAdapter
    Android 3.0 r1 API中文文档(113) ——SlidingDrawer
    Android 3.0 r1 API中文文档(105) —— ViewParent
    Android 中文 API (102)—— CursorAdapter
    Android开发者指南(4) —— Application Fundamentals
    Android开发者指南(1) —— Android Debug Bridge(adb)
    Android中文API(115)——AudioFormat
    Android中文API(116)——TableLayout
    Android开发者指南(3) —— Other Tools
    Android中文API (110) —— CursorTreeAdapter
  • 原文地址:https://www.cnblogs.com/huangf714/p/5907943.html
Copyright © 2011-2022 走看看