Skip to content

Commit 7ffe1a9

Browse files
committed
doc : 하드웨어 웹연결 커스텀프롬프트 가이드 추가
1 parent 535cecf commit 7ffe1a9

File tree

3 files changed

+62
-0
lines changed

3 files changed

+62
-0
lines changed

source/guide/entry-hw/2024-07-03-entry_hw_web_connect.md

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -265,6 +265,68 @@ module.exports = Entry.ArduinoLite;
265265

266266
<br>
267267

268+
## 커스텀 프롬프트 모달 사용하기
269+
기기를 연결하고 사용할때, 사용자로부터 입력값을 받아야 하는 경우가 있습니다.
270+
하드웨어 웹연결에서는 커스텀 프롬프트 모달을 통해 기기연결전에 사용자로부터 입력값을 받아와 `Entry.hwLite.customPromptPayload`에 저장하고 언제든 읽어올 수 있습니다.
271+
272+
### 모듈클래스 파일에 설정값 추가하기
273+
커스텀 프롬프트 모달을 사용하기 위해서는 모듈클래스.js 파일에 설정값을 추가해 주어야 합니다.
274+
275+
``` javascript
276+
'use strict';
277+
278+
(function () {
279+
Entry.ArduinoLite = new (class ArduinoLite {
280+
constructor() {
281+
this.id = '010101'; // id는 6자리 모두 입력해야 합니다.
282+
this.name = 'ArduinoLite';
283+
this.title = {
284+
ko: '핑퐁 G2',
285+
en: 'PingPong G2',
286+
};
287+
...
288+
// INFO: 하드웨어 연결 전, 사용자에게 값을 받아올 커스텀 프롬프트 설정
289+
this.customPrompt = {
290+
// 모달의 상단 타이틀 문구
291+
title: '그룹 번호 입력',
292+
// 모달의 중앙 콘텐츠 문구
293+
description:
294+
'연결할 기기의 그룹 번호를 입력해 주세요.\n 별도로 지정하지 않았다면 00을 입력합니다.',
295+
// 기본값
296+
defaultValue: '00',
297+
// 좌측 취소 버튼 문구
298+
negativeButtonText: '취소',
299+
// 우측 확인 버튼 문구
300+
positiveButtonText: '설정',
301+
};
302+
...
303+
}
304+
})();
305+
})();
306+
307+
module.exports = Entry.ArduinoLite;
308+
309+
```
310+
311+
각 속성의 코드상 내용은 [customPropmt 타입 정의](https://github.com/entrylabs/entryjs/blob/bdd47a4d300a83d5ad70aba333e81eb61f088aba/types/index.d.ts#L217)에서 확인 할 수 있습니다.
312+
313+
설정값을 추가한 뒤, 사용자가 모듈을 선택하고 나면 아래와 같은 프롬프트 창이 나타나게 됩니다.
314+
![HwLite_customPrompt1](/images/entry-hw/HwLite_customPrompt1.png)
315+
316+
이 프롬프트에서 사용자에게 입력받은 값은 `Entry.hwLite.getCustomPromptPayload()`함수로 호출해서 불러올 수 있습니다.
317+
318+
### entryjs 단독으로 테스트하기
319+
이 프롬프트 모듈을 사용하기 위해선, entry-tool 라이브러리를 사용해야 합니다.
320+
하지만 많은 하드웨어 개발사에서 entryjs만을 사용해 개발&테스트를 진행하기에 좀 더 간단한 테스트방법이 있습니다.
321+
322+
f12키로 브라우저 콘솔을 띄운 후, `Entry.hwLite.testCustomPromptPayload()` 함수를 호출하면 임시 프롬프트를 사용할 수 있습니다. 이 프롬프트에 입력한 값은 위와 동일하게 저장되어 `Entry.hwLite.getCustomPromptPayload()`함수로 호출할 수 있습니다.
323+
324+
![HwLite_customPrompt2](/images/entry-hw/HwLite_customPrompt2.png)
325+
326+
실제 유저가 사용할때는, 모듈을 선택한 뒤 나타나는 창을 콘솔로 임의호출하는 것이기 때문에 `Entry.playground.addHardwareLiteModule(Entry.모듈클래스명)` 함수를 호출해 모듈설정을 완료한 후에 사용이 가능합니다.
327+
328+
<br>
329+
268330
## 테스트하기
269331
다음 2가지 방법으로 테스트하실수 있습니다.
270332

196 KB
Loading
168 KB
Loading

0 commit comments

Comments
 (0)