@Findus23 opened this Issue on June 14th 2019 Member

This is really odd and I only noticed it when trying to reproduce https://forum.matomo.org/t/matomo-help-buttons/33205

Steps to reproduce:

Bonus Bug:

It seems like when there is no data in the report the help icon also doesn't show up
image

@sgiehl commented on June 17th 2019 Member

Tried to fix that yesterday and found the reason why it's not working.
The "problem" is here: https://github.com/matomo-org/matomo/blob/3.x-dev/plugins/CoreHome/angularjs/enrichedheadline/enrichedheadline.directive.js#L70-L72

When the report is loaded initially helpNode.text() contains the actual help text and helpNode.html() contains something like
<p ng-bind-html="&quot;Dies ist eine \u00dcbersicht \u00fcber die Entwicklung der Besuche.<br \/>Die Daten sind in verschiedene Berichte unterteilt, die in Sparklines am Ende der Seite angezeigt werden. Sie k\u00f6nnen die Sparklines vergr\u00f6\u00dfern, indem Sie auf den gew\u00fcnschen Bericht klicken.<br \/><br \/><b>Besuche:<\/b> Wenn ein Besucher zum ersten Mal die Webseite besucht oder seit dem letzten Seitenaufruf mehr als 30 Minuten vergangen sind, wird dies als neuer Besuch gewertet.<br \/><b>Eindeutige Besucher:<\/b> Die Anzahl der eindeutigen Besucher auf der Webseite. Jeder Benutzer wird nur einmal gez\u00e4hlt, auch wenn er die Webseite mehrmals t\u00e4glich besucht hat.<br \/><b>Aktionen:<\/b> Die Anzahl der Aktionen, die ihre Besucher durchgef\u00fchrt hat. Aktionen sind Seitenansichten, Downloads, der Aufruf von ausgehenden Verweisen und interne Suchen.<br \/><b>Benutzer:<\/b> Die Anzahl auf Ihrer Website angemeldeter Nutzer. Die Zahl beinhaltet alle eindeutigen Besucher, welche eine Benutzer ID besitzen (durch die Tracking Code Funktion 'setUserID'). (<a rel=\&quot;noreferrer noopener\&quot; target=\&quot;_blank\&quot; href=\&quot;https:\/\/matomo.org\/docs\/user-id\/\&quot;>User ID<\/a>)<br \/><b>Aktionen pro Besuch:<\/b> Die durchschnittliche Anzahl der Aktionen (Seitenaufrufe, Downloads, ausgehende Verweise oder interne Suchen), die w\u00e4hrend der Besuche durchgef\u00fchrt wurden.&quot;" class="ng-binding">Dies ist eine Übersicht über die Entwicklung der Besuche.<br>Die Daten sind in verschiedene Berichte unterteilt, die in Sparklines am Ende der Seite angezeigt werden. Sie können die Sparklines vergrößern, indem Sie auf den gewünschen Bericht klicken.<br><br><b>Besuche:</b> Wenn ein Besucher zum ersten Mal die Webseite besucht oder seit dem letzten Seitenaufruf mehr als 30 Minuten vergangen sind, wird dies als neuer Besuch gewertet.<br><b>Eindeutige Besucher:</b> Die Anzahl der eindeutigen Besucher auf der Webseite. Jeder Benutzer wird nur einmal gezählt, auch wenn er die Webseite mehrmals täglich besucht hat.<br><b>Aktionen:</b> Die Anzahl der Aktionen, die ihre Besucher durchgeführt hat. Aktionen sind Seitenansichten, Downloads, der Aufruf von ausgehenden Verweisen und interne Suchen.<br><b>Benutzer:</b> Die Anzahl auf Ihrer Website angemeldeter Nutzer. Die Zahl beinhaltet alle eindeutigen Besucher, welche eine Benutzer ID besitzen (durch die Tracking Code Funktion 'setUserID'). (<a rel="noreferrer noopener" target="_blank" href="https://matomo.org/docs/user-id/">User ID</a>)<br><b>Aktionen pro Besuch:</b> Die durchschnittliche Anzahl der Aktionen (Seitenaufrufe, Downloads, ausgehende Verweise oder interne Suchen), die während der Besuche durchgeführt wurden.</p>

But when the report is reloaded when clicking the menu helpNode.text() is empty and helpNode.html() contains
<p ng-bind-html="&quot;Dies ist eine \u00dcbersicht \u00fcber die Entwicklung der Besuche.<br \/>Die Daten sind in verschiedene Berichte unterteilt, die in Sparklines am Ende der Seite angezeigt werden. Sie k\u00f6nnen die Sparklines vergr\u00f6\u00dfern, indem Sie auf den gew\u00fcnschen Bericht klicken.<br \/><br \/><b>Besuche:<\/b> Wenn ein Besucher zum ersten Mal die Webseite besucht oder seit dem letzten Seitenaufruf mehr als 30 Minuten vergangen sind, wird dies als neuer Besuch gewertet.<br \/><b>Eindeutige Besucher:<\/b> Die Anzahl der eindeutigen Besucher auf der Webseite. Jeder Benutzer wird nur einmal gez\u00e4hlt, auch wenn er die Webseite mehrmals t\u00e4glich besucht hat.<br \/><b>Aktionen:<\/b> Die Anzahl der Aktionen, die ihre Besucher durchgef\u00fchrt hat. Aktionen sind Seitenansichten, Downloads, der Aufruf von ausgehenden Verweisen und interne Suchen.<br \/><b>Benutzer:<\/b> Die Anzahl auf Ihrer Website angemeldeter Nutzer. Die Zahl beinhaltet alle eindeutigen Besucher, welche eine Benutzer ID besitzen (durch die Tracking Code Funktion 'setUserID'). (<a rel=\&quot;noreferrer noopener\&quot; target=\&quot;_blank\&quot; href=\&quot;https:\/\/matomo.org\/docs\/user-id\/\&quot;>User ID<\/a>)<br \/><b>Aktionen pro Besuch:<\/b> Die durchschnittliche Anzahl der Aktionen (Seitenaufrufe, Downloads, ausgehende Verweise oder interne Suchen), die w\u00e4hrend der Besuche durchgef\u00fchrt wurden.&quot;" class="ng-binding"></p>

So it seems the ng-bind-html isn't interpreted before the node is tried to be used and so it actually has no text contents. Tried to use a $compile before it's used, but that didn't change anything. Inserting the content that way, also doesn't show anything as the ng-bind-html doesn't seems to be parsed later as well. Maybe @diosmosis or @tsteur have a idea how that can be solved quickly...

@tsteur commented on June 20th 2019 Member

Maybe this could be put in the backlog as it's complicated to solve and not too important maybe?

@Findus23 commented on June 20th 2019 Member

Not sure. Maybe because of this I never really realized that Matomo had help pages inside of Matomo, because nearly every visit to a report is coming from another page.

Powered by GitHub Issue Mirror