<?php

declare(strict_types=1);

use yii;
use yii\bootstrap\ActiveForm;
use yii\helpers\Html;

use app\models\Notification;

?>
<link href="/css/pages/profile.css" rel="stylesheet">

<div id="page_profile" class="container h-100">
    <div class="row h-100 py-3">
        <nav class="col-3">
            <?= $sidebar ?? yii::$app->controller->renderPartial('/profile/sidebar') ?>
        </nav>
        <article class="col-9">
            <div class="p-4 rounded">
                <h4 class="ml-4 mb-4"><i class="fas fa-sliders-h my-auto mr-2"></i>Настройки</h4>
                <div id="profile_panel_settings" class="profile_panel">
                    <div class="profile_panel_menu mb-3">
                        <label class="btn button_white mb-0 mr-2" for="profile_panel_settings_account">Аккаунт</label>
                        <label class="btn button_white mb-0 mr-2" for="profile_panel_settings_company">Компания</label>
                        <label class="btn button_white mb-0" for="profile_panel_settings_import">Импорт</label>
                    </div>
                    <div class="profile_panel_content d-flex">
                        <input type="radio" id="profile_panel_settings_account" name="main_panel" />
                        <div class="col">
                            1
                        </div>

                        <input type="radio" id="profile_panel_settings_company" name="main_panel" />
                        <div class="col">
                            2
                        </div>

                        <input type="radio" id="profile_panel_settings_import" name="main_panel" checked />
                        <div class="col">
                            <h5>Параметры 1C</h5>
                            <div class="dropdown-divider mb-3"></div>
                            <?
                                $form = ActiveForm::begin([
                                    'id' => 'form_profile_settings',
                                    'action' => false,
                                    'fieldConfig' => [
                                        'template' => '{label}{input}',
                                    ],
                                    'options' => [
                                        'onsubmit' => 'return false;'
                                    ]
                                ]);

                                /**
                                 * @todo Перенести в модель
                                 */

                                // Инициализация
                                isset($model) or $model = yii::$app->user->identity;
                                isset($attributes) or $attributes = Supply::searchByAccount(yii::$app->user->id);
                                $list = [];

                                // Перебор свойств поставок
                                foreach ($attributes as $attribute) {
                                    // Инициализация
                                    $id = $attribute['ЗначенияСвойства']['Ид'];

                                    if (in_array($id, $list, true)) {
                                        // Если встретился дубликат (вызывается очень часто)
                                        continue;
                                    }

                                    // Генерация
                                    $list[$id] = $attribute['ЗначенияСвойства']['Наименование'];
                                }

                                // Инициализация текущего значения параметра в начале массива
                                if (isset($model->opts['import_sections_oem'])) {
                                    // Параметр 'import_sections_oem' найден в настройках аккаунта

                                    if (isset($list[$model->opts['import_sections_oem']])) {
                                        // Найдено совпадение сохранённого параметра с полученным списком из поставок

                                        // Буфер для сохранения параметра
                                        $buffer = $list[$model->opts['import_sections_oem']];

                                        // Удаление параметра
                                        unset($list[$model->opts['import_sections_oem']]);

                                        // Сохранение параметра в начале массива
                                        $list = array_merge([$model->opts['import_sections_oem'] => $buffer], $list);
                                    } else {
                                        // Совпадение не найдено

                                        // Сохранение параметра из данных аккаунта в начале массива
                                        $list = array_merge([$model->opts['import_sections_oem'] => $model->opts['import_sections_oem']], $list);
                                    }
                                }
                            ?>

                            <?= $form->field($model, 'opts[import_sections_oem]', ['options' => ['class' => "mb-1"]])->dropDownList($list ?? ['Нет данных'], ['onChange' => 'page_profile_settings(this.parentElement.parentElement)'])->label('OEM-номера'); ?>
                            <small class="d-block mb-1">Выберите поле в котором хранятся <b>ОЕМ-номера</b> и повторите импорт</small>
                            <small class="d-block">Значения взяты из импортированных товаров</small>
                            <!-- <small class="d-block mb-3">Значения взяты из импортированных товаров</small> -->

                            <? ActiveForm::end(); ?>
                        </div>
                    </div>
                </div>
            </div>
        </article>
    </div>
</div>

<script src="/js/profile.js" defer></script>