mirror of
https://github.com/Terranom674/Piwigo_Bratonien_Tools.git
synced 2026-09-19 16:24:33 +00:00
Fix Smarty parsing of watermark preview JavaScript
This commit is contained in:
@@ -200,5 +200,7 @@
|
||||
</div>
|
||||
|
||||
<script>
|
||||
{literal}
|
||||
(function(){'use strict';function clamp(v,min,max){return Math.min(max,Math.max(min,v));}function round(v,d){var f=Math.pow(10,d||0);return Math.round(v*f)/f;}function initWatermarkEditor(form){var fileSelect=form.querySelector('[data-watermark-file]'),percentInput=form.querySelector('[data-scale-percent]'),widthInput=form.querySelector('[data-scale-width]'),heightInput=form.querySelector('[data-scale-height]'),originalLabel=form.querySelector('[data-original-size]'),previewImage=form.querySelector('[data-preview-image]'),previewEmpty=form.querySelector('[data-preview-empty]'),previewInfo=form.querySelector('[data-preview-info]'),opacityInput=form.querySelector('[data-watermark-opacity]'),previewStage=form.querySelector('[data-preview-stage]');if(!fileSelect||!percentInput||!widthInput||!heightInput)return;function selectedMeta(){var option=fileSelect.options[fileSelect.selectedIndex];return{width:parseFloat(option?option.getAttribute('data-width'):0)||0,height:parseFloat(option?option.getAttribute('data-height'):0)||0,url:option?(option.getAttribute('data-url')||''):''};}function updatePreview(width,height,percent){var meta=selectedMeta();if(!meta.width||!meta.height||!meta.url){if(previewImage)previewImage.style.display='none';if(previewEmpty)previewEmpty.style.display='';if(previewInfo)previewInfo.textContent='';return;}if(previewEmpty)previewEmpty.style.display='none';if(previewImage){previewImage.src=meta.url;previewImage.style.display='block';previewImage.style.opacity=opacityInput?String(clamp((parseFloat(opacityInput.value)||100)/100,.01,1)):'1';var aw=Math.max(1,(previewStage?previewStage.clientWidth:360)-20),ah=Math.max(1,(previewStage?previewStage.clientHeight:250)-20),vs=Math.min(1,aw/width,ah/height);previewImage.style.width=Math.max(1,Math.round(width*vs))+'px';previewImage.style.height=Math.max(1,Math.round(height*vs))+'px';}if(previewInfo){var aW=Math.max(1,(previewStage?previewStage.clientWidth:360)-20),aH=Math.max(1,(previewStage?previewStage.clientHeight:250)-20),fitted=width>aW||height>aH;previewInfo.textContent='Original: '+Math.round(meta.width)+' × '+Math.round(meta.height)+' px · Ziel: '+Math.round(width)+' × '+Math.round(height)+' px · '+round(percent,1)+' %'+(fitted?' · Vorschau verkleinert':'');}}function applyPercent(raw){var meta=selectedMeta();if(!meta.width||!meta.height){widthInput.value='';heightInput.value='';if(originalLabel)originalLabel.textContent='Keine Datei gewählt';updatePreview(1,1,100);return;}var p=parseFloat(raw);if(!isFinite(p))p=100;p=clamp(p,1,1000);var w=Math.max(1,Math.round(meta.width*p/100)),h=Math.max(1,Math.round(meta.height*p/100));percentInput.value=round(p,2);widthInput.value=w;heightInput.value=h;if(originalLabel)originalLabel.textContent=Math.round(meta.width)+' × '+Math.round(meta.height)+' px';updatePreview(w,h,p);}function applyWidth(){var meta=selectedMeta();if(!meta.width||!meta.height)return;var w=parseFloat(widthInput.value);if(!isFinite(w)||w<1)w=meta.width;applyPercent(clamp(w/meta.width*100,1,1000));}function applyHeight(){var meta=selectedMeta();if(!meta.width||!meta.height)return;var h=parseFloat(heightInput.value);if(!isFinite(h)||h<1)h=meta.height;applyPercent(clamp(h/meta.height*100,1,1000));}fileSelect.addEventListener('change',function(){applyPercent(percentInput.value||100);});percentInput.addEventListener('input',function(){applyPercent(percentInput.value);});widthInput.addEventListener('input',applyWidth);heightInput.addEventListener('input',applyHeight);if(opacityInput)opacityInput.addEventListener('input',function(){applyPercent(percentInput.value);});applyPercent(percentInput.value||100);}document.querySelectorAll('[data-watermark-editor]').forEach(initWatermarkEditor);})();
|
||||
{/literal}
|
||||
</script>
|
||||
Reference in New Issue
Block a user