get(UserServiceInterface::ServiceName); return [ 'index' => [ 'class' => IndexAction::className(), 'data' => function($query)use($service){ $result = $service->getList($query); return [ 'dataProvider' => $result['dataProvider'], 'searchModel' => $result['searchModel'], ]; } ], 'view-layer' => [ 'class' => ViewAction::className(), 'data' => function($id) use($service){ return [ 'model' => $service->getDetail($id), ]; }, ], 'create' => [ 'class' => CreateAction::className(), 'doCreate' => function($postData) use($service){ return $service->create($postData, ['scenario'=>'create']); }, 'data' => function($createResultModel) use($service){ $model = $createResultModel === null ? $service->newModel(['scenario'=>'create']) : $createResultModel; return [ 'model' => $model, ]; }, ], 'update' => [ 'class' => UpdateAction::className(), 'doUpdate' => function($id, $postData) use($service){ return $service->update($id, $postData, ['scenario'=>'update']); }, 'data' => function($id, $updateResultModel) use($service){ $model = $updateResultModel === null ? $service->getDetail($id, ['scenario'=>'update']) : $updateResultModel; return [ 'model' => $model, ]; }, ], 'delete' => [ 'class' => DeleteAction::className(), 'doDelete' => function($id) use($service){ return $service->delete($id); }, ], 'sort' => [ 'class' => SortAction::className(), 'doSort' => function($id, $sort) use($service){ return $service->sort($id, $sort); }, ], ]; } }