Skip to content

Commit b70cc51

Browse files
authored
Merge pull request #12 from jtojnar/macros-3-fix
Fix Input Macros
2 parents fe9db86 + 7d92eb3 commit b70cc51

File tree

5 files changed

+33
-32
lines changed

5 files changed

+33
-32
lines changed

examples/lattemacros/LatteMacrosPresenter.latte

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -14,54 +14,54 @@
1414
<hr>
1515
{form form class => form-horizontal}
1616
<div class="form-group">
17-
{label text class => "label-control col-sm-3" /}
18-
<div class="col-sm-9">{input text}{inputError text}</div>
17+
{bsLabel text class => "label-control col-sm-3" /}
18+
<div class="col-sm-9">{bsInput text}{inputError text}</div>
1919
</div>
2020
<div class="form-group">
2121
<div class="col-sm-9 col-sm-offset-3">
2222
<div class="checkbox">
23-
{label checkbox}{input checkbox}{/label}
23+
{bsLabel checkbox}{bsInput checkbox}{/bsLabel}
2424
</div>
2525
{inputError checkbox}
2626
</div>
2727
</div>
2828

2929
<div class="form-group">
30-
{label checkbox_list class => "label-control col-sm-3" /}
31-
<div class="col-sm-9">{input checkbox_list}{inputError checkbox_list}</div>
30+
{bsLabel checkbox_list class => "label-control col-sm-3" /}
31+
<div class="col-sm-9">{bsInput checkbox_list}{inputError checkbox_list}</div>
3232
</div>
3333
<div class="form-group">
34-
{label integer class => "label-control col-sm-3" /}
35-
<div class="col-sm-9">{input integer}{inputError integer}</div>
34+
{bsLabel integer class => "label-control col-sm-3" /}
35+
<div class="col-sm-9">{bsInput integer}{inputError integer}</div>
3636
</div>
3737
<div class="form-group">
38-
{label multi_select class => "label-control col-sm-3" /}
39-
<div class="col-sm-9">{input multi_select}{inputError multi_select}</div>
38+
{bsLabel multi_select class => "label-control col-sm-3" /}
39+
<div class="col-sm-9">{bsInput multi_select}{inputError multi_select}</div>
4040
</div>
4141
<div class="form-group">
42-
{label password class => "label-control col-sm-3" /}
43-
<div class="col-sm-9">{input password}{inputError password}</div>
42+
{bsLabel password class => "label-control col-sm-3" /}
43+
<div class="col-sm-9">{bsInput password}{inputError password}</div>
4444
</div>
4545
<div class="form-group">
46-
{label radio_list class => "label-control col-sm-3" /}
47-
<div class="col-sm-9">{input radio_list}{inputError radio_list}</div>
46+
{bsLabel radio_list class => "label-control col-sm-3" /}
47+
<div class="col-sm-9">{bsInput radio_list}{inputError radio_list}</div>
4848
</div>
4949
<div class="form-group">
50-
{label select class => "label-control col-sm-3" /}
51-
<div class="col-sm-9">{input select}{inputError select}</div>
50+
{bsLabel select class => "label-control col-sm-3" /}
51+
<div class="col-sm-9">{bsInput select}{inputError select}</div>
5252
</div>
5353
<div class="form-group">
54-
{label textarea class => "label-control col-sm-3" /}
55-
<div class="col-sm-9">{input textarea}{inputError textarea}</div>
54+
{bsLabel textarea class => "label-control col-sm-3" /}
55+
<div class="col-sm-9">{bsInput textarea}{inputError textarea}</div>
5656
</div>
5757
<div class="form-group">
58-
{label multi_upload class => "label-control col-sm-3" /}
59-
<div class="col-sm-9">{input multi_upload}{inputError multi_upload}</div>
58+
{bsLabel multi_upload class => "label-control col-sm-3" /}
59+
<div class="col-sm-9">{bsInput multi_upload}{inputError multi_upload}</div>
6060
</div>
6161
<div class="form-group">
6262
<div class="col-sm-9 col-sm-offset-3">
63-
{input save class => btn-primary}&nbsp;
64-
{input secondary class => btn-default}
63+
{bsInput save class => btn-primary}&nbsp;
64+
{bsInput secondary class => btn-default}
6565
</div>
6666
</div>
6767
{/form}

examples/lattemacros/config.neon

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,9 @@ application:
44
*: NextrasDemos\FormsRendering\LatteMacros\*Module\*Presenter
55

66
latte:
7-
macros:
8-
- Nextras\FormsRendering\LatteMacros\Bs3InputMacros::install
7+
extensions:
8+
- Nextras\FormsRendering\LatteTags\Bs3\Bs3FormsExtension
9+
910

1011
services:
1112
routing.router: Nette\Application\Routers\SimpleRouter('LatteMacros:default')

src/LatteTags/Bs3/Bs3FormsExtension.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@ class Bs3FormsExtension extends Extension
1717
public function getTags(): array
1818
{
1919
return [
20-
'label' => [Bs3LabelNode::class, 'create'],
21-
'input' => [Bs3InputNode::class, 'create'],
20+
'bsLabel' => [Bs3LabelNode::class, 'create'],
21+
'bsInput' => [Bs3InputNode::class, 'create'],
2222
];
2323
}
2424
}

src/LatteTags/InputNode.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,16 +20,16 @@ abstract class InputNode extends NetteInputNode
2020
{
2121
public function print(PrintContext $context): string
2222
{
23-
$class = get_class();
23+
$class = static::class;
2424
return $context->format(
2525
($this->name instanceof StringNode
2626
? '$ʟ_input = end($this->global->formsStack)[%node]; echo ' . $class . '::input($ʟ_input->'
2727
: '$ʟ_input = is_object($ʟ_tmp = %node) ? $ʟ_tmp : end($this->global->formsStack)[$ʟ_tmp]; echo ' . $class . '::input($ʟ_input->')
2828
. ($this->part ? ('getControlPart(%node)') : 'getControl()')
2929
. ($this->attributes->items ? '->addAttributes(%2.node)' : '')
30-
. ' %3.line, $ʟ_input, %2.var);',
30+
. ' %3.line, $ʟ_input, %1.dump);',
3131
$this->name,
32-
$this->part,
32+
$this->part !== null,
3333
$this->attributes,
3434
$this->position,
3535
);

src/LatteTags/LabelNode.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,14 @@ public function print(PrintContext $context): string
2222
{
2323
return $context->format(
2424
($this->name instanceof StringNode
25-
? 'if ($ʟ_label = end($this->global->formsStack)[%node]->'
25+
? 'if ($ʟ_label = ($ʟ_input = end($this->global->formsStack)[%node])->'
2626
: '$ʟ_input = is_object($ʟ_tmp = %node) ? $ʟ_tmp : end($this->global->formsStack)[$ʟ_tmp]; if ($ʟ_label = $ʟ_input->')
2727
. ($this->part ? ('getLabelPart(%node)') : 'getLabel()')
28-
. ') echo ' . get_class() . '::label($ʟ_label'
28+
. ') echo ' . static::class . '::label($ʟ_label'
2929
. ($this->attributes->items ? '->addAttributes(%2.node)' : '')
30-
. ($this->void ? ' %3.line, $ʟ_label, %2.var);' : '->startTag() %3.line, $ʟ_label, %2.var); %4.node if ($ʟ_label) echo $ʟ_label->endTag() %5.line;'),
30+
. ($this->void ? ' %3.line, $ʟ_input, %1.dump);' : '->startTag() %3.line, $ʟ_input, %1.dump); %4.node if ($ʟ_label) echo $ʟ_label->endTag() %5.line;'),
3131
$this->name,
32-
$this->part,
32+
$this->part !== null,
3333
$this->attributes,
3434
$this->position,
3535
$this->content,

0 commit comments

Comments
 (0)