@next-shared/form 0.5.5 → 0.6.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.
@@ -62,7 +62,14 @@ class FormStore extends _PubSub.PubSub {
62
62
  (0, _classPrivateFieldGet6.default)(this, _fields).set(name, new Field(name, detail));
63
63
  }
64
64
  getAllValues() {
65
- return (0, _classPrivateFieldGet6.default)(this, _formData);
65
+ const allFields = (0, _classPrivateMethodGet2.default)(this, _getAllFields, _getAllFields2).call(this);
66
+ const formData = Object.fromEntries(Object.entries((0, _classPrivateFieldGet6.default)(this, _formData)).map(([k, v]) => {
67
+ if (allFields.includes(k)) {
68
+ return [k, v];
69
+ }
70
+ return [];
71
+ }).filter(item => item.length));
72
+ return formData;
66
73
  }
67
74
  setInitValue(values, isEmitValuseChange = true) {
68
75
  (0, _classPrivateFieldSet2.default)(this, _initData, values);
@@ -77,16 +84,13 @@ class FormStore extends _PubSub.PubSub {
77
84
  }
78
85
  }
79
86
  setFieldsValue(values, isEmitValuseChange = true) {
80
- const allFields = (0, _classPrivateMethodGet2.default)(this, _getAllFields, _getAllFields2).call(this);
81
87
  const newFormData = {
82
88
  ...(0, _classPrivateFieldGet6.default)(this, _formData)
83
89
  };
84
90
  Object.entries(values).forEach(([k, v]) => {
85
- if (allFields.includes(k)) {
86
- newFormData[k] = v;
87
- (0, _classPrivateFieldGet6.default)(this, _initData) && ((0, _classPrivateFieldGet6.default)(this, _initData)[k] = v);
88
- this.publish(`${k}.init.value`, v);
89
- }
91
+ newFormData[k] = v;
92
+ (0, _classPrivateFieldGet6.default)(this, _initData) && ((0, _classPrivateFieldGet6.default)(this, _initData)[k] = v);
93
+ this.publish(`${k}.init.value`, v);
90
94
  });
91
95
  (0, _classPrivateFieldSet2.default)(this, _formData, newFormData);
92
96
  if (isEmitValuseChange) {
@@ -99,10 +103,10 @@ class FormStore extends _PubSub.PubSub {
99
103
  }
100
104
  resetFields(name) {
101
105
  if (name) {
102
- (0, _classPrivateFieldGet6.default)(this, _formData)[name] = null;
106
+ this.removeField(name);
103
107
  this.publish(`${name}.reset.fields`, null);
104
108
  } else {
105
- (0, _classPrivateFieldSet2.default)(this, _formData, {});
109
+ (0, _classPrivateFieldGet6.default)(this, _fields).clear();
106
110
  this.publish("reset.fields", null);
107
111
  }
108
112
  }
@@ -125,11 +129,12 @@ class FormStore extends _PubSub.PubSub {
125
129
  }
126
130
  });
127
131
  if (results.some(result => (result === null || result === void 0 ? void 0 : result.type) !== "normal")) {
128
- callback(true, results);
132
+ callback(true, results.filter(result => (result === null || result === void 0 ? void 0 : result.type) !== "normal"));
129
133
  return false;
130
134
  } else {
131
- callback(false, (0, _classPrivateFieldGet6.default)(this, _formData));
132
- return (0, _classPrivateFieldGet6.default)(this, _formData);
135
+ const formData = this.getAllValues();
136
+ callback(false, formData);
137
+ return formData;
133
138
  }
134
139
  }
135
140
  validateField(field) {
@@ -238,7 +243,10 @@ class FormStore extends _PubSub.PubSub {
238
243
  }
239
244
  exports.FormStore = FormStore;
240
245
  function _getAllFields2() {
241
- return [...(0, _classPrivateFieldGet6.default)(this, _fields).keys()];
246
+ return [...(0, _classPrivateFieldGet6.default)(this, _fields).keys()].filter(key => {
247
+ var _detail;
248
+ return !((_detail = (0, _classPrivateFieldGet6.default)(this, _fields).get(key).detail) !== null && _detail !== void 0 && _detail.notRender);
249
+ });
242
250
  }
243
251
  (0, _defineProperty2.default)(FormStore, "uid", void 0);
244
252
  (0, _defineProperty2.default)(FormStore, "instance", new Map());
@@ -1 +1 @@
1
- {"version":3,"file":"FormStore.js","names":["_lodash","require","_PubSub","uid","Field","field","detail","constructor","name","_fields","WeakMap","_options","_formData","_initData","_getAllFields","WeakSet","FormStore","PubSub","getInstance","options","instance","get","set","_classPrivateMethodInitSpec2","default","_classPrivateFieldInitSpec2","writable","value","Map","_classPrivateFieldSet2","setField","_classPrivateFieldGet6","getAllValues","setInitValue","values","isEmitValuseChange","setFieldsValue","setFieldsValueByInitData","_classPrivateFieldGet2","isNil","publish","allFields","_classPrivateMethodGet2","_getAllFields2","call","newFormData","Object","entries","forEach","k","v","includes","_classPrivateFieldGet3","_classPrivateFieldGet4","onValuesChanged","changedValues","allValues","resetFields","getFieldsValue","removeField","delete","validateFields","callback","results","push","validateField","some","result","type","_classPrivateFieldGet5","fieldDetail","label","validate","validateValue","messageBody","message","getName","valid","required","pattern","min","max","validator","isEmpty","reg","RegExp","test","length","parsedValidator","Array","isArray","getValueFromEvent","e","target","checked","resetValidateState","onWatch","event","_options$needValidate","realValue","needValidate","apply","onChange","_options$needValidate2","exports","keys","_defineProperty2"],"sources":["../../src/FormStore.ts"],"sourcesContent":["import { isEmpty, isNil } from \"lodash\";\nimport { PubSub } from \"./PubSub.js\";\n\ninterface FormStoreOptions {\n onValuesChanged?: (data: any) => void;\n}\n\ninterface FieldDetail {\n name: string;\n label?: string;\n originProps?: Record<string, any>;\n validate: Validate;\n [k: string]: any;\n}\n\nexport interface MessageBody {\n message: string;\n type: string;\n}\n\nexport interface WatchOptions {\n needValidate?: boolean;\n}\n\ninterface Validate {\n required?: boolean;\n pattern?: string;\n min?: number;\n max?: number;\n message?: {\n required?: string;\n pattern?: string;\n min?: string;\n max?: string;\n };\n validator?: (value: any) => MessageBody | string;\n}\n\nlet uid = 0;\n\nclass Field {\n field: string;\n detail: FieldDetail;\n constructor(name: string, detail: FieldDetail) {\n this.field = name;\n this.detail = detail;\n }\n}\n\nexport class FormStore extends PubSub {\n static uid: number;\n static instance: Map<number, FormStore> = new Map();\n static getInstance(options?: FormStoreOptions): FormStore {\n if (!this.instance.get(uid)) {\n this.uid = uid;\n this.instance.set(this.uid, new FormStore(options));\n uid += 1;\n }\n return this.instance.get(this.uid) as FormStore;\n }\n\n #fields: Map<string, Field> = new Map();\n #options: FormStoreOptions | undefined;\n #formData!: Record<string, unknown>;\n #initData: Record<string, unknown> | undefined;\n\n constructor(options?: FormStoreOptions) {\n super();\n this.#formData = {};\n this.#options = options;\n }\n\n setField(name: string, detail: FieldDetail) {\n this.#fields.set(name, new Field(name, detail));\n }\n #getAllFields() {\n return [...this.#fields.keys()];\n }\n\n getAllValues() {\n return this.#formData;\n }\n\n setInitValue(values: Record<string, unknown>, isEmitValuseChange = true) {\n this.#initData = values;\n this.setFieldsValue(values, isEmitValuseChange);\n }\n\n setFieldsValueByInitData(name: string) {\n const value = this.#initData?.[name];\n if (!isNil(value)) {\n this.#formData[name] = value;\n this.publish(`${name}.init.value`, value);\n }\n }\n\n setFieldsValue(values: Record<string, unknown>, isEmitValuseChange = true) {\n const allFields = this.#getAllFields();\n const newFormData: Record<string, unknown> = {\n ...this.#formData,\n };\n Object.entries(values).forEach(([k, v]) => {\n if (allFields.includes(k)) {\n newFormData[k] = v;\n this.#initData && (this.#initData[k] = v);\n this.publish(`${k}.init.value`, v);\n }\n });\n this.#formData = newFormData;\n\n if (isEmitValuseChange) {\n this.#options?.onValuesChanged?.({\n changedValues: values,\n allValues: this.getAllValues(),\n });\n }\n }\n\n resetFields(name?: string) {\n if (name) {\n this.#formData[name] = null;\n this.publish(`${name}.reset.fields`, null);\n } else {\n this.#formData = {};\n this.publish(\"reset.fields\", null);\n }\n }\n\n getFieldsValue(name?: string) {\n if (name) {\n return this.#formData[name];\n }\n return this.getAllValues();\n }\n\n removeField(name: string) {\n this.#fields.delete(name);\n }\n\n validateFields(\n callback: (err: boolean, value: any) => void\n ): boolean | Record<string, unknown> {\n const allFields = this.#getAllFields();\n const results: Array<MessageBody | undefined> = [];\n allFields.forEach((name) => {\n const field = this.#fields.get(name);\n if (field) {\n results.push(this.validateField(field.detail));\n }\n });\n\n if (results.some((result) => result?.type !== \"normal\")) {\n callback(true, results);\n return false;\n } else {\n callback(false, this.#formData);\n return this.#formData;\n }\n }\n\n validateField(field: string | FieldDetail) {\n const fieldDetail =\n typeof field === \"string\" ? this.#fields.get(field)?.detail : field;\n if (!fieldDetail) return;\n const { name, label, validate } = fieldDetail;\n const validateValue = this.#formData[name];\n\n const messageBody = (message: string, type = \"error\") => {\n return {\n type,\n message,\n };\n };\n\n const getName = () => label ?? name;\n\n const valid = (validate: Validate, value: string): MessageBody => {\n const { required, pattern, message, min, max, validator } = validate;\n const label = getName();\n\n if (\n required &&\n (typeof value === \"object\"\n ? isEmpty(value)\n : typeof value === \"number\"\n ? false\n : !value)\n ) {\n return messageBody(message?.required || `${label}为必填项`);\n }\n\n if (pattern && value) {\n const reg = new RegExp(pattern);\n if (!reg.test(value)) {\n return messageBody(\n message?.pattern || `${label}没有匹配正则 ${pattern}`\n );\n }\n }\n\n if (min && (!value || value.length < min)) {\n return messageBody(message?.min || `${label}至少包含 ${min} 个字符`);\n }\n\n if (max && value && value.length > max) {\n return messageBody(message?.max || `${label}不能超过 ${max} 个字符`);\n }\n\n if (validator) {\n let result = \"\";\n let parsedValidator = [];\n if (Array.isArray(validator)) {\n parsedValidator = validator;\n } else {\n parsedValidator.push(validator);\n }\n\n for (const v of parsedValidator) {\n result = v(value);\n\n if (result) {\n break;\n }\n }\n return typeof result === \"string\"\n ? messageBody(result, result ? \"error\" : \"normal\")\n : (result as MessageBody);\n }\n\n return messageBody(\"\", \"normal\");\n };\n\n const result = valid(validate, validateValue as string);\n this.publish(`${name}.validate`, result);\n return result;\n }\n\n getValueFromEvent(e: React.ChangeEvent): any {\n if (!e || !e.target) {\n return e;\n }\n const target = e.target as HTMLInputElement;\n return target.type === \"checkbox\" ? target.checked : target.value;\n }\n\n resetValidateState() {\n this.publish(`reset.validate`, null);\n }\n\n onWatch(\n name: string,\n event: any,\n callback?: (v: string) => void,\n options?: WatchOptions\n ) {\n const field = this.#fields.get(name);\n\n if (field) {\n const value = this.getValueFromEvent(event);\n // default first params is value\n const realValue = Array.isArray(value) ? value[0] : value;\n\n this.setFieldsValue({\n [name]: realValue,\n });\n\n if (options?.needValidate ?? true) {\n this.validateField(field.detail);\n }\n callback?.apply(this, value);\n }\n }\n\n onChange(\n name: string,\n value: any,\n callback?: (v: string) => void,\n options?: WatchOptions\n ) {\n const field = this.#fields.get(name);\n\n if (field) {\n this.setFieldsValue({\n [name]: value,\n });\n\n if (options?.needValidate ?? true) {\n this.validateField(field.detail);\n }\n callback?.(value);\n }\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"FormStore.js","names":["_lodash","require","_PubSub","uid","Field","field","detail","constructor","name","_fields","WeakMap","_options","_formData","_initData","_getAllFields","WeakSet","FormStore","PubSub","getInstance","options","instance","get","set","_classPrivateMethodInitSpec2","default","_classPrivateFieldInitSpec2","writable","value","Map","_classPrivateFieldSet2","setField","_classPrivateFieldGet6","getAllValues","allFields","_classPrivateMethodGet2","_getAllFields2","call","formData","Object","fromEntries","entries","map","k","v","includes","filter","item","length","setInitValue","values","isEmitValuseChange","setFieldsValue","setFieldsValueByInitData","_classPrivateFieldGet2","isNil","publish","newFormData","forEach","_classPrivateFieldGet3","_classPrivateFieldGet4","onValuesChanged","changedValues","allValues","resetFields","removeField","clear","getFieldsValue","delete","validateFields","callback","results","push","validateField","some","result","type","_classPrivateFieldGet5","fieldDetail","label","validate","validateValue","messageBody","message","getName","valid","required","pattern","min","max","validator","isEmpty","reg","RegExp","test","parsedValidator","Array","isArray","getValueFromEvent","e","target","checked","resetValidateState","onWatch","event","_options$needValidate","realValue","needValidate","apply","onChange","_options$needValidate2","exports","keys","key","_detail","notRender","_defineProperty2"],"sources":["../../src/FormStore.ts"],"sourcesContent":["import { isEmpty, isNil } from \"lodash\";\nimport { PubSub } from \"./PubSub.js\";\n\ninterface FormStoreOptions {\n onValuesChanged?: (data: any) => void;\n}\n\nexport interface FieldDetail {\n name: string;\n label?: string;\n notRender?: boolean;\n originProps?: Record<string, any>;\n validate: Validate;\n [k: string]: any;\n}\n\nexport interface MessageBody {\n message: string;\n type: string;\n}\n\nexport interface WatchOptions {\n needValidate?: boolean;\n}\n\ninterface Validate {\n required?: boolean;\n pattern?: string;\n min?: number;\n max?: number;\n message?: {\n required?: string;\n pattern?: string;\n min?: string;\n max?: string;\n };\n validator?: (value: any) => MessageBody | string;\n}\n\nlet uid = 0;\n\nclass Field {\n field: string;\n detail: FieldDetail;\n constructor(name: string, detail: FieldDetail) {\n this.field = name;\n this.detail = detail;\n }\n}\n\nexport class FormStore extends PubSub {\n static uid: number;\n static instance: Map<number, FormStore> = new Map();\n static getInstance(options?: FormStoreOptions): FormStore {\n if (!this.instance.get(uid)) {\n this.uid = uid;\n this.instance.set(this.uid, new FormStore(options));\n uid += 1;\n }\n return this.instance.get(this.uid) as FormStore;\n }\n\n #fields: Map<string, Field> = new Map();\n #options: FormStoreOptions | undefined;\n #formData!: Record<string, unknown>;\n #initData: Record<string, unknown> | undefined;\n\n constructor(options?: FormStoreOptions) {\n super();\n this.#formData = {};\n this.#options = options;\n }\n\n setField(name: string, detail: FieldDetail) {\n this.#fields.set(name, new Field(name, detail));\n }\n #getAllFields() {\n return [...this.#fields.keys()].filter((key) => {\n return !this.#fields.get(key)!.detail?.notRender;\n });\n }\n\n getAllValues() {\n const allFields = this.#getAllFields();\n const formData = Object.fromEntries(\n Object.entries(this.#formData)\n .map(([k, v]) => {\n if (allFields.includes(k)) {\n return [k, v];\n }\n return [];\n })\n .filter((item) => item.length)\n );\n return formData;\n }\n\n setInitValue(values: Record<string, unknown>, isEmitValuseChange = true) {\n this.#initData = values;\n this.setFieldsValue(values, isEmitValuseChange);\n }\n\n setFieldsValueByInitData(name: string) {\n const value = this.#initData?.[name];\n if (!isNil(value)) {\n this.#formData[name] = value;\n this.publish(`${name}.init.value`, value);\n }\n }\n\n setFieldsValue(values: Record<string, unknown>, isEmitValuseChange = true) {\n const newFormData: Record<string, unknown> = {\n ...this.#formData,\n };\n Object.entries(values).forEach(([k, v]) => {\n newFormData[k] = v;\n this.#initData && (this.#initData[k] = v);\n this.publish(`${k}.init.value`, v);\n });\n this.#formData = newFormData;\n\n if (isEmitValuseChange) {\n this.#options?.onValuesChanged?.({\n changedValues: values,\n allValues: this.getAllValues(),\n });\n }\n }\n\n resetFields(name?: string) {\n if (name) {\n this.removeField(name);\n this.publish(`${name}.reset.fields`, null);\n } else {\n this.#fields.clear();\n this.publish(\"reset.fields\", null);\n }\n }\n\n getFieldsValue(name?: string) {\n if (name) {\n return this.#formData[name];\n }\n return this.getAllValues();\n }\n\n removeField(name: string) {\n this.#fields.delete(name);\n }\n\n validateFields(\n callback: (err: boolean, value: any) => void\n ): boolean | Record<string, unknown> {\n const allFields = this.#getAllFields();\n const results: Array<MessageBody | undefined> = [];\n allFields.forEach((name) => {\n const field = this.#fields.get(name);\n if (field) {\n results.push(this.validateField(field.detail));\n }\n });\n\n if (results.some((result) => result?.type !== \"normal\")) {\n callback(\n true,\n results.filter((result) => result?.type !== \"normal\")\n );\n return false;\n } else {\n const formData = this.getAllValues();\n callback(false, formData);\n return formData;\n }\n }\n\n validateField(field: string | FieldDetail) {\n const fieldDetail =\n typeof field === \"string\" ? this.#fields.get(field)?.detail : field;\n if (!fieldDetail) return;\n const { name, label, validate } = fieldDetail;\n const validateValue = this.#formData[name];\n\n const messageBody = (message: string, type = \"error\") => {\n return {\n type,\n message,\n };\n };\n\n const getName = () => label ?? name;\n\n const valid = (validate: Validate, value: string): MessageBody => {\n const { required, pattern, message, min, max, validator } = validate;\n const label = getName();\n\n if (\n required &&\n (typeof value === \"object\"\n ? isEmpty(value)\n : typeof value === \"number\"\n ? false\n : !value)\n ) {\n return messageBody(message?.required || `${label}为必填项`);\n }\n\n if (pattern && value) {\n const reg = new RegExp(pattern);\n if (!reg.test(value)) {\n return messageBody(\n message?.pattern || `${label}没有匹配正则 ${pattern}`\n );\n }\n }\n\n if (min && (!value || value.length < min)) {\n return messageBody(message?.min || `${label}至少包含 ${min} 个字符`);\n }\n\n if (max && value && value.length > max) {\n return messageBody(message?.max || `${label}不能超过 ${max} 个字符`);\n }\n\n if (validator) {\n let result = \"\";\n let parsedValidator = [];\n if (Array.isArray(validator)) {\n parsedValidator = validator;\n } else {\n parsedValidator.push(validator);\n }\n\n for (const v of parsedValidator) {\n result = v(value);\n\n if (result) {\n break;\n }\n }\n return typeof result === \"string\"\n ? messageBody(result, result ? \"error\" : \"normal\")\n : (result as MessageBody);\n }\n\n return messageBody(\"\", \"normal\");\n };\n\n const result = valid(validate, validateValue as string);\n this.publish(`${name}.validate`, result);\n return result;\n }\n\n getValueFromEvent(e: React.ChangeEvent): any {\n if (!e || !e.target) {\n return e;\n }\n const target = e.target as HTMLInputElement;\n return target.type === \"checkbox\" ? target.checked : target.value;\n }\n\n resetValidateState() {\n this.publish(`reset.validate`, null);\n }\n\n onWatch(\n name: string,\n event: any,\n callback?: (v: string) => void,\n options?: WatchOptions\n ) {\n const field = this.#fields.get(name);\n\n if (field) {\n const value = this.getValueFromEvent(event);\n // default first params is value\n const realValue = Array.isArray(value) ? value[0] : value;\n\n this.setFieldsValue({\n [name]: realValue,\n });\n\n if (options?.needValidate ?? true) {\n this.validateField(field.detail);\n }\n callback?.apply(this, value);\n }\n }\n\n onChange(\n name: string,\n value: any,\n callback?: (v: string) => void,\n options?: WatchOptions\n ) {\n const field = this.#fields.get(name);\n\n if (field) {\n this.setFieldsValue({\n [name]: value,\n });\n\n if (options?.needValidate ?? true) {\n this.validateField(field.detail);\n }\n callback?.(value);\n }\n }\n}\n"],"mappings":";;;;;;;;;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAsCA,IAAIE,GAAG,GAAG,CAAC;AAEX,MAAMC,KAAK,CAAC;EACVC,KAAK;EACLC,MAAM;EACNC,WAAWA,CAACC,IAAY,EAAEF,MAAmB,EAAE;IAC7C,IAAI,CAACD,KAAK,GAAGG,IAAI;IACjB,IAAI,CAACF,MAAM,GAAGA,MAAM;EACtB;AACF;AAAC,IAAAG,OAAA,oBAAAC,OAAA;AAAA,IAAAC,QAAA,oBAAAD,OAAA;AAAA,IAAAE,SAAA,oBAAAF,OAAA;AAAA,IAAAG,SAAA,oBAAAH,OAAA;AAAA,IAAAI,aAAA,oBAAAC,OAAA;AAEM,MAAMC,SAAS,SAASC,cAAM,CAAC;EAGpC,OAAOC,WAAWA,CAACC,OAA0B,EAAa;IACxD,IAAI,CAAC,IAAI,CAACC,QAAQ,CAACC,GAAG,CAAClB,GAAG,CAAC,EAAE;MAC3B,IAAI,CAACA,GAAG,GAAGA,GAAG;MACd,IAAI,CAACiB,QAAQ,CAACE,GAAG,CAAC,IAAI,CAACnB,GAAG,EAAE,IAAIa,SAAS,CAACG,OAAO,CAAC,CAAC;MACnDhB,GAAG,IAAI,CAAC;IACV;IACA,OAAO,IAAI,CAACiB,QAAQ,CAACC,GAAG,CAAC,IAAI,CAAClB,GAAG,CAAC;EACpC;EAOAI,WAAWA,CAACY,OAA0B,EAAE;IACtC,KAAK,CAAC,CAAC;IAAC,IAAAI,4BAAA,CAAAC,OAAA,QAAAV,aAAA;IAAA,IAAAW,2BAAA,CAAAD,OAAA,QAAAf,OAAA;MAAAiB,QAAA;MAAAC,KAAA,EANoB,IAAIC,GAAG,CAAC;IAAC;IAAA,IAAAH,2BAAA,CAAAD,OAAA,QAAAb,QAAA;MAAAe,QAAA;MAAAC,KAAA;IAAA;IAAA,IAAAF,2BAAA,CAAAD,OAAA,QAAAZ,SAAA;MAAAc,QAAA;MAAAC,KAAA;IAAA;IAAA,IAAAF,2BAAA,CAAAD,OAAA,QAAAX,SAAA;MAAAa,QAAA;MAAAC,KAAA;IAAA;IAOrC,IAAAE,sBAAA,CAAAL,OAAA,MAAI,EAAAZ,SAAA,EAAa,CAAC,CAAC;IACnB,IAAAiB,sBAAA,CAAAL,OAAA,MAAI,EAAAb,QAAA,EAAYQ,OAAO;EACzB;EAEAW,QAAQA,CAACtB,IAAY,EAAEF,MAAmB,EAAE;IAC1C,IAAAyB,sBAAA,CAAAP,OAAA,MAAI,EAAAf,OAAA,EAASa,GAAG,CAACd,IAAI,EAAE,IAAIJ,KAAK,CAACI,IAAI,EAAEF,MAAM,CAAC,CAAC;EACjD;EAOA0B,YAAYA,CAAA,EAAG;IACb,MAAMC,SAAS,OAAAC,uBAAA,CAAAV,OAAA,EAAG,IAAI,EAAAV,aAAA,EAAAqB,cAAA,EAAAC,IAAA,CAAJ,IAAI,CAAgB;IACtC,MAAMC,QAAQ,GAAGC,MAAM,CAACC,WAAW,CACjCD,MAAM,CAACE,OAAO,KAAAT,sBAAA,CAAAP,OAAA,EAAC,IAAI,EAAAZ,SAAA,CAAU,CAAC,CAC3B6B,GAAG,CAAC,CAAC,CAACC,CAAC,EAAEC,CAAC,CAAC,KAAK;MACf,IAAIV,SAAS,CAACW,QAAQ,CAACF,CAAC,CAAC,EAAE;QACzB,OAAO,CAACA,CAAC,EAAEC,CAAC,CAAC;MACf;MACA,OAAO,EAAE;IACX,CAAC,CAAC,CACDE,MAAM,CAAEC,IAAI,IAAKA,IAAI,CAACC,MAAM,CACjC,CAAC;IACD,OAAOV,QAAQ;EACjB;EAEAW,YAAYA,CAACC,MAA+B,EAAEC,kBAAkB,GAAG,IAAI,EAAE;IACvE,IAAArB,sBAAA,CAAAL,OAAA,MAAI,EAAAX,SAAA,EAAaoC,MAAM;IACvB,IAAI,CAACE,cAAc,CAACF,MAAM,EAAEC,kBAAkB,CAAC;EACjD;EAEAE,wBAAwBA,CAAC5C,IAAY,EAAE;IAAA,IAAA6C,sBAAA;IACrC,MAAM1B,KAAK,IAAA0B,sBAAA,OAAAtB,sBAAA,CAAAP,OAAA,EAAG,IAAI,EAAAX,SAAA,eAAAwC,sBAAA,uBAAJA,sBAAA,CAAiB7C,IAAI,CAAC;IACpC,IAAI,CAAC,IAAA8C,aAAK,EAAC3B,KAAK,CAAC,EAAE;MACjB,IAAAI,sBAAA,CAAAP,OAAA,MAAI,EAAAZ,SAAA,EAAWJ,IAAI,CAAC,GAAGmB,KAAK;MAC5B,IAAI,CAAC4B,OAAO,CAAE,GAAE/C,IAAK,aAAY,EAAEmB,KAAK,CAAC;IAC3C;EACF;EAEAwB,cAAcA,CAACF,MAA+B,EAAEC,kBAAkB,GAAG,IAAI,EAAE;IACzE,MAAMM,WAAoC,GAAG;MAC3C,OAAAzB,sBAAA,CAAAP,OAAA,EAAG,IAAI,EAAAZ,SAAA;IACT,CAAC;IACD0B,MAAM,CAACE,OAAO,CAACS,MAAM,CAAC,CAACQ,OAAO,CAAC,CAAC,CAACf,CAAC,EAAEC,CAAC,CAAC,KAAK;MACzCa,WAAW,CAACd,CAAC,CAAC,GAAGC,CAAC;MAClB,IAAAZ,sBAAA,CAAAP,OAAA,MAAI,EAAAX,SAAA,MAAe,IAAAkB,sBAAA,CAAAP,OAAA,MAAI,EAAAX,SAAA,EAAW6B,CAAC,CAAC,GAAGC,CAAC,CAAC;MACzC,IAAI,CAACY,OAAO,CAAE,GAAEb,CAAE,aAAY,EAAEC,CAAC,CAAC;IACpC,CAAC,CAAC;IACF,IAAAd,sBAAA,CAAAL,OAAA,MAAI,EAAAZ,SAAA,EAAa4C,WAAW;IAE5B,IAAIN,kBAAkB,EAAE;MAAA,IAAAQ,sBAAA,EAAAC,sBAAA;MACtB,CAAAD,sBAAA,OAAA3B,sBAAA,CAAAP,OAAA,MAAI,EAAAb,QAAA,eAAA+C,sBAAA,gBAAAC,sBAAA,GAAJD,sBAAA,CAAeE,eAAe,cAAAD,sBAAA,eAA9BA,sBAAA,CAAAvB,IAAA,CAAAsB,sBAAA,EAAiC;QAC/BG,aAAa,EAAEZ,MAAM;QACrBa,SAAS,EAAE,IAAI,CAAC9B,YAAY,CAAC;MAC/B,CAAC,CAAC;IACJ;EACF;EAEA+B,WAAWA,CAACvD,IAAa,EAAE;IACzB,IAAIA,IAAI,EAAE;MACR,IAAI,CAACwD,WAAW,CAACxD,IAAI,CAAC;MACtB,IAAI,CAAC+C,OAAO,CAAE,GAAE/C,IAAK,eAAc,EAAE,IAAI,CAAC;IAC5C,CAAC,MAAM;MACL,IAAAuB,sBAAA,CAAAP,OAAA,MAAI,EAAAf,OAAA,EAASwD,KAAK,CAAC,CAAC;MACpB,IAAI,CAACV,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;IACpC;EACF;EAEAW,cAAcA,CAAC1D,IAAa,EAAE;IAC5B,IAAIA,IAAI,EAAE;MACR,OAAO,IAAAuB,sBAAA,CAAAP,OAAA,MAAI,EAAAZ,SAAA,EAAWJ,IAAI,CAAC;IAC7B;IACA,OAAO,IAAI,CAACwB,YAAY,CAAC,CAAC;EAC5B;EAEAgC,WAAWA,CAACxD,IAAY,EAAE;IACxB,IAAAuB,sBAAA,CAAAP,OAAA,MAAI,EAAAf,OAAA,EAAS0D,MAAM,CAAC3D,IAAI,CAAC;EAC3B;EAEA4D,cAAcA,CACZC,QAA4C,EACT;IACnC,MAAMpC,SAAS,OAAAC,uBAAA,CAAAV,OAAA,EAAG,IAAI,EAAAV,aAAA,EAAAqB,cAAA,EAAAC,IAAA,CAAJ,IAAI,CAAgB;IACtC,MAAMkC,OAAuC,GAAG,EAAE;IAClDrC,SAAS,CAACwB,OAAO,CAAEjD,IAAI,IAAK;MAC1B,MAAMH,KAAK,GAAG,IAAA0B,sBAAA,CAAAP,OAAA,MAAI,EAAAf,OAAA,EAASY,GAAG,CAACb,IAAI,CAAC;MACpC,IAAIH,KAAK,EAAE;QACTiE,OAAO,CAACC,IAAI,CAAC,IAAI,CAACC,aAAa,CAACnE,KAAK,CAACC,MAAM,CAAC,CAAC;MAChD;IACF,CAAC,CAAC;IAEF,IAAIgE,OAAO,CAACG,IAAI,CAAEC,MAAM,IAAK,CAAAA,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEC,IAAI,MAAK,QAAQ,CAAC,EAAE;MACvDN,QAAQ,CACN,IAAI,EACJC,OAAO,CAACzB,MAAM,CAAE6B,MAAM,IAAK,CAAAA,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEC,IAAI,MAAK,QAAQ,CACtD,CAAC;MACD,OAAO,KAAK;IACd,CAAC,MAAM;MACL,MAAMtC,QAAQ,GAAG,IAAI,CAACL,YAAY,CAAC,CAAC;MACpCqC,QAAQ,CAAC,KAAK,EAAEhC,QAAQ,CAAC;MACzB,OAAOA,QAAQ;IACjB;EACF;EAEAmC,aAAaA,CAACnE,KAA2B,EAAE;IAAA,IAAAuE,sBAAA;IACzC,MAAMC,WAAW,GACf,OAAOxE,KAAK,KAAK,QAAQ,IAAAuE,sBAAA,GAAG,IAAA7C,sBAAA,CAAAP,OAAA,MAAI,EAAAf,OAAA,EAASY,GAAG,CAAChB,KAAK,CAAC,cAAAuE,sBAAA,uBAAvBA,sBAAA,CAAyBtE,MAAM,GAAGD,KAAK;IACrE,IAAI,CAACwE,WAAW,EAAE;IAClB,MAAM;MAAErE,IAAI;MAAEsE,KAAK;MAAEC;IAAS,CAAC,GAAGF,WAAW;IAC7C,MAAMG,aAAa,GAAG,IAAAjD,sBAAA,CAAAP,OAAA,MAAI,EAAAZ,SAAA,EAAWJ,IAAI,CAAC;IAE1C,MAAMyE,WAAW,GAAGA,CAACC,OAAe,EAAEP,IAAI,GAAG,OAAO,KAAK;MACvD,OAAO;QACLA,IAAI;QACJO;MACF,CAAC;IACH,CAAC;IAED,MAAMC,OAAO,GAAGA,CAAA,KAAML,KAAK,aAALA,KAAK,cAALA,KAAK,GAAItE,IAAI;IAEnC,MAAM4E,KAAK,GAAGA,CAACL,QAAkB,EAAEpD,KAAa,KAAkB;MAChE,MAAM;QAAE0D,QAAQ;QAAEC,OAAO;QAAEJ,OAAO;QAAEK,GAAG;QAAEC,GAAG;QAAEC;MAAU,CAAC,GAAGV,QAAQ;MACpE,MAAMD,KAAK,GAAGK,OAAO,CAAC,CAAC;MAEvB,IACEE,QAAQ,KACP,OAAO1D,KAAK,KAAK,QAAQ,GACtB,IAAA+D,eAAO,EAAC/D,KAAK,CAAC,GACd,OAAOA,KAAK,KAAK,QAAQ,GACvB,KAAK,GACL,CAACA,KAAK,CAAC,EACb;QACA,OAAOsD,WAAW,CAAC,CAAAC,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEG,QAAQ,KAAK,GAAEP,KAAM,MAAK,CAAC;MACzD;MAEA,IAAIQ,OAAO,IAAI3D,KAAK,EAAE;QACpB,MAAMgE,GAAG,GAAG,IAAIC,MAAM,CAACN,OAAO,CAAC;QAC/B,IAAI,CAACK,GAAG,CAACE,IAAI,CAAClE,KAAK,CAAC,EAAE;UACpB,OAAOsD,WAAW,CAChB,CAAAC,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEI,OAAO,KAAK,GAAER,KAAM,UAASQ,OAAQ,EAChD,CAAC;QACH;MACF;MAEA,IAAIC,GAAG,KAAK,CAAC5D,KAAK,IAAIA,KAAK,CAACoB,MAAM,GAAGwC,GAAG,CAAC,EAAE;QACzC,OAAON,WAAW,CAAC,CAAAC,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEK,GAAG,KAAK,GAAET,KAAM,QAAOS,GAAI,MAAK,CAAC;MAC/D;MAEA,IAAIC,GAAG,IAAI7D,KAAK,IAAIA,KAAK,CAACoB,MAAM,GAAGyC,GAAG,EAAE;QACtC,OAAOP,WAAW,CAAC,CAAAC,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEM,GAAG,KAAK,GAAEV,KAAM,QAAOU,GAAI,MAAK,CAAC;MAC/D;MAEA,IAAIC,SAAS,EAAE;QACb,IAAIf,MAAM,GAAG,EAAE;QACf,IAAIoB,eAAe,GAAG,EAAE;QACxB,IAAIC,KAAK,CAACC,OAAO,CAACP,SAAS,CAAC,EAAE;UAC5BK,eAAe,GAAGL,SAAS;QAC7B,CAAC,MAAM;UACLK,eAAe,CAACvB,IAAI,CAACkB,SAAS,CAAC;QACjC;QAEA,KAAK,MAAM9C,CAAC,IAAImD,eAAe,EAAE;UAC/BpB,MAAM,GAAG/B,CAAC,CAAChB,KAAK,CAAC;UAEjB,IAAI+C,MAAM,EAAE;YACV;UACF;QACF;QACA,OAAO,OAAOA,MAAM,KAAK,QAAQ,GAC7BO,WAAW,CAACP,MAAM,EAAEA,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC,GAC/CA,MAAsB;MAC7B;MAEA,OAAOO,WAAW,CAAC,EAAE,EAAE,QAAQ,CAAC;IAClC,CAAC;IAED,MAAMP,MAAM,GAAGU,KAAK,CAACL,QAAQ,EAAEC,aAAuB,CAAC;IACvD,IAAI,CAACzB,OAAO,CAAE,GAAE/C,IAAK,WAAU,EAAEkE,MAAM,CAAC;IACxC,OAAOA,MAAM;EACf;EAEAuB,iBAAiBA,CAACC,CAAoB,EAAO;IAC3C,IAAI,CAACA,CAAC,IAAI,CAACA,CAAC,CAACC,MAAM,EAAE;MACnB,OAAOD,CAAC;IACV;IACA,MAAMC,MAAM,GAAGD,CAAC,CAACC,MAA0B;IAC3C,OAAOA,MAAM,CAACxB,IAAI,KAAK,UAAU,GAAGwB,MAAM,CAACC,OAAO,GAAGD,MAAM,CAACxE,KAAK;EACnE;EAEA0E,kBAAkBA,CAAA,EAAG;IACnB,IAAI,CAAC9C,OAAO,CAAE,gBAAe,EAAE,IAAI,CAAC;EACtC;EAEA+C,OAAOA,CACL9F,IAAY,EACZ+F,KAAU,EACVlC,QAA8B,EAC9BlD,OAAsB,EACtB;IACA,MAAMd,KAAK,GAAG,IAAA0B,sBAAA,CAAAP,OAAA,MAAI,EAAAf,OAAA,EAASY,GAAG,CAACb,IAAI,CAAC;IAEpC,IAAIH,KAAK,EAAE;MAAA,IAAAmG,qBAAA;MACT,MAAM7E,KAAK,GAAG,IAAI,CAACsE,iBAAiB,CAACM,KAAK,CAAC;MAC3C;MACA,MAAME,SAAS,GAAGV,KAAK,CAACC,OAAO,CAACrE,KAAK,CAAC,GAAGA,KAAK,CAAC,CAAC,CAAC,GAAGA,KAAK;MAEzD,IAAI,CAACwB,cAAc,CAAC;QAClB,CAAC3C,IAAI,GAAGiG;MACV,CAAC,CAAC;MAEF,KAAAD,qBAAA,GAAIrF,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEuF,YAAY,cAAAF,qBAAA,cAAAA,qBAAA,GAAI,IAAI,EAAE;QACjC,IAAI,CAAChC,aAAa,CAACnE,KAAK,CAACC,MAAM,CAAC;MAClC;MACA+D,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAEsC,KAAK,CAAC,IAAI,EAAEhF,KAAK,CAAC;IAC9B;EACF;EAEAiF,QAAQA,CACNpG,IAAY,EACZmB,KAAU,EACV0C,QAA8B,EAC9BlD,OAAsB,EACtB;IACA,MAAMd,KAAK,GAAG,IAAA0B,sBAAA,CAAAP,OAAA,MAAI,EAAAf,OAAA,EAASY,GAAG,CAACb,IAAI,CAAC;IAEpC,IAAIH,KAAK,EAAE;MAAA,IAAAwG,sBAAA;MACT,IAAI,CAAC1D,cAAc,CAAC;QAClB,CAAC3C,IAAI,GAAGmB;MACV,CAAC,CAAC;MAEF,KAAAkF,sBAAA,GAAI1F,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEuF,YAAY,cAAAG,sBAAA,cAAAA,sBAAA,GAAI,IAAI,EAAE;QACjC,IAAI,CAACrC,aAAa,CAACnE,KAAK,CAACC,MAAM,CAAC;MAClC;MACA+D,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAG1C,KAAK,CAAC;IACnB;EACF;AACF;AAACmF,OAAA,CAAA9F,SAAA,GAAAA,SAAA;AAAA,SAAAmB,eAAA,EAvOiB;EACd,OAAO,CAAC,GAAG,IAAAJ,sBAAA,CAAAP,OAAA,MAAI,EAAAf,OAAA,EAASsG,IAAI,CAAC,CAAC,CAAC,CAAClE,MAAM,CAAEmE,GAAG,IAAK;IAAA,IAAAC,OAAA;IAC9C,OAAO,GAAAA,OAAA,GAAC,IAAAlF,sBAAA,CAAAP,OAAA,MAAI,EAAAf,OAAA,EAASY,GAAG,CAAC2F,GAAG,CAAC,CAAE1G,MAAM,cAAA2G,OAAA,eAA7BA,OAAA,CAA+BC,SAAS;EAClD,CAAC,CAAC;AACJ;AAAC,IAAAC,gBAAA,CAAA3F,OAAA,EA9BUR,SAAS;AAAA,IAAAmG,gBAAA,CAAA3F,OAAA,EAATR,SAAS,cAEsB,IAAIY,GAAG,CAAC,CAAC"}
@@ -56,7 +56,15 @@ export class FormStore extends PubSub {
56
56
  _classPrivateFieldGet(this, _fields).set(name, new Field(name, detail));
57
57
  }
58
58
  getAllValues() {
59
- return _classPrivateFieldGet(this, _formData);
59
+ var allFields = _classPrivateMethodGet(this, _getAllFields, _getAllFields2).call(this);
60
+ var formData = Object.fromEntries(Object.entries(_classPrivateFieldGet(this, _formData)).map(_ref => {
61
+ var [k, v] = _ref;
62
+ if (allFields.includes(k)) {
63
+ return [k, v];
64
+ }
65
+ return [];
66
+ }).filter(item => item.length));
67
+ return formData;
60
68
  }
61
69
  setInitValue(values) {
62
70
  var isEmitValuseChange = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
@@ -73,15 +81,12 @@ export class FormStore extends PubSub {
73
81
  }
74
82
  setFieldsValue(values) {
75
83
  var isEmitValuseChange = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
76
- var allFields = _classPrivateMethodGet(this, _getAllFields, _getAllFields2).call(this);
77
84
  var newFormData = _objectSpread({}, _classPrivateFieldGet(this, _formData));
78
- Object.entries(values).forEach(_ref => {
79
- var [k, v] = _ref;
80
- if (allFields.includes(k)) {
81
- newFormData[k] = v;
82
- _classPrivateFieldGet(this, _initData) && (_classPrivateFieldGet(this, _initData)[k] = v);
83
- this.publish("".concat(k, ".init.value"), v);
84
- }
85
+ Object.entries(values).forEach(_ref2 => {
86
+ var [k, v] = _ref2;
87
+ newFormData[k] = v;
88
+ _classPrivateFieldGet(this, _initData) && (_classPrivateFieldGet(this, _initData)[k] = v);
89
+ this.publish("".concat(k, ".init.value"), v);
85
90
  });
86
91
  _classPrivateFieldSet(this, _formData, newFormData);
87
92
  if (isEmitValuseChange) {
@@ -94,10 +99,10 @@ export class FormStore extends PubSub {
94
99
  }
95
100
  resetFields(name) {
96
101
  if (name) {
97
- _classPrivateFieldGet(this, _formData)[name] = null;
102
+ this.removeField(name);
98
103
  this.publish("".concat(name, ".reset.fields"), null);
99
104
  } else {
100
- _classPrivateFieldSet(this, _formData, {});
105
+ _classPrivateFieldGet(this, _fields).clear();
101
106
  this.publish("reset.fields", null);
102
107
  }
103
108
  }
@@ -120,11 +125,12 @@ export class FormStore extends PubSub {
120
125
  }
121
126
  });
122
127
  if (results.some(result => (result === null || result === void 0 ? void 0 : result.type) !== "normal")) {
123
- callback(true, results);
128
+ callback(true, results.filter(result => (result === null || result === void 0 ? void 0 : result.type) !== "normal"));
124
129
  return false;
125
130
  } else {
126
- callback(false, _classPrivateFieldGet(this, _formData));
127
- return _classPrivateFieldGet(this, _formData);
131
+ var formData = this.getAllValues();
132
+ callback(false, formData);
133
+ return formData;
128
134
  }
129
135
  }
130
136
  validateField(field) {
@@ -233,7 +239,10 @@ export class FormStore extends PubSub {
233
239
  }
234
240
  }
235
241
  function _getAllFields2() {
236
- return [..._classPrivateFieldGet(this, _fields).keys()];
242
+ return [..._classPrivateFieldGet(this, _fields).keys()].filter(key => {
243
+ var _detail;
244
+ return !((_detail = _classPrivateFieldGet(this, _fields).get(key).detail) !== null && _detail !== void 0 && _detail.notRender);
245
+ });
237
246
  }
238
247
  _defineProperty(FormStore, "uid", void 0);
239
248
  _defineProperty(FormStore, "instance", new Map());
@@ -1 +1 @@
1
- {"version":3,"file":"FormStore.js","names":["isEmpty","isNil","PubSub","uid","Field","constructor","name","detail","_defineProperty","field","_fields","WeakMap","_options","_formData","_initData","_getAllFields","WeakSet","FormStore","getInstance","options","instance","get","set","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","writable","value","Map","_classPrivateFieldSet","setField","_classPrivateFieldGet","getAllValues","setInitValue","values","isEmitValuseChange","arguments","length","undefined","setFieldsValue","setFieldsValueByInitData","_classPrivateFieldGet2","publish","concat","allFields","_classPrivateMethodGet","_getAllFields2","call","newFormData","_objectSpread","Object","entries","forEach","_ref","k","v","includes","_classPrivateFieldGet3","_classPrivateFieldGet4","onValuesChanged","changedValues","allValues","resetFields","getFieldsValue","removeField","delete","validateFields","callback","results","push","validateField","some","result","type","_classPrivateFieldGet5","fieldDetail","label","validate","validateValue","messageBody","message","getName","valid","required","pattern","min","max","validator","reg","RegExp","test","parsedValidator","Array","isArray","getValueFromEvent","e","target","checked","resetValidateState","onWatch","event","_options$needValidate","realValue","needValidate","apply","onChange","_options$needValidate2","keys"],"sources":["../../src/FormStore.ts"],"sourcesContent":["import { isEmpty, isNil } from \"lodash\";\nimport { PubSub } from \"./PubSub.js\";\n\ninterface FormStoreOptions {\n onValuesChanged?: (data: any) => void;\n}\n\ninterface FieldDetail {\n name: string;\n label?: string;\n originProps?: Record<string, any>;\n validate: Validate;\n [k: string]: any;\n}\n\nexport interface MessageBody {\n message: string;\n type: string;\n}\n\nexport interface WatchOptions {\n needValidate?: boolean;\n}\n\ninterface Validate {\n required?: boolean;\n pattern?: string;\n min?: number;\n max?: number;\n message?: {\n required?: string;\n pattern?: string;\n min?: string;\n max?: string;\n };\n validator?: (value: any) => MessageBody | string;\n}\n\nlet uid = 0;\n\nclass Field {\n field: string;\n detail: FieldDetail;\n constructor(name: string, detail: FieldDetail) {\n this.field = name;\n this.detail = detail;\n }\n}\n\nexport class FormStore extends PubSub {\n static uid: number;\n static instance: Map<number, FormStore> = new Map();\n static getInstance(options?: FormStoreOptions): FormStore {\n if (!this.instance.get(uid)) {\n this.uid = uid;\n this.instance.set(this.uid, new FormStore(options));\n uid += 1;\n }\n return this.instance.get(this.uid) as FormStore;\n }\n\n #fields: Map<string, Field> = new Map();\n #options: FormStoreOptions | undefined;\n #formData!: Record<string, unknown>;\n #initData: Record<string, unknown> | undefined;\n\n constructor(options?: FormStoreOptions) {\n super();\n this.#formData = {};\n this.#options = options;\n }\n\n setField(name: string, detail: FieldDetail) {\n this.#fields.set(name, new Field(name, detail));\n }\n #getAllFields() {\n return [...this.#fields.keys()];\n }\n\n getAllValues() {\n return this.#formData;\n }\n\n setInitValue(values: Record<string, unknown>, isEmitValuseChange = true) {\n this.#initData = values;\n this.setFieldsValue(values, isEmitValuseChange);\n }\n\n setFieldsValueByInitData(name: string) {\n const value = this.#initData?.[name];\n if (!isNil(value)) {\n this.#formData[name] = value;\n this.publish(`${name}.init.value`, value);\n }\n }\n\n setFieldsValue(values: Record<string, unknown>, isEmitValuseChange = true) {\n const allFields = this.#getAllFields();\n const newFormData: Record<string, unknown> = {\n ...this.#formData,\n };\n Object.entries(values).forEach(([k, v]) => {\n if (allFields.includes(k)) {\n newFormData[k] = v;\n this.#initData && (this.#initData[k] = v);\n this.publish(`${k}.init.value`, v);\n }\n });\n this.#formData = newFormData;\n\n if (isEmitValuseChange) {\n this.#options?.onValuesChanged?.({\n changedValues: values,\n allValues: this.getAllValues(),\n });\n }\n }\n\n resetFields(name?: string) {\n if (name) {\n this.#formData[name] = null;\n this.publish(`${name}.reset.fields`, null);\n } else {\n this.#formData = {};\n this.publish(\"reset.fields\", null);\n }\n }\n\n getFieldsValue(name?: string) {\n if (name) {\n return this.#formData[name];\n }\n return this.getAllValues();\n }\n\n removeField(name: string) {\n this.#fields.delete(name);\n }\n\n validateFields(\n callback: (err: boolean, value: any) => void\n ): boolean | Record<string, unknown> {\n const allFields = this.#getAllFields();\n const results: Array<MessageBody | undefined> = [];\n allFields.forEach((name) => {\n const field = this.#fields.get(name);\n if (field) {\n results.push(this.validateField(field.detail));\n }\n });\n\n if (results.some((result) => result?.type !== \"normal\")) {\n callback(true, results);\n return false;\n } else {\n callback(false, this.#formData);\n return this.#formData;\n }\n }\n\n validateField(field: string | FieldDetail) {\n const fieldDetail =\n typeof field === \"string\" ? this.#fields.get(field)?.detail : field;\n if (!fieldDetail) return;\n const { name, label, validate } = fieldDetail;\n const validateValue = this.#formData[name];\n\n const messageBody = (message: string, type = \"error\") => {\n return {\n type,\n message,\n };\n };\n\n const getName = () => label ?? name;\n\n const valid = (validate: Validate, value: string): MessageBody => {\n const { required, pattern, message, min, max, validator } = validate;\n const label = getName();\n\n if (\n required &&\n (typeof value === \"object\"\n ? isEmpty(value)\n : typeof value === \"number\"\n ? false\n : !value)\n ) {\n return messageBody(message?.required || `${label}为必填项`);\n }\n\n if (pattern && value) {\n const reg = new RegExp(pattern);\n if (!reg.test(value)) {\n return messageBody(\n message?.pattern || `${label}没有匹配正则 ${pattern}`\n );\n }\n }\n\n if (min && (!value || value.length < min)) {\n return messageBody(message?.min || `${label}至少包含 ${min} 个字符`);\n }\n\n if (max && value && value.length > max) {\n return messageBody(message?.max || `${label}不能超过 ${max} 个字符`);\n }\n\n if (validator) {\n let result = \"\";\n let parsedValidator = [];\n if (Array.isArray(validator)) {\n parsedValidator = validator;\n } else {\n parsedValidator.push(validator);\n }\n\n for (const v of parsedValidator) {\n result = v(value);\n\n if (result) {\n break;\n }\n }\n return typeof result === \"string\"\n ? messageBody(result, result ? \"error\" : \"normal\")\n : (result as MessageBody);\n }\n\n return messageBody(\"\", \"normal\");\n };\n\n const result = valid(validate, validateValue as string);\n this.publish(`${name}.validate`, result);\n return result;\n }\n\n getValueFromEvent(e: React.ChangeEvent): any {\n if (!e || !e.target) {\n return e;\n }\n const target = e.target as HTMLInputElement;\n return target.type === \"checkbox\" ? target.checked : target.value;\n }\n\n resetValidateState() {\n this.publish(`reset.validate`, null);\n }\n\n onWatch(\n name: string,\n event: any,\n callback?: (v: string) => void,\n options?: WatchOptions\n ) {\n const field = this.#fields.get(name);\n\n if (field) {\n const value = this.getValueFromEvent(event);\n // default first params is value\n const realValue = Array.isArray(value) ? value[0] : value;\n\n this.setFieldsValue({\n [name]: realValue,\n });\n\n if (options?.needValidate ?? true) {\n this.validateField(field.detail);\n }\n callback?.apply(this, value);\n }\n }\n\n onChange(\n name: string,\n value: any,\n callback?: (v: string) => void,\n options?: WatchOptions\n ) {\n const field = this.#fields.get(name);\n\n if (field) {\n this.setFieldsValue({\n [name]: value,\n });\n\n if (options?.needValidate ?? true) {\n this.validateField(field.detail);\n }\n callback?.(value);\n }\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"FormStore.js","names":["isEmpty","isNil","PubSub","uid","Field","constructor","name","detail","_defineProperty","field","_fields","WeakMap","_options","_formData","_initData","_getAllFields","WeakSet","FormStore","getInstance","options","instance","get","set","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","writable","value","Map","_classPrivateFieldSet","setField","_classPrivateFieldGet","getAllValues","allFields","_classPrivateMethodGet","_getAllFields2","call","formData","Object","fromEntries","entries","map","_ref","k","v","includes","filter","item","length","setInitValue","values","isEmitValuseChange","arguments","undefined","setFieldsValue","setFieldsValueByInitData","_classPrivateFieldGet2","publish","concat","newFormData","_objectSpread","forEach","_ref2","_classPrivateFieldGet3","_classPrivateFieldGet4","onValuesChanged","changedValues","allValues","resetFields","removeField","clear","getFieldsValue","delete","validateFields","callback","results","push","validateField","some","result","type","_classPrivateFieldGet5","fieldDetail","label","validate","validateValue","messageBody","message","getName","valid","required","pattern","min","max","validator","reg","RegExp","test","parsedValidator","Array","isArray","getValueFromEvent","e","target","checked","resetValidateState","onWatch","event","_options$needValidate","realValue","needValidate","apply","onChange","_options$needValidate2","keys","key","_detail","notRender"],"sources":["../../src/FormStore.ts"],"sourcesContent":["import { isEmpty, isNil } from \"lodash\";\nimport { PubSub } from \"./PubSub.js\";\n\ninterface FormStoreOptions {\n onValuesChanged?: (data: any) => void;\n}\n\nexport interface FieldDetail {\n name: string;\n label?: string;\n notRender?: boolean;\n originProps?: Record<string, any>;\n validate: Validate;\n [k: string]: any;\n}\n\nexport interface MessageBody {\n message: string;\n type: string;\n}\n\nexport interface WatchOptions {\n needValidate?: boolean;\n}\n\ninterface Validate {\n required?: boolean;\n pattern?: string;\n min?: number;\n max?: number;\n message?: {\n required?: string;\n pattern?: string;\n min?: string;\n max?: string;\n };\n validator?: (value: any) => MessageBody | string;\n}\n\nlet uid = 0;\n\nclass Field {\n field: string;\n detail: FieldDetail;\n constructor(name: string, detail: FieldDetail) {\n this.field = name;\n this.detail = detail;\n }\n}\n\nexport class FormStore extends PubSub {\n static uid: number;\n static instance: Map<number, FormStore> = new Map();\n static getInstance(options?: FormStoreOptions): FormStore {\n if (!this.instance.get(uid)) {\n this.uid = uid;\n this.instance.set(this.uid, new FormStore(options));\n uid += 1;\n }\n return this.instance.get(this.uid) as FormStore;\n }\n\n #fields: Map<string, Field> = new Map();\n #options: FormStoreOptions | undefined;\n #formData!: Record<string, unknown>;\n #initData: Record<string, unknown> | undefined;\n\n constructor(options?: FormStoreOptions) {\n super();\n this.#formData = {};\n this.#options = options;\n }\n\n setField(name: string, detail: FieldDetail) {\n this.#fields.set(name, new Field(name, detail));\n }\n #getAllFields() {\n return [...this.#fields.keys()].filter((key) => {\n return !this.#fields.get(key)!.detail?.notRender;\n });\n }\n\n getAllValues() {\n const allFields = this.#getAllFields();\n const formData = Object.fromEntries(\n Object.entries(this.#formData)\n .map(([k, v]) => {\n if (allFields.includes(k)) {\n return [k, v];\n }\n return [];\n })\n .filter((item) => item.length)\n );\n return formData;\n }\n\n setInitValue(values: Record<string, unknown>, isEmitValuseChange = true) {\n this.#initData = values;\n this.setFieldsValue(values, isEmitValuseChange);\n }\n\n setFieldsValueByInitData(name: string) {\n const value = this.#initData?.[name];\n if (!isNil(value)) {\n this.#formData[name] = value;\n this.publish(`${name}.init.value`, value);\n }\n }\n\n setFieldsValue(values: Record<string, unknown>, isEmitValuseChange = true) {\n const newFormData: Record<string, unknown> = {\n ...this.#formData,\n };\n Object.entries(values).forEach(([k, v]) => {\n newFormData[k] = v;\n this.#initData && (this.#initData[k] = v);\n this.publish(`${k}.init.value`, v);\n });\n this.#formData = newFormData;\n\n if (isEmitValuseChange) {\n this.#options?.onValuesChanged?.({\n changedValues: values,\n allValues: this.getAllValues(),\n });\n }\n }\n\n resetFields(name?: string) {\n if (name) {\n this.removeField(name);\n this.publish(`${name}.reset.fields`, null);\n } else {\n this.#fields.clear();\n this.publish(\"reset.fields\", null);\n }\n }\n\n getFieldsValue(name?: string) {\n if (name) {\n return this.#formData[name];\n }\n return this.getAllValues();\n }\n\n removeField(name: string) {\n this.#fields.delete(name);\n }\n\n validateFields(\n callback: (err: boolean, value: any) => void\n ): boolean | Record<string, unknown> {\n const allFields = this.#getAllFields();\n const results: Array<MessageBody | undefined> = [];\n allFields.forEach((name) => {\n const field = this.#fields.get(name);\n if (field) {\n results.push(this.validateField(field.detail));\n }\n });\n\n if (results.some((result) => result?.type !== \"normal\")) {\n callback(\n true,\n results.filter((result) => result?.type !== \"normal\")\n );\n return false;\n } else {\n const formData = this.getAllValues();\n callback(false, formData);\n return formData;\n }\n }\n\n validateField(field: string | FieldDetail) {\n const fieldDetail =\n typeof field === \"string\" ? this.#fields.get(field)?.detail : field;\n if (!fieldDetail) return;\n const { name, label, validate } = fieldDetail;\n const validateValue = this.#formData[name];\n\n const messageBody = (message: string, type = \"error\") => {\n return {\n type,\n message,\n };\n };\n\n const getName = () => label ?? name;\n\n const valid = (validate: Validate, value: string): MessageBody => {\n const { required, pattern, message, min, max, validator } = validate;\n const label = getName();\n\n if (\n required &&\n (typeof value === \"object\"\n ? isEmpty(value)\n : typeof value === \"number\"\n ? false\n : !value)\n ) {\n return messageBody(message?.required || `${label}为必填项`);\n }\n\n if (pattern && value) {\n const reg = new RegExp(pattern);\n if (!reg.test(value)) {\n return messageBody(\n message?.pattern || `${label}没有匹配正则 ${pattern}`\n );\n }\n }\n\n if (min && (!value || value.length < min)) {\n return messageBody(message?.min || `${label}至少包含 ${min} 个字符`);\n }\n\n if (max && value && value.length > max) {\n return messageBody(message?.max || `${label}不能超过 ${max} 个字符`);\n }\n\n if (validator) {\n let result = \"\";\n let parsedValidator = [];\n if (Array.isArray(validator)) {\n parsedValidator = validator;\n } else {\n parsedValidator.push(validator);\n }\n\n for (const v of parsedValidator) {\n result = v(value);\n\n if (result) {\n break;\n }\n }\n return typeof result === \"string\"\n ? messageBody(result, result ? \"error\" : \"normal\")\n : (result as MessageBody);\n }\n\n return messageBody(\"\", \"normal\");\n };\n\n const result = valid(validate, validateValue as string);\n this.publish(`${name}.validate`, result);\n return result;\n }\n\n getValueFromEvent(e: React.ChangeEvent): any {\n if (!e || !e.target) {\n return e;\n }\n const target = e.target as HTMLInputElement;\n return target.type === \"checkbox\" ? target.checked : target.value;\n }\n\n resetValidateState() {\n this.publish(`reset.validate`, null);\n }\n\n onWatch(\n name: string,\n event: any,\n callback?: (v: string) => void,\n options?: WatchOptions\n ) {\n const field = this.#fields.get(name);\n\n if (field) {\n const value = this.getValueFromEvent(event);\n // default first params is value\n const realValue = Array.isArray(value) ? value[0] : value;\n\n this.setFieldsValue({\n [name]: realValue,\n });\n\n if (options?.needValidate ?? true) {\n this.validateField(field.detail);\n }\n callback?.apply(this, value);\n }\n }\n\n onChange(\n name: string,\n value: any,\n callback?: (v: string) => void,\n options?: WatchOptions\n ) {\n const field = this.#fields.get(name);\n\n if (field) {\n this.setFieldsValue({\n [name]: value,\n });\n\n if (options?.needValidate ?? true) {\n this.validateField(field.detail);\n }\n callback?.(value);\n }\n }\n}\n"],"mappings":"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"}
@@ -3,9 +3,10 @@ import { PubSub } from "./PubSub.js";
3
3
  interface FormStoreOptions {
4
4
  onValuesChanged?: (data: any) => void;
5
5
  }
6
- interface FieldDetail {
6
+ export interface FieldDetail {
7
7
  name: string;
8
8
  label?: string;
9
+ notRender?: boolean;
9
10
  originProps?: Record<string, any>;
10
11
  validate: Validate;
11
12
  [k: string]: any;
@@ -37,12 +38,12 @@ export declare class FormStore extends PubSub {
37
38
  static getInstance(options?: FormStoreOptions): FormStore;
38
39
  constructor(options?: FormStoreOptions);
39
40
  setField(name: string, detail: FieldDetail): void;
40
- getAllValues(): Record<string, unknown>;
41
+ getAllValues(): any;
41
42
  setInitValue(values: Record<string, unknown>, isEmitValuseChange?: boolean): void;
42
43
  setFieldsValueByInitData(name: string): void;
43
44
  setFieldsValue(values: Record<string, unknown>, isEmitValuseChange?: boolean): void;
44
45
  resetFields(name?: string): void;
45
- getFieldsValue(name?: string): unknown;
46
+ getFieldsValue(name?: string): any;
46
47
  removeField(name: string): void;
47
48
  validateFields(callback: (err: boolean, value: any) => void): boolean | Record<string, unknown>;
48
49
  validateField(field: string | FieldDetail): MessageBody | undefined;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@next-shared/form",
3
- "version": "0.5.5",
3
+ "version": "0.6.0",
4
4
  "homepage": "https://github.com/easyops-cn/next-bricks/tree/master/shared/form",
5
5
  "repository": {
6
6
  "type": "git",
@@ -29,7 +29,9 @@
29
29
  "prebuild": "npm run clean",
30
30
  "build": "npm run build:types && npm run build:main",
31
31
  "build:main": "cross-env NODE_ENV=production build-next-libs",
32
- "build:types": "tsc --emitDeclarationOnly --declaration --declarationDir dist/types --project tsconfig.build.json"
32
+ "build:types": "tsc --emitDeclarationOnly --declaration --declarationDir dist/types --project tsconfig.build.json",
33
+ "test": "cross-env NODE_ENV='test' test-next",
34
+ "test:ci": "cross-env NODE_ENV='test' CI=true test-next"
33
35
  },
34
36
  "dependencies": {
35
37
  "@next-core/element": "^1.2.2",
@@ -41,5 +43,5 @@
41
43
  "@next-core/test-next": "^1.0.15",
42
44
  "concurrently": "^8.2.2"
43
45
  },
44
- "gitHead": "e673e6704c20031039db81fe207f4a5a44dab132"
46
+ "gitHead": "0fc36806b2bfc73070378707806f944631dc676c"
45
47
  }