저장된 문서들의 추가/삭제된 이력을 비교할 수 있는 플러그인입니다.

(동영상 첨부 필요)

사용방법

플러그인 파일 불러오기

<!-- SynapEditor 객체가 존재해야 적용할 수 있기 때문에 에디터 스크립트 파일 아래에 include 해야 합니다 -->

<script src="documentComparison.min.js의 url"></script>

UI

플러그인 이름인 'documentComparison'을 사용하여 툴바 영역에 버튼을 추가할 수 있습니다.

툴바에 추가

//...
'editor.toolbar': [
    //...,
    'documentComparison',
    //...
],
// ...

메뉴에 추가

//...
'editor.menu.definition': {
	//...,
	'tools': [
		//...,
		'documentComparison',
		//...
	],
	//...
},
//...

플러그인 설정하기

사용 가능한 키


Key

Type

필수

설명

list

url

string

O

  • 요청을 보낼 URL을 설정합니다.

    • 저장된 문서 목록 리스트를 가져오는 API 주소

  • 설정이 되지 않으면 문서 이력 플러그인이 동작하지 않습니다.

headers

string


  • 요청을 보낼 헤더를 설정합니다.

params

string

O
  • 요청을 보낼 때 함께 보낼 기본 파라미터를 설정합니다.

dataurlstringO
  • 요청을 보낼 URL을 설정합니다.

    • 저장된 문서 목록 리스트 중 하나의 데이터를 가져오는 API 주소

  • 설정이 되지 않으면 문서 이력 플러그인이 동작하지 않습니다.

headersstring
  • 요청을 보낼 헤더를 설정합니다.
paramsstring
  • 요청을 보낼 때 함께 보낼 기본 파라미터를 설정합니다.
paramKeystring
  • 요청을 보낼 때 함께 보낼 파라미터의 Key 값을 설정합니다.


'documentComparison.config': {
        'list': { // 저장된 문서 목록 리스트에 대한 config 설정입니다.
            'url': '/getDocumentVersionList',
            'headers': {},
            'params': {}
        },
        'data': { // 저장된 문서 목록 중 하나의 데이터에 대한 config 설정입니다.
            'url': '/getDocumentVersionData', 
            'headers': {},
            'params': {},
            'paramKey': ''
        }
    }


API 예제 코드

    /**
     * 문서 버전 목록 가져오기
     */
    getDocumentVersionList: async (req, res) => {
        const id = _.get(req, ['body', 'id']);
        const results = await versionQueryManager.getVersions(id);

        const formattedData = results.map((result, index) => {
            return {
                id: result._id,
                date: result.createdAt,
                author: '' // 작성자 정보 값 설정
            };
        });
        res.json(formattedData);
    }

    /**
     * 문서 버전 데이터 가져오기
     */
    getDocumentVersionData: async (req, res) => {
        const id = _.get(req, ['body', 'id']);
        const result = await versionQueryManager.getData(id);
        res.json(result.json);
    }