{"version":3,"file":"offers_7ada835c23e1654245a7.bundle.js","mappings":"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","sources":["webpack://tumarket/webpack/runtime/chunk loaded","webpack://tumarket/webpack/runtime/create fake namespace object","webpack://tumarket/webpack/runtime/load script","webpack://tumarket/./js/as/as.sys.js","webpack://tumarket/./js/global.js","webpack://tumarket/./js/global/dom.js","webpack://tumarket/./js/as/controls/as.uploadHTML5.js","webpack://tumarket/./js/search/search.js","webpack://tumarket/./js/ctu/productSearch.js","webpack://tumarket/./js/search/additionalResults.js","webpack://tumarket/./js/global/text.js","webpack://tumarket/./js/firm/addNote.js","webpack://tumarket/./js/pages/offers.js","webpack://tumarket/webpack/bootstrap","webpack://tumarket/webpack/runtime/amd options","webpack://tumarket/webpack/runtime/compat get default export","webpack://tumarket/webpack/runtime/define property getters","webpack://tumarket/webpack/runtime/ensure chunk","webpack://tumarket/webpack/runtime/get javascript chunk filename","webpack://tumarket/webpack/runtime/get mini-css chunk filename","webpack://tumarket/webpack/runtime/global","webpack://tumarket/webpack/runtime/hasOwnProperty shorthand","webpack://tumarket/webpack/runtime/make namespace object","webpack://tumarket/webpack/runtime/node module decorator","webpack://tumarket/webpack/runtime/publicPath","webpack://tumarket/webpack/runtime/css loading","webpack://tumarket/webpack/runtime/jsonp chunk loading","webpack://tumarket/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__);\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach((key) => (def[key] = () => (value[key])));\n\t}\n\tdef['default'] = () => (value);\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"tumarket:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","import * as $ from \"jquery\";\n\nimport \"bootstrap-growl-ifightcrime\";\nimport \"jquery-ui\";\nimport \"jquery-ui/ui/widgets/sortable.js\";\n\nimport \"jquery-ui/dist/themes/base/jquery-ui.min.css\";\n\nvar as = {\n options: {},\n lang: function(code, defValue) {\n var res = defValue;\n var el = this.resources && this.resources[code];\n if (el) res = el;\n return res;\n },\n sys: {\n options: {\n cookieDomain: \".tu.market\",\n cookieVersion: \"\"\n },\n isDebug: false,\n setSortable: function (cont, params) {\n $(cont).sortable(params);\n },\n \n store: {\n get: function (key, isSession) {\n var storage = isSession ? sessionStorage : localStorage;\n return storage.getItem(key); \n },\n set: function (key, data, isSession) {\n var storage = isSession ? sessionStorage : localStorage;\n storage.setItem(key, data);\n },\n remove: function (key, isSession) {\n var storage = isSession ? sessionStorage : localStorage;\n storage.removeItem(key); \n },\n }\n },\n resources: {\n hfl_balance: \"Баланс (300 руб)\",\n profile: \"Мой профиль\",\n mainPage: \"На главную\",\n changepassword: \"Сменить пароль\",\n settings: \"Настройки\",\n siteout: \"Выход\",\n metrics: \"Метрики\",\n crudEmptyText: 'Нет элементов',\n crudCreateLinkTitle: 'Создать',\n crudFilterLinkTitle: 'Найти',\n crudFilterTitle: 'Фильтрация данных',\n crudReplaceSelect: \"Поменять с\",\n crudReplaceSelect2: \" на \",\n crudNotSelected: \"Не выбрано\",\n \n crudRemoveConfirm: \"Подтвердите удаление элемента.\",\n \n crud_initPagination_prev_text: 'Назад',\n crud_initPagination_next_text: 'Вперед',\n crud_showEditDialog_edit: \"Редактирование\",\n crud_showEditDialog_create: \"Создание\",\n crud_showEditDialog_save: \"Сохранить\",\n crud_showEditDialog_errorMessage: \"Укажите пожалуйста поле \",\n crud_showEditDialog_savedMessage: \"Сохранено!\",\n crud_showEditDialog_savedErrMessage: \"Возникли ошибки при сохранении!\",\n crud_removeItem_savedMessage: \"Элемент удален!\",\n crud_removeItem_savedErrMessage: \"Возникли ошибки при удалении элемента!\",\n crud_copyItem_confirm: 'Создать новый элемент, скопировав этот элемент?',\n crud_copyItem_savedMessage: \"Элемент скопирован!\",\n crud_copyItem_savedErrMessage: \"Возникли ошибки при копировании элемента!\",\n \n crud_getToolbarMakeup_ReplaceDialog: \"Замена\",\n crud_getToolbarMakeup_ShowColSettingDialog: \"Столбцы ...\",\n crud_getToolbarMakeup_ShowFilterSettingDialog: \"Фильтры ...\",\n crud_getToolbarMakeup_HowExcelExport: \"Экспорт в Excel\",\n crud_getToolbarMakeup_ShowPDFExport: \"Экспорт в PDF\",\n \n crud_showReplaceDialog_selectColum: \"Выберите колонку\",\n crud_showReplaceDialog_notSelectColum: \"Не выбрано\",\n crud_showReplaceDialog_replacementMessage: \"Нет столбцов, для которых можно использовать массовые замены\",\n crud_showReplaceDialog_search: \"Поиск и замена для столбцов\",\n crud_showReplaceDialog_replace: \"Заменить\",\n crud_showReplaceDialog_alertSElectColumn: \"Выберите столбец для операции\",\n crud_showReplaceDialog_alertRes1: \"Обновлено \",\n crud_showReplaceDialog_alertRes2: \" предложения(-ий)!\",\n crud_showReplaceDialog_alertError: \"Возникли ошибки при выполнении операции!\",\n \n crud_showColSettings_showDialogSetting: \"Настройки колонок\",\n crud_showFilterSettings_showDialogSetting: \"Настройки фильтров\",\n \n crud_getItems_editTitle: \"Редактировать\",\n crud_getItems_deleteTitle: \"Удалить\",\n crud_getItems_copyTitle: \"Копировать\",\n crud_getItems_commentTitle: \"Комментарии\",\n crud_getItems_dateStatTitle: \"Статистика по датам\",\n \n crud_loadInlineEdit_emptyText: \"Не задано\",\n \n crud_showColSettings_title: \"Показать / скрыть\",\n crud_showFilterSettings_title: \"Показать / скрыть\",\n \n crud_getComments_CommentsTable1: \"Комментарий\",\n crud_getComments_CommentsTable2: \"Дата\",\n crud_getComments_CommentsTable3: \"Кто\",\n \n crud_getComments_NoComments: \"Нет комментариев\",\n crud_getComments_AddComment: \"Добавление комментария\",\n crud_getComments_CommentAddLink: \"Написать\",\n crud_getComments_CommentError: \"Возникли ошибки при извлечении комментариев!\",\n \n crud_getStat_Year: \"Год\",\n crud_getStat_Manth: \"Месяц\",\n crud_getStat_Date: \"Дата\",\n crud_getStat_NoStat: \"Нет статистики за данный период\",\n crud_getStat_ErrorStat: \"Возникли ошибки при получении статистики!\",\n \n crud_showReplaceDialog_confirm: \"Внимание! Вы сделаете замену по всему столбцу\",\n crud_showReplaceDialog_confirm2: \"колонка\",\n crud_showReplaceDialog_confirm3: \"Выполнить операцию?\",\n crudEmptytext: \"Не задано\",\n \n export_exportTable_ErrorMsg: \"Возникли ошибки при выполнении операции!\",\n export_init_excelExp: \"Экспорт Excel\",\n export_init_pdfExp: \"Экспорт PDF\",\n formExampleText: \"напр. \",\n formFieldIsRequiredText: \"Укажите пожалуйста поле \",\n formButtonText: \"Сохранить\",\n form_save_showMessageSaved: \"Сохранено!\",\n form_save_showMessageErrorSaved: \"Возникли ошибки при сохранении!\",\n \n images_showImagesManager_btnText: \"Загрузить...\",\n images_showImagesManager_AlertError: \"Возникли ошибки при выполнении операции!\",\n images_saveImage_AlertSaved: \"Сохранено!\",\n images_selectImage_Del: \"Удалить\",\n images_selectImage_Close: \"Закрыть\",\n images_appendPic_Add: \"Добавить\",\n images_showImagesManager_noImage: \"Нет картинок\",\n images_selectImage_save: \"Сохранить\",\n \n metrics_showMetrics_NotReportCurrCateg: \"Нет отчетов в данной категории\",\n metrics_showMetricTypes_NotReport: \"Нет отчетов\",\n metrics_showMetricTypes_showDialog: \"Metrics\",\n metrics_showMetricTypes_showDialogError: \"Возникли ошибки при получении данных!\",\n \n \n simpleForm_init_apply: \"Подать заявку\",\n simpleForm_init_send: \"Отправить\",\n simpleForm_saveSimpleForm_AlertRequiredText: \"Укажите пожалуйста поле\",\n simpleForm_saveSimpleForm_AlertRequiredEmail: \"Укажите корректный E-mail\",\n simpleForm_saveSimpleForm_Saved: \"Сохранено!\",\n simpleForm_saveSimpleForm_SavedError: \"Возникли ошибки при сохранении!\",\n \n \n \n ark_init_showDialogEditProfile: \"Редактирование меню профиля\",\n ark_init_showDialogSaveProfile: \"Сохранить\",\n ark_init_AddMenu: \"Создать новый пункт меню\",\n ark_init_showDialogSuccessSave: \"Данные успешно сохранены\",\n ark_init_showDialogErrorSave: \"Возникли ошибки при выполнении операции!\",\n ark_loadMenuProfileTable_Name: \"Название\",\n ark_loadMenuProfileTable_Link: \"Ссылка\",\n ark_loadMenuProfileTable_Class: \"Класс иконки\",\n ark_editText_showDialogEdit: \"Редактировать текст\",\n ark_editText_showDialogSave: \"Сохранить\",\n ark_editText_AlertSuccess: \"Сохранено\",\n ark_editText_AlertError: \"Возникли ошибки при выполнении операции!\",\n \n ark_loadMenuProfileTable_RemoveTitle: \"Удалить\",\n ark_text_init_title: \"Редактировать текст\",\n ark_text_init_alt: \"Редактировать текст\",\n ark_image_init_title: \"Редактировать изображение\",\n ark_image_init_alt: \"Редактировать изображение\",\n \n sys_setTypeProcessor_range1: \"Сегодня\",\n sys_setTypeProcessor_range2: \"Последние 7 дней\",\n sys_setTypeProcessor_range3: \"Последние 30 дней\",\n sys_setTypeProcessor_range4: \"Последние 3 месяца\",\n sys_setTypeProcessor_range5: \"Последние 6 месяцев\",\n sys_setTypeProcessor_range6: \"Последний год\",\n sys_setLocale_days: [\"Вс\", \"Пн\", \"Вт\", \"Ср\", \"Чт\", \"Пт\", \"Сб\"],\n sys_setLocale_months: [\"Январь\", \"Февраль\", \"Март\", \"Апрель\", \"Май\", \"Июнь\", \"Июль\", \"Август\", \"Сентябрь\", \"Октябрь\", \"Ноябрь\", \"Декабрь\"],\n sysConfirm: \"
Подождите...
\",\n sys_closeModal: \"Закрыть\",\n as_countdown_days: \"дн\",\n as_countdown_hours: \"ч\",\n as_countdown_minutes: \"мин\",\n as_countdown_seconds: \"с\",\n as_countdown_text: \"Рабочий день близится к концу!\",\n \n html5upload_uploadLabel: \"Выберите файл для загрузки\",\n html5upload_btnText: \"Загрузить\",\n html5upload_title: \"Загрузка файла\",\n html5upload_load_succ: \"Файл успешно загружен\",\n }\n};\n\nexport default as;\n","import * as $ from \"jquery\";\n\nimport \"bootstrap/js/dist/tooltip\";\nimport \"bootstrap/js/dist/popover\";\nimport dateFormat from \"./lib/dateformat/dateformat\";\nimport { ajaxSend } from \"./global/fetch\";\nimport { loadLib } from \"./global/loadlib\";\nimport { getPrecompiledTemplate, loadPrecompiledTemplates } from \"./global/templates\";\nimport { isMob } from \"./global/util\";\nimport { newUuid } from \"./global/uuid\";\nimport { highlight as hightlightElements, focusInput as _focusInput } from \"./global/dom\";\n\nlet tumGlobal = {\n\tdata: {\n\t\tloadedTemplates: [],\n\t\ttemplateDependencies: {}\n\t},\n\tisDev: function(){\n\t\treturn location.href.indexOf(\"localhost\") > -1 || location.href.indexOf(\"dev.\") > -1;\n\t},\n\tgetFullDate: function(){\n\t\tlet date = new Date();\n\t\treturn dateFormat(date, `HH:mm, ${date.toLocaleString('ru', { year: 'numeric', month: 'long', day: 'numeric' })} (${date.toLocaleString('ru', { weekday: 'long' })})`);\n\t},\n\tloadYmaps: function () {\n\t\tif (window.ymaps) return Promise.resolve();\n\n\t\treturn new Promise(resolve => {\n\t\t\twindow.ymapsCallback = resolve;\n\t\t\tloadLib({\n\t\t\t\tjsLink: \"https://api-maps.yandex.ru/2.1.77/?lang=ru_RU&apikey=58d3ef21-0b56-4982-a66d-4f11b1f52d90&onload=ymapsCallback\",\n\t\t\t\tconditionObject: window.ymaps\n\t\t\t});\n\t\t});\n\t},\n\tisMob: () => isMob(),\n\tisMobOrTablet: () => window.innerWidth < 992,\n\tcopyToClipboard: function(text) {\n\t\tnavigator.clipboard.writeText(text);\n\t},\n\tgetFormData: function ($form) {\n\t\tlet unindexed_array = $form.serializeArray();\n\t\tlet indexed_array = {};\n\n\t\t$.map(unindexed_array, function (n) {\n\t\t\tindexed_array[n['name']] = n['value'];\n\t\t});\n\n\t\treturn indexed_array;\n\t},\n\t//хелпер, чтобы закрывать всякие всплывашки по клику снаружи\n\tonClickOutside: function(item, callback){\n\t\t$(document).on('click', function(e){\n\t\t\tvar $target = $(e.target);\n\t\t\tif ($(item).is($target) || $(item).has($target).length) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tcallback();\n\t\t})\n\t},\n\t//подсветить элемент\n\t/**\n\t * \n\t * @param {JQuery} $item \n\t * @param {*} time \n\t */\n\thighlight: function($item, time){\n\t\thightlightElements($item.toArray(), time);\n\t},\n\tscrollUp: function(){\n\t\twindow.scrollTo({ top: 0, behavior: \"smooth\" });\n\t},\n\tscrollTo: function(el){\n\t\t$(\"html, body\").animate({\n\t\t\tscrollTop: $(el).offset().top - 50\n\t\t});\n\t},\n\ttogglePageScroll: function(){\n\t\t$('body').toggleClass('noscroll');\n\t},\n\tcreateGuid: function() {\n\t\treturn newUuid();\n\t},\n\tcreateModal: function(options){\n\t\tif ($(`#${options.id}`).length) return Promise.resolve();\n\n\t\treturn loadPrecompiledTemplates(['modal'])\n\t\t.then(() => {\n\t\t\tlet template = getPrecompiledTemplate('modal');\n\t\t\t$('body').append(template(options));\n\t\t});\n\t},\n\tgetTimestamp: function(){\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tajaxSend({ url: '/home/getTimestamp' }).then(data => {\n\t\t\t\tif (data.result) resolve(data.timestamp);\n\t\t\t\telse reject('getTimestamp error');\n\t\t\t});\n\t\t});\n\t},\n\tbindInput: function(selector, object, name, onChange, container){\n\t\t$(container || document).on('change', selector, function(){\n\t\t\tobject[name] = $(this).is('input[type=checkbox]') ? $(this).prop('checked') : $(this).val();\n\t\t\tif (onChange) onChange($(this), object[name], name);\n\t\t});\n\t},\n\tfocusInput: function(field){\n\t\t_focusInput(field[0]);\n\t},\n\tparseNumber: function(value) {\n\t\tvalue = value.replace(/\\s/g, '').replace(',', '.');\n\t\treturn Number(value);\n\t},\n\tdistinct: function(value, index, self) {\n\t\treturn self.indexOf(value) === index;\n\t},\n\tvalidTextXSS: function(txt) {\n\t\tvar res = true;\n\t\tvar value = new RegExp('<[^>]*>');\n\t\tif (value.test(txt)) {\n\t\t\tres = false;\n\t\t}\n\t\treturn res;\n\t}\n};\n\nexport default tumGlobal;","import { handleError } from \"./debug\";\n\n/** @typedef {string | Element | NodeListOf | Element[] | (() => Element[])} ElementsOrSelector */\n\n/**\n * аналог delegate, т.е. для случаев, когда event нужно вешать на контейнер или весь документ, а не на элемент\n * @param {ElementsOrSelector} parent \n * @param {string} event \n * @param {string | string[]} selector \n * @param {(element: HTMLElement, event: MouseEvent) => void} handler \n */\nfunction addEventDelegate(parent, event, selector, handler) {\n let parents = getElements(parent);\n\n let events = event.split(' ').map(e => e.trim());\n if (typeof selector == 'string' && selector.includes(',')) selector = selector.split(',').map(e => e.trim());\n let matchSelector = Array.isArray(selector) ? selector.map(e => `${e}, ${e} *`).join(', ') : `${selector}, ${selector} *`;\n let closestSelector = Array.isArray(selector) ? selector.join(', ') : selector;\n\n for (let _event of events) {\n for (let _parent of parents) {\n _parent.addEventListener(_event, evt => {\n if (evt.target != null && evt.target instanceof Element) {\n let element = evt.target;\n if (element.matches(matchSelector)) {\n handler.apply(null, [element.closest(closestSelector), evt]);\n }\n } else {\n handleError(new Error(\"event mismatch\"), true, true, `${evt.type}`);\n }\n }, false);\n }\n }\n}\n\n/**\n * обертка над стандартным addEventListener с селектором и поддержкой нескольких типов событий\n * @param {ElementsOrSelector} element \n * @param {string} event \n * @param {(element: HTMLElement, event: MouseEvent) => void} handler \n */\nfunction addEvent(element, event, handler) {\n let elements = getElements(element);\n let events = event.split(' ').map(e => e.trim());\n\n for (let item of elements) {\n for (let _event of events) {\n item.addEventListener(_event, evt => {\n handler.apply(null, [item, evt]);\n });\n }\n }\n}\n\n/**\n * \n * @param {ElementsOrSelector} element \n * @returns \n */\nfunction getElements(element) {\n if (element == null) return [];\n let elements = null;\n\n if (typeof element == \"string\") elements = [...document.querySelectorAll(element)];\n else if (element instanceof Element) elements = [element];\n else if (element instanceof NodeList) elements = [...element];\n else if (Array.isArray(element)) elements = element\n else if (typeof element === 'function') elements = element();\n else elements = [element];\n\n return elements;\n}\n\n/**\n * \n * @param {ElementsOrSelector} element \n * @param {string} name \n * @returns \n */\nfunction hasClass(element, name) {\n let elements = getElements(element);\n\n for (let item of elements) {\n if (!item.classList.contains(name)) return false;\n }\n\n return true;\n}\n\n/**\n * \n * @param {ElementsOrSelector} element \n * @param {string} name \n * @param {boolean} [value] \n */\nfunction toggleClass(element, name, value = undefined) {\n if (!name) return;\n let classList = name.split(' ');\n let elements = getElements(element);\n\n for (let item of elements) {\n for (let _class of classList) {\n item.classList.toggle(_class, value);\n }\n }\n}\n\n/**\n * \n * @param {ElementsOrSelector} element \n */\nfunction show(element) {\n toggleClass(element, 'd-none', false);\n}\n\n/**\n * \n * @param {ElementsOrSelector} element \n */\nfunction hide(element) {\n toggleClass(element, 'd-none', true);\n}\n\n/**\n * \n * @param {ElementsOrSelector} element \n * @param {boolean} [value] \n * @returns \n */\nfunction toggle(element, value) {\n if (value == undefined) {\n toggleClass(element, 'd-none');\n return;\n }\n\n toggleClass(element, 'd-none', !value);\n}\n\n/**\n * \n * @param {ElementsOrSelector} elementsOrSelector \n */\nfunction empty(elementsOrSelector) {\n let elements = getElements(elementsOrSelector);\n for (let element of elements) {\n while (element.firstChild) {\n element.removeChild(element.firstChild);\n }\n }\n}\n\n/**\n * \n * @param {ElementsOrSelector} element \n * @param {string} property \n * @param {string} value \n */\nfunction setProperty(element, property, value) {\n let elements = getElements(element);\n for (let element of elements) {\n element[property] = value;\n }\n}\n\n/**\n * \n * @param {ElementsOrSelector} element \n * @param {string} value,\n * @param {boolean} triggerChangeEvent\n */\nfunction setValue(element, value, triggerChangeEvent) {\n let elements = getElements(element);\n for (let element of elements) {\n element.value = value;\n if (triggerChangeEvent) element.dispatchEvent(new Event(\"change\", { bubbles: true }));\n }\n}\n\n/**\n * \n * @param {string} html \n * @returns \n */\nfunction htmlToDocumentFragment(html) {\n return document.createRange().createContextualFragment(html);\n}\n\n/**\n * используется, если htmlToDocumentFragment работает некорректно.\n * Например, в случае с тегами tr и td\n * @param {string} html\n */\nfunction htmlToDocumentFragmentCompat(html) {\n var template = document.createElement('template');\n template.innerHTML = html;\n return template.content;\n}\n\n/**\n * \n * @param {string | Element} element \n * @param {string} html \n * @returns \n */\nfunction appendHtml(element, html) {\n if (!element || !html) return;\n let target = element instanceof Element ? element : document.querySelector(element);\n target.append(htmlToDocumentFragment(html));\n}\n\n/**\n * \n * @param {string | Element} element \n * @param {string} html \n * @returns \n */\nfunction prependHtml(element, html) {\n if (!element || !html) return;\n let target = element instanceof Element ? element : document.querySelector(element);\n target.prepend(htmlToDocumentFragment(html));\n}\n\n/**\n * \n * @param {string | Element} element \n * @param {string} html \n * @returns \n */\nfunction setHtml(element, html) {\n if (!element) return;\n let target = element instanceof Element ? element : document.querySelector(element);\n if (!target) return;\n\n empty(target);\n if (html) target.append(htmlToDocumentFragment(html));\n}\n\n/**\n * \n * @param {string | Element} element \n * @param {string} html \n * @returns \n */\nfunction replaceWithHtml(element, html) {\n let target = element instanceof Element ? element : document.querySelector(element);\n\n if (!target) return;\n\n if (!element || !html) {\n target.innerHTML = '';\n return;\n }\n\n target.replaceWith(htmlToDocumentFragment(html));\n}\n\n/**\n * \n * @param {string | Element} element \n * @param {string} html \n * @returns \n */\nfunction insertHtmlAfter(element, html) {\n if (!element || !html) return;\n let target = element instanceof Element ? element : document.querySelector(element);\n target.after(htmlToDocumentFragment(html));\n}\n\n/**\n * \n * @param {string | Element} element \n * @param {string} html \n * @returns \n */\nfunction insertHtmlBefore(element, html) {\n if (!element || !html) return;\n let target = element instanceof Element ? element : document.querySelector(element);\n target.before(htmlToDocumentFragment(html));\n}\n\nfunction documentHeight() {\n let body = document.body,\n html = document.documentElement;\n\n let height = Math.max(body.scrollHeight, body.offsetHeight,\n html.clientHeight, html.scrollHeight, html.offsetHeight);\n\n return height;\n}\n\n/**\n * \n * @param {ElementsOrSelector} selector \n * @param {(event: MouseEvent) => void} handler \n */\nfunction onClickOutside(selector, handler) {\n document.addEventListener('click', event => {\n let run = true;\n\n for (let _el of getElements(selector)) {\n if (_el == event.target || _el.contains(event.target)) {\n run = false;\n break;\n }\n }\n\n if (run) handler(event);\n });\n}\n\n/**\n * @typedef {object} DataStorage\n * @property {(element: HTMLElement, key: string, obj: any) => void} put\n * @property {(element: HTMLElement, key: string) => any} get\n * @property {(element: HTMLElement, key: string) => boolean} has\n * @property {(element: HTMLElement, key: string) => void} remove\n */\n\n/**\n * замена для .data() в jquery. В большинстве случаев должно хватить стандартного HTMLElement.dataset,\n * но в него можно добавлять только строки, а сюда любые объекты, в т.ч. ссылки на dom элементы\n * @type {DataStorage}\n */\nlet dataStorage = {\n _storage: new WeakMap(),\n put: function (element, key, obj) {\n if (!this._storage.has(element)) {\n this._storage.set(element, new Map());\n }\n this._storage.get(element).set(key, obj);\n },\n get: function (element, key) {\n return this._storage.get(element)?.get(key);\n },\n has: function (element, key) {\n return this._storage.has(element) && this._storage.get(element).has(key);\n },\n remove: function (element, key) {\n var ret = this._storage.get(element).delete(key);\n if (this._storage.get(element).size !== 0) {\n this._storage.delete(element);\n }\n return ret;\n }\n}\n\n/**\n * \n * @param {HTMLElement | string | number} target \n */\nfunction smoothScrollTo(target) {\n if (target instanceof HTMLElement) {\n window.scrollTo({ top: target.getBoundingClientRect().top - 50, left: 0, behavior: \"smooth\" });\n } else if (typeof target === 'string') {\n window.scrollTo({ top: document.querySelector(target).getBoundingClientRect().top - 50, left: 0, behavior: \"smooth\" });\n } else {\n window.scrollTo({ top: target, left: 0, behavior: \"smooth\" });\n }\n}\n\n/**\n * \n * @param {ElementsOrSelector} item\n * @param {number} time \n * @returns \n */\nfunction highlight(item, time) {\n toggleClass(item, 'tum-box-attention', true);\n\n return new Promise(resolve => {\n setTimeout(() => {\n toggleClass(item, 'tum-box-attention', false);\n resolve();\n }, time || 2000);\n });\n}\n\n\n/**\n * \n * @param {ElementsOrSelector} element \n * @param {string} selector \n */\nfunction find(element, selector) {\n let elements = getElements(element);\n\n return elements.flatMap(e => [...e.querySelectorAll(selector)]);\n}\n\nfunction focusInput(input){\n let fieldLength = input.value.length;\n let type = input.type;\n input.type = 'text';\n input.setSelectionRange(fieldLength, fieldLength);\n input.type = type;\n input.focus({\n preventScroll: true\n });\n}\n\nfunction remove(element) {\n let elements = getElements(element);\n for (let element of elements) {\n element.remove();\n }\n}\n\nwindow.dataStorage = dataStorage;\nwindow.smoothScrollTo = smoothScrollTo;\nwindow.setHtml = setHtml;\n\nexport {\n addEvent, addEventDelegate, toggleClass, getElements, appendHtml, prependHtml, setHtml, replaceWithHtml,\n insertHtmlAfter, insertHtmlBefore, htmlToDocumentFragment, htmlToDocumentFragmentCompat,\n documentHeight, dataStorage, onClickOutside, show, hide, toggle, empty, setProperty, setValue, hasClass, smoothScrollTo,\n highlight, find, focusInput, remove\n};","import * as $ from \"jquery\";\nimport as from \"../as.sys.js\";\nimport Cropper from \"cropperjs\";\nimport { closeDialog, showDialog, showAlert } from \"../../global/dialog\";\nimport { ajaxSend } from \"../../global/fetch\";\nimport { addEventDelegate } from \"../../global/dom\";\n\nimport \"cropperjs/dist/cropper.min.css\";\nimport \"../../../css/modules/product/photogallery.css\";\n\nas.uploadHTML5 = {\n options: {\n\t\tcrop: false,\n\t\turl: '',\n\t\tfilesLeft: [],\n\t\tfilesTotal: [],\n\t\tfilesResult: [],\n\t\tcurrentFile: null,\n\t\tuploadCallback: function () {\n\t\t\tvar res = \"\";\n\t\t\treturn res;\n\t\t},\n\t\tcropperInitEventStarted: false\n },\n init: function (options) {\n\t\tlet self = this;\n\t\tthis.options = $.extend(this.options, options);\n\n\t\t$(document).on('hide.bs.modal', '#asModal', function() {\n\t\t\tif ($(this).find('#as-u5-crop').length) {\n\t\t\t\tself.destroyCropper();\n\t\t\t\tself.options.cropperInitEventStarted = false;\n\t\t\t}\n\t\t});\n\t\taddEventDelegate(document, 'click', '.as-uploadHTML5-add', (element, e) => {\n e.preventDefault();\n self.showUploadDialog($(element));\n });\n\t\taddEventDelegate(document, 'change', '.as-u5-selectFile', (element, e) => {\n e.preventDefault();\n self.fileSelected($(element));\n });\n\n\t\taddEventDelegate(document, 'click', '.as-u5-upload', (element, e) => {\n e.preventDefault();\n self.upload($(element));\n });\n\t\taddEventDelegate(document, 'click', '.as-u5-crop-ok', (element, e) => {\n e.preventDefault();\n\t\t\t$(\"#asModal .tum-alert-text\").remove();\n\t\t\t$(element).addClass(\"disabled\").attr('disabled', true);\n\t\t\tself.crop($(element));\n\t\t});\n\t\taddEventDelegate(document, \"click\", \".as-u5-magnify\", (element, e) => {\n\t\t\te.preventDefault();\n\t\t\tself.options.cropper.zoom(0.2);\n\t\t});\n\t\taddEventDelegate(document, \"click\", \".as-u5-minify\", (element, e) => {\n\t\t\te.preventDefault();\n\t\t\tself.options.cropper.zoom(-0.2);\n\t\t});\n\t\taddEventDelegate(document, \"click\", \".as-u5-rotLeft\", (element, e) => {\n\t\t\te.preventDefault();\n\t\t\tself.options.cropper.rotate(-90);\n\t\t});\n\t\taddEventDelegate(document, \"click\", \".as-u5-rotRight\", (element, e) => {\n\t\t\te.preventDefault();\n\t\t\tself.options.cropper.rotate(90);\n\t\t});\n\n\t\taddEventDelegate(document, \"click\", \".as-u5-disableCropper\", (element, e) => {\n\t\t\te.preventDefault();\n\t\t\t$(element).toggleClass(\"fa-toggle-on fa-toggle-off\");\n\n\t\t\tif ($(element).hasClass(\"fa-toggle-on\")){\n\t\t\t\tself.options.cropper.clear();\n\t\t\t\tself.options.cropper.disable();\n\t\t\t}\n\t\t\telse {\n\t\t\t\tself.options.cropper.enable();\n\t\t\t\tself.options.cropper.crop();\n\t\t\t}\n\t\t});\n\n\t\taddEventDelegate(document, 'click', \".photo-skip\", () => {\n\t\t\tthis.skipPhoto();\n\t\t});\n },\n showUploadDialog: function (btn, callback) {\n var itemID = btn.attr('data-itemID');\n var code = btn.attr('data-code');\n var url = btn.attr('data-url');\n var uploadLabel = btn.attr('data-uploadLabel') || as.resources.html5upload_uploadLabel;//\"Выберите файл для загрузки\";\n var uploadText = btn.attr('data-uploadText') || \"\";\n var btnText = btn.attr('data-btnText') || as.resources.html5upload_btnText;//\"Загрузить\";\n\t\tvar title = btn.attr('data-title') || as.resources.html5upload_title;//\"Загрузка файла\";\n\t\tvar allowAnyFile = btn.attr(\"data-allowAnyFile\") == \"1\";\n\t\tthis.options.checkUploadLimit = btn.attr('data-checkUploadLimit') || 0;// по умолчанию стоит проверка\n this.options.isMultiple = btn.attr('data-single') != \"1\";\n this.options.crop = btn.attr('data-crop') == \"1\";\n this.options.cropAspectRatio = Number(btn.attr('data-cropAspectRatio'));\n this.options.cropTitle = btn.attr('data-cropTitle') || 'Выделите область на картинке';\n this.options.immediateUpload = btn.attr('data-immediateUpload') || false;\n\t\tthis.options.cropURL = btn.attr('data-cropURL');\n\t\tthis.options.allowAnyFile = allowAnyFile;\n \n this.options.url = url;\n this.options.itemID = itemID;\n this.options.code = code;\n this.options.callback = callback || null; // capture=\"camera\"\n var s = '';\n s += '
';\n\t\ts += '

' + uploadText + '

' +\n\t\t\t'
';\n s += '
';\n s += '
';\n s += '
';\n s += '';\n\t\ts += '
Загрузка:
';\n\t\ts += '
';\n\t\ts += '
';\n\t\ts += '
';\n\t\ts += '

' + this.options.cropTitle +'

\"\"/
';\n s += '
';\n\t\t\n\t\tshowDialog({ title: title, content: s, submitButtonText: btnText, size: 'xl' })\n\t\tthis.setModalFooter();\n },\n fileSelected: function () {\n\t\t$('.as-u5-upload').removeClass('hide');\n\t\t$('.as-u5-upload')[0]?.click()\n\t},\n\tcheckUploadFile: function (file)\n\t{\n\t\tvar res = true;\n\t\tif (file && file.length) {\n\t\t\tif (!this.options.allowAnyFile) {\n\t\t\t\tvar fileType = file[0].type;\n\t\t\t\tvar types = ['png', 'jpeg'];\n\t\t\t\tif (fileType == \"\" || (fileType.split('/').length > 0 && $.inArray(fileType.split('/')[1], types) === -1)) {\n\t\t\t\t\tshowAlert(\"Вы можете загружать только изображения формата PNG, JPG, JPEG\", { type: 'danger' });\n\t\t\t\t\tres = false;\n\t\t\t\t}\n\t\t\t\tif (file[0].size > 12582912) {\n\t\t\t\t\tshowDialog({ title: \"Ошибка\", content: \"Размер файла не может превышать 12 мб\" });\n\t\t\t\t\t$(\"#asModal .btn-primary\").addClass(\"d-none\");\n\t\t\t\t\tres = false;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\tfor (var i = 0; i < file.length; i++) {\n\t\t\t\t\tvar fileExt = file[i].name.split(\".\")[file[i].name.split(\".\").length - 1].toLowerCase();\n\t\t\t\t\tvar extensions = ['png', 'jpeg', 'jpg', 'pdf', 'doc', 'docx', 'xls', 'xlsx', 'json', 'gif'];\n\t\t\t\t\tvar imageExtensions = ['png', 'jpeg', 'jpg'];\n\t\t\t\t\tif ($.inArray(fileExt, extensions) === -1) {\n\t\t\t\t\t\tshowDialog({ title: \"Ошибка\", content: \"Вы можете загружать только изображения формата PNG, JPG, JPEG\" });\n\t\t\t\t\t\t$(\"#asModal .btn-primary\").addClass(\"d-none\");\n\t\t\t\t\t\tres = false;\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tvar size = file[i].size;\n\t\t\t\t\t\tif ($.inArray(fileExt, imageExtensions) === -1 && size > 5000000) {\n\t\t\t\t\t\t\tshowDialog({ title: \"Ошибка\", content: \"Размер файла не может превышать 5 мб, content: если файл не является изображением формата PNG, JPG, JPEG\" });\n\t\t\t\t\t\t\t$(\"#asModal .btn-primary\").addClass(\"d-none\");\n\t\t\t\t\t\t\tres = false;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tres = false;\n\t\t}\n\t\treturn res;\n\t},\n\tupload: function () {\n var fd = new FormData();\n\t\tvar upl = document.getElementById('as-u5-fileToUpload');\n\t\tvar count = upl.files.length;\n\n\t\tvar isCheched = this.checkUploadFile(upl.files);\n\t\tif (!isCheched) {\n\t\t\treturn;\n\t\t}\n\n\t\t$(\".as-u5-loading\").removeClass(\"hide\");\n\t\t$(\".as-u5-uploadButton\").addClass(\"hide\");\n\t\t$(\"#asModal .tum-alert-text\").remove();\n\t\tif (count != 0) {\n\t\t\tfor (var i = 0; i < count; i++) {\n\t\t\t\tfd.append(\"fileToUpload\" + i, upl.files[i]);\n\t\t\t}\n\t\t\tfd.append(\"itemID\", this.options.itemID);\n\t\t\tfd.append(\"code\", this.options.code);\n\t\t\tfd.append(\"withCrop\", this.options.crop);\n\n\t\t\tvar xhr = new XMLHttpRequest();\n\t\t\txhr.upload.addEventListener(\"progress\", e => this.uploadProgress(e), false);\n\t\t\txhr.addEventListener(\"load\", e => this.uploadComplete(e), false);\n\t\t\txhr.addEventListener(\"error\", e => this.uploadFailed(e), false);\n\t\t\txhr.addEventListener(\"abort\", e => this.uploadCanceled(e), false);\n\t\t\txhr.open(\"POST\", this.options.url);\n\t\t\txhr.send(fd);\n\t\t}\n },\n\tuploadProgress: function (evt) {\n\t\tif (evt.lengthComputable) {\n\t\t\t$('.progress').removeClass('hide');\n var percentComplete = Math.round(evt.loaded * 100 / evt.total);\n document.getElementById('as-u5-progressNumber').innerHTML = percentComplete.toString() + '%';\n\t\t\tdocument.getElementById('as-u5-progressNumber').style.width = percentComplete.toString() + '%';\n }\n else {\n document.getElementById('as-u5-progressNumber').innerHTML = 'невозможно вычислить';\n }\n\t},\n\tdestroyCropper: function () {\n\t\tvar imgExist = $('#as-u5-crop>img').attr('src') && $('#as-u5-crop>img').attr('src').length > 0;\n\t\tif (imgExist) {\n\t\t\tthis.options.cropper.destroy();\n\t\t\t$('#as-u5-crop>img').attr('src', '');\n\t\t}\n\t},\n uploadComplete: function uploadComplete(evt) {\n\t\tvar data = JSON.parse(evt.target.responseText);\n\t\t\n\t\tif (!data.result) {\n\t\t\tshowAlert(data.msg || \"Ошибка загрузки файла\", { type: 'danger' });\n\t\t\treturn;\n\t\t}\n\t\tshowAlert(as.resources.html5upload_load_succ, { type: \"success\" });\n\t\t$('.as-u5-upload').addClass('hide');\n\t\tif ($('.as-u5-crop-ok').hasClass(\"disabled\")) {\n\t\t\t$('.as-u5-crop-ok').removeClass(\"disabled\");\n\t\t\t$(\"#asModal .modal-footer .tum-alert-text\").remove();\n\t\t}\n\t\t\n\t\t$('.progress').addClass('hide');\n\n\t\tthis.destroyCropper();\n\t\tif (this.options.uploadCallback) this.options.uploadCallback(data);\n\n\t\tif (this.options.allowAnyFile && data.items) {\n\t\t\tthis.options.filesLeft = data.items.slice();\n\t\t}\n\n\t\tdocument.dispatchEvent(new Event(\"tempUploadComplete-asUploadHTML5\"));\n\n\t\tif (this.options.crop) {\n\t\t\tvar aspectRatio = this.options.cropAspectRatio;\n\t\t\t\n\t\t\t$('#as-u5-crop').removeClass('hide');\n\t\t\tif (this.options.isMultiple) {\n\t\t\t\t\n\t\t\t\tthis.options.filesLeft = data.items.slice();\n\t\t\t\tthis.options.filesTotal = data.items.slice();\n\t\t\t\tthis.options.filesResult = [];\n\t\t\t\tthis.options.cropValuesArr = [];\n\t\t\t\tthis.options.widths = [];\n\n\t\t\t\tvar file = this.options.filesLeft.pop();\n\t\t\t\tthis.setCroppedImage(file);\n\t\t\t} else {\n\t\t\t\t$('#as-u5-crop>img').attr('src', data.items[0].path);\n\t\t\t\t$('#as-u5-crop>img').attr('data-src', JSON.stringify(data.items));\n\t\t\t\t$('label.btn-outline-secondary').remove();\n\t\t\t\t$(\".as-u5-crop-ok\").prop(\"disabled\", true);\n\t\t\t\tvar image = $('#as-u5-crop>img')[0];\n\t\t\t\timage.onload = () => {\n\t\t\t\t\tthis.options.cropper = new Cropper(image, {\n\t\t\t\t\t\taspectRatio: aspectRatio || '',\n\t\t\t\t\t\tdragMode: true,\n\t\t\t\t\t\tmovable: false,\n\t\t\t\t\t\trotatable: true,\n\t\t\t\t\t\tscalable: true,\n\t\t\t\t\t\tzoomable: true,\n\t\t\t\t\t\tzoomOnTouch: true,\n\t\t\t\t\t\tzoomOnWheel: true,\n\t\t\t\t\t\tviewMode: 1,\n\t\t\t\t\t\tcrop: data => {\n\t\t\t\t\t\t\tthis.options.cropValues = [data.x, data.y, data.x + data.width, data.y + data.height];\n\t\t\t\t\t\t},\n\t\t\t\t\t\tready: function(){\n\t\t\t\t\t\t\t$(\".as-u5-cropButtons\").removeClass(\"d-none\");\n\t\t\t\t\t\t\t$(\".as-u5-crop-ok\").prop(\"disabled\", false);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t} \n\t\t} else {\n\t\t\tif (this.options.callback) this.options.callback(data);\n\t\t\tif (!data.result) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tcloseDialog();\n\t\t}\n \n\t\t$(\".as-u5-loading\").addClass(\"hide\");\n\t\t$(\".as-u5-uploadButton\").removeClass(\"hide\");\n\t},\n\tsetCroppedImage: function(file) {\n\t\tlet self = this;\n\t\tthis.options.currentFile = file;\n\t\t$('#as-u5-crop>img').attr('src', file.path);\n\n\t\tvar image = $('#as-u5-crop>img')[0];\n\n\t\t$(\".as-u5-crop-ok\").prop(\"disabled\", true);\n\n\t\tif (!this.options.cropperInitEventStarted){\n\t\t\t$(image).on('load', () => {\n\t\t\t\tthis.options.cropper = new Cropper(image, {\n\t\t\t\t\taspectRatio: this.options.cropAspectRatio || '',\n\t\t\t\t\tdragMode: true,\n\t\t\t\t\tmovable: false,\n\t\t\t\t\trotatable: true,\n\t\t\t\t\tscalable: true,\n\t\t\t\t\tzoomable: true,\n\t\t\t\t\tzoomOnTouch: true,\n\t\t\t\t\tzoomOnWheel: true,\n\t\t\t\t\tviewMode: 1,\n\t\t\t\t\tcrop: data => {\n\t\t\t\t\t\tthis.options.cropValues = [data.x, data.y, data.x + data.width, data.y + data.height];\n\t\t\t\t\t},\n\t\t\t\t\tready: () => {\n\t\t\t\t\t\t$(\".as-u5-cropButtons\").removeClass(\"d-none\");\n\t\t\t\t\t\t$(\".as-u5-crop-ok\").prop(\"disabled\", false);\n\n\t\t\t\t\t\tif (this.options.filesTotal.length > 1) {\n\t\t\t\t\t\t\tvar currentPhotoNumber = this.options.filesTotal.length - this.options.filesLeft.length;\n\t\t\t\t\t\t\t$(\".photo-photosLeft\").html(`Изображение ${currentPhotoNumber} из ${this.options.filesTotal.length}`);\n\t\t\t\t\t\t\t$(\".photo-skip\").removeClass(\"d-none\");\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}).each(function(){\n\t\t\t\tif (self.complete) $(this).trigger(\"load\");\n\t\t\t});\n\n\t\t\tthis.options.cropperInitEventStarted = true;\n\t\t}\n\t},\n uploadFailed: function () {\n\t\tshowAlert(\"При попытке загрузки файла произошла ошибка\", { type: \"danger\" });\n },\n uploadCanceled: function uploadCanceled() {\n\t\tshowAlert(\"Потеряно соединение или пользователь отменил загрузку\", { type: \"danger\" });\n\t},\n\tskipPhoto: function(){\n\t\tvar isEnd = false;\n\t\tthis.options.cropper.destroy();\n\t\tif (this.options.filesLeft.length > 0) {\n\t\t\t$('.as-u5-crop-ok').removeClass('disabled');\n\t\t\tthis.setCroppedImage(this.options.filesLeft.pop());\n\t\t} else {\n\t\t\tisEnd = true;\n\t\t\tthis.options.cropperInitEventStarted = false;\n\t\t}\n\n\t\tif (isEnd) {\n\t\t\tvar params = {\n\t\t\t\tcropValues: this.options.cropValuesArr,\n\t\t\t\tfiles: this.options.filesResult,\n\t\t\t\tw: this.options.isMultiple ? this.options.widths.join(',') : parseInt($('#as-u5-crop .cropper-canvas>img').width()),\n\t\t\t\titemID: this.options.itemID,\n\t\t\t\tcode: this.options.code,\n\t\t\t\tdisableCropper: $(\".as-u5-disableCropper\").hasClass(\"fa-toggle-on\")\n\t\t\t};\n\n\t\t\tajaxSend({ url: this.options.cropURL, data: params }).then(data => {\n\t\t\t\t\n if (data.result) {\n closeDialog();\n\n setTimeout(() => {\n if (this.options.callback) this.options.callback(data);\n\n\t\t\t\t\t\tif (data.msg) {\n\t\t\t\t\t\t\tshowAlert(data.msg, { type: \"danger2\" });\n\t\t\t\t\t\t}\n }, 1000);\n\t\t\t\t\t$('.as-u5-crop-ok').removeClass('disabled');\n\n\n\t\t\t\t} else {\n\t\t\t\t\tcloseDialog();\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tshowAlert(data.msg || \"Возникли ошибки при выполнении операции!\", { type: 'danger' });\n\t\t\t\t\t}, 1000);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t},\n\tcrop: function () {\n\t\tvar isEnd = false;\n\t\tvar values, files;\n\t\tif (this.options.isMultiple) {\n\t\t\tthis.options.cropValuesArr.push(this.options.cropper.getData());\n\t\t\tthis.options.widths.push(parseInt($('#as-u5-crop .cropper-canvas>img').width()));\n\t\t\tthis.options.filesResult.unshift(this.options.currentFile);\n\t\t\tthis.options.cropper.destroy();\n\t\t\tif (this.options.filesLeft.length > 0) {\n\t\t\t\t$('.as-u5-crop-ok').removeClass('disabled');\n\t\t\t\tthis.setCroppedImage(this.options.filesLeft.pop());\n\t\t\t\t\n\t\t\t} else {\n\t\t\t\tisEnd = true;\n\t\t\t\tthis.options.cropperInitEventStarted = false;\n\t\t\t}\n\t\t} else {\n\t\t\tvar _files = $('#as-u5-crop>img').attr('data-src');\n\t\t\tfiles = _files ? JSON.parse(_files) : [];\n\t\t\tvalues = [];\n\t\t\tvalues.push(this.options.cropper.getData());\n\t\t\t\n\t\t\tif (!values && values.length == 0) {\n\t\t\t\tshowAlert(\"Выберите пожалуйста область на картинке\", { type: \"warning\" });\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tisEnd = true;\n\t\t}\n\n\t\tif (isEnd) {\n\t\t\tvar params = {\n\t\t\t\tcropValues: this.options.cropValuesArr || values,\n\t\t\t\tfiles: this.options.isMultiple ? this.options.filesResult : files,\n\t\t\t\tw: this.options.isMultiple ? this.options.widths.join(',') : parseInt($('#as-u5-crop .cropper-canvas>img').width()),\n\t\t\t\titemID: this.options.itemID,\n\t\t\t\tcode: this.options.code,\n\t\t\t\tdisableCropper: $(\".as-u5-disableCropper\").hasClass(\"fa-toggle-on\")\n\t\t\t};\n\n\t\t\tajaxSend({ url: this.options.cropURL, data: params }).then(data => {\n if (data.result) {\n closeDialog();\n\n setTimeout(() => {\n if (this.options.callback) this.options.callback(data);\n\n\t\t\t\t\t\tif (data.msg) {\n\t\t\t\t\t\t\tshowAlert(data.msg, { type: \"danger2\" });\n\t\t\t\t\t\t}\n }, 1000);\n\t\t\t\t\t$('.as-u5-crop-ok').removeClass('disabled');\n\n\n\t\t\t\t} else {\n\t\t\t\t\tcloseDialog();\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tshowAlert(data.msg || \"Возникли ошибки при выполнении операции!\", { type: 'danger' });\n\t\t\t\t\t}, 1000);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n },\n\tsetModalFooter: function(){\n\t\tvar current = $(\"#asModal .modal-footer\").html();\n\t\tvar result = `
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
Пропустить
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
${current}
\n\t\t\t\t\t
`;\n\n\t\t$(\"#asModal .modal-footer\").html(result);\n\t}\n};\n","import * as $ from \"jquery\";\n\nimport \"bootstrap/js/dist/popover\";\nimport \"bootstrap/js/dist/modal\";\nimport \"readmore-js\";\nimport tumGlobal from \"../global.js\";\nimport searchFilter from \"../filter/filter.js\";\nimport filter from \"../filter/script.js\";\nimport { ajaxSend } from \"../global/fetch\";\nimport { getPrecompiledTemplate, loadPrecompiledTemplates } from \"../global/templates\";\nimport { initTuPopover } from \"../global/popover\";\nimport { addEventDelegate, appendHtml, find, hide, show } from \"../global/dom\";\nimport { showAlert } from \"../global/dialog\";\nimport { searchWidgets } from \"../navbar/searchSelect.js\";\n\nvar tumSearch = {\n\toptions: {\n\t\ttext: \"\",\n\t\ttype: \"\",\n\t\tpoints: [],\n\t\tpage: 1,\n\t\tfirmPage: 1,\n\t\tsort: \"relup\",\n\t\tfirstInitCall: true,\n\t\tisFirstLoad: true,\n\t\tpageDirection : '',\n\t\tactiveTab: '',\n\t\teditLimitationsMsg: \"\",\n\t\tisMobSearch: false,\n\t},\n\t\n\tmapPointsToAdd: [],\n\tinit: function (options) {\n\t\t$(\"#asModal\").modal({ show: false, backdrop: 'static' });\n\t\t\n\t\tthis.options = $.extend(this.options, options);\n\t\tif (this.options.firstInitCall) {\n\t\t\tthis.initCallbacks();\n\t\t\tthis.options.firstInitCall = false;\n\t\t\tthis.updateTabSpecificElements();\n\t\t}\n\n\t\tthis.updateCollapseSummaryTitleVisible(true);\t\n\t\t\n\t\t$('.tum-firms-alterFilter').readmore({\n\t\t\tmoreLink: ' Развернуть',\n\t\t\tlessLink: ' Свернуть',\n\t\t\tspeed: 100,\n\t\t\tcollapsedHeight: 36\n\t\t});\n\n\t\t$('.tum-firms-alterFilterWrap').removeClass('d-none');\n\t},\n\tinitCallbacks: function () {\n\t\tlet self = this;\n\t\taddEventDelegate(document, \"click\", \".tum-firms-alterFilterItem\", (element, e) => {\n\t\t\te.preventDefault();\n\t\t\tvar header = document.querySelector('#alt-filter-header');\n\n\t\t\tself.options.activeTab = element.closest('.b-catalog').querySelector('.nav-link.active').dataset.href;\n\n\t\t\thide('.btn-show-prev');\n\n\t\t\tif (!element.matches('.fa-times')) {\n\t\t\t\tvar val = element.dataset.contact;\n\t\t\t\tvar text = `${element.textContent}`;\n\t\t\t\tlet count = element.parentElement.querySelector(\".tum-firms-alterFilterItemCount\")?.textContent;\n\t\t\t\thide(find(header, '.tum-h2-text'));\n\t\t\t\thide(\".tum-firms-alterFilterWrap\");\n\t\t\t\tappendHtml(header, `

Организации с контактом ${text}${count ? `${count}` : ''}

`);\n\t\t\t\tself.options.text = val;\n\t\t\t\tself.search(true, 1, val);\n\t\t\t} else {\n\t\t\t\theader.querySelector('.alterHeader')?.remove();\n\t\t\t\tshow(find(header, '.tum-h2-text'));\n\t\t\t\tshow(\".tum-firms-alterFilterWrap\");\n\t\t\t\tself.options.text = \"\";\n\t\t\t\tself.search(true, 1, \"-1\");\n\t\t\t}\n\t\t});\n\n\t\taddEventDelegate(document, \"click\", \".btn-products\", (element, e) => {\n\t\t\te.preventDefault();\n\t\t\tvar page = +$(element).attr('data-page');\n\t\t\tif (page == 1) $(element).addClass('d-none');\n\t\t\tif ($(element).closest('.tab-pane').attr('id') == \"firms\") {\n\t\t\t\tif (page > self.options.firmPage) {\n\t\t\t\t\t$(element).attr('data-page', page + 1);\n\t\t\t\t\tsearchFilter.setURLParameter('firmPage', page);\n\t\t\t\t}\n\t\t\t\telse $(element).attr('data-page', page - 1);\n\t\t\t\tself.options.firmPage = page > self.options.firmPage ? self.options.firmPage + 1 : self.options.firmPage;\n\t\t\t} else {\n\t\t\t\tif (page > +self.options.page) {\n\t\t\t\t\t$(element).attr('data-page', page + 1);\n\t\t\t\t\tsearchFilter.setURLParameter('page', page);\n\t\t\t\t} else $(element).attr('data-page', page - 1);\n\t\t\t\tself.options.page = page > +self.options.page ? +self.options.page + 1 : +self.options.page;\t\t\n\t\t\t}\n\t\t\tif ($(element).hasClass('btn-show-more')) {\n\t\t\t\tself.options.pageDirection = \"down\";\n\t\t\t}\n\t\t\tself.options.activeTab = $(element).closest('.b-catalog').find('.nav-link.active').attr('data-href');\n\t\t\tself.search(false, page);\n\t\t});\n\t\t\n\t\taddEventDelegate(document, \"click\", \".b-nav-search a\", (element, e) => {\n\t\t\te.preventDefault();\n\t\t\tsearchFilter.wrapAnnotation();\n\t\t});\n\n\t\t//показываем/скрываем специфические для табов элементы\n\t\t$(document).on('shown.bs.tab', '.b-catalog-filters-and-nav a[data-toggle=tab]', this.updateTabSpecificElements);\n\n\t\taddEventDelegate(document, 'click', \".focus-search-input\", () => {\n\t\t\tif (!tumGlobal.isMob()) {\n\t\t\t\tsearchWidgets.main.focus();\n\t\t\t} else {\n\t\t\t\timport(\"../searchMenu\").then(({tum_searchMenu}) => {\n\t\t\t\t\ttum_searchMenu.toggleMenu().then(() => tum_searchMenu.focusSearch());\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t},\n\tupdateTabSpecificElements: function(){\n\t\tlet tab = $('a[data-toggle=tab].active').attr(\"href\");\n\t\t$('[data-tab]').addClass('d-none');\n\t\t$(`[data-tab=\"${tab}\"]`).removeClass('d-none');\n\t},\n\t_search: function (isSort, page, text) {\n\t\tlet self = this;\n\n\t\tvar params = {\n\t\t\ttext: text != null && text != \"-1\" ? text : \"\",\n\t\t\ttype: this.options.type,\n\t\t\tpage: page,\n\t\t\tsort: this.options.sort,\n\t\t\tpageDirection: this.options.pageDirection,\n\t\t\tactiveTab: this.options.activeTab\n\t\t};\n\n\t\tfunction renderFirms(data){\n\t\t\tvar tabCont = '#firms';\n\n\t\t\tdata.items.bygoods = data.items.Type == \"bygoods\";\n\n\t\t\tvar templates = {\n\t\t\t\tgrid: 'firm-mini-list',\n\t\t\t\tmini: 'firm-mini-list',\n\t\t\t\trows: 'firm-mini-row-list'\n\t\t\t};\n\n\t\t\tvar viewMode = filter.options.viewMode;\n\n\t\t\tvar actualViewMode = viewMode == 'mini' ? 'grid' : viewMode;\n\n\t\t\tvar tmpl = getPrecompiledTemplate(templates[actualViewMode]);\n\t\t\tvar html = $(tmpl(data.items));\n\t\t\tinitTuPopover(html);\n\n\t\t\tif (!isSort) {\n\t\t\t\tif (self.options.pageDirection != \"down\") {\n\t\t\t\t\t$(tabCont + ' [data-view=' + actualViewMode + ']').prepend(html);\n\t\t\t\t} else {\n\t\t\t\t\t$(tabCont + ' [data-view=' + actualViewMode + ']').append(html);\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\t$(tabCont + ' [data-view=' + actualViewMode + ']').html(html);\n\t\t\t}\n\n\t\t\tif (data.items.filter.firmPage * data.items.filter.firmPageSize >= data.items.ProductsInfo.filteredKA) {\n\t\t\t\t$(tabCont + ' .btn-products.btn-show-more').addClass('d-none');\n\t\t\t} else {\n\t\t\t\t$(tabCont + ' .btn-products.btn-show-more').removeClass('d-none');\n\t\t\t}\n\t\t}\n\n\t\tajaxSend({ url: \"/Search/Search\", data: params }).then(data => {\n\t\t\tif (data.result) {\n\t\t\t\tswitch (self.options.activeTab) {\n\t\t\t\t\tcase \"firms\":\n\t\t\t\t\t\trenderFirms(data);\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tsearchFilter.wrapAnnotation();\n\t\t\t\t$(\"[data-toggle=popover]\").popover({\n\t\t\t\t\tsanitize: false\n\t\t\t\t});\n\t\t\t}\n\t\t\telse {\n\t\t\t\tshowAlert(data.msg || \"Произошла ошибка\", { type: \"danger\", delay: 10000 });\n\t\t\t}\n\t\t});\n\t},\n\tsearch: function (isSort, page, text) {\n\t\tlet templates = [\n\t\t\t'firm-mini-list', \n\t\t\t'firm-mini-row-list'\n\t\t];\n\t\tloadPrecompiledTemplates(templates).then(() => this._search(isSort, page, text));\n\t},\n\tgetsearchcount: function (type) {\n\n\t\tvar params = { text: this.options.text, type: type, page: this.options.page, sort: this.options.sort };\n\t\tajaxSend({ url: \"/Search/Search\", data: params }).then(data => {\n\t\t\tif (data.result) {\n\t\t\t\tvar showCount = data.items.SearchResults ? data.items.ResultCount : 0;\n\t\t\t\tswitch (type) {\n\t\t\t\t\tcase \"byOrganization\":\n\t\t\t\t\t\t$('.search-count-byorg').html(showCount)\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"byAddress\":\n\t\t\t\t\t\t$('.search-count-byaddress').html(showCount)\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"byContacts\":\n\t\t\t\t\t\t$('.search-count-bycontact').html(showCount)\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\tshowAlert(data.msg || \"Произошла ошибка\", { type: \"danger\", delay: 10000 });\n\t\t\t}\n\t\t});\n\t},\n\n\tupdateCollapseSummaryTitleVisible: function (isFirst) {\n\t\tvar elm = document.getElementById('collapseSummarySrcTitle');\n\t\tif (!elm) return false; \n\t\tvar $elm = $('.collapseSummarySrcTitleClass');\n\t\tvar maxCollapseHeight = parseInt($elm.attr('data-height'));\n\t\tvar $elmLink = $('.collapseSummarySrcTitleLink');\n\t\tvar sH = Math.ceil(parseFloat(elm.scrollHeight));\n\t\tvar iH = Math.ceil(parseFloat($('#collapseSummarySrcTitle').innerHeight()));\n\t\tvar isNoCollapse = !$elm.hasClass('collapse');\n\n\t\tif ((sH > iH) && (isFirst || !isNoCollapse)) {// Contains hidden content!\n\t\t\t$elmLink.removeClass('d-none');\n\t\t}\n\t\telse if ((isNoCollapse) || (sH == maxCollapseHeight) || sH == 0) {\n\t\t\t$elmLink.addClass('d-none');\n\t\t}\n\t}\n};\n\nexport { tumSearch };","/* global tumarket */\n\nimport * as $ from \"jquery\";\nimport \"readmore-js\";\nimport productsList from \"../search/productsList.js\";\nimport filterCont from \"../filter/filterCont.js\";\nimport searchFilter from \"../filter/filter.js\";\nimport { tumSearch } from \"../search/search.js\";\nimport { addEventDelegate } from \"../global/dom\";\n\nvar productSearch = {\n\toptions: {\n\t\tpage: 1,\n\t\tpageSize: 10,\n\t\tctuID: 0,\n\t\tpoints: [],\n\t\tctuCount: 0,\n\t\tisSearchPage:true\n\t},\n\tinit: function (options) {\n\t\tproductSearch.options = $.extend(productSearch.options, options);\n\t\taddEventDelegate(document, \"click\", \".b-nav-search a\", (element, e) => {\n\t\t\te.preventDefault();\n\t\t\tif (productSearch.options.type == \"bygoods\") {\n\t\t\t\tvar href = $(element).attr('href');\n\t\t\t\tif ($('.b-aside-itemShowFilterWrap').hasClass('d-none')) {\n\t\t\t\t\t$('.left-side-block').removeClass('d-none').addClass('fadeInLeft').removeClass('fadeOutLeft');\n\n\t\t\t\t\t$('.right-side-block').addClass('col-lg-9').addClass('col-md-8');\n\t\t\t\t\t$('.b-aside-itemToggleView').removeClass('fa-arrow-right').addClass('fa-angle-double-left').removeClass('d-none');\n\t\t\t\t}\n\t\t\t\tif (href != '#offers') {\n\t\t\t\t\tif (href == '#firms') {\n\t\t\t\t\t\t$('.view-toggler').removeClass(\"d-none\");\n\t\t\t\t\t}\n\t\t\t\t\tif (href == '#firmsonmap') {\n\t\t\t\t\t\t$('.view-toggler').addClass(\"d-none\");\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t$('.view-toggler').removeClass(\"d-none\");\n\t\t\t\t}\t\t\n\t\t\t}\n\t\t});\n\n\t\t$(document).on('click', '.tum-closeCats-mobShow', this.readmoreInit);\n\n\t\taddEventDelegate(document, 'document', 'focusin focusout', '.searchInput', function (element, event) {\n\t\t\tif (event.type === 'focusin') {\n\t\t\t\t$(element).closest('.input-group.tum-filter-search').addClass('focusin');\n\t\t\t} else if (event.type === 'focusout') {\n\t\t\t\t$(element).closest('.input-group.tum-filter-search').removeClass('focusin');\n\t\t\t}\n\t\t});\n\n\t\taddEventDelegate(document, 'input', '.searchInput', element => {\n\t\t\tif ($(element).val().length > 0) {\n\t\t\t\t$('.b-aside-searchClear', $(element).closest('.tum-filter-search')).removeClass('hide');\n\t\t\t} else {\n\t\t\t\t$('.b-aside-searchClear', $(element).closest('.tum-filter-search')).addClass('hide');\n\t\t\t}\n\t\t});\n\t\t\n\t\tproductSearch.readmoreInit();\n\t\t\n\t\tif (tumarket.category) {\n\t\t\tif (tumarket.category.filter.page > 1 && !tumarket.category.products.length) {\n\t\t\t\tsearchFilter.setURLParameter('page', 1);\n\t\t\t\tlocation.reload();\n\t\t\t}\n\n\t\t\tproductsList.init({\n\t\t\t\turl: '/categoryRequests/SearchProduct',\n\t\t\t\tcontainer: '.category-products-list',\n\t\t\t\tdataMapperCallback: (data) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tProducts: data?.ProductItems || [],\n\t\t\t\t\t\tProductsSecondary: data?.ProductItemsSecondary || []\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t\tgetUrlParamsCallback: (state, prepend) => {\n\t\t\t\t\tlet filter = filterCont.getFilter();\n\t\t\t\t\tfilter.page = prepend ? state.productsPage_up : state.productsPage;\n\t\t\t\t\treturn filter;\n\t\t\t\t},\n\t\t\t\tdataUpdateCallback: (state, data, prepend) => {\n\t\t\t\t\tif (state.productsPage > 1)\n\t\t\t\t\tsearchFilter.setURLParameter('page', prepend ? state.productsPage_up : state.productsPage);\n\t\t\t\t},\n\t\t\t\tproductsPage_up: tumarket.category.filter.page,\n\t\t\t\tproductsPage: tumarket.category.filter.page,\n\t\t\t\tproductsPageSize: tumarket.category.filter.pageSize,\n\t\t\t\ttotalProducts: tumarket.category.productCount_filtered,\n\t\t\t\tproducts: tumarket.category.products,\n\t\t\t\tproductsSecondary: [],\n\t\t\t\tbanners: tumarket.category.banners,\n\t\t\t\tminProductsLeftToShowBanner: tumarket.category.minProductsLeftToShowBanner,\n\t\t\t\tviewMode: tumarket.category.viewMode\n\t\t\t});\n\t\t}\n\t\telse if (tumarket.search) {\n\t\t\tif (tumarket.search.filter.page > 1 && !tumarket.search.products.length && !tumarket.search.productsSecondary.length) {\n\t\t\t\tsearchFilter.setURLParameter('page', 1);\n\t\t\t\tlocation.reload();\n\t\t\t}\n\n\t\t\tproductsList.init({\n\t\t\t\turl: '/Search/Search',\n\t\t\t\tcontainer: '.search-products-list',\n\t\t\t\tdataMapperCallback: (data) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tProducts: data?.items.ProductItems || [],\n\t\t\t\t\t\tProductsSecondary: data?.items.ProductItemsSecondary || []\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t\tgetUrlParamsCallback: (state, prepend) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tpage: prepend ? state.productsPage_up : state.productsPage,\n\t\t\t\t\t\ttype: tumSearch.options.type,\n\t\t\t\t\t\tsort: tumSearch.options.sort,\n\t\t\t\t\t\tpageDirection: tumSearch.options.pageDirection,\n\t\t\t\t\t\tactiveTab: \"offers\",\n\t\t\t\t\t\ttext: tumSearch.options.text\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tdataUpdateCallback: (state, data, prepend) => {\n\t\t\t\t\tif (state.productsPage > 1)\n\t\t\t\t\tsearchFilter.setURLParameter('page', prepend ? state.productsPage_up : state.productsPage);\n\t\t\t\t},\n\t\t\t\tproductsPage_up: tumarket.search.filter.page,\n\t\t\t\tproductsPage: tumarket.search.filter.page,\n\t\t\t\tproductsPageSize: tumarket.search.filter.pageSize,\n\t\t\t\ttotalProducts: tumarket.search.productCount_filtered,\n\t\t\t\tproducts: tumarket.search.products,\n\t\t\t\tproductsSecondary: tumarket.search.productsSecondary,\n\t\t\t\tbanners: tumarket.search.banners,\n\t\t\t\tctuCloud: tumarket.search.ctuCloud,\n\t\t\t\tminProductsLeftToShowBanner: tumarket.search.minProductsLeftToShowBanner,\n\t\t\t\tviewMode: tumarket.search.viewMode,\n\t\t\t\tadditional_items: tumarket.search._?.additional_items\n\t\t\t});\n\t\t}\n\t},\n\treadmoreInit: function () {\n\t\t$(\".tum-filter-closeCats-add\").readmore({\n\t\t\tmoreLink: ' Ещё',\n\t\t\tlessLink: ' Свернуть',\n\t\t\tspeed: 100,\n\t\t\tcollapsedHeight: 22\n\t\t});\n\t}\n};\n\nexport default productSearch;","import { setCookie } from \"../global/cookie\";\nimport { addEventDelegate } from \"../global/dom\";\n\naddEventDelegate(document, 'click', '.search-showAdditionalResults', () => {\n setCookie('tum_search_showAdditional', '1', 1);\n location.reload();\n});\n","/**\n * \n * @param {string} text \n * @param {number} length \n * @returns \n */\nfunction truncate(text, length) {\n if (text.length <= length) return text;\n return text.substring(0, length) + '…';\n}\n\nexport { truncate };","import { bootstrapAlert } from \"../global/alert\";\nimport { closeDialog, showAlert, showDialog } from \"../global/dialog\";\nimport { addEventDelegate, toggleClass } from \"../global/dom\";\nimport { ajaxSend } from \"../global/fetch\";\nimport { getPrecompiledTemplate, loadPrecompiledTemplates } from \"../global/templates\";\nimport { truncate } from \"../global/text\";\n\nfunction showError(txt) {\n let msg = document.querySelector('#asModal .underFieldMsg'),\n block = document.querySelector('#asModal .tum-error-block'),\n fieldset = document.querySelector('#asModal fieldset');\n\n msg.innerHTML = ' ' + txt;\n toggleClass(msg, 'errMsg', true);\n toggleClass(fieldset, 'error', true);\n toggleClass(block, 'hintBorder d-none', false);\n}\n\nfunction saveFirmNote(firmID, onSuccess) {\n let note = document.querySelector('#firm-comment').value.trim();\n if (note.length > 512) {\n showError(\"Превышена максимальная длина заметки\");\n document.querySelector('.modal-body textarea').focus();\n return;\n }\n\n var params = { firmID: firmID, comment: note };\n return ajaxSend({ url: '/FavoriteProducts/UpdateFirmComment', data: params }).then(data => {\n if (data.result) {\n closeDialog();\n bootstrapAlert(\"Сохранено\", { type: 'success' });\n if (onSuccess) onSuccess(note);\n } else {\n showAlert(data.msg || \"Возникли ошибки при выполнении операции!\", { type: 'danger' });\n }\n });\n}\n\nfunction editFirmNote(firmID, note, onSuccess) {\n let header =\n `Добавить заметку к организации в избранном\n `\n\n return loadPrecompiledTemplates(['firm-add-note']).then(() => {\n var tmpl = getPrecompiledTemplate('firm-add-note');\n var htmlOut = tmpl({ comment: note });\n\n showDialog({\n title: 'Добавить заметку к организации в избранном',\n content: htmlOut,\n header: header,\n submitButtonText: 'Сохранить',\n onSubmit: () => saveFirmNote(firmID, onSuccess)\n });\n });\n}\n\nfunction initFirmNotes(){\n addEventDelegate(document, 'click', '.tum-add-comment', (element, e) => {\n e.preventDefault();\n editFirmNote(element.getAttribute('data-kaid'), element.getAttribute('data-comment'), note => {\n element.querySelector('[data-firm-note]').innerHTML = truncate(note, 5);\n element.setAttribute('data-comment', note);\n });\n });\n\n addEventDelegate(document, 'click', '.tum-edit-comment .fa-pen', (element, e) => {\n e.stopPropagation();\n var btn = element.closest('.tum-edit-comment');\n editFirmNote(btn.getAttribute('data-kaid'), btn.getAttribute('data-comment'), note => {\n btn.querySelector('.tum-firm-comment').innerHTML = truncate(note, 5);\n btn.setAttribute('data-comment', note);\n });\n });\n\n addEventDelegate(document, 'keydown', '#asModal textarea.form-control', () => {\n toggleClass('#asModal fieldset', 'error', false);\n toggleClass('#asModal .tum-error-block', 'd-none', true);\n });\n}\n\nexport { initFirmNotes };","/* global tumarket */\n\nimport \"./layout.js\";\nimport * as $ from \"jquery\";\nimport as from \"../as/as.sys.js\";\nimport \"../as/controls/as.uploadHTML5.js\";\nimport searchFilter from \"../filter/filter.js\";\nimport productSearch from \"../ctu/productSearch.js\";\nimport firmOffers from \"../firm/offersSearch.js\";\nimport { reviews } from \"../firm/reviews.js\";\nimport rate from \"../firm/ratings.js\";\nimport min from \"../search/miniature.js\";\nimport previews from \"../previews/previewsEmbed.js\";\nimport filter from \"../filter/script.js\";\n\nimport \"../search/additionalResults.js\";\n\n//css\nimport \"../../css/modules/tu.m/catalog/filter.css\";\nimport \"../../css/modules/tu.m/catalog/search.css\";\nimport \"../../css/modules/firm/firm.css\";\nimport \"../../css/modules/product/editModal.css\";\nimport \"../../css/modules/tu.m/catalog/filterReadMore.css\";\nimport \"../../css/modules/firm/offers.css\";\nimport \"../../css/modules/ctuCloud.css\";\n\nimport { initEditMenu } from \"../editmenu.js\";\nimport { addEventDelegate } from \"../global/dom\";\nimport { initFirmNotes } from \"../firm/addNote.js\";\n\nwindow.addEventListener('load', () => {\n\tsearchFilter.init(tumarket.offers.filter);\n\n\tproductSearch.init({\n\t\tpage: tumarket.offers.filter.page,\n\t\tctuID: tumarket.offers.filter.ctuID,\n\t\tpageSize: tumarket.offers.filter.pageSize,\n\t\tproductCount: tumarket.offers.productCount,\n\t\tctuCount: tumarket.offers.ctuCount\n\t});\n\n\tfirmOffers.init({\n\t\tfirmName: $(\".temp-firmName\").html(),\n\t\tsAddName: $(\".temp-sAddName\").html(),\n\t\tfirmID: tumarket.offers.firmID,\n\t\tisCanEdit: tumarket.offers.isCanEdit,\n\t\tisCanEditTU: tumarket.offers.isCanEditTU,\n\t\taddNewTUHint: $(\".temp-addNewTUHint\").html(),\n\t\tisOneCat: tumarket.offers.isOneCat,\n\t\ttypeMiniTU: tumarket.offers.typeMiniTU,\n\t\tisOneKTUMode: tumarket.offers.isOneKTUMode,\n\t\tisEditMode: tumarket.offers.isEditMode,\n\t\tisTableView: tumarket.offers.isTableView,\n\t\tisCurrentFirmAgent: tumarket.offers.isCurrentFirmAgent,\n\t\taddress: tumarket.offers.address,\n\t\tisNeedDeliv: tumarket.offers.isNeedDeliv,\n\t\tisNeedCharact: tumarket.offers.isNeedCharact\n\t});\n\n\treviews.init({\n\t\tuserID: tumarket.offers.userID,\n\t\tcanAccessReview: tumarket.offers.canAccessReview,\n\t\tisAuthenticated: tumarket.isAuthenticated\n\t});\n\n\trate.init({\n\t\tisAuthenticated: tumarket.isAuthenticated,\n\t\tisRating: tumarket.offers.isRated,\n\t\tisFirmAgent: tumarket.offers.isFirmAgent,\n\t\tcanAccessReview: tumarket.offers.canAccessReview\n\t});\n\n\tmin.init({ IsAuth: tumarket.isAuthenticated });\n\n\tas.uploadHTML5.init();\n\n\t$(document).on('shown.bs.modal', \"#asModal\", () => {\n\t\tif ($(\".tum-editRightsDetails\").length > 0) {\n\t\t\t$(\".tum-editRightsDetails\").attr(\"href\", $(\".tum-editRightsDetails\").attr(\"href\").replace(\"{role}\", tumarket.isEmployee ? \"admin\" : \"client\").replace(\"{firmID}\", tumarket.offers.firmID));\n\t\t}\n\t});\n\n\tpreviews.init({\n\t\tcontainer: \"#previews\"\n\t});\n\n\t//временная фикса, возможно в будущем будет устранена, такая же на поиск Search\n\taddEventDelegate(document, 'click', '.b-product.card a', element => {\n\t\tif ($(element).attr('href').indexOf('/product') > -1 && $(element).attr('target') != '_blank') {\n\t\t\t$(element).attr('target', '_blank');\n\t\t}\n\t});\n\n\tfilter.init2();\n\tinitEditMenu();\n\tinitFirmNotes();\n});\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","__webpack_require__.amdO = {};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \"_\" + {\"27\":\"478d229d9257f7907963\",\"134\":\"47e7b990dcb9bd81063a\",\"246\":\"c2c246e485de027ead1b\",\"249\":\"616d4260aa1b45960a70\",\"626\":\"323857a5e71c751c0a07\",\"634\":\"44149a535041a661c063\",\"986\":\"21d54e7f04700fd0aba1\",\"1326\":\"26902ba300864e380183\",\"1396\":\"bec90d8ab55a9e1cfbfd\",\"1595\":\"8c4ac55f67fcd39772fd\",\"1915\":\"1d60e1c76c7a71868f36\",\"2280\":\"3f31b847e583c1514e6d\",\"2540\":\"d8433db34c17e0d3f4a7\",\"2667\":\"aa12ff698ecb229b55ff\",\"2902\":\"6dd9cad999ddd6757356\",\"3143\":\"a28f6936e6052f53ea07\",\"3200\":\"b01b98ad7e81e52a1dc2\",\"3391\":\"4fa56a38991b9170d46e\",\"3651\":\"d21f85192de175228094\",\"3956\":\"80610aea905ce40c481f\",\"3985\":\"209f8a8dadc548761594\",\"4298\":\"92475c1d6776628cdab5\",\"4376\":\"a95a7f17af8f19885ef1\",\"4400\":\"c8e22961c682122ab62c\",\"4464\":\"dbb21093a0ba072888a7\",\"4578\":\"a3f76e15c85aaac1fb57\",\"4886\":\"5cc381e0b7d34b449af4\",\"4949\":\"a43c47e84eaa2fb6a1d3\",\"5000\":\"fe83c0e92d71715a7f7a\",\"5098\":\"f6fe0853bd1a48e80967\",\"5154\":\"4d1cf02c8e4065ce13ea\",\"5328\":\"9ce9f3c5df71ae9a2d1b\",\"5458\":\"d0eee377570139bd4bd9\",\"5685\":\"4c8ff955b1a6c8e3a47a\",\"5702\":\"021f3023814329859d1b\",\"5772\":\"0428a30fb32738bd8021\",\"5823\":\"7ee49a9b06b1394efc96\",\"5851\":\"c5a584a902b86984bb65\",\"6152\":\"91c06d5e155559f4a987\",\"6301\":\"86eecd5d93a558c2e0b8\",\"6356\":\"6998b95322eaf323a2c5\",\"6495\":\"b3af535f238b645d3a48\",\"6582\":\"69bc5aef2343906834c1\",\"6840\":\"1066996bd5b8e9b8b9a0\",\"6995\":\"778a9715dc5a43e73db8\",\"7047\":\"554ad6220fc353bf9ef6\",\"7151\":\"5066f384a8029dc8ecf5\",\"7232\":\"09c8729a17c021d1e391\",\"7289\":\"e2695e176cc6549d9c08\",\"7522\":\"9a7c26ce9f3f94506a45\",\"7680\":\"5d82327323d7a5395409\",\"7825\":\"b48bef58346736ee181b\",\"8097\":\"8a79b38f09726fbe77d2\",\"8192\":\"e29c17499e33b68a8351\",\"8427\":\"40fd8a0f68b6b29c5663\",\"8822\":\"c86c063a5bc2755a0932\",\"8832\":\"a4b2f439f46ab78c03a6\",\"8992\":\"7cac949427bc114614f4\",\"9244\":\"eff138bdfb2eb12fa7ce\",\"9397\":\"25859cc3061f5bd3ae9c\",\"9476\":\"43f39d29be9704f6db9d\",\"9652\":\"2028e3f3147ce87a4127\",\"9806\":\"c622767386ca1a72ee44\",\"9914\":\"b1751fa0f76e035a7d10\",\"9960\":\"35ded77613b6e546fce0\"}[chunkId] + \".bundle.js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"../css/\" + chunkId + \"_\" + {\"249\":\"8c6245a5de8f256116ba\",\"1215\":\"11eab2195dbc51e5bf10\",\"2391\":\"8a9e4940e9e542ae4a51\",\"2540\":\"1f65aa97a795c0fcb210\",\"3391\":\"f22d42a27bd8933e5e8e\",\"3956\":\"478875b88a373fdd484f\",\"4376\":\"15eb138e5c4a34d40967\",\"4400\":\"f2fe3819cfa36448e454\",\"4845\":\"e37eb6e30b49beda56ae\",\"4886\":\"d51c62f70ab8f8018e65\",\"5628\":\"522cb8c5372c242c68b1\",\"5772\":\"f22d42a27bd8933e5e8e\",\"6301\":\"522cb8c5372c242c68b1\",\"7825\":\"478875b88a373fdd484f\",\"8832\":\"522cb8c5372c242c68b1\"}[chunkId] + \".css\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript && document.currentScript.tagName.toUpperCase() === 'SCRIPT')\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","if (typeof document === \"undefined\") return;\nvar createStylesheet = (chunkId, fullhref, oldTag, resolve, reject) => {\n\tvar linkTag = document.createElement(\"link\");\n\n\tlinkTag.rel = \"stylesheet\";\n\tlinkTag.type = \"text/css\";\n\tif (__webpack_require__.nc) {\n\t\tlinkTag.nonce = __webpack_require__.nc;\n\t}\n\tvar onLinkComplete = (event) => {\n\t\t// avoid mem leaks.\n\t\tlinkTag.onerror = linkTag.onload = null;\n\t\tif (event.type === 'load') {\n\t\t\tresolve();\n\t\t} else {\n\t\t\tvar errorType = event && event.type;\n\t\t\tvar realHref = event && event.target && event.target.href || fullhref;\n\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + errorType + \": \" + realHref + \")\");\n\t\t\terr.name = \"ChunkLoadError\";\n\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n\t\t\terr.type = errorType;\n\t\t\terr.request = realHref;\n\t\t\tif (linkTag.parentNode) linkTag.parentNode.removeChild(linkTag)\n\t\t\treject(err);\n\t\t}\n\t}\n\tlinkTag.onerror = linkTag.onload = onLinkComplete;\n\tlinkTag.href = fullhref;\n\n\n\tif (oldTag) {\n\t\toldTag.parentNode.insertBefore(linkTag, oldTag.nextSibling);\n\t} else {\n\t\tdocument.head.appendChild(linkTag);\n\t}\n\treturn linkTag;\n};\nvar findStylesheet = (href, fullhref) => {\n\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n\tfor(var i = 0; i < existingLinkTags.length; i++) {\n\t\tvar tag = existingLinkTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return tag;\n\t}\n\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n\tfor(var i = 0; i < existingStyleTags.length; i++) {\n\t\tvar tag = existingStyleTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\");\n\t\tif(dataHref === href || dataHref === fullhref) return tag;\n\t}\n};\nvar loadStylesheet = (chunkId) => {\n\treturn new Promise((resolve, reject) => {\n\t\tvar href = __webpack_require__.miniCssF(chunkId);\n\t\tvar fullhref = __webpack_require__.p + href;\n\t\tif(findStylesheet(href, fullhref)) return resolve();\n\t\tcreateStylesheet(chunkId, fullhref, null, resolve, reject);\n\t});\n}\n// object to store loaded CSS chunks\nvar installedCssChunks = {\n\t3133: 0,\n\t3944: 0,\n\t5667: 0,\n\t7534: 0,\n\t8756: 0\n};\n\n__webpack_require__.f.miniCss = (chunkId, promises) => {\n\tvar cssChunks = {\"249\":1,\"1215\":1,\"2391\":1,\"2540\":1,\"3391\":1,\"3956\":1,\"4376\":1,\"4400\":1,\"4845\":1,\"4886\":1,\"5628\":1,\"5772\":1,\"6301\":1,\"7825\":1,\"8832\":1};\n\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n\t\tpromises.push(installedCssChunks[chunkId] = loadStylesheet(chunkId).then(() => {\n\t\t\tinstalledCssChunks[chunkId] = 0;\n\t\t}, (e) => {\n\t\t\tdelete installedCssChunks[chunkId];\n\t\t\tthrow e;\n\t\t}));\n\t}\n};\n\n// no hmr\n\n// no prefetching\n\n// no preloaded","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t3133: 0,\n\t3944: 0,\n\t5667: 0,\n\t7534: 0,\n\t8756: 0,\n\t6616: 0,\n\t5211: 0,\n\t9869: 0,\n\t1263: 0,\n\t1741: 0,\n\t1779: 0,\n\t3326: 0,\n\t3973: 0,\n\t4310: 0,\n\t4995: 0,\n\t7871: 0,\n\t8925: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(!/^(1215|2391|3326|4845|5211|5628|6616|9869)$/.test(chunkId)) {\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunktumarket\"] = self[\"webpackChunktumarket\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [7462,9247,507,545,5285,6616,9349,2311,5643,5607,4720,8997,5211,5250,5550,8296,8926,50,5123,9869,3343,3326,2659], () => (__webpack_require__(1152)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","leafPrototypes","getProto","inProgress","dataWebpackPrefix","options","lang","code","defValue","res","el","this","resources","sys","cookieDomain","cookieVersion","isDebug","setSortable","cont","params","sortable","store","get","key","isSession","sessionStorage","localStorage","getItem","set","data","setItem","remove","removeItem","hfl_balance","profile","mainPage","changepassword","settings","siteout","metrics","crudEmptyText","crudCreateLinkTitle","crudFilterLinkTitle","crudFilterTitle","crudReplaceSelect","crudReplaceSelect2","crudNotSelected","crudRemoveConfirm","crud_initPagination_prev_text","crud_initPagination_next_text","crud_showEditDialog_edit","crud_showEditDialog_create","crud_showEditDialog_save","crud_showEditDialog_errorMessage","crud_showEditDialog_savedMessage","crud_showEditDialog_savedErrMessage","crud_removeItem_savedMessage","crud_removeItem_savedErrMessage","crud_copyItem_confirm","crud_copyItem_savedMessage","crud_copyItem_savedErrMessage","crud_getToolbarMakeup_ReplaceDialog","crud_getToolbarMakeup_ShowColSettingDialog","crud_getToolbarMakeup_ShowFilterSettingDialog","crud_getToolbarMakeup_HowExcelExport","crud_getToolbarMakeup_ShowPDFExport","crud_showReplaceDialog_selectColum","crud_showReplaceDialog_notSelectColum","crud_showReplaceDialog_replacementMessage","crud_showReplaceDialog_search","crud_showReplaceDialog_replace","crud_showReplaceDialog_alertSElectColumn","crud_showReplaceDialog_alertRes1","crud_showReplaceDialog_alertRes2","crud_showReplaceDialog_alertError","crud_showColSettings_showDialogSetting","crud_showFilterSettings_showDialogSetting","crud_getItems_editTitle","crud_getItems_deleteTitle","crud_getItems_copyTitle","crud_getItems_commentTitle","crud_getItems_dateStatTitle","crud_loadInlineEdit_emptyText","crud_showColSettings_title","crud_showFilterSettings_title","crud_getComments_CommentsTable1","crud_getComments_CommentsTable2","crud_getComments_CommentsTable3","crud_getComments_NoComments","crud_getComments_AddComment","crud_getComments_CommentAddLink","crud_getComments_CommentError","crud_getStat_Year","crud_getStat_Manth","crud_getStat_Date","crud_getStat_NoStat","crud_getStat_ErrorStat","crud_showReplaceDialog_confirm","crud_showReplaceDialog_confirm2","crud_showReplaceDialog_confirm3","crudEmptytext","export_exportTable_ErrorMsg","export_init_excelExp","export_init_pdfExp","formExampleText","formFieldIsRequiredText","formButtonText","form_save_showMessageSaved","form_save_showMessageErrorSaved","images_showImagesManager_btnText","images_showImagesManager_AlertError","images_saveImage_AlertSaved","images_selectImage_Del","images_selectImage_Close","images_appendPic_Add","images_showImagesManager_noImage","images_selectImage_save","metrics_showMetrics_NotReportCurrCateg","metrics_showMetricTypes_NotReport","metrics_showMetricTypes_showDialog","metrics_showMetricTypes_showDialogError","simpleForm_init_apply","simpleForm_init_send","simpleForm_saveSimpleForm_AlertRequiredText","simpleForm_saveSimpleForm_AlertRequiredEmail","simpleForm_saveSimpleForm_Saved","simpleForm_saveSimpleForm_SavedError","ark_init_showDialogEditProfile","ark_init_showDialogSaveProfile","ark_init_AddMenu","ark_init_showDialogSuccessSave","ark_init_showDialogErrorSave","ark_loadMenuProfileTable_Name","ark_loadMenuProfileTable_Link","ark_loadMenuProfileTable_Class","ark_editText_showDialogEdit","ark_editText_showDialogSave","ark_editText_AlertSuccess","ark_editText_AlertError","ark_loadMenuProfileTable_RemoveTitle","ark_text_init_title","ark_text_init_alt","ark_image_init_title","ark_image_init_alt","sys_setTypeProcessor_range1","sys_setTypeProcessor_range2","sys_setTypeProcessor_range3","sys_setTypeProcessor_range4","sys_setTypeProcessor_range5","sys_setTypeProcessor_range6","sys_setLocale_days","sys_setLocale_months","sysConfirm","sys_closeModal","as_countdown_days","as_countdown_hours","as_countdown_minutes","as_countdown_seconds","as_countdown_text","html5upload_uploadLabel","html5upload_btnText","html5upload_title","html5upload_load_succ","loadedTemplates","templateDependencies","isDev","location","href","indexOf","getFullDate","date","Date","toLocaleString","year","month","day","weekday","loadYmaps","window","ymaps","Promise","resolve","ymapsCallback","jsLink","conditionObject","isMob","isMobOrTablet","innerWidth","copyToClipboard","text","navigator","clipboard","writeText","getFormData","$form","unindexed_array","serializeArray","indexed_array","n","onClickOutside","item","callback","document","on","e","$target","target","is","has","length","highlight","$item","time","toArray","scrollUp","scrollTo","top","behavior","animate","scrollTop","offset","togglePageScroll","toggleClass","createGuid","createModal","id","then","template","append","getTimestamp","reject","url","result","timestamp","bindInput","selector","object","name","onChange","container","prop","val","focusInput","field","parseNumber","value","replace","Number","distinct","index","self","validTextXSS","txt","RegExp","test","addEventDelegate","parent","event","handler","parents","getElements","events","split","map","trim","includes","matchSelector","Array","isArray","join","closestSelector","_event","_parent","addEventListener","evt","Element","element","matches","apply","closest","Error","type","addEvent","elements","querySelectorAll","NodeList","hasClass","classList","contains","undefined","_class","toggle","show","hide","empty","elementsOrSelector","firstChild","removeChild","setProperty","property","setValue","triggerChangeEvent","dispatchEvent","Event","bubbles","htmlToDocumentFragment","html","createRange","createContextualFragment","htmlToDocumentFragmentCompat","createElement","innerHTML","content","appendHtml","querySelector","prependHtml","prepend","setHtml","replaceWithHtml","replaceWith","insertHtmlBefore","before","documentHeight","body","documentElement","Math","max","scrollHeight","offsetHeight","clientHeight","run","_el","dataStorage","_storage","WeakMap","put","obj","Map","ret","delete","size","smoothScrollTo","HTMLElement","getBoundingClientRect","left","setTimeout","find","flatMap","input","fieldLength","setSelectionRange","focus","preventScroll","uploadHTML5","crop","filesLeft","filesTotal","filesResult","currentFile","uploadCallback","cropperInitEventStarted","init","destroyCropper","preventDefault","showUploadDialog","fileSelected","upload","addClass","attr","cropper","zoom","rotate","clear","disable","enable","skipPhoto","btn","itemID","uploadLabel","uploadText","btnText","title","allowAnyFile","checkUploadLimit","isMultiple","cropAspectRatio","cropTitle","immediateUpload","cropURL","s","submitButtonText","setModalFooter","removeClass","click","checkUploadFile","file","i","fileExt","toLowerCase","fileType","fd","FormData","upl","getElementById","count","files","xhr","XMLHttpRequest","uploadProgress","uploadComplete","uploadFailed","uploadCanceled","open","send","lengthComputable","percentComplete","round","loaded","total","toString","style","width","destroy","JSON","parse","responseText","items","slice","aspectRatio","cropValuesArr","widths","pop","setCroppedImage","path","stringify","image","onload","dragMode","movable","rotatable","scalable","zoomable","zoomOnTouch","zoomOnWheel","viewMode","cropValues","x","y","height","ready","msg","currentPhotoNumber","each","complete","trigger","isEnd","w","parseInt","disableCropper","values","push","getData","unshift","_files","tumSearch","points","page","firmPage","sort","firstInitCall","isFirstLoad","pageDirection","activeTab","editLimitationsMsg","isMobSearch","productSearch","pageSize","ctuID","ctuCount","isSearchPage","readmoreInit","tumarket","category","filter","products","setURLParameter","reload","productsList","dataMapperCallback","Products","ProductItems","ProductsSecondary","ProductItemsSecondary","getUrlParamsCallback","state","filterCont","getFilter","productsPage_up","productsPage","dataUpdateCallback","productsPageSize","totalProducts","productCount_filtered","productsSecondary","banners","minProductsLeftToShowBanner","search","ctuCloud","additional_items","_","readmore","moreLink","lessLink","speed","collapsedHeight","truncate","substring","saveFirmNote","firmID","onSuccess","note","block","fieldset","showError","comment","editFirmNote","htmlOut","tmpl","header","onSubmit","offers","productCount","firmName","sAddName","isCanEdit","isCanEditTU","addNewTUHint","isOneCat","typeMiniTU","isOneKTUMode","isEditMode","isTableView","isCurrentFirmAgent","address","isNeedDeliv","isNeedCharact","reviews","userID","canAccessReview","isAuthenticated","isRating","isRated","isFirmAgent","IsAuth","isEmployee","init2","getAttribute","setAttribute","stopPropagation","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","exports","module","__webpack_modules__","call","m","amdO","O","chunkIds","fn","priority","notFulfilled","Infinity","fulfilled","j","Object","keys","every","splice","r","getter","__esModule","d","a","getPrototypeOf","t","mode","ns","create","def","current","getOwnPropertyNames","forEach","definition","o","defineProperty","enumerable","f","chunkId","all","reduce","promises","u","miniCssF","g","globalThis","Function","prototype","hasOwnProperty","l","done","script","needAttach","scripts","getElementsByTagName","charset","timeout","nc","src","onScriptComplete","prev","onerror","clearTimeout","doneFns","parentNode","bind","head","appendChild","Symbol","toStringTag","nmd","paths","children","scriptUrl","importScripts","currentScript","tagName","toUpperCase","p","loadStylesheet","fullhref","existingLinkTags","dataHref","tag","rel","existingStyleTags","findStylesheet","oldTag","linkTag","nonce","errorType","realHref","err","request","insertBefore","nextSibling","createStylesheet","installedCssChunks","miniCss","installedChunks","installedChunkData","promise","error","realSrc","message","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""}