Page tree

Versions Compared

Key

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

...

Collaboration 플러그인에서 사용할 수 있는 이벤트 타입입니다.

on(), off() 메소드를 활용해 이벤트에 대한 리스너를 설정하거나 제거할 수 있습니다.

이벤트 타입설명
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}, position: {Position}, modified: {number}, self: {boolean} }, 
    ....
]
  • id: 사용자의 Client Id
  • name: 사용자의 이름
  • color: 사용자 색 
  • 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}, position: {Position}, modified: {number}, self: {boolean} }, 
    ....
]
  • id: 사용자의 Client Id
  • name: 사용자의 이름
  • color: 사용자 색 
  • 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) {});



on(eventType, listener)

Collaboration 플러그인에서 발생하는 이벤트에 대한 리스너를 설정합니다.

...