Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

이벤트 타입설명
ON_SYNC
  • 실시간 협업이 연결되었을 때 발생합니다.
  • 리스너의 parameter로 전달되는 값:
NameTypeDescription
eventObject


Code Block
languagejs
themeEmacs
{
    setForceUpdate: (update: boolean) => void
}
  • setForceUpdate(update): 실시간 협업 모델을 현재 에디터에 작성된 모델로 강제로 업데이트할지 여부를 설정합니다.


Code Block
languagejs
themeEmacs
titleexample
var editor = new SynapEditor(id, synapEditorConfig);
var collaboration = editor.plugins.collaboration;
var EVENT_TYPE = collaboration.EVENT_TYPE;

collaboration.on(EVENT_TYPE.ON_SYNC, function (event) {
    event.setForceUpdate(true);
});


USER_CHANGED
  • 접속 중인 사용자 수가 변경되었을 때 발생합니다.
  • 리스너의 parameter로 전달되는 값:
NameTypeDescription
usersObject[]

접속 중인 사용자 목록 배열입니다.

Code Block
languagejs
themeEmacs
[
    { id: {number}, name: {string}, color: {string}, data: {Object}, position: {Position}, modified: {number}, self: {boolean} }, 
    ....
]
  • id: 사용자의 Client Id
  • name: 사용자의 이름
  • color: 사용자 색 
  • data: 사용자 데이터
  • position: 사용자의 커서 위치 정보 
  • modified: 마지막으로 업데이트된 시간 timestamp
  • self: 사용자가 나 인지 여부
addednumber[]추가된 사용자의 Client Id 배열입니다.
removednumber[]제거된 사용자의 Client Id 배열입니다.


Code Block
languagejs
themeEmacs
titleexample
var editor = new SynapEditor(id, synapEditorConfig);
var collaboration = editor.plugins.collaboration;
var EVENT_TYPE = collaboration.EVENT_TYPE;

collaboration.on(EVENT_TYPE.USER_CHANGED, function (users, added, removed) {});


USER_INFO_CHANGED
  • 접속 중인 사용자의 이름, 색, 커서 위치 정보가 변경되거나 사용자 수가 변경되었을 때 발생합니다. 
  • 리스너의 parameter로 전달되는 값:
NameTypeDescription
usersObject[]

접속 중인 사용자 목록 배열입니다.

Code Block
languagejs
themeEmacs
[
    { id: {number}, name: {string}, color: {string}, data{Object}, position: {Position}, modified: {number}, self: {boolean} }, 
    ....
]
  • id: 사용자의 Client Id
  • name: 사용자의 이름
  • color: 사용자 색 
  • data: 사용자 데이터
  • position: 사용자의 커서 위치 정보 
  • modified: 마지막으로 업데이트된 시간 timestamp
  • self: 사용자가 나 인지 여부


Code Block
languagejs
themeEmacs
titleexample
var editor = new SynapEditor(id, synapEditorConfig);
var collaboration = editor.plugins.collaboration;
var EVENT_TYPE = collaboration.EVENT_TYPE;

collaboration.on(EVENT_TYPE.USER_INFO_CHANGED, function (users) {});


...

Code Block
languagejs
themeEmacs
titleexample
var editor = new SynapEditor(id, synapEditorConfig);
var collaboration = editor.plugins.collaboration;

collaboration.setUserName('#39b6b8');


setUserData(data)

사용자의 데이터를 기록합니다.

parameters:

NameTypeDescription
nameObject필요한 사용자 정보를 저장합니다.


Code Block
languagejs
themeEmacs
titleexample
var editor = new SynapEditor(id, synapEditorConfig);
var collaboration = editor.plugins.collaboration;

collaboration.setUserData({ userId: 'userId', connected: Date.now() });


getClientId()

현재 사용자의 Client Id를 반환합니다.

...

docId 에 해당하는 문서로 실시간 협업이 시작됩니다.

parameters:

NameTypeDescription
docIdstring실시간 협업을 시작할 문서의 Id입니다.

...

실시간 협업이 초기화 되는 시점에 실행될 함수를 설정합니다.

parameters:

NameTypeDescription
fnfunction실시간 협업이 초기화 되는 시점에 실행될 함수입니다.

...

parameter로 modelJSON을 넘기지 않은 경우 에디터의 현재 모델로 업데이트 합니다. 업데이트 기록 데이터의 versions 가 초기화 됩니다.

parameters:

NameTypeDescription
[modelJSON]Object에디터 Body Model JSON

...