Page tree

Versions Compared

Key

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

...

Code Block
languagejs
themeEmacs
var pluginName = "pluginName";
var pluginGenerator = function (editor) {
	//플러그인 객체를 반환합니다.
	return {
		//...
	};
};
SynapEditor.addPlugin(pluginName, pluginGenerator);

...

플러그인 객체의 형태


Properties
속성타입
Type
설명
DefinitionlanguagejsthemeEmacs
속성 정의
buttonDefArray | Object
Code Block

툴바 영역 또는 메뉴 영역에 버튼을 추가하기 위한 buttonDef입니다.

Array 형태

Code Block
buttonDef: [{
	name: '버튼의 이름
(없을 경우 플러그인의 이름)',
', //버튼이 2개 이상인 경우 반드시 있어야 합니다. UI에 추가하기 위해 각 버튼의 이름을 사용하면 됩니다.
	label: '버튼에 보여질 텍스트',
	iconSVG: '버튼의 아이콘으로 사용될 SVG 태그',
	onClickFunc: function () {
		//버튼이 클릭되었을 때 실행될 함수
	}
}
or
, ...]

Object 형태

Code Block
languagejs
themeEmacs
buttonDef: 
[
{
	name: '버튼의 이름
(없을
', //버튼이 1개인 경우 없어도 됩니다. UI상 추가하기 위해 플러그인의
이름)',
 이름을 사용하면 됩니다.
	label: '버튼에 보여질 텍스트',
	iconSVG: '버튼의 아이콘으로 사용될 SVG 태그',
	onClickFunc: function () {
		//버튼이 클릭되었을 때 실행될 함수
	}
}


shortcutDefArray | Object

단축키를 추가하기 위한 shortcutDef입니다.

Array 형태

Code Block
shortcutDef: [{
	key: {
		windows: '윈도우에서 사용할 단축키',
		mac: '맥에서 사용할 단축키'
	},
	option: {
		action: '에디터 액션 이름', 
		params: ['에디터 액션 파라미터 1', ...],
		focusIme: true or false //단축키 동작 후 에디터 포커스 설정 여부
	}
}, ...]

Object 형태

Code Block
languagejs
themeEmacs
shortcutDef: {
	key: {
		windows: '윈도우에서 사용할 단축키',
		mac: '맥에서 사용할 단축키'
	},
	option: {
		action: '에디터 액션 이름', 
		params: ['에디터 액션 파라미터 1', ...],
		focusIme: true or false //단축키 동작 후 에디터 포커스 설정 여부
	}
}


예제

'Hello World~'를 에디터에 삽입하는 플러그인

...