BiFace_Server_Lite/helpers/ListManagementGrid.php
2022-09-26 09:43:12 +07:00

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ị&nbsp;&nbsp;&nbsp;";
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("&nbsp;", $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);'>";
};
}
}