<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8" />
    <title>JSDoc: Module: util;</title>

    <script src="scripts/prettify/prettify.js"></script>
    <script src="scripts/prettify/lang-css.js"></script>
    <!--[if lt IE 9]>
      <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
    <![endif]-->
    <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css" />
    <link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css" />
  </head>

  <body>
    <div id="main">
      <h1 class="page-title">Module: Utils</h1>

      <section>
        <header></header>

        <article>
          <div class="container-overview">
            <div class="description">
              В этом модуле представленны функции которые переиспользуются в классе селекта или в
              других модулях. Он создан для лучшего понимания кода.
            </div>

            <dl class="details">
              <dt class="tag-source">Source:</dt>
              <dd class="tag-source">
                <ul class="dummy">
                  <li>
                    <a href="utils.js.html">utils.js</a>, <a href="utils.js.html#line1">line 1</a>
                  </li>
                </ul>
              </dd>
            </dl>
          </div>

          <h3 class="subsection-title">Methods</h3>

          <h4 class="name" id=".checkItemStruct">
            <span class="type-signature">(static) </span>checkItemStruct<span class="signature"
              >(item)</span
            ><span class="type-signature"> &rarr; {boolean}</span>
          </h4>

          <div class="description">Проверка содержит ли item указанные свойства,</div>

          <h5>Parameters:</h5>

          <table class="params">
            <thead>
              <tr>
                <th>Name</th>

                <th>Type</th>

                <th class="last">Description</th>
              </tr>
            </thead>

            <tbody>
              <tr>
                <td class="name"><code>item</code></td>

                <td class="type">
                  <span class="param-type">object</span>
                </td>

                <td class="description last">проверяемый на определенную структуру элемент</td>
              </tr>
            </tbody>
          </table>

          <dl class="details">
            <dt class="tag-source">Source:</dt>
            <dd class="tag-source">
              <ul class="dummy">
                <li>
                  <a href="utils.js.html">utils.js</a>, <a href="utils.js.html#line78">line 78</a>
                </li>
              </ul>
            </dd>
          </dl>

          <h5>Returns:</h5>

          <div class="param-desc">возвращает true/false если item содержит указанные свойства</div>

          <dl>
            <dt>Type</dt>
            <dd>
              <span class="param-type">boolean</span>
            </dd>
          </dl>

          <h4 class="name" id=".clearSelect">
            <span class="type-signature">(static) </span>clearSelect<span class="signature"
              >(select, element, dataSelectText)</span
            ><span class="type-signature"></span>
          </h4>

          <div class="description">Создание кнопки отчиски селекта, при единичном выборе.</div>

          <h5>Parameters:</h5>

          <table class="params">
            <thead>
              <tr>
                <th>Name</th>

                <th>Type</th>

                <th class="last">Description</th>
              </tr>
            </thead>

            <tbody>
              <tr>
                <td class="name"><code>select</code></td>

                <td class="type">
                  <span class="param-type">HTMLElement</span>
                </td>

                <td class="description last">место в селекте которое будет переназначено на ''.</td>
              </tr>

              <tr>
                <td class="name"><code>element</code></td>

                <td class="type">
                  <span class="param-type">HTMLElement</span>
                </td>

                <td class="description last">экземпляр класса DropDown.</td>
              </tr>

              <tr>
                <td class="name"><code>dataSelectText</code></td>

                <td class="type">
                  <span class="param-type">object</span>
                </td>

                <td class="description last">текст который отрисовывается в селекте.</td>
              </tr>
            </tbody>
          </table>

          <dl class="details">
            <dt class="tag-source">Source:</dt>
            <dd class="tag-source">
              <ul class="dummy">
                <li>
                  <a href="utils.js.html">utils.js</a>, <a href="utils.js.html#line174">line 174</a>
                </li>
              </ul>
            </dd>
          </dl>

          <h4 class="name" id=".createSelected">
            <span class="type-signature">(static) </span>createSelected<span class="signature"
              >(element, content, styles)</span
            ><span class="type-signature"></span>
          </h4>

          <div class="description">Создание кнопки выбора элементов</div>

          <h5>Parameters:</h5>

          <table class="params">
            <thead>
              <tr>
                <th>Name</th>

                <th>Type</th>

                <th class="last">Description</th>
              </tr>
            </thead>

            <tbody>
              <tr>
                <td class="name"><code>element</code></td>

                <td class="type">
                  <span class="param-type">HTMLElement</span>
                </td>

                <td class="description last">созданный экземпляр класса DropDown</td>
              </tr>

              <tr>
                <td class="name"><code>content</code></td>

                <td class="type">
                  <span class="param-type">string</span>
                </td>

                <td class="description last">placeholer передаваемый из настроек селекта</td>
              </tr>

              <tr>
                <td class="name"><code>styles</code></td>

                <td class="type">
                  <span class="param-type">object</span>
                </td>

                <td class="description last">
                  не обязательный параметр. Объект в котором находяться настройки кастомизации
                  частей селекта
                </td>
              </tr>
            </tbody>
          </table>

          <dl class="details">
            <dt class="tag-source">Source:</dt>
            <dd class="tag-source">
              <ul class="dummy">
                <li>
                  <a href="utils.js.html">utils.js</a>, <a href="utils.js.html#line12">line 12</a>
                </li>
              </ul>
            </dd>
          </dl>

          <h4 class="name" id=".customStyles">
            <span class="type-signature">(static) </span>customStyles<span class="signature"
              >(element, styles)</span
            ><span class="type-signature"></span>
          </h4>

          <div class="description">
            Поиск и стилизация елементов полученных из styles экземпляра DropDown
          </div>

          <h5>Parameters:</h5>

          <table class="params">
            <thead>
              <tr>
                <th>Name</th>

                <th>Type</th>

                <th class="last">Description</th>
              </tr>
            </thead>

            <tbody>
              <tr>
                <td class="name"><code>element</code></td>

                <td class="type">
                  <span class="param-type">HTMLElement</span>
                </td>

                <td class="description last">созданный экземпляр класса DropDown</td>
              </tr>

              <tr>
                <td class="name"><code>styles</code></td>

                <td class="type">
                  <span class="param-type">object</span>
                </td>

                <td class="description last">
                  объект в котором находяться настройки кастомизации частей селекта
                </td>
              </tr>
            </tbody>
          </table>

          <dl class="details">
            <dt class="tag-source">Source:</dt>
            <dd class="tag-source">
              <ul class="dummy">
                <li>
                  <a href="utils.js.html">utils.js</a>, <a href="utils.js.html#line39">line 39</a>
                </li>
              </ul>
            </dd>
          </dl>

          <h4 class="name" id=".customStylesFormat">
            <span class="type-signature">(static) </span>customStylesFormat<span class="signature"
              >(elemOption, selector)</span
            ><span class="type-signature"></span>
          </h4>

          <div class="description">Универсальный метод для стилизации селекта</div>

          <h5>Parameters:</h5>

          <table class="params">
            <thead>
              <tr>
                <th>Name</th>

                <th>Type</th>

                <th class="last">Description</th>
              </tr>
            </thead>

            <tbody>
              <tr>
                <td class="name"><code>elemOption</code></td>

                <td class="type">
                  <span class="param-type">object</span>
                </td>

                <td class="description last">
                  объект полученное из объекта styles у которого мы получаем ключ-значение стилей
                </td>
              </tr>

              <tr>
                <td class="name"><code>selector</code></td>

                <td class="type">
                  <span class="param-type">HTMLElement</span>
                </td>

                <td class="description last">HTMLElement подвергающиеся кастомизации</td>
              </tr>
            </tbody>
          </table>

          <dl class="details">
            <dt class="tag-source">Source:</dt>
            <dd class="tag-source">
              <ul class="dummy">
                <li>
                  <a href="utils.js.html">utils.js</a>, <a href="utils.js.html#line65">line 65</a>
                </li>
              </ul>
            </dd>
          </dl>

          <h4 class="name" id=".getFormatItem">
            <span class="type-signature">(static) </span>getFormatItem<span class="signature"
              >(dataItem, index)</span
            ><span class="type-signature"> &rarr; {object}</span>
          </h4>

          <div class="description">Преобразование каждого елемента полученного из поля Items;</div>

          <h5>Parameters:</h5>

          <table class="params">
            <thead>
              <tr>
                <th>Name</th>

                <th>Type</th>

                <th class="last">Description</th>
              </tr>
            </thead>

            <tbody>
              <tr>
                <td class="name"><code>dataItem</code></td>

                <td class="type">
                  <span class="param-type">object</span>
                  |

                  <span class="param-type">string</span>
                </td>

                <td class="description last">
                  полученный елемент переданный при создании селекта может быть как object/string
                </td>
              </tr>

              <tr>
                <td class="name"><code>index</code></td>

                <td class="type">
                  <span class="param-type">number</span>
                </td>

                <td class="description last">индекс этого элемента</td>
              </tr>
            </tbody>
          </table>

          <dl class="details">
            <dt class="tag-source">Source:</dt>
            <dd class="tag-source">
              <ul class="dummy">
                <li>
                  <a href="utils.js.html">utils.js</a>, <a href="utils.js.html#line111">line 111</a>
                </li>
              </ul>
            </dd>
          </dl>

          <h5>Returns:</h5>

          <div class="param-desc">возвращает сформированный объект</div>

          <dl>
            <dt>Type</dt>
            <dd>
              <span class="param-type">object</span>
            </dd>
          </dl>

          <h4 class="name" id=".getSelectText">
            <span class="type-signature">(static) </span>getSelectText<span class="signature"
              >(data, select)</span
            ><span class="type-signature"> &rarr; {HTMLElement}</span>
          </h4>

          <div class="description">Вставка изначального текста селекта(до выбора)</div>

          <h5>Parameters:</h5>

          <table class="params">
            <thead>
              <tr>
                <th>Name</th>

                <th>Type</th>

                <th class="last">Description</th>
              </tr>
            </thead>

            <tbody>
              <tr>
                <td class="name"><code>data</code></td>

                <td class="type">
                  <span class="param-type">object</span>
                </td>

                <td class="description last">объект в котором находяться title селекта</td>
              </tr>

              <tr>
                <td class="name"><code>select</code></td>

                <td class="type">
                  <span class="param-type">HTMLElement</span>
                </td>

                <td class="description last">елемент селекта, куда будет вставляться title</td>
              </tr>
            </tbody>
          </table>

          <dl class="details">
            <dt class="tag-source">Source:</dt>
            <dd class="tag-source">
              <ul class="dummy">
                <li>
                  <a href="utils.js.html">utils.js</a>, <a href="utils.js.html#line92">line 92</a>
                </li>
              </ul>
            </dd>
          </dl>

          <h5>Returns:</h5>

          <div class="param-desc">возвращает сформированный елемент селекта</div>

          <dl>
            <dt>Type</dt>
            <dd>
              <span class="param-type">HTMLElement</span>
            </dd>
          </dl>

          <h4 class="name" id=".nativOptionMultiple">
            <span class="type-signature">(static) </span>nativOptionMultiple<span class="signature"
              >(element, item, condition)</span
            ><span class="type-signature"></span>
          </h4>

          <div class="description">
            Поведение нативного(Multiple) селекта при выборе в кастомном
          </div>

          <h5>Parameters:</h5>

          <table class="params">
            <thead>
              <tr>
                <th>Name</th>

                <th>Type</th>

                <th class="last">Description</th>
              </tr>
            </thead>

            <tbody>
              <tr>
                <td class="name"><code>element</code></td>

                <td class="type">
                  <span class="param-type">NodeList</span>
                </td>

                <td class="description last">NodeList нативного селекта</td>
              </tr>

              <tr>
                <td class="name"><code>item</code></td>

                <td class="type">
                  <span class="param-type">object</span>
                </td>

                <td class="description last">выбранный элемент в кастомном селекте</td>
              </tr>

              <tr>
                <td class="name"><code>condition</code></td>

                <td class="type">
                  <span class="param-type">boolean</span>
                </td>

                <td class="description last">
                  специальный флаг при котором добавляются/убераются атрибуты у нативного селекта
                </td>
              </tr>
            </tbody>
          </table>

          <dl class="details">
            <dt class="tag-source">Source:</dt>
            <dd class="tag-source">
              <ul class="dummy">
                <li>
                  <a href="utils.js.html">utils.js</a>, <a href="utils.js.html#line152">line 152</a>
                </li>
              </ul>
            </dd>
          </dl>

          <h4 class="name" id=".nativOptionOrdinary">
            <span class="type-signature">(static) </span>nativOptionOrdinary<span class="signature"
              >(element, item)</span
            ><span class="type-signature"></span>
          </h4>

          <div class="description">
            Поведение нативного(одинарного) селекта при выборе кастомного
          </div>

          <h5>Parameters:</h5>

          <table class="params">
            <thead>
              <tr>
                <th>Name</th>

                <th>Type</th>

                <th class="last">Description</th>
              </tr>
            </thead>

            <tbody>
              <tr>
                <td class="name"><code>element</code></td>

                <td class="type">
                  <span class="param-type">NodeList</span>
                </td>

                <td class="description last">NodeList нативного селекта</td>
              </tr>

              <tr>
                <td class="name"><code>item</code></td>

                <td class="type">
                  <span class="param-type">object</span>
                </td>

                <td class="description last">выбранный элемент в кастомном селекте</td>
              </tr>
            </tbody>
          </table>

          <dl class="details">
            <dt class="tag-source">Source:</dt>
            <dd class="tag-source">
              <ul class="dummy">
                <li>
                  <a href="utils.js.html">utils.js</a>, <a href="utils.js.html#line137">line 137</a>
                </li>
              </ul>
            </dd>
          </dl>
        </article>
      </section>
    </div>

    <nav>
      <h2><a href="index.html">Home</a></h2>
      <h3>Classes</h3>
      <ul>
        <li><a href="DropDown.html">DropDown</a></li>
        <li>
          <a
            href="%25D0%259A%25D0%25BE%25D0%25BD%25D1%2581%25D1%2582%25D1%2580%25D1%2583%25D0%25BA%25D1%2582%25D0%25BE%25D1%2580%2520%25D0%25BA%25D0%25BB%25D0%25B0%25D1%2581%25D1%2581%25D0%25B0%2520DropDown.html"
            >Конструктор класса DropDown</a
          >
        </li>
      </ul>
      <h3>Modules</h3>
      <ul>
        <li><a href="module-Utils.html">Utils</a></li>
        <li><a href="module-createElementChips.html">createElementChips</a></li>
      </ul>
      <h3>Private methods</h3>
      <ul>
        <li><a href="global.html#addOptionsBehaviour">#addOptionsBehaviour</a></li>
        <li><a href="global.html#close">#close</a></li>
        <li><a href="global.html#checkTheme">#checkTheme</a></li>
        <li><a href="global.html#closeSelectClick">#closeSelectClick</a></li>
        <li><a href="global.html#init">#init</a></li>
        <li><a href="global.html#initEvent">#initEvent</a></li>
        <li><a href="global.html#initSelected">#initSelected</a></li>
        <li><a href="global.html#open">#open</a></li>
        <li><a href="global.html#render">#render</a></li>
        <li><a href="global.html#renderUrl">#renderUrl</a></li>
        <li><a href="global.html#searchMode">#searchMode</a></li>
      </ul>
      <h3>Public methods</h3>
      <ul>
        <li><a href="global.html#addLenguage">addLenguage</a></li>
        <li><a href="global.html#addItem">addItem</a></li>
        <li><a href="global.html#buttonControl">buttonControl</a></li>
        <li><a href="global.html#deleteItem">deleteItem</a></li>
        <li><a href="global.html#deleteItemAll">deleteItemAll</a></li>
        <li><a href="global.html#disabled">disabled</a></li>
        <li><a href="global.html#getElement">getElement</a></li>
        <li><a href="global.html#selectIndex">selectIndex</a></li>
      </ul>
    </nav>
    <br class="clear" />

    <footer>
      Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.11</a> on Wed
      Oct 19 2022 18:07:14 GMT+0300 (Moscow Standard Time)
    </footer>

    <script>
      prettyPrint();
    </script>
    <script src="scripts/linenumber.js"></script>
  </body>
</html>