@next-shared/form 0.5.6 → 0.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,34 +1,25 @@
1
+ import _classPrivateMethodInitSpec from "@babel/runtime/helpers/classPrivateMethodInitSpec";
1
2
  import _classPrivateFieldInitSpec from "@babel/runtime/helpers/classPrivateFieldInitSpec";
2
- import _classPrivateFieldSet from "@babel/runtime/helpers/classPrivateFieldSet";
3
- import _classPrivateFieldGet from "@babel/runtime/helpers/classPrivateFieldGet";
4
- import _applyDecs from "@babel/runtime/helpers/applyDecs2305";
5
- var _initProto, _dec, _init_helpBrick, _dec2, _init_labelBrick, _dec3, _init_labelCol, _dec4, _init_wrapperCol, _dec5, _dec6, _FormItemElementBase;
3
+ import _toPropertyKey from "@babel/runtime/helpers/toPropertyKey";
4
+ import _setFunctionName from "@babel/runtime/helpers/setFunctionName";
5
+ import _checkInRHS from "@babel/runtime/helpers/checkInRHS";
6
+ var _initProto, _init_helpBrick, _init_extra_helpBrick, _init_labelBrick, _init_extra_labelBrick, _init_labelCol, _init_extra_labelCol, _init_wrapperCol, _init_extra_wrapperCol, _FormItemElementBase;
7
+ function _classPrivateGetter(s, r, a) { return a(_assertClassBrand(s, r)); }
8
+ function _classPrivateSetter(s, r, a, t) { return r(_assertClassBrand(s, a), t), t; }
9
+ function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
10
+ function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
11
+ function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
12
+ function _applyDecs(e, t, n, r, o, i) { var a, c, u, s, f, l, p, d = Symbol.metadata || Symbol.for("Symbol.metadata"), m = Object.defineProperty, h = Object.create, y = [h(null), h(null)], v = t.length; function g(t, n, r) { return function (o, i) { n && (i = o, o = e); for (var a = 0; a < t.length; a++) i = t[a].apply(o, r ? [i] : []); return r ? i : o; }; } function b(e, t, n, r) { if ("function" != typeof e && (r || void 0 !== e)) throw new TypeError(t + " must " + (n || "be") + " a function" + (r ? "" : " or undefined")); return e; } function applyDec(e, t, n, r, o, i, u, s, f, l, p) { function d(e) { if (!p(e)) throw new TypeError("Attempted to access private element on non-instance"); } var h = [].concat(t[0]), v = t[3], w = !u, D = 1 === o, S = 3 === o, j = 4 === o, E = 2 === o; function I(t, n, r) { return function (o, i) { return n && (i = o, o = e), r && r(o), P[t].call(o, i); }; } if (!w) { var P = {}, k = [], F = S ? "get" : j || D ? "set" : "value"; if (f ? (l || D ? P = { get: _setFunctionName(function () { return v(this); }, r, "get"), set: function (e) { t[4](this, e); } } : P[F] = v, l || _setFunctionName(P[F], r, E ? "" : F)) : l || (P = Object.getOwnPropertyDescriptor(e, r)), !l && !f) { if ((c = y[+s][r]) && 7 != (c ^ o)) throw new Error("Decorating two elements with the same name (" + P[F].name + ") is not supported yet"); y[+s][r] = o < 3 ? 1 : o; } } for (var N = e, O = h.length - 1; O >= 0; O -= n ? 2 : 1) { var z = h[O], H = n ? h[O - 1] : void 0, K = {}, R = { kind: ["field", "accessor", "method", "getter", "setter", "class"][o], name: r, metadata: a, addInitializer: function (e, t) { if (e.v) throw new Error("attempted to call addInitializer after decoration was finished"); b(t, "An initializer", "be", !0), i.push(t); }.bind(null, K) }; if (w) c = z.call(H, N, R), K.v = 1, b(c, "class decorators", "return") && (N = c);else if (R.static = s, R.private = f, c = R.access = { has: f ? p.bind() : function (e) { return r in e; } }, j || (c.get = f ? E ? function (e) { return d(e), P.value; } : I("get", 0, d) : function (e) { return e[r]; }), E || S || (c.set = f ? I("set", 0, d) : function (e, t) { e[r] = t; }), N = z.call(H, D ? { get: P.get, set: P.set } : P[F], R), K.v = 1, D) { if ("object" == typeof N && N) (c = b(N.get, "accessor.get")) && (P.get = c), (c = b(N.set, "accessor.set")) && (P.set = c), (c = b(N.init, "accessor.init")) && k.unshift(c);else if (void 0 !== N) throw new TypeError("accessor decorators must return an object with get, set, or init properties or undefined"); } else b(N, (l ? "field" : "method") + " decorators", "return") && (l ? k.unshift(N) : P[F] = N); } return o < 2 && u.push(g(k, s, 1), g(i, s, 0)), l || w || (f ? D ? u.splice(-1, 0, I("get", s), I("set", s)) : u.push(E ? P[F] : b.call.bind(P[F])) : m(e, r, P)), N; } function w(e) { return m(e, d, { configurable: !0, enumerable: !0, value: a }); } return void 0 !== i && (a = i[d]), a = h(null == a ? null : a), f = [], l = function (e) { e && f.push(g(e)); }, p = function (t, r) { for (var i = 0; i < n.length; i++) { var a = n[i], c = a[1], l = 7 & c; if ((8 & c) == t && !l == r) { var p = a[2], d = !!a[3], m = 16 & c; applyDec(t ? e : e.prototype, a, m, d ? "#" + p : _toPropertyKey(p), l, l < 2 ? [] : t ? s = s || [] : u = u || [], f, !!t, d, r, t && d ? function (t) { return _checkInRHS(t) === e; } : o); } } }, p(8, 0), p(0, 0), p(8, 1), p(0, 1), l(u), l(s), c = f, v || w(e), { e: c, get c() { var n = []; return v && [w(e = applyDec(e, [t], r, e.name, 5, n)), g(n, 1)]; } }; }
6
13
  import { createDecorators } from "@next-core/element";
7
14
  import { ReactNextElement } from "@next-core/react-element";
8
15
  var {
9
16
  method,
10
17
  property
11
18
  } = createDecorators();
12
- _dec = property({
13
- attribute: false
14
- });
15
- _dec2 = property({
16
- attribute: false
17
- });
18
- _dec3 = property({
19
- attribute: false
20
- });
21
- _dec4 = property({
22
- attribute: false
23
- });
24
- _dec5 = method();
25
- _dec6 = method();
26
19
  var _A = /*#__PURE__*/new WeakMap();
27
- var _notRender = /*#__PURE__*/new WeakMap();
20
+ var _FormItemElementBase_brand = /*#__PURE__*/new WeakSet();
28
21
  var _B = /*#__PURE__*/new WeakMap();
29
- var _validate = /*#__PURE__*/new WeakMap();
30
22
  var _C = /*#__PURE__*/new WeakMap();
31
- var _bindFormItem = /*#__PURE__*/new WeakMap();
32
23
  var _D = /*#__PURE__*/new WeakMap();
33
24
  var _E = /*#__PURE__*/new WeakMap();
34
25
  var _F = /*#__PURE__*/new WeakMap();
@@ -36,56 +27,25 @@ var _G = /*#__PURE__*/new WeakMap();
36
27
  export class FormItemElementBase extends ReactNextElement {
37
28
  constructor() {
38
29
  super(...arguments);
39
- _classPrivateFieldInitSpec(this, _bindFormItem, {
40
- get: _get_bindFormItem,
41
- set: _set_bindFormItem
42
- });
43
- _classPrivateFieldInitSpec(this, _validate, {
44
- get: _get_validate,
45
- set: _set_validate
46
- });
47
- _classPrivateFieldInitSpec(this, _notRender, {
48
- get: _get__notRender,
49
- set: _set__notRender
50
- });
51
- _classPrivateFieldInitSpec(this, _A, {
52
- writable: true,
53
- value: (_initProto(this), false)
54
- });
55
- _classPrivateFieldInitSpec(this, _B, {
56
- writable: true,
57
- value: "normal"
58
- });
59
- _classPrivateFieldInitSpec(this, _C, {
60
- writable: true,
61
- value: false
62
- });
63
- _classPrivateFieldInitSpec(this, _D, {
64
- writable: true,
65
- value: _init_helpBrick(this)
66
- });
67
- _classPrivateFieldInitSpec(this, _E, {
68
- writable: true,
69
- value: _init_labelBrick(this)
70
- });
71
- _classPrivateFieldInitSpec(this, _F, {
72
- writable: true,
73
- value: _init_labelCol(this)
74
- });
75
- _classPrivateFieldInitSpec(this, _G, {
76
- writable: true,
77
- value: _init_wrapperCol(this)
78
- });
30
+ _classPrivateMethodInitSpec(this, _FormItemElementBase_brand);
31
+ _classPrivateFieldInitSpec(this, _A, (_initProto(this), false));
32
+ _classPrivateFieldInitSpec(this, _B, "normal");
33
+ _classPrivateFieldInitSpec(this, _C, false);
34
+ _classPrivateFieldInitSpec(this, _D, _init_helpBrick(this));
35
+ _classPrivateFieldInitSpec(this, _E, (_init_extra_helpBrick(this), _init_labelBrick(this)));
36
+ _classPrivateFieldInitSpec(this, _F, (_init_extra_labelBrick(this), _init_labelCol(this)));
37
+ _classPrivateFieldInitSpec(this, _G, (_init_extra_labelCol(this), _init_wrapperCol(this)));
38
+ _init_extra_wrapperCol(this);
79
39
  }
80
40
  get isFormItemElement() {
81
41
  return true;
82
42
  }
83
43
  set validateState(value) {
84
- _classPrivateFieldSet(this, _validate, value);
44
+ _classPrivateSetter(_FormItemElementBase_brand, _set_validate, this, value);
85
45
  this._render();
86
46
  }
87
47
  get validateState() {
88
- return _classPrivateFieldGet(this, _validate);
48
+ return _classPrivateGetter(_FormItemElementBase_brand, this, _get_validate);
89
49
  }
90
50
 
91
51
  /**
@@ -95,42 +55,42 @@ export class FormItemElementBase extends ReactNextElement {
95
55
  */
96
56
  set notRender(value) {
97
57
  this.hidden = value;
98
- _classPrivateFieldSet(this, _notRender, value);
58
+ _classPrivateSetter(_FormItemElementBase_brand, _set__notRender, this, value);
99
59
  this._render();
100
60
  }
101
61
  get notRender() {
102
- return _classPrivateFieldGet(this, _notRender);
62
+ return _classPrivateGetter(_FormItemElementBase_brand, this, _get__notRender);
103
63
  }
104
64
  get $bindFormItem() {
105
- return _classPrivateFieldGet(this, _bindFormItem);
65
+ return _classPrivateGetter(_FormItemElementBase_brand, this, _get_bindFormItem);
106
66
  }
107
67
  set $bindFormItem(value) {
108
- _classPrivateFieldSet(this, _bindFormItem, value);
68
+ _classPrivateSetter(_FormItemElementBase_brand, _set_bindFormItem, this, value);
109
69
  this._render();
110
70
  }
111
71
  get helpBrick() {
112
- return _classPrivateFieldGet(this, _D);
72
+ return _classPrivateFieldGet(_D, this);
113
73
  }
114
74
  set helpBrick(v) {
115
- _classPrivateFieldSet(this, _D, v);
75
+ _classPrivateFieldSet(_D, this, v);
116
76
  }
117
77
  get labelBrick() {
118
- return _classPrivateFieldGet(this, _E);
78
+ return _classPrivateFieldGet(_E, this);
119
79
  }
120
80
  set labelBrick(v) {
121
- _classPrivateFieldSet(this, _E, v);
81
+ _classPrivateFieldSet(_E, this, v);
122
82
  }
123
83
  get labelCol() {
124
- return _classPrivateFieldGet(this, _F);
84
+ return _classPrivateFieldGet(_F, this);
125
85
  }
126
86
  set labelCol(v) {
127
- _classPrivateFieldSet(this, _F, v);
87
+ _classPrivateFieldSet(_F, this, v);
128
88
  }
129
89
  get wrapperCol() {
130
- return _classPrivateFieldGet(this, _G);
90
+ return _classPrivateFieldGet(_G, this);
131
91
  }
132
92
  set wrapperCol(v) {
133
- _classPrivateFieldSet(this, _G, v);
93
+ _classPrivateFieldSet(_G, this, v);
134
94
  }
135
95
  setNotRender(value) {
136
96
  this.notRender = value;
@@ -147,23 +107,31 @@ export class FormItemElementBase extends ReactNextElement {
147
107
  }
148
108
  }
149
109
  _FormItemElementBase = FormItemElementBase;
150
- function _get__notRender() {
151
- return _classPrivateFieldGet(this, _A);
110
+ function _get__notRender(_this) {
111
+ return _classPrivateFieldGet(_A, _this);
152
112
  }
153
- function _set__notRender(v) {
154
- _classPrivateFieldSet(this, _A, v);
113
+ function _set__notRender(_this2, v) {
114
+ _classPrivateFieldSet(_A, _this2, v);
155
115
  }
156
- function _get_validate() {
157
- return _classPrivateFieldGet(this, _B);
116
+ function _get_validate(_this3) {
117
+ return _classPrivateFieldGet(_B, _this3);
158
118
  }
159
- function _set_validate(v) {
160
- _classPrivateFieldSet(this, _B, v);
119
+ function _set_validate(_this4, v) {
120
+ _classPrivateFieldSet(_B, _this4, v);
161
121
  }
162
- function _get_bindFormItem() {
163
- return _classPrivateFieldGet(this, _C);
122
+ function _get_bindFormItem(_this5) {
123
+ return _classPrivateFieldGet(_C, _this5);
164
124
  }
165
- function _set_bindFormItem(v) {
166
- _classPrivateFieldSet(this, _C, v);
125
+ function _set_bindFormItem(_this6, v) {
126
+ _classPrivateFieldSet(_C, _this6, v);
167
127
  }
168
- [_init_helpBrick, _init_labelBrick, _init_labelCol, _init_wrapperCol, _initProto] = _applyDecs(_FormItemElementBase, [[_dec, 1, "helpBrick"], [_dec2, 1, "labelBrick"], [_dec3, 1, "labelCol"], [_dec4, 1, "wrapperCol"], [_dec5, 2, "setNotRender"], [_dec6, 2, "getFormElement"]], [], 0, void 0, ReactNextElement).e;
128
+ [_init_helpBrick, _init_extra_helpBrick, _init_labelBrick, _init_extra_labelBrick, _init_labelCol, _init_extra_labelCol, _init_wrapperCol, _init_extra_wrapperCol, _initProto] = _applyDecs(_FormItemElementBase, [], [[property({
129
+ attribute: false
130
+ }), 1, "helpBrick"], [property({
131
+ attribute: false
132
+ }), 1, "labelBrick"], [property({
133
+ attribute: false
134
+ }), 1, "labelCol"], [property({
135
+ attribute: false
136
+ }), 1, "wrapperCol"], [method(), 2, "setNotRender"], [method(), 2, "getFormElement"]], 0, void 0, ReactNextElement).e;
169
137
  //# sourceMappingURL=FormItemElement.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FormItemElement.js","names":["createDecorators","ReactNextElement","method","property","_dec","attribute","_dec2","_dec3","_dec4","_dec5","_dec6","_A","WeakMap","_notRender","_B","_validate","_C","_bindFormItem","_D","_E","_F","_G","FormItemElementBase","constructor","arguments","_classPrivateFieldInitSpec","get","_get_bindFormItem","set","_set_bindFormItem","_get_validate","_set_validate","_get__notRender","_set__notRender","writable","value","_initProto","_init_helpBrick","_init_labelBrick","_init_labelCol","_init_wrapperCol","isFormItemElement","validateState","_classPrivateFieldSet","_render","_classPrivateFieldGet","notRender","hidden","$bindFormItem","helpBrick","v","labelBrick","labelCol","wrapperCol","setNotRender","getFormElement","element","parentNode","isFormElement","_FormItemElementBase","_applyDecs","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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"}
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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"}
@@ -1,10 +1,10 @@
1
1
  import _objectSpread from "@babel/runtime/helpers/objectSpread2";
2
2
  import _classPrivateMethodInitSpec from "@babel/runtime/helpers/classPrivateMethodInitSpec";
3
3
  import _classPrivateFieldInitSpec from "@babel/runtime/helpers/classPrivateFieldInitSpec";
4
- import _classPrivateMethodGet from "@babel/runtime/helpers/classPrivateMethodGet";
5
- import _classPrivateFieldGet from "@babel/runtime/helpers/classPrivateFieldGet";
6
- import _classPrivateFieldSet from "@babel/runtime/helpers/classPrivateFieldSet";
7
4
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
5
+ function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
6
+ function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
7
+ function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
8
8
  import { isEmpty, isNil } from "lodash";
9
9
  import { PubSub } from "./PubSub.js";
10
10
  var uid = 0;
@@ -20,7 +20,7 @@ var _fields = /*#__PURE__*/new WeakMap();
20
20
  var _options = /*#__PURE__*/new WeakMap();
21
21
  var _formData = /*#__PURE__*/new WeakMap();
22
22
  var _initData = /*#__PURE__*/new WeakMap();
23
- var _getAllFields = /*#__PURE__*/new WeakSet();
23
+ var _FormStore_brand = /*#__PURE__*/new WeakSet();
24
24
  export class FormStore extends PubSub {
25
25
  static getInstance(options) {
26
26
  if (!this.instance.get(uid)) {
@@ -32,69 +32,54 @@ export class FormStore extends PubSub {
32
32
  }
33
33
  constructor(options) {
34
34
  super();
35
- _classPrivateMethodInitSpec(this, _getAllFields);
36
- _classPrivateFieldInitSpec(this, _fields, {
37
- writable: true,
38
- value: new Map()
39
- });
40
- _classPrivateFieldInitSpec(this, _options, {
41
- writable: true,
42
- value: void 0
43
- });
44
- _classPrivateFieldInitSpec(this, _formData, {
45
- writable: true,
46
- value: void 0
47
- });
48
- _classPrivateFieldInitSpec(this, _initData, {
49
- writable: true,
50
- value: void 0
51
- });
52
- _classPrivateFieldSet(this, _formData, {});
53
- _classPrivateFieldSet(this, _options, options);
35
+ _classPrivateMethodInitSpec(this, _FormStore_brand);
36
+ _classPrivateFieldInitSpec(this, _fields, new Map());
37
+ _classPrivateFieldInitSpec(this, _options, void 0);
38
+ _classPrivateFieldInitSpec(this, _formData, void 0);
39
+ _classPrivateFieldInitSpec(this, _initData, void 0);
40
+ _classPrivateFieldSet(_formData, this, {});
41
+ _classPrivateFieldSet(_options, this, options);
54
42
  }
55
43
  setField(name, detail) {
56
- _classPrivateFieldGet(this, _fields).set(name, new Field(name, detail));
44
+ _classPrivateFieldGet(_fields, this).set(name, new Field(name, detail));
57
45
  }
58
46
  getAllValues() {
59
- var allFields = _classPrivateMethodGet(this, _getAllFields, _getAllFields2).call(this);
60
- var formData = Object.fromEntries(Object.entries(_classPrivateFieldGet(this, _formData)).map(_ref => {
47
+ var allFields = _assertClassBrand(_FormStore_brand, this, _getAllFields).call(this);
48
+ var formData = Object.fromEntries(Object.entries(_classPrivateFieldGet(_formData, this)).map(_ref => {
61
49
  var [k, v] = _ref;
62
50
  if (allFields.includes(k)) {
63
51
  return [k, v];
64
52
  }
65
53
  return [];
66
- }).filter(Boolean));
54
+ }).filter(item => item.length));
67
55
  return formData;
68
56
  }
69
57
  setInitValue(values) {
70
58
  var isEmitValuseChange = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
71
- _classPrivateFieldSet(this, _initData, values);
59
+ _classPrivateFieldSet(_initData, this, values);
72
60
  this.setFieldsValue(values, isEmitValuseChange);
73
61
  }
74
62
  setFieldsValueByInitData(name) {
75
63
  var _classPrivateFieldGet2;
76
- var value = (_classPrivateFieldGet2 = _classPrivateFieldGet(this, _initData)) === null || _classPrivateFieldGet2 === void 0 ? void 0 : _classPrivateFieldGet2[name];
64
+ var value = (_classPrivateFieldGet2 = _classPrivateFieldGet(_initData, this)) === null || _classPrivateFieldGet2 === void 0 ? void 0 : _classPrivateFieldGet2[name];
77
65
  if (!isNil(value)) {
78
- _classPrivateFieldGet(this, _formData)[name] = value;
66
+ _classPrivateFieldGet(_formData, this)[name] = value;
79
67
  this.publish("".concat(name, ".init.value"), value);
80
68
  }
81
69
  }
82
70
  setFieldsValue(values) {
83
71
  var isEmitValuseChange = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
84
- var allFields = _classPrivateMethodGet(this, _getAllFields, _getAllFields2).call(this);
85
- var newFormData = _objectSpread({}, _classPrivateFieldGet(this, _formData));
72
+ var newFormData = _objectSpread({}, _classPrivateFieldGet(_formData, this));
86
73
  Object.entries(values).forEach(_ref2 => {
87
74
  var [k, v] = _ref2;
88
- if (allFields.includes(k)) {
89
- newFormData[k] = v;
90
- _classPrivateFieldGet(this, _initData) && (_classPrivateFieldGet(this, _initData)[k] = v);
91
- this.publish("".concat(k, ".init.value"), v);
92
- }
75
+ newFormData[k] = v;
76
+ _classPrivateFieldGet(_initData, this) && (_classPrivateFieldGet(_initData, this)[k] = v);
77
+ this.publish("".concat(k, ".init.value"), v);
93
78
  });
94
- _classPrivateFieldSet(this, _formData, newFormData);
79
+ _classPrivateFieldSet(_formData, this, newFormData);
95
80
  if (isEmitValuseChange) {
96
81
  var _classPrivateFieldGet3, _classPrivateFieldGet4;
97
- (_classPrivateFieldGet3 = _classPrivateFieldGet(this, _options)) === null || _classPrivateFieldGet3 === void 0 || (_classPrivateFieldGet4 = _classPrivateFieldGet3.onValuesChanged) === null || _classPrivateFieldGet4 === void 0 || _classPrivateFieldGet4.call(_classPrivateFieldGet3, {
82
+ (_classPrivateFieldGet3 = _classPrivateFieldGet(_options, this)) === null || _classPrivateFieldGet3 === void 0 || (_classPrivateFieldGet4 = _classPrivateFieldGet3.onValuesChanged) === null || _classPrivateFieldGet4 === void 0 || _classPrivateFieldGet4.call(_classPrivateFieldGet3, {
98
83
  changedValues: values,
99
84
  allValues: this.getAllValues()
100
85
  });
@@ -102,33 +87,33 @@ export class FormStore extends PubSub {
102
87
  }
103
88
  resetFields(name) {
104
89
  if (name) {
105
- _classPrivateFieldGet(this, _formData)[name] = null;
90
+ this.removeField(name);
106
91
  this.publish("".concat(name, ".reset.fields"), null);
107
92
  } else {
108
- _classPrivateFieldSet(this, _formData, {});
93
+ _classPrivateFieldGet(_fields, this).clear();
109
94
  this.publish("reset.fields", null);
110
95
  }
111
96
  }
112
97
  getFieldsValue(name) {
113
98
  if (name) {
114
- return _classPrivateFieldGet(this, _formData)[name];
99
+ return _classPrivateFieldGet(_formData, this)[name];
115
100
  }
116
101
  return this.getAllValues();
117
102
  }
118
103
  removeField(name) {
119
- _classPrivateFieldGet(this, _fields).delete(name);
104
+ _classPrivateFieldGet(_fields, this).delete(name);
120
105
  }
121
106
  validateFields(callback) {
122
- var allFields = _classPrivateMethodGet(this, _getAllFields, _getAllFields2).call(this);
107
+ var allFields = _assertClassBrand(_FormStore_brand, this, _getAllFields).call(this);
123
108
  var results = [];
124
109
  allFields.forEach(name => {
125
- var field = _classPrivateFieldGet(this, _fields).get(name);
110
+ var field = _classPrivateFieldGet(_fields, this).get(name);
126
111
  if (field) {
127
112
  results.push(this.validateField(field.detail));
128
113
  }
129
114
  });
130
115
  if (results.some(result => (result === null || result === void 0 ? void 0 : result.type) !== "normal")) {
131
- callback(true, results);
116
+ callback(true, results.filter(result => (result === null || result === void 0 ? void 0 : result.type) !== "normal"));
132
117
  return false;
133
118
  } else {
134
119
  var formData = this.getAllValues();
@@ -138,14 +123,14 @@ export class FormStore extends PubSub {
138
123
  }
139
124
  validateField(field) {
140
125
  var _classPrivateFieldGet5;
141
- var fieldDetail = typeof field === "string" ? (_classPrivateFieldGet5 = _classPrivateFieldGet(this, _fields).get(field)) === null || _classPrivateFieldGet5 === void 0 ? void 0 : _classPrivateFieldGet5.detail : field;
126
+ var fieldDetail = typeof field === "string" ? (_classPrivateFieldGet5 = _classPrivateFieldGet(_fields, this).get(field)) === null || _classPrivateFieldGet5 === void 0 ? void 0 : _classPrivateFieldGet5.detail : field;
142
127
  if (!fieldDetail) return;
143
128
  var {
144
129
  name,
145
130
  label,
146
131
  validate
147
132
  } = fieldDetail;
148
- var validateValue = _classPrivateFieldGet(this, _formData)[name];
133
+ var validateValue = _classPrivateFieldGet(_formData, this)[name];
149
134
  var messageBody = function (message) {
150
135
  var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "error";
151
136
  return {
@@ -212,7 +197,7 @@ export class FormStore extends PubSub {
212
197
  this.publish("reset.validate", null);
213
198
  }
214
199
  onWatch(name, event, callback, options) {
215
- var field = _classPrivateFieldGet(this, _fields).get(name);
200
+ var field = _classPrivateFieldGet(_fields, this).get(name);
216
201
  if (field) {
217
202
  var _options$needValidate;
218
203
  var _value = this.getValueFromEvent(event);
@@ -228,7 +213,7 @@ export class FormStore extends PubSub {
228
213
  }
229
214
  }
230
215
  onChange(name, value, callback, options) {
231
- var field = _classPrivateFieldGet(this, _fields).get(name);
216
+ var field = _classPrivateFieldGet(_fields, this).get(name);
232
217
  if (field) {
233
218
  var _options$needValidate2;
234
219
  this.setFieldsValue({
@@ -241,10 +226,10 @@ export class FormStore extends PubSub {
241
226
  }
242
227
  }
243
228
  }
244
- function _getAllFields2() {
245
- return [..._classPrivateFieldGet(this, _fields).keys()].filter(key => {
229
+ function _getAllFields() {
230
+ return [..._classPrivateFieldGet(_fields, this).keys()].filter(key => {
246
231
  var _detail;
247
- return !((_detail = _classPrivateFieldGet(this, _fields).get(key).detail) !== null && _detail !== void 0 && _detail.notRender);
232
+ return !((_detail = _classPrivateFieldGet(_fields, this).get(key).detail) !== null && _detail !== void 0 && _detail.notRender);
248
233
  });
249
234
  }
250
235
  _defineProperty(FormStore, "uid", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"FormStore.js","names":["isEmpty","isNil","PubSub","uid","Field","constructor","name","detail","_defineProperty","field","_fields","WeakMap","_options","_formData","_initData","_getAllFields","WeakSet","FormStore","getInstance","options","instance","get","set","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","writable","value","Map","_classPrivateFieldSet","setField","_classPrivateFieldGet","getAllValues","allFields","_classPrivateMethodGet","_getAllFields2","call","formData","Object","fromEntries","entries","map","_ref","k","v","includes","filter","Boolean","setInitValue","values","isEmitValuseChange","arguments","length","undefined","setFieldsValue","setFieldsValueByInitData","_classPrivateFieldGet2","publish","concat","newFormData","_objectSpread","forEach","_ref2","_classPrivateFieldGet3","_classPrivateFieldGet4","onValuesChanged","changedValues","allValues","resetFields","getFieldsValue","removeField","delete","validateFields","callback","results","push","validateField","some","result","type","_classPrivateFieldGet5","fieldDetail","label","validate","validateValue","messageBody","message","getName","valid","required","pattern","min","max","validator","reg","RegExp","test","parsedValidator","Array","isArray","getValueFromEvent","e","target","checked","resetValidateState","onWatch","event","_options$needValidate","realValue","needValidate","apply","onChange","_options$needValidate2","keys","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\ninterface FieldDetail {\n name: string;\n label?: string;\n notRender?: boolean;\n originProps?: Record<string, any>;\n validate: Validate;\n [k: string]: any;\n}\n\nexport interface MessageBody {\n message: string;\n type: string;\n}\n\nexport interface WatchOptions {\n needValidate?: boolean;\n}\n\ninterface Validate {\n required?: boolean;\n pattern?: string;\n min?: number;\n max?: number;\n message?: {\n required?: string;\n pattern?: string;\n min?: string;\n max?: string;\n };\n validator?: (value: any) => MessageBody | string;\n}\n\nlet uid = 0;\n\nclass Field {\n field: string;\n detail: FieldDetail;\n constructor(name: string, detail: FieldDetail) {\n this.field = name;\n this.detail = detail;\n }\n}\n\nexport class FormStore extends PubSub {\n static uid: number;\n static instance: Map<number, FormStore> = new Map();\n static getInstance(options?: FormStoreOptions): FormStore {\n if (!this.instance.get(uid)) {\n this.uid = uid;\n this.instance.set(this.uid, new FormStore(options));\n uid += 1;\n }\n return this.instance.get(this.uid) as FormStore;\n }\n\n #fields: Map<string, Field> = new Map();\n #options: FormStoreOptions | undefined;\n #formData!: Record<string, unknown>;\n #initData: Record<string, unknown> | undefined;\n\n constructor(options?: FormStoreOptions) {\n super();\n this.#formData = {};\n this.#options = options;\n }\n\n setField(name: string, detail: FieldDetail) {\n this.#fields.set(name, new Field(name, detail));\n }\n #getAllFields() {\n return [...this.#fields.keys()].filter((key) => {\n return !this.#fields.get(key)!.detail?.notRender;\n });\n }\n\n getAllValues() {\n const allFields = this.#getAllFields();\n const formData = Object.fromEntries(\n Object.entries(this.#formData)\n .map(([k, v]) => {\n if (allFields.includes(k)) {\n return [k, v];\n }\n return [];\n })\n .filter(Boolean)\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 allFields = this.#getAllFields();\n const newFormData: Record<string, unknown> = {\n ...this.#formData,\n };\n Object.entries(values).forEach(([k, v]) => {\n if (allFields.includes(k)) {\n newFormData[k] = v;\n this.#initData && (this.#initData[k] = v);\n this.publish(`${k}.init.value`, v);\n }\n });\n this.#formData = newFormData;\n\n if (isEmitValuseChange) {\n this.#options?.onValuesChanged?.({\n changedValues: values,\n allValues: this.getAllValues(),\n });\n }\n }\n\n resetFields(name?: string) {\n if (name) {\n this.#formData[name] = null;\n this.publish(`${name}.reset.fields`, null);\n } else {\n this.#formData = {};\n this.publish(\"reset.fields\", null);\n }\n }\n\n getFieldsValue(name?: string) {\n if (name) {\n return this.#formData[name];\n }\n return this.getAllValues();\n }\n\n removeField(name: string) {\n this.#fields.delete(name);\n }\n\n validateFields(\n callback: (err: boolean, value: any) => void\n ): boolean | Record<string, unknown> {\n const allFields = this.#getAllFields();\n const results: Array<MessageBody | undefined> = [];\n allFields.forEach((name) => {\n const field = this.#fields.get(name);\n if (field) {\n results.push(this.validateField(field.detail));\n }\n });\n\n if (results.some((result) => result?.type !== \"normal\")) {\n callback(true, results);\n return false;\n } else {\n const formData = this.getAllValues();\n callback(false, formData);\n return formData;\n }\n }\n\n validateField(field: string | FieldDetail) {\n const fieldDetail =\n typeof field === \"string\" ? this.#fields.get(field)?.detail : field;\n if (!fieldDetail) return;\n const { name, label, validate } = fieldDetail;\n const validateValue = this.#formData[name];\n\n const messageBody = (message: string, type = \"error\") => {\n return {\n type,\n message,\n };\n };\n\n const getName = () => label ?? name;\n\n const valid = (validate: Validate, value: string): MessageBody => {\n const { required, pattern, message, min, max, validator } = validate;\n const label = getName();\n\n if (\n required &&\n (typeof value === \"object\"\n ? isEmpty(value)\n : typeof value === \"number\"\n ? false\n : !value)\n ) {\n return messageBody(message?.required || `${label}为必填项`);\n }\n\n if (pattern && value) {\n const reg = new RegExp(pattern);\n if (!reg.test(value)) {\n return messageBody(\n message?.pattern || `${label}没有匹配正则 ${pattern}`\n );\n }\n }\n\n if (min && (!value || value.length < min)) {\n return messageBody(message?.min || `${label}至少包含 ${min} 个字符`);\n }\n\n if (max && value && value.length > max) {\n return messageBody(message?.max || `${label}不能超过 ${max} 个字符`);\n }\n\n if (validator) {\n let result = \"\";\n let parsedValidator = [];\n if (Array.isArray(validator)) {\n parsedValidator = validator;\n } else {\n parsedValidator.push(validator);\n }\n\n for (const v of parsedValidator) {\n result = v(value);\n\n if (result) {\n break;\n }\n }\n return typeof result === \"string\"\n ? messageBody(result, result ? \"error\" : \"normal\")\n : (result as MessageBody);\n }\n\n return messageBody(\"\", \"normal\");\n };\n\n const result = valid(validate, validateValue as string);\n this.publish(`${name}.validate`, result);\n return result;\n }\n\n getValueFromEvent(e: React.ChangeEvent): any {\n if (!e || !e.target) {\n return e;\n }\n const target = e.target as HTMLInputElement;\n return target.type === \"checkbox\" ? target.checked : target.value;\n }\n\n resetValidateState() {\n this.publish(`reset.validate`, null);\n }\n\n onWatch(\n name: string,\n event: any,\n callback?: (v: string) => void,\n options?: WatchOptions\n ) {\n const field = this.#fields.get(name);\n\n if (field) {\n const value = this.getValueFromEvent(event);\n // default first params is value\n const realValue = Array.isArray(value) ? value[0] : value;\n\n this.setFieldsValue({\n [name]: realValue,\n });\n\n if (options?.needValidate ?? true) {\n this.validateField(field.detail);\n }\n callback?.apply(this, value);\n }\n }\n\n onChange(\n name: string,\n value: any,\n callback?: (v: string) => void,\n options?: WatchOptions\n ) {\n const field = this.#fields.get(name);\n\n if (field) {\n this.setFieldsValue({\n [name]: value,\n });\n\n if (options?.needValidate ?? true) {\n this.validateField(field.detail);\n }\n callback?.(value);\n }\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"FormStore.js","names":["isEmpty","isNil","PubSub","uid","Field","constructor","name","detail","_defineProperty","field","_fields","WeakMap","_options","_formData","_initData","_FormStore_brand","WeakSet","FormStore","getInstance","options","instance","get","set","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","Map","_classPrivateFieldSet","setField","_classPrivateFieldGet","getAllValues","allFields","_assertClassBrand","_getAllFields","call","formData","Object","fromEntries","entries","map","_ref","k","v","includes","filter","item","length","setInitValue","values","isEmitValuseChange","arguments","undefined","setFieldsValue","setFieldsValueByInitData","_classPrivateFieldGet2","value","publish","concat","newFormData","_objectSpread","forEach","_ref2","_classPrivateFieldGet3","_classPrivateFieldGet4","onValuesChanged","changedValues","allValues","resetFields","removeField","clear","getFieldsValue","delete","validateFields","callback","results","push","validateField","some","result","type","_classPrivateFieldGet5","fieldDetail","label","validate","validateValue","messageBody","message","getName","valid","required","pattern","min","max","validator","reg","RegExp","test","parsedValidator","Array","isArray","getValueFromEvent","e","target","checked","resetValidateState","onWatch","event","_options$needValidate","realValue","needValidate","apply","onChange","_options$needValidate2","keys","key","_detail","notRender"],"sources":["../../src/FormStore.ts"],"sourcesContent":["import { isEmpty, isNil } from \"lodash\";\nimport { PubSub } from \"./PubSub.js\";\n\ninterface FormStoreOptions {\n onValuesChanged?: (data: any) => void;\n}\n\nexport interface FieldDetail {\n name: string;\n label?: string;\n notRender?: boolean;\n originProps?: Record<string, any>;\n validate: Validate;\n [k: string]: any;\n}\n\nexport interface MessageBody {\n message: string;\n type: string;\n}\n\nexport interface WatchOptions {\n needValidate?: boolean;\n}\n\ninterface Validate {\n required?: boolean;\n pattern?: string;\n min?: number;\n max?: number;\n message?: {\n required?: string;\n pattern?: string;\n min?: string;\n max?: string;\n };\n validator?: (value: any) => MessageBody | string;\n}\n\nlet uid = 0;\n\nclass Field {\n field: string;\n detail: FieldDetail;\n constructor(name: string, detail: FieldDetail) {\n this.field = name;\n this.detail = detail;\n }\n}\n\nexport class FormStore extends PubSub {\n static uid: number;\n static instance: Map<number, FormStore> = new Map();\n static getInstance(options?: FormStoreOptions): FormStore {\n if (!this.instance.get(uid)) {\n this.uid = uid;\n this.instance.set(this.uid, new FormStore(options));\n uid += 1;\n }\n return this.instance.get(this.uid) as FormStore;\n }\n\n #fields: Map<string, Field> = new Map();\n #options: FormStoreOptions | undefined;\n #formData!: Record<string, unknown>;\n #initData: Record<string, unknown> | undefined;\n\n constructor(options?: FormStoreOptions) {\n super();\n this.#formData = {};\n this.#options = options;\n }\n\n setField(name: string, detail: FieldDetail) {\n this.#fields.set(name, new Field(name, detail));\n }\n #getAllFields() {\n return [...this.#fields.keys()].filter((key) => {\n return !this.#fields.get(key)!.detail?.notRender;\n });\n }\n\n getAllValues() {\n const allFields = this.#getAllFields();\n const formData = Object.fromEntries(\n Object.entries(this.#formData)\n .map(([k, v]) => {\n if (allFields.includes(k)) {\n return [k, v];\n }\n return [];\n })\n .filter((item) => item.length)\n );\n return formData;\n }\n\n setInitValue(values: Record<string, unknown>, isEmitValuseChange = true) {\n this.#initData = values;\n this.setFieldsValue(values, isEmitValuseChange);\n }\n\n setFieldsValueByInitData(name: string) {\n const value = this.#initData?.[name];\n if (!isNil(value)) {\n this.#formData[name] = value;\n this.publish(`${name}.init.value`, value);\n }\n }\n\n setFieldsValue(values: Record<string, unknown>, isEmitValuseChange = true) {\n const newFormData: Record<string, unknown> = {\n ...this.#formData,\n };\n Object.entries(values).forEach(([k, v]) => {\n newFormData[k] = v;\n this.#initData && (this.#initData[k] = v);\n this.publish(`${k}.init.value`, v);\n });\n this.#formData = newFormData;\n\n if (isEmitValuseChange) {\n this.#options?.onValuesChanged?.({\n changedValues: values,\n allValues: this.getAllValues(),\n });\n }\n }\n\n resetFields(name?: string) {\n if (name) {\n this.removeField(name);\n this.publish(`${name}.reset.fields`, null);\n } else {\n this.#fields.clear();\n this.publish(\"reset.fields\", null);\n }\n }\n\n getFieldsValue(name?: string) {\n if (name) {\n return this.#formData[name];\n }\n return this.getAllValues();\n }\n\n removeField(name: string) {\n this.#fields.delete(name);\n }\n\n validateFields(\n callback: (err: boolean, value: any) => void\n ): boolean | Record<string, unknown> {\n const allFields = this.#getAllFields();\n const results: Array<MessageBody | undefined> = [];\n allFields.forEach((name) => {\n const field = this.#fields.get(name);\n if (field) {\n results.push(this.validateField(field.detail));\n }\n });\n\n if (results.some((result) => result?.type !== \"normal\")) {\n callback(\n true,\n results.filter((result) => result?.type !== \"normal\")\n );\n return false;\n } else {\n const formData = this.getAllValues();\n callback(false, formData);\n return formData;\n }\n }\n\n validateField(field: string | FieldDetail) {\n const fieldDetail =\n typeof field === \"string\" ? this.#fields.get(field)?.detail : field;\n if (!fieldDetail) return;\n const { name, label, validate } = fieldDetail;\n const validateValue = this.#formData[name];\n\n const messageBody = (message: string, type = \"error\") => {\n return {\n type,\n message,\n };\n };\n\n const getName = () => label ?? name;\n\n const valid = (validate: Validate, value: string): MessageBody => {\n const { required, pattern, message, min, max, validator } = validate;\n const label = getName();\n\n if (\n required &&\n (typeof value === \"object\"\n ? isEmpty(value)\n : typeof value === \"number\"\n ? false\n : !value)\n ) {\n return messageBody(message?.required || `${label}为必填项`);\n }\n\n if (pattern && value) {\n const reg = new RegExp(pattern);\n if (!reg.test(value)) {\n return messageBody(\n message?.pattern || `${label}没有匹配正则 ${pattern}`\n );\n }\n }\n\n if (min && (!value || value.length < min)) {\n return messageBody(message?.min || `${label}至少包含 ${min} 个字符`);\n }\n\n if (max && value && value.length > max) {\n return messageBody(message?.max || `${label}不能超过 ${max} 个字符`);\n }\n\n if (validator) {\n let result = \"\";\n let parsedValidator = [];\n if (Array.isArray(validator)) {\n parsedValidator = validator;\n } else {\n parsedValidator.push(validator);\n }\n\n for (const v of parsedValidator) {\n result = v(value);\n\n if (result) {\n break;\n }\n }\n return typeof result === \"string\"\n ? messageBody(result, result ? \"error\" : \"normal\")\n : (result as MessageBody);\n }\n\n return messageBody(\"\", \"normal\");\n };\n\n const result = valid(validate, validateValue as string);\n this.publish(`${name}.validate`, result);\n return result;\n }\n\n getValueFromEvent(e: React.ChangeEvent): any {\n if (!e || !e.target) {\n return e;\n }\n const target = e.target as HTMLInputElement;\n return target.type === \"checkbox\" ? target.checked : target.value;\n }\n\n resetValidateState() {\n this.publish(`reset.validate`, null);\n }\n\n onWatch(\n name: string,\n event: any,\n callback?: (v: string) => void,\n options?: WatchOptions\n ) {\n const field = this.#fields.get(name);\n\n if (field) {\n const value = this.getValueFromEvent(event);\n // default first params is value\n const realValue = Array.isArray(value) ? value[0] : value;\n\n this.setFieldsValue({\n [name]: realValue,\n });\n\n if (options?.needValidate ?? true) {\n this.validateField(field.detail);\n }\n callback?.apply(this, value);\n }\n }\n\n onChange(\n name: string,\n value: any,\n callback?: (v: string) => void,\n options?: WatchOptions\n ) {\n const field = this.#fields.get(name);\n\n if (field) {\n this.setFieldsValue({\n [name]: value,\n });\n\n if (options?.needValidate ?? true) {\n this.validateField(field.detail);\n }\n callback?.(value);\n }\n }\n}\n"],"mappings":"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"}
@@ -1,25 +1,20 @@
1
1
  import _classPrivateFieldInitSpec from "@babel/runtime/helpers/classPrivateFieldInitSpec";
2
- import _classPrivateFieldSet from "@babel/runtime/helpers/classPrivateFieldSet";
3
- import _classPrivateFieldGet from "@babel/runtime/helpers/classPrivateFieldGet";
2
+ function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
3
+ function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
4
+ function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
4
5
  import { remove } from "lodash";
5
6
  var _topics = /*#__PURE__*/new WeakMap();
6
7
  var _subUid = /*#__PURE__*/new WeakMap();
7
8
  export class PubSub {
8
9
  constructor() {
9
- _classPrivateFieldInitSpec(this, _topics, {
10
- writable: true,
11
- value: {}
12
- });
13
- _classPrivateFieldInitSpec(this, _subUid, {
14
- writable: true,
15
- value: 0
16
- });
10
+ _classPrivateFieldInitSpec(this, _topics, {});
11
+ _classPrivateFieldInitSpec(this, _subUid, 0);
17
12
  }
18
13
  publish(topic, body) {
19
- if (!_classPrivateFieldGet(this, _topics)[topic]) {
14
+ if (!_classPrivateFieldGet(_topics, this)[topic]) {
20
15
  return;
21
16
  }
22
- var subscribers = _classPrivateFieldGet(this, _topics)[topic];
17
+ var subscribers = _classPrivateFieldGet(_topics, this)[topic];
23
18
  var len = subscribers ? subscribers.length : 0;
24
19
  while (len--) {
25
20
  subscribers[len].func(topic, body);
@@ -27,20 +22,20 @@ export class PubSub {
27
22
  }
28
23
  subscribe(topic, fn) {
29
24
  var _this$subUid;
30
- if (!_classPrivateFieldGet(this, _topics)[topic]) {
31
- _classPrivateFieldGet(this, _topics)[topic] = [];
25
+ if (!_classPrivateFieldGet(_topics, this)[topic]) {
26
+ _classPrivateFieldGet(_topics, this)[topic] = [];
32
27
  }
33
- var token = _classPrivateFieldSet(this, _subUid, (_this$subUid = _classPrivateFieldGet(this, _subUid), ++_this$subUid)).toString();
34
- _classPrivateFieldGet(this, _topics)[topic].push({
28
+ var token = _classPrivateFieldSet(_subUid, this, (_this$subUid = _classPrivateFieldGet(_subUid, this), ++_this$subUid)).toString();
29
+ _classPrivateFieldGet(_topics, this)[topic].push({
35
30
  token: token,
36
31
  func: fn
37
32
  });
38
33
  return token;
39
34
  }
40
35
  unsubscribe(token) {
41
- for (var m in _classPrivateFieldGet(this, _topics)) {
42
- if (_classPrivateFieldGet(this, _topics)[m]) {
43
- remove(_classPrivateFieldGet(this, _topics)[m], item => item.token === token);
36
+ for (var m in _classPrivateFieldGet(_topics, this)) {
37
+ if (_classPrivateFieldGet(_topics, this)[m]) {
38
+ remove(_classPrivateFieldGet(_topics, this)[m], item => item.token === token);
44
39
  }
45
40
  }
46
41
  }