perf: replace setInterval with load event listener in medium-zoom
Co-authored-by: KarelZe <12801659+KarelZe@users.noreply.github.com>
| | |
| | | active.zoomedHd.removeAttribute('sizes'); |
| | | active.zoomedHd.src = active.zoomed.getAttribute('data-zoom-src'); |
| | | active.zoomedHd.onerror = function () { |
| | | clearInterval(getZoomTargetSize); |
| | | console.warn('Unable to reach the zoom image target ' + active.zoomedHd.src); |
| | | active.zoomedHd = null; |
| | | _animate(); |
| | | }; |
| | | var getZoomTargetSize = setInterval(function () { |
| | | if (active.zoomedHd.complete) { |
| | | clearInterval(getZoomTargetSize); |
| | | if (active.zoomedHd.complete) { |
| | | active.zoomedHd.classList.add('medium-zoom-image--opened'); |
| | | active.zoomedHd.addEventListener('click', close); |
| | | document.body.appendChild(active.zoomedHd); |
| | | _animate(); |
| | | } else { |
| | | active.zoomedHd.addEventListener('load', function loadEventListener() { |
| | | active.zoomedHd.removeEventListener('load', loadEventListener); |
| | | active.zoomedHd.classList.add('medium-zoom-image--opened'); |
| | | active.zoomedHd.addEventListener('click', close); |
| | | document.body.appendChild(active.zoomedHd); |
| | | _animate(); |
| | | } |
| | | }, 10); |
| | | }); |
| | | } |
| | | } else if (active.original.hasAttribute('srcset')) { |
| | | active.zoomedHd = active.zoomed.cloneNode(); |
| | | active.zoomedHd.removeAttribute('sizes'); |
| | | var loadEventListener = active.zoomedHd.addEventListener('load', function () { |
| | | active.zoomedHd.addEventListener('load', function loadEventListener() { |
| | | active.zoomedHd.removeEventListener('load', loadEventListener); |
| | | active.zoomedHd.classList.add('medium-zoom-image--opened'); |
| | | active.zoomedHd.addEventListener('click', close); |
| | |
| | | "@release-it/conventional-changelog": "^11.0.1", |
| | | "conventional-commits-filter": "^6.0.1", |
| | | "husky": "^9.1.7", |
| | | "playwright": "^1.64.1", |
| | | "prettier": "^3.8.1", |
| | | "prettier-plugin-go-template": "^0.0.15", |
| | | "release-it": "^20.2.1", |
| | |
| | | "node": ">=18" |
| | | } |
| | | }, |
| | | "node_modules/@release-it/conventional-changelog/node_modules/conventional-commits-filter": { |
| | | "version": "5.0.0", |
| | | "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-5.0.0.tgz", |
| | | "integrity": "sha512-tQMagCOC59EVgNZcC5zl7XqO30Wki9i9J3acbUvkaosCT6JX3EeFwJD7Qqp4MCikRnzS18WXV3BLIQ66ytu6+Q==", |
| | | "extraneous": true, |
| | | "license": "MIT", |
| | | "engines": { |
| | | "node": ">=18" |
| | | } |
| | | }, |
| | | "node_modules/@release-it/conventional-changelog/node_modules/conventional-commits-parser": { |
| | | "version": "6.4.0", |
| | | "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-6.4.0.tgz", |
| | | "integrity": "sha512-tvRg7FIBNlyPzjdG8wWRlPHQJJHI7DylhtRGeU9Lq+JuoPh5BKpPRX83ZdLrvXuOSu5Eo/e7SzOQhU4Hd2Miuw==", |
| | | "extraneous": true, |
| | | "license": "MIT", |
| | | "dependencies": { |
| | | "@simple-libs/stream-utils": "^1.2.0", |
| | | "meow": "^13.0.0" |
| | | }, |
| | | "bin": { |
| | | "conventional-commits-parser": "dist/cli/index.js" |
| | | }, |
| | | "engines": { |
| | | "node": ">=18" |
| | | } |
| | | }, |
| | | "node_modules/@sentry/core": { |
| | | "version": "6.19.7", |
| | | "resolved": "https://registry.npmjs.org/@sentry/core/-/core-6.19.7.tgz", |
| | |
| | | "url": "https://ko-fi.com/dangreen" |
| | | } |
| | | }, |
| | | "node_modules/conventional-changelog/node_modules/conventional-commits-filter": { |
| | | "version": "5.0.0", |
| | | "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-5.0.0.tgz", |
| | | "integrity": "sha512-tQMagCOC59EVgNZcC5zl7XqO30Wki9i9J3acbUvkaosCT6JX3EeFwJD7Qqp4MCikRnzS18WXV3BLIQ66ytu6+Q==", |
| | | "extraneous": true, |
| | | "license": "MIT", |
| | | "engines": { |
| | | "node": ">=18" |
| | | } |
| | | }, |
| | | "node_modules/conventional-changelog/node_modules/conventional-commits-parser": { |
| | | "version": "6.4.0", |
| | | "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-6.4.0.tgz", |
| | |
| | | "pathe": "^2.0.3" |
| | | } |
| | | }, |
| | | "node_modules/playwright": { |
| | | "version": "1.64.1", |
| | | "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.64.1.tgz", |
| | | "integrity": "sha512-HCrVhHr5QQuwYoswEUGTb7gGp522yflbv/ST8nF4sFWGuLjQCt17Q/EubpGGSNKYn1tsTCPZxqHhHCfVURu7UA==", |
| | | "dev": true, |
| | | "license": "Apache-2.0", |
| | | "dependencies": { |
| | | "playwright-core": "1.64.1" |
| | | }, |
| | | "bin": { |
| | | "playwright": "cli.js" |
| | | }, |
| | | "engines": { |
| | | "node": ">=20" |
| | | } |
| | | }, |
| | | "node_modules/playwright-core": { |
| | | "version": "1.64.1", |
| | | "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.64.1.tgz", |
| | | "integrity": "sha512-BC4s8y6SEVA6Q1rSxZTto8hI1KUI3xXlHGZgvGqP4IqPdI/a6FX9H29IDNz7vKo9l21b6LfYosScPL6M3xxyDQ==", |
| | | "dev": true, |
| | | "license": "Apache-2.0", |
| | | "bin": { |
| | | "playwright-core": "cli.js" |
| | | }, |
| | | "engines": { |
| | | "node": ">=20" |
| | | } |
| | | }, |
| | | "node_modules/powershell-utils": { |
| | | "version": "0.2.0", |
| | | "resolved": "https://registry.npmjs.org/powershell-utils/-/powershell-utils-0.2.0.tgz", |
| | |
| | | "@release-it/conventional-changelog": "^11.0.1", |
| | | "conventional-commits-filter": "^6.0.1", |
| | | "husky": "^9.1.7", |
| | | "playwright": "^1.64.1", |
| | | "prettier": "^3.8.1", |
| | | "prettier-plugin-go-template": "^0.0.15", |
| | | "release-it": "^20.2.1", |