Меню
Управління вибухотехнічної служби
Відкрити все

Управління вибухотехнічної служби Головного управління Національної поліції у Львівській області (далі – УВТС або управління) є структурним підрозділом Головного управління Національної поліції (далі - ГУНП), який входить до складу поліції особливого призначення, підпорядковується начальникові ГУНП.


УВТС ГУНП у межах визначеної законодавством компетенції здійснює розмінування, що має оперативний характер, у частині виявлення, знешкодження та знищення вибухонебезпечних предметів, щодо яких є підстави вважати, що вони є предметами, знаряддями чи засобами вчинення адміністративних або кримінальних правопорушень, а також здійснює техніко-криміналістичне забезпечення огляду місця події та спеціальні вибухотехнічні роботи за фактами скоєння вибухів, надходження повідомлень про виявлення підозрілих вибухонебезпечних предметів, загрозу вибуху.


Діяльність УВТС ГУНП контролюється і координується начальником ГУНП.


м. Львів, пл. Генерала Григоренка, 3

Тел.: (032) 258-63-06
























Назва






Текст








Нормальний ФорматНормальнийЗаголовок 2Заголовок 3Заголовок 4Кодпункт стильСірийЗ рамкоюЗ інтерваломУ верхньому регістріЦитатаЗбільшитизниженняЖирнийКурсивВирівнюванняПо лівому краюПо центруПо правому краюПо шириніНумерований списокЗа замовчуваннямНижня альфаНижній грецькийНижній римськийВерхня альфаВерхній римськийМаркований списокЗа замовчуваннямКолоДискПлощаВставити таблицюВставити фрагментВставити посиланняВставити зображенняВставити відеоВставити аудіоВставити файлВставити горизонтальну лініюповноекранний режимПерегляд кодум. Львів, пл. Генерала Григоренка, 3Тел.: (032) 258-63-06e-mail: [email protected]Начальник полковник поліціїШтангрет Андрій Богданович


<div
class="modal fade component-backend-modal"
role="dialog"
aria-modal="true"
v-if="visible"
v-bind:aria-labelledby="ariaLabeledBy"
:style="containerStyle"
:class="containerCssClass"
@click="onOverlayClick"
>
<div
ref="document"
role="document"
class="modal-dialog"
:class="cssClass"
>
<div
ref="content"
class="modal-content"
:class="contentCssClassName"
:style="modalStyle"
@mousedown="onMouseDown"
@transitionend="onTransitionEnd"
>
<slot name="content"></slot>

<template v-if="resizable">
<div v-if="resizable === true || resizable === 'vertical'" class="resize-handle" data-side="bt"></div>
<div v-if="resizable === true || resizable === 'vertical'" class="resize-handle" data-side="tp"></div>
<div v-if="resizable === true || resizable === 'horizontal'" class="resize-handle" data-side="lf"></div>
<div v-if="resizable === true || resizable === 'horizontal'" class="resize-handle" data-side="rt"></div>
<div v-if="resizable === true" class="resize-handle" data-side="bt-rt"></div>
<div v-if="resizable === true" class="resize-handle" data-side="bt-lf"></div>
<div v-if="resizable === true" class="resize-handle" data-side="tp-rt"></div>
<div v-if="resizable === true" class="resize-handle" data-side="tp-lf"></div>
</template>
</div>
</div>
</div>


<div
data-default-button-text="ОК"
>
<backend-component-modal
ref="modal"
:aria-labeled-by="modalTitleId"
:unique-key="uniqueKey"
:size="size"
:storePosition="false"
@hidden="onHidden"
>
<template v-slot:content>
<div class="modal-header">
<h4 class="modal-title" v-bind:id="modalTitleId" v-text="title"></h4>
<button
@click.prevent="$refs.modal.hide()"
type="button"
class="btn-close"
aria-label="Закрити"
tabindex="0"
></button>
</div>
<div class="modal-body">
<p v-text="text"></p>
</div>
<div class="modal-footer">
<button
type="button"
class="btn btn-primary btn-default-action"
data-default-focus
@click="$refs.modal.hide()"
v-text="primaryButtonText"
></button>
</div>
</template>
</backend-component-modal>
</div>


<div
data-default-button-text="ОК"
>
<backend-component-modal
ref="modal"
:aria-labeled-by="modalTitleId"
:unique-key="uniqueKey"
:size="size"
:storePosition="false"
@hidden="onHidden"
>
<template v-slot:content>
<div class="modal-header">
<h4 class="modal-title" v-bind:id="modalTitleId" v-text="title"></h4>
<button
@click.prevent="$refs.modal.hide()"
type="button"
class="btn-close"
aria-label="Закрити"
tabindex="0"
></button>
</div>
<div class="modal-body">
<p v-text="text"></p>
</div>
<div class="modal-footer">
<button
type="button"
class="btn btn-primary btn-default-action"
:class="{'btn-primary': !isDanger, 'btn-danger': isDanger}"
v-bind:data-default-focus="!isDanger"
@click="onButtonClick"
v-text="primaryButtonText"
></button>
<span class="button-separator">або</span>
<button
class="btn btn-link text-muted"
@click.prevent="$refs.modal.hide()"
v-bind:data-default-focus="isDanger"
>Скасувати</button>
</div>
</template>
</backend-component-modal>
</div>


<div>
<backend-component-modal
ref="modal"
:aria-labeled-by="modalTitleId"
:unique-key="uniqueKey"
:size="size"
:storePosition="false"
@hidden="onHidden"
>
<template v-slot:content>
<div class="modal-header">
<h4 class="modal-title" v-bind:id="modalTitleId" v-text="title"></h4>
<button
@click.prevent="$refs.modal.hide()"
type="button"
class="btn-close"
aria-label="Закрити"
tabindex="0"
></button>
</div>
<div v-html="text" @click="onClick"></div>
</template>
</backend-component-modal>
</div>


<div
class="component-backend-richeditor-document-connector flex-layout-column layout-absolute"
:class="cssClass"
data-configuration="{"lang":{"command_upload_from_computer":"\u0417\u0430\u0432\u0430\u043d\u0442\u0430\u0436\u0438\u0442\u0438 \u0437 \u043a\u043e\u043c\u043f`\u044e\u0442\u0435\u0440\u0430","browse":"\u041f\u0435\u0440\u0435\u0433\u043b\u044f\u043d\u0443\u0442\u0438 \u043c\u0435\u0434\u0456\u0430\u0442\u0435\u043a\u0443","by_url":"\u0417\u0430 URL","url_required":"URL \u043d\u0435\u043e\u0431\u0445\u0456\u0434\u043d\u0430","url_validation":"URL \u043c\u0430\u0454 \u043f\u043e\u0447\u0438\u043d\u0430\u0442\u0438\u0441\u044f \u0437 http:\/\/ \u0430\u0431\u043e https:\/\/","add_image_title":"\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u0438 \u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u043d\u044f","add_video_title":"\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u0438 \u0432\u0456\u0434\u0435\u043e","add_audio_title":"\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u0438 \u0430\u0443\u0434\u0456\u043e","add_file_title":"\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u0438 \u0444\u0430\u0439\u043b","embedding_code":"\u041a\u043e\u0434 \u0432\u0431\u0443\u0434\u043e\u0432\u0443\u0432\u0430\u043d\u043d\u044f","embedding_code_required":"\u041f\u043e\u0442\u0440\u0456\u0431\u0435\u043d \u043a\u043e\u0434 \u0434\u043b\u044f \u0432\u0431\u0443\u0434\u043e\u0432\u0443\u0432\u0430\u043d\u043d\u044f","invalid_embedding_code_title":"\u041d\u0435\u0434\u0456\u0439\u0441\u043d\u0438\u0439 \u043a\u043e\u0434","invalid_embedding_code_message":"\u0411\u0443\u0434\u044c \u043b\u0430\u0441\u043a\u0430, \u0432\u0432\u0435\u0434\u0456\u0442\u044c \u0434\u0456\u0439\u0441\u043d\u0438\u0439 \u043a\u043e\u0434 \u0432\u0431\u0443\u0434\u043e\u0432\u0443\u0432\u0430\u043d\u043d\u044f HTML"},"vendorPath":"https:\/\/lv.npu.gov.ua\/modules\/backend\/vuecomponents\/richeditordocumentconnector\/assets\/vendor"}"
>
<div v-if="allowResizing && !codeEditingMode" class="top-ruler flex-layout-item fix">
<div class="width-indicator" :style="rulerStyle">
<span v-for="tick in majorTicks" :style="tick.style" class="width-tick tick-major"></span>
<span v-for="tick in minorTicks" :style="tick.style" class="width-tick tick-minor"></span>

<div class="width-drag-handle" @mousedown.stop="onResizingHandleMouseDown" ref="handle"></div>
</div>
</div>
<div class="flex-layout-item stretch richeditor-container">
<slot></slot>
</div>
<div class="flex-layout-item stretch relative codeeditor-container">
<backend-component-monacoeditor
v-if="codeEditingMode"
ref="codeEditor"
container-css-class="fill-container"
:model-definitions="codeEditorModelDefinitions"
>
</backend-component-monacoeditor>
</div>
</div>



<backend-component-document
container-css-class="fill-container"
:built-in-mode="true"
:full-screen="fullScreen"
ref="document"
>
<template v-slot:toolbar v-if="!hasExternalToolbar">
<backend-component-document-toolbar
:elements="toolbarElements"
:disabled="readOnly"
@command="onToolbarCommand"
ref="toolbar"
></backend-component-document-toolbar>
</template>

<template v-slot:content>
<div class="flex-layout-column fill-container" ref="contentContainer">
<div class="flex-layout-item stretch editor-panel relative">
<backend-component-richeditor-document-connector
:allow-resizing="showMargins"
:toolbar-container="toolbarExtensionPointProxy"
:external-toolbar-app-state="externalToolbarAppState"
:use-media-manager="useMediaManager"
:built-in-mode="true"
unique-key="html-editor-form-widget"
container-css-class="fill-container"
>
<backend-component-richeditor
v-model="value"
:read-only="options.readOnly"
:use-line-breaks="options.useLineBreaks"
:full-page="fullPage"
:editor-options="editorOptions"
:toolbar-buttons="toolbarButtons"
ref="richeditor"
@blur="onBlur"
@focus="onFocus"
>
</backend-component-richeditor>
</backend-component-richeditor-document-connector>
</div>
</div>
</template>
</backend-component-document>



<div
class="component-backend-document flex-layout-column"
:class="cssClass"
>
<transition name="document-fade-in">
<template v-if="!loading && !errorLoadingDocument">
<transition name="document-header-fade">
<div class="document-header-container flex-layout-item fix" v-show="!headerCollapsed">
<slot name="header"></slot>
</div>
</transition>
</template>
</transition>

<transition name="document-fade-in">
<div v-if="!loading && !errorLoadingDocument" class="document-toolbar-container flex-layout-item fix">
<slot name="toolbar"></slot>
</div>
</transition>

<div v-if="!loading && !errorLoadingDocument" class="flex-layout-item fix">
<slot name="drawer"></slot>
</div>

<transition name="document-fade-in">
<div v-if="!loading && !errorLoadingDocument" class="document-content-container flex-layout-item stretch relative">
<slot name="content"></slot>

<transition name="processing-fade-in">
<backend-component-loading-indicator
v-if="processing"
indicator-style="stripe"
css-class="document-progress-indicator"
></backend-component-loading-indicator>
</transition>
</div>
</transition>

<div v-if="loading" class="flex-layout-item justify-center">
<backend-component-loading-indicator
size="small"
></backend-component-loading-indicator>
</div>

<transition name="processing-fade-in">
<div v-if="errorLoadingDocument" class="flex-layout-item justify-center">
<div class="document-loading-error backend-icon-background-pseudo">
<h3 v-text="errorLoadingDocumentHeader"></h3>
<p v-text="errorLoadingDocument"></p>
</div>
</div>
</transition>
</div>



<div class="flex-layout-row document-toolbar-scroll-container" ref="toolbarContainer">
<div class="document-toolbar-scrollable flex-layout-item stretch" ref="scrollable">
<template v-for="element in scrollableElements" v-if="!element.hidden">
<div
class="document-toolbar-element"
:class="['element-type-'+element.type, {'button-group': !!element.buttonGroup, 'button-icon-only': element.type == 'button' && !element.label}]">
<backend-component-document-toolbar-button
v-if="element.type == 'button' || element.type == 'dropdown'"
:settings=element
:toolbar-disabled="disabled"
@dropdowncontentshown="onDropdownContentShown"
@dropdowncontenthidden="onDropdownContentHidden"
@command="onElementCommand"
></backend-component-document-toolbar-button>
</div> </template>
</div>

<div class="flex-layout-item fix fixed-right">
<template v-for="element in fixedRightElements" v-if="!element.hidden">
<div
class="document-toolbar-element"
:class="['element-type-'+element.type, {'button-group': !!element.buttonGroup, 'button-icon-only': element.type == 'button' && !element.label}]">
<backend-component-document-toolbar-button
v-if="element.type == 'button' || element.type == 'dropdown'"
:settings=element
:toolbar-disabled="disabled"
@dropdowncontentshown="onDropdownContentShown"
@dropdowncontenthidden="onDropdownContentHidden"
@command="onElementCommand"
></backend-component-document-toolbar-button>
</div> </template>
</div>
</div>


<div v-oc-hotkey:[settings.hotkey]="onHotkey" v-if="!settings.hidden">
<a
role="button"
v-if="settings.href"
v-bind:href="settings.href"
v-bind:target="settings.target ? settings.target : '_self'"
v-bind:disabled="settings.disabled || toolbarDisabled"
v-bind:tabindex="settings.disabled || toolbarDisabled ? -1 : 0"
v-bind:aria-controls="ariaControlsId"
v-bind:aria-haspopup="settings.type == 'dropdown'"
v-bind:id="buttonId"
v-bind:data-cmd="command"
v-bind:data-tooltip-text="tooltip"
v-bind:data-tooltip-hotkey="tooltipHotkey"
class="backend-toolbar-button"
:class="cssClass"
@click="onClick"
ref="button"
>
<i v-if="icon" :class="icon"></i>
<span v-if="label" v-text="label"></span>
</a>
<button
type="button"
v-else
v-bind:disabled="settings.disabled || toolbarDisabled"
v-bind:tabindex="settings.disabled || toolbarDisabled ? -1 : 0"
v-bind:aria-controls="ariaControlsId"
v-bind:aria-haspopup="settings.type == 'dropdown'"
v-bind:id="buttonId"
v-bind:data-cmd="command"
v-bind:data-tooltip-text="tooltip"
v-bind:data-tooltip-hotkey="tooltipHotkey"
class="backend-toolbar-button"
:class="cssClass"
@click="onClick"
ref="button"
>
<i v-if="icon" :class="icon"></i>
<span class="button-label" v-if="label" v-text="label" :style="titleStyle"></span>
</button
><button
type="button"
v-if="settings.type != 'dropdown' && settings.menuitems"
class="backend-toolbar-button menu-trigger"
:class="menuTriggerCssClass"
aria-haspopup="true"
v-bind:disabled="settings.disabled || toolbarDisabled"
v-bind:tabindex="settings.disabled || toolbarDisabled ? -1 : 0"
v-bind:id="menuButtonId"
v-bind:aria-controls="menuId"
@click="onClick($event, false, true)"
ref="menuButton"
>
<span v-if="settings.showBadge" class="badge"></span>
</button>

<backend-component-dropdownmenu
v-if="settings.menuitems"
:items=settings.menuitems
:menu-id="menuId"
:labeled-by-id="buttonId"
ref="menu"
@closedwithesc="onMenuClosedWithEsc"
@command="onMenuItemCommand"
@shown="onMenuShown"
@hidden="onMenuHidden"
@aligntotrigger="onAlignToTrigger"
></backend-component-dropdownmenu>
</div>



<div class="document-header" :class="{'has-document-icon': documentIcon, 'has-close-icon': showCloseIcon}">
<span
v-if="documentIcon"
class="document-icon"
v-bind:style="documentIconStyle"
>
<i :class="documentIcon.cssClass"></i>
</span>

<input type="text" ref="titleInput" class="header-title" v-model="data[titleProperty]" v-bind:disabled="disabled || disableTitleEditor" @input="onTitleInput"></input>

<div class="flex-layout-row" v-if="subtitleProperty" v-show="!hideSubtitleEditor">
<div class="flex-layout-item fix subtitle-label center" v-text="subtitleLabel + ':'"></div>
<input
type="text"
class="header-subtitle flex-layout-item stretch"
v-model="data[subtitleProperty]"
v-bind:disabled="disabled"
@input="onSubtitleInput"
></input>
</div>

<button
v-if="showCloseIcon"
class="close close-icon backend-icon-background-pseudo"
@click="$emit('documentcloseclick')"
>
<span aria-hidden="true">×</span>
</button>
</div>


<div>
<transition name="backend-dropdown-overlay-touch-screen">
<div v-if="visible" class="backend-dropdownmenu-overlay" @click.prevent="onOverlayClick" @contextmenu.prevent="onOverlayContextMenu"></div>
</transition>

<backend-component-dropdownmenu-sheet
ref="sheet"
:items="items"
:labeled-by-id="labeledById"
:menu-id="menuId"
:preferable-position="preferablePosition"
@aligntotrigger="$emit('aligntotrigger', $event)"
@command="$emit('command', $event)"
@hidden="onSheetHidden"
@closemenu="hideMenu"
></backend-component-dropdownmenu-sheet>
</div>


<div class="dropdown-menu backend-dropdownmenu" data-menu-position-container>
<div class="dropdown-container">
<transition name="backend-dropdown-menu-touch-screen" v-on:after-leave="onAfterLeave">
<ul
role="menu"
:class="menuClassName"
ref="menu"
v-if="visible"
v-bind:id="menuId"
v-bind:aria-labelledby="labeledById"
>
<li class="submenu-header clearfix" v-if="isSubmenu">
<button
class="go-back-link backend-icon-background-pseudo"
@click.stop.prevent="onGoBackClick"
>Назад</button>
<button
class="close-link backend-icon-background-pseudo"
@click.stop.prevent="onCloseClick"
>Закрити меню</button>
</li>

<backend-component-dropdownmenu-menuitem
v-for="(item, index) in items"
:type="item.type"
:disabled="item.disabled"
:href="item.href"
:target="item.target"
:checked="item.checked"
:items="item.items"
:icon="item.icon"
:label="item.label"
:command="item.command"
:itemStyle="item.style"
:key="index"
:is-first="index == 0"
@command="onCommand($event)"
@hide="onHide"
@itemmouseenter="onItemMouseEnter"
@submenushown="onItemSubmenuShown"
@submenuhidden="onItemSubmenuHidden"
@closemenu="$emit('closemenu', $event)"
></backend-component-dropdownmenu-menuitem>
</ul>
</transition>
</div>
</div>


<li
class="item"
:class="{
separator: type == 'separator',
first: isFirst,
'submenu-expanded': isSubmenuExpanded
}"
v-bind:role="type == 'separator' ? 'separator' : 'presentation'"
v-bind:disabled="disabled"
>
<button v-if="!href && type != 'separator'"
ref="itemElement"
v-bind:tabindex="disabled ? -1 : 0"
v-bind:disabled="disabled"
v-bind:aria-disabled="disabled"
v-bind:role="itemRole"
v-bind:aria-checked="itemIsChecked ? 'true' : 'false'"
v-bind:id="menuItemId"
v-bind:aria-haspopup="hasSubmenu"
v-bind:aria-expanded="isSubmenuExpanded"
:class="{'has-submenu': hasSubmenu}"
:style="itemStyle"
@click="onClick($event)"
@mouseenter="onMouseEnter"
data-menuitem
>
<i :class="icon" v-if="icon"></i>
<i
class="backend-icon-background-pseudo"
v-if="type == 'checkbox' || type == 'radiobutton'"
></i>
<i
class="backend-icon-background-pseudo submenu-indicator"
v-if="hasSubmenu"
></i>
<span v-text="label"></span>
</button>

<a
ref="itemElement"
v-if="href && type != 'separator'"
v-bind:href="href"
v-bind:target="target ? target : '_self'"
v-bind:tabindex="disabled ? -1 : 0"
v-bind:disabled="disabled"
v-bind:aria-disabled="disabled"
v-bind:aria-checked="itemIsChecked ? 'true' : 'false'"
v-bind:role="itemRole"
:style="itemStyle"
@click="onClick($event)"
@mouseenter="onMouseEnter"
data-menuitem
>
<i :class="icon" v-if="icon"></i>
<i
class="backend-icon-background-pseudo"
v-if="type == 'checkbox' || type == 'radiobutton'"
></i>
<span v-text="label"></span>
</a>

<backend-component-dropdownmenu-sheet
v-if="hasSubmenu"
ref="submenu"
:items="items"
:labeled-by-id="menuItemId"
:menu-id="submenuId"
:is-submenu="true"
@command="$emit('command', $event)"
@hidden="onSubmenuHidden"
@closemenu="$emit('closemenu', $event)"
></backend-component-dropdownmenu-sheet>
</li>


<div class="component-backend-loading-indicator" :class="className">
<div class="spinner" v-if="indicatorStyle == 'circles'">
<div class="bounce1"></div>
<div class="bounce2"></div>
<div class="bounce3"></div>
</div>

<div v-if="indicatorStyle == 'stripe'">
<div class="stripe-indicator">
<div></div>
</div>
</div>

<div v-if="indicatorStyle == 'bar'" class="bar-indicator">
<div class="stripe-indicator">
<div :style="barIndicatorStyle" :class="{'progress-done': this.progress == 100}"></div>
</div>
</div>
</div>


<div
class="component-backend-richeditor flex-layout-column"
:class="cssClass"
data-configuration="{"editorLang":"uk","useMediaManager":true,"iframeStylesFile":"https:\/\/lv.npu.gov.ua\/modules\/backend\/vuecomponents\/richeditor\/assets\/css\/iframestyles.css","globalToolbarButtons":["paragraphFormat","paragraphStyle","quote","bold","italic","align","formatOL","formatUL","insertTable","insertSnippet","insertPageLink","insertImage","insertVideo","insertAudio","insertFile","insertHR","fullscreen","html"],"allowEmptyTags":"textarea, a, iframe, object, video, style, script, .fa, .fr-emoticon, .fr-inner, path, line, hr, i","allowTags":"a, abbr, address, area, article, aside, audio, b, bdi, bdo, blockquote, br, button, canvas, caption, cite, code, col, colgroup, datalist, dd, del, details, dfn, dialog, div, dl, dt, em, embed, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, hr, i, iframe, img, input, ins, kbd, keygen, label, legend, li, link, main, map, mark, menu, menuitem, meter, nav, noscript, object, ol, optgroup, option, output, p, param, pre, progress, queue, rp, rt, ruby, s, samp, script, style, section, select, small, source, span, strike, strong, sub, summary, sup, table, tbody, td, textarea, tfoot, th, thead, time, title, tr, track, u, ul, var, video, wbr","allowAttrs":null,"noWrapTags":null,"removeTags":"script, style, base","lineBreakerTags":null,"imageStyles":null,"linkStyles":null,"paragraphStyles":null,"paragraphFormat":{"N":"Normal","H2":"Heading 2","H3":"Heading 3","H4":"Heading 4","PRE":"Code"},"tableStyles":null,"tableCellStyles":null}"
>
<div class="flex-layout-item field-richeditor stretch relative" data-richeditor-vue>
<textarea ref="textarea" v-bind:id="editorId" class="editor-element"></textarea>
</div>
</div>



<div
class="component-backend-uploader"
v-show="!hidden"
:class="{'uploader-collapsed': collapsed}"
data-lang-uploading="Завантаження файлів"
data-lang-complete="Завантаження завершено"
>
<div class="uploader-header">
<h3 v-text="titleText"></h3>

<backend-component-loading-indicator
indicator-style="bar"
:progress="totalProgress"
></backend-component-loading-indicator>

<button
@click.prevent="onHeaderButtonClick"
type="button"
class="close backend-icon-background-pseudo"
:class="{'collapse': !collapsed && hasFilesInProgress, 'expand': collapsed && hasFilesInProgress}"
tabindex="0"
><span aria-hidden="true">×</span>
</button>
</div>
<div class="uploader-body-container">
<div class="uploader-body">
<backend-component-scrollable-panel
:relative-layout="true"
:relative-layout-max-height="200"
>
<div>
<ul>
<backend-component-uploader-item
v-for="(file, index) in files"
:key="file.key"
:fileName="file.name"
:status="file.status"
:progress="file.progress"
:errorMessage="file.errorMessage"
@removeclick="onRemoveClick(index)"
></backend-component-uploader-item>
</ul>
</div>
</backend-component-scrollable-panel>
</div>
</div>

</div>


<li :class="cssClass">
<span class="item-name" v-text="fileName"></span>
<span class="item-error" v-if="errorMessage" v-text="errorMessage"></span>

<i
class="backend-icon-background"
v-if="status == 'completed'"
></i>

<template
v-if="status == 'uploading'"
>
<backend-component-loading-indicator
indicator-style="bar"
:progress="progress"
></backend-component-loading-indicator>

<button
@click.prevent="$emit('removeclick')"
type="button"
class="close backend-icon-background-pseudo"
tabindex="0"
><span aria-hidden="true">×</span>
</button>
</template>
</li>


<div
class="component-backend-scrollablepanel"
:class="{'scrollablepanel-relative': relativeLayout}"
>
<div class="scrollable-panel-container" ref="container">
<div
class="scrollable"
ref="scrollable"
v-on:scroll.passive="onScroll"
:style="containerStyle"
>
<slot></slot>
</div>
</div>
</div>


<backend-component-inspector-panel
ref="panel"
:controls="dataSchema"
:obj="liveObject"
:parent-obj="parentObject"
:inspector-unique-id="uniqueId"
:layout-update-data="layoutUpdateData"
:inspector-preferences="inspectorPreferences"
>
</backend-component-inspector-panel>


<div
class="component-backend-inspector-panel"
data-validation-alert-title="Помилка"
>
<backend-component-inspector-grouphost
:controls="untabbedControls"
:obj="obj"
:parent-obj="parentObj"
:splitter-data="splitterData"
:inspector-unique-id="inspectorUniqueId"
:depth="0"
:panel-update-data="panelUpdateData"
:layout-update-data="layoutUpdateData"
:inspector-preferences="inspectorPreferences"
></backend-component-inspector-grouphost>

<backend-component-tabs
v-show="tabs.length > 0"
ref="tabs"
:tabs="tabs"
:closeable="false"
:use-slots="true"
tabs-style="inspector"
@tabselected="onTabSelected"
>
<template v-for="tabInfo in tabs" v-slot:[tabInfo.key]>
<backend-component-inspector-grouphost
:controls="tabbedControls[tabInfo.key]"
:obj="obj"
:parent-obj="parentObj"
:splitter-data="splitterData"
:inspector-unique-id="inspectorUniqueId"
:depth="0"
:panel-update-data="panelUpdateData"
:layout-update-data="layoutUpdateData"
:inspector-preferences="inspectorPreferences"
></backend-component-inspector-grouphost>
</template>
</backend-component-tabs>
</div>


<div class="component-backend-inspector-group">
<div
class="group-name inspector-padding-control-left inspector-padding-control-right"
:class="{expanded: expanded, collapsed: !expanded, loading: loading, 'has-errors': hasErrors, 'hide-bottom-border-collapsed': hideBottomBorder}"
@click.stop="onToggleGroup"
>
<div :style="nameStyle">
<span
v-text="nameAndValue"
class="backend-icon-background-pseudo"
></span>

<backend-component-loading-indicator v-if="loading"
size="tiny"
></backend-component-loading-indicator>
</div>
</div>
<transition name="group-fade-in">
<backend-component-inspector-controlhost
v-show="expanded"
:controls="controls"
:obj="obj"
:parent-obj="parentObj"
:splitter-data="splitterData"
:depth="depth + 1"
:panel-update-data="panelUpdateData"
:inspector-preferences="inspectorPreferences"
:inspector-unique-id="inspectorUniqueId"
@inspectorcommand="$emit('inspectorcommand', $event)"
>
</backend-component-inspector-controlhost>
</transition>
</div>


<div class="component-backend-inspector-grouphost">
<backend-component-inspector-controlhost
:controls="groupedControls.ungrouped"
:obj="obj"
:parent-obj="parentObj"
:splitter-data="splitterData"
:depth="depth"
:panel-update-data="panelUpdateData"
:layout-update-data="layoutUpdateData"
:inspector-unique-id="inspectorUniqueId"
:inspector-preferences="inspectorPreferences"
>
</backend-component-inspector-controlhost>

<backend-component-inspector-group
v-for="(controls, groupName) in groupedControls"
v-if="groupName != 'ungrouped'"
:key="groupName"
:group-name="groupName"
:obj="obj"
:parent-obj="parentObj"
:controls="controls"
:splitter-data="splitterData"
:depth="depth"
:panel-update-data="panelUpdateData"
:layout-update-data="layoutUpdateData"
:inspector-unique-id="inspectorUniqueId"
:inspector-preferences="inspectorPreferences"
>
</backend-component-inspector-group>
</div>


<table class="component-backend-inspector-controlhost" @mousedown.stop="onHandleMouseDown">
<backend-component-inspector-controlhost-row
v-for="control in controls"
:obj="obj"
:parent-obj="parentObj"
:key="control.property"
:control-host-unique-id="uniqueId"
:control="control"
:splitter-data="splitterData"
:depth="depth"
:panel-update-data="panelUpdateData"
:layout-update-data="layoutUpdateData"
:inspector-preferences="inspectorPreferences"
:inspector-unique-id="inspectorUniqueId"
:is-full-width="isFullWidthControl(control)"
@inspectorcommand="$emit('inspectorcommand', $event)"
>
</backend-component-inspector-controlhost-row>
</table>


<tr class="inspector-control-row" :class="{'has-errors': hasErrors, 'hide-bottom-border': bottomBorderHidden}" v-show="rowVisible">
<th v-if="!isFullWidth && !controlLabelHidden" :style="titlePanelStyle">
<div class="inspector-label-container" :class="{'has-description': control.description}">
<label
class="inspector-padding-control-left"
v-text="control.title"
v-bind:for="controlEditorId"
:style="labelStyle"
@click.stop="onLabelClick"
></label>
<span
v-if="control.description"
class="property-description backend-icon-background-pseudo"
v-bind:data-tooltip-text="control.description"
></span>
</div>
</th>

<td v-bind:colspan="controlColspan">
<div class="full-width-control-label" v-if="isFullWidth && (control.title || control.description) && ! controlLabelHidden">
<label
class="inspector-padding-control-left"
v-text="control.title"
v-bind:for="controlEditorId"
:style="labelStyle"
@click.stop="onLabelClick"
></label>
<div
v-if="control.description"
class="inspector-padding-control-left full-width-property-description"
v-text="control.description"
:style="labelStyle"
></div>
</div>

<div :class="{'inspector-control-container': !isFullWidth, 'no-property-title': !control.title && !control.description}">
<div v-if="!isFullWidth" class="inspector-drag-handle"></div>

<backend-component-inspector-control-text
v-if="control.type == 'string' || control.type == 'text'"
:obj="obj"
:parent-obj="parentObj"
:control="control"
:control-id="controlEditorId"
:splitter-data="splitterData"
:panel-update-data="panelUpdateData"
:layout-update-data="layoutUpdateData"
:inspector-preferences="inspectorPreferences"
ref="editor"
@focus="onEditorFocus"
@blur="onEditorBlur"
@invalid="onEditorInvalid"
@valid="onEditorValid"
></backend-component-inspector-control-text>

<backend-component-inspector-control-dropdown
v-if="control.type == 'dropdown'"
:obj="obj"
:parent-obj="parentObj"
:control="control"
:control-id="controlEditorId"
:inspector-preferences="inspectorPreferences"
ref="editor"
@focus="onEditorFocus"
@blur="onEditorBlur"
@invalid="onEditorInvalid"
@valid="onEditorValid"
></backend-component-inspector-control-dropdown>

<backend-component-inspector-control-autocomplete
v-if="control.type == 'autocomplete'"
:obj="obj"
:control="control"
:control-id="controlEditorId"
:inspector-preferences="inspectorPreferences"
ref="editor"
@focus="onEditorFocus"
@blur="onEditorBlur"
@invalid="onEditorInvalid"
@valid="onEditorValid"
></backend-component-inspector-control-autocomplete>

<backend-component-inspector-control-checkbox
v-if="control.type == 'checkbox'"
:obj="obj"
:control="control"
:control-id="controlEditorId"
:inspector-preferences="inspectorPreferences"
ref="editor"
@focus="onEditorFocus"
@blur="onEditorBlur"
@invalid="onEditorInvalid"
@valid="onEditorValid"
></backend-component-inspector-control-checkbox>

<backend-component-inspector-control-table
v-if="control.type == 'table'"
:obj="obj"
:parent-obj="parentObj"
:control="control"
:control-id="controlEditorId"
:inspector-preferences="inspectorPreferences"
ref="editor"
@hidebottomborder="bottomBorderHidden = true"
@hidefullwidthlabel="controlLabelHidden = true"
></backend-component-inspector-control-table>

<backend-component-inspector-control-object
v-if="control.type == 'object'"
:obj="obj"
:parent-obj="parentObj"
:control="control"
:control-id="controlEditorId"
:inspector-preferences="inspectorPreferences"
:splitter-data="splitterData"
:inspector-unique-id="inspectorUniqueId"
:depth="depth"
:panel-update-data="panelUpdateData"
:layout-update-data="layoutUpdateData"
ref="editor"
@hidefullwidthlabel="controlLabelHidden = true"
@hidebottomborder="bottomBorderHidden = true"
></backend-component-inspector-control-object>

<backend-component-inspector-control-set
v-if="control.type == 'set'"
:obj="obj"
:parent-obj="parentObj"
:control="control"
:control-id="controlEditorId"
:inspector-preferences="inspectorPreferences"
:splitter-data="splitterData"
:inspector-unique-id="inspectorUniqueId"
:depth="depth"
:panel-update-data="panelUpdateData"
:layout-update-data="layoutUpdateData"
ref="editor"
@hidefullwidthlabel="controlLabelHidden = true"
@hidebottomborder="bottomBorderHidden = true"
></backend-component-inspector-control-set>

<backend-component-inspector-control-objectlist
v-if="control.type == 'objectList'"
:obj="obj"
:parent-obj="parentObj"
:control="control"
:control-id="controlEditorId"
:inspector-preferences="inspectorPreferences"
:splitter-data="splitterData"
:inspector-unique-id="inspectorUniqueId"
:depth="depth"
:panel-update-data="panelUpdateData"
:layout-update-data="layoutUpdateData"
ref="editor"
@hidefullwidthlabel="controlLabelHidden = true"
@hidebottomborder="bottomBorderHidden = true"
></backend-component-inspector-control-objectlist>

<backend-component-inspector-control-objectlist-records
v-if="control.type == 'objectListRecords'"
:obj="obj"
:parent-obj="parentObj"
:control="control"
:control-id="controlEditorId"
:inspector-preferences="inspectorPreferences"
:splitter-data="splitterData"
:inspector-unique-id="inspectorUniqueId"
:depth="depth"
:panel-update-data="panelUpdateData"
:layout-update-data="layoutUpdateData"
ref="editor"
@hidefullwidthlabel="controlLabelHidden = true"
@hidebottomborder="bottomBorderHidden = true"
@inspectorcommand="$emit('inspectorcommand', $event)"
></backend-component-inspector-control-objectlist-records>

<backend-component-inspector-control-dictionary
v-if="control.type == 'dictionary'"
:obj="obj"
:parent-obj="parentObj"
:control="control"
:control-id="controlEditorId"
:inspector-preferences="inspectorPreferences"
:splitter-data="splitterData"
:inspector-unique-id="inspectorUniqueId"
:depth="depth"
:panel-update-data="panelUpdateData"
:layout-update-data="layoutUpdateData"
ref="editor"
@hidefullwidthlabel="controlLabelHidden = true"
@hidebottomborder="bottomBorderHidden = true"
></backend-component-inspector-control-dictionary>

<backend-component-inspector-control-mediafinder
v-if="control.type == 'mediafinder'"
:obj="obj"
:parent-obj="parentObj"
:control="control"
:control-id="controlEditorId"
:splitter-data="splitterData"
:panel-update-data="panelUpdateData"
:layout-update-data="layoutUpdateData"
:inspector-preferences="inspectorPreferences"
ref="editor"
@focus="onEditorFocus"
@blur="onEditorBlur"
@invalid="onEditorInvalid"
@valid="onEditorValid"
></backend-component-inspector-control-mediafinder> </div>
</td>
</tr>


<div>
<input
v-if="control.type == 'string'"
class="inspector-control"
type="text"
ref="input"
v-bind:value="valueWithPreset"
v-bind:id="controlId"
v-bind:placeholder="control.placeholder"
v-bind:readonly="inspectorPreferences.readOnly"
@input="updateValue"
@focus="$emit('focus', $event)"
@blur="$emit('blur', $event)"
/>

<textarea
v-if="control.type == 'text'"
class="component-backend-inspector-textinput inspector-control"
:class="cssClass"
ref="input"
v-bind:value="valueWithPreset"
v-bind:id="controlId"
v-bind:placeholder="control.placeholder"
v-bind:readonly="inspectorPreferences.readOnly"
@keydown.enter.stop
@input="updateValue"
@focus="$emit('focus', $event)"
@blur="$emit('blur', $event)"
></textarea>

<div
v-if="control.type == 'text'"
class="inspector-textarea-shadow inspector-control component-backend-inspector-textinput"
ref="textareaShadow"
v-text="valueWithPreset"
></div>
</div>


<div v-bind:tabindex="containerTabIndex" @focus="onContainerFocus">
<backend-component-loading-indicator v-if="loadingDynamicOptions"
size="tiny"
></backend-component-loading-indicator>

<backend-component-dropdown
v-if="!loadingDynamicOptions"
:options="options"
:id="controlId"
:placeholder="control.placeholder"
:tabindex="0"
:disabled="inspectorPreferences.readOnly"
:allow-empty="true"
track-by="code"
label="label"
ref="input"
v-model="selectedValue"
select-label=""
selected-label=""
deselect-label=""
@input="updateValue"
@open="onFocus"
@close="onBlur"
@hook:mounted="onDropdownMounted"
>
<span slot="noResult">Не знайдено параметрів</span>
<template v-if="useValuesAsIcons || useValuesAsColors" slot="option" slot-scope="props">
<div class="option-with-icon" v-if="useValuesAsIcons">
<div class="option-icon" :class="props.option.code"></div>
<span>{{ props.option.label }}</span>
</div>

<div class="option-with-color" v-if="useValuesAsColors">
<div class="option-color" :style="{'background-color': props.option.code}"></div>
<span>{{ props.option.label }}</span>
</div>
</template>
</backend-component-dropdown>
</div>


<div class="inspector-control">
<div
class="component-backend-inspector-checkbox"
>
<label
tabindex="0"
@keydown="onLabelKeydown"
@focus="$emit('focus', $event)"
@blur="$emit('blur', $event)"
>
<input
type="checkbox"
ref="input"
value="1"
v-bind:checked="isChecked"
v-bind:id="controlId"
v-bind:readonly="inspectorPreferences.readOnly"
v-bind:disabled="inspectorPreferences.readOnly"
@input="updateValue"
/><span class="backend-icon-background-pseudo"></span>
</label>
</div>
</div>


<div
class="component-backend-inspector-table"
data-lang-add-item="Додати елемент"
>
<table>
<backend-component-inspector-control-table-head
:columns="columns"
>
</backend-component-inspector-control-table-head>
<tbody>
<backend-component-inspector-control-table-row
v-for="(row, index) in value"
:row="row"
:key="index"
:columns="columns"
:row-index="index"
:inspector-preferences="inspectorPreferences"
:table-configuration="tableConfiguration"
@removerow="onRemoveRowClick"
>
</backend-component-inspector-control-table-row>
</tbody>
</table>

<div v-if="tableConfiguration.adding" class="inspector-padding-control-left table-control-links">
<a
href="#"
class="add-item-link"
:class="{disabled: inspectorPreferences.readOnly}"
@click.stop.prevent="onAddItemClick"
v-text="control.btnAddRowLabel === undefined ? lang.addItem : control.btnAddRowLabel"
></a>
</div>
</div>


<thead @mousedown.stop="onHandleMouseDown">
<tr>
<backend-component-inspector-control-table-headcell
v-for="(column, index) in columns"
:key="index"
:column="column"
:column-index="index"
:column-width="columnWidth"
>
</backend-component-inspector-control-table-headcell>
</tr>
</thead>


<th v-bind:style="cellStyle">
<div class="header-cell-container">
<div v-if="columnIndex != 0" class="cell-resize-handle"></div>
<span v-text="column.title"></span>
</div>
</th>


<tr :class="{focused: focused, 'has-errors': hasErrors}">
<backend-component-inspector-control-table-cell
v-for="(column, index) in columns"
:key="index"
:column="column"
:row="row"
:cell-index="index"
:inspector-preferences="inspectorPreferences"
:table-configuration="tableConfiguration"
:is-last-cell="index == columns.length-1"
@focus="onCellFocus"
@blur="onCellBlur"
@valid="onValid"
@invalid="onInvalid"
@removerow="$emit('removerow', rowIndex)"
>
</backend-component-inspector-control-table-cell>
</tr>


<td>
<div class="table-cell-container">
<backend-component-inspector-control-table-text
v-if="column.type == 'string'"
:row="row"
:column="column"
:cell-index="cellIndex"
:inspector-preferences="inspectorPreferences"
ref="editor"
@focus="$emit('focus', $event)"
@blur="$emit('blur', $event)"
@valid="$emit('valid', $event)"
@invalid="$emit('invalid', $event)"
>
</backend-component-inspector-control-table-text>

<backend-component-inspector-control-table-dropdown
v-if="column.type == 'dropdown'"
:row="row"
:column="column"
:cell-index="cellIndex"
:inspector-preferences="inspectorPreferences"
ref="editor"
@focus="$emit('focus', $event)"
@blur="$emit('blur', $event)"
@valid="$emit('valid', $event)"
@invalid="$emit('invalid', $event)"
>
</backend-component-inspector-control-table-dropdown>

<button v-if="isLastCell && tableConfiguration.deleting && !inspectorPreferences.readOnly" @click.stop="$emit('removerow')" class="remove-row-btn"></button>
</div>
</td>


<input
type="text"
class="inspector-table-control-text"
v-model="row[column.column]"
ref="input"
v-bind:readonly="inspectorPreferences.readOnly"
@focus="$emit('focus', $event)"
@blur="$emit('blur', $event)"
/>


<div
v-bind:tabindex="containerTabIndex"
@focus="onContainerFocus"
class="inspector-table-dropdown-container"
>
<backend-component-dropdown
:options="options"
:placeholder="column.placeholder"
:tabindex="0"
:disabled="inspectorPreferences.readOnly"
:allow-empty="true"
track-by="code"
label="label"
ref="editor"
v-model="selectedValue"
select-label=""
selected-label=""
deselect-label=""
@input="updateValue"
@open="onFocus"
@close="onBlur"
>
<span slot="noResult">Не знайдено параметрів</span>
</backend-component-dropdown>

<div class="dropdown-placeholder" v-if="!hasValue" v-text="column.placeholder"></div>
</div>


<div>
<backend-component-inspector-group
:group-name="control.title"
:obj="editedObject"
:controls="control.properties"
:splitter-data="splitterData"
:depth="depth"
:panel-update-data="panelUpdateData"
:layout-update-data="layoutUpdateData"
:inspector-unique-id="inspectorUniqueId"
:inspector-preferences="inspectorPreferences"
ref="group"
>
</backend-component-inspector-group>
</div>


<div>
<backend-component-inspector-group
:group-name="control.title"
:obj="editedObject"
:controls="nestedControlProperties"
:splitter-data="splitterData"
:depth="depth"
:group-value="groupValue"
:panel-update-data="panelUpdateData"
:layout-update-data="layoutUpdateData"
:inspector-unique-id="inspectorUniqueId"
:inspector-preferences="inspectorPreferences"
:loading="loadingDynamicOptions"
ref="group"
>
</backend-component-inspector-group>
</div>


<div
data-lang-key-required="Поле ключа є обов`язковим"
data-lang-value-required="Поле значення є обов`язковим"
>
<backend-component-inspector-group
:group-name="control.title"
:obj="editedObject"
:controls="nestedControlProperties"
:splitter-data="splitterData"
:depth="depth"
:panel-update-data="panelUpdateData"
:group-value="groupValue"
:layout-update-data="layoutUpdateData"
:inspector-unique-id="inspectorUniqueId"
:inspector-preferences="inspectorPreferences"
:hide-bottom-border="true"
ref="group"
>
</backend-component-inspector-group>
</div>


<div
data-lang-error="Помилка"
data-lang-prop-cant-be-empty="Властивість: властивість не може бути порожньою"
data-lang-key-value-exists="Значення вже визначено: :property_value"
>
<backend-component-inspector-group
:group-name="control.title"
:obj="editedObject"
:parent-obj="obj"
:controls="nestedControlProperties"
:splitter-data="splitterData"
:depth="depth"
:panel-update-data="panelUpdateData"
:layout-update-data="layoutUpdateData"
:inspector-unique-id="inspectorUniqueId"
:inspector-preferences="inspectorPreferences"
ref="group"
@inspectorcommand="onInspectorCommand"
>
</backend-component-inspector-group>
</div>


<div
class="component-backend-inspector-table"
data-lang-add-item="Додати елемент"
>
<table v-if="hasValues">
<tbody>
<tr v-for="(record, key) in obj">
<td class="no-sub-controls" :class="{clickable: !inspectorPreferences.readOnly}" @click.stop="onItemClick(key)">
<div class="clickable-data-container">
<backend-component-inspector-control-objectlist-record-title
:control="control"
:record="record"
:parent-obj="parentObj"
:obj="obj"
></backend-component-inspector-control-objectlist-record-title>
<button v-if="!inspectorPreferences.readOnly" @click.stop.prevent="onRemoveItemClick(key)" class="remove-row-btn"></button>
</div>
</td>
</tr>
</tbody>
</table>

<div class="inspector-padding-control-left table-control-links">
<a
href="#"
class="add-item-link"
:class="{disabled: inspectorPreferences.readOnly || !displayAddItem}"
:disabled="inspectorPreferences.readOnly || !displayAddItem"
@click.stop.prevent="onAddItemClick"
v-text="lang.addItem"
></a>
</div>
</div>


<div class="title-container">
<backend-component-loading-indicator v-if="loadingDynamicTitle"
size="tiny"
></backend-component-loading-indicator>
<template v-else>
<span class="record-color" v-if="recordColor" :style="{'background-color': recordColor}"></span>
<span v-text="recordTitle"></span>
</template>
</div>


<div>
<backend-component-loading-indicator v-if="loadingDynamicOptions"
size="tiny"
></backend-component-loading-indicator>

<backend-component-autocomplete
v-if="!loadingDynamicOptions"
ref="autocomplete"
:search="onSearch"
:getResultValue="getResultValue"
:placeholder="placeholder"
:defaultValue="initialValue"
:readonly="inspectorPreferences.readOnly"
v-bind:id="controlId"
@input="onInput"
@change="onChange"
@update="onUpdate"
@focus="onFocus"
@blur="onBlur"
>
<template #result="{ result, props }">
<li v-bind="props" class="autocomplete-result">
{{ result.value }}
</li>
</template>
</backend-component-autocomplete>
</div>


<div
data-lang-error-not-image="Вибраний файл не є зображенням"
data-lang-placeholder="Натисніть, щоб вибрати файл"
class="inspector-control-clearable"
>
<div
class="inspector-control clickable act-as-text-input"
:class="cssClass"
:tabindex="0"
@focus="onFocus"
@blur="onBlur"
ref="input"
v-text:value="displayedText"
v-bind:readonly="inspectorPreferences.readOnly"
@click.stop="onClick"
@keydown.stop="onKeyDown"
></div>

<button v-if="this.value && !inspectorPreferences.readOnly" @click.stop="onClearClick" class="clear-value"></button>
</div>


<div
data-default-button-text="ОК"
>
<backend-component-modal
ref="modal"
:aria-labeled-by="modalTitleId"
:unique-key="uniqueId"
:size="size"
:store-position="true"
:resizable="resizableWidth ? 'horizontal' : false"
:resize-default-width="600"
:close-by-esc="!readOnly"
:modal-temporary-hidden="layoutUpdateData.modalTemporaryHidden"
@hidden="onHidden"
@resized="onResized"
@shown="onShown"
@enterkey="onEnterKey"
>
<template v-slot:content>
<div class="modal-header">
<h4 class="modal-title" v-bind:id="modalTitleId" v-text="title"></h4>
<button
@click.prevent="onCloseClick"
type="button"
class="btn-close"
v-bind:disabled="readOnly"
aria-label="Закрити"
tabindex="0"
></button>
</div>
<div class="modal-body inspector-modal-host">
<backend-component-inspector
:data-schema="dataSchema"
:data="data"
:live-mode="liveMode"
:unique-id="uniqueId"
:layout-update-data="layoutUpdateData"
:read-only="readOnly"
ref="inspector"
>
</backend-component-inspector>
</div>
<div class="modal-footer">
<button
type="button"
class="btn btn-primary btn-default-action"
data-default-focus
@click="onApplyClick"
v-text="primaryButtonText"
v-bind:disabled="readOnly"
></button>
<span class="button-separator">або</span>
<button
class="btn btn-link text-muted"
:class="{disabled: readOnly}"
@click.prevent="onCancelClick"
>Скасувати</button>
</div>
</template>
</backend-component-modal>
</div>


<div
class="component-backend-splitter" :class="cssClass"
>
<div class="flex-layout-item fix splitter-first-panel" :style="firstPanelStyle" ref="firstPanel">
<slot name="first">
Left panel
</slot>
</div>

<div
class="flex-layout-item fix splitter-handle"
:class="{dragging: dragging}"
ref="handle"
@mousedown.stop="onHandleMouseDown"
></div>

<div class="flex-layout-item stretch relative">
<slot name="second">
Right panel
</slot>
</div>
</div>


<div
class="component-backend-tabs flex-layout-column"
:class="cssClass"
data-lang-close="Закрити вкладку"
data-lang-close-all="Закрити все"
data-lang-close-others="Закрити інші"
data-lang-close-saved="Закрити збережено"
>
<div class="tablist-container flex-layout-item fix" v-show="!hideTabPanel">
<div class="flex-layout-row tablist-scrollable-container" :class="{'has-fixed-panel': supportsFullScreen && hasTabs}" ref="scrollableTabsContainer">
<div class="tabs-scrollable flex-layout-item stretch" ref="scrollable">
<div
class="tablist flex-layout-row"
role="tablist"
ref="tabList"
v-bind:aria-label="ariaLabel"
@keydown="onKeyDown"
>
<button
v-for="tab in tabs"
role="tab"
data-component-backend-tab
class="flex-layout-item"
:class="{
active: currentTabKey == tab.key,
stretch: tabsStyle == 'document',
fix: tabsStyle == 'form',
'has-icon': tab.icon || tab.fatalError,
'has-close-button': closeable
}"
v-bind:id="getTabId(tab, 'tab')"
v-bind:aria-controls="getTabId(tab, 'panel')"
v-bind:aria-selected="currentTabKey == tab.key ? 'true' : 'false'"
v-bind:tabindex="currentTabKey == tab.key ? 0 : -1"
v-bind:data-tooltip-text="getTooltipText(tab)"
@click.ignore="onClick(tab)"
@mouseup.middle="onMiddleClick(tab)"
@contextmenu.stop="onContextMenu($event, tab)"
>
<span
class="tab-icon"
:class="{'tab-error': tab.fatalError}"
v-if="tab.icon"
aria-hidden="true"
>
<span
class="tab-icon-background"
v-bind:style="getTabIconStyle(tab)"
>
<i
:class="tab.icon.cssClass"
></i>
</span>

<i class="backend-icon-background tab-error"></i>
</span>

<span v-text="tab.label" role="text"></span>

<span
class="backend-icon-background-pseudo close-tab"
:class="{'has-changes': tab.hasChanges}"
v-bind:tabindex="currentTabKey == tab.key ? 0 : -1"
v-if="closeable"
role="button"
aria-hidden="true"
aria-label="Закрити вкладку"
v-bind:title="closeTooltip ? '' : 'Закрити вкладку'"
v-bind:data-tooltip-text="closeTooltip"
v-bind:data-tooltip-hotkey="closeTooltipHotkey"
@click.stop.prevent="onCloseClick(tab)"
>✕</span>
</button>
</div>
</div>
<div class="flex-layout-item fix fixed-right tabs-toolbar" v-if="supportsFullScreen && hasTabs">
<div class="toolbar-container">
<button
class="backend-toolbar-button icon-only"
data-tooltip-text="Перемкнути повний екран"
@click.stop.prevent="onToggleFullscreen"
>
<i :class="{'icon-fullscreen': !isFullScreen, 'icon-fullscreen-collapse': isFullScreen}"></i>
</button>
</div>
</div>
</div>

</div>

<template v-if="!noPanes">
<div
v-for="tab in tabs"
role="tabpanel"
tabindex="0"
:key="getTabUniqueKey(tab)"
v-show="currentTabKey == tab.key"
v-bind:id="getTabId(tab, 'panel')"
v-bind:aria-labelledby="getTabId(tab, 'tab')"
class="tabpanel flex-layout-item stretch relative"
:class="tabPanelCssClass"
>
<component
v-if="!useSlots"
:ref="getTabComponentRefName(tab)"
v-bind:is="tab.component"
:component-data="tab.componentData"
@tabfatalerror="onTabFatalError(tab)"
@tabkeychanged="onTabkeyChanged"
@tabclose="onHostedComponentTabClose(tab)"
></component>
<slot v-else :name="tab.key"></slot>
</div>
</template>

<slot v-if="!tabs.length" name="noTabsView"></slot>

<backend-component-dropdownmenu
:items="contextMenuItems"
:menu-id="contextMenuId"
:labeled-by-id="contextMenuLabeledById"
ref="contextmenu"
@command="onMenuItemCommand"
></backend-component-dropdownmenu>
</div>








<div
class="flex-layout-column component-backend-monaco-editor"
:class="cssClass"
data-configuration="{"vendorPath":"https:\/\/lv.npu.gov.ua\/modules\/backend\/vuecomponents\/monacoeditor\/assets\/vendor\/monaco","fontSize":"12px","tabSize":4,"useEmmet":true,"yamlSchemas":null,"renderLineHighlight":"all","useTabStops":false,"renderIndentGuides":false,"renderWhitespace":"all","autoClosingBrackets":"languageDefined","autoClosingQuotes":"languageDefined","hover":{"delay":750},"wordWrap":"off","theme":"vs-dark"}"
>
<div class="flex-layout-item fix" v-if="showTabs">
<backend-component-tabs
:tabs="editorTabs"
:closeable="false"
:no-panes="true"
:container-css-class="tabsContainerCssClass"
:tooltips-enabled="false"
tabs-style="monaco-editor"
@tabselected="onTabSelected"
></backend-component-tabs>
</div>

<div class="flex-layout-item stretch position-relative h-100" style="overflow: hidden">
<div
class="flex-layout-column fill-container"
:class="editorContainerCssClass"
ref="editorContainer"
@dragover.capture="onDragOver"
@drop.capture="onDragDrop"
></div>
</div>
</div>






e-mail: [email protected]

Начальник

 полковник поліції

Штангрет Андрій Богданович

Здійснення робіт з пошуку, розрядження, транспортування і знешкодження (руйнування) вибухових матеріалів (далі – спеціальних вибухотехнічних робіт), що використовуються в терористичних цілях та при вчиненні кримінальних правопорушень.


Організація та здійснення в межах компетенції вибухотехнічного супроводження під час проведення поліцейських операцій, а також боротьби з тероризмом.


Здійснення в установленому порядку техніко-криміналістичного забезпечення та прийняття участі в якості спеціалістів під час проведення оглядів місць подій за фактами вибухів, повідомлень про виявлення підозрілих, вибухонебезпечних предметів, загрозу вибуху, а також резонансних пожеж, у випадках визначених законодавством України.

1) здійснює інформаційно-аналітичне забезпечення керівництва ГУНП, органів державної влади та органів місцевого самоврядування про стан вирішення питань, що належать до компетенції УВТС;

2) організовує та безпосередньо виконує спеціальні вибухотехнічні роботи, у тому числі із застосуванням засобів і методів службової кінології;

3) приймає участь у запобіганні терористичним актам та кримінальним правопорушенням, що пов’язані з використанням вибухових матеріалів, а також забезпечує ефективне використання сил і засобів під час проведення антитерористичних операцій;

4) здійснює в установленому порядку приймання, зберігання та знищення вилучених, добровільно зданих або знайдених боєприпасів, вибухових матеріалів;

5) здійснює в установленому порядку техніко-криміналістичне забезпечення оглядів місця події за фактами вибухів, повідомлень про виявлення підозрілих, вибухових матеріалів, загрозу вибуху, а також резонансних пожеж, випадках визначених законодавством України;

6) у визначеному порядку взаємодіє з органами досудового розслідування, органами та підрозділами, уповноваженими на здійснення оперативно-розшукової діяльності, науково-дослідними установами, з питань, віднесених до компетенції УВТС;

7) приймає участь у проведенні превентивних заходів за напрямами діяльності, в тому числі огляду приміщень і територій, місць проведення масових заходів на предмет виявлення вибухонебезпечних пристроїв та речовин;

8) організовує і проводить навчання, тренінги з територіальними підрозділами ГУНП, з іншими органами державної влади, громадськими об’єднаннями, підприємствами, установами та організаціями незалежно від форми власності та підпорядкування з питань виявлення та подальшого поводження з вибухонебезпечними предметами.

9) відповідно до чинного законодавства здійснює науково-технічну діяльність;

10) надає пропозиції щодо норм належності спеціальних, науково-технічних засобів та обладнання для забезпечення діяльності УВТС;

11) розробляє методичні рекомендації, довідкові посібники та інші засоби методичного забезпечення діяльності структурних підрозділів ГУНП у Львівській області стосовно вибухобезпеки;

12) забезпечує відбір, розстановку, професійне навчання працівників управління та створення резерву кадрів;

13) узагальнює та впроваджує в подальшу роботу позитивний досвід діяльності вибухотехнічних підрозділів територіальних органів Національної поліції України, вдосконалює форми і методи практичної роботи з проведення спеціальних вибухотехнічних робіт;

14) у межах компетенції вживає заходів щодо забезпечення своєчасного технічного обслуговування та ремонту обладнання та технічних засобів УВТС;

15) у визначеному порядку розглядає запити і звернення народних депутатів України, громадян, підприємств, установ, організацій, вивчає публікації і повідомлення у засобах масової інформації з питань, що належать до компетенції УВТС;

16) організовує взаємодію та співпрацю з населенням та засобами масової інформації з питань, що належать до компетенції УВТС;

17) організовує та здійснює діловодство в УВТС;

18) здійснює забезпечення режиму секретності в УВТС відповідно до вимог законодавства України у сфері охорони державної таємниці;

19) у встановленому порядку взаємодіє із органами та підрозділами поліції, іншими державними органами місцевого самоврядування, підприємствами, установами, організаціями, а також з правоохоронними органами іноземних держав і міжнародними організаціями з питань, віднесених до компетенції УВТС;

20) здійснює інші функції, що випливають із покладених на УВТС завдань і передбачені законодавством України.

Outdated Browser
Для комфортної роботи в Мережі потрібен сучасний браузер. Тут можна знайти останні версії.
Outdated Browser
Цей сайт призначений для комп'ютерів, але
ви можете вільно користуватися ним.
67.15%
людей використовує
цей браузер
Google Chrome
Доступно для
  • Windows
  • Mac OS
  • Linux
9.6%
людей використовує
цей браузер
Mozilla Firefox
Доступно для
  • Windows
  • Mac OS
  • Linux
4.5%
людей використовує
цей браузер
Microsoft Edge
Доступно для
  • Windows
  • Mac OS
3.15%
людей використовує
цей браузер
Доступно для
  • Windows
  • Mac OS
  • Linux