Skip to content

Commit 94f1b27

Browse files
committed
UiComponentTrait
1 parent 2e0cbd1 commit 94f1b27

File tree

4 files changed

+29
-18
lines changed

4 files changed

+29
-18
lines changed

composer.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,7 @@
1010
],
1111
"require": {
1212
"php": ">=7.1",
13-
"packaged/helpers": "~1.17",
14-
"packaged/config": "~1.3",
13+
"packaged/helpers": "^1.0||^2.0",
1514
"packaged/http": "~1.1",
1615
"tedivm/jshrink": "~1.3"
1716
},

src/Component/UiComponent.php

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,12 @@
11
<?php
22
namespace Packaged\Dispatch\Component;
33

4-
use Packaged\Dispatch\ResourceManager;
5-
64
abstract class UiComponent implements DispatchableComponent
75
{
8-
private static $_initComponents = [];
6+
use UiComponentTrait;
97

108
public function __construct()
119
{
12-
if(!isset(self::$_initComponents[static::class]))
13-
{
14-
$this->_requireResources(ResourceManager::component($this));
15-
self::$_initComponents[static::class] = true;
16-
}
17-
}
18-
19-
protected function _requireResources(ResourceManager $manager)
20-
{
10+
$this->_initDispatchableComponent($this);
2111
}
2212
}

src/Component/UiComponentTrait.php

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
<?php
2+
namespace Packaged\Dispatch\Component;
3+
4+
use Packaged\Dispatch\ResourceManager;
5+
6+
trait UiComponentTrait
7+
{
8+
private static $_initComponents = [];
9+
10+
protected function _initDispatchableComponent(DispatchableComponent $component)
11+
{
12+
if(!isset(self::$_initComponents[static::class]))
13+
{
14+
$this->_requireResources(ResourceManager::component($component));
15+
self::$_initComponents[static::class] = true;
16+
}
17+
}
18+
19+
protected function _requireResources(ResourceManager $manager)
20+
{
21+
}
22+
}

src/ResourceManager.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -216,7 +216,7 @@ public function requireJs($toRequire, $options = null)
216216
{
217217
if($this->_type == self::MAP_INLINE)
218218
{
219-
return $this->requireInlineJs($toRequire);
219+
return $this->_requireInlineJs($toRequire);
220220
}
221221
Dispatch::instance()->store()->requireJs($this->getResourceUri($toRequire), $options);
222222
return $this;
@@ -229,7 +229,7 @@ public function requireJs($toRequire, $options = null)
229229
*
230230
* @return ResourceManager
231231
*/
232-
public function requireInlineJs($javascript)
232+
protected function _requireInlineJs($javascript)
233233
{
234234
Dispatch::instance()->store()->requireInlineJs($javascript);
235235
return $this;
@@ -248,7 +248,7 @@ public function requireCss($toRequire, $options = null)
248248
{
249249
if($this->_type == self::MAP_INLINE)
250250
{
251-
return $this->requireInlineCss($toRequire);
251+
return $this->_requireInlineCss($toRequire);
252252
}
253253
Dispatch::instance()->store()->requireCss($this->getResourceUri($toRequire), $options);
254254
return $this;
@@ -261,7 +261,7 @@ public function requireCss($toRequire, $options = null)
261261
*
262262
* @return ResourceManager
263263
*/
264-
public function requireInlineCss($stylesheet)
264+
protected function _requireInlineCss($stylesheet)
265265
{
266266
Dispatch::instance()->store()->requireInlineCss($stylesheet);
267267
return $this;

0 commit comments

Comments
 (0)