コード例 #1
0
 /**
  * @return array
  * @throws InvalidConfigException
  */
 public function getColumns()
 {
     $columns = [['attribute' => 'id'], ['attribute' => 'message', 'format' => 'raw', 'value' => function (SourceMessage $model) {
         return Html::a(Html::encode($model->message), ['update', 'id' => $model->id], ['data-pjax' => 0]);
     }]];
     /** @var \metalguardian\i18n\components\I18n $i18n */
     $i18n = Yii::$app->getI18n();
     if (!$i18n instanceof I18n) {
         throw new InvalidConfigException(Module::t('I18n component have to be instance of metalguardian\\i18n\\components\\I18n'));
     }
     foreach ($i18n->languages as $language) {
         $columns[] = ['attribute' => 'translation', 'label' => Module::t('Translation[{language}]', ['language' => $language]), 'value' => function (SourceMessage $data) use($language) {
             return isset($data->messages[$language]) ? Html::encode($data->messages[$language]->translation) : null;
         }, 'filter' => Html::activeTextInput($this, 'translation[' . $language . ']', ['class' => 'form-control'])];
     }
     $columns[] = ['attribute' => 'category', 'filter' => \yii\helpers\ArrayHelper::map(SourceMessage::getCategories(), 'category', 'category'), 'options' => ['class' => 'col-sm-1']];
     return $columns;
 }