| Current Path : /var/www/homesaver/www/bitrix/js/ui/vue/directives/lazyload/dist/ |
| Current File : /var/www/homesaver/www/bitrix/js/ui/vue/directives/lazyload/dist/lazyload.bundle.js.map |
{"version":3,"file":"lazyload.bundle.js","sources":["../src/lazyload.js"],"sourcesContent":["/**\n * Image Lazy Load Vue directive\n *\n * @package bitrix\n * @subpackage ui\n * @copyright 2001-2019 Bitrix\n */\n\n/*\n\tAttention: intersection observer work with errors if image has border-radius\n\n\tExample of usage:\n\n\t<img v-bx-lazyload\n\t\tclass=\"bx-module-element\"\n\t\tsrc=\"https://.../placeholder.png\"\n\t\tdata-lazyload-src=\"https://.../targetImage.png\"\n\t\tdata-lazyload-error-src=\"https://.../errorImage.png\"\n\t/>\n\n\t<img v-bx-lazyload\n\t\tclass=\"bx-module-element\"\n\t\tsrc=\"https://.../placeholder.png\"\n\t\tdata-lazyload-dont-hide\n\t\tdata-lazyload-src=\"https://.../targetImage.png\"\n\t\tdata-lazyload-error-src=\"https://.../errorImage.png\"\n\t/>\n\n\t<img v-bx-lazyload\n\t\tclass=\"bx-module-element\"\n\t\tdata-lazyload-src=\"https://.../targetImage.png\"\n\t/>\n\n\t<img v-bx-lazyload\n\t\tclass=\"bx-module-element\"\n\t\tdata-lazyload-src=\"https://.../targetImage.png\"\n\t\tdata-lazyload-error-class=\"bx-module-element-error\"\n\t\tdata-lazyload-success-class=\"bx-module-element-success\"\n\t/>\n */\n\nimport {BitrixVue} from \"ui.vue\";\nimport 'main.polyfill.intersectionobserver';\n\nconst WATCH = 'bx-lazyload-watch';\nconst LOADING = 'bx-lazyload-loading';\nconst SUCCESS = 'bx-lazyload-success';\nconst ERROR = 'bx-lazyload-error';\nconst HIDDEN = 'bx-lazyload-hidden';\n\nconst BLANK_IMAGE = \"data:image/svg+xml,%3Csvg width='1px' height='1px' xmlns='http://www.w3.org/2000/svg'%3E%3C/svg%3E\";\n\nlet lazyloadObserver = null;\nlet lazyloadLoadImage = function(currentImage, callback)\n{\n\tlet SUCCESS_CLASS = currentImage.dataset.lazyloadSuccessClass? currentImage.dataset.lazyloadSuccessClass.split(\" \"): [];\n\tdelete currentImage.dataset.lazyloadSuccessClass;\n\n\tSUCCESS_CLASS = [SUCCESS, ...SUCCESS_CLASS];\n\n\tlet ERROR_CLASS = currentImage.dataset.lazyloadErrorClass? currentImage.dataset.lazyloadErrorClass.split(\" \"): [];\n\tdelete currentImage.dataset.lazyloadErrorClass;\n\n\tERROR_CLASS = [ERROR, ...ERROR_CLASS];\n\n\tcurrentImage.classList.add(LOADING);\n\n\tconst newImage = new Image();\n\tnewImage.src = currentImage.dataset.lazyloadSrc;\n\n\tif (!currentImage.dataset.lazyloadHiddenSrc)\n\t{\n\t\tcurrentImage.dataset.lazyloadHiddenSrc = currentImage.src;\n\t}\n\n\tnewImage.onload = function()\n\t{\n\t\tif (currentImage.classList.contains(HIDDEN))\n\t\t{\n\t\t\treturn false;\n\t\t}\n\n\t\tif (currentImage.dataset.lazyloadSrc)\n\t\t{\n\t\t\tcurrentImage.src = currentImage.dataset.lazyloadSrc;\n\t\t}\n\n\t\tcurrentImage.classList.remove(LOADING);\n\t\tcurrentImage.classList.add(...SUCCESS_CLASS);\n\n\t\tif (typeof currentImage.lazyloadCallback === 'function')\n\t\t{\n\t\t\tcurrentImage.lazyloadCallback({element: currentImage, state: 'success'});\n\t\t\tdelete currentImage.lazyloadCallback;\n\t\t}\n\t};\n\n\tnewImage.onerror = function()\n\t{\n\t\tif (currentImage.classList.contains(HIDDEN))\n\t\t{\n\t\t\treturn false;\n\t\t}\n\n\t\tcurrentImage.classList.remove(LOADING);\n\t\tcurrentImage.classList.add(...ERROR_CLASS);\n\t\tcurrentImage.title = '';\n\t\tcurrentImage.alt = '';\n\n\t\tif (typeof currentImage.lazyloadCallback === 'function')\n\t\t{\n\t\t\tcurrentImage.lazyloadCallback({element: currentImage, state: 'error'});\n\t\t\tdelete currentImage.lazyloadCallback;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tcurrentImage.src = BLANK_IMAGE;\n\t\t}\n\t};\n\n\tif (typeof currentImage.dataset.lazyloadDontHide !== 'undefined')\n\t{\n\t\tcurrentImage.classList.remove(WATCH);\n\t\tdelete currentImage.dataset.lazyloadDontHide;\n\n\t\tif (lazyloadObserver)\n\t\t{\n\t\t\tlazyloadObserver.unobserve(currentImage);\n\t\t}\n\t}\n};\n\nif (typeof window.IntersectionObserver !== 'undefined')\n{\n\tlazyloadObserver = new IntersectionObserver(function (entries, observer)\n\t{\n\t\tentries.forEach(function(entry)\n\t\t{\n\t\t\tconst currentImage = entry.target;\n\n\t\t\tif (currentImage.classList.contains(ERROR))\n\t\t\t{\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tif (entry.isIntersecting)\n\t\t\t{\n\t\t\t\tif (currentImage.classList.contains(HIDDEN))\n\t\t\t\t{\n\t\t\t\t\tif (currentImage.dataset.lazyloadSrc)\n\t\t\t\t\t{\n\t\t\t\t\t\tcurrentImage.src = currentImage.dataset.lazyloadSrc;\n\t\t\t\t\t}\n\t\t\t\t\tcurrentImage.classList.remove(HIDDEN);\n\t\t\t\t}\n\t\t\t\telse if (currentImage.classList.contains(WATCH))\n\t\t\t\t{\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tcurrentImage.classList.add(WATCH);\n\t\t\t\t\tlazyloadLoadImage(currentImage);\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tif (\n\t\t\t\t\tcurrentImage.classList.contains(HIDDEN)\n\t\t\t\t\t|| !currentImage.classList.contains(WATCH)\n\t\t\t\t)\n\t\t\t\t{\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tif (currentImage.dataset.lazyloadHiddenSrc)\n\t\t\t\t{\n\t\t\t\t\tcurrentImage.src = currentImage.dataset.lazyloadHiddenSrc;\n\t\t\t\t}\n\n\t\t\t\tcurrentImage.classList.remove(LOADING);\n\t\t\t\tcurrentImage.classList.add(HIDDEN);\n\t\t\t}\n\t\t});\n\t}, {\n\t\tthreshold: [0, 1]\n\t});\n}\n\nBitrixVue.directive('bx-lazyload',\n{\n\tbind(element, bindings)\n\t{\n\t\tif (typeof bindings.value === 'object' && typeof bindings.value.callback === 'function')\n\t\t{\n\t\t\telement.lazyloadCallback = bindings.value.callback;\n\t\t}\n\n\t\tif (!element.src || element.src === location.href.replace(location.hash, ''))\n\t\t{\n\t\t\telement.src = BLANK_IMAGE;\n\t\t}\n\n\t\tif (lazyloadObserver)\n\t\t{\n\t\t\tlazyloadObserver.observe(element);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tlazyloadLoadImage(element);\n\t\t}\n\t},\n\tcomponentUpdated(element)\n\t{\n\t\tif (\n\t\t\t!element.classList.contains(SUCCESS)\n\t\t\t&& !element.classList.contains(ERROR)\n\t\t\t&& !element.classList.contains(WATCH)\n\t\t\t&& !element.classList.contains(LOADING)\n\t\t)\n\t\t{\n\t\t\telement.classList.add(LOADING);\n\t\t}\n\t\telse if (\n\t\t\t(element.classList.contains(SUCCESS) || element.classList.contains(ERROR))\n\t\t\t&& element.dataset.lazyloadSrc\n\t\t\t&& element.dataset.lazyloadSrc !== element.src\n\t\t)\n\t\t{\n\t\t\tif (!element.dataset.lazyloadSrc.startsWith('http'))\n\t\t\t{\n\t\t\t\tconst url = document.createElement('a');\n\t\t\t\turl.href = element.dataset.lazyloadSrc;\n\t\t\t\tif (url.href === element.src)\n\t\t\t\t{\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\tlazyloadLoadImage(element);\n\t\t}\n\t},\n\tunbind(element)\n\t{\n\t\tif (lazyloadObserver)\n\t\t{\n\t\t\tlazyloadObserver.unobserve(element);\n\t\t}\n\t}\n});"],"names":["WATCH","LOADING","SUCCESS","ERROR","HIDDEN","BLANK_IMAGE","lazyloadObserver","lazyloadLoadImage","currentImage","callback","SUCCESS_CLASS","dataset","lazyloadSuccessClass","split","ERROR_CLASS","lazyloadErrorClass","classList","add","newImage","Image","src","lazyloadSrc","lazyloadHiddenSrc","onload","contains","remove","lazyloadCallback","element","state","onerror","title","alt","lazyloadDontHide","unobserve","window","IntersectionObserver","entries","observer","forEach","entry","target","isIntersecting","threshold","BitrixVue","directive","bind","bindings","value","location","href","replace","hash","observe","componentUpdated","startsWith","url","document","createElement","unbind"],"mappings":"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"}