웹 UI 라이브러리인 GWC에서 제공하는 Memo 컴포넌트에 대한 예제 코드입니다.
먼저 DOM 구성은 다음과 같습니다. gwc-resizable-panel 태그로 감싸서 크기 조정이 가능하도록 했습니다. 이는 옵션입니다.
그리고 CSS 구성은 다음과 같구요.
.center { display: flex; width: 100%; height: 100%; justify-content: center; align-items: center; flex-direction: column; gap: 0.5em; } .vcenter { display: flex; align-items: center; gap: 0.3em; } .hcenter { flex-direction: column; display: flex; _align-items: center; } gwc-memo { width: 100%; height: 100%; }
js 코드는 다음과 같습니다.
window.onload = () => { button1.onclick = () => { memo.value = "메모에 대한 내용은 코드로 변경할 수 있어요.\n줄 바꿈도 가능하답니다."; } button2.onclick = () => { gwcMessage(memo.value); } button3.onclick = () => { console.log(memo.disabled); memo.disabled = !memo.disabled; } button4.onclick = () => { console.log(memo.readonly); memo.readonly = !memo.readonly; } memo.addEventListener("change", (event) => { labelEvent.content = `${memo.value.length}자가 입력됨 (입력가능 문자수 ${memo.maxLength})`; }) GeoServiceWebComponentManager.instance.update(); };
실행 결과는 다음과 같습니다.
gwc-memo 태그 선언을 통해 value 속성에 문자열을 지정할 때 문자열에 쌍따옴표가 있을 경우 변환이 필요합니다.
<gwc-memo value="${params.content.replaceAll("\"", """)}"></gwc-memo>