sales-frontend-oz 0.0.7 → 0.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -1
- package/dist/index.cjs +935 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +703 -1
- package/dist/index.d.ts +703 -1
- package/dist/index.js +876 -0
- package/dist/index.js.map +1 -1
- package/package.json +12 -16
- package/dist/legacy/index.cjs +0 -18
- package/dist/legacy/index.cjs.map +0 -1
- package/dist/legacy/index.d.cts +0 -206
- package/dist/legacy/index.d.ts +0 -206
- package/dist/legacy/index.js +0 -16
- package/dist/legacy/index.js.map +0 -1
package/dist/index.d.cts
CHANGED
|
@@ -1,2 +1,704 @@
|
|
|
1
|
+
import { CSSProperties } from 'react';
|
|
2
|
+
import * as sales_frontend_bridge from 'sales-frontend-bridge';
|
|
3
|
+
import { FormInfo, OzdFile, DownloadOzdOptions } from 'sales-frontend-bridge';
|
|
4
|
+
export { DownloadOzdOptions, FormInfo, OzdFile } from 'sales-frontend-bridge';
|
|
1
5
|
|
|
2
|
-
|
|
6
|
+
/**
|
|
7
|
+
* 형광펜 편집 관련 상수
|
|
8
|
+
*/
|
|
9
|
+
declare const commentPenYellow: string[];
|
|
10
|
+
declare const commentPenPink: string[];
|
|
11
|
+
declare const commentPenGreen: string[];
|
|
12
|
+
declare const commentPenEraser: string[];
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* 모든페이지 공용으로 쓰는 OZ 뷰어파라미터
|
|
16
|
+
*/
|
|
17
|
+
declare const commonOzParam: string[];
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* PDF export시 공통으로 필요한 파라미터
|
|
21
|
+
*
|
|
22
|
+
* 제공하지 않는 파라미터
|
|
23
|
+
* - filename
|
|
24
|
+
* - ex) `pdf.filename=test.pdf`
|
|
25
|
+
* - pages
|
|
26
|
+
* - ex) `export.pages=1-2`
|
|
27
|
+
* - userpassword
|
|
28
|
+
* - ex) `pdf.userpassword=123213`
|
|
29
|
+
*/
|
|
30
|
+
declare const commonPdfExportParam: string[];
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* OZ 뷰어에 관련된 이벤트 목록
|
|
34
|
+
*/
|
|
35
|
+
declare enum OZViewerEvent {
|
|
36
|
+
/**
|
|
37
|
+
* 보고서 생성 단계별로 발생하는 이벤트
|
|
38
|
+
* - `OZViewerProgressEvent` 이벤트와 매칭된다
|
|
39
|
+
* - `viewer.progresscommand=true` 설정이 필요하다
|
|
40
|
+
* - `OZViewerProgressEvent`와 매칭된다
|
|
41
|
+
* - 모든 문서가 로딩되면 `OZReportCreated` 이벤트를 트리거시켜주어야 한다
|
|
42
|
+
*/
|
|
43
|
+
OZProgressCommand = "OZProgressCommand",
|
|
44
|
+
/**
|
|
45
|
+
* 에러 발생 시 발생하는 이벤트
|
|
46
|
+
* - `viewer.errorcommand=true` 설정이 필요하다
|
|
47
|
+
* - `OZViewerErrorEvent`와 매칭된다
|
|
48
|
+
*/
|
|
49
|
+
OZErrorCommand = "OZErrorCommand",
|
|
50
|
+
/**
|
|
51
|
+
* 화면에 표시되는 페이지가 변경된 후 발생하는 이벤트
|
|
52
|
+
* - `viewer.pagechangecommand=true` 설정이 필요하다
|
|
53
|
+
* - `OZViewerChangeEvent`와 매칭된다
|
|
54
|
+
*/
|
|
55
|
+
OZPageChangeCommand = "OZPageChangeCommand",
|
|
56
|
+
/**
|
|
57
|
+
* 화면에 표시되는 보고서가 변경된 후 발생하는 이벤트
|
|
58
|
+
* - `viewer.reportchangecommand=true` 설정이 필요하다
|
|
59
|
+
* - `OZViewerChangeEvent`와 매칭된다
|
|
60
|
+
*/
|
|
61
|
+
OZReportChangeCommand = "OZReportChangeCommand",
|
|
62
|
+
/**
|
|
63
|
+
* `OZUserEvent` _TriggerOCXUserEvent 함수 실행 시 발생하는 이벤트
|
|
64
|
+
* - `OZViewerUserEvent`와 매칭된다
|
|
65
|
+
*/
|
|
66
|
+
OZUserEvent = "OZUserEvent",
|
|
67
|
+
/**
|
|
68
|
+
* `OZPageBindCommand` 페이지가 바인딩된 후 발생하는 이벤트
|
|
69
|
+
* - `viewer.pagebindcommandinterval` 파라미터에서 설정한 주기별로 동작
|
|
70
|
+
* - ex) `viewer.pagebindcommandinterval=500`
|
|
71
|
+
* - `OZViewerPageBindEvent`와 매칭된다
|
|
72
|
+
*/
|
|
73
|
+
OZPageBindCommand = "OZPageBindCommand",
|
|
74
|
+
/**
|
|
75
|
+
* 사용자가 입력 컴포넌트를 클릭하거나 값을 변경하여 이벤트가 실행된 경우 발생되는 이벤트'
|
|
76
|
+
* - 호환되는 이벤트
|
|
77
|
+
* - `OnClick`
|
|
78
|
+
* - `OnFinish`
|
|
79
|
+
* - `OnFocus`
|
|
80
|
+
* - `OnKillFocus`
|
|
81
|
+
* - `OnPause`
|
|
82
|
+
* - `OnPlay`
|
|
83
|
+
* - `OnStop`
|
|
84
|
+
* - `OnValueChanged`
|
|
85
|
+
* - `eform.inputeventcommand=true` 설정이 필요하다
|
|
86
|
+
* - `OZEFormInputEvent`와 매칭된다
|
|
87
|
+
*/
|
|
88
|
+
OZEFormInputEventCommand = "OZEFormInputEventCommand",
|
|
89
|
+
/**
|
|
90
|
+
* 보고서 저장 시 발생하는 이벤트
|
|
91
|
+
* - `OZExportEvent`와 매칭된다
|
|
92
|
+
*/
|
|
93
|
+
OZExportCommand = "OZExportCommand",
|
|
94
|
+
/**
|
|
95
|
+
* 오즈뷰어, (오즈전용)PDF 뷰어 내 버튼 클릭시 발생하는 이벤트
|
|
96
|
+
* - `OZBtnTouchEvent`와 매칭된다
|
|
97
|
+
*/
|
|
98
|
+
OZBtnTouchEvent = "btnTouchEvent",
|
|
99
|
+
/**
|
|
100
|
+
* `OZProgressCommand` 이벤트가 문서 갯수만큼 불리면 이 이벤트를 트리거한다
|
|
101
|
+
* - 웹에서 직접 트리거 하는 이벤트
|
|
102
|
+
*/
|
|
103
|
+
OZReportCreated = "OZReportCreated"
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* TriggerExternal에 사용할 param1인자를 정의한 enum
|
|
107
|
+
* - GetDraftData 중간저장 서명이미지 추출
|
|
108
|
+
* - cropimage 서명이미지 크롭
|
|
109
|
+
*/
|
|
110
|
+
declare enum OZTriggerExternalEvent {
|
|
111
|
+
GetDraftData = "getDraftData",
|
|
112
|
+
CropImage = "cropimage"
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* `OZViewerEvent.OZProgressCommand` 이벤트의 `e.detail` 타입 정의
|
|
116
|
+
* ```tsx
|
|
117
|
+
* import { OZViewerEvent } from 'sales-frontend-bridge';
|
|
118
|
+
* window.addEventListener(OZViewerEvent.OZProgressCommand, (e) => { console.log(e.detail); });
|
|
119
|
+
* ```
|
|
120
|
+
*
|
|
121
|
+
* `step과` `state`는 step => state 방식으로 진행된다
|
|
122
|
+
*
|
|
123
|
+
* 예시
|
|
124
|
+
* ```bash
|
|
125
|
+
* # step0 뷰어실행
|
|
126
|
+
* [step=0][state=0] # 뷰어 실행 시작
|
|
127
|
+
* [step=0][state=1] # 뷰어 실행 완료
|
|
128
|
+
* # step2 보고서 템플릿 생성
|
|
129
|
+
* [step=1][state=0] # 보고서 템플릿 생성 시작
|
|
130
|
+
* [step=1][state=1] # 보고서 템플릿 생성 완료
|
|
131
|
+
* ```
|
|
132
|
+
*/
|
|
133
|
+
type OZViewerProgressEvent = {
|
|
134
|
+
/**
|
|
135
|
+
* 보고서 생성 단계
|
|
136
|
+
* - 0 : 뷰어 실행 옵션 설정
|
|
137
|
+
* - 1 : 보고서 파일 다운로드
|
|
138
|
+
* - 2 : 보고서 템플릿 생성
|
|
139
|
+
* - 3 : 데이터 다운로드
|
|
140
|
+
* - 4 : 보고서 바인딩
|
|
141
|
+
*/
|
|
142
|
+
step: '0' | '1' | '2' | '3' | '4';
|
|
143
|
+
/**
|
|
144
|
+
* 보고서 생성 상태
|
|
145
|
+
* - 1 : 시작
|
|
146
|
+
* - 2 : 완료
|
|
147
|
+
*/
|
|
148
|
+
state: '1' | '2';
|
|
149
|
+
/** 보고서 이름 */
|
|
150
|
+
reportname: string;
|
|
151
|
+
};
|
|
152
|
+
/**
|
|
153
|
+
* `OZViewerEvent.OZErrorCommand` 이벤트의 `e.detail` 타입 정의
|
|
154
|
+
* ```tsx
|
|
155
|
+
* import { OZViewerEvent } from 'sales-frontend-bridge';
|
|
156
|
+
* window.addEventListener(OZViewerEvent.OZErrorCommand, (e) => { console.log(e.detail); });
|
|
157
|
+
* ```
|
|
158
|
+
*/
|
|
159
|
+
type OZViewerErrorEvent = {
|
|
160
|
+
/** 에러 메시지 코드 */
|
|
161
|
+
code: string;
|
|
162
|
+
/** 에러 기본 메시지 */
|
|
163
|
+
message: string;
|
|
164
|
+
/** 에러 상세 메시지 */
|
|
165
|
+
detailmessage: string;
|
|
166
|
+
/** 보고서 이름 */
|
|
167
|
+
reportname: string;
|
|
168
|
+
};
|
|
169
|
+
/**
|
|
170
|
+
* 두 이벤트의 공용 타입
|
|
171
|
+
* - `OZViewerEvent.OZPageChangeCommand` 이벤트의 `e.detail` 타입 정의
|
|
172
|
+
* - `OZViewerEvent.OZReportChangeCommand` 이벤트의 `e.detail` 타입 정의
|
|
173
|
+
* ```tsx
|
|
174
|
+
* import { OZViewerEvent } from 'sales-frontend-bridge';
|
|
175
|
+
* window.addEventListener(OZViewerEvent.OZPageChangeCommand, (e) => { console.log(e.detail); });
|
|
176
|
+
* window.addEventListener(OZViewerEvent.OZViewerChangeCommand, (e) => { console.log(e.detail); });
|
|
177
|
+
* ```
|
|
178
|
+
*/
|
|
179
|
+
type OZViewerChangeEvent = {
|
|
180
|
+
/** 보고서 인덱스(zero-based index) */
|
|
181
|
+
docindex: number;
|
|
182
|
+
};
|
|
183
|
+
/**
|
|
184
|
+
* `OZViewerEvent.OZUserEvent` 이벤트의 `e.detail` 타입 정의
|
|
185
|
+
* ```tsx
|
|
186
|
+
* import { OZViewerEvent } from 'sales-frontend-bridge';
|
|
187
|
+
* window.addEventListener(OZViewerEvent.OZUserEvent, (e) => { console.log(e.detail); });
|
|
188
|
+
* ```
|
|
189
|
+
*/
|
|
190
|
+
type OZViewerUserEvent = {
|
|
191
|
+
/** _TriggerOCXUserEvent 함수에서 전달한 첫 번째 값 */
|
|
192
|
+
param1: string;
|
|
193
|
+
/** _TriggerOCXUserEvent 함수에서 전달한 두 번째 값 */
|
|
194
|
+
param2: string;
|
|
195
|
+
/** _TriggerOCXUserEvent 함수에서 전달한 세 번째 값 */
|
|
196
|
+
param3: string;
|
|
197
|
+
/** 보고서 인덱스(zero-based index) */
|
|
198
|
+
docindex: string;
|
|
199
|
+
};
|
|
200
|
+
/**
|
|
201
|
+
* `OZViewerEvent.OZPageBindCommand` 이벤트의 `e.detail` 타입 정의
|
|
202
|
+
* ```tsx
|
|
203
|
+
* import { OZViewerEvent } from 'sales-frontend-bridge';
|
|
204
|
+
* window.addEventListener(OZViewerEvent.OZPageBindCommand, (e) => { console.log(e.detail); });
|
|
205
|
+
* ```
|
|
206
|
+
*/
|
|
207
|
+
type OZViewerPageBindEvent = {
|
|
208
|
+
/** 보고서 인덱스(zero-based index) */
|
|
209
|
+
docindex: string;
|
|
210
|
+
/** 바인딩된 페이지 번호 */
|
|
211
|
+
pagecount: string;
|
|
212
|
+
};
|
|
213
|
+
type OZEFormInputEvent = {
|
|
214
|
+
/** 보고서 인덱스(zero-based index) */
|
|
215
|
+
docindex: string;
|
|
216
|
+
/** 이벤트가 발생한 컴포넌트의 FormID. FormID가 설정되지 않은 경우 컴포넌트의 이름이 리턴됨 */
|
|
217
|
+
formid: string;
|
|
218
|
+
eventname: string;
|
|
219
|
+
mainscreen: boolean;
|
|
220
|
+
};
|
|
221
|
+
type OZExportEvent = {
|
|
222
|
+
/**
|
|
223
|
+
* 저장 성공 여부
|
|
224
|
+
* - `0` 실패
|
|
225
|
+
* - `1` 성공
|
|
226
|
+
*/
|
|
227
|
+
code: "0" | "1";
|
|
228
|
+
/** 파일 경로 */
|
|
229
|
+
path: string;
|
|
230
|
+
/** 파일 이름 */
|
|
231
|
+
filename: string;
|
|
232
|
+
/** 저장된 페이지 수. 여러 페이지의 보고서를 한 페이지로 저장한 경우에는 1이 리턴됨 */
|
|
233
|
+
pagecount: string;
|
|
234
|
+
/**
|
|
235
|
+
* 뷰어가 실제 저장한 모든 파일의 경로와 이름.
|
|
236
|
+
*
|
|
237
|
+
* 파일이 여러 개일 경우 `|`를 구분자로 하여 리턴됨
|
|
238
|
+
*/
|
|
239
|
+
filepaths: string;
|
|
240
|
+
};
|
|
241
|
+
/**
|
|
242
|
+
* 상단 전체목록 보기 버튼 내 서식 클릭이벤트
|
|
243
|
+
* - 선택된 서식의 텍스트가 btnID로 넘어온다
|
|
244
|
+
*/
|
|
245
|
+
type CategoryEvent = {
|
|
246
|
+
type: "category";
|
|
247
|
+
/** 자유 입력 가능한 버튼 ID */
|
|
248
|
+
btnID: string;
|
|
249
|
+
};
|
|
250
|
+
/**
|
|
251
|
+
* 상단 버튼 클릭 이벤트(전체목록 버튼 제외)
|
|
252
|
+
* - 예: 나가기 버튼
|
|
253
|
+
*/
|
|
254
|
+
type TopEvent = {
|
|
255
|
+
type: "top";
|
|
256
|
+
btnID: "btnExit";
|
|
257
|
+
};
|
|
258
|
+
/**
|
|
259
|
+
* 성명,서명, 덧쓰기 관련 버튼 클릭 이벤트
|
|
260
|
+
* - `signatureInProgress` 서명 바로가기 버튼
|
|
261
|
+
* - `signatureInMissing` 미입력 항목 입력하기 버튼(느낌표 버튼)
|
|
262
|
+
* - `signatureComplete` 청약문서 최종 확인하기
|
|
263
|
+
*/
|
|
264
|
+
type SignatureEvent = {
|
|
265
|
+
type: "signature";
|
|
266
|
+
btnID: "signatureInProgress" | "signatureInMissing" | "signatureComplete";
|
|
267
|
+
};
|
|
268
|
+
/**
|
|
269
|
+
* pdf 뷰어 내 버튼 클릭 이벤트
|
|
270
|
+
* - `modify` 성명 서명 덧쓰기 수정하러 가기
|
|
271
|
+
* - `submit` 최종 제출하기
|
|
272
|
+
*/
|
|
273
|
+
type PdfEvent = {
|
|
274
|
+
type: "pdf";
|
|
275
|
+
btnID: "modify" | "submit";
|
|
276
|
+
};
|
|
277
|
+
/**
|
|
278
|
+
* comment(형광펜) 관련 버튼 클릭 이벤트
|
|
279
|
+
* - `yellow` 노랑색 형광펜 활성화
|
|
280
|
+
* - `pink` 분홍색 형광펜 활성화
|
|
281
|
+
* - `green` 초록색 형광펜 활성화
|
|
282
|
+
* - `eraser` 지우개 활성화
|
|
283
|
+
* - `disable` 형광펜 모드 종료
|
|
284
|
+
*/
|
|
285
|
+
type CommentEvent = {
|
|
286
|
+
type: "comment";
|
|
287
|
+
btnID: "yellow" | "pink" | "green" | "eraser" | "disable";
|
|
288
|
+
};
|
|
289
|
+
/**
|
|
290
|
+
* OZ 문서 시스템 내 버튼 클릭 이벤트 통합 타입
|
|
291
|
+
*
|
|
292
|
+
* type(카테고리)에 따라 btnID 값이 다르게 제한됩니다.
|
|
293
|
+
*/
|
|
294
|
+
type OZBtnTouchEvent = CategoryEvent | TopEvent | SignatureEvent | PdfEvent | CommentEvent;
|
|
295
|
+
/**
|
|
296
|
+
* 문서코드별 입력 데이터 및 추가 파라미터 매핑 타입
|
|
297
|
+
*
|
|
298
|
+
* 각 문서코드에 대해 `inputJson` (임의의 key-value 쌍)과
|
|
299
|
+
*
|
|
300
|
+
* 선택적으로 `extraParam` (기타 추가 파라미터)을 포함하는 객체입니다.
|
|
301
|
+
*
|
|
302
|
+
* 예시:
|
|
303
|
+
* ```javascript
|
|
304
|
+
* {
|
|
305
|
+
* A0010: {
|
|
306
|
+
* inputJson: {
|
|
307
|
+
* A0010_mynm_sg: 'data:image/png;base64,iVBORw0K...', // 예: 이미지 데이터
|
|
308
|
+
* A0010_mysg_sign: 'data:image/png;base64,iVBORw0KG...', // 예: 이미지 데이터
|
|
309
|
+
* custom_field: 'some value', // 임의의 데이터도 가능
|
|
310
|
+
* },
|
|
311
|
+
* args: [`roleCd=11,21`]
|
|
312
|
+
* extraParam: [`viewer.zoom=137`]
|
|
313
|
+
* },
|
|
314
|
+
* C0401: {
|
|
315
|
+
* inputJson: {
|
|
316
|
+
* mynm_sg: 'data:image/png;base64,iVBORw0K...', // 예: 이미지 데이터
|
|
317
|
+
* mysg_sign: 'data:image/png;base64,iVBORw0KG...', // 예: 이미지 데이터
|
|
318
|
+
* another_field: 'another value', // 임의의 데이터
|
|
319
|
+
* }
|
|
320
|
+
* },
|
|
321
|
+
* }
|
|
322
|
+
* ```
|
|
323
|
+
*/
|
|
324
|
+
type ExtraDataType = Record<string, {
|
|
325
|
+
/** connection.inputJson으로 전달할 `{ "key1": "value1", "key2": "value2" }` 형식의 데이터 (예: 문자열, base64 이미지 등) */
|
|
326
|
+
inputJson?: Record<string, string>;
|
|
327
|
+
/** connection.arg로 전달할 `["key1=value1", "key2=value2"]` 형식의 데이터 */
|
|
328
|
+
args?: string[];
|
|
329
|
+
/** 추가 파라미터 목록 (선택 사항) */
|
|
330
|
+
extraParam?: string[];
|
|
331
|
+
}>;
|
|
332
|
+
|
|
333
|
+
declare const wrapperStyle: CSSProperties;
|
|
334
|
+
declare const btnStyle: CSSProperties;
|
|
335
|
+
/**
|
|
336
|
+
* 테스트용 하드코딩 문서목록
|
|
337
|
+
*/
|
|
338
|
+
declare const DownloadDocumentList: Array<FormInfo>;
|
|
339
|
+
/**
|
|
340
|
+
* 테스트용 하드코딩 데이터
|
|
341
|
+
*/
|
|
342
|
+
declare const ExtraData: ExtraDataType;
|
|
343
|
+
/** 증번 */
|
|
344
|
+
declare const policyNumber = "300034894";
|
|
345
|
+
/** FP 정보 */
|
|
346
|
+
declare const fpInfo: {
|
|
347
|
+
uniqNo: string;
|
|
348
|
+
};
|
|
349
|
+
/** 청약작성자목록 - 계약 관계자 코드 */
|
|
350
|
+
declare const roleCode: string[];
|
|
351
|
+
/** native에 전달할 X-DUD-Authorization 토큰 */
|
|
352
|
+
declare const xdudheaders = "Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJXNWRtc1g1MkVWZGV0YThJRy90YmlZY281bnVCdzRZOXhGZjlWakZzdWxnbU00YnkiLCJpYXQiOjE3NjEwNDMyNjgsImV4cCI6MTc2NjI5OTI2OH0.KDnF7ZhkmnEApGCvOcItwcHnLWe5iJu64g93GACT2yo";
|
|
353
|
+
|
|
354
|
+
/**
|
|
355
|
+
* documentInfo를 여러가지 형태로 가공해주는 hook
|
|
356
|
+
*/
|
|
357
|
+
declare function useDocumentInfo(initialValue: FormInfo[]): {
|
|
358
|
+
documentList: sales_frontend_bridge.OzdFile[];
|
|
359
|
+
documentTemplateMap: Record<string, FormInfo>;
|
|
360
|
+
documentIndexMap: Record<string, number>;
|
|
361
|
+
nameTemplateMap: Record<string, FormInfo>;
|
|
362
|
+
groupIndexes: number[][];
|
|
363
|
+
isAllComplete: boolean;
|
|
364
|
+
};
|
|
365
|
+
|
|
366
|
+
type Props<T, R = void> = {
|
|
367
|
+
event: OZViewerEvent;
|
|
368
|
+
handler: (e: CustomEvent<T>) => Promise<R>;
|
|
369
|
+
};
|
|
370
|
+
/**
|
|
371
|
+
* OZ 뷰어 콜백 이벤트를 구독해주는 Hook
|
|
372
|
+
*/
|
|
373
|
+
declare function useOzEventListener<T, R = void>({ event, handler }: Props<T, R>): void;
|
|
374
|
+
|
|
375
|
+
/**
|
|
376
|
+
* 전체 서식목록의 하위 버튼 클릭 이벤트 핸들러
|
|
377
|
+
* - 해당 서식을 누르면 시작 페이지로 이동한다
|
|
378
|
+
*/
|
|
379
|
+
declare function CategoryHandler(documentInfo: FormInfo[], { type, btnID }: CategoryEvent): Promise<void>;
|
|
380
|
+
|
|
381
|
+
/**
|
|
382
|
+
* 상단 버튼 중 '전체 서식목록'을 제외한 다른 버튼 클릭 이벤트 핸들러
|
|
383
|
+
* - 현재는 나가기 버튼밖에 없음
|
|
384
|
+
*/
|
|
385
|
+
declare function TopHandler({ type, btnID }: TopEvent): Promise<void>;
|
|
386
|
+
|
|
387
|
+
/**
|
|
388
|
+
* 주석 모드 (형광펜 버튼) 클릭 이벤트 핸들러
|
|
389
|
+
*/
|
|
390
|
+
declare function CommentHandler({ type, btnID }: CommentEvent): Promise<void>;
|
|
391
|
+
/**
|
|
392
|
+
* 현재 모드가 코멘트(형광펜) 모드인지 확인
|
|
393
|
+
* - 코멘트 모드일 경우 true
|
|
394
|
+
* - 편집 모드 등 다른 모드일 경우 false
|
|
395
|
+
*/
|
|
396
|
+
declare function isCommentMode(): Promise<boolean>;
|
|
397
|
+
type commentPenType = "yellow" | "pink" | "green" | "eraser";
|
|
398
|
+
/**
|
|
399
|
+
* 코멘트 모드를 활성화하며 특정 펜 타입을 적용
|
|
400
|
+
*
|
|
401
|
+
* @param type 사용할 코멘트 펜 타입
|
|
402
|
+
* - `yellow` (기본값)
|
|
403
|
+
* - `pink`
|
|
404
|
+
* - `green`
|
|
405
|
+
* - `eraser` (지우개)
|
|
406
|
+
*/
|
|
407
|
+
declare function setEnableCommentMode(type?: commentPenType): Promise<sales_frontend_bridge.CommonOzBridgetResponseType<number | null>>;
|
|
408
|
+
/**
|
|
409
|
+
* 코멘트 모드 비활성화 (편집 모드로 전환)
|
|
410
|
+
* - 현재 코멘트 모드 상태 여부와 관계없이 항상 편집 모드로 전환함
|
|
411
|
+
*/
|
|
412
|
+
declare function setDisableCommentMode(): Promise<sales_frontend_bridge.CommonOzBridgetResponseType<string>>;
|
|
413
|
+
|
|
414
|
+
/**
|
|
415
|
+
* PDF 뷰어 내 버튼 클릭 이벤트 핸들러
|
|
416
|
+
* - 수정하기 버튼
|
|
417
|
+
* - PDF 뷰어를 닫는다
|
|
418
|
+
* - 최종 제출하기 버튼
|
|
419
|
+
* - PDF 뷰어를 닫는다
|
|
420
|
+
* - OZ 뷰어를 닫는다
|
|
421
|
+
* - 최종제출 화면으로 route
|
|
422
|
+
*/
|
|
423
|
+
declare function PdfHandler({ type, btnID }: PdfEvent): Promise<void>;
|
|
424
|
+
|
|
425
|
+
/**
|
|
426
|
+
* 성명, 서명, 덧쓰기 바로가기, 미입력 서명 바로가기, 청약 문서 최종 확인 버튼 클릭 이벤트 핸들러
|
|
427
|
+
* - 서명 바로가기 버튼 이벤트 핸들러
|
|
428
|
+
* - 미입력된 첫번째서명으로 이동 및 사인패드 오픈
|
|
429
|
+
* - 미입력 항목 입력하기 버튼 이벤트 핸들러
|
|
430
|
+
* - 미입력된 첫번째서명으로 이동 및 사인패드 오픈
|
|
431
|
+
* - 청약문서 최종 확인하기 버튼 이벤트 핸들러
|
|
432
|
+
* - 유효성 검사 후 PDF export 및 PDF 뷰어 오픈
|
|
433
|
+
*/
|
|
434
|
+
declare function SignatureHandler({ type, btnID }: SignatureEvent): Promise<void>;
|
|
435
|
+
/**
|
|
436
|
+
* PDF 저장을 비동기적으로 처리하고, 저장된 파일 경로를 반환하는 함수
|
|
437
|
+
*/
|
|
438
|
+
declare function SaveTotalPdf(): Promise<string>;
|
|
439
|
+
/**
|
|
440
|
+
* 개별 OZD를 PDF로 저장하는 함수
|
|
441
|
+
*/
|
|
442
|
+
declare function SaveSinglePdf({ startPage, endPage, imageDocumentTypeCode }: OzdFile): Promise<string>;
|
|
443
|
+
|
|
444
|
+
/**
|
|
445
|
+
* ### 발생 상황 및 에러 메시지 정리
|
|
446
|
+
* 1. 비정형에서 OZD 다운로드 시 → 청약문서를 불러오지 못했습니다
|
|
447
|
+
* 2. 백엔드에서 중간저장 데이터 로딩 시 → 일시적인 오류가 발생했습니다
|
|
448
|
+
* 3. 오즈뷰어(솔루션) 초기화(OZD 파일 + 중간저장 데이터) 시 → 일시적인 오류가 발생했습니다
|
|
449
|
+
* 4. 성명/서명/덧쓰기 진행 시 → 일시적인 오류가 발생했습니다
|
|
450
|
+
* 5. 서식 완료 후 서명 중간저장(비정형 저장) 시 → 일시적인 오류가 발생했습니다
|
|
451
|
+
* 6. PDF Export(개별문서/통합문서) 시 → 청약문서를 불러오지 못했습니다
|
|
452
|
+
* 7. PDF 뷰어 초기화(Export된 PDF를 화면에 렌더링) 시 → 청약문서를 불러오지 못했습니다
|
|
453
|
+
*
|
|
454
|
+
* ### 에러 발생 시 처리 동작
|
|
455
|
+
* - 에러 발생시 재시도 혹은 탈출을 위해 이전 화면으로 돌아간다
|
|
456
|
+
* - 1~5단계 에서 에러 발생 시 → 확인버튼 클릭 → OZ 뷰어 종료 브릿지 호출
|
|
457
|
+
* - 6~7단계 에서 에러 발생 시 → 확인버튼 클릭 → PDF 뷰어 종료 브릿지 호출
|
|
458
|
+
*
|
|
459
|
+
* ### 일반적인 상황에서는 아래 두 함수를 사용하고 커스텀한 상황애서는 showAlert을 직접 조합하여 사용한다
|
|
460
|
+
*/
|
|
461
|
+
/**
|
|
462
|
+
* OZ 뷰어 및 비정형 처리 과정에서 일시적인 오류가 발생했을 때 표시되는 경고창.
|
|
463
|
+
* #### 처리 동작
|
|
464
|
+
* - 확인 버튼 클릭 시 OZ 뷰어 종료 브릿지 호출
|
|
465
|
+
*/
|
|
466
|
+
declare function AlertTemporaryError(): Promise<sales_frontend_bridge.CommonOzBridgetResponseType<"close" | "main" | "sub">>;
|
|
467
|
+
/**
|
|
468
|
+
* 청약문서를 불러오지 못했을 때 표시되는 경고창.
|
|
469
|
+
* #### 처리 동작
|
|
470
|
+
* - 확인 버튼 클릭 시 PDF 뷰어 종료 브릿지 호출
|
|
471
|
+
*/
|
|
472
|
+
declare function AlertDocumentLoadError(): Promise<sales_frontend_bridge.CommonOzBridgetResponseType<"close" | "main" | "sub">>;
|
|
473
|
+
|
|
474
|
+
/**
|
|
475
|
+
* OZ 리포트 생성 및 초기화에 필요한 브릿지 유틸
|
|
476
|
+
*/
|
|
477
|
+
type CreateOzParamProps = {
|
|
478
|
+
documentList: OzdFile[];
|
|
479
|
+
extraData?: ExtraDataType;
|
|
480
|
+
/**
|
|
481
|
+
* 청약을 작성하는 사람들의 roleCode 목록
|
|
482
|
+
*
|
|
483
|
+
* ex)`홍길동|11,홍길순|22`
|
|
484
|
+
*/
|
|
485
|
+
roleCd: string;
|
|
486
|
+
/**
|
|
487
|
+
* 지정대리인 정보
|
|
488
|
+
* - 지정대리인이 없을때 ''
|
|
489
|
+
* - 지정대리인이 1명일때 ex) `성명|주민등록번호|관계명|관계코드`
|
|
490
|
+
* - 지정대리인이 2명일때 ex) `성명|주민등록번호|관계명|관계코드`,`성명|주민등록번호|관계명|관계코드`
|
|
491
|
+
*/
|
|
492
|
+
jijungInfo?: string;
|
|
493
|
+
};
|
|
494
|
+
/**
|
|
495
|
+
* OZ 리포트 최초 생성시 OZ에 넘길 파라미터를 생성하는 함수
|
|
496
|
+
*/
|
|
497
|
+
declare function CreateOzParam({ documentList, extraData, roleCd, jijungInfo }: CreateOzParamProps): Promise<string[]>;
|
|
498
|
+
/**
|
|
499
|
+
* 모든 문서에 대해 checkeForm을 Y로 설정하는 명령을 순차적으로 한 번씩 호출합니다.
|
|
500
|
+
*
|
|
501
|
+
* 각 호출 사이에 기본 지연(sleep)을 넣어 처리 속도를 조절합니다.
|
|
502
|
+
* @param reportCount - 리포트 개수 (생략 시 내부에서 자동 계산)
|
|
503
|
+
*/
|
|
504
|
+
declare function setCheckEform(reportCount?: number): Promise<void>;
|
|
505
|
+
/**
|
|
506
|
+
* 모든 문서에 대해 INPUT_TRIGGER_CLICK 명령을 순차적으로 한 번씩 호출합니다.
|
|
507
|
+
*
|
|
508
|
+
* 각 호출 사이에 기본 지연(sleep)을 넣어 처리 속도를 조절합니다.
|
|
509
|
+
* @param reportCount - 리포트 개수 (생략 시 내부에서 자동 계산)
|
|
510
|
+
*/
|
|
511
|
+
declare function triggerClickOnAllDocuments(reportCount?: number): Promise<void>;
|
|
512
|
+
/**
|
|
513
|
+
* 모든 문서에 대해 서명 부분 이미지 컷팅 명령을 순차적으로 한 번씩 호출합니다.
|
|
514
|
+
*
|
|
515
|
+
* 각 호출 사이에 기본 지연(sleep)을 넣어 처리 속도를 조절합니다.
|
|
516
|
+
* @param reportCount - 리포트 개수 (생략 시 내부에서 자동 계산)
|
|
517
|
+
*/
|
|
518
|
+
declare function triggerCropImageOnAllDocuments(reportCount?: number): Promise<void>;
|
|
519
|
+
/**
|
|
520
|
+
* 모든 문서에 대해 전체 페이지 수를 계산하는 명령을 순차적으로 한 번씩 호출합니다.
|
|
521
|
+
*
|
|
522
|
+
* 각 호출 사이에 기본 지연(sleep)을 넣어 처리 속도를 조절합니다.
|
|
523
|
+
* @param reportCount - 리포트 개수 (생략 시 내부에서 자동 계산)
|
|
524
|
+
*/
|
|
525
|
+
declare function getTotalPageOnAllDocuments(reportCount?: number): Promise<number[]>;
|
|
526
|
+
|
|
527
|
+
/**
|
|
528
|
+
* ozd, 폰트 등 App 내 리소스를 fetch하는 브릿지 유틸
|
|
529
|
+
*/
|
|
530
|
+
/**
|
|
531
|
+
* OZD 목록을 다운받는 브릿지
|
|
532
|
+
*/
|
|
533
|
+
declare function fetchDocument(args: DownloadOzdOptions): Promise<{
|
|
534
|
+
startPage: number;
|
|
535
|
+
endPage: number;
|
|
536
|
+
name: string;
|
|
537
|
+
doc: Array<sales_frontend_bridge.OzdFile>;
|
|
538
|
+
complete: boolean;
|
|
539
|
+
focus: boolean;
|
|
540
|
+
}[]>;
|
|
541
|
+
/**
|
|
542
|
+
* App에 설치된 폰트를 Oz Param 형식으로 불러오는 브릿지
|
|
543
|
+
*/
|
|
544
|
+
declare function fetchFont(): Promise<string[]>;
|
|
545
|
+
/**
|
|
546
|
+
* 비정형 서버에 성명,서명, 덧쓰기 이미지를 업로드한다
|
|
547
|
+
* @deprecated 테스트페이지에서만 사용하는 API
|
|
548
|
+
*/
|
|
549
|
+
declare function postFiletoDud(imageStr: string): Promise<any>;
|
|
550
|
+
/**
|
|
551
|
+
* 비정형에서 중간저장해놓은 서명이미지를 다운받는다
|
|
552
|
+
* @deprecated 테스트페이지에서만 사용하는 API
|
|
553
|
+
*/
|
|
554
|
+
declare function getFileFromDud(fileMgmtId: string): Promise<string>;
|
|
555
|
+
|
|
556
|
+
/**
|
|
557
|
+
* OZ에서 getDraftData 요청 시 반환할 데이터를 생성하는 함수
|
|
558
|
+
*
|
|
559
|
+
* - OZ로부터 전달받은 JSON 문자열(`arg`)을 파싱하여 문서 코드(docCd)를 추출하고,
|
|
560
|
+
* 해당 문서의 JSON 정보를 가져와 필요한 사인 정보만 key-value 형태로 반환한다.
|
|
561
|
+
* - 사인FormId 값이 null일 경우, getInformation 결과로 채워진다.
|
|
562
|
+
*/
|
|
563
|
+
declare function getDraftDataHandler(rawOzRequest: string, documentIndexMap: Record<string, number>): Promise<Record<string, string>>;
|
|
564
|
+
/**
|
|
565
|
+
* 주어진 문서 인덱스 목록(`indexList`)에 대해
|
|
566
|
+
* 각 문서의 중간저장 데이터를 순차적으로 요청합니다.
|
|
567
|
+
*
|
|
568
|
+
* 각 페이지 검사 사이에 기본 지연(sleep)을 추가하여 처리 속도를 제어합니다.
|
|
569
|
+
*
|
|
570
|
+
* @param indexList - 중간저장 데이터를 요청할 문서의 인덱스 배열
|
|
571
|
+
*/
|
|
572
|
+
declare function triggerDraftDataByIndexList(indexList: number[]): Promise<void>;
|
|
573
|
+
|
|
574
|
+
/**
|
|
575
|
+
* 유효성 검사 시 미입력된 컴포넌트에 자동으로 포커스를 맞추도록 설정
|
|
576
|
+
*
|
|
577
|
+
* @param reportCount - 리포트 개수 (생략 시 내부에서 자동 계산)
|
|
578
|
+
*/
|
|
579
|
+
declare function enableFocusOnValidation(reportCount?: number): Promise<void>;
|
|
580
|
+
/**
|
|
581
|
+
* 유효성 검사 시 미입력된 컴포넌트에 포커스가 가지 않도록 설정
|
|
582
|
+
*
|
|
583
|
+
* @param reportCount - 리포트 개수 (생략 시 내부에서 자동 계산)
|
|
584
|
+
*/
|
|
585
|
+
declare function disableFocusOnValidation(reportCount?: number): Promise<void>;
|
|
586
|
+
|
|
587
|
+
/**
|
|
588
|
+
* OZ 뷰어 함수를 단순 래핑한 브릿지 유틸
|
|
589
|
+
*/
|
|
590
|
+
/**
|
|
591
|
+
* OZ Viewer 생성 함수
|
|
592
|
+
* 1. `CreateReport` 함수 호출하여 OZ 리포트 생성
|
|
593
|
+
* 2. `OZProgressCommand` 이벤트가 `ozd` 개수만큼 발생
|
|
594
|
+
* 3. `OZProgressCommand` 이벤트 내부에서 `OZReportCreated` 이벤트 발행
|
|
595
|
+
* 4. `CreateOzViewer` 이벤트가 종료
|
|
596
|
+
*/
|
|
597
|
+
declare function CreateOzViewer(ozParam: string[]): Promise<unknown>;
|
|
598
|
+
/**
|
|
599
|
+
* 특정 페이지로 스크롤 이동
|
|
600
|
+
*/
|
|
601
|
+
declare function MovePage(page: number): Promise<sales_frontend_bridge.CommonOzBridgetResponseType<string>>;
|
|
602
|
+
/**
|
|
603
|
+
* 현재 페이지 번호를 구한다(one base index)
|
|
604
|
+
*/
|
|
605
|
+
declare function getCurrentPage(): Promise<number>;
|
|
606
|
+
/**
|
|
607
|
+
* 랜딩되어있는 보고서들의 전체 페이지 수
|
|
608
|
+
*/
|
|
609
|
+
declare const getTotalPageMemo: {
|
|
610
|
+
(): Promise<number>;
|
|
611
|
+
clearCache(): void;
|
|
612
|
+
};
|
|
613
|
+
/**
|
|
614
|
+
* 랜딩되어있는 보고서의 총 갯수(ozd 파일의 갯수)
|
|
615
|
+
*/
|
|
616
|
+
declare const getReportCountMemo: {
|
|
617
|
+
(): Promise<number>;
|
|
618
|
+
clearCache(): void;
|
|
619
|
+
};
|
|
620
|
+
|
|
621
|
+
/**
|
|
622
|
+
* OZ 서식 검증용 브릿지 유틸
|
|
623
|
+
*/
|
|
624
|
+
/**
|
|
625
|
+
* 유효성을 체크할 doc들의 index를 배열로 입력받는다
|
|
626
|
+
*
|
|
627
|
+
* 모두 유효하면 true를 리턴한다
|
|
628
|
+
*
|
|
629
|
+
* documentInfo의 complete를 계산할때 사용한다
|
|
630
|
+
*
|
|
631
|
+
* 서명패드가 열려있는 상태에서 INPUT_CHECK_VALIDITY로 검사하면 서명패드가 꺼져서 onValueChange에서는 INVALID_INFO_JSON을 사용한다
|
|
632
|
+
*/
|
|
633
|
+
declare function checkDocumentsValidityByIndex(indexList: number[]): Promise<boolean>;
|
|
634
|
+
/**
|
|
635
|
+
* 지정된 페이지 범위에 대해 유효성 검사를 수행합니다.
|
|
636
|
+
*
|
|
637
|
+
* 유효성 검사는 1페이지부터 지정된 마지막 페이지까지 진행되며,
|
|
638
|
+
* 각 페이지 검사 사이에 기본 지연(sleep)을 추가하여 처리 속도를 제어합니다.
|
|
639
|
+
* - pageChange 이벤트 내부에서는 현재 페이지 이전까지만 검사
|
|
640
|
+
* - 서명바로가기, 미입력 서명 바로가기, 청약문서 최종 확인하기 버튼을 눌렀을때는 전체 페이지 검사
|
|
641
|
+
*
|
|
642
|
+
* @param pageCount - 유효성 검사를 수행할 페이지의 총 개수. (생략하면 자동으로 전체 페이지 수를 계산하여 사용)
|
|
643
|
+
* @returns 모든 페이지가 유효한 경우 true, 하나라도 유효하지 않으면 false를 반환합니다.
|
|
644
|
+
*/
|
|
645
|
+
declare function validateAllPages(pageCount?: number): Promise<boolean>;
|
|
646
|
+
/**
|
|
647
|
+
* 페이지 유효성 검사 결과를 캐싱하는 유틸리티
|
|
648
|
+
*
|
|
649
|
+
* - 동일 페이지에 대한 중복 호출을 방지
|
|
650
|
+
* - validation 결과가 false인 경우에는 캐시에 저장하지 않음
|
|
651
|
+
*/
|
|
652
|
+
declare const checkValidPageMemo: {
|
|
653
|
+
(page: number): Promise<boolean>;
|
|
654
|
+
clearCache(): void;
|
|
655
|
+
clearCacheByPage(page: number): void;
|
|
656
|
+
};
|
|
657
|
+
|
|
658
|
+
/**
|
|
659
|
+
* 문서 데이터에 페이지 범위를 채워주는 함수
|
|
660
|
+
* @param {Array} data - 문서 그룹 데이터
|
|
661
|
+
* @param {Array<number>} pages - 각 문서의 페이지 수
|
|
662
|
+
* @returns {Array} - startPage, endPage가 채워진 새 데이터
|
|
663
|
+
*/
|
|
664
|
+
declare function categorizeByPageRange(data: FormInfo[], pageCounts: number[]): FormInfo[];
|
|
665
|
+
/**
|
|
666
|
+
* 주어진 파일 경로에서 파일 이름만 추출합니다.
|
|
667
|
+
* @param filePath 파일 경로 (예: `/a/b/c/file.ext`)
|
|
668
|
+
* @returns 파일 경로에서 추출한 파일 이름 (확장자 제외, 예: `file`)
|
|
669
|
+
* @throws {Error} 유효하지 않은 파일 경로일 경우 예외 처리
|
|
670
|
+
*/
|
|
671
|
+
declare function extractFileName(filePath: string): string;
|
|
672
|
+
declare function getFileListByGlobalIndex(index: number, data: FormInfo[]): FormInfo | null;
|
|
673
|
+
/**
|
|
674
|
+
* 비동기 처리를 일정 시간 지연시키는 함수
|
|
675
|
+
* @param ms - 지연 시간 (밀리초). 기본값은 10ms
|
|
676
|
+
*/
|
|
677
|
+
declare function sleep(ms?: number): Promise<void>;
|
|
678
|
+
declare function PromiseWithResolvers<T>(): {
|
|
679
|
+
promise: Promise<T>;
|
|
680
|
+
resolve: (value: T | PromiseLike<T>) => void;
|
|
681
|
+
reject: (reason?: unknown) => void;
|
|
682
|
+
};
|
|
683
|
+
/**
|
|
684
|
+
* 주어진 입력값이 배열이 아니면 빈 배열을 반환하고, 배열이면 깊은 복사하여 반환합니다.
|
|
685
|
+
*
|
|
686
|
+
* @param arg - 입력값으로, 배열일 수도 있고 아닐 수도 있습니다.
|
|
687
|
+
* @returns 주어진 입력값이 배열이면 깊은 복사본을 반환하고, 배열이 아니면 빈 배열을 반환합니다.
|
|
688
|
+
*/
|
|
689
|
+
declare function ensureArray<T>(arg?: T[]): T[];
|
|
690
|
+
|
|
691
|
+
/**
|
|
692
|
+
* 특정 문서 인덱스의 OnValueChanged 핸들러를 debounce 처리하여 반환
|
|
693
|
+
*
|
|
694
|
+
* @param docIndex - 문서 인덱스 (string)
|
|
695
|
+
* @param onValueChanged - debounce 후 실행할 콜백
|
|
696
|
+
* @returns debounce된 핸들러 함수
|
|
697
|
+
*/
|
|
698
|
+
declare function getDebouncedValueChangeHandler(docIndex: string, onValueChanged: (docIndex: string) => void): ((...args: any[]) => void) | ((idx: string) => void);
|
|
699
|
+
/**
|
|
700
|
+
* 모든 문서 인덱스의 debounce 핸들러 초기화
|
|
701
|
+
*/
|
|
702
|
+
declare function clearValueChangeDebounceHandlers(): void;
|
|
703
|
+
|
|
704
|
+
export { AlertDocumentLoadError, AlertTemporaryError, type CategoryEvent, CategoryHandler, type CommentEvent, CommentHandler, CreateOzParam, CreateOzViewer, DownloadDocumentList, ExtraData, type ExtraDataType, MovePage, type OZBtnTouchEvent, type OZEFormInputEvent, type OZExportEvent, OZTriggerExternalEvent, type OZViewerChangeEvent, type OZViewerErrorEvent, OZViewerEvent, type OZViewerPageBindEvent, type OZViewerProgressEvent, type OZViewerUserEvent, type PdfEvent, PdfHandler, PromiseWithResolvers, SaveSinglePdf, SaveTotalPdf, type SignatureEvent, SignatureHandler, type TopEvent, TopHandler, btnStyle, categorizeByPageRange, checkDocumentsValidityByIndex, checkValidPageMemo, clearValueChangeDebounceHandlers, commentPenEraser, commentPenGreen, commentPenPink, commentPenYellow, commonOzParam, commonPdfExportParam, disableFocusOnValidation, enableFocusOnValidation, ensureArray, extractFileName, fetchDocument, fetchFont, fpInfo, getCurrentPage, getDebouncedValueChangeHandler, getDraftDataHandler, getFileFromDud, getFileListByGlobalIndex, getReportCountMemo, getTotalPageMemo, getTotalPageOnAllDocuments, isCommentMode, policyNumber, postFiletoDud, roleCode, setCheckEform, setDisableCommentMode, setEnableCommentMode, sleep, triggerClickOnAllDocuments, triggerCropImageOnAllDocuments, triggerDraftDataByIndexList, useDocumentInfo, useOzEventListener, validateAllPages, wrapperStyle, xdudheaders };
|