blob: 5401c7644319aafe28316c94ebc6641fe656d5d0 (
plain)
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
|
<?php
Prado::using('System.Data.ActiveRecord.Scaffold.TScaffoldBase');
Prado::using('System.Data.ActiveRecord.Scaffold.TScaffoldListView');
Prado::using('System.Data.ActiveRecord.Scaffold.TScaffoldEditView');
Prado::using('System.Data.ActiveRecord.Scaffold.TScaffoldSearch');
class TScaffoldView extends TScaffoldBase
{
public function onLoad($param)
{
parent::onLoad($param);
$this->getListView()->copyFrom($this);
$this->getEditView()->copyFrom($this);
$this->getSearchControl()->copyFrom($this);
}
public function getListView()
{
$this->ensureChildControls();
return $this->getRegisteredObject('_listView');
}
public function getEditView()
{
$this->ensureChildControls();
return $this->getRegisteredObject('_editView');
}
public function getSearchControl()
{
$this->ensureChildControls();
return $this->getRegisteredObject('_search');
}
public function getAddButton()
{
$this->ensureChildControls();
return $this->getRegisteredObject('_newButton');
}
public function bubbleEvent($sender,$param)
{
switch(strtolower($param->getCommandName()))
{
case 'edit':
return $this->showEditView($sender, $param);
case 'new':
return $this->showAddView($sender, $param);
default:
return $this->showListView($sender, $param);
}
return false;
}
protected function showEditView($sender, $param)
{
$this->getListView()->setVisible(false);
$this->getEditView()->setVisible(true);
$this->getAddButton()->setVisible(false);
$this->getSearchControl()->setVisible(false);
$this->getEditView()->getCancelButton()->setVisible(true);
$this->getEditView()->getClearButton()->setVisible(false);
}
protected function showListView($sender, $param)
{
$this->getListView()->setVisible(true);
$this->getEditView()->setVisible(false);
$this->getAddButton()->setVisible(true);
$this->getSearchControl()->setVisible(true);
}
protected function showAddView($sender, $param)
{
$this->getEditView()->setRecordPk(null);
$this->getEditView()->initializeEditForm();
$this->showEditView($sender, $param);
}
}
?>
|