|
10 | 10 |
|
11 | 11 | use Atk4\Ui\Button; |
12 | 12 | use Atk4\Ui\Crud; |
| 13 | +use Atk4\Ui\Exception; |
13 | 14 | use Atk4\Ui\Header; |
14 | 15 | use Atk4\Ui\Loader; |
15 | 16 | use Atk4\Ui\UserAction\ExecutorFactory; |
|
25 | 26 | ); |
26 | 27 |
|
27 | 28 | $loader = Loader::addTo($app); |
| 29 | +$loader->cb->setUrlTrigger('trigger_main_loader'); |
28 | 30 | $loader->loadEvent = false; |
29 | 31 |
|
30 | | -$loader->set(function ($p) use ($m) { |
31 | | - $loader_1 = Loader::addTo($p); |
32 | | - $loader_1->loadEvent = false; |
33 | | - |
| 32 | +$loader->set(function (Loader $p) use ($m) { |
34 | 33 | Header::addTo($p, ['Loader-1', 'size' => 4]); |
35 | 34 |
|
36 | | - $loader_1->set(function ($p) use ($m) { |
| 35 | + if (isset($_GET['err_main_loader'])) { |
| 36 | + throw new Exception('Exception from Main Loader'); |
| 37 | + } |
| 38 | + |
| 39 | + $loaderSub = Loader::addTo($p); |
| 40 | + $loaderSub->cb->setUrlTrigger('trigger_sub_loader'); |
| 41 | + $loaderSub->loadEvent = false; |
| 42 | + |
| 43 | + $loaderSub->set(function (Loader $p) use ($m) { |
37 | 44 | Header::addTo($p, ['Loader-2', 'size' => 4]); |
38 | | - $loader_3 = Loader::addTo($p); |
39 | 45 |
|
40 | | - $loader_3->set(function ($p) use ($m) { |
| 46 | + if (isset($_GET['err_sub_loader'])) { |
| 47 | + throw new Exception('Exception from Sub Loader'); |
| 48 | + } elseif (isset($_GET['err_sub_loader2'])) { |
| 49 | + throw new \Error('Exception II from Sub Loader'); |
| 50 | + } |
| 51 | + |
| 52 | + $loaderSubSub = Loader::addTo($p); |
| 53 | + |
| 54 | + $loaderSubSub->set(function (Loader $p) use ($m) { |
41 | 55 | Header::addTo($p, ['Loader-3', 'size' => 4]); |
42 | 56 |
|
43 | 57 | $c = Crud::addTo($p, ['ipp' => 4]); |
44 | 58 | $c->setModel($m, [$m->fieldName()->name]); |
45 | 59 | }); |
46 | 60 | }); |
47 | | - \Atk4\Ui\Button::addTo($p, ['Load2'])->js('click', $loader_1->jsLoad()); |
| 61 | + \Atk4\Ui\Button::addTo($p, ['Load2'])->js('click', $loaderSub->jsLoad()); |
48 | 62 | }); |
49 | 63 |
|
50 | 64 | \Atk4\Ui\Button::addTo($app, ['Load1'])->js('click', $loader->jsLoad()); |
0 commit comments