/**
  * @return string
  * @since 1.0.0
  * @throws ExitException|InvalidParamException
  */
 public function actionIndex()
 {
     $searchModel = new PhraseSearch();
     $dataProvider = $searchModel->search(Yii::$app->request->queryParams);
     if (Yii::$app->request->post('hasEditable')) {
         $post = Yii::$app->request->post();
         $out = Json::encode(['output' => '', 'message' => '']);
         $language_id = Language::getIdByCode($post['editableAttribute']);
         $phrase_id = $post['editableKey'];
         if ($language_id !== 0 && $phrase_id !== 0) {
             $model = PhraseTranslate::findOne(['phrase_id' => $phrase_id, 'language_id' => $language_id]);
             if ($model === null) {
                 $model = new PhraseTranslate();
                 $model->language_id = $language_id;
                 $model->phrase_id = $phrase_id;
             }
             $model->value = $post['Phrase'][$post['editableIndex']][$post['editableAttribute']];
             $model->save();
             $out = Json::encode(['output' => $model->value, 'message' => '']);
         }
         echo $out;
         Yii::$app->end();
     }
     return $this->render('index', ['searchModel' => $searchModel, 'dataProvider' => $dataProvider]);
 }