Skip to content

Commit 33c893f

Browse files
committed
UIMacros: {ifCurrent} calls isLinkCurrent() method
1 parent 878d3dc commit 33c893f

File tree

3 files changed

+14
-2
lines changed

3 files changed

+14
-2
lines changed

src/Bridges/ApplicationLatte/UIMacros.php

+4-2
Original file line numberDiff line numberDiff line change
@@ -100,8 +100,10 @@ public function macroLink(MacroNode $node, PhpWriter $writer)
100100
*/
101101
public function macroIfCurrent(MacroNode $node, PhpWriter $writer)
102102
{
103-
return $writer->write(($node->args ? 'try { $_presenter->link(%node.word, %node.array?); } catch (Nette\Application\UI\InvalidLinkException $e) {}' : '')
104-
. '; if ($_presenter->getLastCreatedRequestFlag("current")) {');
103+
return $writer->write($node->args
104+
? 'if ($_presenter->isLinkCurrent(%node.word, %node.array?)) {'
105+
: 'if ($_presenter->getLastCreatedRequestFlag("current")) {'
106+
);
105107
}
106108

107109

tests/Application.Latte/UIMacros.isLinkCurrent.phpt

+4
Original file line numberDiff line numberDiff line change
@@ -23,4 +23,8 @@ Assert::matchFile(__DIR__ . '/expected/UIMacros.isLinkCurrent.phtml', $latte->co
2323
<a href="{link default}" n:class="$presenter->isLinkCurrent() ? current">href before n:class</a>
2424
2525
<a n:class="$presenter->isLinkCurrent() ? current" href="{link default}">href after n:class</a>
26+
27+
{ifCurrent}empty{/ifCurrent}
28+
29+
{ifCurrent default}default{/ifCurrent}
2630
'));

tests/Application.Latte/expected/UIMacros.isLinkCurrent.phtml

+6
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,11 @@
55
<a href="%A%"%A%>href before n:class</a>
66

77
<a href="%A%"%A%>href after n:class</a>
8+
9+
<?php if ($_presenter->getLastCreatedRequestFlag("current")) { ?>empty<?php } ?>
10+
11+
12+
<?php if ($_presenter->isLinkCurrent("default")) { ?>default<?php } ?>
13+
814
<?php
915
%A%

0 commit comments

Comments
 (0)