Page tree
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 16 Next »

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

(동영상 첨부 필요)

사용방법

플러그인 파일 불러오기

<!-- 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 예제 코드:

example
    /**
     * 문서 버전 목록 가져오기
     */
    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);
    }
  • No labels