{"version":3,"file":"preview_85a0965c9188360afe29.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/global.js","webpack://tumarket/./js/global/debug.js","webpack://tumarket/./js/global/readmore.js","webpack://tumarket/./js/as/controls/as.uploadHTML5.js","webpack://tumarket/./js/global/tinymce.js","webpack://tumarket/./js/previews/preview.js","webpack://tumarket/./js/pages/preview.js","webpack://tumarket/./js/editmenu.js","webpack://tumarket/./js/searchHistory.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/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 } 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\tlet fieldLength = field.val().length;\n\t\tlet type = field[0].type;\n\t\tfield[0].type = 'text';\n\t\tfield[0].setSelectionRange(fieldLength, fieldLength);\n\t\tfield[0].type = type;\n\t\tfield[0].focus({\n\t\t\tpreventScroll: true\n\t\t});\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 { ajaxSend } from \"./fetch\";\nimport { bootstrapAlert } from \"./alert\";\n\nlet isUnloading = false;\n\n/**\n * \n * @param {string} text \n */\nfunction logToConsoleDump(text){\n let element = document.createElement('p');\n element.innerHTML = text;\n let dump = document.getElementById('console-dump');\n dump?.appendChild(element);\n\n let logElement = document.getElementById('console-log');\n if (logElement) {\n logElement.innerHTML = dump.innerHTML;\n logElement.scrollTop = logElement.scrollHeight;\n } \n}\n\nlet disableLogError = false;\n\n/**\n * \n * @param {string} error \n */\nfunction logError(error) {\n if (disableLogError) return;\n\n ajaxSend({\n url: '/ArkStuff/jsError',\n data: { s: error }\n }).catch(() => {\n disableLogError = true;\n setTimeout(() => disableLogError = false, 5000);\n });\n}\n\n/**\n * \n * @param {string} browser \n * @param {number} ver \n * @returns {boolean}\n */\nfunction checkBrowser(browser, ver) {\n var isOldVersion = false;\n var item = browser.split(' ');\n if (item.length > 1 && Number(item[1]) < ver) {\n isOldVersion = true;\n }\n return isOldVersion;\n}\n\nlet exceptions = [\n //signalr\n \"Cannot send data if the connection is not in the 'Connected' State\",\n \"Failed to complete negotiation with the server: TypeError: NetworkError when attempting to fetch resource\",\n \"Server timeout elapsed without receiving a message from the server\",\n\n 'yandex.sovetnik'\n];\n\nlet dev_exceptions = [\n 'ym is not defined',\n 'Failed to register a ServiceWorker'\n]\n\n/**\n * \n * @param {Error} error \n * @param {boolean} [quiet=false] \n * @param {boolean} [sendError=true] \n * @param {string} [additional] \n * @returns \n */\nfunction handleError(error, quiet = false, sendError = true, additional = null) {\n if (isUnloading) return;\n if (exceptions.some(e => error.message?.includes(e) || false)) return;\n\n if ([\"dev.tu.market\", \"localhost\"].includes(location.hostname) && dev_exceptions.some(e => error.message?.includes(e))) return;\n\n var logData = {\n Error: error.message,\n Url: location.href,\n Name: error.name,\n Stack: error.stack\n }\n\n let errorString = Object.keys(logData).map(function(key){ return key + ': ' + logData[key] }).join('\\n') + ';\\n' + (additional || '');\n if (sendError) {\n logError(errorString);\n }\n\n logToConsoleDump(`${logData.Name}:\\n${logData.Error}\\n${logData.Stack}`);\n\n if (quiet) return false;\n\n let browser = (function sayswho() {\n var ua = navigator.userAgent, tem,\n M = ua.match(/(opera|chrome|safari|firefox|msie|trident(?=\\/))\\/?\\s*(\\d+)/i) || [];\n if (/trident/i.test(M[1])) {\n tem = /\\brv[ :]+(\\d+)/g.exec(ua) || [];\n return 'IE ' + (tem[1] || '');\n }\n if (M[1] === 'Chrome') {\n tem = ua.match(/\\b(OPR|Edge)\\/(\\d+)/);\n if (tem != null) return tem.slice(1).join(' ').replace('OPR', 'Opera');\n }\n M = M[2] ? [M[1], M[2]] : [navigator.appName, navigator.appVersion, '-?'];\n if ((tem = ua.match(/version\\/(\\d+)/i)) != null) M.splice(1, 1, tem[1]);\n return M.join(' ');\n })();\n\n var isOldVersion = false;\n var oldBrowserMsg = ' :( кажется, у Вас очень старая версия браузера. Мы не можем показать Вам все функции нашего Маркета ...Вам стоит обновить браузер.';\n if (browser.indexOf(\"Firefox\") > -1) {\n isOldVersion = checkBrowser(browser, 70);\n } else if (browser.indexOf(\"SamsungBrowser\") > -1) {\n isOldVersion = checkBrowser(browser, 70);\n } else if (browser.indexOf(\"Opera\") > -1 || browser.indexOf(\"OPR\") > -1) {\n isOldVersion = checkBrowser(browser, 70);\n } else if (browser.indexOf(\"Trident\") > -1) {\n isOldVersion = checkBrowser(browser, 11);\n } else if (browser.indexOf(\"Edge\") > -1) {\n isOldVersion = checkBrowser(browser, 18);\n } else if (browser.indexOf(\"Chrome\") > -1) {\n isOldVersion = checkBrowser(browser, 70);\n } else if (browser.indexOf(\"Safari\") > -1) {\n isOldVersion = checkBrowser(browser, 5);\n } \n if (!isOldVersion) {\n oldBrowserMsg = '';\n }\n\n if (error.message && error.message.indexOf(\"yaCounter51188528\") == -1 && error.message.indexOf(\"ResizeObserver\") == -1 && error.message.indexOf(\"chrome-extension://\") == -1) {\n bootstrapAlert(\"Упс.. При загрузке возникла ошибка. Мы уже знаем о ней, и в ближайшее время исправим. Попробуйте обновить страницу (F5), или вернуться Назад.\" + oldBrowserMsg);\n }\n\n return false;\n}\n\nfunction initErrorHandling() {\n window.addEventListener('error', error => handleError(error.error));\n window.addEventListener('unhandledrejection', e => { \n handleError(e.reason);\n });\n\n window.addEventListener('beforeunload', () => isUnloading = true);\n}\n\nexport { handleError, initErrorHandling };","import * as $ from \"jquery\";\nimport { initTuPopover } from \"./popover\";\n\nlet tumarket = window.tumarket;\n\n/** @type {Object.} */\nlet readmoreState = tumarket.readmoreState;\n\n/** @type {Object.) => void>} */\nlet callbacks = tumarket.callbacks;\n\n/**\n * \n * @param {JQuery} el \n * @param {boolean} [value]\n * @param {boolean} [skipCallback]\n */\nfunction toggleReadmore(el, value = null, skipCallback = null){\n let $wrap = $(el).closest(\".tum-readmore-wrap\");\n let $toggle = $(el);\n let $target = $(el).attr(\"data-target\");\n let $texts = null;\n let $otherToggles = null;\n let id = $wrap.attr('data-readmoreid');\n let groupContainer = $(el)[0].dataset.groupContainer;\n\n if (groupContainer && !skipCallback) {\n [...document.querySelector(groupContainer).querySelectorAll(\".tum-readmore-toggle\")]\n .filter(e => e != this)\n .forEach(e => toggleReadmore(e, false, true));\n }\n\n if ($target) {\n $texts = $($target);\n $otherToggles = $('.tum-readmore-toggle[data-target=\"' + $target + '\"]').not($(el));\n } else {\n $texts = $(\".tum-readmore-0, .tum-readmore-1, .tum-readmore-2, .tum-readmore-inline, .tum-readmore-custom\", $wrap);\n $otherToggles = $(\".tum-readmore-toggle\", $wrap).not($(el));\n }\n\n function swapToggleHtml($toggle, show){\n let showHtml = $toggle.attr('data-showhtmltarget') ? $($toggle.attr('data-showhtmltarget')).html() : $toggle.attr('data-showhtml');\n let hideHtml = $toggle.attr('data-hidehtmltarget') ? $($toggle.attr('data-hidehtmltarget')).html() : $toggle.attr('data-hidehtml');\n\n let html = show ? hideHtml : showHtml;\n if (html != \"_\") {\n $toggle.html(html);\n }\n }\n\n $texts.each(function(){\n let $text = $(this);\n let _wrap = $(this).closest(\".tum-readmore-wrap\");\n\n if (_wrap.length && !_wrap.is($wrap)) {\n return;\n }\n\n $text.toggleClass(\"show\", value);\n let show = $text.hasClass(\"show\");\n swapToggleHtml($toggle, show);\n $otherToggles.each(function(){\n let _toggleWrap = $(this).closest(\".tum-readmore-wrap\");\n if (_toggleWrap.is($wrap) || !_toggleWrap.length) swapToggleHtml($(this), show); \n });\n\n let ajaxCode = $text.attr('data-ajaxcode');\n let ajaxOptions = $text.attr('data-ajaxoptions');\n let ajaxLoaded = $text.data('ajaxloaded') == 1;\n if (ajaxCode && !ajaxLoaded) {\n import(\"./ajaxComponent\").then(({ renderComponent }) => {\n renderComponent(ajaxCode, ajaxOptions)\n .then(html => { \n $text.html(html)\n $text.data('ajaxloaded', 1);\n initTuPopover($text);\n document.body.dispatchEvent(new Event(\"tum.component.loaded\"));\n });\n });\n }\n\n if (id) {\n readmoreState[id] = show;\n }\n });\n\n let callback = $(el).attr('data-callback');\n if (!skipCallback && callback && callbacks && callbacks[callback]) {\n callbacks[callback](el);\n }\n}\n\nfunction initReadmore(){\n $(document).on(\"click\", \".tum-readmore-toggle\", function (e) {\n //если кликнуть на toggle, который находится внутри другого toggle, будет двойной вызов и в итоге ничего не отработает\n //но stopPropagation может вызвать проблемы в другом функционале, например сборе статистики при кликах\n //поэтому вместо этого явно проверяем, что ридмор уже обработан\n if (e.result?.readmore_processed) return;\n\n if (!this.matches('[data-dont-prevent-default]')) {\n e.preventDefault();\n }\n \n let readmoreState = null;\n if (this.dataset.readmoreState) {\n readmoreState = this.dataset.readmoreState == 'show';\n }\n\n toggleReadmore($(this), readmoreState);\n \n return { readmore_processed: true };\n });\n\n $(document).on('shown.bs.collapse', function(e){\n let id = $(e.target).attr('data-readmoreid');\n readmoreState[id] = true;\n });\n\n $(document).on('hidden.bs.collapse', function(e){\n let id = $(e.target).attr('data-readmoreid');\n readmoreState[id] = false;\n });\n}\n\n/**\n * простой ручной toggle для collapse без анимации. Можно использовать для сохранения состояния коллапсов при ререндере\n * @param {JQuery} element \n * @param {boolean} [value] \n * @param {JQuery} [container] \n */\nfunction toggleCollapse(element, value = null, container = null){\n let $collapseToggle = $(container || document).find(element);\n let $collapse = $($collapseToggle.attr('data-target'), container || document);\n\n let showIcons = [ '.fa-arrow-down', '.fa-chevron-down' ];\n let hideIcons = [ '.fa-arrow-up', '.fa-chevron-up' ];\n let $icon = $([showIcons, hideIcons].flatMap(e => e).join(', '), $collapseToggle);\n $icon.toggleClass(showIcons.join(', '), !value).toggleClass(hideIcons.join(', '), value);\n\n $collapseToggle.toggleClass('collapsed', !value);\n $collapse.toggleClass('show', value);\n\n let id = $collapse.attr('data-readmoreid');\n if (id && value !== null) readmoreState[id] = value;\n}\n\n/**\n * \n * @param {JQuery} container \n */\nfunction restoreReadmoreState(container) {\n for (let id in readmoreState){\n let $readmoreToggle = $(`.tum-readmore-wrap[data-readmoreid=${id}] .tum-readmore-toggle`, container).first();\n if ($readmoreToggle.length)\ttoggleReadmore($readmoreToggle, readmoreState[id]);\n\n let $collapse = $(`[data-toggle=\"collapse\"][data-readmoreid=\"${id}\"]`, container);\n if ($collapse.length) toggleCollapse($collapse, readmoreState[id], container);\n }\n}\n\n/**\n * \n * @param {string} id \n * @param {boolean} [value] \n * @returns \n */\nfunction toggleReadmoreById(id, value = null) {\n let $element = $(`[data-readmoreid=\"${id}\"]`);\n if ($element.hasClass('tum-readmore-wrap')) {\n let $toggle = $('.tum-readmore-toggle', $element).first();\n toggleReadmore($toggle, value);\n \n return;\n }\n\n if ($element.is('[data-toggle=collapse]')) {\n toggleCollapse($element, value);\n }\n}\n\nwindow.toggleReadmore = toggleReadmore;\n\nexport { initReadmore, toggleReadmore, restoreReadmoreState, toggleReadmoreById };","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\";\nimport * as tinyMCE from \"tinymce\";\nimport \"tinymce-i18n/langs/ru.js\";\nimport \"tinymce/themes/modern\";\nimport \"tinymce/plugins/advlist\";\nimport \"tinymce/plugins/autolink\";\nimport \"tinymce/plugins/lists\";\nimport \"tinymce/plugins/link\";\nimport \"tinymce/plugins/image\";\nimport \"tinymce/plugins/charmap\";\nimport \"tinymce/plugins/print\";\nimport \"tinymce/plugins/preview\";\nimport \"tinymce/plugins/anchor\";\nimport \"tinymce/plugins/searchreplace\";\nimport \"tinymce/plugins/visualblocks\";\nimport \"tinymce/plugins/code\";\nimport \"tinymce/plugins/fullscreen\";\nimport \"tinymce/plugins/insertdatetime\";\nimport \"tinymce/plugins/media\";\nimport \"tinymce/plugins/table\";\nimport \"tinymce/plugins/colorpicker\";\nimport \"tinymce/plugins/paste\";\nimport \"tinymce/plugins/textcolor\";\nimport \"tinymce/plugins/emoticons\";\nimport \"tinymce/plugins/hr\";\nimport \"tinymce/plugins/pagebreak\";\nimport \"tinymce/skins/lightgray/skin.min.css\";\nimport \"tinymce/skins/lightgray/content.min.css\";\nimport \"../../css/tinyMCE-custom.css\";\n\nfunction initTinyMCE({container, content, setup_callback, image_upload_url = '/home/uploadimagetiny'}) {\n tinyMCE.init({\n valid_elements: '*[*]',\n mode: \"specific_textareas\",\n editor_selector: container,\n encoding: \"xml\",\n relative_urls: false,\n statusbar: true,\n branding: false,\n autofocus: true,\n draggable_modal: false, //отключение передвижение модалки. не работает\n height: 250,\n menu: {\n edit: { title: 'Edit', items: 'undo redo | cut copy paste pastetext | selectall | searchreplace' },\n view: { title: 'View', items: 'visualaid visualchars visualblocks preview fullscreen' },\n insert: { title: 'Insert', items: 'image link media template codesample inserttable | charmap emoticons | pagebreak nonbreaking anchor toc insertdatetime' },\n format: { title: 'Format', items: 'bold italic underline strikethrough superscript subscript codeformat | removeformat' },\n table: { title: 'Table', items: 'inserttable tableprops deletetable row column cell' }\n },\n toolbar: [\n \"hr undo redo | insert | styleselect | bold italic | fontselect fontsizeselect | forecolor backcolor | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent\",\n \"| link image media | emoticons | code | codemirror | print | border_insert br_insert\",\n \"mybutton | fullscreen\"\n ],\n menubar: 'edit insert view format table',\n contextmenu: \"cut copy paste | link image inserttable | cell row column deletetable\",\n language: 'ru',\n plugins: [\n 'advlist autolink lists link image charmap print preview anchor',\n 'searchreplace visualblocks code fullscreen',\n 'insertdatetime media table colorpicker paste code',\n 'textcolor',\n 'emoticons',\n 'hr',\n 'pagebreak',\n ],\n //toolbar1: 'hr undo redo | insert | styleselect | bold italic | fontselect fontsizeselect | forecolor backcolor | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image | emoticons | code',\n //toolbar2:'fullscreen | mybutton | print',\n automatic_uploads: true,\n code_dialog_width: window.innerWidth * 0.8,\n code_dialog_height: window.innerHeight * 0.8,\n images_upload_url: image_upload_url,\n file_picker_types: 'image',\n file_picker_callback: function (cb) {\n var input = document.createElement('input');\n input.setAttribute('type', 'file');\n input.setAttribute('accept', 'image');\n input.onchange = function () {\n var file = this.files[0];\n var reader = new FileReader();\n reader.readAsDataURL(file);\n reader.onload = function () {\n var id = 'blobid' + (new Date()).getTime();\n var blobCache = tinyMCE.activeEditor.editorUpload.blobCache;\n\n if (typeof reader.result !== 'string') {\n return;\n }\n \n var base64 = reader.result.split(',')[1];\n var blobInfo = blobCache.create(id, file, base64);\n blobCache.add(blobInfo);\n\n cb(blobInfo.blobUri(), { title: file.name });\n };\n //reader.readAsDataURL(file);\n };\n input.click();\n },\n style_formats: [\n {\n title: 'Обтекание картинки',\n selector: 'img',\n classes: 'img-target',\n styles: {\n 'display': 'initial'\n }\n },\n { title: 'H1', block: 'h1', classes: 'heading' }\n ],\n setup: function (editor) {\n editor.on('init', function (e) {\n editor.setContent(content);\n $('#' + e.target.id + '_ifr').removeAttr('title');\n });\n \n editor.on('FullscreenStateChanged', function () {\n if ($('.mce-i-link').closest('.mce-toolbar').is(':visible')) {\n if ($('#mytoolbar').is(':visible')) {\n $('#mytoolbar').addClass('d-none');\n $('.mce-tinymce .mce-i-preview').closest('.mce-toolbar').css('display', 'block');\n } else {\n $('.mce-tinymce .mce-i-preview').closest('.mce-toolbar').css('display', 'none');\n $('#mytoolbar').removeClass('d-none');\n }\n } else {\n $('#mytoolbar').addClass('d-none');\n }\n });\n editor.addButton('border_insert', {\n icon: \"mce-ico mce-i-borderwidth\",\n title: \"рамка\",\n //text: 'рамка',\n onclick: function () {\n var text_selected = editor.selection.getContent();\n var text_modified = '
' + text_selected + '
';\n editor.selection.setContent(text_modified);\n }\n });\n editor.addButton('br_insert', {\n icon: false,\n title: \"новая строка\",\n text: '
',\n onclick: function () {\n editor.insertContent('
');\n }\n });\n editor.addButton('mybutton', {\n icon: \"mce-ico mce-i-preview\",\n text: 'панель редактирования',\n onclick: function () {\n var toolbar = $(editor.editorContainer).find(\".mce-container.mce-menubar.mce-toolbar.mce-first\");\n if ($(toolbar).hasClass(\"active\")) {\n $(editor.editorContainer).find(\".mce-container.mce-menubar.mce-toolbar.mce-first\").removeClass(\"active\").hide();\n $(editor.editorContainer).find(\".mce-toolbar.mce-stack-layout-item.mce-first\").removeClass(\"active\").hide();\n $(editor.editorContainer).find(\".mce-toolbar.mce-stack-layout-item:not(.mce-last)\").removeClass(\"active\").hide();\n if (this.$el != undefined) {\n $(this.$el.context).addClass(\"mce-active tum-dark-bg-red\");\n $('button span', this.$el.context).toggleClass('text-white');\n $('i', this.$el.context).toggleClass('fa-eye-slash mce-i-preview');\n } else {\n $('.mce-i-link').closest('.mce-toolbar').css('display', 'none');\n $('.mce-tinymce .mce-i-preview').closest('.mce-btn').addClass(\"mce-active tum-dark-bg-red\");\n $($('.mce-tinymce .mce-i-preview').closest('.mce-btn').find('button')).find('span').toggleClass('text-white');\n $('i', $('.mce-tinymce .mce-i-preview').closest('.mce-btn')).toggleClass('fa-eye-slash mce-i-preview');\n }\n }\n else {\n $(editor.editorContainer).find(\".mce-container.mce-menubar.mce-toolbar.mce-first\").addClass(\"active\").show();\n $(editor.editorContainer).find(\".mce-toolbar.mce-stack-layout-item.mce-first\").addClass(\"active\").show();\n $(editor.editorContainer).find(\".mce-toolbar.mce-stack-layout-item:not(.mce-last)\").addClass(\"active\").show();\n if (this.$el != undefined) {\n $(this.$el.context).removeClass(\"mce-active tum-dark-bg-red\");\n $('button span', this.$el.context).toggleClass('text-white');\n $('i', this.$el.context).toggleClass('fa-eye-slash mce-i-preview');\n if (!$('.mce-i-fullscreen').closest('.mce-btn').hasClass('mce-active')) {\n $('#mytoolbar').removeClass('d-none');\n $('.mce-tinymce .mce-i-preview').closest('.mce-toolbar').css('display', 'none');\n }\n } else {\n $('#mytoolbar').toggleClass('d-none');\n $('.mce-tinymce .mce-i-preview').closest('.mce-toolbar').css('display', 'none');\n \n $('.mce-tinymce .mce-i-preview').closest('.mce-btn').removeClass(\"mce-active tum-dark-bg-red\");\n $($('.mce-tinymce .mce-i-preview').closest('.mce-btn').find('button')).find('span').toggleClass('text-white');\n $('i', $('.mce-tinymce .mce-i-preview').closest('.mce-btn')).toggleClass('fa-eye-slash mce-i-preview');\n }\n }\n }\n });\n\n if (setup_callback) setup_callback(editor);\n },\n init_instance_callback: function (editor) {\n \n $(editor.editorContainer).find(\".mce-container.mce-menubar.mce-toolbar.mce-first\").addClass(\"active\");\n $(editor.editorContainer).find(\".mce-toolbar.mce-stack-layout-item.mce-first\").addClass(\"active\");\n $(editor.editorContainer).find(\".mce-toolbar.mce-stack-layout-item:not(.mce-last)\").addClass(\"active\");\n setTimeout(\n editor.buttons.mybutton.onclick(),\n 100);\n },\n });\n}\n\nlet get = tinyMCE.get;\nexport { initTinyMCE, get as getTinyMCE };","import * as $ from \"jquery\";\nimport \"jquery-ui\";\nimport \"jquery-ui/ui/widgets/autocomplete.js\";\nimport as from \"../as/as.sys.js\";\nimport { ajaxSend } from \"../global/fetch\";\nimport { getUrlParameter } from \"../global/url\";\nimport { getCookie, setCookie } from \"../global/cookie\";\nimport tumGlobal from \"../global.js\";\nimport { closeDialog, showDialog, showAlert } from \"../global/dialog\";\nimport \"readmore-js\";\nimport { getTinyMCE, initTinyMCE } from \"../global/tinymce.js\";\nimport { getPrecompiledTemplate, loadPrecompiledTemplates } from \"../global/templates\";\nimport { addEventDelegate } from \"../global/dom\";\n\nimport \"jquery-ui/dist/themes/base/jquery-ui.min.css\";\n\nvar preview = {\n\toptions: {\n\t\tpreviewID: 0,\n\t\turl: {\n\t\t\tsavePreview: '/preview/savePreview',\n\t\t\tgetFirms: '/preview/getfirms',\n\t\t\tgetProducts: '/preview/getproducts',\n\t\t\tgetCategories: \"/firmRequests/getcategories\",\n\t\t\tuploadVideo: '/preview/uploadvideo',\n\t\t\tdeletePreview: '/preview/preview_remove',\n\t\t\tisNameAvailable: '/preview/isnameavailable',\n\t\t\tgetComments: '/preview/getcomments',\n\t\t\tsaveComment: '/preview/savecomment',\n\t\t\tgetAttachmentInfo: '/preview/GetAttachmentInfo',\n\t\t\tupdateComment: '/preview/updateComment',\n\t\t\tdeleteComment: '/preview/deleteComment',\n\t\t\tgetNextPreview: '/preview/getNextPreview'\n\t\t},\n\t\tcookieKey: 'isEditView',\n\t\tuploadRequest: null,\n\t\tisAuthorized: false,\n\t\tisEmployee: false,\n\t\tisAgent: false,\n\t\tisEditMode: false,\n\t\tnextPreviewIDs: \"\",\n\t\ttinyMceInitialized: false\n\t},\n\tlockNextPreview: false,\n\tnextPreviewIDs: [],\n\tinit: function (options) {\n\t\tpreview.options = $.extend(preview.options, options);\n\n\t\tpreview.nextPreviewIDs = preview.options.nextPreviewIDs.split(\",\");\n\n\t\tpreview.initCallbacks();\n\n\t\tsetTimeout(function () {\n\t\t\tif ($('.isEditView').length > 0) {\n\t\t\t\tpreview.isEditMode();\n\t\t\t}\n\t\t}, 100);\n\n\t\tpreview.initReadmore();\n\n\t\t$(\".tum-comments-more\")[0]?.click();\n\n\t\taddEventDelegate(document, 'click', '.tum-preview-video-pickFile', element => {\n\t\t\tif ($(element).hasClass('show-info-text') && $(element).hasClass('btn-opacity')) {\n\t\t\t\t$('.tum-info-text').removeClass('d-none');\n\t\t\t\t$(element).removeClass('show-info-text');\n\t\t\t}\n\t\t});\n\n\t\tif (preview.options.isEditMode) {\n\n\t\t\tvar firmID = getUrlParameter(\"firmid\") || 0;\n\t\t\tvar productID = getUrlParameter(\"productid\") || 0;\n\t\t\tvar ctuID = getUrlParameter(\"ctuid\") || 0;\n\n\t\t\tvar uploaderInitTask = Promise.resolve();\n\n\t\t\tif ($(\".tum-preview-video-input\").length > 0) {\n\t\t\t\tuploaderInitTask = preview.initUploader();\n\t\t\t}\n\n\t\t\tuploaderInitTask.then(() => {\n\t\t\t\tpreview.fillAttachments(firmID, productID, ctuID);\n\n\t\t\t\tpreview.initAutocomplete();\n\t\t\t\tpreview.initEditor();\n\t\t\t});\n\t\t}\n\t\telse {\n\t\t\tpreview.initPagination();\n\t\t}\n\t},\n\tinitPagination: function () {\n\t\t$(document).on(\"scroll\", function () {\n\t\t\tif ($(window).scrollTop() + $(window).height() >= $(document).height() - 60) { // \"- 60\" это фикс для андроида, число с потолка\n\t\t\t\tpreview.getNextPreview();\n\t\t\t}\n\t\t});\n\t},\n\tinitUploader: function () {\n\t\treturn import(\"plupload\").then(modules => {\n\t\t\tlet plupload = modules.default;\n\n\t\t\tpreview.uploader = new plupload.Uploader({\n\t\t\t\truntimes: 'html5,html4',\n\t\t\t\tchunk_size: '25mb',\n\t\t\t\tunique_names: true,\n\t\t\t\tbrowse_button: document.querySelector('.tum-preview-video-pickFile'), // you can pass in id...\n\t\t\t\tcontainer: document.querySelector('.tum-preview-video-uploadCont'), // ... or DOM Element itself\n\t\t\t\tmax_retries: 10,\n\t\t\t\turl: preview.options.url.uploadVideo,\n\n\t\t\t\tmultipart_params: {},\n\n\t\t\t\tfilters: {\n\t\t\t\t\tmax_file_size: '2048mb',\n\t\t\t\t\tmime_types: [\n\t\t\t\t\t\t{ title: \"Video files\", extensions: \"3gp,mp4,mpeg,mpg,mov,webm,wmv,flv,avi\" }\n\t\t\t\t\t]\n\t\t\t\t},\n\n\t\t\t\t// Flash settings\n\t\t\t\tflash_swf_url: '/js/plupload-2.3.6/js/Moxie.swf',\n\n\t\t\t\t// Silverlight settings\n\t\t\t\tsilverlight_xap_url: '/js/plupload-2.3.6/js/Moxie.xap',\n\n\n\t\t\t\tinit: {\n\t\t\t\t\tPostInit: function () {\n\t\t\t\t\t\tpreview.updateButtons();\n\t\t\t\t\t},\n\n\t\t\t\t\tFilesAdded: function (up, files) {\n\t\t\t\t\t\tplupload.each(files, function (file) {\n\t\t\t\t\t\t\tdocument.querySelector('.tum-preview-video-fileInfo').innerHTML = '
' + file.name + ' (' + plupload.formatSize(file.size) + ')
';\n\t\t\t\t\t\t\tpreview.uploader.start();\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t});\n\t\t\t\t\t},\n\n\t\t\t\t\tUploadProgress: function (up, file) {\n\t\t\t\t\t\t$(\".tum-preview-video-progress\").removeClass(\"d-none\");\n\t\t\t\t\t\t$(\".tum-preview-video-cancel\").removeClass(\"d-none\");\n\t\t\t\t\t\t$(\".tum-preview-video-progressBar\").css(\"width\", file.percent + '%');\n\t\t\t\t\t\t$(\".tum-preview-video-progressValue\").html(file.percent + '%');\n\t\t\t\t\t},\n\n\t\t\t\t\tFileUploaded: function (up, file, result) {\n\t\t\t\t\t\tvar data = JSON.parse(result.response);\n\t\t\t\t\t\tif (data.result) {\n\t\t\t\t\t\t\tvar url = data.files[0].url;\n\t\t\t\t\t\t\t$(\".tum-preview-video-progress\").addClass(\"d-none\");\n\t\t\t\t\t\t\t$(\".tum-preview-video-cancel\").addClass(\"d-none\");\n\t\t\t\t\t\t\t$(\".tum-preview-videoCont\").html('');\n\t\t\t\t\t\t\tif (preview.options.previewID > 0) {\n\t\t\t\t\t\t\t\t$(\".tum-preview-notSaved-video, .tum-preview-notSaved-general\").removeClass(\"d-none\");\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tpreview.updateButtons();\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tshowAlert(\"Не удалось прикрепить файлы\", { type: \"danger\" });\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\n\t\t\t\t\tError: function (up, err) {\n\t\t\t\t\t\tshowAlert(err.message, { type: \"danger\" });\n\t\t\t\t\t},\n\n\t\t\t\t\tBeforeUpload: function (up, file) {\n\t\t\t\t\t\tvar params = preview.uploader.settings.multipart_params;\n\t\t\t\t\t\tparams.uniquename = Math.floor(Math.random() * 100000000).toString() + \"_\" + file.name;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tpreview.uploader.init();\n\t\t});\n\t},\n\tinitEditor: function () {\n\t\tif ($(\"#tum-preview-content\").length) {\n\t\t\tinitTinyMCE({\n\t\t\t\tcontainer: 'tum-preview-content',\n\t\t\t\tcontent: $(\".tum-preview-currentContent\").html(),\n\t\t\t\timage_upload_url: '/home/uploadimagetiny?type=product',\n\t\t\t\tsetup_callback: editor => {\n\t\t\t\t\teditor.on('change', function () {\n\t\t\t\t\t\tpreview.updateButtons();\n\t\t\t\t\t\tif (preview.options.previewID > 0) {\n\t\t\t\t\t\t\t$(\".tum-preview-notSaved-text, .tum-preview-notSaved-general\").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});\n\t\t}\n\t},\n\tinitAutocomplete: function () {\n\t\t$(\".tum-preview-firmInput\").autocomplete({\n\t\t\tdelay: 500,\n\t\t\t//source: preview.options.url.getFirms,\n\t\t\tsource: function (request, response) {\n\t\t\t\t$(\".statusSearchKA\").text(\"Идет поиск...\");\n\t\t\t\tajaxSend({\n\t\t\t\t\turl: preview.options.url.getFirms,\n\t\t\t\t\tdata: { term: request.term },\n\t\t\t\t}).then(data => {\n\t\t\t\t\tif (data.length == 25) {\n\t\t\t\t\t\tdata.push({ value: 0, label: \"***есть еще....начните ввод\" });\n\t\t\t\t\t}\n\n\t\t\t\t\tvar list = [];\n\t\t\t\t\tfor (var i = 0; i < data.length; i++) {\n\t\t\t\t\t\tvar item = data[i];\n\t\t\t\t\t\tif (item) {\n\t\t\t\t\t\t\tlist.push({\n\t\t\t\t\t\t\t\tlabel: `${item.label} (${item.value})`,\n\t\t\t\t\t\t\t\tdata: item\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\tresponse(list);\n\t\t\t\t\tif (list.length == 0) {\n\t\t\t\t\t\t$(\".statusSearchKA\").text(\"Не удалось найти.\");\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$(\".statusSearchKA\").text('');\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\t\t\tselect: function (event, ui) {\n\t\t\t\tif (ui.item.data.value > 0) {\n\t\t\t\t\tpreview.attachFirm(ui.item.data.value, ui.item.data.label)\n\n\t\t\t\t\tif (preview.options.previewID > 0) {\n\t\t\t\t\t\t$(\".tum-preview-notSaved-firm, .tum-preview-notSaved-general\").removeClass(\"d-none\");\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\t$(\".tum-preview-firmInput\").attr(\"data-id\", 0);\n\t\t\t\t\t$(\".tum-preview-firmInput\").val(\"\");\n\t\t\t\t}\n\t\t\t\tpreview.updateButtons();\n\t\t\t\treturn false;\n\t\t\t},\n\t\t\tfocus: function (event, ui) {\n\t\t\t\t$(\".tum-preview-firmInput\").val(ui.item.data.label);\n\t\t\t\treturn false;\n\t\t\t}\n\t\t});\n\n\t\t$(\".tum-preview-ctuInput\").autocomplete({\n\t\t\tdelay: 500,\n\t\t\tsource: function (request, response) {\n\t\t\t\t$(\".statusSearchCTU\").text(\"Идет поиск...\");\n\t\t\t\tajaxSend({\n\t\t\t\t\turl: preview.options.url.getCategories,\n\t\t\t\t\tdata: { term: request.term, firmID: $(\".tum-preview-firmInput\").attr(\"data-id\") },\n\t\t\t\t}).then(data => {\n\t\t\t\t\tif (data.length == 25) {\n\t\t\t\t\t\tdata.push({ value: 0, label: \"***есть еще....начните ввод\" });\n\t\t\t\t\t}\n\n\t\t\t\t\tvar list = [];\n\t\t\t\t\tvar attachedIDs = $('.tum-preview-attachedCtuList li').map(function () { return +$(this).attr('data-id') }).get();\n\t\t\t\t\tfor (var i = 0; i < data.length; i++) {\n\t\t\t\t\t\tvar item = data[i];\n\t\t\t\t\t\tif (item && $.inArray(item.value, attachedIDs) == -1) {\n\t\t\t\t\t\t\tlist.push({\n\t\t\t\t\t\t\t\tlabel: item.label + \" | Привязать\",\n\t\t\t\t\t\t\t\tdata: item\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\tresponse(list);\n\t\t\t\t\tif (list.length == 0) {\n\t\t\t\t\t\t$(\".statusSearchCTU\").text(\"Не удалось найти.\");\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$(\".statusSearchCTU\").text('');\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\t\t\tselect: function (event, ui) {\n\t\t\t\tpreview.attachCtu(ui.item.data.value, ui.item.data.label);\n\t\t\t\t$(\".tum-preview-ctuInput\").val(\"\");\n\t\t\t\treturn false;\n\t\t\t},\n\t\t\tfocus: function (event, ui) {\n\t\t\t\t$(\".tum-preview-ctuInput\").val(ui.item.data.label);\n\t\t\t\treturn false;\n\t\t\t}\n\t\t});\n\n\t\t$(\".tum-preview-tuInput\").autocomplete({\n\t\t\tdelay: 500,\n\t\t\tsource: function (request, response) {\n\t\t\t\t$(\".statusSearchTU\").text(\"Идет поиск...\");\n\t\t\t\tajaxSend({\n\t\t\t\t\turl: preview.options.url.getProducts,\n\t\t\t\t\tdata: { term: request.term, firmID: $(\".tum-preview-firmInput\").attr(\"data-id\") },\n\t\t\t\t}).then(data => {\n\t\t\t\t\tif (data.length == 25) {\n\t\t\t\t\t\tdata.push({ value: 0, label: \"***есть еще....начните ввод\" });\n\t\t\t\t\t}\n\n\t\t\t\t\tvar list = [];\n\t\t\t\t\tvar attachedIDs = $('.tum-preview-attachedTuList li').map(function () { return +$(this).attr('data-id') }).get();\n\t\t\t\t\tfor (var i = 0; i < data.length; i++) {\n\t\t\t\t\t\tvar item = data[i];\n\t\t\t\t\t\tif (item && $.inArray(item.value, attachedIDs) == -1) {\n\t\t\t\t\t\t\tlist.push({\n\t\t\t\t\t\t\t\tlabel: item.label + \" | Привязать\",\n\t\t\t\t\t\t\t\tdata: item\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\tresponse(list);\n\t\t\t\t\tif (list.length == 0) {\n\t\t\t\t\t\t$(\".statusSearchTU\").text(\"Не удалось найти.\");\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$(\".statusSearchTU\").text('');\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\t\t\tselect: function (event, ui) {\n\t\t\t\tpreview.attachTu(ui.item.data.value, ui.item.data.label);\n\t\t\t\t$(\".tum-preview-tuInput\").val(\"\");\n\t\t\t\treturn false;\n\t\t\t},\n\t\t\tfocus: function (event, ui) {\n\t\t\t\t$(\".tum-preview-tuInput\").val(ui.item.data.label);\n\t\t\t\treturn false;\n\t\t\t}\n\t\t});\n\t},\n\tinitReadmore: function () {\n\t\tsetTimeout(function () {\n\t\t\t$(\".tum-preview-rdm\").removeClass('hide');\n\t\t\t$(\".tum-preview-rdm\").readmore({\n\t\t\t\tmoreLink: '',\n\t\t\t\tlessLink: '',\n\t\t\t\tspeed: 400,\n\t\t\t\tcollapsedHeight: 18\n\t\t\t});\n\t\t}, 200);\n\n\t\t$(\".tum-preview-rdm\").css(\"display\", \"inline-block\");\n\n\t\taddEventDelegate(document, 'click', \".tum-preview-rdm\", element => {\n\t\t\t$(element).readmore(\"toggle\");\n\t\t});\n\n\t\tif ($('.previewCont .b-cropped-text').length > 0 && $('.previewCont .b-cropped-text[data-readmore]').length == 0) {\n\t\t\t$('.previewCont .b-cropped-text').readmore({\n\t\t\t\tmoreLink: '',\n\t\t\t\tlessLink: '',\n\t\t\t\tspeed: 400,\n\t\t\t\tcollapsedHeight: 22\n\t\t\t});\n\t\t}\n\t},\n\tinitReadmoreInModal: function () {\n\t\t$(\".tum-modal-hint\").readmore({\n\t\t\tmoreLink: '',\n\t\t\tlessLink: '',\n\t\t\tspeed: 400,\n\t\t\tcollapsedHeight: 20\n\t\t});\n\t\t$(\".tum-modal-hint\").css(\"display\", \"inline-block\");\n\n\t},\n\tclickIsEditView: function (elem) {\n\t\tif ($(elem).hasClass('tum-edit-set')) {\n\t\t\tsetCookie(preview.options.cookieKey, 1, 365);\n\t\t}\n\t\tif ($(elem).hasClass('tum-edit-unset')) {\n\t\t\tpreview.delete_cookie(preview.options.cookieKey);\n\t\t}\n\t\tlocation.reload();\n\t},\n\tisEditMode: function () {\n\t\tvar cookieValue = getCookie(preview.options.cookieKey);\n\t\tif (cookieValue == 1) {\n\t\t\t$('.isEditView').removeClass('tum-edit-set').addClass('tum-edit-unset');\n\t\t\t$('.isEditView i').removeClass('fa-toggle-off').addClass('fa-toggle-on');\n\t\t} else {\n\t\t\t$('.isEditView').removeClass('tum-edit-unset').addClass('tum-edit-set');\n\t\t\t$('.isEditView i').removeClass('tum-edit-on').addClass('fa-toggle-off');\n\t\t}\n\t},\n\tdelete_cookie: function (name) {\n\t\tsetCookie(name, \"\", -1);\n\t},\n\n\tinitCallbacks: function () {\n\t\taddEventDelegate(document, 'click', '.tum-shared-preview', (element, e) => {\n\t\t\te.preventDefault();\n\n\t\t\tvar $temp = $(\"\");\n\t\t\t$(\"body\").append($temp);\n\t\t\t$temp.val($(element).attr('data-url')).select();\n\t\t\tdocument.execCommand(\"copy\");\n\t\t\t$temp.remove();\n\t\t\tshowAlert('Ссылка скопирована в буфер обмена', { type: 'info' });\n\t\t});\n\t\taddEventDelegate(document, 'click', '#mytoolbar .mce-first button', () => {\n\t\t\t$('#mytoolbar').toggleClass('d-none');\n\t\t\tif ($('#mytoolbar').hasClass('d-none')) {\n\t\t\t\t$('.mce-tinymce .mce-i-preview').closest('.mce-toolbar').css('display', 'block');\n\t\t\t\t$('.mce-tinymce .mce-i-preview')[0]?.click();\n\t\t\t\t$('.mce-i-link').closest('.mce-toolbar').css('display', 'none');\n\t\t\t}\n\t\t});\n\t\taddEventDelegate(document, 'click', '#mytoolbar .mce-last button', () => {\n\t\t\tif (!$('#mytoolbar').hasClass('d-none')) {\n\t\t\t\t$('.mce-tinymce .mce-i-preview').closest('.mce-toolbar').css('display', 'block');\n\t\t\t\t$('.mce-tinymce .mce-i-fullscreen')[0]?.click();\n\t\t\t}\n\t\t});\n\n\n\t\taddEventDelegate(document, 'click', '.tum-preview-uploadImage', (element, e) => {\n\t\t\te.preventDefault();\n\t\t\tas.uploadHTML5.showUploadDialog($(element), function (data) {\n\t\t\t\tif (data.idsString != \"\") {\n\t\t\t\t\tvar img = data.idsString.split(',')[1];\n\t\t\t\t\timg = $(img).addClass('from-gallery').prop('outerHTML');\n\t\t\t\t\tif (img && img.length > 0) {\n\t\t\t\t\t\t$(\".tum-preview-uploadImage\").html(img + '');\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tcloseDialog();\n\t\t\t\t\tshowAlert(data.msg || \"Произошла ошибка!\", { type: 'danger' });\n\t\t\t\t}\n\t\t\t});\n\t\t\tpreview.setModalHeader(\"upload\");\n\t\t});\n\n\t\taddEventDelegate(document, 'click', '.tum-preview-save', () => {\n\t\t\tpreview.savePreview();\n\t\t});\n\n\t\taddEventDelegate(document, 'click', '.tum-preview-attachTu', () => {\n\n\t\t\tvar name = $(\".tum-preview-tuInput\").val();\n\t\t\tvar id = $(\".tum-preview-tuInput\").attr(\"data-id\");\n\n\t\t\tpreview.attachTu(id, name);\n\t\t\t$(\".tum-preview-tuInput\").val('');\n\t\t});\n\n\t\taddEventDelegate(document, 'click', '.tum-preview-attachCtu', () => {\n\t\t\tvar name = $(\".tum-preview-ctuInput\").val();\n\t\t\tvar id = $(\".tum-preview-ctuInput\").attr(\"data-id\");\n\n\t\t\tpreview.attachCtu(id, name);\n\t\t\t$(\".tum-preview-ctuInput\").val('');\n\t\t});\n\n\t\taddEventDelegate(document, 'click', \".tum-preview-detachTu, .tum-preview-detachCtu\", element => {\n\t\t\t$(element).closest(\"li\").remove();\n\n\t\t\tif ($(element).hasClass(\"tum-preview-detachCtu\") && preview.options.previewID > 0) {\n\t\t\t\t$(\".tum-preview-notSaved-ctu, .tum-preview-notSaved-general\").removeClass(\"d-none\");\n\t\t\t}\n\n\t\t\tif ($(element).hasClass(\"tum-preview-detachTu\") && preview.options.previewID > 0) {\n\t\t\t\t$(\".tum-preview-notSaved-tu, .tum-preview-notSaved-general\").removeClass(\"d-none\");\n\t\t\t}\n\t\t});\n\n\t\taddEventDelegate(document, 'click', \".tum-preview-detachFirm\", () => {\n\t\t\t$(\".tum-preview-firmInput\").removeClass(\"d-none\");\n\t\t\t$(\".tum-preview-firm\").addClass(\"d-none\");\n\t\t});\n\n\t\taddEventDelegate(document, 'click', '.tum-rdm-header .item-txt', element => {\n\t\t\t$(element).readmore('toggle');\n\t\t});\n\n\t\t$(document).on('shown.bs.collapse', '#tum-preview-attachments, #tum-preview-seoOptions', () => {\n\t\t\tpreview.initReadmoreInModal();\n\t\t\t//КОСТЫЛЬ? непонятно, почему не работала инициализация readmore, но работает так (предыдущая строка тоже нужна)\n\t\t\tsetTimeout(function () {\n\t\t\t\tpreview.initReadmoreInModal();\n\t\t\t}, 500);\n\t\t});\n\t\taddEventDelegate(document, \"click\", \".isEditView\", (element, e) => {\n\t\t\te.preventDefault();\n\t\t\tpreview.clickIsEditView(element);\n\t\t});\n\n\t\taddEventDelegate(document, 'click', '.previewCont .b-cropped-text', element => {\n\t\t\t$(element).readmore(\"toggle\");\n\t\t});\n\t\t$(document).on('blur', '.tum-preview-firmInput', function () {\n\t\t\tif ($(this).val().trim().length == 0) {\n\t\t\t\t$(this).attr('data-id', 0);\n\t\t\t\tif (!preview.options.isEmployee) {\n\t\t\t\t\t$(\".tum-preview-tuInput, .tum-preview-ctuInput\").prop(\"disabled\", true);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\taddEventDelegate(document, 'click', \".tum-preview-firmInput\", element => {\n\t\t\tif ($(element).val() && $(element).attr(\"data-id\")) {\n\t\t\t\t$(element).autocomplete(\"search\", $(element).val().replace(\"(\" + $(element).attr(\"data-id\") + \")\", \"\").trim());\n\t\t\t}\n\t\t});\n\n\t\taddEventDelegate(document, 'click', \".tum-preview-tuInput, .tum-preview-ctuInput, .tum-preview-firmInput\", element => {\n\t\t\tif (!$(element).val()) {\n\t\t\t\t$(element).autocomplete(\"search\", \" \");\n\t\t\t}\n\t\t});\n\n\t\taddEventDelegate(document, 'input', '.tum-preview-nameInput, .tum-preview-previewTextInput, .tum-preview-firmInput', () => {\n\t\t\tpreview.updateButtons();\n\t\t});\n\n\t\t$(document).on('change', \".tum-preview-video-input\", () => {\n\t\t\tpreview.updateButtons();\n\t\t});\n\n\t\taddEventDelegate(document, 'click', \".tum-preview-delete\", element => {\n\t\t\tif (confirm(\"Вы уверены, что хотите удалить обзор?\")) {\n\t\t\t\tajaxSend({ url: preview.options.url.deletePreview, data: { id: $(element).attr(\"data-id\") } }).then(data => {\n\t\t\t\t\tif (data.result) {\n\t\t\t\t\t\tlocation.href = \"/previews-all\";\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tshowAlert(\"Ошибка при удалении обзора\", { type: \"danger\" });\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\t\taddEventDelegate(document, 'change', \".tum-preview-nameInput\", element => {\n\t\t\tpreview.isNameAvailable($(element).val(), $(element).attr(\"data-previewid\"));\n\t\t});\n\n\t\taddEventDelegate(document, 'click', '.tum-comments-more', element => {\n\t\t\tpreview.getComments($(element));\n\t\t});\n\n\t\taddEventDelegate(document, 'click', '.tum-send-comment-btn', (element, e) => {\n\t\t\te.preventDefault();\n\t\t\tpreview.addComment($(element));\n\t\t});\n\n\t\taddEventDelegate(document, 'keyup', '.tum-preview-comments #tum-comment-text', element => {\n\t\t\tvar count = $(element).val().length;\n\t\t\t$('.tum-comment-charCount', $(element).closest('.tum-preview-comments')).text(count || 0);\n\t\t});\n\n\t\taddEventDelegate(document, 'keydown', '#tum-comment-text', element => {\n\t\t\t$('fieldset', $(element).closest('.tum-preview-comments')).removeClass('error');\n\t\t\t$('.tum-error-block', $(element).closest('.tum-preview-comments')).hide();\n\t\t});\n\n\t\t$(document).on('shown.bs.collapse hidden.bs.collapse', \"#tum-preview-seoOptions\", () => {\n\t\t\t$(\".tum-preview-showSeoOptions\").find(\".fa-angle-up, .fa-angle-down\").toggleClass(\"fa-angle-up fa-angle-down\");\n\t\t});\n\n\t\t$(document).on('shown.bs.collapse hidden.bs.collapse', \"#tum-preview-previewContent\", () => {\n\t\t\t$(\".tum-preview-showPreviewContent\").find(\".fa-angle-up, .fa-angle-down\").toggleClass(\"fa-angle-up fa-angle-down\");\n\t\t});\n\n\t\t$(document).on('shown.bs.collapse hidden.bs.collapse', \".tum-preview-attachments\", () => {\n\t\t\t$(\".tum-preview-showAttachments\").find(\".fa-angle-up, .fa-angle-down\").toggleClass(\"fa-angle-up fa-angle-down\");\n\t\t});\n\n\t\t$(document).on('shown.bs.collapse hidden.bs.collapse', \"#tum-preview-changeVideoBlock\", () => {\n\t\t\t$(\".tum-preview-showChangeVideoBlock\").find(\".fa-angle-up, .fa-angle-down\").toggleClass(\"fa-angle-up fa-angle-down\");\n\t\t});\n\n\t\taddEventDelegate(document, \"click\", \".tum-modal-hint\", element => {\n\t\t\t$(element).readmore(\"toggle\");\n\t\t});\n\n\t\taddEventDelegate(document, 'click', \".tum-preview-leaveComment\", element => {\n\t\t\tvar $cont = $(element).closest(\".tum-preview-comments\");\n\t\t\t$(\".card-comment-block\", $cont).removeClass(\"d-none\");\n\t\t\t$(element).closest(\"div\").addClass(\"d-none\");\n\t\t});\n\n\t\taddEventDelegate(document, 'click', \".tum-review-editComment, .tum-review-commentEditCancel\", element => {\n\t\t\t$(element).closest(\".tum-review-commentItem\").find(\".tum-review-commentEditBlock\").toggleClass(\"d-none\");\n\t\t\tvar $oldComment = $(element).closest(\".tum-review-commentItem\").find(\".tum-review-commentText\");\n\t\t\tvar $newComment = $(element).closest(\".tum-review-commentItem\").find(\".tum-review-commentEditText\");\n\n\t\t\t$newComment.val($oldComment.text().trim());\n\t\t});\n\n\t\taddEventDelegate(document, 'click', \".tum-review-commentEditSave\", element => {\n\t\t\tvar $comment = $(element).closest(\".tum-review-commentItem\");\n\t\t\tvar commentID = $comment.attr(\"data-commentid\");\n\t\t\tvar commentText = $comment.find(\".tum-review-commentEditText\").val().trim();\n\t\t\tvar denyPublish = $comment.find(\".tum-review-denyCommentPublish\").prop(\"checked\");\n\t\t\tvar pinned = $comment.find(\".tum-review-pinComment\").prop(\"checked\");\n\n\t\t\tpreview.updateComment(commentID, commentText, denyPublish, pinned);\n\t\t});\n\n\t\taddEventDelegate(document, 'change', \".tum-review-denyCommentPublish\", element => {\n\t\t\tvar $comment = $(element).closest(\".tum-review-commentItem\");\n\t\t\tvar commentID = $comment.attr(\"data-commentid\");\n\t\t\tvar denyPublish = $(element).prop(\"checked\");\n\n\t\t\tpreview.updateComment(commentID, null, denyPublish);\n\t\t});\n\n\t\taddEventDelegate(document, 'change', \".tum-review-pinComment\", element => {\n\t\t\tvar $comment = $(element).closest(\".tum-review-commentItem\");\n\t\t\tvar commentID = $comment.attr(\"data-commentid\");\n\t\t\tvar pinned = $(element).prop(\"checked\");\n\n\t\t\tpreview.updateComment(commentID, null, null, pinned);\n\t\t});\n\n\t\taddEventDelegate(document, 'click', \".tum-review-deleteComment\", element => {\n\t\t\tvar $comment = $(element).closest(\".tum-review-commentItem\");\n\t\t\tvar commentID = $comment.attr(\"data-commentid\");\n\n\t\t\tpreview.deleteComment(commentID);\n\t\t});\n\n\t\taddEventDelegate(document, 'click', \".tum-preview-notSaved\", () => {\n\t\t\t$('html, body').animate({\n\t\t\t\tscrollTop: $(document).height()\n\t\t\t});\n\n\t\t\t$(\".tum-preview-save\").addClass(\"tum-box-attention\");\n\t\t\tsetTimeout(function () { $(\".tum-preview-save\").removeClass(\"tum-box-attention\"); }, 1000);\n\t\t});\n\n\t\taddEventDelegate(document, 'change', \"[data-notsaved]\", element => {\n\t\t\tif (preview.options.previewID > 0) {\n\t\t\t\t$($(element).attr(\"data-notsaved\")).removeClass(\"d-none\");\n\t\t\t\t$(\".tum-preview-notSaved-general\").removeClass(\"d-none\");\n\t\t\t}\n\t\t});\n\n\t\taddEventDelegate(document, 'click', '.tum-preview-cancel', (element, e) => {\n\t\t\te.preventDefault();\n\t\t\tif (history.length > 2) {\n\t\t\t\twindow.history.back();\n\t\t\t} else {\n\t\t\t\twindow.location.href = '/previews-all';\n\t\t\t}\n\t\t});\n\t},\n\tgetNextPreview: function () {\n\t\tif (preview.lockNextPreview) return;\n\n\t\tpreview.lockNextPreview = true;\n\t\tvar id = preview.nextPreviewIDs.shift();\n\n\t\tif (!id) return;\n\n\t\tloadPrecompiledTemplates(['preview-next']).then(() => {\n\t\t\treturn ajaxSend({ url: preview.options.url.getNextPreview, data: { id: id } });\n\t\t}).then(data => {\n\t\t\tif (data.result) {\n\t\t\t\tdata.preview.url = location.origin;\n\n\t\t\t\tvar html = getPrecompiledTemplate('preview-next')(data.preview);\n\t\t\t\t$(\".previewsCont\").append(html);\n\n\t\t\t\t$(\".previewCont:last .tum-comments-more\")[0]?.click();\n\n\t\t\t\tif (tumGlobal.isMob()) {\n\t\t\t\t\t$('html, body').animate({\n\t\t\t\t\t\tscrollTop: $('.previewsCont').children().last().position().top - 50\n\t\t\t\t\t}, {\n\t\t\t\t\t\tcomplete: () => preview.lockNextPreview = false\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\t$('html, body').animate({\n\t\t\t\t\t\tscrollTop: $(window).scrollTop() - 50\n\t\t\t\t\t}, {\n\t\t\t\t\t\tcomplete: () => preview.lockNextPreview = false\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t},\n\tsavePreview: function () {\n\t\t$(\".tum-preview-save\").prop(\"disabled\", true);\n\n\t\tvar products = $(\".tum-preview-attachedTuList li\").toArray().map(e => $(e).attr(\"data-id\")).join(',');\n\t\tvar categories = $(\".tum-preview-attachedCtuList li\").toArray().map(e => $(e).attr(\"data-id\")).join(',');\n\n\t\tvar params = {\n\t\t\tpreviewID: preview.options.previewID || 0,\n\t\t\tcontent: $(\".tum-preview-content\").length ? (getTinyMCE(\"tum-preview-content\").getContent() || \"\") : \"\",\n\t\t\tpreviewText: $(\".tum-preview-previewTextInput\").val() || \"\",\n\t\t\tname: $(\".tum-preview-nameInput\").val() || \"\",\n\t\t\ttitle: $(\".tum-preview-nameInput\").val() || \"\",\n\t\t\tdescription: $(\".tum-preview-descInput\").val() || $(\".tum-preview-previewTextInput\").val() || \"\",\n\t\t\tkeywords: $(\".tum-preview-keywordsInput\").val() || \"\",\n\t\t\tisPublish: $('#isPublish').prop('checked'),\n\t\t\tisBlocked: $('#isBlocked').prop('checked'),\n\t\t\tproductID: 0,\n\t\t\tfirmID: $(\".tum-preview-firmInput\").attr(\"data-id\") || \"0\",\n\t\t\timageUrl: $(\".tum-preview-uploadImage img:not(.exists)\").length ? $(\".tum-preview-uploadImage img\").attr(\"src\") : \"\",\n\t\t\tproductIDs: products,\n\t\t\tcatIDs: categories,\n\t\t\tvideoUrl: $(\".tum-preview-videoCont source:not(.tum-preview-oldVideo)\").attr(\"src\") || \"\"\n\t\t};\n\n\t\tif ((!params.content && !$(\".tum-preview-videoCont source\").attr(\"src\") && !$(\".tum-preview-youtube\").length) || !params.previewText || !params.name || ((!params.firmID || params.firmID == \"0\") && !preview.options.isEmployee)) {\n\t\t\tshowDialog({ title: \"Заполните содержимое обзора\", content: \"Название, краткое описание, организация и содержимое обзора являются обязательными для заполнения. Организация должна быть выбрана из списка предложенных.\" });\n\t\t\t$(\"#asModal .btn-primary\").addClass(\"d-none\");\n\t\t\t$(\".tum-preview-save\").prop(\"disabled\", false);\n\t\t\treturn;\n\t\t}\n\n\t\tajaxSend({ url: preview.options.url.savePreview, data: params }).then(data => {\n\t\t\tif (data.result) {\n\t\t\t\t$(\".tum-preview-save\").prop(\"disabled\", false);\n\t\t\t\tif (preview.options.previewID) {\n\t\t\t\t\tpreview.setModalHeader('info');\n\n\t\t\t\t\tshowDialog({ title: \"Изменения сохранены\", content: \"Изменения успешно сохранены.\" });\n\t\t\t\t\t$(\".tum-preview-notSaved\").addClass(\"d-none\");\n\n\t\t\t\t\tsetTimeout(function () {\n\t\t\t\t\t\tcloseDialog();\n\t\t\t\t\t\tlocation.reload();\n\t\t\t\t\t}, 2000);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tpreview.setModalHeader('create');\n\t\t\t\t\tshowDialog({ title: \"Обзор успешно создан\", content: \"Через 5 секунд вы будете перенаправлены на страницу обзора.\" });\n\t\t\t\t\tsetTimeout(function () { location.href = \"/preview/\" + data.previewID }, 5000);\n\t\t\t\t}\n\n\t\t\t}\n\t\t\telse {\n\t\t\t\tshowAlert(data.msg || \"Ошибка сохранения обзора\", { type: \"danger\" });\n\t\t\t}\n\t\t\t$(\".tum-preview-save\").prop(\"disabled\", false);\n\t\t});\n\t},\n\tsetModalHeader: function (code) {\n\t\tvar modal = $(\"#asModal\");\n\t\tvar header = '';\n\t\tif (code == \"upload\") {\n\t\t\t$('.as-u5-crop-ok:not(.btn.btn-primary)').removeClass(\"btn-success\").addClass(\"hidden\");\n\t\t\t$(\".modal-footer .btn-primary\", modal).addClass(\"as-u5-crop-ok disabled\").attr('disabled', true);\n\t\t\tmodal.find(\".modal-header\").addClass(\"d-inline\");\n\t\t\theader += '';\n\t\t\theader += '
Добавить фото
';\n\t\t\theader += '
  • Загрузите готовые файлы. Или сфотографируйте с телефона/планшета
  • Допустимые форматы: PNG, JPG, JPEG
  • Допустимый максимальный размер файла: 12 MB
';\n\n\t\t\tmodal.find('.modal-header').html(header);\n\t\t}\n\t\telse if (code == 'create') {\n\t\t\theader += ''\n\t\t\tmodal.find('.modal-header').html(header).removeClass('d-inline');\n\t\t\tmodal.find('.btn-primary').addClass(\"d-none\");\n\t\t} else if (code == 'info') {\n\t\t\theader += ''\n\t\t\tmodal.find('.modal-header').html(header).removeClass('d-inline');\n\t\t\tmodal.find('.btn-primary').addClass(\"d-none\");\n\t\t}\n\t},\n\tattachTu: function (id, name, noNotSavedWarning) {\n\n\t\tif (!id || id == \"0\") {\n\t\t\treturn;\n\t\t}\n\n\t\tif (name && !$(\".tum-preview-attachedTuList li[data-id='\" + id + \"']\").length) {\n\t\t\t$(\".tum-preview-attachedTuList\").append($('
  • ' + name + '
  • '));\n\t\t}\n\n\t\tif (!noNotSavedWarning && preview.options.previewID > 0) {\n\t\t\t$(\".tum-preview-notSaved-tu, .tum-preview-notSaved-general\").removeClass(\"d-none\");\n\t\t}\n\t},\n\tattachCtu: function (id, name, noNotSavedWarning) {\n\t\tif (!noNotSavedWarning) noNotSavedWarning = false;\n\n\t\tif (!id || id == \"0\") {\n\t\t\treturn;\n\t\t}\n\n\t\tif (name && !$(\".tum-preview-attachedCtuList li[data-id='\" + id + \"']\").length) {\n\t\t\t$(\".tum-preview-attachedCtuList\").append($('
  • ' + name + '
  • '));\n\t\t}\n\n\t\tif (!noNotSavedWarning && preview.options.previewID > 0) {\n\t\t\t$(\".tum-preview-notSaved-ctu, .tum-preview-notSaved-general\").removeClass(\"d-none\");\n\t\t}\n\t},\n\tattachFirm: function (id, name) {\n\n\t\tif (!id || id == \"0\") {\n\t\t\t$(\".tum-preview-firmInput\").val(\"\");\n\t\t\t$(\".tum-preview-firmInput\").attr(\"data-id\", 0);\n\t\t\treturn;\n\t\t}\n\n\t\t$(\".tum-preview-tuInput, .tum-preview-ctuInput\").prop(\"disabled\", false);\n\n\t\tif (name.indexOf(\" (\" + id + \")\") == -1) {\n\t\t\tname = name + \" (\" + id + \")\";\n\t\t}\n\n\t\tvar link = '' + name + ''\n\n\t\t$(\".tum-preview-firmInput\").val(name);\n\t\t$(\".tum-preview-firmInput\").attr(\"data-id\", id);\n\n\t\t$(\".tum-preview-tuInput, .tum-preview-ctuInput\").prop(\"disabled\", false);\n\n\t\t$(\".tum-preview-firmName\").html(link);\n\t\t$(\".tum-preview-firm\").removeClass(\"d-none\");\n\t\t$(\".tum-preview-firmInput\").addClass(\"d-none\");\n\n\t\tpreview.updateButtons();\n\t},\n\tcancelUpload: function () {\n\t\tif (preview.uploader.files.length) {\n\t\t\tpreview.uploader.removeFile(preview.uploader.files[0]);\n\t\t\tpreview.uploader.stop();\n\t\t\tpreview.uploader.start();\n\t\t}\n\n\t\t$(\".tum-preview-video-progress, .tum-preview-video-cancel\").addClass(\"d-none\");\n\t\t$(\".tum-preview-video-progressBar\").css(\"width\", '0%');\n\t\t$(\".tum-preview-video-progressValue\").html('0%');\n\t\t$('.tum-preview-video-pickFile').removeClass('disabled').prop('disabled', false);\n\t\tpreview.uploader.disableBrowse(false);\n\t},\n\tupdateButtons: function () {\n\n\t\tvar name = $('.tum-preview-nameInput').val().trim();\n\n\t\tvar nameIsAvailable = $('.tum-preview-nameInput').attr(\"data-isavailable\") == \"1\";\n\n\t\tvar previewText = $('.tum-preview-previewTextInput').val().trim();\n\t\tvar firmID = $(\".tum-preview-firmInput\").attr(\"data-id\") ? Number($(\".tum-preview-firmInput\").attr(\"data-id\")) : 0;\n\n\t\tvar previewContent = '';\n\n\t\tif (preview.options.tinyMceInitialized) {\n\t\t\tpreviewContent = $(\".tum-preview-content\").length ? (getTinyMCE(\"tum-preview-content\").getContent() || \"\") : \"\"\n\t\t}\n\n\t\tvar $video = $(\".tum-preview-video-input\");\n\n\t\tvar hasVideo = $video.length > 0;\n\t\tvar videoIsLoaded = $(\".tum-preview-videoCont source\").attr(\"src\") || $(\".tum-preview-youtube\").length;\n\n\t\tif (name && nameIsAvailable && previewText && (firmID > 0 || preview.options.isEmployee) && (hasVideo || previewContent)) {\n\t\t\t$('.tum-preview-video-pickFile').removeClass('btn-opacity');//.removeClass('disabled').prop('disabled', false);\n\n\t\t\tif (hasVideo) preview.uploader.disableBrowse(false);\n\n\t\t\tif (videoIsLoaded || !hasVideo) {\n\t\t\t\t$('.tum-preview-save').removeClass('disabled').prop('disabled', false);\n\t\t\t}\n\t\t} else {\n\t\t\t$('.tum-preview-save').addClass('disabled').prop('disabled', true);\n\t\t\t$('.tum-preview-video-pickFile').addClass('show-info-text').addClass('btn-opacity');//.prop('disabled', false);\n\n\t\t\tif (hasVideo) preview.uploader.disableBrowse(true);\n\n\t\t\tvar fileInfoHtml = \"\";\n\n\t\t\tif (!name || !previewText || (firmID == 0 && !preview.options.isEmployee)) {\n\t\t\t\tfileInfoHtml += \"
    Перед загрузкой видео необходимо заполнить название, краткое описание и привязку фирмы.\";\n\t\t\t}\n\n\t\t\t$(\".tum-preview-video-fileInfo\").html(fileInfoHtml);\n\t\t}\n\n\t},\n\tisNameAvailable: function (name, previewID) {\n\n\t\tif (!name) return;\n\n\t\tajaxSend({ url: preview.options.url.isNameAvailable, data: { name: name, previewID: previewID || 0 } }).then(data => {\n\t\t\tpreview.showError($('.tum-preview-nameInput'), \"\");\n\t\t\tif (data.result) {\n\t\t\t\t$('.tum-preview-nameInput').attr(\"data-isavailable\", \"1\");\n\t\t\t}\n\t\t\telse {\n\t\t\t\t$('.tum-preview-nameInput').attr(\"data-isavailable\", \"0\");\n\t\t\t\tpreview.showError($('.tum-preview-nameInput'), \"Обзор с таким названием уже существует\");\n\t\t\t}\n\t\t\tpreview.updateButtons();\n\t\t});\n\t},\n\tshowError: function ($field, text) {\n\t\tvar $error = $field.closest(\".tum-preview-fieldCont\").find(\".tum-preview-fieldError\");\n\t\t$error.html(text);\n\t},\n\tshowCommentError: function (txt, errorBlock, el) {\n\t\t$('.underFieldMsg', errorBlock).html(' ' + txt);\n\t\t$(errorBlock).show();\n\t\t$('.underFieldMsg', errorBlock).addClass('errMsg');\n\n\t\tif (el) {\n\t\t\t$('fieldset', el.closest('.form-group-inline')).addClass('error');\n\t\t\t$('.tum-error-block', el.closest('.form-group-inline')).removeClass('hintBorder');\n\t\t}\n\n\t},\n\t_getComments: function (el) {\n\t\tvar previewID = $(el).attr('data-itemid') || 0;\n\t\tvar page = $(el).attr('data-page');\n\t\tvar isEdit = $(el).closest(\".tum-preview-comments\").attr(\"data-isedit\") == \"1\";\n\t\tvar params = { previewID: previewID, page: page, isEdit: isEdit };\n\t\tajaxSend({ url: preview.options.url.getComments, data: params }).then(data => {\n\t\t\t$(el).attr('data-page', Number(page) + 1);\n\n\t\t\tif (data.Total > 0) {\n\t\t\t\t$(\".tum-preview-commentsCount\").html(data.Total);\n\t\t\t}\n\n\t\t\tvar urlRegex = /https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_+.~#?&//=]*)/g;\n\n\t\t\tfor (var i = 0; i < data.Items.length; i++) {\n\t\t\t\tdata.Items[i].comment = data.Items[i].comment.replace(urlRegex, '$&');\n\t\t\t}\n\n\t\t\tvar tmpl = getPrecompiledTemplate('reviews-comments');\n\t\t\tvar htmlOut = tmpl(data);\n\t\t\t$('.card-body', $(el).closest('.tum-preview-comments')).append(htmlOut);\n\n\t\t\tif (data.Total <= $(el).closest('.tum-preview-comments').find('.card-body .panel').length) {\n\t\t\t\t$(el).closest('.tum-preview-comments').find('.tum-comments-more').parent().addClass('d-none');\n\t\t\t} else {\n\t\t\t\t$(el).closest('.tum-preview-comments').find('.tum-comments-more').parent().removeClass('d-none');\n\t\t\t}\n\t\t});\n\t},\n\tgetComments: function (el) {\n\t\tloadPrecompiledTemplates([\n\t\t\t'reviews-comments',\n\t\t\t'reviews-upload-file',\n\t\t]).then(() => this._getComments(el));\n\t},\n\taddComment: function (el) {\n\t\tvar previewID = $(el).closest('.tum-preview-comments').attr('data-itemid') || 0;\n\t\tvar comment = $(el).closest('.tum-preview-comments').find('#tum-comment-text');\n\t\tvar isEdit = $(el).closest(\".tum-preview-comments\").attr(\"data-isedit\") == \"1\";\n\t\tvar commentBlock = $(el).closest('.tum-preview-comments');\n\t\tif (!comment.val() || comment.val().trim().length < 15) {\n\t\t\tpreview.showCommentError(\"Минимальная длина комментария должна быть 15 символов\", $('.error-block-text', commentBlock), $('#tum-comment-text'));\n\t\t\t$(comment).focus();\n\t\t\treturn;\n\t\t}\n\t\tif (comment.val().trim().length > 512) {\n\t\t\tpreview.showCommentError(\"Слишком длинный комментарий\", $('.error-block-text', commentBlock), $('#tum-comment-text'));\n\t\t\t$(comment).focus();\n\t\t\treturn;\n\t\t}\n\n\t\t$(el).prop(\"disabled\", true);\n\t\tajaxSend({ url: preview.options.url.saveComment, data: { previewID: previewID, commentText: comment.val().trim(), isEdit: isEdit } }).then(data => {\n\t\t\tif (data.result) {\n\t\t\t\tvar tmpl = getPrecompiledTemplate('reviews-comments');\n\t\t\t\tvar htmlOut = tmpl(data.data);\n\t\t\t\t$(\".tum-preview-hasNoComments\").remove();\n\t\t\t\t$('.card-body', $(\".tum-preview-comments[data-itemid=\" + previewID + \"]\")).append(htmlOut);\n\t\t\t\tcomment.val('');\n\t\t\t}\n\t\t\telse {\n\t\t\t\tshowAlert(\"Ошибка сохранения комментария\", { type: 'danger' });\n\t\t\t}\n\t\t\t$(el).prop(\"disabled\", false);\n\t\t}, false, $('.tum-send-comment-btn'));\n\t},\n\n\tupdateComment: function (commentID, commentText, denyPublish, pinned) {\n\t\tajaxSend({ url: preview.options.url.updateComment, data: { commentID: commentID, commentText: commentText, denyPublish: denyPublish, pinned: pinned } }).then(data => {\n\t\t\tif (data.result) {\n\t\t\t\tif (commentText) {\n\t\t\t\t\tvar $comment = $(\".tum-review-commentItem[data-commentid=\" + commentID + \"]\");\n\t\t\t\t\t$comment.find(\".tum-review-commentText\").html(commentText);\n\t\t\t\t\t$comment.find(\".tum-review-commentEditBlock\").addClass(\"d-none\");\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\tshowAlert(\"Ошибка сохранения комментария\", { type: 'danger' });\n\t\t\t}\n\t\t});\n\t},\n\tdeleteComment: function (commentID) {\n\t\tif (!confirm(\"Вы уверены, что хотите удалить комментарий?\")) return;\n\n\t\tajaxSend({ url: preview.options.url.deleteComment, data: { commentID: commentID } }).then(data => {\n\t\t\tif (data.result) {\n\t\t\t\t$(\".tum-review-commentItem[data-commentid=\" + commentID + \"]\").remove();\n\t\t\t}\n\t\t\telse {\n\t\t\t\tshowAlert(\"Ошибка сохранения комментария\", { type: 'danger' });\n\t\t\t}\n\t\t});\n\t},\n\n\tfillAttachments: function (firmID, productID, ctuID) {\n\t\tif (!firmID) return;\n\n\t\tvar params = { firmID: firmID, productID: productID, ctuID: ctuID };\n\n\t\tajaxSend({ url: preview.options.url.getAttachmentInfo, data: params }).then(data => {\n\t\t\tif (data.result) {\n\t\t\t\tif (data.firmName) {\n\t\t\t\t\tpreview.attachFirm(data.firmID, data.firmName);\n\t\t\t\t}\n\n\t\t\t\tif (data.products) {\n\t\t\t\t\tdata.products.forEach(function (e) {\n\t\t\t\t\t\tpreview.attachTu(e.id, e.name + \" (\" + e.id + \")\", true);\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tif (data.categories) {\n\t\t\t\t\tdata.categories.forEach(function (e) {\n\t\t\t\t\t\tpreview.attachCtu(e.id, e.name + \" (\" + e.id + \")\", true);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\tshowAlert(\"Ошибка при попытке автоматической привязки обзора\", { type: \"danger\" });\n\t\t\t}\n\t\t});\n\t}\n};\n\nexport default preview;","/* global tumarket */\n\nimport \"./layout.js\";\nimport * as $ from \"jquery\";\nimport as from \"../as/as.sys.js\";\nimport \"../as/controls/as.uploadHTML5.js\";\nimport preview from \"../previews/preview.js\";\n\n//css\nimport \"fotorama/fotorama.css\";\nimport \"select2/dist/css/select2.min.css\";\n\nimport \"../../css/modules/firm/reviews.css\";\nimport \"../../css/modules/previews/preview.css\";\nimport \"../../css/modules/previews/previewItem.css\";\n\n//только для miniature-adMark на баннерах\nimport \"../../css/modules/miniatures/miniatures.css\";\n\nimport { initEditMenu } from \"../editmenu.js\";\nimport { addEventDelegate } from \"../global/dom\";\n\nwindow.addEventListener('load', () => {\n as.uploadHTML5.init();\n preview.init({\n previewID: tumarket.preview.previewID,\n isAuthorized: tumarket.isAuthenticated,\n isEmployee: tumarket.preview.isEmployee,\n isAgent: tumarket.preview.isAgent,\n isEditMode: tumarket.preview.isEditMode,\n nextPreviewIDs: tumarket.preview.nextPreviewIDs\n });\n\n if (!tumarket.preview.isEditMode) {\n addEventDelegate(document, 'click', '.container-fluid img', element => {\n var src = $(element).attr('src');\n var imgPaht = location.origin + src.replace(\"..\", \"\");\n window.open(imgPaht);\n });\n }\n\n initEditMenu();\n});\n","/* global tumarket */\n\nimport * as $ from \"jquery\";\nimport \"bootstrap/js/dist/dropdown\";\nimport tumGlobal from \"./global.js\";\nimport { initTuPopover } from \"./global/popover\";\nimport { toggleReadmore } from \"./global/readmore\";\nimport { addEventDelegate } from \"./global/dom\";\n\nfunction initEditMenu() {\n //функция, которая вызывается при клике на ридмор (атрибут data-callback)\n tumarket.callbacks.updateEditMenu = el => {\n\n //подставляет в ридмор html из data-contenttarget, если он есть и если ридмор пустой\n let $container = $(el).closest('.tum-readmore-wrap').find('.tum-readmore-0');\n let content = $(el).attr('data-contenttarget');\n if (content && !$container.html()) {\n $container.html($(content).html());\n\n //подключаем popover\n initTuPopover($container);\n }\n\n //скрывает другие ридморы в меню\n let $readmores = $('.tu-editMenu .tum-readmore-toggle').not(el);\n $readmores.toArray().forEach(e => toggleReadmore(e, false, true));\n\n //обновляет положение меню на случай, если изменилась ширина\n $('.tu-editMenuToggle').dropdown('update');\n };\n\n //открытие меню редактирования по кнопке с классом\n addEventDelegate(document, 'click', '.menu-openEditMenu', () => {\n let mob = tumGlobal.isMob();\n let shown = $(mob ? '.mob-menu' : '.desktop-menu').hasClass('show');\n\n function toggleMenu() {\n return import(\"./MainMenu.js\").then(({tum_mainMenu}) => tum_mainMenu.toggleMenu());\n }\n\n (shown ? toggleMenu() : Promise.resolve())\n .then(() => {\n $('.tu-editMenuToggle').dropdown('toggle');\n tumGlobal.scrollUp();\n tumGlobal.highlight($('.tu-editMenu .dropdown-menu'));\n });\n });\n}\n\nexport { initEditMenu };\n\n","let searchHistory = {\n\toptions: {\n\t\tstorageName: 'tum-searchHistory'\n\t},\n\t_get: function () {\n\t\tlet data = localStorage.getItem(this.options.storageName);\n\t\treturn data ? JSON.parse(data) : [];\n\t},\n\tget: function(){\n\t\tif (!this.isSupported()) return [];\n\t\tlet data = this._get();\n\t\treturn data.reverse();\n\t},\n\tadd: function (query, type) {\n\t\tif (!this.isSupported()) return;\n\t\tif (!query || !type) return;\n\t\tlet history = this._get();\n\n\t\tif (history.some(e => e.query == query && e.type == type)) return;\n\n\t\tif (history.length > 3) {\n\t\t\thistory.splice(0, 1);\n\t\t}\n\n\t\thistory.push({ query, type });\n\t\tlocalStorage.setItem(this.options.storageName, JSON.stringify(history));\n\t},\n\tclear: function () {\n\t\tif (!this.isSupported()) return;\n\t\tlocalStorage.removeItem(this.options.storageName);\n\t},\n\tisSupported: function(){\n\t\tvar test = 'test';\n\t\ttry {\n\t\t\tlocalStorage.setItem(test, test);\n\t\t\tlocalStorage.removeItem(test);\n\t\t\treturn true;\n\t\t} catch {\n\t\t\treturn false;\n\t\t}\n\t}\n};\n\nexport default searchHistory;","// 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\":\"dfc48908ab79f8a08c94\",\"1326\":\"26902ba300864e380183\",\"1396\":\"bec90d8ab55a9e1cfbfd\",\"1595\":\"8c4ac55f67fcd39772fd\",\"1915\":\"1d60e1c76c7a71868f36\",\"2280\":\"3f31b847e583c1514e6d\",\"2540\":\"bdc4df4abd7461613638\",\"2667\":\"aa12ff698ecb229b55ff\",\"2902\":\"6e1228f39368bae3ccec\",\"3143\":\"a28f6936e6052f53ea07\",\"3200\":\"b01b98ad7e81e52a1dc2\",\"3391\":\"6fb593b88f9d0b83defd\",\"3651\":\"d21f85192de175228094\",\"3956\":\"1ab3620eacdc7a159e2b\",\"3985\":\"209f8a8dadc548761594\",\"4298\":\"92475c1d6776628cdab5\",\"4376\":\"a95a7f17af8f19885ef1\",\"4400\":\"16af24d0902770204790\",\"4464\":\"dbb21093a0ba072888a7\",\"4578\":\"a3f76e15c85aaac1fb57\",\"4886\":\"87a306b53783dd9aa095\",\"4949\":\"a43c47e84eaa2fb6a1d3\",\"5000\":\"fe83c0e92d71715a7f7a\",\"5098\":\"f6fe0853bd1a48e80967\",\"5154\":\"4d1cf02c8e4065ce13ea\",\"5328\":\"9ce9f3c5df71ae9a2d1b\",\"5458\":\"d0eee377570139bd4bd9\",\"5685\":\"4c8ff955b1a6c8e3a47a\",\"5702\":\"021f3023814329859d1b\",\"5823\":\"7ee49a9b06b1394efc96\",\"5851\":\"c5a584a902b86984bb65\",\"6152\":\"91c06d5e155559f4a987\",\"6301\":\"86eecd5d93a558c2e0b8\",\"6356\":\"80575c6bf91cdf747f01\",\"6495\":\"b3af535f238b645d3a48\",\"6582\":\"69bc5aef2343906834c1\",\"6995\":\"778a9715dc5a43e73db8\",\"7047\":\"554ad6220fc353bf9ef6\",\"7151\":\"5066f384a8029dc8ecf5\",\"7232\":\"09c8729a17c021d1e391\",\"7289\":\"e2695e176cc6549d9c08\",\"7522\":\"a79b5e590965fabb878d\",\"7536\":\"5874f2042953a6ccac8b\",\"7680\":\"5d82327323d7a5395409\",\"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\":\"cf5c0482843948524a18\",\"3956\":\"a3645751b703aae6121c\",\"4376\":\"15eb138e5c4a34d40967\",\"4400\":\"f2fe3819cfa36448e454\",\"4845\":\"e37eb6e30b49beda56ae\",\"4886\":\"d51c62f70ab8f8018e65\",\"6301\":\"522cb8c5372c242c68b1\",\"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\t3973: 0,\n\t4310: 0,\n\t7685: 0,\n\t7843: 0,\n\t7871: 0,\n\t8756: 0,\n\t8925: 0,\n\t9133: 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,\"6301\":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\t3973: 0,\n\t4310: 0,\n\t7685: 0,\n\t7843: 0,\n\t7871: 0,\n\t8756: 0,\n\t8925: 0,\n\t9133: 0,\n\t6616: 0,\n\t6264: 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|4845|6264|6616)$/.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,5285,6616,9349,2311,2926,5643,97,7241,6264,5607,8154,8446,5280,31,8479], () => (__webpack_require__(4764)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","leafPrototypes","getProto","inProgress","dataWebpackPrefix","data","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","el","animate","scrollTop","offset","togglePageScroll","toggleClass","createGuid","createModal","options","id","then","template","append","getTimestamp","reject","url","result","timestamp","bindInput","selector","object","name","onChange","container","this","prop","val","focusInput","field","fieldLength","type","setSelectionRange","focus","preventScroll","parseNumber","value","replace","Number","distinct","index","self","validTextXSS","txt","res","RegExp","test","isUnloading","disableLogError","checkBrowser","browser","ver","isOldVersion","split","exceptions","dev_exceptions","handleError","error","quiet","sendError","additional","some","message","includes","hostname","logData","Error","Url","Name","Stack","stack","errorString","Object","keys","map","key","join","s","catch","setTimeout","logError","element","createElement","innerHTML","dump","getElementById","appendChild","logElement","scrollHeight","logToConsoleDump","ua","userAgent","M","match","tem","exec","slice","appName","appVersion","splice","oldBrowserMsg","initErrorHandling","addEventListener","reason","tumarket","readmoreState","callbacks","toggleReadmore","skipCallback","$wrap","closest","$toggle","attr","$texts","$otherToggles","groupContainer","dataset","swapToggleHtml","show","showHtml","html","hideHtml","querySelector","querySelectorAll","filter","forEach","not","each","$text","_wrap","hasClass","_toggleWrap","ajaxCode","ajaxOptions","ajaxLoaded","renderComponent","body","dispatchEvent","Event","initReadmore","readmore_processed","matches","preventDefault","uploadHTML5","crop","filesLeft","filesTotal","filesResult","currentFile","uploadCallback","cropperInitEventStarted","init","find","destroyCropper","showUploadDialog","fileSelected","upload","remove","addClass","cropper","zoom","rotate","clear","disable","enable","skipPhoto","btn","itemID","code","uploadLabel","resources","html5upload_uploadLabel","uploadText","btnText","html5upload_btnText","title","html5upload_title","allowAnyFile","checkUploadLimit","isMultiple","cropAspectRatio","cropTitle","immediateUpload","cropURL","content","submitButtonText","size","setModalFooter","removeClass","click","checkUploadFile","file","i","fileExt","toLowerCase","fileType","fd","FormData","upl","count","files","xhr","XMLHttpRequest","uploadProgress","uploadComplete","uploadFailed","uploadCanceled","open","send","evt","lengthComputable","percentComplete","Math","round","loaded","total","toString","style","width","destroy","JSON","parse","responseText","html5upload_load_succ","items","aspectRatio","cropValuesArr","widths","pop","setCroppedImage","path","stringify","image","onload","dragMode","movable","rotatable","scalable","zoomable","zoomOnTouch","zoomOnWheel","viewMode","cropValues","x","y","height","ready","msg","currentPhotoNumber","complete","trigger","isEnd","params","w","parseInt","disableCropper","values","push","getData","unshift","_files","get","previewID","savePreview","getFirms","getProducts","getCategories","uploadVideo","deletePreview","isNameAvailable","getComments","saveComment","getAttachmentInfo","updateComment","deleteComment","getNextPreview","cookieKey","uploadRequest","isAuthorized","isEmployee","isAgent","isEditMode","nextPreviewIDs","tinyMceInitialized","lockNextPreview","initCallbacks","firmID","productID","ctuID","uploaderInitTask","initUploader","fillAttachments","initAutocomplete","initEditor","initPagination","modules","plupload","default","uploader","Uploader","runtimes","chunk_size","unique_names","browse_button","max_retries","multipart_params","filters","max_file_size","mime_types","extensions","flash_swf_url","silverlight_xap_url","PostInit","updateButtons","FilesAdded","up","formatSize","start","UploadProgress","css","percent","FileUploaded","response","err","BeforeUpload","settings","uniquename","floor","random","setup_callback","image_upload_url","valid_elements","mode","editor_selector","encoding","relative_urls","statusbar","branding","autofocus","draggable_modal","menu","edit","view","insert","format","table","toolbar","menubar","contextmenu","language","plugins","automatic_uploads","code_dialog_width","code_dialog_height","innerHeight","images_upload_url","file_picker_types","file_picker_callback","cb","input","setAttribute","onchange","reader","FileReader","readAsDataURL","getTime","blobCache","editorUpload","base64","blobInfo","create","add","blobUri","style_formats","classes","styles","block","setup","editor","setContent","removeAttr","addButton","icon","onclick","text_modified","selection","getContent","insertContent","editorContainer","hide","undefined","$el","context","init_instance_callback","buttons","mybutton","initTinyMCE","autocomplete","delay","source","request","term","label","list","select","event","ui","attachFirm","attachedIDs","attachCtu","attachTu","readmore","moreLink","lessLink","speed","collapsedHeight","initReadmoreInModal","clickIsEditView","elem","delete_cookie","reload","$temp","execCommand","idsString","img","setModalHeader","trim","confirm","addComment","$cont","$oldComment","$comment","commentID","commentText","denyPublish","pinned","history","back","shift","preview","origin","children","last","position","products","categories","previewText","description","keywords","isPublish","isBlocked","imageUrl","productIDs","catIDs","videoUrl","modal","header","noNotSavedWarning","link","cancelUpload","removeFile","stop","disableBrowse","nameIsAvailable","previewContent","hasVideo","videoIsLoaded","fileInfoHtml","showError","$field","showCommentError","errorBlock","_getComments","page","isEdit","Total","urlRegex","Items","comment","htmlOut","tmpl","parent","commentBlock","firmName","isAuthenticated","src","imgPaht","updateEditMenu","$container","dropdown","mob","tum_mainMenu","toggleMenu","storageName","_get","localStorage","getItem","isSupported","reverse","query","setItem","removeItem","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","exports","module","__webpack_modules__","call","m","amdO","O","chunkIds","fn","priority","notFulfilled","Infinity","fulfilled","j","every","r","getter","__esModule","d","a","getPrototypeOf","obj","t","ns","def","current","getOwnPropertyNames","definition","o","defineProperty","enumerable","f","chunkId","all","reduce","promises","u","miniCssF","g","globalThis","Function","prototype","hasOwnProperty","l","done","script","needAttach","scripts","getElementsByTagName","getAttribute","charset","timeout","nc","onScriptComplete","prev","onerror","clearTimeout","doneFns","parentNode","removeChild","bind","head","Symbol","toStringTag","nmd","paths","scriptUrl","importScripts","currentScript","tagName","toUpperCase","p","loadStylesheet","fullhref","existingLinkTags","dataHref","tag","rel","existingStyleTags","findStylesheet","oldTag","linkTag","nonce","errorType","realHref","insertBefore","nextSibling","createStylesheet","installedCssChunks","miniCss","installedChunks","installedChunkData","promise","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""}