react-hook-core 0.5.0 → 0.5.1

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/src/edit.ts CHANGED
@@ -1,6 +1,42 @@
1
1
  import { NavigateFunction } from "react-router-dom"
2
2
  import { Attributes, ErrorMessage, StringMap } from "./core"
3
3
 
4
+ export function isSuccessful<T>(x: number | T | ErrorMessage[]): boolean {
5
+ if (Array.isArray(x)) {
6
+ return false
7
+ } else if (typeof x === "object") {
8
+ return true
9
+ } else if (typeof x === "number" && x > 0) {
10
+ return true
11
+ }
12
+ return false
13
+ }
14
+
15
+ type Result<T> = number | T | ErrorMessage[]
16
+ export function afterSaved<T>(
17
+ res: Result<T>,
18
+ form: HTMLFormElement | undefined | null,
19
+ resource: StringMap,
20
+ showFormError: (form?: HTMLFormElement | null, errors?: ErrorMessage[]) => ErrorMessage[],
21
+ alertSuccess: (msg: string, callback?: () => void) => void,
22
+ alertError: (msg: string) => void,
23
+ navigate?: NavigateFunction,
24
+ ) {
25
+ if (Array.isArray(res)) {
26
+ showFormError(form, res)
27
+ } else if (isSuccessful(res)) {
28
+ alertSuccess(resource.msg_save_success, () => {
29
+ if (navigate) {
30
+ navigate(-1)
31
+ }
32
+ })
33
+ } else if (res === 0) {
34
+ alertError(resource.error_not_found)
35
+ } else {
36
+ alertError(resource.error_conflict)
37
+ }
38
+ }
39
+
4
40
  export function createModel<T>(attributes?: Attributes): T {
5
41
  const obj: any = {}
6
42
  if (!attributes) {
@@ -48,39 +84,3 @@ export function createModel<T>(attributes?: Attributes): T {
48
84
  }
49
85
  return obj
50
86
  }
51
-
52
- export function isSuccessful<T>(x: number | T | ErrorMessage[]): boolean {
53
- if (Array.isArray(x)) {
54
- return false
55
- } else if (typeof x === "object") {
56
- return true
57
- } else if (typeof x === "number" && x > 0) {
58
- return true
59
- }
60
- return false
61
- }
62
-
63
- type Result<T> = number | T | ErrorMessage[]
64
- export function afterSaved<T>(
65
- res: Result<T>,
66
- form: HTMLFormElement | undefined | null,
67
- resource: StringMap,
68
- showFormError: (form?: HTMLFormElement | null, errors?: ErrorMessage[]) => ErrorMessage[],
69
- alertSuccess: (msg: string, callback?: () => void) => void,
70
- alertError: (msg: string) => void,
71
- navigate?: NavigateFunction,
72
- ) {
73
- if (Array.isArray(res)) {
74
- showFormError(form, res)
75
- } else if (isSuccessful(res)) {
76
- alertSuccess(resource.msg_save_success, () => {
77
- if (navigate) {
78
- navigate(-1)
79
- }
80
- })
81
- } else if (res === 0) {
82
- alertError(resource.error_not_found)
83
- } else {
84
- alertError(resource.error_conflict)
85
- }
86
- }
package/src/index.ts CHANGED
@@ -4,15 +4,11 @@ export * from "./com"
4
4
  export * from "./core"
5
5
  export * from "./diff"
6
6
  export * from "./edit"
7
- export * from "./formutil"
8
7
  export * from "./reflect"
9
8
  export * from "./route"
10
9
  export * from "./search"
11
10
  export * from "./state"
12
- export * from "./update"
13
- export * from "./useEdit"
14
11
  export * from "./useMessage"
15
- export * from "./useSearch"
16
12
  export * from "./util"
17
13
 
18
14
  export type ButtonMouseEvent = React.MouseEvent<HTMLButtonElement, MouseEvent>
@@ -98,7 +94,7 @@ interface InputProps {
98
94
  defaultValue?: string
99
95
  onChangeNumber?: (value: number) => void
100
96
  onChange?: ChangeEventHandler<HTMLInputElement>
101
- currencyOnBlur?: (event: Event | any, locale: Locale, currencyCode?: string, includingCurrencySymbol?: boolean) => void
97
+ currencyOnBlur?: (e: Event | any, locale: Locale, currencyCode?: string, includingCurrencySymbol?: boolean) => void
102
98
  currencyCode?: string
103
99
  symbol?: boolean
104
100
  readOnly?: boolean
package/src/route.ts CHANGED
@@ -1,9 +1,24 @@
1
1
  import queryString from "query-string"
2
+ import * as React from "react"
2
3
  import { NavigateFunction } from "react-router-dom"
3
4
  import { StringMap } from "./core"
4
5
  import { hasDiff } from "./reflect"
5
6
  import { Filter } from "./search"
6
7
 
8
+ export function onBack<T>(
9
+ e: React.MouseEvent<HTMLElement, MouseEvent>,
10
+ navigate: NavigateFunction,
11
+ confirm: (msg: string, yesCallback?: () => void) => void,
12
+ resource: StringMap,
13
+ o1: T,
14
+ o2: T,
15
+ keys?: string[],
16
+ version?: string,
17
+ ) {
18
+ e.preventDefault()
19
+ goBack(navigate, confirm, resource, o1, o2, keys, version)
20
+ }
21
+
7
22
  export function goBack<T>(
8
23
  navigate: NavigateFunction,
9
24
  confirm: (msg: string, yesCallback?: () => void) => void,
package/src/search.ts CHANGED
@@ -374,8 +374,8 @@ export function handleToggle(target?: HTMLElement, off?: boolean): boolean {
374
374
  }
375
375
  return on
376
376
  }
377
- export function getNumber(event: ChangeEvent<HTMLSelectElement | HTMLInputElement>): number {
378
- return parseInt(event.currentTarget.value, 10)
377
+ export function getNumber(e: ChangeEvent<HTMLSelectElement | HTMLInputElement>): number {
378
+ return parseInt(e.currentTarget.value, 10)
379
379
  }
380
380
 
381
381
  export function setSortFilter<F extends Filter, T extends Sortable>(
@@ -428,13 +428,13 @@ export function onClearQ<T extends Filter>(filter: T, setFilter?: (v: React.SetS
428
428
  }
429
429
  }
430
430
  export function onPageSizeChanged<T extends Filter>(
431
- event: ChangeEvent<HTMLSelectElement>,
431
+ e: ChangeEvent<HTMLSelectElement>,
432
432
  search: () => void,
433
433
  filter: T,
434
434
  setFilter?: (v: React.SetStateAction<T>) => void,
435
435
  ) {
436
436
  filter.page = 1
437
- filter.limit = getNumber(event)
437
+ filter.limit = getNumber(e)
438
438
  if (setFilter) {
439
439
  setFilter(filter)
440
440
  }
@@ -450,14 +450,14 @@ export function onPageChanged<T extends Filter>(data: PageChange, search: () =>
450
450
  search()
451
451
  }
452
452
  export function onSearch<F extends Filter, T extends Sortable>(
453
- event: React.MouseEvent<HTMLButtonElement, MouseEvent>,
453
+ e: React.MouseEvent<HTMLButtonElement, MouseEvent>,
454
454
  search: () => void,
455
455
  filter: F,
456
456
  state: T,
457
457
  setFilter?: (v: React.SetStateAction<F>) => void,
458
458
  setState?: (v: React.SetStateAction<T>) => void,
459
459
  ): void {
460
- event.preventDefault()
460
+ e.preventDefault()
461
461
  removeSortStatus(state.sortTarget)
462
462
  filter.page = 1
463
463
  state.sortTarget = undefined
@@ -471,12 +471,12 @@ export function onSearch<F extends Filter, T extends Sortable>(
471
471
  search()
472
472
  }
473
473
  export function onSort<T extends Sortable>(
474
- event: React.MouseEvent<HTMLButtonElement, MouseEvent>,
474
+ e: React.MouseEvent<HTMLButtonElement, MouseEvent>,
475
475
  search: () => void,
476
476
  state: T,
477
477
  setState?: (v: React.SetStateAction<T>) => void,
478
478
  ) {
479
- const target = getSortElement(event.target as HTMLElement)
479
+ const target = getSortElement(e.target as HTMLElement)
480
480
  const sort = handleSort(target, state.sortTarget, state.sortField, state.sortType)
481
481
  state.sortField = sort.field
482
482
  state.sortType = sort.type
package/src/state.ts CHANGED
@@ -1,7 +1,6 @@
1
1
  import { ChangeEvent } from "react"
2
- import { Locale, removeFaxFormat, removePhoneFormat } from "./core"
2
+ import { removeFaxFormat, removePhoneFormat } from "./core"
3
3
  import { setValue } from "./reflect"
4
- import { valueOf } from "./util"
5
4
 
6
5
  export function getDecimalSeparator(ele: HTMLInputElement): string {
7
6
  let separator = ele.getAttribute("data-decimal-separator")
@@ -17,7 +16,7 @@ export function getDecimalSeparator(ele: HTMLInputElement): string {
17
16
  const r1 = / |,|\$|€|£|¥|'|٬|،| /g
18
17
  const r2 = / |\.|\$|€|£|¥|'|٬|،| /g
19
18
  export function updateNumber<T>(
20
- e: ChangeEvent<HTMLInputElement, HTMLInputElement>,
19
+ e: ChangeEvent<HTMLInputElement>,
21
20
  o: T,
22
21
  setObj: (v: React.SetStateAction<T>) => void,
23
22
  decimalSeparator?: string,
@@ -40,7 +39,7 @@ export function updateNumber<T>(
40
39
  }
41
40
  }
42
41
  export function formatAndUpdateState<T>(
43
- e: ChangeEvent<HTMLInputElement, HTMLInputElement> | ChangeEvent<HTMLTextAreaElement, HTMLTextAreaElement>,
42
+ e: ChangeEvent<HTMLInputElement> | ChangeEvent<HTMLSelectElement> | ChangeEvent<HTMLTextAreaElement>,
44
43
  o: T,
45
44
  setObj: (v: React.SetStateAction<T>) => void,
46
45
  formatStr?: (s?: string) => string,
@@ -49,7 +48,7 @@ export function formatAndUpdateState<T>(
49
48
  updateState(e, o, setObj, callback, formatStr)
50
49
  }
51
50
  export function updateState<T>(
52
- e: ChangeEvent<HTMLInputElement, HTMLInputElement> | ChangeEvent<HTMLTextAreaElement, HTMLTextAreaElement>,
51
+ e: ChangeEvent<HTMLInputElement> | ChangeEvent<HTMLSelectElement> | ChangeEvent<HTMLTextAreaElement>,
53
52
  o: T,
54
53
  setObj: (v: React.SetStateAction<T>) => void,
55
54
  callback?: () => void,
@@ -128,170 +127,6 @@ export function updateState<T>(
128
127
  }
129
128
  }
130
129
 
131
- export const enLocale = {
132
- id: "en-US",
133
- countryCode: "US",
134
- dateFormat: "M/d/yyyy",
135
- firstDayOfWeek: 1,
136
- decimalSeparator: ".",
137
- groupSeparator: ",",
138
- decimalDigits: 2,
139
- currencyCode: "USD",
140
- currencySymbol: "$",
141
- currencyPattern: 0,
142
- }
143
- export function localeOf(lc?: Locale, glc?: (() => Locale) | Locale): Locale {
144
- let l: Locale | undefined = lc
145
- if (!l) {
146
- if (glc) {
147
- if (typeof glc === "function") {
148
- l = glc()
149
- } else {
150
- l = glc
151
- }
152
- }
153
- if (!l) {
154
- l = enLocale
155
- }
156
- }
157
- return l
158
- }
159
- export function handleEvent(e: any, removeErr?: (ctrl: HTMLInputElement) => void) {
160
- const ctrl = e.currentTarget as HTMLInputElement
161
- const type = ctrl.getAttribute("type")
162
- const isPreventDefault = type && (["checkbox", "radio"].indexOf(type.toLowerCase()) >= 0 ? false : true)
163
- if (isPreventDefault) {
164
- e.preventDefault()
165
- }
166
- if (removeErr && ctrl.nodeName === "SELECT" && ctrl.value && ctrl.classList.contains("invalid")) {
167
- removeErr(ctrl)
168
- }
169
- }
170
-
171
- export interface ModelMap {
172
- [key: string]: any
173
- }
174
- export interface ModelProps {
175
- setGlobalState?: (m: ModelMap) => void
176
- shouldBeCustomized?: boolean
177
- }
178
- export function handleProps<P extends ModelProps>(
179
- e: any,
180
- props: P,
181
- ctrl: HTMLInputElement,
182
- modelName: string,
183
- tloc: Locale,
184
- prepareData?: (data: any) => void,
185
- ) {
186
- if (props.setGlobalState) {
187
- const res = valueOf(ctrl, tloc, e.type)
188
- if (res.mustChange) {
189
- const dataField = ctrl.getAttribute("data-field")
190
- const field = dataField ? dataField : ctrl.name
191
- const propsDataForm = (props as any)[modelName]
192
- const form = ctrl.form
193
- if (form) {
194
- const formName = form.name
195
- if (field.indexOf(".") < 0 && field.indexOf("[") < 0) {
196
- const data = props.shouldBeCustomized && prepareData ? prepareData({ [ctrl.name]: res.value }) : { [ctrl.name]: res.value }
197
- props.setGlobalState({ [formName]: { ...propsDataForm, ...data } })
198
- } else {
199
- setValue(propsDataForm, field, ctrl.value)
200
- props.setGlobalState({ [formName]: { ...propsDataForm } })
201
- }
202
- }
203
- }
204
- }
205
- }
206
- export function buildState<S, K extends keyof S>(e: any, state: Readonly<S>, ctrl: HTMLInputElement, modelName: string, tloc: Locale): K | undefined {
207
- const form = ctrl.form
208
- if (form) {
209
- if (modelName && modelName !== "") {
210
- const type = ctrl.getAttribute("type")
211
- const ex = (state as any)[modelName]
212
- const dataField = ctrl.getAttribute("data-field")
213
- const field = dataField ? dataField : ctrl.name
214
- const model = Object.assign({}, ex)
215
- if (type && type.toLowerCase() === "checkbox") {
216
- let value = model[field]
217
- if (ctrl.id && ctrl.name !== ctrl.id) {
218
- if (!value || !Array.isArray(value)) {
219
- value = []
220
- }
221
- value.includes(ctrl.value) ? (value = value.filter((v: string) => v !== ctrl.value)) : value.push(ctrl.value)
222
- // if (dType == 'array'){
223
- // if (value === 'string'){
224
- // value = [value]
225
- // }
226
- // }
227
- model[field] = value
228
- // console.log(model, modelName, model, model[field], field, value )
229
- // setValue(model, field, value);
230
- } else {
231
- const v = valueOfCheckbox(ctrl)
232
- model[field] = v
233
- }
234
- const objSet: any = {}
235
- objSet[modelName] = model
236
- return objSet
237
- } else if (type && type.toLowerCase() === "radio") {
238
- if (field.indexOf(".") < 0 && field.indexOf("[") < 0) {
239
- model[field] = ctrl.value
240
- } else {
241
- setValue(model, field, ctrl.value)
242
- }
243
- const objSet: any = {}
244
- objSet[modelName] = model
245
- return objSet
246
- } else if (type && (type.toLowerCase() === "date" || type.toLowerCase() === "datetime-local")) {
247
- const objSet: any = {}
248
- try {
249
- const selectedDate = new Date(ctrl.value)
250
- setValue(model, field, ctrl.value && ctrl.value !== "" ? selectedDate.toISOString() : null)
251
- objSet[modelName] = model
252
- return objSet
253
- } catch (error) {
254
- console.error("Error occurred while formatting date:", error)
255
- }
256
- return objSet
257
- } else if (type && type.toLowerCase() === "time") {
258
- const objSet: any = {}
259
- try {
260
- const selectedDate = new Date(ctrl.value)
261
- setValue(model, field, selectedDate.getTime())
262
- objSet[modelName] = model
263
- return objSet
264
- } catch (error) {
265
- console.error("Error occurred while formatting time:", error)
266
- }
267
- return objSet
268
- } else {
269
- if (ctrl.tagName === "SELECT") {
270
- if (ctrl.value === "" || !ctrl.value) {
271
- ctrl.removeAttribute("data-value")
272
- } else {
273
- ctrl.setAttribute("data-value", "data-value")
274
- }
275
- }
276
- const data = valueOf(ctrl, tloc, e.type)
277
- if (data.mustChange) {
278
- if (field.indexOf(".") < 0 && field.indexOf("[") < 0) {
279
- model[field] = data.value
280
- } else {
281
- setValue(model, field, data.value)
282
- }
283
- const objSet: any = {}
284
- objSet[modelName] = model
285
- return objSet
286
- }
287
- }
288
- } else {
289
- return buildFlatState(e, state, tloc)
290
- }
291
- } else {
292
- buildFlatState(e, state, tloc)
293
- }
294
- }
295
130
  export function valueOfCheckbox(ctrl: HTMLInputElement): string | number | boolean {
296
131
  const ctrlOnValue = ctrl.getAttribute("data-on-value")
297
132
  const ctrlOffValue = ctrl.getAttribute("data-off-value")
@@ -303,29 +138,3 @@ export function valueOfCheckbox(ctrl: HTMLInputElement): string | number | boole
303
138
  return ctrl.checked === true
304
139
  }
305
140
  }
306
- export function buildFlatState<S, K extends keyof S>(e: any, state: Readonly<S>, l?: Locale): K | undefined {
307
- const ctrl = e.currentTarget as HTMLInputElement
308
- const stateName = ctrl.name
309
- const objSet: any = {}
310
- const type = ctrl.getAttribute("type")
311
- if (type && type.toLowerCase() === "checkbox") {
312
- if (ctrl.id && stateName === ctrl.id) {
313
- const v = valueOfCheckbox(ctrl)
314
- objSet[stateName] = v
315
- return objSet
316
- } else {
317
- let value = (state as any)[stateName]
318
- value.includes(ctrl.value) ? (value = value.filter((v: string) => v !== ctrl.value)) : value.push(ctrl.value)
319
- const objSet2: any = { [ctrl.name]: value }
320
- return objSet2
321
- }
322
- } else {
323
- const data = valueOf(ctrl, l, e.type)
324
- if (data.mustChange) {
325
- objSet[stateName] = data.value
326
- return objSet
327
- } else {
328
- return undefined
329
- }
330
- }
331
- }
package/src/util.ts CHANGED
@@ -1,5 +1,17 @@
1
- import { Locale } from "./core"
2
- import { enLocale } from "./state"
1
+ import { Locale } from "./core";
2
+
3
+ export const enLocale = {
4
+ id: "en-US",
5
+ countryCode: "US",
6
+ dateFormat: "M/d/yyyy",
7
+ firstDayOfWeek: 1,
8
+ decimalSeparator: ".",
9
+ groupSeparator: ",",
10
+ decimalDigits: 2,
11
+ currencyCode: "USD",
12
+ currencySymbol: "$",
13
+ currencyPattern: 0,
14
+ }
3
15
 
4
16
  const r1 = / |,|\$|€|£|¥|'|٬|،| /g
5
17
  const r2 = / |\.|\$|€|£|¥|'|٬|،| /g
package/lib/formutil.js DELETED
@@ -1,76 +0,0 @@
1
- "use strict"
2
- Object.defineProperty(exports, "__esModule", { value: true })
3
- function setReadOnly(form) {
4
- var args = []
5
- for (var _i = 1; _i < arguments.length; _i++) {
6
- args[_i - 1] = arguments[_i]
7
- }
8
- if (!form) {
9
- return
10
- }
11
- var len = form.length
12
- for (var i = 0; i < len; i++) {
13
- var ctrl = form[i]
14
- var name_1 = ctrl.getAttribute("name")
15
- var skip = false
16
- if (name_1 != null && name_1.length > 0 && name_1 !== "btnBack") {
17
- if (arguments.length > 1) {
18
- for (var j = 1; j < arguments.length; j++) {
19
- if (arguments[j] === name_1) {
20
- skip = true
21
- }
22
- }
23
- }
24
- if (skip === false) {
25
- var nodeName = ctrl.nodeName
26
- var type = ctrl.getAttribute("type")
27
- if (nodeName === "INPUT" && type !== null) {
28
- nodeName = type.toUpperCase()
29
- }
30
- if (nodeName !== "BUTTON" && nodeName !== "RESET" && nodeName !== "SUBMIT" && nodeName !== "SELECT") {
31
- switch (type) {
32
- case "checkbox":
33
- ctrl.disabled = true
34
- break
35
- case "radio":
36
- ctrl.disabled = true
37
- break
38
- default:
39
- ctrl.readOnly = true
40
- }
41
- } else {
42
- ctrl.disabled = true
43
- }
44
- }
45
- }
46
- }
47
- }
48
- exports.setReadOnly = setReadOnly
49
- function focusFirstError(form, className) {
50
- if (!form) {
51
- return
52
- }
53
- var len = form.length
54
- if (className && className.length > 0) {
55
- for (var i = 0; i < len; i++) {
56
- var ctrl = form[i]
57
- var parent_1 = ctrl.parentElement
58
- if (ctrl.classList.contains(className) || (parent_1 && parent_1.classList.contains(className))) {
59
- ctrl.focus()
60
- ctrl.scrollIntoView()
61
- return
62
- }
63
- }
64
- } else {
65
- for (var i = 0; i < len; i++) {
66
- var ctrl = form[i]
67
- var parent_2 = ctrl.parentElement
68
- if (ctrl.classList.contains("invalid") || ctrl.classList.contains(".ng-invalid") || (parent_2 && parent_2.classList.contains("invalid"))) {
69
- ctrl.focus()
70
- ctrl.scrollIntoView()
71
- return
72
- }
73
- }
74
- }
75
- }
76
- exports.focusFirstError = focusFirstError
package/lib/update.js DELETED
@@ -1,143 +0,0 @@
1
- "use strict"
2
- var __assign =
3
- (this && this.__assign) ||
4
- function () {
5
- __assign =
6
- Object.assign ||
7
- function (t) {
8
- for (var s, i = 1, n = arguments.length; i < n; i++) {
9
- s = arguments[i]
10
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]
11
- }
12
- return t
13
- }
14
- return __assign.apply(this, arguments)
15
- }
16
- Object.defineProperty(exports, "__esModule", { value: true })
17
- var react_1 = require("react")
18
- var core_1 = require("./core")
19
- var state_1 = require("./state")
20
- function getModelName(form, name) {
21
- if (form) {
22
- var a = form.getAttribute("model-name")
23
- if (a && a.length > 0) {
24
- return a
25
- }
26
- var b = form.name
27
- if (b) {
28
- if (b.endsWith("Form")) {
29
- return b.substring(0, b.length - 4)
30
- }
31
- return b
32
- }
33
- }
34
- if (name && name.length > 0) {
35
- return name
36
- }
37
- return ""
38
- }
39
- exports.getModelName = getModelName
40
- var m = "model"
41
- var _getModelName = function (f2) {
42
- return getModelName(f2, m)
43
- }
44
- function useMergeState(initialState) {
45
- var _a = react_1.useState(initialState ? initialState : {}),
46
- state = _a[0],
47
- _setState = _a[1]
48
- var callbackRef = react_1.useRef(null)
49
- var setState = react_1.useCallback(
50
- function (newState, callback) {
51
- callbackRef.current = callback
52
- _setState(function (prevState) {
53
- return Object.assign({}, prevState, newState)
54
- })
55
- },
56
- [state],
57
- )
58
- react_1.useEffect(
59
- function () {
60
- if (callbackRef.current) {
61
- callbackRef.current(state)
62
- }
63
- },
64
- [state],
65
- )
66
- return [state, setState]
67
- }
68
- exports.useMergeState = useMergeState
69
- exports.useUpdate = function (initialState, getName, getLocale, removeErr) {
70
- var _a = useMergeState(initialState),
71
- state = _a[0],
72
- setState = _a[1]
73
- var _b = react_1.useState(false),
74
- rerender = _b[0],
75
- setRerender = _b[1]
76
- react_1.useEffect(
77
- function () {
78
- setRerender(!rerender)
79
- },
80
- [state],
81
- )
82
- var updatePhoneState = function (event) {
83
- var re = /^[0-9\b]+$/
84
- var target = event.currentTarget
85
- var value = core_1.removePhoneFormat(target.value)
86
- if (re.test(value) || !value) {
87
- updateState(event)
88
- } else {
89
- var splitArr = value.split("")
90
- var responseStr_1 = ""
91
- splitArr.forEach(function (element) {
92
- if (re.test(element)) {
93
- responseStr_1 += element
94
- }
95
- })
96
- target.value = responseStr_1
97
- updateState(event)
98
- }
99
- }
100
- var getModelName = typeof getName === "function" ? getName : _getModelName
101
- var updateState = function (e, callback, lc) {
102
- var ctrl = e.currentTarget
103
- var mn = m
104
- if (getName) {
105
- if (typeof getName === "string") {
106
- mn = getName
107
- } else {
108
- mn = getName(ctrl.form)
109
- }
110
- } else {
111
- mn = _getModelName(ctrl.form)
112
- }
113
- var l = state_1.localeOf(lc, getLocale)
114
- state_1.handleEvent(e, removeErr)
115
- var objSet = state_1.buildState(e, state, ctrl, mn, l)
116
- if (objSet) {
117
- if (callback) {
118
- setState(__assign({}, objSet), callback)
119
- } else {
120
- setState(objSet)
121
- }
122
- }
123
- }
124
- var updateFlatState = function (e, callback, lc) {
125
- var objSet = state_1.buildFlatState(e, state, lc)
126
- if (objSet) {
127
- if (callback) {
128
- setState(objSet, callback)
129
- } else {
130
- setState(objSet)
131
- }
132
- }
133
- }
134
- return {
135
- getModelName: getModelName,
136
- updateState: updateState,
137
- updatePhoneState: updatePhoneState,
138
- updateFlatState: updateFlatState,
139
- getLocale: getLocale,
140
- setState: setState,
141
- state: state,
142
- }
143
- }