@ehfuse/forma 1.8.0 → 2.0.0
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/dist/contexts/GlobalFormaContext.d.ts.map +1 -1
- package/dist/contexts/GlobalFormaContext.js +91 -0
- package/dist/contexts/GlobalFormaContext.js.map +1 -1
- package/dist/esm/contexts/GlobalFormaContext.d.ts.map +1 -1
- package/dist/esm/contexts/GlobalFormaContext.js +91 -0
- package/dist/esm/contexts/GlobalFormaContext.js.map +1 -1
- package/dist/esm/hooks/useForm.js +31 -1
- package/dist/esm/hooks/useForm.js.map +1 -1
- package/dist/esm/hooks/useFormaState.d.ts +5 -1
- package/dist/esm/hooks/useFormaState.d.ts.map +1 -1
- package/dist/esm/hooks/useFormaState.js +32 -2
- package/dist/esm/hooks/useFormaState.js.map +1 -1
- package/dist/esm/hooks/useGlobalForm.d.ts.map +1 -1
- package/dist/esm/hooks/useGlobalForm.js +20 -4
- package/dist/esm/hooks/useGlobalForm.js.map +1 -1
- package/dist/esm/hooks/useModal.d.ts.map +1 -1
- package/dist/esm/hooks/useModal.js +13 -5
- package/dist/esm/hooks/useModal.js.map +1 -1
- package/dist/esm/types/form.d.ts +40 -0
- package/dist/esm/types/form.d.ts.map +1 -1
- package/dist/esm/types/globalForm.d.ts +18 -0
- package/dist/esm/types/globalForm.d.ts.map +1 -1
- package/dist/hooks/useForm.js +31 -1
- package/dist/hooks/useForm.js.map +1 -1
- package/dist/hooks/useFormaState.d.ts +5 -1
- package/dist/hooks/useFormaState.d.ts.map +1 -1
- package/dist/hooks/useFormaState.js +31 -1
- package/dist/hooks/useFormaState.js.map +1 -1
- package/dist/hooks/useGlobalForm.d.ts.map +1 -1
- package/dist/hooks/useGlobalForm.js +20 -4
- package/dist/hooks/useGlobalForm.js.map +1 -1
- package/dist/hooks/useModal.d.ts.map +1 -1
- package/dist/hooks/useModal.js +13 -5
- package/dist/hooks/useModal.js.map +1 -1
- package/dist/types/form.d.ts +40 -0
- package/dist/types/form.d.ts.map +1 -1
- package/dist/types/globalForm.d.ts +18 -0
- package/dist/types/globalForm.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -65,18 +65,34 @@ Details: GlobalFormaContext must be used within GlobalFormaProvider (formId: ${f
|
|
|
65
65
|
`.trim();
|
|
66
66
|
throw new Error(errorMessage);
|
|
67
67
|
}
|
|
68
|
-
const { getOrCreateStore, incrementRef, decrementRef, validateAndStoreAutoCleanupSetting, } = context;
|
|
68
|
+
const { getOrCreateStore, incrementRef, decrementRef, validateAndStoreAutoCleanupSetting, registerHandlers, getHandlers, } = context;
|
|
69
69
|
// autoCleanup 설정 일관성 검증
|
|
70
70
|
validateAndStoreAutoCleanupSetting(formId, autoCleanup);
|
|
71
71
|
// 글로벌 스토어 가져오기 또는 생성 / Get or create global store
|
|
72
72
|
const store = getOrCreateStore(formId);
|
|
73
|
+
// 핸들러가 제공되면 글로벌에 등록 / Register handlers to global if provided
|
|
74
|
+
useEffect(() => {
|
|
75
|
+
if (onSubmit || onValidate || onComplete) {
|
|
76
|
+
registerHandlers(formId, {
|
|
77
|
+
onSubmit,
|
|
78
|
+
onValidate,
|
|
79
|
+
onComplete,
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
}, [formId, onSubmit, onValidate, onComplete, registerHandlers]);
|
|
83
|
+
// 글로벌 핸들러 가져오기 / Get global handlers
|
|
84
|
+
const globalHandlers = getHandlers(formId);
|
|
85
|
+
// 로컬 핸들러가 없으면 글로벌 핸들러 사용 / Use global handlers if local handlers are not provided
|
|
86
|
+
const effectiveOnSubmit = onSubmit || globalHandlers?.onSubmit;
|
|
87
|
+
const effectiveOnValidate = onValidate || globalHandlers?.onValidate;
|
|
88
|
+
const effectiveOnComplete = onComplete || globalHandlers?.onComplete;
|
|
73
89
|
// useForm에 외부 스토어와 핸들러들 전달 / Pass external store and handlers to useForm
|
|
74
90
|
const form = useForm({
|
|
75
91
|
initialValues: initialValues || {},
|
|
76
92
|
_externalStore: store,
|
|
77
|
-
onSubmit,
|
|
78
|
-
onValidate,
|
|
79
|
-
onComplete,
|
|
93
|
+
onSubmit: effectiveOnSubmit,
|
|
94
|
+
onValidate: effectiveOnValidate,
|
|
95
|
+
onComplete: effectiveOnComplete,
|
|
80
96
|
});
|
|
81
97
|
// 초기값이 있고 스토어가 비어있다면 초기값 설정 (올바른 방법으로)
|
|
82
98
|
// Set initial values if provided and store is empty (using proper method)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useGlobalForm.js","sourceRoot":"","sources":["../../../hooks/useGlobalForm.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEpE;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,aAAa,CAAgC,EACzD,MAAM,EACN,aAAa,EACb,WAAW,GAAG,IAAI,EAClB,QAAQ,EACR,UAAU,EACV,UAAU,GACU;IACpB,MAAM,OAAO,GAAG,UAAU,CAAC,kBAAkB,CAAC,CAAC;IAE/C,oCAAoC;IACpC,2DAA2D;IAC3D,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC;QACxC,uCAAuC;QACvC,uEAAuE;QACvE,MAAM,YAAY,GAAG;;;;;;;;;;;+EAWkD,MAAM;SAC5E,CAAC,IAAI,EAAE,CAAC;QAET,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;IAClC,CAAC;IAED,MAAM,EACF,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,kCAAkC,
|
|
1
|
+
{"version":3,"file":"useGlobalForm.js","sourceRoot":"","sources":["../../../hooks/useGlobalForm.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useModal.d.ts","sourceRoot":"","sources":["../../../hooks/useModal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAWH,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAU/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,QAAQ,CAAC,EACrB,WAAmB,EACnB,OAAO,EAAE,eAAe,GAC3B,GAAE,aAAkB,GAAG,cAAc,
|
|
1
|
+
{"version":3,"file":"useModal.d.ts","sourceRoot":"","sources":["../../../hooks/useModal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAWH,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAU/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,QAAQ,CAAC,EACrB,WAAmB,EACnB,OAAO,EAAE,eAAe,GAC3B,GAAE,aAAkB,GAAG,cAAc,CAuGrC"}
|
|
@@ -92,11 +92,19 @@ export function useModal({ initialOpen = false, onClose: externalOnClose, } = {}
|
|
|
92
92
|
// 모달 닫기
|
|
93
93
|
const close = useCallback(() => {
|
|
94
94
|
if (isOpen) {
|
|
95
|
-
//
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
95
|
+
// 모달이 등록되어 있으면 history.back()으로 처리
|
|
96
|
+
if (isRegisteredRef.current) {
|
|
97
|
+
window.history.back();
|
|
98
|
+
// popstate 이벤트가 발생하면 FormContext의 handlePopState가 처리하여
|
|
99
|
+
// closeLastModal -> modal:close 이벤트 발생 -> handleCloseEvent 에서 setIsOpen(false) 호출
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
// 등록되지 않은 경우 (open()이 호출되지 않고 직접 닫히는 경우) 직접 닫기
|
|
103
|
+
setIsOpen(false);
|
|
104
|
+
if (onCloseRef.current) {
|
|
105
|
+
onCloseRef.current();
|
|
106
|
+
}
|
|
107
|
+
}
|
|
100
108
|
}
|
|
101
109
|
}, [isOpen]);
|
|
102
110
|
// 모달 토글
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useModal.js","sourceRoot":"","sources":["../../../hooks/useModal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EACH,QAAQ,EACR,SAAS,EACT,WAAW,EACX,MAAM,EACN,OAAO,EACP,UAAU,GACb,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAGpE;;;GAGG;AACH,SAAS,eAAe;IACpB,OAAO,SAAS,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;AAC5E,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,UAAU,QAAQ,CAAC,EACrB,WAAW,GAAG,KAAK,EACnB,OAAO,EAAE,eAAe,MACT,EAAE;IACjB,WAAW;IACX,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,eAAe,EAAE,EAAE,EAAE,CAAC,CAAC;IAErD,WAAW;IACX,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;IAElD,MAAM,EAAE,eAAe,EAAE,eAAe,EAAE,GAAG,UAAU,CAAC,kBAAkB,CAAC,CAAC;IAE5E,iBAAiB;IACjB,MAAM,eAAe,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAEtC,mBAAmB;IACnB,MAAM,UAAU,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;IAC3C,SAAS,CAAC,GAAG,EAAE;QACX,UAAU,CAAC,OAAO,GAAG,eAAe,CAAC;IACzC,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;IAEtB,QAAQ;IACR,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,EAAE;QAC1B,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,SAAS,CAAC,IAAI,CAAC,CAAC;YAChB,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;gBAC3B,eAAe,CAAC,OAAO,CAAC,CAAC;gBACzB,eAAe,CAAC,OAAO,GAAG,IAAI,CAAC;YACnC,CAAC;QACL,CAAC;IACL,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC;IAEvC,QAAQ;IACR,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;QAC3B,IAAI,MAAM,EAAE,CAAC;YACT,
|
|
1
|
+
{"version":3,"file":"useModal.js","sourceRoot":"","sources":["../../../hooks/useModal.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/types/form.d.ts
CHANGED
|
@@ -61,6 +61,8 @@ export interface UseFormProps<T extends Record<string, any>> {
|
|
|
61
61
|
onValidate?: (values: T) => Promise<boolean> | boolean;
|
|
62
62
|
/** 폼 제출 완료 후 콜백 | Callback after form submission completion */
|
|
63
63
|
onComplete?: (values: T) => void;
|
|
64
|
+
/** 사용자 정의 액션 함수들 | User-defined action functions */
|
|
65
|
+
actions?: Actions<T>;
|
|
64
66
|
/** 내부 API - 전역 상태용 외부 스토어 | Internal API - external store for global state */
|
|
65
67
|
_externalStore?: FieldStore<T>;
|
|
66
68
|
}
|
|
@@ -76,6 +78,8 @@ export interface UseFormPropsOptional<T extends Record<string, any> = Record<str
|
|
|
76
78
|
onValidate?: (values: T) => Promise<boolean> | boolean;
|
|
77
79
|
/** 폼 제출 완료 후 콜백 | Callback after form submission completion */
|
|
78
80
|
onComplete?: (values: T) => void;
|
|
81
|
+
/** 사용자 정의 액션 함수들 | User-defined action functions */
|
|
82
|
+
actions?: Actions<T>;
|
|
79
83
|
/** 내부 API - 전역 상태용 외부 스토어 | Internal API - external store for global state */
|
|
80
84
|
_externalStore?: FieldStore<T>;
|
|
81
85
|
}
|
|
@@ -111,6 +115,8 @@ export interface UseFormReturn<T extends Record<string, any>> {
|
|
|
111
115
|
isSubmitting: boolean;
|
|
112
116
|
/** 검증 중 여부 | Validating status */
|
|
113
117
|
isValidating: boolean;
|
|
118
|
+
/** 사용자 정의 액션 함수들 (context 바인딩됨) | User-defined action functions (with bound context) */
|
|
119
|
+
actions: BoundActions<T>;
|
|
114
120
|
/** 호환성을 위한 values 객체 (비권장) | Values object for compatibility (not recommended) */
|
|
115
121
|
values: T;
|
|
116
122
|
/** 내부 스토어 직접 접근 | Direct access to internal store */
|
|
@@ -131,5 +137,39 @@ export interface FormValidationResult {
|
|
|
131
137
|
/** 전체 에러 메시지 | Overall error message */
|
|
132
138
|
message?: string;
|
|
133
139
|
}
|
|
140
|
+
/**
|
|
141
|
+
* Action Context - actions 함수에 전달되는 컨텍스트 객체
|
|
142
|
+
* Context object passed to action functions
|
|
143
|
+
*/
|
|
144
|
+
export interface ActionContext<T extends Record<string, any>> {
|
|
145
|
+
/** 현재 폼/상태의 모든 값 | All current form/state values */
|
|
146
|
+
values: T;
|
|
147
|
+
/** 특정 필드 값 가져오기 | Get specific field value */
|
|
148
|
+
getValue: (fieldName: keyof T | string) => any;
|
|
149
|
+
/** 특정 필드 값 설정 | Set specific field value */
|
|
150
|
+
setValue: (fieldName: keyof T | string, value: any) => void;
|
|
151
|
+
/** 여러 필드 값 동시 설정 | Set multiple field values at once */
|
|
152
|
+
setValues: (values: Partial<T>) => void;
|
|
153
|
+
/** 폼/상태 리셋 | Reset form/state */
|
|
154
|
+
reset: () => void;
|
|
155
|
+
/** 폼 제출 (폼 전용) | Submit form (form only) */
|
|
156
|
+
submit?: () => Promise<boolean>;
|
|
157
|
+
/** 폼 검증 (폼 전용) | Validate form (form only) */
|
|
158
|
+
validate?: () => Promise<boolean>;
|
|
159
|
+
/** actions 자기 자신 참조 (action 간 호출용) | Self-reference to actions (for inter-action calls) */
|
|
160
|
+
actions: Actions<T>;
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Actions 타입 - 사용자 정의 액션 함수들의 집합
|
|
164
|
+
* Actions type - Collection of user-defined action functions
|
|
165
|
+
*/
|
|
166
|
+
export type Actions<T extends Record<string, any>> = Record<string, (context: ActionContext<T>, ...args: any[]) => any>;
|
|
167
|
+
/**
|
|
168
|
+
* Bound Actions - context가 바인딩된 actions
|
|
169
|
+
* Actions with bound context
|
|
170
|
+
*/
|
|
171
|
+
export type BoundActions<T extends Record<string, any>> = {
|
|
172
|
+
[K in keyof Actions<T>]: Actions<T>[K] extends (context: ActionContext<T>, ...args: infer Args) => infer R ? (...args: Args) => R : never;
|
|
173
|
+
};
|
|
134
174
|
export {};
|
|
135
175
|
//# sourceMappingURL=form.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../../../types/form.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../../../types/form.ts"],"names":[],"mappings":"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"}
|
|
@@ -333,6 +333,14 @@ export interface ExtendedGlobalFormaProviderProps extends GlobalFormaProviderPro
|
|
|
333
333
|
/** 개발 도구 활성화 여부 */
|
|
334
334
|
enableDevTools?: boolean;
|
|
335
335
|
}
|
|
336
|
+
/**
|
|
337
|
+
* 글로벌 폼 핸들러 타입 / Global form handlers type
|
|
338
|
+
*/
|
|
339
|
+
export interface GlobalFormHandlers<T extends Record<string, any>> {
|
|
340
|
+
onSubmit?: (values: T) => Promise<boolean | void> | boolean | void;
|
|
341
|
+
onValidate?: (values: T) => Promise<boolean> | boolean;
|
|
342
|
+
onComplete?: (values: T) => void;
|
|
343
|
+
}
|
|
336
344
|
/**
|
|
337
345
|
* 글로벌 Forma 컨텍스트 타입 / Global Forma context type
|
|
338
346
|
* 폼 스토어 관리와 모달 스택 관리 기능을 제공
|
|
@@ -348,6 +356,16 @@ export interface GlobalFormaContextType {
|
|
|
348
356
|
decrementRef: (formId: string, autoCleanup: boolean) => void;
|
|
349
357
|
/** autoCleanup 설정의 일관성을 검증하고 설정을 저장합니다 | Validate and store autoCleanup setting consistency */
|
|
350
358
|
validateAndStoreAutoCleanupSetting: (formId: string, autoCleanup: boolean) => void;
|
|
359
|
+
/** 글로벌 폼 핸들러 등록 | Register global form handlers */
|
|
360
|
+
registerHandlers: <T extends Record<string, any>>(formId: string, handlers: GlobalFormHandlers<T>) => void;
|
|
361
|
+
/** 글로벌 폼 핸들러 조회 | Get global form handlers */
|
|
362
|
+
getHandlers: <T extends Record<string, any>>(formId: string) => GlobalFormHandlers<T> | undefined;
|
|
363
|
+
/** 글로벌 actions 등록 | Register global actions */
|
|
364
|
+
registerActions: <T extends Record<string, any>>(formId: string, actions: any) => void;
|
|
365
|
+
/** 글로벌 actions 조회 | Get global actions */
|
|
366
|
+
getActions: <T extends Record<string, any>>(formId: string) => any | undefined;
|
|
367
|
+
/** 글로벌 actions 제거 | Remove global actions */
|
|
368
|
+
unregisterActions: (formId: string) => void;
|
|
351
369
|
/** 모달을 스택에 추가 | Add modal to stack */
|
|
352
370
|
appendOpenModal: (modalId: string) => void;
|
|
353
371
|
/** 모달을 스택에서 제거 | Remove modal from stack */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"globalForm.d.ts","sourceRoot":"","sources":["../../../types/globalForm.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"globalForm.d.ts","sourceRoot":"","sources":["../../../types/globalForm.ts"],"names":[],"mappings":"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"}
|
package/dist/hooks/useForm.js
CHANGED
|
@@ -34,7 +34,7 @@ const useFormaState_1 = require("./useFormaState");
|
|
|
34
34
|
const utils_1 = require("../utils");
|
|
35
35
|
const react_1 = require("react");
|
|
36
36
|
function useForm(props = {}) {
|
|
37
|
-
const { initialValues = {}, onSubmit, onValidate, onComplete, _externalStore, } = props;
|
|
37
|
+
const { initialValues = {}, onSubmit, onValidate, onComplete, actions: userActions, _externalStore, } = props;
|
|
38
38
|
// 초기값 안정화: 첫 번째 렌더링에서만 초기값을 고정
|
|
39
39
|
// Stabilize initial values: fix initial values only on first render
|
|
40
40
|
const stableInitialValues = (0, react_1.useRef)(null);
|
|
@@ -213,6 +213,33 @@ function useForm(props = {}) {
|
|
|
213
213
|
setIsSubmitting(false);
|
|
214
214
|
}
|
|
215
215
|
}, [onSubmit, onComplete, validateForm, fieldState.getValues]);
|
|
216
|
+
// Actions 바인딩 / Bind actions
|
|
217
|
+
const boundActions = (0, react_1.useMemo)(() => {
|
|
218
|
+
if (!userActions) {
|
|
219
|
+
return {};
|
|
220
|
+
}
|
|
221
|
+
const bound = {};
|
|
222
|
+
const context = {
|
|
223
|
+
get values() {
|
|
224
|
+
return fieldState.getValues();
|
|
225
|
+
},
|
|
226
|
+
getValue: (fieldName) => fieldState.getValue(fieldName),
|
|
227
|
+
setValue: (fieldName, value) => fieldState.setValue(fieldName, value),
|
|
228
|
+
setValues: (values) => fieldState.setValues(values),
|
|
229
|
+
reset: resetForm,
|
|
230
|
+
submit,
|
|
231
|
+
validate: validateForm,
|
|
232
|
+
actions: bound, // 순환 참조 / circular reference
|
|
233
|
+
};
|
|
234
|
+
// 모든 action 함수들을 context와 바인딩 / Bind all action functions with context
|
|
235
|
+
Object.keys(userActions).forEach((key) => {
|
|
236
|
+
const action = userActions[key];
|
|
237
|
+
if (typeof action === "function") {
|
|
238
|
+
bound[key] = (...args) => action(context, ...args);
|
|
239
|
+
}
|
|
240
|
+
});
|
|
241
|
+
return bound;
|
|
242
|
+
}, [userActions, fieldState, resetForm, submit, validateForm]);
|
|
216
243
|
return (0, react_1.useMemo)(() => ({
|
|
217
244
|
// 상태 / State
|
|
218
245
|
isSubmitting,
|
|
@@ -233,6 +260,8 @@ function useForm(props = {}) {
|
|
|
233
260
|
submit, // 폼 제출 / submit form
|
|
234
261
|
resetForm, // 폼 초기화 / reset form
|
|
235
262
|
validateForm, // 폼 검증 / validate form
|
|
263
|
+
// Actions
|
|
264
|
+
actions: boundActions, // 사용자 정의 actions / user-defined actions
|
|
236
265
|
// 호환성 / Compatibility
|
|
237
266
|
values: fieldState.getValues(), // 호환성을 위한 values 객체 (비권장) / Values object for compatibility (not recommended)
|
|
238
267
|
// 고급 사용 / Advanced usage
|
|
@@ -252,6 +281,7 @@ function useForm(props = {}) {
|
|
|
252
281
|
submit,
|
|
253
282
|
resetForm,
|
|
254
283
|
validateForm,
|
|
284
|
+
boundActions, // actions 의존성 추가
|
|
255
285
|
fieldState._store, // Store 의존성으로 대체
|
|
256
286
|
]);
|
|
257
287
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useForm.js","sourceRoot":"","sources":["../../hooks/useForm.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;;AAsDH,
|
|
1
|
+
{"version":3,"file":"useForm.js","sourceRoot":"","sources":["../../hooks/useForm.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* @license MIT License
|
|
9
9
|
*/
|
|
10
10
|
import { FieldStore } from "../core/FieldStore";
|
|
11
|
-
import { FormChangeEvent } from "../types/form";
|
|
11
|
+
import { FormChangeEvent, Actions } from "../types/form";
|
|
12
12
|
/**
|
|
13
13
|
* Options for configuring useFormaState hook
|
|
14
14
|
* useFormaState 훅 설정을 위한 옵션
|
|
@@ -24,6 +24,8 @@ export interface UseFormaStateOptions<T extends Record<string, any>> {
|
|
|
24
24
|
onError?: (error: Error) => void;
|
|
25
25
|
/** Enable validation on every change | 모든 변경에 대한 유효성 검사 활성화 */
|
|
26
26
|
validateOnChange?: boolean;
|
|
27
|
+
/** Custom actions (computed getters and handlers) | 커스텀 액션 (computed getter 및 handler) */
|
|
28
|
+
actions?: Actions<T>;
|
|
27
29
|
}
|
|
28
30
|
/**
|
|
29
31
|
* Return type for useFormaState hook
|
|
@@ -56,6 +58,8 @@ export interface UseFormaStateReturn<T extends Record<string, any>> {
|
|
|
56
58
|
subscribe: (callback: (values: T) => void) => () => void;
|
|
57
59
|
/** Refresh all field subscribers with specific prefix | 특정 prefix를 가진 모든 필드 구독자들을 새로고침 */
|
|
58
60
|
refreshFields: (prefix: string) => void;
|
|
61
|
+
/** Custom actions bound to this state | 이 상태에 바인딩된 커스텀 액션 */
|
|
62
|
+
actions: any;
|
|
59
63
|
/** Direct access to the internal store for advanced usage | 고급 사용을 위한 내부 스토어 직접 접근 */
|
|
60
64
|
_store: FieldStore<T>;
|
|
61
65
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFormaState.d.ts","sourceRoot":"","sources":["../../hooks/useFormaState.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAWH,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"useFormaState.d.ts","sourceRoot":"","sources":["../../hooks/useFormaState.ts"],"names":[],"mappings":"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"}
|
|
@@ -52,7 +52,7 @@ function useFieldSubscription(store, path) {
|
|
|
52
52
|
return useFieldValue(store, path);
|
|
53
53
|
}
|
|
54
54
|
function useFormaState(initialValues = {}, options = {}) {
|
|
55
|
-
const { onChange, deepEquals = false, _externalStore } = options;
|
|
55
|
+
const { onChange, deepEquals = false, _externalStore, actions: actionsDefinition, } = options;
|
|
56
56
|
// 초기값 안정화: 첫 번째 렌더링에서만 초기값을 고정
|
|
57
57
|
// Stabilize initial values: fix initial values only on first render
|
|
58
58
|
const stableInitialValues = (0, react_1.useRef)(null);
|
|
@@ -148,6 +148,35 @@ function useFormaState(initialValues = {}, options = {}) {
|
|
|
148
148
|
}
|
|
149
149
|
setValue(name, processedValue);
|
|
150
150
|
}, [setValue]);
|
|
151
|
+
// Bind actions to context if provided
|
|
152
|
+
// actions가 제공된 경우 context에 바인딩
|
|
153
|
+
const boundActions = (0, react_1.useMemo)(() => {
|
|
154
|
+
if (!actionsDefinition)
|
|
155
|
+
return {};
|
|
156
|
+
const context = {
|
|
157
|
+
values: store.getValues(),
|
|
158
|
+
getValue: (field) => store.getValue(field),
|
|
159
|
+
setValue: (field, value) => store.setValue(field, value),
|
|
160
|
+
setValues: (values) => {
|
|
161
|
+
const currentValues = store.getValues();
|
|
162
|
+
const newValues = { ...currentValues, ...values };
|
|
163
|
+
store.setValues(newValues);
|
|
164
|
+
},
|
|
165
|
+
reset: () => store.reset(),
|
|
166
|
+
actions: {}, // Will be filled after binding
|
|
167
|
+
};
|
|
168
|
+
const bound = {};
|
|
169
|
+
for (const [key, action] of Object.entries(actionsDefinition)) {
|
|
170
|
+
bound[key] = (...args) => {
|
|
171
|
+
// Update context.values with latest state
|
|
172
|
+
context.values = store.getValues();
|
|
173
|
+
return action(context, ...args);
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
// Fill context.actions with bound actions
|
|
177
|
+
context.actions = bound;
|
|
178
|
+
return bound;
|
|
179
|
+
}, [actionsDefinition, store]);
|
|
151
180
|
return {
|
|
152
181
|
useValue,
|
|
153
182
|
setValue,
|
|
@@ -180,6 +209,7 @@ function useFormaState(initialValues = {}, options = {}) {
|
|
|
180
209
|
store.refreshFields(prefix);
|
|
181
210
|
}, [store] // store 의존성 추가
|
|
182
211
|
),
|
|
212
|
+
actions: boundActions,
|
|
183
213
|
_store: store,
|
|
184
214
|
};
|
|
185
215
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFormaState.js","sourceRoot":"","sources":["../../hooks/useFormaState.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;
|
|
1
|
+
{"version":3,"file":"useFormaState.js","sourceRoot":"","sources":["../../hooks/useFormaState.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useGlobalForm.d.ts","sourceRoot":"","sources":["../../hooks/useGlobalForm.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAIH,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAG9E;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,EACzD,MAAM,EACN,aAAa,EACb,WAAkB,EAClB,QAAQ,EACR,UAAU,EACV,UAAU,GACb,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"useGlobalForm.d.ts","sourceRoot":"","sources":["../../hooks/useGlobalForm.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAIH,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAG9E;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,EACzD,MAAM,EACN,aAAa,EACb,WAAkB,EAClB,QAAQ,EACR,UAAU,EACV,UAAU,GACb,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAmGhD"}
|
|
@@ -68,18 +68,34 @@ Details: GlobalFormaContext must be used within GlobalFormaProvider (formId: ${f
|
|
|
68
68
|
`.trim();
|
|
69
69
|
throw new Error(errorMessage);
|
|
70
70
|
}
|
|
71
|
-
const { getOrCreateStore, incrementRef, decrementRef, validateAndStoreAutoCleanupSetting, } = context;
|
|
71
|
+
const { getOrCreateStore, incrementRef, decrementRef, validateAndStoreAutoCleanupSetting, registerHandlers, getHandlers, } = context;
|
|
72
72
|
// autoCleanup 설정 일관성 검증
|
|
73
73
|
validateAndStoreAutoCleanupSetting(formId, autoCleanup);
|
|
74
74
|
// 글로벌 스토어 가져오기 또는 생성 / Get or create global store
|
|
75
75
|
const store = getOrCreateStore(formId);
|
|
76
|
+
// 핸들러가 제공되면 글로벌에 등록 / Register handlers to global if provided
|
|
77
|
+
(0, react_1.useEffect)(() => {
|
|
78
|
+
if (onSubmit || onValidate || onComplete) {
|
|
79
|
+
registerHandlers(formId, {
|
|
80
|
+
onSubmit,
|
|
81
|
+
onValidate,
|
|
82
|
+
onComplete,
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
}, [formId, onSubmit, onValidate, onComplete, registerHandlers]);
|
|
86
|
+
// 글로벌 핸들러 가져오기 / Get global handlers
|
|
87
|
+
const globalHandlers = getHandlers(formId);
|
|
88
|
+
// 로컬 핸들러가 없으면 글로벌 핸들러 사용 / Use global handlers if local handlers are not provided
|
|
89
|
+
const effectiveOnSubmit = onSubmit || globalHandlers?.onSubmit;
|
|
90
|
+
const effectiveOnValidate = onValidate || globalHandlers?.onValidate;
|
|
91
|
+
const effectiveOnComplete = onComplete || globalHandlers?.onComplete;
|
|
76
92
|
// useForm에 외부 스토어와 핸들러들 전달 / Pass external store and handlers to useForm
|
|
77
93
|
const form = (0, useForm_1.useForm)({
|
|
78
94
|
initialValues: initialValues || {},
|
|
79
95
|
_externalStore: store,
|
|
80
|
-
onSubmit,
|
|
81
|
-
onValidate,
|
|
82
|
-
onComplete,
|
|
96
|
+
onSubmit: effectiveOnSubmit,
|
|
97
|
+
onValidate: effectiveOnValidate,
|
|
98
|
+
onComplete: effectiveOnComplete,
|
|
83
99
|
});
|
|
84
100
|
// 초기값이 있고 스토어가 비어있다면 초기값 설정 (올바른 방법으로)
|
|
85
101
|
// Set initial values if provided and store is empty (using proper method)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useGlobalForm.js","sourceRoot":"","sources":["../../hooks/useGlobalForm.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;;AAoBH,
|
|
1
|
+
{"version":3,"file":"useGlobalForm.js","sourceRoot":"","sources":["../../hooks/useGlobalForm.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useModal.d.ts","sourceRoot":"","sources":["../../hooks/useModal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAWH,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAU/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,QAAQ,CAAC,EACrB,WAAmB,EACnB,OAAO,EAAE,eAAe,GAC3B,GAAE,aAAkB,GAAG,cAAc,
|
|
1
|
+
{"version":3,"file":"useModal.d.ts","sourceRoot":"","sources":["../../hooks/useModal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAWH,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAU/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,QAAQ,CAAC,EACrB,WAAmB,EACnB,OAAO,EAAE,eAAe,GAC3B,GAAE,aAAkB,GAAG,cAAc,CAuGrC"}
|
package/dist/hooks/useModal.js
CHANGED
|
@@ -95,11 +95,19 @@ function useModal({ initialOpen = false, onClose: externalOnClose, } = {}) {
|
|
|
95
95
|
// 모달 닫기
|
|
96
96
|
const close = (0, react_1.useCallback)(() => {
|
|
97
97
|
if (isOpen) {
|
|
98
|
-
//
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
98
|
+
// 모달이 등록되어 있으면 history.back()으로 처리
|
|
99
|
+
if (isRegisteredRef.current) {
|
|
100
|
+
window.history.back();
|
|
101
|
+
// popstate 이벤트가 발생하면 FormContext의 handlePopState가 처리하여
|
|
102
|
+
// closeLastModal -> modal:close 이벤트 발생 -> handleCloseEvent 에서 setIsOpen(false) 호출
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
// 등록되지 않은 경우 (open()이 호출되지 않고 직접 닫히는 경우) 직접 닫기
|
|
106
|
+
setIsOpen(false);
|
|
107
|
+
if (onCloseRef.current) {
|
|
108
|
+
onCloseRef.current();
|
|
109
|
+
}
|
|
110
|
+
}
|
|
103
111
|
}
|
|
104
112
|
}, [isOpen]);
|
|
105
113
|
// 모달 토글
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useModal.js","sourceRoot":"","sources":["../../hooks/useModal.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;;AAqDH,
|
|
1
|
+
{"version":3,"file":"useModal.js","sourceRoot":"","sources":["../../hooks/useModal.ts"],"names":[],"mappings":"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"}
|