2015-07-10 3 views
5

У меня есть ui-сетка, использующая последнюю версию (3.0.0-rc22). В моих определениях столбцов я установил cellTemplate, чтобы разрешить ссылку на другой маршрут. К сожалению, похоже, что независимо от того, что я установил для cellTooltip, всплывающие подсказки не отображаются, пока у меня есть cellTemplate. Если я удалю cellTemplate, топлипы появятся отлично.Как включить cellTooltips при использовании cellTemplate?

Вот что я делаю:

colDefs: [ 
    { 
    field: 'site_name', 
    displayName: 'Site Name', 
    cellTooltip: function (row, col) {return row.entity.site_name}, 
    filter: { condition: uiGridConstants.filter.CONTAINS }, 
    cellTemplate: siteNameLink, 
    width: '25%' 
    },{ ... } 
] 

Я понимаю, что просто делает cellTooltip: true не будет работать, потому что CellTemplate имеет HTML в нем, но я должен быть в состоянии указать пользовательскую подсказку с помощью функции на row.entity.site_name, но это тоже не работает.

Я даже попробовал немой функцию cellTooltip как:

function (row, col) { return 'test' } 

и нет всплывающей подсказки когда-либо появится. Есть что-то, что я пропущу, или это просто недостающая функция в ui-grid?

ответ

8

Я идиот. Это явно не сработает, потому что cellTemplate заменяет все содержимое, а cellTooltip - только атрибут title.

Solution является добавление атрибута title в самом CellTemplate так:

var siteNameLink = '<div class="ui-grid-cell-contents" title="{{COL_FIELD}}"><a 
ui-sref="sites.site_card({siteid: row.entity._id})">{{COL_FIELD}}</a></div>'; 
+1

За исключением, если вы хотите сделать что-то более сложное в вашей функции подсказки, все становится намного сложнее. – Snekse