@@ -19,35 +19,40 @@ class CardTable extends Table
1919 /**
2020 * @param array<int, string>|null $columns
2121 */
22- public function setModel (Model $ model , array $ columns = null ): void
22+ public function setModel (Model $ entity , array $ columns = null ): void
2323 {
2424 if ($ this ->_bypass ) {
25- parent ::setModel ($ model );
25+ parent ::setModel ($ entity );
2626
2727 return ;
2828 }
2929
30- $ model ->assertIsLoaded ();
30+ $ entity ->assertIsLoaded ();
3131
3232 if ($ columns === null ) {
33- $ columns = array_keys ($ model ->getFields ('visible ' ));
33+ $ columns = array_keys ($ entity ->getFields ('visible ' ));
3434 }
3535
3636 $ data = [];
37- foreach ($ model ->get () as $ key => $ value ) {
37+ foreach ($ entity ->get () as $ key => $ value ) {
3838 if (in_array ($ key , $ columns , true )) {
3939 $ data [] = [
4040 'id ' => $ key ,
41- 'field ' => $ model ->getField ($ key )->getCaption (),
42- 'value ' => $ this ->getApp ()->uiPersistence ->typecastSaveField ($ model ->getField ($ key ), $ value ),
41+ 'field ' => $ entity ->getField ($ key )->getCaption (),
42+ 'value ' => $ this ->getApp ()->uiPersistence ->typecastSaveField ($ entity ->getField ($ key ), $ value ),
4343 ];
4444 }
4545 }
4646
4747 $ this ->_bypass = true ;
48- $ mm = parent ::setSource ($ data );
49- $ this ->addDecorator ('value ' , [Table \Column \Multiformat::class, function (Model $ row ) use ($ model ) {
50- $ field = $ model ->getField ($ row ->getId ());
48+ try {
49+ parent ::setSource ($ data );
50+ } finally {
51+ $ this ->_bypass = false ;
52+ }
53+
54+ $ this ->addDecorator ('value ' , [Table \Column \Multiformat::class, function (Model $ row ) use ($ entity ) {
55+ $ field = $ entity ->getField ($ row ->getId ());
5156 $ ret = $ this ->decoratorFactory (
5257 $ field ,
5358 $ field ->type === 'boolean ' ? [Table \Column \Status::class, ['positive ' => [true , 'Yes ' ], 'negative ' => [false , 'No ' ]]] : []
@@ -58,6 +63,5 @@ public function setModel(Model $model, array $columns = null): void
5863
5964 return [$ ret ];
6065 }]);
61- $ this ->_bypass = false ;
6266 }
6367}
0 commit comments