diff --git a/resources/views/rd/fire-shutter-drawing/index.blade.php b/resources/views/rd/fire-shutter-drawing/index.blade.php index a3a03e03..4ce1f1af 100644 --- a/resources/views/rd/fire-shutter-drawing/index.blade.php +++ b/resources/views/rd/fire-shutter-drawing/index.blade.php @@ -507,6 +507,21 @@ function readSb() { S.sb.motorSide = $('sbMotorSide').value; } + // ============================ + // SVG DISPLAY HELPER + // ============================ + function displaySvg(svg) { + const c = $('svgContainer'); + c.innerHTML = ''; + const div = document.createElement('div'); + div.style.cssText = 'width:100%;height:100%;display:flex;align-items:center;justify-content:center;'; + div.style.transform = `scale(${S.view.scale}) translate(${S.view.offset.x / S.view.scale}px, ${S.view.offset.y / S.view.scale}px)`; + div.style.transformOrigin = 'center center'; + div.innerHTML = svg; + c.appendChild(div); + $('scaleDisplay').textContent = `SCALE: ${Math.round(S.view.scale * 100)}%`; + } + // ============================ // RENDER DISPATCHER // ============================ @@ -569,7 +584,7 @@ function renderSettingsPreview() { ${S.productType === 'steel' ? '강판 슬랫' : '스크린 원단'} `; - $('svgContainer').innerHTML = svg; + displaySvg(svg); } // ============================ @@ -672,14 +687,7 @@ function renderGrCross() { GUIDE RAIL BODY (C-CHANNEL) — ${S.productType === 'steel' ? '강판형' : '스크린형'} `; - const c = $('svgContainer'); - c.innerHTML = ''; - const div = document.createElement('div'); - div.style.transform = `scale(${S.view.scale}) translate(${S.view.offset.x / S.view.scale}px, ${S.view.offset.y / S.view.scale}px)`; - div.style.transformOrigin = 'center center'; - div.innerHTML = svg; - c.appendChild(div); - $('scaleDisplay').textContent = `SCALE: ${Math.round(S.view.scale * 100)}%`; + displaySvg(svg); } function renderGrFront() { @@ -718,13 +726,7 @@ function renderGrFront() { GUIDE RAIL — FRONT VIEW `; - const c = $('svgContainer'); - c.innerHTML = ''; - const div = document.createElement('div'); - div.style.transform = `scale(${S.view.scale}) translate(${S.view.offset.x / S.view.scale}px, ${S.view.offset.y / S.view.scale}px)`; - div.innerHTML = svg; - c.appendChild(div); - $('scaleDisplay').textContent = `SCALE: ${Math.round(S.view.scale * 100)}%`; + displaySvg(svg); } // ============================ @@ -810,13 +812,7 @@ function renderSbFront() { HEAD BOX / CASE — t=${b.thickness}mm `; - const c = $('svgContainer'); - c.innerHTML = ''; - const div = document.createElement('div'); - div.style.transform = `scale(${S.view.scale}) translate(${S.view.offset.x / S.view.scale}px, ${S.view.offset.y / S.view.scale}px)`; - div.innerHTML = svg; - c.appendChild(div); - $('scaleDisplay').textContent = `SCALE: ${Math.round(S.view.scale * 100)}%`; + displaySvg(svg); } function renderSbSide() { @@ -863,13 +859,7 @@ function renderSbSide() { ${b.height} mm `; - const c = $('svgContainer'); - c.innerHTML = ''; - const div = document.createElement('div'); - div.style.transform = `scale(${S.view.scale}) translate(${S.view.offset.x / S.view.scale}px, ${S.view.offset.y / S.view.scale}px)`; - div.innerHTML = svg; - c.appendChild(div); - $('scaleDisplay').textContent = `SCALE: ${Math.round(S.view.scale * 100)}%`; + displaySvg(svg); } // ============================