При отображении тултипа в таблице по даблклику по выделенному полю открывается всплывающее окно с другой таблицей, например
modal: true,
view: “window”,
Тултип предыдущей таблицы при этом не исчезает, а остаётся поверх этого всплывающего окна с другой таблицей. Он доступен для выделения текста, а исчезает только если закрыть всплывающее окно и исходная таблица станет доступна. Если исходная таблица уничтожена, тултип остаётся до перезагрузки страницы.Это можно побороть?
Hi! I rewrite this code in WEBIX to fix this error:
webix.AutoTooltip = {
//!!!add massive
_tips:[],
tooltip_setter:function(value){
if (value){
if (typeof value == "function")
value = { template:value };
var col_mode = !value.template;
var handlers = [];
var t = new webix.ui.tooltip(value);
//!!!only for debug
t.parentName = this.data.owner;
//!!!append tooltip windows massive
webix.AutoTooltip._tips.push(t);
this._enable_mouse_move();
handlers[0] = this.attachEvent("onMouseMove",function(id,e){ //show tooltip on mousemove
if (this.getColumnConfig){
var config = t.type.column = this.getColumnConfig(id.column);
if (col_mode){
//empty tooltip - ignoring
if (!config.tooltip && config.tooltip != webix.undefined)
return;
if (config.tooltip)
t.type.template = config.tooltip = webix.template(config.tooltip);
else {
var text = this.getText(id.row, id.column);
t.type.template = function(){ return text; };
}
}
}
if (!webix.DragControl.active)
t.show(this.getItem(id),webix.html.pos(e));
});
handlers[1] = this.attachEvent("onMouseOut", function (id, e)
{ //hide tooltip on mouseout
//!!!hide all tooltips
for (tt in webix.AutoTooltip._tips)
{
webix.AutoTooltip._tips[tt].hide();
}
});
handlers[2] = this.attachEvent("onMouseMoving",function(id,e){ //hide tooltip just after moving start
//!!!hide all tooltips
for (tt in webix.AutoTooltip._tips)
{
webix.AutoTooltip._tips[tt].hide();
}
});
this.attachEvent("onDestruct",function(){
if(this.config.tooltip)
this.config.tooltip.destructor();
});
t.attachEvent("onDestruct",webix.bind(function(){
for(var i = 0; i < handlers.length;i++)
this.detachEvent(handlers[i]);
},this));
return t;
}
}
};
But I nof found where clear the webix.AutoTooltip._tips massive.
Каково мнение разработчиков?
День добрый, действительно есть такая проблема
Чуть более лучшим наверное будет следующее решение
оно заменят внутренние события на HTML mousemove событие , которое будет закрывать тултип по любому движению в документе.
Ваш вариант планируется в будущий релиз или использовать как отдельную библиотеку
Да, войдет в следующее обновление