forked from koala-framework/koala-framework
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Events.php
29 lines (28 loc) · 1.05 KB
/
Events.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?php
class Kwc_Abstract_Composite_Events extends Kwc_Abstract_Events
{
public function getListeners()
{
$ret = parent::getListeners();
foreach (Kwc_Abstract::getChildComponentClasses($this->_class, 'child') as $class) {
$ret[] = array(
'class' => $class,
'event' => 'Kwf_Component_Event_Component_HasContentChanged',
'callback' => 'onChildHasContentChange'
);
}
return $ret;
}
public function onChildHasContentChange(Kwf_Component_Event_Component_HasContentChanged $event)
{
if ($event->component->parent->componentClass == $this->_class) {
$this->fireEvent(new Kwf_Component_Event_Component_HasContentChanged(
$this->_class, $event->component->parent
));
// TODO: parse template to check if ContentChanged is necessary
$this->fireEvent(new Kwf_Component_Event_Component_ContentChanged(
$this->_class, $event->component->parent
));
}
}
}