Skip to content

HuskyFramework API 레퍼런스

Kyungil Park edited this page Dec 30, 2016 · 2 revisions

nhn.husky.HuskyCore - Husky 코어

acceptLocalBeforeFirstAgain : function(oPlugin, bAccept)

Description

특정 Husky 플러그 인에서 이미 실행된 $LOCAL_BEFORE_FIRST를 한 번 더 실행될 수 있도록 하거나 실행될 수 있는 $LOCAL_BEFORE_FIRST를 실행되지 않도록 설정한다.

Syntax

oHuskyCore.acceptLocalBeforeFirstAgain(oPlugin, bAccept);

Parameters

(Object) oPlugin
[in] $LOCAL_BEFORE_FIRST의 실행 여부를 결정할 대상 Husky 플러그 인
(Boolean) bAccept
[in] $LOCAL_BEFORE_FIRST의 실행 여부
실행 : true
실행하지 않음 : false

Return Values

None

Remarks

None

Example Code

this.oApp.acceptLocalBeforeFirstAgain(this, true);

Requirements

None

See Also

None

addToMessageMap : function(sMsgHandler, oPlugin)

Description

특정 플러그 인에 동적으로 추가된 메시지 핸들러를 메시지 핸들러 매핑 정보에 추가한다.

Syntax

oHuskyCore.addToMessageMap(sMsgHandler, oPlugin)

Parameters

(String) sMsgHandler
[in] 메시지 핸들러 매핑 정보에 추가할 메시지 핸들러의 이름
(Object) oPlugin
[in] 추가할 메시지 핸들러가 속한 Husky 플러그 인

Return Values

None

Remarks

메시지 핸들러 매핑 정보 전체를 재생성하는 createMessageMap() 함수와 달리 특정 Husky 플러그 인을 지정하여 메시지 핸들러 매핑 정보에 메시지 핸들러를 추가한다. 추가할 메시지 핸들러를 정확히 알고 있는 경우 createMessageMap() 함수를 사용하여 메시지 핸들러 매핑 정보를 갱신할 때보다 효율적이다.

Example Code

this.oApp.addToMessageMap("$ON_MSG_MAP_UPDATED", this);

Requirements

None

See Also

createMessageMap : function(sMsgHandler)

createMessageMap : function(sMsgHandler)

Description

특정 메시지 핸들러를 메시지 핸들러 매핑 정보에 추가한다.

Syntax

oHuskyCore.createMessageMap("sMsgHandler");

Parameters

(String) sMsgHandler
[in] 메시지 핸들러 목록에 추가할 메시지 핸들러 이름

Return Values

None

Remarks

메시지가 처음 발생할 때 Husky 코어가 자동으로 이 함수를 호출해서 Husky 플러그 인과 메시지 사이에 대응되는 메시지 핸들러를 파악하여 메시지 핸들러 매핑 정보를 생성한다. 메시지 핸들러 매핑 정보가 생성된 후 동적으로 플러그 인이나 메시지 핸들러를 추가하면 직접 이 함수를 호출해서 메시지 핸들러 매핑 정보를 다시 생성해야 한다.

Example Code

this.oApp.createMessageMap("$ON_MSG_MAP_UPDATED");

Requirements

None

See Also

addToMessageMap : function(sMsgHandler, oPlugin)

delayedExec : function(sMessage, aParams, nDelay, oEvent)

Description

지정한 시간만큼 연기한 후 웹 애플리케이션에 메시지를 발생시킨다.

Syntax

oHuskyCore.delayedExec(sMsg, aArgs, nDelay, oEvent);

Parameters

(String) sMessage
[in] 발생할 메시지
(Array) aParams
[in] 메시지와 함께 전송할 파라미터
(Number) nDelay
[in] 지연시킬 시간(ms)
(Event) oEvent[Optional]
[in] 브라우저 이벤트

Return Values

None

Remarks

웹 브라우저 이벤트를 통해서 이 함수가 호출됐을 때, oEvent 파라미터에 웹 브라우저 이벤트 객체를 자동으로 할당한다.

Example Code

this.oApp.delayedExec("ACT_RELOAD_PAGE", [], 10);

Requirements

None

See Also

exec : function(sMessage, aParams, oEvent)

disableMessage : function(sMessage, bDisable)

Description

특정 메시지를 무시하도록 설정하거나 무시하도록 설정한 메시지를 허용하도록 설정한다.

Syntax

oHuskyCore.disableMessage(sMessage, bDisable);

Parameters

(String) sMessage
[in] 대상 메시지
(Boolean) bDisable
[in] 메시지 무시 또는 허용 여부
무시 설정 : true
허용 설정 : false

Return Values

None

Remarks

None

Example Code

this.oApp.disableMessage("MAIN_DIV_CLICKED", true);

Requirements

None

See Also

$ON_DISABLE_MESSAGE : function(sMessage)
$ON_ENABLE_MESSAGE : function(sMessage)

exec : function(sMessage, aParams, oEvent)

Description

웹 애플리케이션에 메시지를 발생시킨다.

Syntax

oHuskyCore.exec(sMessage, aParams, oEvent);

Parameters

(String) sMessage
[in] 발생할 메시지
(Array) aParams[Optional]
[in] 메시지와 함께 전송할 파라미터
(Event) oEvent[Optional]
[in] 브라우저 이벤트

Return Values

None

Remarks

웹 브라우저 이벤트를 통해서 이 함수가 호출됐을 때, oEvent 파라미터에 웹 브라우저 이벤트 객체를 자동으로 할당한다.

Example Code

this.oApp.exec("MSG_PAGE_CHANGED");

Requirements

None

See Also

delayedExec : function(sMessage, aParams, nDelay, oEvent)

registeBrowserEvent : function(elObject, sEvent, sMessage, aParams, nDelay)

Description

특정 브라우저 이벤트와 특정 메시지를 연결한다. 설정한 브라우저 이벤트가 발생하면 해당 브라우저 이벤트와 연결된 메시지가 발생한다.

Syntax

oHuskyCore.registerBrowserEvent(elObject, sEvent, sMessage, aParams, nDelay);

Parameters

(HTML Element) elObject
[in] 이벤트가 발생할 HTML 요소
(String) sEvent
[in] HTML 요소가 발생시킬 브라우저 이벤트
(String) sMessage
[in] 연결할 메시지 이름
(Array) aParams [Optional]
[in] 메시지와 함께 전송할 파라미터
(Number) nDelay [Optional]
[in] 지연시킬 시간(ms)

Return Values

None

Remarks

aParams 파라미터는 nDelay 파라미터를 사용할 경우 필수 입력 요소가 된다.

Example Code

this.oApp.registerBrowserEvent($("MAIN_DIV"), "click", "MAIN_DIV_CLICKED");
this.oApp.registerBrowserEvent($("MAIN_DIV"), "click", "MAIN_DIV_CLICKED", [], 10);

Requirements

None

See Also

None

registePlugin : function(oPlugin)

Description

Husky 코어에 Husky 플러그 인을 등록한다.

Syntax

oHuskyCore.registerPlugin(oPlugin);

Parameters

(Object) oPlugin
[in] 등록할 Husky 플러그 인 객체

Return Values

None

Remarks

None

Example Code

// Husky 코어 플러그 인 등록
this.oApp.registerPlugin(new nhn.husky.CorePlugin());

// 사용자 정의 플러그 인 등록
this.oApp.registerPlugin(new UserDefinedPlugin());

Requirements

None

See Also

None

run : function(htOptions)

Description

Husky 코어를 실행한다. 실행된 Husky 코어 플러그 인은 등록된 플러그 인이 모두 준비될 때까지 기다리며 Husky 플러그 인이 모두 준비되면 "MSG_APP_READY" 메시지를 발생시킨다.

Syntax

oHuskyCore.run(htOptions);

Parameters

(Object) htOptions[Optional]
[in] Hash Table 형태의 옵션 목록.

Return Values

None

Remarks

현재(2009년 8월) htOptions의 키 값으로 지원하는 옵션은 fnOnAppReady가 있다. fnOnAppReady 키에 대응되는 함수는 모든 Husky 플러그 인이 준비되었을 때 실행된다. fnOnAppReady 키의 함수가 동작하려면 Husky 코어 플러그 인이 Husky 코어에 등록되어 있어야 한다.

Example Code

var fnAppReady = function(){
  alert("APP READY!");
}
this.oApp.run({fnOnAppReady:fnAppReady});

Requirements

None

See Also

None

nhn.husky.CorePlugin - Husky 코어 플러그 인

$ON_ADD_APP_PROPERTY : function(sPropertyName, oProperty)

Description

외부로 제공할 API나 내부적으로 자주 이용되는 Husky 플러그 인의 함수 또는 변수를 접근할 수 있게 Husky 코어에 등록한다

Syntax

oHuskyCore.exec("ADD_APP_PROPERTY", [sPropertyName, oProperty]);

Parameters

(String) sPropertyName
[in] Husky 코어에 등록할 이름
(Object) oProperty
[in] Husky 코어에 추가할 함수 또는 변수

Return Values

None

Remarks

None

Example Code

// Husky 코어 등록
this.oApp.exec("ADD_APP_PROPERTY", ["getSelection", this._getSelection]);

// 내부 Husky 플러그 인에서 접근
var oSelection = this.oApp.getSelection();

// 외부에서 Husky 코어 이름을 통해 접근
var oSelection = oEditor.getSelection();

Requirements

None

See Also

exec : function(sMessage, aParams, oEvent)

$ON_DISABLE_MESSAGE : function(sMessage)

Description

특정 메시지를 무시하도록 설정한다.

Syntax

oHuskyCore.exec("DISABLE_MESSAGE", [sMessage]);

Parameters

(String) sMessage
[in] 무시할 메시지

Return Values

None

Remarks

Husky 코어에서 제공하는 disableMessage() 함수와 달리 일반 메시지 핸들러로 기능을 수행한다. 특정 메시지를 무시하기 전이나 후에 처리할 일이 있으면 전처리 메시지 핸들러와 후처리 메시지 핸들러를 사용할 수 있다.

Example Code

this.oApp.exec("DISABLE_MESSAGE", ["MAIN_DIV_CLICKED"]);

Requirements

None

See Also

disableMessage : function(sMessage, bDisable)
exec : function(sMessage, aParams, oEvent)
$ON_ENABLE_MESSAGE : function(sMessage)

$ON_ENABLE_MESSAGE : function(sMessage)

Description

무시하도록 설정한 메시지를 다시 허용하도록 설정한다.

Syntax

oHuskyCore.exec("ENABLE_MESSAGE", [sMessage]);

Parameters

(String) sMessage
[in] 허용할 메시지명

Return Values

None

Remarks

Husky 코어에서 제공하는 disableMessage() 함수와 달리 일반 메시지 핸들러로 기능을 수행한다. 특정 메시지를 무시하기 전이나 후에 처리할 일이 있으면 전처리 메시지 핸들러와 후처리 메시지 핸들러를 사용할 수 있다.

Example Code

this.oApp.exec("ENABLE_MESSAGE", ["MAIN_DIV_CLICKED"]);

Requirements

None

See Also

disableMessage : function(sMessage, bDisable)
exec : function(sMessage, aParams, oEvent)
$ON_DISABLE_MESSAGE : function(sMessage)

$ON_REGISTER_BROWSER_EVENT : function(elObject, sEvent, sMessage, aParams, nDelay)

Description

웹 브라우저 이벤트와 Husky 메시지를 연결해 준다.

Syntax

oHuskyCore.exec("REGISTER_BROWSER_EVENT", [elObject, sEvent, sMessage, aParams, nDelay]);

Parameters

(HTML Element) elObject
[in] 이벤트가 발생할 HTML 요소
(String) sEvent
[in] HTML 요소가 발생시킬 브라우저 이벤트
(String) sMessage
[in] 연결할 메시지 이름
(Array) aParams [Optional]
[in] 메시지와 함께 전송할 파라미터
(Number) nDelay [Optional]
[in] 지연시킬 시간(ms)

Return Values

None

Remarks

Husky 코어에서 제공하는 registerBrowserEvent() 함수와 달리 일반 메시지 핸들러로 기능을 수행한다. 브라우저 이벤트 발생 시 특정 메시지가 발생하도록 설정하기 전이나 후에 처리할 일이 있으면 전처리 메시지 핸들러와 후처리 메시지 핸들러를 사용할 수 있다.

Example Code

this.oApp.exec("REGISTER_BROWSER_EVENT", [$("MAIN_DIV"), "click", "MAIN_DIV_CLICKED", []);

Requirements

None

See Also

exec : function(sMessage, aParams, oEvent)
registeBrowserEvent : function(elObject, sEvent, sMessage, aParams, nDelay)