@next-shared/form 0.10.1 → 0.12.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.
@@ -5,10 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.FormItemElementBase = void 0;
8
- var _classPrivateMethodInitSpec2 = _interopRequireDefault(require("@babel/runtime/helpers/classPrivateMethodInitSpec"));
9
8
  var _classPrivateFieldInitSpec2 = _interopRequireDefault(require("@babel/runtime/helpers/classPrivateFieldInitSpec"));
10
- var _classPrivateGetter2 = _interopRequireDefault(require("@babel/runtime/helpers/classPrivateGetter"));
11
- var _classPrivateSetter2 = _interopRequireDefault(require("@babel/runtime/helpers/classPrivateSetter"));
12
9
  var _classPrivateFieldSet2 = _interopRequireDefault(require("@babel/runtime/helpers/classPrivateFieldSet2"));
13
10
  var _classPrivateFieldGet2 = _interopRequireDefault(require("@babel/runtime/helpers/classPrivateFieldGet2"));
14
11
  var _applyDecs2 = _interopRequireDefault(require("@babel/runtime/helpers/applyDecs2311"));
@@ -21,7 +18,6 @@ const {
21
18
  property
22
19
  } = (0, _element.createDecorators)();
23
20
  var _A = /*#__PURE__*/new WeakMap();
24
- var _FormItemElementBase_brand = /*#__PURE__*/new WeakSet();
25
21
  var _B = /*#__PURE__*/new WeakMap();
26
22
  var _C = /*#__PURE__*/new WeakMap();
27
23
  var _D = /*#__PURE__*/new WeakMap();
@@ -31,7 +27,6 @@ var _G = /*#__PURE__*/new WeakMap();
31
27
  class FormItemElementBase extends _reactElement.ReactNextElement {
32
28
  constructor(...args) {
33
29
  super(...args);
34
- (0, _classPrivateMethodInitSpec2.default)(this, _FormItemElementBase_brand);
35
30
  (0, _classPrivateFieldInitSpec2.default)(this, _A, (_initProto(this), false));
36
31
  (0, _classPrivateFieldInitSpec2.default)(this, _B, "normal");
37
32
  (0, _classPrivateFieldInitSpec2.default)(this, _C, false);
@@ -41,15 +36,33 @@ class FormItemElementBase extends _reactElement.ReactNextElement {
41
36
  (0, _classPrivateFieldInitSpec2.default)(this, _G, (_init_extra_labelCol(this), _init_wrapperCol(this)));
42
37
  _init_extra_wrapperCol(this);
43
38
  }
39
+ get _notRender() {
40
+ return (0, _classPrivateFieldGet2.default)(_A, this);
41
+ }
42
+ set _notRender(v) {
43
+ (0, _classPrivateFieldSet2.default)(_A, this, v);
44
+ }
45
+ get validate() {
46
+ return (0, _classPrivateFieldGet2.default)(_B, this);
47
+ }
48
+ set validate(v) {
49
+ (0, _classPrivateFieldSet2.default)(_B, this, v);
50
+ }
51
+ get bindFormItem() {
52
+ return (0, _classPrivateFieldGet2.default)(_C, this);
53
+ }
54
+ set bindFormItem(v) {
55
+ (0, _classPrivateFieldSet2.default)(_C, this, v);
56
+ }
44
57
  get isFormItemElement() {
45
58
  return true;
46
59
  }
47
60
  set validateState(value) {
48
- (0, _classPrivateSetter2.default)(_FormItemElementBase_brand, _set_validate, this, value);
61
+ this.validate = value;
49
62
  this._render();
50
63
  }
51
64
  get validateState() {
52
- return (0, _classPrivateGetter2.default)(_FormItemElementBase_brand, this, _get_validate);
65
+ return this.validate;
53
66
  }
54
67
 
55
68
  /**
@@ -59,17 +72,17 @@ class FormItemElementBase extends _reactElement.ReactNextElement {
59
72
  */
60
73
  set notRender(value) {
61
74
  this.hidden = value;
62
- (0, _classPrivateSetter2.default)(_FormItemElementBase_brand, _set__notRender, this, value);
75
+ this._notRender = value;
63
76
  this._render();
64
77
  }
65
78
  get notRender() {
66
- return (0, _classPrivateGetter2.default)(_FormItemElementBase_brand, this, _get__notRender);
79
+ return this._notRender;
67
80
  }
68
81
  get $bindFormItem() {
69
- return (0, _classPrivateGetter2.default)(_FormItemElementBase_brand, this, _get_bindFormItem);
82
+ return this.bindFormItem;
70
83
  }
71
84
  set $bindFormItem(value) {
72
- (0, _classPrivateSetter2.default)(_FormItemElementBase_brand, _set_bindFormItem, this, value);
85
+ this.bindFormItem = value;
73
86
  this._render();
74
87
  }
75
88
  get helpBrick() {
@@ -112,24 +125,6 @@ class FormItemElementBase extends _reactElement.ReactNextElement {
112
125
  }
113
126
  exports.FormItemElementBase = FormItemElementBase;
114
127
  _FormItemElementBase = FormItemElementBase;
115
- function _get__notRender(_this) {
116
- return (0, _classPrivateFieldGet2.default)(_A, _this);
117
- }
118
- function _set__notRender(_this2, v) {
119
- (0, _classPrivateFieldSet2.default)(_A, _this2, v);
120
- }
121
- function _get_validate(_this3) {
122
- return (0, _classPrivateFieldGet2.default)(_B, _this3);
123
- }
124
- function _set_validate(_this4, v) {
125
- (0, _classPrivateFieldSet2.default)(_B, _this4, v);
126
- }
127
- function _get_bindFormItem(_this5) {
128
- return (0, _classPrivateFieldGet2.default)(_C, _this5);
129
- }
130
- function _set_bindFormItem(_this6, v) {
131
- (0, _classPrivateFieldSet2.default)(_C, _this6, v);
132
- }
133
128
  [_init_helpBrick, _init_extra_helpBrick, _init_labelBrick, _init_extra_labelBrick, _init_labelCol, _init_extra_labelCol, _init_wrapperCol, _init_extra_wrapperCol, _initProto] = (0, _applyDecs2.default)(_FormItemElementBase, [], [[property({
134
129
  attribute: false
135
130
  }), 1, "helpBrick"], [property({
@@ -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,EAAKmB,aAAS,EAAd,IAAI,EAAaF,KAAJ,CAAC;IACd,IAAI,CAACG,OAAO,CAAC,CAAC;EAChB;EACA,IAAIJ,aAAaA,CAAA,EAAG;IAClB,OAAO,IAAAK,oBAAA,CAAAR,OAAA,EAAAb,0BAAA,MAAI,EAACsB,aAAQ,CAAC;EACvB;;EAEA;AACF;AACA;AACA;AACA;EACE,IAAIC,SAASA,CAACN,KAAc,EAAE;IAC5B,IAAI,CAACO,MAAM,GAAGP,KAAK;IACnB,IAAAC,oBAAA,CAAAL,OAAA,EAAAb,0BAAA,EAAKyB,eAAW,EAAhB,IAAI,EAAeR,KAAJ,CAAC;IAChB,IAAI,CAACG,OAAO,CAAC,CAAC;EAChB;EACA,IAAIG,SAASA,CAAA,EAAY;IACvB,OAAO,IAAAF,oBAAA,CAAAR,OAAA,EAAAb,0BAAA,MAAI,EAAC0B,eAAU,CAAC;EACzB;EAEA,IAAIC,aAAaA,CAAA,EAAG;IAClB,OAAO,IAAAN,oBAAA,CAAAR,OAAA,EAAAb,0BAAA,MAAI,EAAC4B,iBAAY,CAAC;EAC3B;EACA,IAAID,aAAaA,CAACV,KAAc,EAAE;IAChC,IAAAC,oBAAA,CAAAL,OAAA,EAAAb,0BAAA,EAAK6B,iBAAa,EAAlB,IAAI,EAAiBZ,KAAJ,CAAC;IAClB,IAAI,CAACG,OAAO,CAAC,CAAC;EAChB;EAAC,IAKQU,SAASA,CAAA;IAAA,WAAAC,sBAAA,CAAAlB,OAAA,EAAAT,EAAA;EAAA;EAAA,IAAT0B,SAASA,CAAAE,CAAA;IAAA,IAAAC,sBAAA,CAAApB,OAAA,EAAAT,EAAA,QAAA4B,CAAA;EAAA;EAAA,IAOTE,UAAUA,CAAA;IAAA,WAAAH,sBAAA,CAAAlB,OAAA,EAAAR,EAAA;EAAA;EAAA,IAAV6B,UAAUA,CAAAF,CAAA;IAAA,IAAAC,sBAAA,CAAApB,OAAA,EAAAR,EAAA,QAAA2B,CAAA;EAAA;EAAA,IAOVG,QAAQA,CAAA;IAAA,WAAAJ,sBAAA,CAAAlB,OAAA,EAAAP,EAAA;EAAA;EAAA,IAAR6B,QAAQA,CAAAH,CAAA;IAAA,IAAAC,sBAAA,CAAApB,OAAA,EAAAP,EAAA,QAAA0B,CAAA;EAAA;EAAA,IAKRI,UAAUA,CAAA;IAAA,WAAAL,sBAAA,CAAAlB,OAAA,EAAAN,EAAA;EAAA;EAAA,IAAV6B,UAAUA,CAAAJ,CAAA;IAAA,IAAAC,sBAAA,CAAApB,OAAA,EAAAN,EAAA,QAAAyB,CAAA;EAAA;EAGnBK,YAAYA,CAACpB,KAAc,EAAE;IAC3B,IAAI,CAACM,SAAS,GAAGN,KAAK;EACxB;EAGAqB,cAAcA,CAAA,EAAwB;IACpC;IACA,IAAIC,OAA4B,GAAG,IAA+B;IAClE,OAAQA,OAAO,GAAGA,OAAO,CAACC,UAAiC,EAAG;MAC5D,IAAI,CAACD,OAAO,IAAIA,OAAO,CAACE,aAAa,EAAE;QACrC;MACF;IACF;IACA,OAAOF,OAAO;EAChB;AACF;AAACG,OAAA,CAAAlC,mBAAA,GAAAA,mBAAA;AAAAvB,oBAAA,GA/EqBuB,mBAAmB;AAAA,SAAAkB,gBAAAiB,KAAA;EAAA,WAAAZ,sBAAA,CAAAlB,OAAA,EAAAf,EAAA,EAAA6C,KAAA;AAAA;AAAA,SAAAlB,gBAAAmB,MAAA,EAAAZ,CAAA;EAAA,IAAAC,sBAAA,CAAApB,OAAA,EAAAf,EAAA,EAAA8C,MAAA,EAAAZ,CAAA;AAAA;AAAA,SAAAV,cAAAuB,MAAA;EAAA,WAAAd,sBAAA,CAAAlB,OAAA,EAAAX,EAAA,EAAA2C,MAAA;AAAA;AAAA,SAAA1B,cAAA2B,MAAA,EAAAd,CAAA;EAAA,IAAAC,sBAAA,CAAApB,OAAA,EAAAX,EAAA,EAAA4C,MAAA,EAAAd,CAAA;AAAA;AAAA,SAAAJ,kBAAAmB,MAAA;EAAA,WAAAhB,sBAAA,CAAAlB,OAAA,EAAAV,EAAA,EAAA4C,MAAA;AAAA;AAAA,SAAAlB,kBAAAmB,MAAA,EAAAhB,CAAA;EAAA,IAAAC,sBAAA,CAAApB,OAAA,EAAAV,EAAA,EAAA6C,MAAA,EAAAhB,CAAA;AAAA;AAAA,CAAA7C,eAAA,EAAAC,qBAAA,EAAAC,gBAAA,EAAAC,sBAAA,EAAAC,cAAA,EAAAC,oBAAA,EAAAC,gBAAA,EAAAC,sBAAA,EAAAR,UAAA,QAAA+D,WAAA,CAAApC,OAAA,EAAA5B,oBAAA,QAuCtCW,QAAQ,CAAC;EACRsD,SAAS,EAAE;AACb,CAAC,CAAC,oBAKDtD,QAAQ,CAAC;EACRsD,SAAS,EAAE;AACb,CAAC,CAAC,qBAKDtD,QAAQ,CAAC;EACRsD,SAAS,EAAE;AACb,CAAC,CAAC,mBAGDtD,QAAQ,CAAC;EACRsD,SAAS,EAAE;AACb,CAAC,CAAC,qBAGDvD,MAAM,CAAC,CAAC,uBAKRA,MAAM,CAAC,CAAC,oCApEuCc,8BAAgB,EAAA0C,CAAA","ignoreList":[]}
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","_B","_C","_D","_E","_F","_G","FormItemElementBase","ReactNextElement","constructor","args","_classPrivateFieldInitSpec2","default","_notRender","_classPrivateFieldGet2","v","_classPrivateFieldSet2","validate","bindFormItem","isFormItemElement","validateState","value","_render","notRender","hidden","$bindFormItem","helpBrick","labelBrick","labelCol","wrapperCol","setNotRender","getFormElement","element","parentNode","isFormElement","exports","_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 private accessor _notRender = false;\n private accessor validate = \"normal\";\n private 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":[]}
@@ -9,7 +9,7 @@ var _classPrivateMethodInitSpec2 = _interopRequireDefault(require("@babel/runtim
9
9
  var _classPrivateFieldInitSpec2 = _interopRequireDefault(require("@babel/runtime/helpers/classPrivateFieldInitSpec"));
10
10
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
11
  var _assertClassBrand2 = _interopRequireDefault(require("@babel/runtime/helpers/assertClassBrand"));
12
- var _classPrivateFieldGet6 = _interopRequireDefault(require("@babel/runtime/helpers/classPrivateFieldGet2"));
12
+ var _classPrivateFieldGet4 = _interopRequireDefault(require("@babel/runtime/helpers/classPrivateFieldGet2"));
13
13
  var _classPrivateFieldSet2 = _interopRequireDefault(require("@babel/runtime/helpers/classPrivateFieldSet2"));
14
14
  var _lodash = require("lodash");
15
15
  var _PubSub = require("./PubSub.js");
@@ -47,16 +47,16 @@ class FormStore extends _PubSub.PubSub {
47
47
  (0, _classPrivateFieldSet2.default)(_options, this, options);
48
48
  }
49
49
  setField(name, detail) {
50
- (0, _classPrivateFieldGet6.default)(_fields, this).set(name, new Field(name, detail));
50
+ (0, _classPrivateFieldGet4.default)(_fields, this).set(name, new Field(name, detail));
51
+ this.setFieldsValueByInitData(name);
51
52
  }
52
53
  getAllValues() {
53
54
  const allFields = (0, _assertClassBrand2.default)(_FormStore_brand, this, _getAllFields).call(this);
54
- const formData = Object.fromEntries(Object.entries((0, _classPrivateFieldGet6.default)(_formData, this)).map(([k, v]) => {
55
- if (allFields.includes(k)) {
56
- return [k, v];
57
- }
58
- return [];
59
- }).filter(item => item.length));
55
+ const formData = {};
56
+ allFields.forEach(fieldName => {
57
+ const value = (0, _lodash.get)((0, _classPrivateFieldGet4.default)(_formData, this), fieldName);
58
+ (0, _lodash.set)(formData, fieldName, value);
59
+ });
60
60
  return formData;
61
61
  }
62
62
  setInitValue(values, isEmitValuseChange = true) {
@@ -64,34 +64,41 @@ class FormStore extends _PubSub.PubSub {
64
64
  this.setFieldsValue(values, isEmitValuseChange);
65
65
  }
66
66
  setFieldsValueByInitData(name) {
67
- var _classPrivateFieldGet2;
68
- const value = (_classPrivateFieldGet2 = (0, _classPrivateFieldGet6.default)(_initData, this)) === null || _classPrivateFieldGet2 === void 0 ? void 0 : _classPrivateFieldGet2[name];
69
- if (!(0, _lodash.isNil)(value)) {
70
- (0, _classPrivateFieldGet6.default)(_formData, this)[name] = value;
67
+ var _field$detail;
68
+ const field = (0, _classPrivateFieldGet4.default)(_fields, this).get(name);
69
+ if (field && !((_field$detail = field.detail) !== null && _field$detail !== void 0 && _field$detail.notRender) && (0, _lodash.has)((0, _classPrivateFieldGet4.default)(_initData, this), name)) {
70
+ const value = (0, _lodash.get)((0, _classPrivateFieldGet4.default)(_initData, this), name);
71
+ (0, _lodash.set)((0, _classPrivateFieldGet4.default)(_formData, this), name, value);
71
72
  this.publish(`${name}.init.value`, value);
72
73
  }
73
74
  }
74
75
  setFieldsValue(values, isEmitValuseChange = true) {
75
- const newFormData = {
76
- ...(0, _classPrivateFieldGet6.default)(_formData, this)
77
- };
78
- Object.entries(values).forEach(([k, v]) => {
79
- newFormData[k] = v;
80
- (0, _classPrivateFieldGet6.default)(_initData, this) && ((0, _classPrivateFieldGet6.default)(_initData, this)[k] = v);
81
- this.publish(`${k}.init.value`, v);
76
+ const newFormData = (0, _lodash.cloneDeep)((0, _classPrivateFieldGet4.default)(_formData, this));
77
+ const changedValues = {};
78
+ (0, _classPrivateFieldGet4.default)(_fields, this).forEach((field, key) => {
79
+ var _field$detail2;
80
+ if (!((_field$detail2 = field.detail) !== null && _field$detail2 !== void 0 && _field$detail2.notRender) && (0, _lodash.has)(values, key)) {
81
+ const v = (0, _lodash.get)(values, key);
82
+ (0, _lodash.set)(newFormData, key, v);
83
+ if ((0, _classPrivateFieldGet4.default)(_initData, this)) {
84
+ (0, _lodash.set)((0, _classPrivateFieldGet4.default)(_initData, this), key, v);
85
+ }
86
+ this.publish(`${key}.init.value`, v);
87
+ (0, _lodash.set)(changedValues, key, v);
88
+ }
82
89
  });
83
90
  (0, _classPrivateFieldSet2.default)(_formData, this, newFormData);
84
91
  if (isEmitValuseChange) {
85
- var _classPrivateFieldGet3, _classPrivateFieldGet4;
86
- (_classPrivateFieldGet3 = (0, _classPrivateFieldGet6.default)(_options, this)) === null || _classPrivateFieldGet3 === void 0 || (_classPrivateFieldGet4 = _classPrivateFieldGet3.onValuesChanged) === null || _classPrivateFieldGet4 === void 0 || _classPrivateFieldGet4.call(_classPrivateFieldGet3, {
87
- changedValues: values,
92
+ var _classPrivateFieldGet2, _classPrivateFieldGet3;
93
+ (_classPrivateFieldGet2 = (0, _classPrivateFieldGet4.default)(_options, this)) === null || _classPrivateFieldGet2 === void 0 || (_classPrivateFieldGet3 = _classPrivateFieldGet2.onValuesChanged) === null || _classPrivateFieldGet3 === void 0 || _classPrivateFieldGet3.call(_classPrivateFieldGet2, {
94
+ changedValues,
88
95
  allValues: this.getAllValues()
89
96
  });
90
97
  }
91
98
  }
92
99
  resetFields(name) {
93
100
  if (name) {
94
- delete (0, _classPrivateFieldGet6.default)(_formData, this)[name];
101
+ (0, _lodash.unset)((0, _classPrivateFieldGet4.default)(_formData, this), name);
95
102
  this.publish(`${name}.reset.fields`, null);
96
103
  } else {
97
104
  (0, _classPrivateFieldSet2.default)(_formData, this, {});
@@ -101,18 +108,24 @@ class FormStore extends _PubSub.PubSub {
101
108
  }
102
109
  getFieldsValue(name) {
103
110
  if (name) {
104
- return (0, _classPrivateFieldGet6.default)(_formData, this)[name];
111
+ var _field$detail3;
112
+ const field = (0, _classPrivateFieldGet4.default)(_fields, this).get(name);
113
+ if (field && !((_field$detail3 = field.detail) !== null && _field$detail3 !== void 0 && _field$detail3.notRender)) {
114
+ return (0, _lodash.get)((0, _classPrivateFieldGet4.default)(_formData, this), name);
115
+ }
116
+ return undefined;
105
117
  }
106
118
  return this.getAllValues();
107
119
  }
108
120
  removeField(name) {
109
- (0, _classPrivateFieldGet6.default)(_fields, this).delete(name);
121
+ (0, _lodash.unset)((0, _classPrivateFieldGet4.default)(_formData, this), name);
122
+ (0, _classPrivateFieldGet4.default)(_fields, this).delete(name);
110
123
  }
111
124
  validateFields(callback) {
112
125
  const allFields = (0, _assertClassBrand2.default)(_FormStore_brand, this, _getAllFields).call(this);
113
126
  const results = [];
114
127
  allFields.forEach(name => {
115
- const field = (0, _classPrivateFieldGet6.default)(_fields, this).get(name);
128
+ const field = (0, _classPrivateFieldGet4.default)(_fields, this).get(name);
116
129
  if (field) {
117
130
  results.push(this.validateField(field.detail));
118
131
  }
@@ -127,15 +140,24 @@ class FormStore extends _PubSub.PubSub {
127
140
  }
128
141
  }
129
142
  validateField(field) {
130
- var _classPrivateFieldGet5;
131
- const fieldDetail = typeof field === "string" ? (_classPrivateFieldGet5 = (0, _classPrivateFieldGet6.default)(_fields, this).get(field)) === null || _classPrivateFieldGet5 === void 0 ? void 0 : _classPrivateFieldGet5.detail : field;
132
- if (!fieldDetail) return;
143
+ var _fieldObj$detail;
144
+ let fieldDetail;
145
+ let fieldObj;
146
+ if (typeof field === "string") {
147
+ var _fieldObj;
148
+ fieldObj = (0, _classPrivateFieldGet4.default)(_fields, this).get(field);
149
+ fieldDetail = (_fieldObj = fieldObj) === null || _fieldObj === void 0 ? void 0 : _fieldObj.detail;
150
+ } else {
151
+ fieldDetail = field;
152
+ fieldObj = (0, _classPrivateFieldGet4.default)(_fields, this).get(fieldDetail.name);
153
+ }
154
+ if (!fieldDetail || fieldObj && (_fieldObj$detail = fieldObj.detail) !== null && _fieldObj$detail !== void 0 && _fieldObj$detail.notRender) return;
133
155
  const {
134
156
  name,
135
157
  label,
136
158
  validate
137
159
  } = fieldDetail;
138
- const validateValue = (0, _classPrivateFieldGet6.default)(_formData, this)[name];
160
+ const validateValue = (0, _lodash.get)((0, _classPrivateFieldGet4.default)(_formData, this), name);
139
161
  const messageBody = (message, type = "error") => {
140
162
  return {
141
163
  type,
@@ -160,31 +182,33 @@ class FormStore extends _PubSub.PubSub {
160
182
  }
161
183
  return messageBody("", "normal");
162
184
  }
163
- const stringValue = String(value);
164
- if (pattern) {
185
+ if (typeof value === "string" && pattern) {
165
186
  const reg = new RegExp(pattern);
166
- if (!reg.test(stringValue)) {
187
+ if (!reg.test(value)) {
167
188
  return messageBody((message === null || message === void 0 ? void 0 : message.pattern) || `${label}没有匹配正则 ${pattern}`);
168
189
  }
169
190
  }
170
191
  const checkMin = typeof min === "number";
171
192
  const checkMax = typeof max === "number";
172
- if (checkMin || checkMax) {
173
- if (type === "number") {
193
+ if (type === "number") {
194
+ if (typeof value === "number" || typeof value === "string") {
174
195
  const numberValue = typeof value === "number" ? value : parseFloat(value);
196
+ if (isNaN(numberValue)) {
197
+ return messageBody(`${label}必须是数字`);
198
+ }
175
199
  if (checkMin && numberValue < min) {
176
200
  return messageBody((message === null || message === void 0 ? void 0 : message.min) || `${label}不能小于 ${min}`);
177
201
  }
178
202
  if (checkMax && numberValue > max) {
179
203
  return messageBody((message === null || message === void 0 ? void 0 : message.max) || `${label}不能大于 ${max}`);
180
204
  }
181
- } else {
182
- if (checkMin && stringValue.length < min) {
183
- return messageBody((message === null || message === void 0 ? void 0 : message.min) || `${label}至少包含 ${min} 个字符`);
184
- }
185
- if (checkMax && stringValue.length > max) {
186
- return messageBody((message === null || message === void 0 ? void 0 : message.max) || `${label}不能超过 ${max} 个字符`);
187
- }
205
+ }
206
+ } else if (typeof value === "string") {
207
+ if (checkMin && value.length < min) {
208
+ return messageBody((message === null || message === void 0 ? void 0 : message.min) || `${label}至少包含 ${min} 个字符`);
209
+ }
210
+ if (checkMax && value.length > max) {
211
+ return messageBody((message === null || message === void 0 ? void 0 : message.max) || `${label}不能超过 ${max} 个字符`);
188
212
  }
189
213
  }
190
214
  if (validator) {
@@ -226,7 +250,7 @@ class FormStore extends _PubSub.PubSub {
226
250
  this.publish(`${name}.scroll.to`, null);
227
251
  }
228
252
  onWatch(name, event, callback, options) {
229
- const field = (0, _classPrivateFieldGet6.default)(_fields, this).get(name);
253
+ const field = (0, _classPrivateFieldGet4.default)(_fields, this).get(name);
230
254
  if (field) {
231
255
  const value = this.getValueFromEvent(event);
232
256
  // default first params is value
@@ -241,7 +265,7 @@ class FormStore extends _PubSub.PubSub {
241
265
  }
242
266
  }
243
267
  onChange(name, value, callback, options) {
244
- const field = (0, _classPrivateFieldGet6.default)(_fields, this).get(name);
268
+ const field = (0, _classPrivateFieldGet4.default)(_fields, this).get(name);
245
269
  if (field) {
246
270
  this.setFieldsValue({
247
271
  [name]: value
@@ -255,9 +279,9 @@ class FormStore extends _PubSub.PubSub {
255
279
  }
256
280
  exports.FormStore = FormStore;
257
281
  function _getAllFields() {
258
- return [...(0, _classPrivateFieldGet6.default)(_fields, this).keys()].filter(key => {
282
+ return [...(0, _classPrivateFieldGet4.default)(_fields, this).keys()].filter(key => {
259
283
  var _detail;
260
- return !((_detail = (0, _classPrivateFieldGet6.default)(_fields, this).get(key).detail) !== null && _detail !== void 0 && _detail.notRender);
284
+ return !((_detail = (0, _classPrivateFieldGet4.default)(_fields, this).get(key).detail) !== null && _detail !== void 0 && _detail.notRender);
261
285
  });
262
286
  }
263
287
  (0, _defineProperty2.default)(FormStore, "uid", void 0);
@@ -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","stringValue","String","reg","RegExp","test","checkMin","checkMax","numberValue","parseFloat","parsedValidator","Array","isArray","getValueFromEvent","e","target","checked","scrollToField","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 type?: 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 = (\n validate: Validate,\n value: string | number | null | undefined\n ): MessageBody => {\n const { required, pattern, message, type, min, max, validator } =\n validate;\n const label = getName();\n\n if (\n typeof value === \"object\"\n ? isEmpty(value)\n : value === undefined || value === \"\"\n ) {\n if (required) {\n return messageBody(message?.required || `${label}为必填项`);\n }\n return messageBody(\"\", \"normal\");\n }\n\n const stringValue = String(value);\n\n if (pattern) {\n const reg = new RegExp(pattern);\n if (!reg.test(stringValue)) {\n return messageBody(\n message?.pattern || `${label}没有匹配正则 ${pattern}`\n );\n }\n }\n\n const checkMin = typeof min === \"number\";\n const checkMax = typeof max === \"number\";\n if (checkMin || checkMax) {\n if (type === \"number\") {\n const numberValue =\n typeof value === \"number\" ? value : parseFloat(value as string);\n if (checkMin && numberValue < min) {\n return messageBody(message?.min || `${label}不能小于 ${min}`);\n }\n if (checkMax && numberValue > max) {\n return messageBody(message?.max || `${label}不能大于 ${max}`);\n }\n } else {\n if (checkMin && stringValue.length < min) {\n return messageBody(\n message?.min || `${label}至少包含 ${min} 个字符`\n );\n }\n if (checkMax && stringValue.length > max) {\n return messageBody(\n message?.max || `${label}不能超过 ${max} 个字符`\n );\n }\n }\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 = { name, ...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 scrollToField(name: string) {\n this.publish(`${name}.scroll.to`, 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","_classPrivateFieldGet4","setFieldsValueByInitData","getAllValues","allFields","_assertClassBrand2","_getAllFields","call","formData","forEach","fieldName","value","setInitValue","values","isEmitValuseChange","setFieldsValue","_field$detail","notRender","has","publish","newFormData","cloneDeep","changedValues","key","_field$detail2","v","_classPrivateFieldGet2","_classPrivateFieldGet3","onValuesChanged","allValues","resetFields","unset","resetValidateState","getFieldsValue","_field$detail3","undefined","removeField","delete","validateFields","callback","results","push","validateField","some","result","type","filter","_fieldObj$detail","fieldDetail","fieldObj","_fieldObj","label","validate","validateValue","messageBody","message","getName","valid","required","pattern","min","max","validator","isEmpty","reg","RegExp","test","checkMin","checkMax","numberValue","parseFloat","isNaN","length","parsedValidator","Array","isArray","getValueFromEvent","e","target","checked","scrollToField","onWatch","event","realValue","needValidate","apply","onChange","exports","keys","_detail","_defineProperty2"],"sources":["../../src/FormStore.ts"],"sourcesContent":["import { isEmpty, get, has, set, unset, cloneDeep } 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 type?: 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 this.setFieldsValueByInitData(name);\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: Record<string, unknown> = {};\n\n allFields.forEach((fieldName) => {\n const value = get(this.#formData, fieldName);\n set(formData, fieldName, value);\n });\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 field = this.#fields.get(name);\n if (field && !field.detail?.notRender && has(this.#initData, name)) {\n const value = get(this.#initData, name);\n set(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 = cloneDeep(this.#formData);\n const changedValues: Record<string, unknown> = {};\n\n this.#fields.forEach((field, key) => {\n if (!field.detail?.notRender && has(values, key)) {\n const v = get(values, key);\n set(newFormData, key, v);\n if (this.#initData) {\n set(this.#initData, key, v);\n }\n this.publish(`${key}.init.value`, v);\n set(changedValues, key, v);\n }\n });\n\n this.#formData = newFormData;\n\n if (isEmitValuseChange) {\n this.#options?.onValuesChanged?.({\n changedValues,\n allValues: this.getAllValues(),\n });\n }\n }\n\n resetFields(name?: string) {\n if (name) {\n unset(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 const field = this.#fields.get(name);\n if (field && !field.detail?.notRender) {\n return get(this.#formData, name);\n }\n return undefined;\n }\n return this.getAllValues();\n }\n\n removeField(name: string) {\n unset(this.#formData, name);\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 let fieldDetail;\n let fieldObj;\n\n if (typeof field === \"string\") {\n fieldObj = this.#fields.get(field);\n fieldDetail = fieldObj?.detail;\n } else {\n fieldDetail = field;\n fieldObj = this.#fields.get(fieldDetail.name);\n }\n\n if (!fieldDetail || (fieldObj && fieldObj.detail?.notRender)) return;\n\n const { name, label, validate } = fieldDetail;\n const validateValue = get(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: unknown): MessageBody => {\n const { required, pattern, message, type, min, max, validator } =\n validate;\n const label = getName();\n\n if (\n typeof value === \"object\"\n ? isEmpty(value)\n : value === undefined || value === \"\"\n ) {\n if (required) {\n return messageBody(message?.required || `${label}为必填项`);\n }\n return messageBody(\"\", \"normal\");\n }\n\n if (typeof value === \"string\" && pattern) {\n const reg = new RegExp(pattern);\n if (!reg.test(value)) {\n return messageBody(\n message?.pattern || `${label}没有匹配正则 ${pattern}`\n );\n }\n }\n\n const checkMin = typeof min === \"number\";\n const checkMax = typeof max === \"number\";\n\n if (type === \"number\") {\n if (typeof value === \"number\" || typeof value === \"string\") {\n const numberValue =\n typeof value === \"number\" ? value : parseFloat(value);\n if (isNaN(numberValue)) {\n return messageBody(`${label}必须是数字`);\n }\n if (checkMin && numberValue < min) {\n return messageBody(message?.min || `${label}不能小于 ${min}`);\n }\n if (checkMax && numberValue > max) {\n return messageBody(message?.max || `${label}不能大于 ${max}`);\n }\n }\n } else if (typeof value === \"string\") {\n if (checkMin && value.length < min) {\n return messageBody(message?.min || `${label}至少包含 ${min} 个字符`);\n }\n if (checkMax && value.length > max) {\n return messageBody(message?.max || `${label}不能超过 ${max} 个字符`);\n }\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 = { name, ...valid(validate, validateValue) };\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 scrollToField(name: string) {\n this.publish(`${name}.scroll.to`, 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,7 +1,4 @@
1
- import _classPrivateMethodInitSpec from "@babel/runtime/helpers/classPrivateMethodInitSpec";
2
1
  import _classPrivateFieldInitSpec from "@babel/runtime/helpers/classPrivateFieldInitSpec";
3
- import _classPrivateGetter from "@babel/runtime/helpers/classPrivateGetter";
4
- import _classPrivateSetter from "@babel/runtime/helpers/classPrivateSetter";
5
2
  import _classPrivateFieldSet from "@babel/runtime/helpers/classPrivateFieldSet2";
6
3
  import _classPrivateFieldGet from "@babel/runtime/helpers/classPrivateFieldGet2";
7
4
  import _applyDecs from "@babel/runtime/helpers/applyDecs2311";
@@ -14,7 +11,6 @@ const {
14
11
  property
15
12
  } = createDecorators();
16
13
  var _A = /*#__PURE__*/new WeakMap();
17
- var _FormItemElementBase_brand = /*#__PURE__*/new WeakSet();
18
14
  var _B = /*#__PURE__*/new WeakMap();
19
15
  var _C = /*#__PURE__*/new WeakMap();
20
16
  var _D = /*#__PURE__*/new WeakMap();
@@ -24,7 +20,6 @@ var _G = /*#__PURE__*/new WeakMap();
24
20
  export class FormItemElementBase extends ReactNextElement {
25
21
  constructor() {
26
22
  super(...arguments);
27
- _classPrivateMethodInitSpec(this, _FormItemElementBase_brand);
28
23
  _classPrivateFieldInitSpec(this, _A, (_initProto(this), false));
29
24
  _classPrivateFieldInitSpec(this, _B, "normal");
30
25
  _classPrivateFieldInitSpec(this, _C, false);
@@ -34,15 +29,33 @@ export class FormItemElementBase extends ReactNextElement {
34
29
  _classPrivateFieldInitSpec(this, _G, (_init_extra_labelCol(this), _init_wrapperCol(this)));
35
30
  _init_extra_wrapperCol(this);
36
31
  }
32
+ get _notRender() {
33
+ return _classPrivateFieldGet(_A, this);
34
+ }
35
+ set _notRender(v) {
36
+ _classPrivateFieldSet(_A, this, v);
37
+ }
38
+ get validate() {
39
+ return _classPrivateFieldGet(_B, this);
40
+ }
41
+ set validate(v) {
42
+ _classPrivateFieldSet(_B, this, v);
43
+ }
44
+ get bindFormItem() {
45
+ return _classPrivateFieldGet(_C, this);
46
+ }
47
+ set bindFormItem(v) {
48
+ _classPrivateFieldSet(_C, this, v);
49
+ }
37
50
  get isFormItemElement() {
38
51
  return true;
39
52
  }
40
53
  set validateState(value) {
41
- _classPrivateSetter(_FormItemElementBase_brand, _set_validate, this, value);
54
+ this.validate = value;
42
55
  this._render();
43
56
  }
44
57
  get validateState() {
45
- return _classPrivateGetter(_FormItemElementBase_brand, this, _get_validate);
58
+ return this.validate;
46
59
  }
47
60
 
48
61
  /**
@@ -52,17 +65,17 @@ export class FormItemElementBase extends ReactNextElement {
52
65
  */
53
66
  set notRender(value) {
54
67
  this.hidden = value;
55
- _classPrivateSetter(_FormItemElementBase_brand, _set__notRender, this, value);
68
+ this._notRender = value;
56
69
  this._render();
57
70
  }
58
71
  get notRender() {
59
- return _classPrivateGetter(_FormItemElementBase_brand, this, _get__notRender);
72
+ return this._notRender;
60
73
  }
61
74
  get $bindFormItem() {
62
- return _classPrivateGetter(_FormItemElementBase_brand, this, _get_bindFormItem);
75
+ return this.bindFormItem;
63
76
  }
64
77
  set $bindFormItem(value) {
65
- _classPrivateSetter(_FormItemElementBase_brand, _set_bindFormItem, this, value);
78
+ this.bindFormItem = value;
66
79
  this._render();
67
80
  }
68
81
  get helpBrick() {
@@ -104,24 +117,6 @@ export class FormItemElementBase extends ReactNextElement {
104
117
  }
105
118
  }
106
119
  _FormItemElementBase = FormItemElementBase;
107
- function _get__notRender(_this) {
108
- return _classPrivateFieldGet(_A, _this);
109
- }
110
- function _set__notRender(_this2, v) {
111
- _classPrivateFieldSet(_A, _this2, v);
112
- }
113
- function _get_validate(_this3) {
114
- return _classPrivateFieldGet(_B, _this3);
115
- }
116
- function _set_validate(_this4, v) {
117
- _classPrivateFieldSet(_B, _this4, v);
118
- }
119
- function _get_bindFormItem(_this5) {
120
- return _classPrivateFieldGet(_C, _this5);
121
- }
122
- function _set_bindFormItem(_this6, v) {
123
- _classPrivateFieldSet(_C, _this6, v);
124
- }
125
120
  [_init_helpBrick, _init_extra_helpBrick, _init_labelBrick, _init_extra_labelBrick, _init_labelCol, _init_extra_labelCol, _init_wrapperCol, _init_extra_wrapperCol, _initProto] = _applyDecs(_FormItemElementBase, [], [[property({
126
121
  attribute: false
127
122
  }), 1, "helpBrick"], [property({
@@ -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":"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","ignoreList":[]}
1
+ {"version":3,"file":"FormItemElement.js","names":["createDecorators","ReactNextElement","method","property","_A","WeakMap","_B","_C","_D","_E","_F","_G","FormItemElementBase","constructor","arguments","_classPrivateFieldInitSpec","_initProto","_init_helpBrick","_init_extra_helpBrick","_init_labelBrick","_init_extra_labelBrick","_init_labelCol","_init_extra_labelCol","_init_wrapperCol","_init_extra_wrapperCol","_notRender","_classPrivateFieldGet","v","_classPrivateFieldSet","validate","bindFormItem","isFormItemElement","validateState","value","_render","notRender","hidden","$bindFormItem","helpBrick","labelBrick","labelCol","wrapperCol","setNotRender","getFormElement","element","parentNode","isFormElement","_FormItemElementBase","_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 private accessor _notRender = false;\n private accessor validate = \"normal\";\n private 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":[]}
@@ -4,7 +4,7 @@ import _assertClassBrand from "@babel/runtime/helpers/assertClassBrand";
4
4
  import _classPrivateFieldGet from "@babel/runtime/helpers/classPrivateFieldGet2";
5
5
  import _classPrivateFieldSet from "@babel/runtime/helpers/classPrivateFieldSet2";
6
6
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
7
- import { isEmpty, isNil } from "lodash";
7
+ import { isEmpty, get, has, set, unset, cloneDeep } from "lodash";
8
8
  import { PubSub } from "./PubSub.js";
9
9
  let uid = 0;
10
10
  class Field {
@@ -41,16 +41,15 @@ export class FormStore extends PubSub {
41
41
  }
42
42
  setField(name, detail) {
43
43
  _classPrivateFieldGet(_fields, this).set(name, new Field(name, detail));
44
+ this.setFieldsValueByInitData(name);
44
45
  }
45
46
  getAllValues() {
46
47
  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;
49
- if (allFields.includes(k)) {
50
- return [k, v];
51
- }
52
- return [];
53
- }).filter(item => item.length));
48
+ const formData = {};
49
+ allFields.forEach(fieldName => {
50
+ const value = get(_classPrivateFieldGet(_formData, this), fieldName);
51
+ set(formData, fieldName, value);
52
+ });
54
53
  return formData;
55
54
  }
56
55
  setInitValue(values) {
@@ -59,36 +58,42 @@ export class FormStore extends PubSub {
59
58
  this.setFieldsValue(values, isEmitValuseChange);
60
59
  }
61
60
  setFieldsValueByInitData(name) {
62
- var _classPrivateFieldGet2;
63
- const value = (_classPrivateFieldGet2 = _classPrivateFieldGet(_initData, this)) === null || _classPrivateFieldGet2 === void 0 ? void 0 : _classPrivateFieldGet2[name];
64
- if (!isNil(value)) {
65
- _classPrivateFieldGet(_formData, this)[name] = value;
61
+ var _field$detail;
62
+ const field = _classPrivateFieldGet(_fields, this).get(name);
63
+ if (field && !((_field$detail = field.detail) !== null && _field$detail !== void 0 && _field$detail.notRender) && has(_classPrivateFieldGet(_initData, this), name)) {
64
+ const value = get(_classPrivateFieldGet(_initData, this), name);
65
+ set(_classPrivateFieldGet(_formData, this), name, value);
66
66
  this.publish(`${name}.init.value`, value);
67
67
  }
68
68
  }
69
69
  setFieldsValue(values) {
70
70
  let isEmitValuseChange = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
71
- const newFormData = {
72
- ..._classPrivateFieldGet(_formData, this)
73
- };
74
- Object.entries(values).forEach(_ref2 => {
75
- let [k, v] = _ref2;
76
- newFormData[k] = v;
77
- _classPrivateFieldGet(_initData, this) && (_classPrivateFieldGet(_initData, this)[k] = v);
78
- this.publish(`${k}.init.value`, v);
71
+ const newFormData = cloneDeep(_classPrivateFieldGet(_formData, this));
72
+ const changedValues = {};
73
+ _classPrivateFieldGet(_fields, this).forEach((field, key) => {
74
+ var _field$detail2;
75
+ if (!((_field$detail2 = field.detail) !== null && _field$detail2 !== void 0 && _field$detail2.notRender) && has(values, key)) {
76
+ const v = get(values, key);
77
+ set(newFormData, key, v);
78
+ if (_classPrivateFieldGet(_initData, this)) {
79
+ set(_classPrivateFieldGet(_initData, this), key, v);
80
+ }
81
+ this.publish(`${key}.init.value`, v);
82
+ set(changedValues, key, v);
83
+ }
79
84
  });
80
85
  _classPrivateFieldSet(_formData, this, newFormData);
81
86
  if (isEmitValuseChange) {
82
- var _classPrivateFieldGet3, _classPrivateFieldGet4;
83
- (_classPrivateFieldGet3 = _classPrivateFieldGet(_options, this)) === null || _classPrivateFieldGet3 === void 0 || (_classPrivateFieldGet4 = _classPrivateFieldGet3.onValuesChanged) === null || _classPrivateFieldGet4 === void 0 || _classPrivateFieldGet4.call(_classPrivateFieldGet3, {
84
- changedValues: values,
87
+ var _classPrivateFieldGet2, _classPrivateFieldGet3;
88
+ (_classPrivateFieldGet2 = _classPrivateFieldGet(_options, this)) === null || _classPrivateFieldGet2 === void 0 || (_classPrivateFieldGet3 = _classPrivateFieldGet2.onValuesChanged) === null || _classPrivateFieldGet3 === void 0 || _classPrivateFieldGet3.call(_classPrivateFieldGet2, {
89
+ changedValues,
85
90
  allValues: this.getAllValues()
86
91
  });
87
92
  }
88
93
  }
89
94
  resetFields(name) {
90
95
  if (name) {
91
- delete _classPrivateFieldGet(_formData, this)[name];
96
+ unset(_classPrivateFieldGet(_formData, this), name);
92
97
  this.publish(`${name}.reset.fields`, null);
93
98
  } else {
94
99
  _classPrivateFieldSet(_formData, this, {});
@@ -98,11 +103,17 @@ export class FormStore extends PubSub {
98
103
  }
99
104
  getFieldsValue(name) {
100
105
  if (name) {
101
- return _classPrivateFieldGet(_formData, this)[name];
106
+ var _field$detail3;
107
+ const field = _classPrivateFieldGet(_fields, this).get(name);
108
+ if (field && !((_field$detail3 = field.detail) !== null && _field$detail3 !== void 0 && _field$detail3.notRender)) {
109
+ return get(_classPrivateFieldGet(_formData, this), name);
110
+ }
111
+ return undefined;
102
112
  }
103
113
  return this.getAllValues();
104
114
  }
105
115
  removeField(name) {
116
+ unset(_classPrivateFieldGet(_formData, this), name);
106
117
  _classPrivateFieldGet(_fields, this).delete(name);
107
118
  }
108
119
  validateFields(callback) {
@@ -124,15 +135,24 @@ export class FormStore extends PubSub {
124
135
  }
125
136
  }
126
137
  validateField(field) {
127
- var _classPrivateFieldGet5;
128
- const fieldDetail = typeof field === "string" ? (_classPrivateFieldGet5 = _classPrivateFieldGet(_fields, this).get(field)) === null || _classPrivateFieldGet5 === void 0 ? void 0 : _classPrivateFieldGet5.detail : field;
129
- if (!fieldDetail) return;
138
+ var _fieldObj$detail;
139
+ let fieldDetail;
140
+ let fieldObj;
141
+ if (typeof field === "string") {
142
+ var _fieldObj;
143
+ fieldObj = _classPrivateFieldGet(_fields, this).get(field);
144
+ fieldDetail = (_fieldObj = fieldObj) === null || _fieldObj === void 0 ? void 0 : _fieldObj.detail;
145
+ } else {
146
+ fieldDetail = field;
147
+ fieldObj = _classPrivateFieldGet(_fields, this).get(fieldDetail.name);
148
+ }
149
+ if (!fieldDetail || fieldObj && (_fieldObj$detail = fieldObj.detail) !== null && _fieldObj$detail !== void 0 && _fieldObj$detail.notRender) return;
130
150
  const {
131
151
  name,
132
152
  label,
133
153
  validate
134
154
  } = fieldDetail;
135
- const validateValue = _classPrivateFieldGet(_formData, this)[name];
155
+ const validateValue = get(_classPrivateFieldGet(_formData, this), name);
136
156
  const messageBody = function (message) {
137
157
  let type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "error";
138
158
  return {
@@ -158,31 +178,33 @@ export class FormStore extends PubSub {
158
178
  }
159
179
  return messageBody("", "normal");
160
180
  }
161
- const stringValue = String(value);
162
- if (pattern) {
181
+ if (typeof value === "string" && pattern) {
163
182
  const reg = new RegExp(pattern);
164
- if (!reg.test(stringValue)) {
183
+ if (!reg.test(value)) {
165
184
  return messageBody((message === null || message === void 0 ? void 0 : message.pattern) || `${label}没有匹配正则 ${pattern}`);
166
185
  }
167
186
  }
168
187
  const checkMin = typeof min === "number";
169
188
  const checkMax = typeof max === "number";
170
- if (checkMin || checkMax) {
171
- if (type === "number") {
189
+ if (type === "number") {
190
+ if (typeof value === "number" || typeof value === "string") {
172
191
  const numberValue = typeof value === "number" ? value : parseFloat(value);
192
+ if (isNaN(numberValue)) {
193
+ return messageBody(`${label}必须是数字`);
194
+ }
173
195
  if (checkMin && numberValue < min) {
174
196
  return messageBody((message === null || message === void 0 ? void 0 : message.min) || `${label}不能小于 ${min}`);
175
197
  }
176
198
  if (checkMax && numberValue > max) {
177
199
  return messageBody((message === null || message === void 0 ? void 0 : message.max) || `${label}不能大于 ${max}`);
178
200
  }
179
- } else {
180
- if (checkMin && stringValue.length < min) {
181
- return messageBody((message === null || message === void 0 ? void 0 : message.min) || `${label}至少包含 ${min} 个字符`);
182
- }
183
- if (checkMax && stringValue.length > max) {
184
- return messageBody((message === null || message === void 0 ? void 0 : message.max) || `${label}不能超过 ${max} 个字符`);
185
- }
201
+ }
202
+ } else if (typeof value === "string") {
203
+ if (checkMin && value.length < min) {
204
+ return messageBody((message === null || message === void 0 ? void 0 : message.min) || `${label}至少包含 ${min} 个字符`);
205
+ }
206
+ if (checkMax && value.length > max) {
207
+ return messageBody((message === null || message === void 0 ? void 0 : message.max) || `${label}不能超过 ${max} 个字符`);
186
208
  }
187
209
  }
188
210
  if (validator) {
@@ -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","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","stringValue","String","reg","RegExp","test","checkMin","checkMax","numberValue","parseFloat","parsedValidator","Array","isArray","getValueFromEvent","e","target","checked","scrollToField","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 type?: 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 = (\n validate: Validate,\n value: string | number | null | undefined\n ): MessageBody => {\n const { required, pattern, message, type, min, max, validator } =\n validate;\n const label = getName();\n\n if (\n typeof value === \"object\"\n ? isEmpty(value)\n : value === undefined || value === \"\"\n ) {\n if (required) {\n return messageBody(message?.required || `${label}为必填项`);\n }\n return messageBody(\"\", \"normal\");\n }\n\n const stringValue = String(value);\n\n if (pattern) {\n const reg = new RegExp(pattern);\n if (!reg.test(stringValue)) {\n return messageBody(\n message?.pattern || `${label}没有匹配正则 ${pattern}`\n );\n }\n }\n\n const checkMin = typeof min === \"number\";\n const checkMax = typeof max === \"number\";\n if (checkMin || checkMax) {\n if (type === \"number\") {\n const numberValue =\n typeof value === \"number\" ? value : parseFloat(value as string);\n if (checkMin && numberValue < min) {\n return messageBody(message?.min || `${label}不能小于 ${min}`);\n }\n if (checkMax && numberValue > max) {\n return messageBody(message?.max || `${label}不能大于 ${max}`);\n }\n } else {\n if (checkMin && stringValue.length < min) {\n return messageBody(\n message?.min || `${label}至少包含 ${min} 个字符`\n );\n }\n if (checkMax && stringValue.length > max) {\n return messageBody(\n message?.max || `${label}不能超过 ${max} 个字符`\n );\n }\n }\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 = { name, ...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 scrollToField(name: string) {\n this.publish(`${name}.scroll.to`, 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,SAASA,OAAO,EAAEC,KAAK,QAAQ,QAAQ;AACvC,SAASC,MAAM,QAAQ,aAAa;AAuCpC,IAAIC,GAAG,GAAG,CAAC;AAEX,MAAMC,KAAK,CAAC;EAGVC,WAAWA,CAACC,IAAY,EAAEC,MAAmB,EAAE;IAAAC,eAAA;IAAAA,eAAA;IAC7C,IAAI,CAACC,KAAK,GAAGH,IAAI;IACjB,IAAI,CAACC,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,gBAAA,oBAAAC,OAAA;AAED,OAAO,MAAMC,SAAS,SAASf,MAAM,CAAC;EAGpC,OAAOgB,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,IAAIc,SAAS,CAACE,OAAO,CAAC,CAAC;MACnDhB,GAAG,IAAI,CAAC;IACV;IACA,OAAO,IAAI,CAACiB,QAAQ,CAACC,GAAG,CAAC,IAAI,CAAClB,GAAG,CAAC;EACpC;EAOAE,WAAWA,CAACc,OAA0B,EAAE;IACtC,KAAK,CAAC,CAAC;IAACI,2BAAA,OAAAR,gBAAA;IANVS,0BAAA,OAAAd,OAAO,EAAuB,IAAIe,GAAG,CAAC,CAAC;IACvCD,0BAAA,OAAAZ,QAAQ;IACRY,0BAAA,OAAAX,SAAS;IACTW,0BAAA,OAAAV,SAAS;IAIPY,qBAAA,CAAKb,SAAS,EAAd,IAAI,EAAa,CAAC,CAAL,CAAC;IACda,qBAAA,CAAKd,QAAQ,EAAb,IAAI,EAAYO,OAAJ,CAAC;EACf;EAEAQ,QAAQA,CAACrB,IAAY,EAAEC,MAAmB,EAAE;IAC1CqB,qBAAA,CAAKlB,OAAO,EAAZ,IAAW,CAAC,CAACY,GAAG,CAAChB,IAAI,EAAE,IAAIF,KAAK,CAACE,IAAI,EAAEC,MAAM,CAAC,CAAC;EACjD;EAOAsB,YAAYA,CAAA,EAAG;IACb,MAAMC,SAAS,GAAGC,iBAAA,CAAAhB,gBAAA,MAAI,EAACiB,aAAY,CAAC,CAAAC,IAAA,CAAlB,IAAI,CAAgB;IACtC,MAAMC,QAAQ,GAAGC,MAAM,CAACC,WAAW,CACjCD,MAAM,CAACE,OAAO,CAACT,qBAAA,CAAKf,SAAS,EAAd,IAAa,CAAC,CAAC,CAC3ByB,GAAG,CAACC,IAAA,IAAY;MAAA,IAAX,CAACC,CAAC,EAAEC,CAAC,CAAC,GAAAF,IAAA;MACV,IAAIT,SAAS,CAACY,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,OAAOX,QAAQ;EACjB;EAEAY,YAAYA,CAACC,MAA+B,EAA6B;IAAA,IAA3BC,kBAAkB,GAAAC,SAAA,CAAAJ,MAAA,QAAAI,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,IAAI;IACrEvB,qBAAA,CAAKZ,SAAS,EAAd,IAAI,EAAaiC,MAAJ,CAAC;IACd,IAAI,CAACI,cAAc,CAACJ,MAAM,EAAEC,kBAAkB,CAAC;EACjD;EAEAI,wBAAwBA,CAAC9C,IAAY,EAAE;IAAA,IAAA+C,sBAAA;IACrC,MAAMC,KAAK,IAAAD,sBAAA,GAAGzB,qBAAA,CAAKd,SAAS,EAAd,IAAa,CAAC,cAAAuC,sBAAA,uBAAdA,sBAAA,CAAiB/C,IAAI,CAAC;IACpC,IAAI,CAACL,KAAK,CAACqD,KAAK,CAAC,EAAE;MACjB1B,qBAAA,CAAKf,SAAS,EAAd,IAAa,CAAC,CAACP,IAAI,CAAC,GAAGgD,KAAK;MAC5B,IAAI,CAACC,OAAO,CAAC,GAAGjD,IAAI,aAAa,EAAEgD,KAAK,CAAC;IAC3C;EACF;EAEAH,cAAcA,CAACJ,MAA+B,EAA6B;IAAA,IAA3BC,kBAAkB,GAAAC,SAAA,CAAAJ,MAAA,QAAAI,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,IAAI;IACvE,MAAMO,WAAoC,GAAG;MAC3C,GAAG5B,qBAAA,CAAKf,SAAS,EAAd,IAAa;IAClB,CAAC;IACDsB,MAAM,CAACE,OAAO,CAACU,MAAM,CAAC,CAACU,OAAO,CAACC,KAAA,IAAY;MAAA,IAAX,CAAClB,CAAC,EAAEC,CAAC,CAAC,GAAAiB,KAAA;MACpCF,WAAW,CAAChB,CAAC,CAAC,GAAGC,CAAC;MAClBb,qBAAA,CAAKd,SAAS,EAAd,IAAa,CAAC,KAAKc,qBAAA,CAAKd,SAAS,EAAd,IAAa,CAAC,CAAC0B,CAAC,CAAC,GAAGC,CAAC,CAAC;MACzC,IAAI,CAACc,OAAO,CAAC,GAAGf,CAAC,aAAa,EAAEC,CAAC,CAAC;IACpC,CAAC,CAAC;IACFf,qBAAA,CAAKb,SAAS,EAAd,IAAI,EAAa2C,WAAJ,CAAC;IAEd,IAAIR,kBAAkB,EAAE;MAAA,IAAAW,sBAAA,EAAAC,sBAAA;MACtB,CAAAD,sBAAA,GAAA/B,qBAAA,CAAKhB,QAAQ,EAAb,IAAY,CAAC,cAAA+C,sBAAA,gBAAAC,sBAAA,GAAbD,sBAAA,CAAeE,eAAe,cAAAD,sBAAA,eAA9BA,sBAAA,CAAA3B,IAAA,CAAA0B,sBAAA,EAAiC;QAC/BG,aAAa,EAAEf,MAAM;QACrBgB,SAAS,EAAE,IAAI,CAAClC,YAAY,CAAC;MAC/B,CAAC,CAAC;IACJ;EACF;EAEAmC,WAAWA,CAAC1D,IAAa,EAAE;IACzB,IAAIA,IAAI,EAAE;MACR,OAAOsB,qBAAA,CAAKf,SAAS,EAAd,IAAa,CAAC,CAACP,IAAI,CAAC;MAC3B,IAAI,CAACiD,OAAO,CAAC,GAAGjD,IAAI,eAAe,EAAE,IAAI,CAAC;IAC5C,CAAC,MAAM;MACLoB,qBAAA,CAAKb,SAAS,EAAd,IAAI,EAAa,CAAC,CAAL,CAAC;MACd,IAAI,CAAC0C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;IACpC;IACA,IAAI,CAACU,kBAAkB,CAAC,CAAC;EAC3B;EAEAC,cAAcA,CAAC5D,IAAa,EAAE;IAC5B,IAAIA,IAAI,EAAE;MACR,OAAOsB,qBAAA,CAAKf,SAAS,EAAd,IAAa,CAAC,CAACP,IAAI,CAAC;IAC7B;IACA,OAAO,IAAI,CAACuB,YAAY,CAAC,CAAC;EAC5B;EAEAsC,WAAWA,CAAC7D,IAAY,EAAE;IACxBsB,qBAAA,CAAKlB,OAAO,EAAZ,IAAW,CAAC,CAAC0D,MAAM,CAAC9D,IAAI,CAAC;EAC3B;EAEA+D,cAAcA,CACZC,QAA4C,EACT;IACnC,MAAMxC,SAAS,GAAGC,iBAAA,CAAAhB,gBAAA,MAAI,EAACiB,aAAY,CAAC,CAAAC,IAAA,CAAlB,IAAI,CAAgB;IACtC,MAAMsC,OAAuC,GAAG,EAAE;IAClDzC,SAAS,CAAC2B,OAAO,CAAEnD,IAAI,IAAK;MAC1B,MAAMG,KAAK,GAAGmB,qBAAA,CAAKlB,OAAO,EAAZ,IAAW,CAAC,CAACW,GAAG,CAACf,IAAI,CAAC;MACpC,IAAIG,KAAK,EAAE;QACT8D,OAAO,CAACC,IAAI,CAAC,IAAI,CAACC,aAAa,CAAChE,KAAK,CAACF,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,CAAC5B,MAAM,CAAEgC,MAAM,IAAK,CAAAA,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEC,IAAI,MAAK,QAAQ,CACtD,CAAC;MACD,OAAO,KAAK;IACd,CAAC,MAAM;MACL,MAAM1C,QAAQ,GAAG,IAAI,CAACL,YAAY,CAAC,CAAC;MACpCyC,QAAQ,CAAC,KAAK,EAAEpC,QAAQ,CAAC;MACzB,OAAOA,QAAQ;IACjB;EACF;EAEAuC,aAAaA,CAAChE,KAA2B,EAAE;IAAA,IAAAoE,sBAAA;IACzC,MAAMC,WAAW,GACf,OAAOrE,KAAK,KAAK,QAAQ,IAAAoE,sBAAA,GAAGjD,qBAAA,CAAKlB,OAAO,EAAZ,IAAW,CAAC,CAACW,GAAG,CAACZ,KAAK,CAAC,cAAAoE,sBAAA,uBAAvBA,sBAAA,CAAyBtE,MAAM,GAAGE,KAAK;IACrE,IAAI,CAACqE,WAAW,EAAE;IAClB,MAAM;MAAExE,IAAI;MAAEyE,KAAK;MAAEC;IAAS,CAAC,GAAGF,WAAW;IAC7C,MAAMG,aAAa,GAAGrD,qBAAA,CAAKf,SAAS,EAAd,IAAa,CAAC,CAACP,IAAI,CAAC;IAE1C,MAAM4E,WAAW,GAAG,SAAAA,CAACC,OAAe,EAAqB;MAAA,IAAnBP,IAAI,GAAA3B,SAAA,CAAAJ,MAAA,QAAAI,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,OAAO;MAClD,OAAO;QACL2B,IAAI;QACJO;MACF,CAAC;IACH,CAAC;IAED,MAAMC,OAAO,GAAGA,CAAA,KAAML,KAAK,aAALA,KAAK,cAALA,KAAK,GAAIzE,IAAI;IAEnC,MAAM+E,KAAK,GAAGA,CACZL,QAAkB,EAClB1B,KAAyC,KACzB;MAChB,MAAM;QAAEgC,QAAQ;QAAEC,OAAO;QAAEJ,OAAO;QAAEP,IAAI;QAAEY,GAAG;QAAEC,GAAG;QAAEC;MAAU,CAAC,GAC7DV,QAAQ;MACV,MAAMD,KAAK,GAAGK,OAAO,CAAC,CAAC;MAEvB,IACE,OAAO9B,KAAK,KAAK,QAAQ,GACrBtD,OAAO,CAACsD,KAAK,CAAC,GACdA,KAAK,KAAKJ,SAAS,IAAII,KAAK,KAAK,EAAE,EACvC;QACA,IAAIgC,QAAQ,EAAE;UACZ,OAAOJ,WAAW,CAAC,CAAAC,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEG,QAAQ,KAAI,GAAGP,KAAK,MAAM,CAAC;QACzD;QACA,OAAOG,WAAW,CAAC,EAAE,EAAE,QAAQ,CAAC;MAClC;MAEA,MAAMS,WAAW,GAAGC,MAAM,CAACtC,KAAK,CAAC;MAEjC,IAAIiC,OAAO,EAAE;QACX,MAAMM,GAAG,GAAG,IAAIC,MAAM,CAACP,OAAO,CAAC;QAC/B,IAAI,CAACM,GAAG,CAACE,IAAI,CAACJ,WAAW,CAAC,EAAE;UAC1B,OAAOT,WAAW,CAChB,CAAAC,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEI,OAAO,KAAI,GAAGR,KAAK,UAAUQ,OAAO,EAC/C,CAAC;QACH;MACF;MAEA,MAAMS,QAAQ,GAAG,OAAOR,GAAG,KAAK,QAAQ;MACxC,MAAMS,QAAQ,GAAG,OAAOR,GAAG,KAAK,QAAQ;MACxC,IAAIO,QAAQ,IAAIC,QAAQ,EAAE;QACxB,IAAIrB,IAAI,KAAK,QAAQ,EAAE;UACrB,MAAMsB,WAAW,GACf,OAAO5C,KAAK,KAAK,QAAQ,GAAGA,KAAK,GAAG6C,UAAU,CAAC7C,KAAe,CAAC;UACjE,IAAI0C,QAAQ,IAAIE,WAAW,GAAGV,GAAG,EAAE;YACjC,OAAON,WAAW,CAAC,CAAAC,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEK,GAAG,KAAI,GAAGT,KAAK,QAAQS,GAAG,EAAE,CAAC;UAC3D;UACA,IAAIS,QAAQ,IAAIC,WAAW,GAAGT,GAAG,EAAE;YACjC,OAAOP,WAAW,CAAC,CAAAC,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEM,GAAG,KAAI,GAAGV,KAAK,QAAQU,GAAG,EAAE,CAAC;UAC3D;QACF,CAAC,MAAM;UACL,IAAIO,QAAQ,IAAIL,WAAW,CAAC9C,MAAM,GAAG2C,GAAG,EAAE;YACxC,OAAON,WAAW,CAChB,CAAAC,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEK,GAAG,KAAI,GAAGT,KAAK,QAAQS,GAAG,MACrC,CAAC;UACH;UACA,IAAIS,QAAQ,IAAIN,WAAW,CAAC9C,MAAM,GAAG4C,GAAG,EAAE;YACxC,OAAOP,WAAW,CAChB,CAAAC,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEM,GAAG,KAAI,GAAGV,KAAK,QAAQU,GAAG,MACrC,CAAC;UACH;QACF;MACF;MAEA,IAAIC,SAAS,EAAE;QACb,IAAIf,MAAM,GAAG,EAAE;QACf,IAAIyB,eAAe,GAAG,EAAE;QACxB,IAAIC,KAAK,CAACC,OAAO,CAACZ,SAAS,CAAC,EAAE;UAC5BU,eAAe,GAAGV,SAAS;QAC7B,CAAC,MAAM;UACLU,eAAe,CAAC5B,IAAI,CAACkB,SAAS,CAAC;QACjC;QAEA,KAAK,MAAMjD,CAAC,IAAI2D,eAAe,EAAE;UAC/BzB,MAAM,GAAGlC,CAAC,CAACa,KAAK,CAAC;UAEjB,IAAIqB,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,GAAG;MAAErE,IAAI;MAAE,GAAG+E,KAAK,CAACL,QAAQ,EAAEC,aAAuB;IAAE,CAAC;IACpE,IAAI,CAAC1B,OAAO,CAAC,GAAGjD,IAAI,WAAW,EAAEqE,MAAM,CAAC;IACxC,OAAOA,MAAM;EACf;EAEA4B,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,CAAC7B,IAAI,KAAK,UAAU,GAAG6B,MAAM,CAACC,OAAO,GAAGD,MAAM,CAACnD,KAAK;EACnE;EAEAW,kBAAkBA,CAAA,EAAG;IACnB,IAAI,CAACV,OAAO,CAAC,gBAAgB,EAAE,IAAI,CAAC;EACtC;EAEAoD,aAAaA,CAACrG,IAAY,EAAE;IAC1B,IAAI,CAACiD,OAAO,CAAC,GAAGjD,IAAI,YAAY,EAAE,IAAI,CAAC;EACzC;EAEAsG,OAAOA,CACLtG,IAAY,EACZuG,KAAU,EACVvC,QAA8B,EAC9BnD,OAAsB,EACtB;IACA,MAAMV,KAAK,GAAGmB,qBAAA,CAAKlB,OAAO,EAAZ,IAAW,CAAC,CAACW,GAAG,CAACf,IAAI,CAAC;IAEpC,IAAIG,KAAK,EAAE;MAAA,IAAAqG,qBAAA;MACT,MAAMxD,KAAK,GAAG,IAAI,CAACiD,iBAAiB,CAACM,KAAK,CAAC;MAC3C;MACA,MAAME,SAAS,GAAGV,KAAK,CAACC,OAAO,CAAChD,KAAK,CAAC,GAAGA,KAAK,CAAC,CAAC,CAAC,GAAGA,KAAK;MAEzD,IAAI,CAACH,cAAc,CAAC;QAClB,CAAC7C,IAAI,GAAGyG;MACV,CAAC,CAAC;MAEF,KAAAD,qBAAA,GAAI3F,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE6F,YAAY,cAAAF,qBAAA,cAAAA,qBAAA,GAAI,IAAI,EAAE;QACjC,IAAI,CAACrC,aAAa,CAAChE,KAAK,CAACF,MAAM,CAAC;MAClC;MACA+D,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAE2C,KAAK,CAAC,IAAI,EAAE3D,KAAK,CAAC;IAC9B;EACF;EAEA4D,QAAQA,CACN5G,IAAY,EACZgD,KAAU,EACVgB,QAA8B,EAC9BnD,OAAsB,EACtB;IACA,MAAMV,KAAK,GAAGmB,qBAAA,CAAKlB,OAAO,EAAZ,IAAW,CAAC,CAACW,GAAG,CAACf,IAAI,CAAC;IAEpC,IAAIG,KAAK,EAAE;MAAA,IAAA0G,sBAAA;MACT,IAAI,CAAChE,cAAc,CAAC;QAClB,CAAC7C,IAAI,GAAGgD;MACV,CAAC,CAAC;MAEF,KAAA6D,sBAAA,GAAIhG,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE6F,YAAY,cAAAG,sBAAA,cAAAA,sBAAA,GAAI,IAAI,EAAE;QACjC,IAAI,CAAC1C,aAAa,CAAChE,KAAK,CAACF,MAAM,CAAC;MAClC;MACA+D,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAGhB,KAAK,CAAC;IACnB;EACF;AACF;AAAC,SAAAtB,cAAA,EApQiB;EACd,OAAO,CAAC,GAAGJ,qBAAA,CAAKlB,OAAO,EAAZ,IAAW,CAAC,CAAC0G,IAAI,CAAC,CAAC,CAAC,CAACzE,MAAM,CAAE0E,GAAG,IAAK;IAAA,IAAAC,OAAA;IAC9C,OAAO,GAAAA,OAAA,GAAC1F,qBAAA,CAAKlB,OAAO,EAAZ,IAAW,CAAC,CAACW,GAAG,CAACgG,GAAG,CAAC,CAAE9G,MAAM,cAAA+G,OAAA,eAA7BA,OAAA,CAA+BC,SAAS;EAClD,CAAC,CAAC;AACJ;AAAC/G,eAAA,CA9BUS,SAAS;AAAAT,eAAA,CAATS,SAAS,cAEsB,IAAIQ,GAAG,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"FormStore.js","names":["isEmpty","get","has","set","unset","cloneDeep","PubSub","uid","Field","constructor","name","detail","_defineProperty","field","_fields","WeakMap","_options","_formData","_initData","_FormStore_brand","WeakSet","FormStore","getInstance","options","instance","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","Map","_classPrivateFieldSet","setField","_classPrivateFieldGet","setFieldsValueByInitData","getAllValues","allFields","_assertClassBrand","_getAllFields","call","formData","forEach","fieldName","value","setInitValue","values","isEmitValuseChange","arguments","length","undefined","setFieldsValue","_field$detail","notRender","publish","newFormData","changedValues","key","_field$detail2","v","_classPrivateFieldGet2","_classPrivateFieldGet3","onValuesChanged","allValues","resetFields","resetValidateState","getFieldsValue","_field$detail3","removeField","delete","validateFields","callback","results","push","validateField","some","result","type","filter","_fieldObj$detail","fieldDetail","fieldObj","_fieldObj","label","validate","validateValue","messageBody","message","getName","valid","required","pattern","min","max","validator","reg","RegExp","test","checkMin","checkMax","numberValue","parseFloat","isNaN","parsedValidator","Array","isArray","getValueFromEvent","e","target","checked","scrollToField","onWatch","event","_options$needValidate","realValue","needValidate","apply","onChange","_options$needValidate2","keys","_detail"],"sources":["../../src/FormStore.ts"],"sourcesContent":["import { isEmpty, get, has, set, unset, cloneDeep } 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 type?: 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 this.setFieldsValueByInitData(name);\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: Record<string, unknown> = {};\n\n allFields.forEach((fieldName) => {\n const value = get(this.#formData, fieldName);\n set(formData, fieldName, value);\n });\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 field = this.#fields.get(name);\n if (field && !field.detail?.notRender && has(this.#initData, name)) {\n const value = get(this.#initData, name);\n set(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 = cloneDeep(this.#formData);\n const changedValues: Record<string, unknown> = {};\n\n this.#fields.forEach((field, key) => {\n if (!field.detail?.notRender && has(values, key)) {\n const v = get(values, key);\n set(newFormData, key, v);\n if (this.#initData) {\n set(this.#initData, key, v);\n }\n this.publish(`${key}.init.value`, v);\n set(changedValues, key, v);\n }\n });\n\n this.#formData = newFormData;\n\n if (isEmitValuseChange) {\n this.#options?.onValuesChanged?.({\n changedValues,\n allValues: this.getAllValues(),\n });\n }\n }\n\n resetFields(name?: string) {\n if (name) {\n unset(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 const field = this.#fields.get(name);\n if (field && !field.detail?.notRender) {\n return get(this.#formData, name);\n }\n return undefined;\n }\n return this.getAllValues();\n }\n\n removeField(name: string) {\n unset(this.#formData, name);\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 let fieldDetail;\n let fieldObj;\n\n if (typeof field === \"string\") {\n fieldObj = this.#fields.get(field);\n fieldDetail = fieldObj?.detail;\n } else {\n fieldDetail = field;\n fieldObj = this.#fields.get(fieldDetail.name);\n }\n\n if (!fieldDetail || (fieldObj && fieldObj.detail?.notRender)) return;\n\n const { name, label, validate } = fieldDetail;\n const validateValue = get(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: unknown): MessageBody => {\n const { required, pattern, message, type, min, max, validator } =\n validate;\n const label = getName();\n\n if (\n typeof value === \"object\"\n ? isEmpty(value)\n : value === undefined || value === \"\"\n ) {\n if (required) {\n return messageBody(message?.required || `${label}为必填项`);\n }\n return messageBody(\"\", \"normal\");\n }\n\n if (typeof value === \"string\" && pattern) {\n const reg = new RegExp(pattern);\n if (!reg.test(value)) {\n return messageBody(\n message?.pattern || `${label}没有匹配正则 ${pattern}`\n );\n }\n }\n\n const checkMin = typeof min === \"number\";\n const checkMax = typeof max === \"number\";\n\n if (type === \"number\") {\n if (typeof value === \"number\" || typeof value === \"string\") {\n const numberValue =\n typeof value === \"number\" ? value : parseFloat(value);\n if (isNaN(numberValue)) {\n return messageBody(`${label}必须是数字`);\n }\n if (checkMin && numberValue < min) {\n return messageBody(message?.min || `${label}不能小于 ${min}`);\n }\n if (checkMax && numberValue > max) {\n return messageBody(message?.max || `${label}不能大于 ${max}`);\n }\n }\n } else if (typeof value === \"string\") {\n if (checkMin && value.length < min) {\n return messageBody(message?.min || `${label}至少包含 ${min} 个字符`);\n }\n if (checkMax && value.length > max) {\n return messageBody(message?.max || `${label}不能超过 ${max} 个字符`);\n }\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 = { name, ...valid(validate, validateValue) };\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 scrollToField(name: string) {\n this.publish(`${name}.scroll.to`, 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":[]}
@@ -2,7 +2,9 @@ import { ReactNextElement } from "@next-core/react-element";
2
2
  import type { AbstractForm, ColProps } from "./Form.js";
3
3
  import { UseSingleBrickConf } from "@next-core/types";
4
4
  export declare abstract class FormItemElementBase extends ReactNextElement {
5
- #private;
5
+ private accessor _notRender;
6
+ private accessor validate;
7
+ private accessor bindFormItem;
6
8
  get isFormItemElement(): true;
7
9
  set validateState(value: string);
8
10
  get validateState(): string;
@@ -38,12 +38,12 @@ export declare class FormStore extends PubSub {
38
38
  static getInstance(options?: FormStoreOptions): FormStore;
39
39
  constructor(options?: FormStoreOptions);
40
40
  setField(name: string, detail: FieldDetail): void;
41
- getAllValues(): any;
41
+ getAllValues(): Record<string, unknown>;
42
42
  setInitValue(values: Record<string, unknown>, isEmitValuseChange?: boolean): void;
43
43
  setFieldsValueByInitData(name: string): void;
44
44
  setFieldsValue(values: Record<string, unknown>, isEmitValuseChange?: boolean): void;
45
45
  resetFields(name?: string): void;
46
- getFieldsValue(name?: string): any;
46
+ getFieldsValue(name?: string): unknown;
47
47
  removeField(name: string): void;
48
48
  validateFields(callback: (err: boolean, value: any) => void): boolean | Record<string, unknown>;
49
49
  validateField(field: string | FieldDetail): {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@next-shared/form",
3
- "version": "0.10.1",
3
+ "version": "0.12.0",
4
4
  "homepage": "https://github.com/easyops-cn/next-advanced-bricks/tree/master/shared/form",
5
5
  "repository": {
6
6
  "type": "git",
@@ -48,5 +48,5 @@
48
48
  "@next-core/test-next": "^2.0.1",
49
49
  "concurrently": "^9.1.0"
50
50
  },
51
- "gitHead": "53186cc54c9c1599b8677eedd6ea0825310bbe37"
51
+ "gitHead": "05072fd5cc9a9758927c7729df7bf49f853e079c"
52
52
  }