Your IP : 216.73.216.79


Current Path : /var/www/html/dyna-hr/views/menu/
Upload File :
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>&nbsp;&nbsp;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'>
                                        &nbsp;&nbsp;<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>&nbsp;Back', ['/menu/' . Yii::$app->getRequest()->getQueryParam('returnUrl')], ['class' => 'btn btn-outline-brand']) ?>&nbsp;
                        <?= Html::a('<i class="fas fa-sync"></i>&nbsp;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']); ?>&nbsp;
                        <?= Html::submitButton('<i class="fas fa-paper-plane"></i>&nbsp;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>