RwTinyMce
RwTinyMce는 현재 이름과 파일만 마련된 자리 표시자 구성요소입니다. 실제 소스에는 제목 외에 편집기 초기화, 값 바인딩, 저장 이벤트와 TinyMCE JavaScript 연결이 구현되어 있지 않습니다.
현재 지원 상태
| 기능 | 현재 상태 |
|---|---|
| 편집기 표시 | 지원하지 않음 |
| 값 입력·변경 | 지원하지 않음 |
| 이미지 업로드 | 지원하지 않음 |
| HTML 또는 Markdown 반환 | 지원하지 않음 |
| 읽기 전용 모드 | 지원하지 않음 |
따라서 새 화면에서 RwTinyMce를 편집기로 사용하면 안 됩니다. 구성요소가 존재한다는 사실만으로 기능이 준비된 것으로 판단하지 않습니다.
기존 HTML 편집
기존 제품에서 TinyMCE 기반 HTML 편집이 필요한 경우에는 실제 연동 코드가 들어 있는 RwTextBox의 TinyMCE 유형을 먼저 검토합니다. 저장 형식이 HTML인지, 허용 태그와 이미지 저장 방식이 무엇인지 화면의 API 계약과 함께 확인해야 합니다.
문서용 Markdown 편집
WaveWorks Docs처럼 Markdown을 원본으로 보관하는 화면에는 HTML 편집기를 그대로 사용하지 않습니다. 시각적 편집 결과가 다시 Markdown으로 안정적으로 변환되어야 하며 표, 코드 블록, 링크와 이미지 URL을 보존해야 합니다.
RwTinyMce 사용 제한
자리 표시자에 임시 JavaScript를 화면별로 붙이면 값 동기화, 해제, 테마와 업로드 방식이 서로 달라집니다. 편집 기능은 RxComponents의 공통 계약으로 구현한 뒤 각 호스트가 업로드 API와 권한만 제공하는 방식이 적합합니다.
Markdown Composer 계약
Markdown 원본을 편집하는 화면은 RwTextBox의 MarkdownComposer 유형을 사용합니다. 현재 공통 Composer는 다음 계약을 제공합니다.
- Markdown 원본과
Text·TextChanged양방향 바인딩 - 시각 편집과 Markdown 원문 편집 전환
- 제목, 강조, 링크, 목록, 인용, 코드 블록과 표 편집
- 호스트가 제공하는 이미지 업로드 콜백과 완료 URL 삽입
- 밝은 모드·어두운 모드와 Carbon 포커스 표현
- 구성요소 해제 시 JavaScript 인스턴스 정리
보안 기준
HTML을 저장하거나 렌더링한다면 허용 태그와 속성을 서버에서 정제합니다. 스크립트, 이벤트 속성과 위험한 URL을 제거하고, 이미지 업로드는 파일 API의 권한과 콘텐츠 검사를 통과해야 합니다.
선택 기준
일반 문자열이나 여러 줄 입력은 RwTextBox를 사용합니다. 기존 HTML 업무 편집은 검증된 TinyMCE 유형을 사용하고, Markdown 문서는 RwTextBox의 MarkdownComposer 유형을 사용합니다. RwTinyMce는 호환성을 위한 예약 구성요소이므로 새 화면에 사용하지 않습니다.
확인 사항
RwTinyMce에 실제 기능이 추가되면 이 문서와 공개 파라미터, 샘플과 테스트를 함께 갱신해야 합니다. 현재는 호환성을 위한 예약 구성요소로만 취급합니다.
