129 lines
4.7 KiB
PHP
129 lines
4.7 KiB
PHP
<?php
|
|
|
|
namespace app\helpers;
|
|
|
|
use Yii;
|
|
use yii\helpers\Html;
|
|
use yii\helpers\Url;
|
|
|
|
class ListManagementGrid {
|
|
|
|
static $path = "";
|
|
|
|
public static function path() {
|
|
return self::$path;
|
|
}
|
|
|
|
public static function engineNameFunc() {
|
|
return function ($data) {
|
|
return $data->app->app_name;
|
|
};
|
|
}
|
|
|
|
public static function layout($default = 20, $hiddenText = false) {
|
|
$pageSize = [10, 20, 50, 100];
|
|
$options = [];
|
|
foreach ($pageSize as $key => $value) {
|
|
$selected = "";
|
|
if (Yii::$app->request->get("per-page") && Yii::$app->request->get("per-page") == $value)
|
|
$selected = "selected";
|
|
if (!Yii::$app->request->get("per-page") && $value == $default)
|
|
$selected = "selected";
|
|
$options[] = "<option value='" . $value . "' {$selected}>" . $value . "</options>";
|
|
}
|
|
$select = "<select style='width:80px;' onchange='common.changePerPage(this);'>" . implode("", $options) . "</select>";
|
|
$text = "";
|
|
if (!$hiddenText)
|
|
$text = "Hiển thị ";
|
|
return "{items}<div class='row'><div class='col-md-6'>{summary}</div><div class='col-md-6'><div class='row'><div class='col-md-9 text-right'>{pager}</div><div class='col-md-3'>" . $text . $select . "</div></div></div></div>";
|
|
}
|
|
|
|
public static function getLayout() {
|
|
return "{items}<div class='row'><div class='col-md-4'>{summary}</div><div class='col-md-8 text-right'>{pager}</div></div>";
|
|
}
|
|
|
|
public static function actionTemplate() {
|
|
return "{update} {delete}";
|
|
}
|
|
|
|
public static function time() {
|
|
return function($model) {
|
|
return date("H:i:s d/m/Y", $model->time);
|
|
};
|
|
}
|
|
|
|
public static function birthday() {
|
|
return function($model) {
|
|
return date("d/m/Y", $model->birthday);
|
|
};
|
|
}
|
|
|
|
public static function image() {
|
|
return function($model) {
|
|
$images = json_decode($model->image, true);
|
|
$return = [];
|
|
foreach ($images as $key => $value) {
|
|
$removeBtn = Html::button("<i class='fa fa-remove'></i>", [
|
|
"class" => "btn btn-danger btn-xs",
|
|
"style" => "position:absolute;top:0;right:0;visibility: hidden;",
|
|
"onclick" => "_deleteFeature(this);",
|
|
"data-img" => $value['url'],
|
|
"data-id" => $model->id,
|
|
"data-href" => Url::to(["/list-management/delete-feature"])
|
|
]);
|
|
$return[] = "<div class='feature-img'>" . Html::img("/data/uploads/face/" . $value['url'], [
|
|
"class" => "img-thumbnail",
|
|
"style" => "width: 100px;height:100px;"
|
|
]) . $removeBtn . "</div>";
|
|
}
|
|
return implode(" ", $return);
|
|
};
|
|
}
|
|
|
|
public static function type($typeArray) {
|
|
return function($model) use ($typeArray) {
|
|
return $typeArray[$model->type];
|
|
};
|
|
}
|
|
|
|
public static function gender($genderArray) {
|
|
return function($model) use ($genderArray) {
|
|
return $genderArray[$model->gender];
|
|
};
|
|
}
|
|
|
|
public static function rows() {
|
|
return function($model, $index, $widget, $grid) {
|
|
return [
|
|
"ondblclick" => "_menu(this);",
|
|
"style" => "cursor: pointer;",
|
|
"data" => [
|
|
"id" => $model->id
|
|
]
|
|
];
|
|
};
|
|
}
|
|
|
|
public static function schedule() {
|
|
return function($model) {
|
|
$schedules = $model->schedule;
|
|
$html = "<ul style='padding-left:10px;'>";
|
|
foreach ($schedules as $key => $value) {
|
|
$btnEdit = "<i class='fa fa-edit text-green' onclick='formEditSchedule(this);' data-href='" . Url::to(['/list-management/edit-schedule', 'id' => $value->id]) . "'></i>";
|
|
$btnDelete = "<i class='fa fa-remove text-red' onclick='formDeleteSchedule(this);' data-href='" . Url::to(['/list-management/delete-schedule', 'id' => $value->id]) . "'></i>";
|
|
$btn = "<span class='btn-schedule'>" . $btnEdit . " " . $btnDelete . "</span>";
|
|
$html .= "<li class='schedule-item'>[" . $value->from_time . "-" . $value->to_time . "] " . $value->from_date . " - " . $value->to_date . " " . $btn . "</li>";
|
|
}
|
|
$html .= "</ul>";
|
|
return $html;
|
|
};
|
|
}
|
|
|
|
public static function check() {
|
|
return function($model) {
|
|
return "<input type='checkbox' value='' name='' onclick='choose(this);'>";
|
|
};
|
|
}
|
|
|
|
}
|