| Current Path : /var/www/html/dyna-hr/views/menu/ |
| Current File : /var/www/html/dyna-hr/views/menu/_form.php |
<?php
use yii\helpers\Html;
use yii\widgets\ActiveForm;
use app\models\ParamList;
use app\models\MenuAccess;
use app\models\Menu;
use yii\helpers\ArrayHelper;
/* @var $this yii\web\View */
/* @var $model app\models\Menu */
/* @var $form yii\widgets\ActiveForm */
$Menu = new Menu();
$ParamList = new ParamList();
?>
<div class="menu-form">
<div class="kt-container kt-container--fluid kt-grid__item kt-grid__item--fluid">
<div class="kt-portlet kt-portlet--mobile">
<div class="kt-portlet__body kt-portlet__body--fit">
<div class="kt-portlet__head">
<div class="kt-portlet__head-label">
<span class="kt-font-info"><i class="fas fa-info-circle"></i> Field with <span class="required">*</span> is required</span>
</div>
</div>
<div class="kt-portlet__body">
<?php $form = ActiveForm::begin(['options' => ['class' => 'kt-form kt-form--label-right']]); ?>
<?php $form->errorSummary($model); ?>
<div class="row">
<div class="col-4">
<div class='form-group-custom'>
<?= $form->field($model, 'title', ['template' => "{label}<span class='required'>*</span>{input}<span class='kt-font-danger font-weight-bold'>{error}</span>"])->textInput(['maxlength' => true]); ?>
</div>
</div>
<div class="col-4">
<div class='form-group-custom'>
<?= $form->field($model, 'url', ['template' => "{label}{input}<span class='kt-font-danger font-weight-bold'>{error}</span>"])->textInput(['maxlength' => true]); ?>
</div>
</div>
<div class="col-4">
<div class='form-group-custom'>
<?=
$form->field($model, 'status', ['template' =>
"{label}<span class='required'>*</span>{input}
<span class='kt-font-danger font-weight-bold'>{error}</span>"])
->dropDownList($ParamList->getparamlist(1), ['class' => 'form-control kt-selectpicker']);
?>
</div>
</div>
<div class="col-4">
<div class='form-group-custom'>
<?=
$form->field($model, 'parent', ['template' => "{label}{input}<span class='kt-font-danger font-weight-bold'>{error}</span>"])
->dropDownList($Menu->getmenulist('arr1'), ['prompt' => '(No parent)', 'onchange' => 'checkdisabledinput()', 'class' => 'form-control kt-selectpicker', 'options' => $Menu->getmenulist('arr2')]);
?>
</div>
</div>
<div class="col-4">
<div class='form-group-custom'>
<?php
$parent = 0;
if ($model->parent != '')
$parent = $model->parent;
$sort_arr = ArrayHelper::map(Menu::find()->where(['parent' => $parent, 'left_menu' => 1])->orderBy(['sort' => SORT_ASC])->all(), 'sort', 'title');
echo $form->field($model, 'sort', ['template' => "{label}
<span class='kt-font-info' data-toggle='tooltip' data-placement='right' title='Menu will be place after the menu selected here'>
<i class='fas fa-info-circle'></i>
</span>
{input}<span class='kt-font-danger font-weight-bold'>{error}</span>"])
->dropDownList($sort_arr, ['prompt' => '(First in order)', 'class' => 'form-control kt-selectpicker']);
?>
</div>
</div>
<div class="col-4">
<div class='form-group-custom'>
<?php
echo $form->field($model, 'user_access', ['template' => "{label}<span class='required'>*</span><div class='kt-checkbox-inline mt-2' style='color: #646c9a;'>{input}</div><span class='kt-font-danger font-weight-bold'>{error}</span>"])->checkboxList(
$ParamList->getparamlist(2), ['item' => function ($index, $label, $name, $checked, $value) {
$checked2 = '';
if ($checked == 1)
$checked2 = 'checked';
return '<label class="kt-checkbox"><input type="checkbox" ' . $checked2 . ' name="' . $name . '" value="' . $value . '"> ' . $label . '<span></span></label>';
}]
);
?>
</div>
</div>
</div>
</div>
<div class="kt-portlet__foot">
<div class="kt-form__actions">
<?= Html::a('<i class="fas fa-arrow-left"></i> Back', ['/menu/' . Yii::$app->getRequest()->getQueryParam('returnUrl')], ['class' => 'btn btn-outline-brand']) ?>
<?= Html::a('<i class="fas fa-sync"></i> Reset', [Yii::$app->controller->action->id, 'parent' => Yii::$app->getRequest()->getQueryParam('parent'), 'uuid' => Yii::$app->getRequest()->getQueryParam('uuid'), 'returnUrl' => Yii::$app->getRequest()->getQueryParam('returnUrl')], ['class' => 'btn btn-outline-success']); ?>
<?= Html::submitButton('<i class="fas fa-paper-plane"></i> Submit', ['class' => 'btn btn-info']) ?>
</div>
</div>
<?php ActiveForm::end(); ?>
</div>
</div>
</div>
</div>
<?php $this->registerJs("checkdisabledinput(); $('#menu-parent').change(function(){getsortlist();});"); ?>
<script>
function checkdisabledinput() {
var icon_status = 1;
var separator_status = 1;
var leftmenu_status = 1;
var parent_val = $('#menu-parent').val();
var separator_val = $('#menu-separator').val();
var leftmenu_val = $('#menu-left_menu').val();
//check icon status
if (separator_val === '1' || leftmenu_val === '0' || parent_val !== '')
icon_status = 0;
if (icon_status === 0) {
$('#menu-icon').val('');
$('#menu-icon').prop('readonly', true);
$("#menu-icon").addClass("form-readonly");
}
if (icon_status === 1) {
$('#menu-icon').prop('readonly', false);
$("#menu-icon").removeClass("form-readonly");
}
//check separator status
if (leftmenu_val === '0')
separator_status = 0;
if (separator_status === 0) {
$('#menu-separator').val(0);
$('#menu-separator').prop('disabled', true);
$('#menu-separator').selectpicker('refresh');
$('#menu-sort').val('');
$('#menu-sort').prop('disabled', true);
$('#menu-sort').selectpicker('refresh');
}
if (separator_status === 1) {
$('#menu-separator').prop('disabled', false);
$('#menu-separator').selectpicker('refresh');
$('#menu-sort').prop('disabled', false);
$('#menu-sort').selectpicker('refresh');
}
//check leftmenu
if (separator_val === '1' || leftmenu_val === '0')
leftmenu_status = 0;
if (leftmenu_status === 0) {
$('#menu-parent').val('');
$('#menu-parent').prop('disabled', true);
$('#menu-parent').selectpicker('refresh');
}
if (leftmenu_status === 1) {
$('#menu-parent').prop('disabled', false);
$('#menu-parent').selectpicker('refresh');
}
}
function getsortlist() {
var parent_val = $('#menu-parent').val();
if (parent_val === '')
parent_val = 0;
$.ajax({
url: "index.php?r=menu/getsortlist",
method: "POST",
data: {"parent_val": parent_val},
success: function (response) {
//alert(response);
$('#menu-sort').find('option').not(':first').remove();
$("#menu-sort").append(response);
$('#menu-sort').selectpicker('refresh');
},
});
}
</script>