Skip to content

Commit 4ea4242

Browse files
authored
Merge pull request #208 from jtreminio/feature/item-style-2
SplitItemBuilder should reference menu styles
2 parents da43609 + 0f1db5f commit 4ea4242

File tree

2 files changed

+6
-25
lines changed

2 files changed

+6
-25
lines changed

src/Builder/CliMenuBuilder.php

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -320,21 +320,15 @@ private function processIndividualShortcut(MenuItemInterface $item, callable $ca
320320
public function addSplitItem(\Closure $callback) : self
321321
{
322322
$builder = new SplitItemBuilder($this->menu);
323+
$builder->setCheckboxStyle(clone $this->menu->getCheckboxStyle())
324+
->setRadioStyle(clone $this->menu->getRadioStyle());
323325

324326
if ($this->autoShortcuts) {
325327
$builder->enableAutoShortcuts($this->autoShortcutsRegex);
326328
}
327329

328330
$callback($builder);
329331

330-
if (!$builder->getCheckboxStyle()->hasChangedFromDefaults()) {
331-
$builder->setCheckboxStyle(clone $this->menu->getCheckboxStyle());
332-
}
333-
334-
if (!$builder->getRadioStyle()->hasChangedFromDefaults()) {
335-
$builder->setRadioStyle(clone $this->menu->getRadioStyle());
336-
}
337-
338332
$this->menu->addItem($splitItem = $builder->build());
339333

340334
$this->processSplitItemShortcuts($splitItem);

src/Builder/SplitItemBuilder.php

Lines changed: 4 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -44,23 +44,10 @@ class SplitItemBuilder
4444
*/
4545
private $autoShortcutsRegex = '/\[(.)\]/';
4646

47-
/**
48-
* @var CheckboxStyle
49-
*/
50-
private $checkboxStyle;
51-
52-
/**
53-
* @var RadioStyle
54-
*/
55-
private $radioStyle;
56-
5747
public function __construct(CliMenu $menu)
5848
{
5949
$this->menu = $menu;
6050
$this->splitItem = new SplitItem();
61-
62-
$this->checkboxStyle = new CheckboxStyle();
63-
$this->radioStyle = new RadioStyle();
6451
}
6552

6653
public function addItem(
@@ -171,12 +158,12 @@ public function build() : SplitItem
171158

172159
public function getCheckboxStyle() : CheckboxStyle
173160
{
174-
return $this->checkboxStyle;
161+
return $this->menu->getCheckboxStyle();
175162
}
176163

177164
public function setCheckboxStyle(CheckboxStyle $style) : self
178165
{
179-
$this->checkboxStyle = $style;
166+
$this->menu->setCheckboxStyle($style);
180167

181168
return $this;
182169
}
@@ -190,12 +177,12 @@ public function modifyCheckboxStyle(callable $itemCallable) : self
190177

191178
public function getRadioStyle() : RadioStyle
192179
{
193-
return $this->radioStyle;
180+
return $this->menu->getRadioStyle();
194181
}
195182

196183
public function setRadioStyle(RadioStyle $style) : self
197184
{
198-
$this->radioStyle = $style;
185+
$this->menu->setRadioStyle($style);
199186

200187
return $this;
201188
}

0 commit comments

Comments
 (0)