@next-shared/form 0.6.5 → 0.6.7
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/cjs/FormItemElement.js.map +1 -1
- package/dist/cjs/FormStore.js +3 -5
- package/dist/cjs/FormStore.js.map +1 -1
- package/dist/esm/FormItemElement.js +3 -3
- package/dist/esm/FormItemElement.js.map +1 -1
- package/dist/esm/FormStore.js +49 -50
- package/dist/esm/FormStore.js.map +1 -1
- package/dist/esm/PubSub.js +4 -4
- package/dist/esm/PubSub.js.map +1 -1
- package/package.json +6 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormItemElement.js","names":["_element","require","_reactElement","_FormItemElementBase","_initProto","_init_helpBrick","_init_extra_helpBrick","_init_labelBrick","_init_extra_labelBrick","_init_labelCol","_init_extra_labelCol","_init_wrapperCol","_init_extra_wrapperCol","method","property","createDecorators","_A","WeakMap","_FormItemElementBase_brand","WeakSet","_B","_C","_D","_E","_F","_G","FormItemElementBase","ReactNextElement","constructor","args","_classPrivateMethodInitSpec2","default","_classPrivateFieldInitSpec2","isFormItemElement","validateState","value","_classPrivateSetter2","_set_validate","_render","_classPrivateGetter2","_get_validate","notRender","hidden","_set__notRender","_get__notRender","$bindFormItem","_get_bindFormItem","_set_bindFormItem","helpBrick","_classPrivateFieldGet2","v","_classPrivateFieldSet2","labelBrick","labelCol","wrapperCol","setNotRender","getFormElement","element","parentNode","isFormElement","exports","_this","_this2","_this3","_this4","_this5","_this6","_applyDecs2","attribute","e"],"sources":["../../src/FormItemElement.tsx"],"sourcesContent":["import { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport type { AbstractForm, ColProps } from \"./Form.js\";\nimport { UseSingleBrickConf } from \"@next-core/types\";\n\nconst { method, property } = createDecorators();\n\nexport abstract class FormItemElementBase extends ReactNextElement {\n accessor #_notRender = false;\n accessor #validate = \"normal\";\n accessor #bindFormItem = false;\n\n get isFormItemElement(): true {\n return true;\n }\n\n set validateState(value: string) {\n this.#validate = value;\n this._render();\n }\n get validateState() {\n return this.#validate;\n }\n\n /**\n * 控制该表单项是否隐藏\n * @default false\n * @group ui\n */\n set notRender(value: boolean) {\n this.hidden = value;\n this.#_notRender = value;\n this._render();\n }\n get notRender(): boolean {\n return this.#_notRender;\n }\n\n get $bindFormItem() {\n return this.#bindFormItem;\n }\n set $bindFormItem(value: boolean) {\n this.#bindFormItem = value;\n this._render();\n }\n\n @property({\n attribute: false,\n })\n accessor helpBrick:\n | { useBrick: UseSingleBrickConf | UseSingleBrickConf[] }\n | undefined;\n\n @property({\n attribute: false,\n })\n accessor labelBrick:\n | { useBrick: UseSingleBrickConf | UseSingleBrickConf[] }\n | undefined;\n\n @property({\n attribute: false,\n })\n accessor labelCol: ColProps | undefined;\n\n @property({\n attribute: false,\n })\n accessor wrapperCol: ColProps | undefined;\n\n @method()\n setNotRender(value: boolean) {\n this.notRender = value;\n }\n\n @method()\n getFormElement(): AbstractForm | null {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n let element: AbstractForm | null = this as unknown as AbstractForm;\n while ((element = element.parentNode as AbstractForm | null)) {\n if (!element || element.isFormElement) {\n break;\n }\n }\n return element as AbstractForm | null;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AAA4D,IAAAE,oBAAA;AAAA,IAAAC,UAAA,EAAAC,eAAA,EAAAC,qBAAA,EAAAC,gBAAA,EAAAC,sBAAA,EAAAC,cAAA,EAAAC,oBAAA,EAAAC,gBAAA,EAAAC,sBAAA;AAI5D,MAAM;EAAEC,MAAM;EAAEC;AAAS,CAAC,GAAG,IAAAC,yBAAgB,EAAC,CAAC;AAAC,IAAAC,EAAA,oBAAAC,OAAA;AAAA,IAAAC,0BAAA,oBAAAC,OAAA;AAAA,IAAAC,EAAA,oBAAAH,OAAA;AAAA,IAAAI,EAAA,oBAAAJ,OAAA;AAAA,IAAAK,EAAA,oBAAAL,OAAA;AAAA,IAAAM,EAAA,oBAAAN,OAAA;AAAA,IAAAO,EAAA,oBAAAP,OAAA;AAAA,IAAAQ,EAAA,oBAAAR,OAAA;AAEzC,MAAeS,mBAAmB,SAASC,8BAAgB,CAAC;EAAAC,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAA,IAAAC,4BAAA,CAAAC,OAAA,QAAAb,0BAAA;IAAA,IAAAc,2BAAA,CAAAD,OAAA,QAAAf,EAAA,GAAAZ,UAAA,QAC1C,KAAK;IAAA,IAAA4B,2BAAA,CAAAD,OAAA,QAAAX,EAAA,EACP,QAAQ;IAAA,IAAAY,2BAAA,CAAAD,OAAA,QAAAV,EAAA,EACJ,KAAK;IAAA,IAAAW,2BAAA,CAAAD,OAAA,QAAAT,EAAA,EAAAjB,eAAA;IAAA,IAAA2B,2BAAA,CAAAD,OAAA,QAAAR,EAAA,GAAAjB,qBAAA,QAAAC,gBAAA;IAAA,IAAAyB,2BAAA,CAAAD,OAAA,QAAAP,EAAA,GAAAhB,sBAAA,QAAAC,cAAA;IAAA,IAAAuB,2BAAA,CAAAD,OAAA,QAAAN,EAAA,GAAAf,oBAAA,QAAAC,gBAAA;IAAAC,sBAAA;EAAA;EAE9B,IAAIqB,iBAAiBA,CAAA,EAAS;IAC5B,OAAO,IAAI;EACb;EAEA,IAAIC,aAAaA,CAACC,KAAa,EAAE;IAC/B,IAAAC,oBAAA,CAAAL,OAAA,EAAAb,0BAAA,
|
|
1
|
+
{"version":3,"file":"FormItemElement.js","names":["_element","require","_reactElement","_FormItemElementBase","_initProto","_init_helpBrick","_init_extra_helpBrick","_init_labelBrick","_init_extra_labelBrick","_init_labelCol","_init_extra_labelCol","_init_wrapperCol","_init_extra_wrapperCol","method","property","createDecorators","_A","WeakMap","_FormItemElementBase_brand","WeakSet","_B","_C","_D","_E","_F","_G","FormItemElementBase","ReactNextElement","constructor","args","_classPrivateMethodInitSpec2","default","_classPrivateFieldInitSpec2","isFormItemElement","validateState","value","_classPrivateSetter2","_set_validate","_render","_classPrivateGetter2","_get_validate","notRender","hidden","_set__notRender","_get__notRender","$bindFormItem","_get_bindFormItem","_set_bindFormItem","helpBrick","_classPrivateFieldGet2","v","_classPrivateFieldSet2","labelBrick","labelCol","wrapperCol","setNotRender","getFormElement","element","parentNode","isFormElement","exports","_this","_this2","_this3","_this4","_this5","_this6","_applyDecs2","attribute","e"],"sources":["../../src/FormItemElement.tsx"],"sourcesContent":["import { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport type { AbstractForm, ColProps } from \"./Form.js\";\nimport { UseSingleBrickConf } from \"@next-core/types\";\n\nconst { method, property } = createDecorators();\n\nexport abstract class FormItemElementBase extends ReactNextElement {\n accessor #_notRender = false;\n accessor #validate = \"normal\";\n accessor #bindFormItem = false;\n\n get isFormItemElement(): true {\n return true;\n }\n\n set validateState(value: string) {\n this.#validate = value;\n this._render();\n }\n get validateState() {\n return this.#validate;\n }\n\n /**\n * 控制该表单项是否隐藏\n * @default false\n * @group ui\n */\n set notRender(value: boolean) {\n this.hidden = value;\n this.#_notRender = value;\n this._render();\n }\n get notRender(): boolean {\n return this.#_notRender;\n }\n\n get $bindFormItem() {\n return this.#bindFormItem;\n }\n set $bindFormItem(value: boolean) {\n this.#bindFormItem = value;\n this._render();\n }\n\n @property({\n attribute: false,\n })\n accessor helpBrick:\n | { useBrick: UseSingleBrickConf | UseSingleBrickConf[] }\n | undefined;\n\n @property({\n attribute: false,\n })\n accessor labelBrick:\n | { useBrick: UseSingleBrickConf | UseSingleBrickConf[] }\n | undefined;\n\n @property({\n attribute: false,\n })\n accessor labelCol: ColProps | undefined;\n\n @property({\n attribute: false,\n })\n accessor wrapperCol: ColProps | undefined;\n\n @method()\n setNotRender(value: boolean) {\n this.notRender = value;\n }\n\n @method()\n getFormElement(): AbstractForm | null {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n let element: AbstractForm | null = this as unknown as AbstractForm;\n while ((element = element.parentNode as AbstractForm | null)) {\n if (!element || element.isFormElement) {\n break;\n }\n }\n return element as AbstractForm | null;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
package/dist/cjs/FormStore.js
CHANGED
|
@@ -142,7 +142,7 @@ class FormStore extends _PubSub.PubSub {
|
|
|
142
142
|
message
|
|
143
143
|
};
|
|
144
144
|
};
|
|
145
|
-
const getName = () => label
|
|
145
|
+
const getName = () => label ?? name;
|
|
146
146
|
const valid = (validate, value) => {
|
|
147
147
|
const {
|
|
148
148
|
required,
|
|
@@ -203,14 +203,13 @@ class FormStore extends _PubSub.PubSub {
|
|
|
203
203
|
onWatch(name, event, callback, options) {
|
|
204
204
|
const field = (0, _classPrivateFieldGet6.default)(_fields, this).get(name);
|
|
205
205
|
if (field) {
|
|
206
|
-
var _options$needValidate;
|
|
207
206
|
const value = this.getValueFromEvent(event);
|
|
208
207
|
// default first params is value
|
|
209
208
|
const realValue = Array.isArray(value) ? value[0] : value;
|
|
210
209
|
this.setFieldsValue({
|
|
211
210
|
[name]: realValue
|
|
212
211
|
});
|
|
213
|
-
if ((
|
|
212
|
+
if ((options === null || options === void 0 ? void 0 : options.needValidate) ?? true) {
|
|
214
213
|
this.validateField(field.detail);
|
|
215
214
|
}
|
|
216
215
|
callback === null || callback === void 0 || callback.apply(this, value);
|
|
@@ -219,11 +218,10 @@ class FormStore extends _PubSub.PubSub {
|
|
|
219
218
|
onChange(name, value, callback, options) {
|
|
220
219
|
const field = (0, _classPrivateFieldGet6.default)(_fields, this).get(name);
|
|
221
220
|
if (field) {
|
|
222
|
-
var _options$needValidate2;
|
|
223
221
|
this.setFieldsValue({
|
|
224
222
|
[name]: value
|
|
225
223
|
});
|
|
226
|
-
if ((
|
|
224
|
+
if ((options === null || options === void 0 ? void 0 : options.needValidate) ?? true) {
|
|
227
225
|
this.validateField(field.detail);
|
|
228
226
|
}
|
|
229
227
|
callback === null || callback === void 0 || callback(value);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormStore.js","names":["_lodash","require","_PubSub","uid","Field","field","detail","constructor","name","_fields","WeakMap","_options","_formData","_initData","_FormStore_brand","WeakSet","FormStore","PubSub","getInstance","options","instance","get","set","_classPrivateMethodInitSpec2","default","_classPrivateFieldInitSpec2","Map","_classPrivateFieldSet2","setField","_classPrivateFieldGet6","getAllValues","allFields","_assertClassBrand2","_getAllFields","call","formData","Object","fromEntries","entries","map","k","v","includes","filter","item","length","setInitValue","values","isEmitValuseChange","setFieldsValue","setFieldsValueByInitData","_classPrivateFieldGet2","value","isNil","publish","newFormData","forEach","_classPrivateFieldGet3","_classPrivateFieldGet4","onValuesChanged","changedValues","allValues","resetFields","resetValidateState","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","undefined","reg","RegExp","test","parsedValidator","Array","isArray","getValueFromEvent","e","target","checked","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 delete this.#formData[name];\n this.publish(`${name}.reset.fields`, null);\n } else {\n this.#formData = {};\n this.publish(\"reset.fields\", null);\n }\n this.resetValidateState();\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 : value === undefined || value === null)\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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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"FormStore.js","names":["_lodash","require","_PubSub","uid","Field","field","detail","constructor","name","_fields","WeakMap","_options","_formData","_initData","_FormStore_brand","WeakSet","FormStore","PubSub","getInstance","options","instance","get","set","_classPrivateMethodInitSpec2","default","_classPrivateFieldInitSpec2","Map","_classPrivateFieldSet2","setField","_classPrivateFieldGet6","getAllValues","allFields","_assertClassBrand2","_getAllFields","call","formData","Object","fromEntries","entries","map","k","v","includes","filter","item","length","setInitValue","values","isEmitValuseChange","setFieldsValue","setFieldsValueByInitData","_classPrivateFieldGet2","value","isNil","publish","newFormData","forEach","_classPrivateFieldGet3","_classPrivateFieldGet4","onValuesChanged","changedValues","allValues","resetFields","resetValidateState","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","undefined","reg","RegExp","test","parsedValidator","Array","isArray","getValueFromEvent","e","target","checked","onWatch","event","realValue","needValidate","apply","onChange","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 delete this.#formData[name];\n this.publish(`${name}.reset.fields`, null);\n } else {\n this.#formData = {};\n this.publish(\"reset.fields\", null);\n }\n this.resetValidateState();\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 : value === undefined || value === null)\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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","ignoreList":[]}
|
|
@@ -6,10 +6,10 @@ import _classPrivateFieldSet from "@babel/runtime/helpers/classPrivateFieldSet2"
|
|
|
6
6
|
import _classPrivateFieldGet from "@babel/runtime/helpers/classPrivateFieldGet2";
|
|
7
7
|
import _applyDecs from "@babel/runtime/helpers/applyDecs2311";
|
|
8
8
|
var _FormItemElementBase;
|
|
9
|
-
|
|
9
|
+
let _initProto, _init_helpBrick, _init_extra_helpBrick, _init_labelBrick, _init_extra_labelBrick, _init_labelCol, _init_extra_labelCol, _init_wrapperCol, _init_extra_wrapperCol;
|
|
10
10
|
import { createDecorators } from "@next-core/element";
|
|
11
11
|
import { ReactNextElement } from "@next-core/react-element";
|
|
12
|
-
|
|
12
|
+
const {
|
|
13
13
|
method,
|
|
14
14
|
property
|
|
15
15
|
} = createDecorators();
|
|
@@ -94,7 +94,7 @@ export class FormItemElementBase extends ReactNextElement {
|
|
|
94
94
|
}
|
|
95
95
|
getFormElement() {
|
|
96
96
|
// eslint-disable-next-line @typescript-eslint/no-this-alias
|
|
97
|
-
|
|
97
|
+
let element = this;
|
|
98
98
|
while (element = element.parentNode) {
|
|
99
99
|
if (!element || element.isFormElement) {
|
|
100
100
|
break;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormItemElement.js","names":["createDecorators","ReactNextElement","method","property","_A","WeakMap","_FormItemElementBase_brand","WeakSet","_B","_C","_D","_E","_F","_G","FormItemElementBase","constructor","arguments","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","_initProto","_init_helpBrick","_init_extra_helpBrick","_init_labelBrick","_init_extra_labelBrick","_init_labelCol","_init_extra_labelCol","_init_wrapperCol","_init_extra_wrapperCol","isFormItemElement","validateState","value","_classPrivateSetter","_set_validate","_render","_classPrivateGetter","_get_validate","notRender","hidden","_set__notRender","_get__notRender","$bindFormItem","_get_bindFormItem","_set_bindFormItem","helpBrick","_classPrivateFieldGet","v","_classPrivateFieldSet","labelBrick","labelCol","wrapperCol","setNotRender","getFormElement","element","parentNode","isFormElement","_FormItemElementBase","_this","_this2","_this3","_this4","_this5","_this6","_applyDecs","attribute","e"],"sources":["../../src/FormItemElement.tsx"],"sourcesContent":["import { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport type { AbstractForm, ColProps } from \"./Form.js\";\nimport { UseSingleBrickConf } from \"@next-core/types\";\n\nconst { method, property } = createDecorators();\n\nexport abstract class FormItemElementBase extends ReactNextElement {\n accessor #_notRender = false;\n accessor #validate = \"normal\";\n accessor #bindFormItem = false;\n\n get isFormItemElement(): true {\n return true;\n }\n\n set validateState(value: string) {\n this.#validate = value;\n this._render();\n }\n get validateState() {\n return this.#validate;\n }\n\n /**\n * 控制该表单项是否隐藏\n * @default false\n * @group ui\n */\n set notRender(value: boolean) {\n this.hidden = value;\n this.#_notRender = value;\n this._render();\n }\n get notRender(): boolean {\n return this.#_notRender;\n }\n\n get $bindFormItem() {\n return this.#bindFormItem;\n }\n set $bindFormItem(value: boolean) {\n this.#bindFormItem = value;\n this._render();\n }\n\n @property({\n attribute: false,\n })\n accessor helpBrick:\n | { useBrick: UseSingleBrickConf | UseSingleBrickConf[] }\n | undefined;\n\n @property({\n attribute: false,\n })\n accessor labelBrick:\n | { useBrick: UseSingleBrickConf | UseSingleBrickConf[] }\n | undefined;\n\n @property({\n attribute: false,\n })\n accessor labelCol: ColProps | undefined;\n\n @property({\n attribute: false,\n })\n accessor wrapperCol: ColProps | undefined;\n\n @method()\n setNotRender(value: boolean) {\n this.notRender = value;\n }\n\n @method()\n getFormElement(): AbstractForm | null {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n let element: AbstractForm | null = this as unknown as AbstractForm;\n while ((element = element.parentNode as AbstractForm | null)) {\n if (!element || element.isFormElement) {\n break;\n }\n }\n return element as AbstractForm | null;\n }\n}\n"],"mappings":";;;;;;;;;AAAA,SAASA,gBAAgB,QAAQ,oBAAoB;AACrD,SAASC,gBAAgB,QAAQ,0BAA0B;AAI3D,
|
|
1
|
+
{"version":3,"file":"FormItemElement.js","names":["createDecorators","ReactNextElement","method","property","_A","WeakMap","_FormItemElementBase_brand","WeakSet","_B","_C","_D","_E","_F","_G","FormItemElementBase","constructor","arguments","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","_initProto","_init_helpBrick","_init_extra_helpBrick","_init_labelBrick","_init_extra_labelBrick","_init_labelCol","_init_extra_labelCol","_init_wrapperCol","_init_extra_wrapperCol","isFormItemElement","validateState","value","_classPrivateSetter","_set_validate","_render","_classPrivateGetter","_get_validate","notRender","hidden","_set__notRender","_get__notRender","$bindFormItem","_get_bindFormItem","_set_bindFormItem","helpBrick","_classPrivateFieldGet","v","_classPrivateFieldSet","labelBrick","labelCol","wrapperCol","setNotRender","getFormElement","element","parentNode","isFormElement","_FormItemElementBase","_this","_this2","_this3","_this4","_this5","_this6","_applyDecs","attribute","e"],"sources":["../../src/FormItemElement.tsx"],"sourcesContent":["import { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport type { AbstractForm, ColProps } from \"./Form.js\";\nimport { UseSingleBrickConf } from \"@next-core/types\";\n\nconst { method, property } = createDecorators();\n\nexport abstract class FormItemElementBase extends ReactNextElement {\n accessor #_notRender = false;\n accessor #validate = \"normal\";\n accessor #bindFormItem = false;\n\n get isFormItemElement(): true {\n return true;\n }\n\n set validateState(value: string) {\n this.#validate = value;\n this._render();\n }\n get validateState() {\n return this.#validate;\n }\n\n /**\n * 控制该表单项是否隐藏\n * @default false\n * @group ui\n */\n set notRender(value: boolean) {\n this.hidden = value;\n this.#_notRender = value;\n this._render();\n }\n get notRender(): boolean {\n return this.#_notRender;\n }\n\n get $bindFormItem() {\n return this.#bindFormItem;\n }\n set $bindFormItem(value: boolean) {\n this.#bindFormItem = value;\n this._render();\n }\n\n @property({\n attribute: false,\n })\n accessor helpBrick:\n | { useBrick: UseSingleBrickConf | UseSingleBrickConf[] }\n | undefined;\n\n @property({\n attribute: false,\n })\n accessor labelBrick:\n | { useBrick: UseSingleBrickConf | UseSingleBrickConf[] }\n | undefined;\n\n @property({\n attribute: false,\n })\n accessor labelCol: ColProps | undefined;\n\n @property({\n attribute: false,\n })\n accessor wrapperCol: ColProps | undefined;\n\n @method()\n setNotRender(value: boolean) {\n this.notRender = value;\n }\n\n @method()\n getFormElement(): AbstractForm | null {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n let element: AbstractForm | null = this as unknown as AbstractForm;\n while ((element = element.parentNode as AbstractForm | null)) {\n if (!element || element.isFormElement) {\n break;\n }\n }\n return element as AbstractForm | null;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
package/dist/esm/FormStore.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import _objectSpread from "@babel/runtime/helpers/objectSpread2";
|
|
2
1
|
import _classPrivateMethodInitSpec from "@babel/runtime/helpers/classPrivateMethodInitSpec";
|
|
3
2
|
import _classPrivateFieldInitSpec from "@babel/runtime/helpers/classPrivateFieldInitSpec";
|
|
4
3
|
import _assertClassBrand from "@babel/runtime/helpers/assertClassBrand";
|
|
@@ -7,7 +6,7 @@ import _classPrivateFieldSet from "@babel/runtime/helpers/classPrivateFieldSet2"
|
|
|
7
6
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
8
7
|
import { isEmpty, isNil } from "lodash";
|
|
9
8
|
import { PubSub } from "./PubSub.js";
|
|
10
|
-
|
|
9
|
+
let uid = 0;
|
|
11
10
|
class Field {
|
|
12
11
|
constructor(name, detail) {
|
|
13
12
|
_defineProperty(this, "field", void 0);
|
|
@@ -44,9 +43,9 @@ export class FormStore extends PubSub {
|
|
|
44
43
|
_classPrivateFieldGet(_fields, this).set(name, new Field(name, detail));
|
|
45
44
|
}
|
|
46
45
|
getAllValues() {
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
46
|
+
const allFields = _assertClassBrand(_FormStore_brand, this, _getAllFields).call(this);
|
|
47
|
+
const formData = Object.fromEntries(Object.entries(_classPrivateFieldGet(_formData, this)).map(_ref => {
|
|
48
|
+
let [k, v] = _ref;
|
|
50
49
|
if (allFields.includes(k)) {
|
|
51
50
|
return [k, v];
|
|
52
51
|
}
|
|
@@ -55,26 +54,28 @@ export class FormStore extends PubSub {
|
|
|
55
54
|
return formData;
|
|
56
55
|
}
|
|
57
56
|
setInitValue(values) {
|
|
58
|
-
|
|
57
|
+
let isEmitValuseChange = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
59
58
|
_classPrivateFieldSet(_initData, this, values);
|
|
60
59
|
this.setFieldsValue(values, isEmitValuseChange);
|
|
61
60
|
}
|
|
62
61
|
setFieldsValueByInitData(name) {
|
|
63
62
|
var _classPrivateFieldGet2;
|
|
64
|
-
|
|
63
|
+
const value = (_classPrivateFieldGet2 = _classPrivateFieldGet(_initData, this)) === null || _classPrivateFieldGet2 === void 0 ? void 0 : _classPrivateFieldGet2[name];
|
|
65
64
|
if (!isNil(value)) {
|
|
66
65
|
_classPrivateFieldGet(_formData, this)[name] = value;
|
|
67
|
-
this.publish(
|
|
66
|
+
this.publish(`${name}.init.value`, value);
|
|
68
67
|
}
|
|
69
68
|
}
|
|
70
69
|
setFieldsValue(values) {
|
|
71
|
-
|
|
72
|
-
|
|
70
|
+
let isEmitValuseChange = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
71
|
+
const newFormData = {
|
|
72
|
+
..._classPrivateFieldGet(_formData, this)
|
|
73
|
+
};
|
|
73
74
|
Object.entries(values).forEach(_ref2 => {
|
|
74
|
-
|
|
75
|
+
let [k, v] = _ref2;
|
|
75
76
|
newFormData[k] = v;
|
|
76
77
|
_classPrivateFieldGet(_initData, this) && (_classPrivateFieldGet(_initData, this)[k] = v);
|
|
77
|
-
this.publish(
|
|
78
|
+
this.publish(`${k}.init.value`, v);
|
|
78
79
|
});
|
|
79
80
|
_classPrivateFieldSet(_formData, this, newFormData);
|
|
80
81
|
if (isEmitValuseChange) {
|
|
@@ -88,7 +89,7 @@ export class FormStore extends PubSub {
|
|
|
88
89
|
resetFields(name) {
|
|
89
90
|
if (name) {
|
|
90
91
|
delete _classPrivateFieldGet(_formData, this)[name];
|
|
91
|
-
this.publish(
|
|
92
|
+
this.publish(`${name}.reset.fields`, null);
|
|
92
93
|
} else {
|
|
93
94
|
_classPrivateFieldSet(_formData, this, {});
|
|
94
95
|
this.publish("reset.fields", null);
|
|
@@ -105,10 +106,10 @@ export class FormStore extends PubSub {
|
|
|
105
106
|
_classPrivateFieldGet(_fields, this).delete(name);
|
|
106
107
|
}
|
|
107
108
|
validateFields(callback) {
|
|
108
|
-
|
|
109
|
-
|
|
109
|
+
const allFields = _assertClassBrand(_FormStore_brand, this, _getAllFields).call(this);
|
|
110
|
+
const results = [];
|
|
110
111
|
allFields.forEach(name => {
|
|
111
|
-
|
|
112
|
+
const field = _classPrivateFieldGet(_fields, this).get(name);
|
|
112
113
|
if (field) {
|
|
113
114
|
results.push(this.validateField(field.detail));
|
|
114
115
|
}
|
|
@@ -117,31 +118,31 @@ export class FormStore extends PubSub {
|
|
|
117
118
|
callback(true, results.filter(result => (result === null || result === void 0 ? void 0 : result.type) !== "normal"));
|
|
118
119
|
return false;
|
|
119
120
|
} else {
|
|
120
|
-
|
|
121
|
+
const formData = this.getAllValues();
|
|
121
122
|
callback(false, formData);
|
|
122
123
|
return formData;
|
|
123
124
|
}
|
|
124
125
|
}
|
|
125
126
|
validateField(field) {
|
|
126
127
|
var _classPrivateFieldGet5;
|
|
127
|
-
|
|
128
|
+
const fieldDetail = typeof field === "string" ? (_classPrivateFieldGet5 = _classPrivateFieldGet(_fields, this).get(field)) === null || _classPrivateFieldGet5 === void 0 ? void 0 : _classPrivateFieldGet5.detail : field;
|
|
128
129
|
if (!fieldDetail) return;
|
|
129
|
-
|
|
130
|
+
const {
|
|
130
131
|
name,
|
|
131
132
|
label,
|
|
132
133
|
validate
|
|
133
134
|
} = fieldDetail;
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
135
|
+
const validateValue = _classPrivateFieldGet(_formData, this)[name];
|
|
136
|
+
const messageBody = function (message) {
|
|
137
|
+
let type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "error";
|
|
137
138
|
return {
|
|
138
139
|
type,
|
|
139
140
|
message
|
|
140
141
|
};
|
|
141
142
|
};
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
143
|
+
const getName = () => label ?? name;
|
|
144
|
+
const valid = (validate, value) => {
|
|
145
|
+
const {
|
|
145
146
|
required,
|
|
146
147
|
pattern,
|
|
147
148
|
message,
|
|
@@ -149,78 +150,76 @@ export class FormStore extends PubSub {
|
|
|
149
150
|
max,
|
|
150
151
|
validator
|
|
151
152
|
} = validate;
|
|
152
|
-
|
|
153
|
+
const label = getName();
|
|
153
154
|
if (required && (typeof value === "object" ? isEmpty(value) : value === undefined || value === null)) {
|
|
154
|
-
return messageBody((message === null || message === void 0 ? void 0 : message.required) ||
|
|
155
|
+
return messageBody((message === null || message === void 0 ? void 0 : message.required) || `${label}为必填项`);
|
|
155
156
|
}
|
|
156
157
|
if (pattern && value) {
|
|
157
|
-
|
|
158
|
+
const reg = new RegExp(pattern);
|
|
158
159
|
if (!reg.test(value)) {
|
|
159
|
-
return messageBody((message === null || message === void 0 ? void 0 : message.pattern) ||
|
|
160
|
+
return messageBody((message === null || message === void 0 ? void 0 : message.pattern) || `${label}没有匹配正则 ${pattern}`);
|
|
160
161
|
}
|
|
161
162
|
}
|
|
162
163
|
if (min && (!value || value.length < min)) {
|
|
163
|
-
return messageBody((message === null || message === void 0 ? void 0 : message.min) ||
|
|
164
|
+
return messageBody((message === null || message === void 0 ? void 0 : message.min) || `${label}至少包含 ${min} 个字符`);
|
|
164
165
|
}
|
|
165
166
|
if (max && value && value.length > max) {
|
|
166
|
-
return messageBody((message === null || message === void 0 ? void 0 : message.max) ||
|
|
167
|
+
return messageBody((message === null || message === void 0 ? void 0 : message.max) || `${label}不能超过 ${max} 个字符`);
|
|
167
168
|
}
|
|
168
169
|
if (validator) {
|
|
169
|
-
|
|
170
|
-
|
|
170
|
+
let result = "";
|
|
171
|
+
let parsedValidator = [];
|
|
171
172
|
if (Array.isArray(validator)) {
|
|
172
173
|
parsedValidator = validator;
|
|
173
174
|
} else {
|
|
174
175
|
parsedValidator.push(validator);
|
|
175
176
|
}
|
|
176
|
-
for (
|
|
177
|
-
|
|
178
|
-
if (
|
|
177
|
+
for (const v of parsedValidator) {
|
|
178
|
+
result = v(value);
|
|
179
|
+
if (result) {
|
|
179
180
|
break;
|
|
180
181
|
}
|
|
181
182
|
}
|
|
182
|
-
return typeof
|
|
183
|
+
return typeof result === "string" ? messageBody(result, result ? "error" : "normal") : result;
|
|
183
184
|
}
|
|
184
185
|
return messageBody("", "normal");
|
|
185
186
|
};
|
|
186
|
-
|
|
187
|
-
this.publish(
|
|
187
|
+
const result = valid(validate, validateValue);
|
|
188
|
+
this.publish(`${name}.validate`, result);
|
|
188
189
|
return result;
|
|
189
190
|
}
|
|
190
191
|
getValueFromEvent(e) {
|
|
191
192
|
if (!e || !e.target) {
|
|
192
193
|
return e;
|
|
193
194
|
}
|
|
194
|
-
|
|
195
|
+
const target = e.target;
|
|
195
196
|
return target.type === "checkbox" ? target.checked : target.value;
|
|
196
197
|
}
|
|
197
198
|
resetValidateState() {
|
|
198
|
-
this.publish(
|
|
199
|
+
this.publish(`reset.validate`, null);
|
|
199
200
|
}
|
|
200
201
|
onWatch(name, event, callback, options) {
|
|
201
|
-
|
|
202
|
+
const field = _classPrivateFieldGet(_fields, this).get(name);
|
|
202
203
|
if (field) {
|
|
203
|
-
|
|
204
|
-
var _value = this.getValueFromEvent(event);
|
|
204
|
+
const value = this.getValueFromEvent(event);
|
|
205
205
|
// default first params is value
|
|
206
|
-
|
|
206
|
+
const realValue = Array.isArray(value) ? value[0] : value;
|
|
207
207
|
this.setFieldsValue({
|
|
208
208
|
[name]: realValue
|
|
209
209
|
});
|
|
210
|
-
if ((
|
|
210
|
+
if ((options === null || options === void 0 ? void 0 : options.needValidate) ?? true) {
|
|
211
211
|
this.validateField(field.detail);
|
|
212
212
|
}
|
|
213
|
-
callback === null || callback === void 0 || callback.apply(this,
|
|
213
|
+
callback === null || callback === void 0 || callback.apply(this, value);
|
|
214
214
|
}
|
|
215
215
|
}
|
|
216
216
|
onChange(name, value, callback, options) {
|
|
217
|
-
|
|
217
|
+
const field = _classPrivateFieldGet(_fields, this).get(name);
|
|
218
218
|
if (field) {
|
|
219
|
-
var _options$needValidate2;
|
|
220
219
|
this.setFieldsValue({
|
|
221
220
|
[name]: value
|
|
222
221
|
});
|
|
223
|
-
if ((
|
|
222
|
+
if ((options === null || options === void 0 ? void 0 : options.needValidate) ?? true) {
|
|
224
223
|
this.validateField(field.detail);
|
|
225
224
|
}
|
|
226
225
|
callback === null || callback === void 0 || callback(value);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormStore.js","names":["isEmpty","isNil","PubSub","uid","Field","constructor","name","detail","_defineProperty","field","_fields","WeakMap","_options","_formData","_initData","_FormStore_brand","WeakSet","FormStore","getInstance","options","instance","get","set","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","Map","_classPrivateFieldSet","setField","_classPrivateFieldGet","getAllValues","allFields","_assertClassBrand","_getAllFields","call","formData","Object","fromEntries","entries","map","_ref","k","v","includes","filter","item","length","setInitValue","values","isEmitValuseChange","arguments","undefined","setFieldsValue","setFieldsValueByInitData","_classPrivateFieldGet2","value","publish","concat","newFormData","_objectSpread","forEach","_ref2","_classPrivateFieldGet3","_classPrivateFieldGet4","onValuesChanged","changedValues","allValues","resetFields","resetValidateState","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","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 delete this.#formData[name];\n this.publish(`${name}.reset.fields`, null);\n } else {\n this.#formData = {};\n this.publish(\"reset.fields\", null);\n }\n this.resetValidateState();\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 : value === undefined || value === null)\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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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"FormStore.js","names":["isEmpty","isNil","PubSub","uid","Field","constructor","name","detail","_defineProperty","field","_fields","WeakMap","_options","_formData","_initData","_FormStore_brand","WeakSet","FormStore","getInstance","options","instance","get","set","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","Map","_classPrivateFieldSet","setField","_classPrivateFieldGet","getAllValues","allFields","_assertClassBrand","_getAllFields","call","formData","Object","fromEntries","entries","map","_ref","k","v","includes","filter","item","length","setInitValue","values","isEmitValuseChange","arguments","undefined","setFieldsValue","setFieldsValueByInitData","_classPrivateFieldGet2","value","publish","newFormData","forEach","_ref2","_classPrivateFieldGet3","_classPrivateFieldGet4","onValuesChanged","changedValues","allValues","resetFields","resetValidateState","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","onWatch","event","realValue","needValidate","apply","onChange","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 delete this.#formData[name];\n this.publish(`${name}.reset.fields`, null);\n } else {\n this.#formData = {};\n this.publish(\"reset.fields\", null);\n }\n this.resetValidateState();\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 : value === undefined || value === null)\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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","ignoreList":[]}
|
package/dist/esm/PubSub.js
CHANGED
|
@@ -13,8 +13,8 @@ export class PubSub {
|
|
|
13
13
|
if (!_classPrivateFieldGet(_topics, this)[topic]) {
|
|
14
14
|
return;
|
|
15
15
|
}
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
const subscribers = _classPrivateFieldGet(_topics, this)[topic];
|
|
17
|
+
let len = subscribers ? subscribers.length : 0;
|
|
18
18
|
while (len--) {
|
|
19
19
|
subscribers[len].func(topic, body);
|
|
20
20
|
}
|
|
@@ -24,7 +24,7 @@ export class PubSub {
|
|
|
24
24
|
if (!_classPrivateFieldGet(_topics, this)[topic]) {
|
|
25
25
|
_classPrivateFieldGet(_topics, this)[topic] = [];
|
|
26
26
|
}
|
|
27
|
-
|
|
27
|
+
const token = _classPrivateFieldSet(_subUid, this, (_this$subUid = _classPrivateFieldGet(_subUid, this), ++_this$subUid)).toString();
|
|
28
28
|
_classPrivateFieldGet(_topics, this)[topic].push({
|
|
29
29
|
token: token,
|
|
30
30
|
func: fn
|
|
@@ -32,7 +32,7 @@ export class PubSub {
|
|
|
32
32
|
return token;
|
|
33
33
|
}
|
|
34
34
|
unsubscribe(token) {
|
|
35
|
-
for (
|
|
35
|
+
for (const m in _classPrivateFieldGet(_topics, this)) {
|
|
36
36
|
if (_classPrivateFieldGet(_topics, this)[m]) {
|
|
37
37
|
remove(_classPrivateFieldGet(_topics, this)[m], item => item.token === token);
|
|
38
38
|
}
|
package/dist/esm/PubSub.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PubSub.js","names":["remove","_topics","WeakMap","_subUid","PubSub","constructor","_classPrivateFieldInitSpec","publish","topic","body","_classPrivateFieldGet","subscribers","len","length","func","subscribe","fn","_this$subUid","token","_classPrivateFieldSet","toString","push","unsubscribe","m","item"],"sources":["../../src/PubSub.ts"],"sourcesContent":["import { remove } from \"lodash\";\n\nexport class PubSub {\n #topics: Record<string, { token: string; func: Function }[]> = {};\n #subUid = 0;\n\n publish(topic: string, body: any): void {\n if (!this.#topics[topic]) {\n return;\n }\n const subscribers = this.#topics[topic];\n let len = subscribers ? subscribers.length : 0;\n while (len--) {\n subscribers[len].func(topic, body);\n }\n }\n\n subscribe(topic: string, fn: (topic: string, detail: any) => void): string {\n if (!this.#topics[topic]) {\n this.#topics[topic] = [];\n }\n const token = (++this.#subUid).toString();\n this.#topics[topic].push({\n token: token,\n func: fn,\n });\n return token;\n }\n\n unsubscribe(token: string): void {\n for (const m in this.#topics) {\n if (this.#topics[m]) {\n remove(this.#topics[m], (item) => item.token === token);\n }\n }\n }\n}\n"],"mappings":";;;AAAA,SAASA,MAAM,QAAQ,QAAQ;AAAC,IAAAC,OAAA,oBAAAC,OAAA;AAAA,IAAAC,OAAA,oBAAAD,OAAA;AAEhC,OAAO,MAAME,MAAM,CAAC;EAAAC,YAAA;
|
|
1
|
+
{"version":3,"file":"PubSub.js","names":["remove","_topics","WeakMap","_subUid","PubSub","constructor","_classPrivateFieldInitSpec","publish","topic","body","_classPrivateFieldGet","subscribers","len","length","func","subscribe","fn","_this$subUid","token","_classPrivateFieldSet","toString","push","unsubscribe","m","item"],"sources":["../../src/PubSub.ts"],"sourcesContent":["import { remove } from \"lodash\";\n\nexport class PubSub {\n #topics: Record<string, { token: string; func: Function }[]> = {};\n #subUid = 0;\n\n publish(topic: string, body: any): void {\n if (!this.#topics[topic]) {\n return;\n }\n const subscribers = this.#topics[topic];\n let len = subscribers ? subscribers.length : 0;\n while (len--) {\n subscribers[len].func(topic, body);\n }\n }\n\n subscribe(topic: string, fn: (topic: string, detail: any) => void): string {\n if (!this.#topics[topic]) {\n this.#topics[topic] = [];\n }\n const token = (++this.#subUid).toString();\n this.#topics[topic].push({\n token: token,\n func: fn,\n });\n return token;\n }\n\n unsubscribe(token: string): void {\n for (const m in this.#topics) {\n if (this.#topics[m]) {\n remove(this.#topics[m], (item) => item.token === token);\n }\n }\n }\n}\n"],"mappings":";;;AAAA,SAASA,MAAM,QAAQ,QAAQ;AAAC,IAAAC,OAAA,oBAAAC,OAAA;AAAA,IAAAC,OAAA,oBAAAD,OAAA;AAEhC,OAAO,MAAME,MAAM,CAAC;EAAAC,YAAA;IAClBC,0BAAA,OAAAL,OAAO,EAAwD,CAAC,CAAC;IACjEK,0BAAA,OAAAH,OAAO,EAAG,CAAC;EAAC;EAEZI,OAAOA,CAACC,KAAa,EAAEC,IAAS,EAAQ;IACtC,IAAI,CAACC,qBAAA,CAAKT,OAAO,EAAZ,IAAW,CAAC,CAACO,KAAK,CAAC,EAAE;MACxB;IACF;IACA,MAAMG,WAAW,GAAGD,qBAAA,CAAKT,OAAO,EAAZ,IAAW,CAAC,CAACO,KAAK,CAAC;IACvC,IAAII,GAAG,GAAGD,WAAW,GAAGA,WAAW,CAACE,MAAM,GAAG,CAAC;IAC9C,OAAOD,GAAG,EAAE,EAAE;MACZD,WAAW,CAACC,GAAG,CAAC,CAACE,IAAI,CAACN,KAAK,EAAEC,IAAI,CAAC;IACpC;EACF;EAEAM,SAASA,CAACP,KAAa,EAAEQ,EAAwC,EAAU;IAAA,IAAAC,YAAA;IACzE,IAAI,CAACP,qBAAA,CAAKT,OAAO,EAAZ,IAAW,CAAC,CAACO,KAAK,CAAC,EAAE;MACxBE,qBAAA,CAAKT,OAAO,EAAZ,IAAW,CAAC,CAACO,KAAK,CAAC,GAAG,EAAE;IAC1B;IACA,MAAMU,KAAK,GAAMC,qBAAA,CAAKhB,OAAO,EAAZ,IAAI,GAAAc,YAAA,GAAJP,qBAAA,CAAKP,OAAO,EAAZ,IAAW,CAAC,IAAAc,YAAA,CAAD,CAAC,CAAEG,QAAQ,CAAC,CAAC;IACzCV,qBAAA,CAAKT,OAAO,EAAZ,IAAW,CAAC,CAACO,KAAK,CAAC,CAACa,IAAI,CAAC;MACvBH,KAAK,EAAEA,KAAK;MACZJ,IAAI,EAAEE;IACR,CAAC,CAAC;IACF,OAAOE,KAAK;EACd;EAEAI,WAAWA,CAACJ,KAAa,EAAQ;IAC/B,KAAK,MAAMK,CAAC,IAAIb,qBAAA,CAAKT,OAAO,EAAZ,IAAW,CAAC,EAAE;MAC5B,IAAIS,qBAAA,CAAKT,OAAO,EAAZ,IAAW,CAAC,CAACsB,CAAC,CAAC,EAAE;QACnBvB,MAAM,CAACU,qBAAA,CAAKT,OAAO,EAAZ,IAAW,CAAC,CAACsB,CAAC,CAAC,EAAGC,IAAI,IAAKA,IAAI,CAACN,KAAK,KAAKA,KAAK,CAAC;MACzD;IACF;EACF;AACF","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@next-shared/form",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.7",
|
|
4
4
|
"homepage": "https://github.com/easyops-cn/next-bricks/tree/master/shared/form",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -34,14 +34,14 @@
|
|
|
34
34
|
"test:ci": "cross-env NODE_ENV='test' CI=true test-next"
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@next-core/element": "^1.2.
|
|
38
|
-
"@next-core/react-element": "^1.0.
|
|
37
|
+
"@next-core/element": "^1.2.8",
|
|
38
|
+
"@next-core/react-element": "^1.0.27",
|
|
39
39
|
"lodash": "^4.17.21"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
|
-
"@next-core/build-next-libs": "^1.0.
|
|
43
|
-
"@next-core/test-next": "^1.1.
|
|
42
|
+
"@next-core/build-next-libs": "^1.0.16",
|
|
43
|
+
"@next-core/test-next": "^1.1.2",
|
|
44
44
|
"concurrently": "^8.2.2"
|
|
45
45
|
},
|
|
46
|
-
"gitHead": "
|
|
46
|
+
"gitHead": "2e2d05677956451a333f122a015fe340c176613d"
|
|
47
47
|
}
|