TL; DR: Каков наилучший способ добавить дополнительный атрибут (data-qtip
) к клеточному внутренним элементам DOM во всех проектах Ext.grid.Panel лет сразу.ExtJS 4 Добавить всплывающие подсказки в переполненные клетки во всем проекте Ext.grid.Panel в
Описание: Я хочу добавить всплывающие подсказки в переполненные ячейки во всем проекте Ext.grid.Panel с полным текстом.
добавить просто удлиняет к Ext.tip.QuickTip
(так что я могу держать все параметры ячейки сетки всплывающих подсказок в одном месте) и вызвать Ext.tip.QuickTipManager.init()
с его className
(позже я хочу продлить/overrite Ext.tip.QuickTipManager
работать с несколькими Ext.tip.QuickTip
детей intances в то же время) :
Ext.define('Ext.lib.extensions.PortalGridCellTooltip', {
extend: 'Ext.tip.QuickTip',
alias: 'widget.portalGridCellTooltip',
alternateClassName: 'Portal.PortalGridCellTooltip',
tagConfig: {
namespace: 'data-',
attribute: 'gctip',
width: 'gcwidth',
target: 'target',
title: 'gctitle',
hide: 'hide',
cls: 'gcclass',
align: 'gcalign',
anchor: 'anchor',
showDelay: 'gcshowDelay'
},
onTargetOver: function (element) {
var target = element.getTarget(this.delegate);
if (!this.isOverflowed(target)) {
return;
}
this.callParent(arguments);
},
/**
* Check if passed element is overflowed with its content
* @param element
* @returns {boolean}
*/
isOverflowed: function (element) {
var curOverflow = element.style.overflow;
if (!curOverflow || curOverflow === "visible")
element.style.overflow = "hidden";
var isOverflowing = element.clientWidth < element.scrollWidth
|| element.clientHeight < element.scrollHeight;
element.style.overflow = curOverflow;
return isOverflowing;
}
});
я могу добавить всплывающую подсказку с колонкой рендера:
renderer: function (value, meta) {
meta.tdAttr = 'data-gctip="' + value + '"';
return value;
}
Но как я могу добавить всплывающие подсказки ко всем проектам Ext.grid.Panel с полуслова? Разумеется, решение должно работать с существующими колонками. Я был бы очень благодарен за профессиональный совет.
Интересное решение! Thx, Ill, попробуй. –
У меня есть ошибка здесь, http://docs.sencha.com/extjs/4.2.2/source/ToolTip.html#Ext-tip-ToolTip-method-onMouseMove 'me.el.parent()' равно null. –
@SergeyNovikov Можете ли вы создать скрипку? –