Skip to content

Commit f2889f9

Browse files
mabarMilan Felix Šulc
authored and
Milan Felix Šulc
committed
Nette 3
1 parent 20e4045 commit f2889f9

File tree

5 files changed

+39
-25
lines changed

5 files changed

+39
-25
lines changed

README.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,11 @@ Settings manager
1818

1919
## Version
2020

21-
| State | Version | Branch | PHP |
22-
|-------------|---------|----------|--------|
23-
| stable | `^0.1` | `master` | `^7.2` |
21+
| State | Version | Branch | Nette | PHP |
22+
|-------------|---------|----------|-------|---------|
23+
| dev | `^0.3` | `master` | 3.0+ | `^7.2` |
24+
| stable | `^0.2` | `master` | 3.0+ | `^7.2` |
25+
| stable | `^0.1` | `master` | 2.4 | `^7.2` |
2426

2527
## Maintainers
2628

composer.json

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@
1212
],
1313
"require": {
1414
"php": "^7.2",
15-
"nette/application": "~2.4.13",
16-
"nette/di": "~2.4.15",
17-
"nette/forms": "~2.4.9"
15+
"nette/application": "~3.0.0",
16+
"nette/di": "~3.0.0",
17+
"nette/forms": "~3.0.0"
1818
},
1919
"require-dev": {
2020
"mockery/mockery": "^1.2",
@@ -26,6 +26,9 @@
2626
"phpstan/phpstan-strict-rules": "^0.11",
2727
"phpunit/phpunit": "^8.1"
2828
},
29+
"conflict": {
30+
"nette/di": "<=3.0.0-RC"
31+
},
2932
"autoload": {
3033
"psr-4": {
3134
"Tlapnet\\Settus\\": "src"
@@ -43,7 +46,7 @@
4346
},
4447
"extra": {
4548
"branch-alias": {
46-
"dev-develop": "0.1.x-dev"
49+
"dev-develop": "0.3.x-dev"
4750
}
4851
}
4952
}

src/Component/SettingsControl.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ class SettingsControl extends Control
2929

3030
public function __construct(SettingsSection $section)
3131
{
32-
parent::__construct();
3332
$this->section = $section;
3433
}
3534

src/Component/SettingsForm.php

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -22,35 +22,35 @@ public function __construct(array $items)
2222
$value = $item->getValue();
2323

2424
$this->addSubmit('save_' . $key, 'Save')
25-
->setAttribute('class', 'btn btn-sm btn-primary');
25+
->setHtmlAttribute('class', 'btn btn-sm btn-primary');
2626

2727
$this->addSubmit('reset_' . $key, 'Reset')
28-
->setAttribute('class', 'btn btn-sm btn-danger');
28+
->setHtmlAttribute('class', 'btn btn-sm btn-danger');
2929

3030
if ($type === SettingsItemControl::TYPE_CHECKBOX) {
3131
$this->addCheckbox('value_' . $key)
32-
->setAttribute('class', 'form-control form-control-sm mr-2')
32+
->setHtmlAttribute('class', 'form-control form-control-sm mr-2')
3333
->setDefaultValue($value);
3434
} elseif ($type === SettingsItemControl::TYPE_PASSWORD) {
3535
$this->addPassword('value_' . $key)
36-
->setAttribute('class', 'form-control form-control-sm mr-2')
36+
->setHtmlAttribute('class', 'form-control form-control-sm mr-2')
3737
->setDefaultValue($value);
3838
} elseif ($type === SettingsItemControl::TYPE_SELECT) {
3939
$this->addSelect('value_' . $key, null, $control->getMeta()['items'] ?? [])
40-
->setAttribute('class', 'form-control form-control-sm mr-2')
40+
->setHtmlAttribute('class', 'form-control form-control-sm mr-2')
4141
->setDefaultValue($value);
4242
} else {
4343
$this->addText('value_' . $key)
44-
->setAttribute('class', 'form-control form-control-sm mr-2')
44+
->setHtmlAttribute('class', 'form-control form-control-sm mr-2')
4545
->setDefaultValue($value);
4646
}
4747
}
4848

4949
$this->addSubmit('saveAll', 'Save all')
50-
->setAttribute('class', 'btn btn-sm btn-primary');
50+
->setHtmlAttribute('class', 'btn btn-sm btn-primary');
5151

5252
$this->addSubmit('resetAll', 'Reset all')
53-
->setAttribute('class', 'btn btn-sm btn-danger');
53+
->setHtmlAttribute('class', 'btn btn-sm btn-danger');
5454
}
5555

5656
}

src/DI/SettusExtension.php

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,30 +3,40 @@
33
namespace Tlapnet\Settus\DI;
44

55
use Nette\DI\CompilerExtension;
6+
use Nette\Schema\Expect;
7+
use Nette\Schema\Schema;
8+
use stdClass;
69
use Tlapnet\Settus\Component\ISettingsControlFactory;
710
use Tlapnet\Settus\Component\SettingsControl;
811
use Tlapnet\Settus\SettingsManager;
912

13+
/**
14+
* @property-read stdClass $config
15+
*/
1016
class SettusExtension extends CompilerExtension
1117
{
1218

13-
/** @var mixed[] */
14-
private $defaults = [
15-
'managerClass' => SettingsManager::class,
16-
'sections' => [],
17-
];
19+
public function getConfigSchema(): Schema
20+
{
21+
return Expect::structure([
22+
'managerClass' => Expect::string(SettingsManager::class),
23+
'sections' => Expect::array(),
24+
]);
25+
}
1826

1927
public function loadConfiguration(): void
2028
{
2129
$builder = $this->getContainerBuilder();
22-
$config = $this->validateConfig($this->defaults);
30+
$config = $this->config;
2331

2432
$builder->addDefinition($this->prefix('settingsManager'))
25-
->setFactory($config['managerClass'], [$config['sections']]);
33+
->setFactory($config->managerClass, [$config->sections]);
2634

27-
$builder->addDefinition($this->prefix('settingsControl'))
28-
->setType(SettingsControl::class)
35+
$settingsControlFactoryDefinition = $builder->addFactoryDefinition($this->prefix('settingsControl'))
2936
->setImplement(ISettingsControlFactory::class);
37+
38+
$settingsControlFactoryDefinition->getResultDefinition()
39+
->setType(SettingsControl::class);
3040
}
3141

3242
}

0 commit comments

Comments
 (0)