2015-07-10 9 views
5

Ich habe ein UI-Grid mit der neuesten Version (3.0.0-rc22). In meinen Spaltendefinitionen habe ich ein cellTemplate eingerichtet, um die Verbindung zu einer anderen Route zu ermöglichen. Leider scheint es, dass egal was ich für cellTooltip eingestellt habe, die Tooltips nicht angezeigt werden, solange ich ein cellTemplate habe. Wenn ich das cellTemplate entferne, erscheinen die Tootlips perfekt.So aktivieren Sie cellTooltips bei Verwendung eines cellTemplate?

Hier ist, was ich tue:

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%' 
    },{ ... } 
] 

Ich verstehe, dass cellTooltip: true nur tun, würde nicht funktionieren, weil die Celltemplate HTML in ihm, aber ich habe die Funktionen mithilfe ein benutzerdefiniertes Tooltip angeben zu können, auf row.entity.site_name, aber das funktioniert auch nicht.

Ich habe sogar versucht, eine dumme cellTooltip Funktion wie:

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

und keinen Tooltip jemals erscheint. Gibt es etwas, das ich vermisse oder ist das nur ein fehlendes Feature im UI-Grid für jetzt?

Antwort

8

Ich bin ein Idiot. Dies würde natürlich nicht funktionieren, da das cellTemplate den Inhalt ersetzt und cellTooltip nur ein Titelattribut ist.

Lösung ist das title Attribut in der Celltemplate sich wie so hinzuzufügen:

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

Es sei denn, Sie wollen etwas ein wenig komplexer in Ihrer Tooltip Funktion zu tun, die Dinge viel schwieriger geworden. – Snekse

Verwandte Themen