@next-shared/form 0.6.0 → 0.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/FormItemElement.js +56 -88
- package/dist/cjs/FormItemElement.js.map +1 -1
- package/dist/cjs/FormStore.js +36 -47
- package/dist/cjs/FormStore.js.map +1 -1
- package/dist/esm/FormItemElement.js +56 -88
- package/dist/esm/FormItemElement.js.map +1 -1
- package/dist/esm/FormStore.js +36 -47
- package/dist/esm/FormStore.js.map +1 -1
- package/dist/esm/PubSub.js +14 -19
- package/dist/esm/PubSub.js.map +1 -1
- package/package.json +6 -6
|
@@ -5,37 +5,28 @@ 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"));
|
|
8
9
|
var _classPrivateFieldInitSpec2 = _interopRequireDefault(require("@babel/runtime/helpers/classPrivateFieldInitSpec"));
|
|
9
|
-
var
|
|
10
|
-
var
|
|
11
|
-
var
|
|
10
|
+
var _toPropertyKey2 = _interopRequireDefault(require("@babel/runtime/helpers/toPropertyKey"));
|
|
11
|
+
var _setFunctionName2 = _interopRequireDefault(require("@babel/runtime/helpers/setFunctionName"));
|
|
12
|
+
var _checkInRHS2 = _interopRequireDefault(require("@babel/runtime/helpers/checkInRHS"));
|
|
12
13
|
var _element = require("@next-core/element");
|
|
13
14
|
var _reactElement = require("@next-core/react-element");
|
|
14
|
-
var _initProto,
|
|
15
|
+
var _initProto, _init_helpBrick, _init_extra_helpBrick, _init_labelBrick, _init_extra_labelBrick, _init_labelCol, _init_extra_labelCol, _init_wrapperCol, _init_extra_wrapperCol, _FormItemElementBase;
|
|
16
|
+
function _classPrivateGetter(s, r, a) { return a(_assertClassBrand(s, r)); }
|
|
17
|
+
function _classPrivateSetter(s, r, a, t) { return r(_assertClassBrand(s, a), t), t; }
|
|
18
|
+
function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
|
|
19
|
+
function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
|
|
20
|
+
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"); }
|
|
21
|
+
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: (0, _setFunctionName2.default)(function () { return v(this); }, r, "get"), set: function (e) { t[4](this, e); } } : P[F] = v, l || (0, _setFunctionName2.default)(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 : (0, _toPropertyKey2.default)(p), l, l < 2 ? [] : t ? s = s || [] : u = u || [], f, !!t, d, r, t && d ? function (t) { return (0, _checkInRHS2.default)(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)]; } }; }
|
|
15
22
|
const {
|
|
16
23
|
method,
|
|
17
24
|
property
|
|
18
25
|
} = (0, _element.createDecorators)();
|
|
19
|
-
_dec = property({
|
|
20
|
-
attribute: false
|
|
21
|
-
});
|
|
22
|
-
_dec2 = property({
|
|
23
|
-
attribute: false
|
|
24
|
-
});
|
|
25
|
-
_dec3 = property({
|
|
26
|
-
attribute: false
|
|
27
|
-
});
|
|
28
|
-
_dec4 = property({
|
|
29
|
-
attribute: false
|
|
30
|
-
});
|
|
31
|
-
_dec5 = method();
|
|
32
|
-
_dec6 = method();
|
|
33
26
|
var _A = /*#__PURE__*/new WeakMap();
|
|
34
|
-
var
|
|
27
|
+
var _FormItemElementBase_brand = /*#__PURE__*/new WeakSet();
|
|
35
28
|
var _B = /*#__PURE__*/new WeakMap();
|
|
36
|
-
var _validate = /*#__PURE__*/new WeakMap();
|
|
37
29
|
var _C = /*#__PURE__*/new WeakMap();
|
|
38
|
-
var _bindFormItem = /*#__PURE__*/new WeakMap();
|
|
39
30
|
var _D = /*#__PURE__*/new WeakMap();
|
|
40
31
|
var _E = /*#__PURE__*/new WeakMap();
|
|
41
32
|
var _F = /*#__PURE__*/new WeakMap();
|
|
@@ -43,56 +34,25 @@ var _G = /*#__PURE__*/new WeakMap();
|
|
|
43
34
|
class FormItemElementBase extends _reactElement.ReactNextElement {
|
|
44
35
|
constructor(...args) {
|
|
45
36
|
super(...args);
|
|
46
|
-
(0,
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
(0, _classPrivateFieldInitSpec2.default)(this,
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
(
|
|
55
|
-
get: _get__notRender,
|
|
56
|
-
set: _set__notRender
|
|
57
|
-
});
|
|
58
|
-
(0, _classPrivateFieldInitSpec2.default)(this, _A, {
|
|
59
|
-
writable: true,
|
|
60
|
-
value: (_initProto(this), false)
|
|
61
|
-
});
|
|
62
|
-
(0, _classPrivateFieldInitSpec2.default)(this, _B, {
|
|
63
|
-
writable: true,
|
|
64
|
-
value: "normal"
|
|
65
|
-
});
|
|
66
|
-
(0, _classPrivateFieldInitSpec2.default)(this, _C, {
|
|
67
|
-
writable: true,
|
|
68
|
-
value: false
|
|
69
|
-
});
|
|
70
|
-
(0, _classPrivateFieldInitSpec2.default)(this, _D, {
|
|
71
|
-
writable: true,
|
|
72
|
-
value: _init_helpBrick(this)
|
|
73
|
-
});
|
|
74
|
-
(0, _classPrivateFieldInitSpec2.default)(this, _E, {
|
|
75
|
-
writable: true,
|
|
76
|
-
value: _init_labelBrick(this)
|
|
77
|
-
});
|
|
78
|
-
(0, _classPrivateFieldInitSpec2.default)(this, _F, {
|
|
79
|
-
writable: true,
|
|
80
|
-
value: _init_labelCol(this)
|
|
81
|
-
});
|
|
82
|
-
(0, _classPrivateFieldInitSpec2.default)(this, _G, {
|
|
83
|
-
writable: true,
|
|
84
|
-
value: _init_wrapperCol(this)
|
|
85
|
-
});
|
|
37
|
+
(0, _classPrivateMethodInitSpec2.default)(this, _FormItemElementBase_brand);
|
|
38
|
+
(0, _classPrivateFieldInitSpec2.default)(this, _A, (_initProto(this), false));
|
|
39
|
+
(0, _classPrivateFieldInitSpec2.default)(this, _B, "normal");
|
|
40
|
+
(0, _classPrivateFieldInitSpec2.default)(this, _C, false);
|
|
41
|
+
(0, _classPrivateFieldInitSpec2.default)(this, _D, _init_helpBrick(this));
|
|
42
|
+
(0, _classPrivateFieldInitSpec2.default)(this, _E, (_init_extra_helpBrick(this), _init_labelBrick(this)));
|
|
43
|
+
(0, _classPrivateFieldInitSpec2.default)(this, _F, (_init_extra_labelBrick(this), _init_labelCol(this)));
|
|
44
|
+
(0, _classPrivateFieldInitSpec2.default)(this, _G, (_init_extra_labelCol(this), _init_wrapperCol(this)));
|
|
45
|
+
_init_extra_wrapperCol(this);
|
|
86
46
|
}
|
|
87
47
|
get isFormItemElement() {
|
|
88
48
|
return true;
|
|
89
49
|
}
|
|
90
50
|
set validateState(value) {
|
|
91
|
-
(
|
|
51
|
+
_classPrivateSetter(_FormItemElementBase_brand, _set_validate, this, value);
|
|
92
52
|
this._render();
|
|
93
53
|
}
|
|
94
54
|
get validateState() {
|
|
95
|
-
return (
|
|
55
|
+
return _classPrivateGetter(_FormItemElementBase_brand, this, _get_validate);
|
|
96
56
|
}
|
|
97
57
|
|
|
98
58
|
/**
|
|
@@ -102,42 +62,42 @@ class FormItemElementBase extends _reactElement.ReactNextElement {
|
|
|
102
62
|
*/
|
|
103
63
|
set notRender(value) {
|
|
104
64
|
this.hidden = value;
|
|
105
|
-
(
|
|
65
|
+
_classPrivateSetter(_FormItemElementBase_brand, _set__notRender, this, value);
|
|
106
66
|
this._render();
|
|
107
67
|
}
|
|
108
68
|
get notRender() {
|
|
109
|
-
return (
|
|
69
|
+
return _classPrivateGetter(_FormItemElementBase_brand, this, _get__notRender);
|
|
110
70
|
}
|
|
111
71
|
get $bindFormItem() {
|
|
112
|
-
return (
|
|
72
|
+
return _classPrivateGetter(_FormItemElementBase_brand, this, _get_bindFormItem);
|
|
113
73
|
}
|
|
114
74
|
set $bindFormItem(value) {
|
|
115
|
-
(
|
|
75
|
+
_classPrivateSetter(_FormItemElementBase_brand, _set_bindFormItem, this, value);
|
|
116
76
|
this._render();
|
|
117
77
|
}
|
|
118
78
|
get helpBrick() {
|
|
119
|
-
return (
|
|
79
|
+
return _classPrivateFieldGet(_D, this);
|
|
120
80
|
}
|
|
121
81
|
set helpBrick(v) {
|
|
122
|
-
(
|
|
82
|
+
_classPrivateFieldSet(_D, this, v);
|
|
123
83
|
}
|
|
124
84
|
get labelBrick() {
|
|
125
|
-
return (
|
|
85
|
+
return _classPrivateFieldGet(_E, this);
|
|
126
86
|
}
|
|
127
87
|
set labelBrick(v) {
|
|
128
|
-
(
|
|
88
|
+
_classPrivateFieldSet(_E, this, v);
|
|
129
89
|
}
|
|
130
90
|
get labelCol() {
|
|
131
|
-
return (
|
|
91
|
+
return _classPrivateFieldGet(_F, this);
|
|
132
92
|
}
|
|
133
93
|
set labelCol(v) {
|
|
134
|
-
(
|
|
94
|
+
_classPrivateFieldSet(_F, this, v);
|
|
135
95
|
}
|
|
136
96
|
get wrapperCol() {
|
|
137
|
-
return (
|
|
97
|
+
return _classPrivateFieldGet(_G, this);
|
|
138
98
|
}
|
|
139
99
|
set wrapperCol(v) {
|
|
140
|
-
(
|
|
100
|
+
_classPrivateFieldSet(_G, this, v);
|
|
141
101
|
}
|
|
142
102
|
setNotRender(value) {
|
|
143
103
|
this.notRender = value;
|
|
@@ -155,23 +115,31 @@ class FormItemElementBase extends _reactElement.ReactNextElement {
|
|
|
155
115
|
}
|
|
156
116
|
exports.FormItemElementBase = FormItemElementBase;
|
|
157
117
|
_FormItemElementBase = FormItemElementBase;
|
|
158
|
-
function _get__notRender() {
|
|
159
|
-
return (
|
|
118
|
+
function _get__notRender(_this) {
|
|
119
|
+
return _classPrivateFieldGet(_A, _this);
|
|
160
120
|
}
|
|
161
|
-
function _set__notRender(v) {
|
|
162
|
-
(
|
|
121
|
+
function _set__notRender(_this2, v) {
|
|
122
|
+
_classPrivateFieldSet(_A, _this2, v);
|
|
163
123
|
}
|
|
164
|
-
function _get_validate() {
|
|
165
|
-
return (
|
|
124
|
+
function _get_validate(_this3) {
|
|
125
|
+
return _classPrivateFieldGet(_B, _this3);
|
|
166
126
|
}
|
|
167
|
-
function _set_validate(v) {
|
|
168
|
-
(
|
|
127
|
+
function _set_validate(_this4, v) {
|
|
128
|
+
_classPrivateFieldSet(_B, _this4, v);
|
|
169
129
|
}
|
|
170
|
-
function _get_bindFormItem() {
|
|
171
|
-
return (
|
|
130
|
+
function _get_bindFormItem(_this5) {
|
|
131
|
+
return _classPrivateFieldGet(_C, _this5);
|
|
172
132
|
}
|
|
173
|
-
function _set_bindFormItem(v) {
|
|
174
|
-
(
|
|
133
|
+
function _set_bindFormItem(_this6, v) {
|
|
134
|
+
_classPrivateFieldSet(_C, _this6, v);
|
|
175
135
|
}
|
|
176
|
-
[_init_helpBrick,
|
|
136
|
+
[_init_helpBrick, _init_extra_helpBrick, _init_labelBrick, _init_extra_labelBrick, _init_labelCol, _init_extra_labelCol, _init_wrapperCol, _init_extra_wrapperCol, _initProto] = _applyDecs(_FormItemElementBase, [], [[property({
|
|
137
|
+
attribute: false
|
|
138
|
+
}), 1, "helpBrick"], [property({
|
|
139
|
+
attribute: false
|
|
140
|
+
}), 1, "labelBrick"], [property({
|
|
141
|
+
attribute: false
|
|
142
|
+
}), 1, "labelCol"], [property({
|
|
143
|
+
attribute: false
|
|
144
|
+
}), 1, "wrapperCol"], [method(), 2, "setNotRender"], [method(), 2, "getFormElement"]], 0, void 0, _reactElement.ReactNextElement).e;
|
|
177
145
|
//# sourceMappingURL=FormItemElement.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormItemElement.js","names":["_element","require","_reactElement","_initProto","_dec","_init_helpBrick","_dec2","_init_labelBrick","_dec3","_init_labelCol","_dec4","_init_wrapperCol","_dec5","_dec6","_FormItemElementBase","method","property","createDecorators","attribute","_A","WeakMap","_notRender","_B","_validate","_C","_bindFormItem","_D","_E","_F","_G","FormItemElementBase","ReactNextElement","constructor","args","_classPrivateFieldInitSpec2","default","get","_get_bindFormItem","set","_set_bindFormItem","_get_validate","_set_validate","_get__notRender","_set__notRender","writable","value","isFormItemElement","validateState","_classPrivateFieldSet2","_render","_classPrivateFieldGet2","notRender","hidden","$bindFormItem","helpBrick","v","labelBrick","labelCol","wrapperCol","setNotRender","getFormElement","element","parentNode","isFormElement","exports","_applyDecs2","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":["_element","require","_reactElement","_initProto","_init_helpBrick","_init_extra_helpBrick","_init_labelBrick","_init_extra_labelBrick","_init_labelCol","_init_extra_labelCol","_init_wrapperCol","_init_extra_wrapperCol","_FormItemElementBase","_classPrivateGetter","s","r","a","_assertClassBrand","_classPrivateSetter","t","_classPrivateFieldSet","set","_classPrivateFieldGet","get","e","n","has","arguments","length","TypeError","_applyDecs","o","i","c","u","f","l","p","d","Symbol","metadata","for","m","Object","defineProperty","h","create","y","v","g","apply","b","applyDec","concat","w","D","S","j","E","I","P","call","k","F","_setFunctionName2","default","getOwnPropertyDescriptor","Error","name","N","O","z","H","K","R","kind","addInitializer","push","bind","static","private","access","value","init","unshift","splice","configurable","enumerable","prototype","_toPropertyKey2","_checkInRHS2","method","property","createDecorators","_A","WeakMap","_FormItemElementBase_brand","WeakSet","_B","_C","_D","_E","_F","_G","FormItemElementBase","ReactNextElement","constructor","args","_classPrivateMethodInitSpec2","_classPrivateFieldInitSpec2","isFormItemElement","validateState","_set_validate","_render","_get_validate","notRender","hidden","_set__notRender","_get__notRender","$bindFormItem","_get_bindFormItem","_set_bindFormItem","helpBrick","labelBrick","labelCol","wrapperCol","setNotRender","getFormElement","element","parentNode","isFormElement","exports","_this","_this2","_this3","_this4","_this5","_this6","attribute"],"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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"}
|
package/dist/cjs/FormStore.js
CHANGED
|
@@ -8,11 +8,11 @@ exports.FormStore = void 0;
|
|
|
8
8
|
var _classPrivateMethodInitSpec2 = _interopRequireDefault(require("@babel/runtime/helpers/classPrivateMethodInitSpec"));
|
|
9
9
|
var _classPrivateFieldInitSpec2 = _interopRequireDefault(require("@babel/runtime/helpers/classPrivateFieldInitSpec"));
|
|
10
10
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
-
var _classPrivateMethodGet2 = _interopRequireDefault(require("@babel/runtime/helpers/classPrivateMethodGet"));
|
|
12
|
-
var _classPrivateFieldGet6 = _interopRequireDefault(require("@babel/runtime/helpers/classPrivateFieldGet"));
|
|
13
|
-
var _classPrivateFieldSet2 = _interopRequireDefault(require("@babel/runtime/helpers/classPrivateFieldSet"));
|
|
14
11
|
var _lodash = require("lodash");
|
|
15
12
|
var _PubSub = require("./PubSub.js");
|
|
13
|
+
function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
|
|
14
|
+
function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
|
|
15
|
+
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"); }
|
|
16
16
|
let uid = 0;
|
|
17
17
|
class Field {
|
|
18
18
|
field;
|
|
@@ -26,7 +26,7 @@ var _fields = /*#__PURE__*/new WeakMap();
|
|
|
26
26
|
var _options = /*#__PURE__*/new WeakMap();
|
|
27
27
|
var _formData = /*#__PURE__*/new WeakMap();
|
|
28
28
|
var _initData = /*#__PURE__*/new WeakMap();
|
|
29
|
-
var
|
|
29
|
+
var _FormStore_brand = /*#__PURE__*/new WeakSet();
|
|
30
30
|
class FormStore extends _PubSub.PubSub {
|
|
31
31
|
static getInstance(options) {
|
|
32
32
|
if (!this.instance.get(uid)) {
|
|
@@ -38,32 +38,20 @@ class FormStore extends _PubSub.PubSub {
|
|
|
38
38
|
}
|
|
39
39
|
constructor(options) {
|
|
40
40
|
super();
|
|
41
|
-
(0, _classPrivateMethodInitSpec2.default)(this,
|
|
42
|
-
(0, _classPrivateFieldInitSpec2.default)(this, _fields,
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
(
|
|
47
|
-
|
|
48
|
-
value: void 0
|
|
49
|
-
});
|
|
50
|
-
(0, _classPrivateFieldInitSpec2.default)(this, _formData, {
|
|
51
|
-
writable: true,
|
|
52
|
-
value: void 0
|
|
53
|
-
});
|
|
54
|
-
(0, _classPrivateFieldInitSpec2.default)(this, _initData, {
|
|
55
|
-
writable: true,
|
|
56
|
-
value: void 0
|
|
57
|
-
});
|
|
58
|
-
(0, _classPrivateFieldSet2.default)(this, _formData, {});
|
|
59
|
-
(0, _classPrivateFieldSet2.default)(this, _options, options);
|
|
41
|
+
(0, _classPrivateMethodInitSpec2.default)(this, _FormStore_brand);
|
|
42
|
+
(0, _classPrivateFieldInitSpec2.default)(this, _fields, new Map());
|
|
43
|
+
(0, _classPrivateFieldInitSpec2.default)(this, _options, void 0);
|
|
44
|
+
(0, _classPrivateFieldInitSpec2.default)(this, _formData, void 0);
|
|
45
|
+
(0, _classPrivateFieldInitSpec2.default)(this, _initData, void 0);
|
|
46
|
+
_classPrivateFieldSet(_formData, this, {});
|
|
47
|
+
_classPrivateFieldSet(_options, this, options);
|
|
60
48
|
}
|
|
61
49
|
setField(name, detail) {
|
|
62
|
-
(
|
|
50
|
+
_classPrivateFieldGet(_fields, this).set(name, new Field(name, detail));
|
|
63
51
|
}
|
|
64
52
|
getAllValues() {
|
|
65
|
-
const allFields = (
|
|
66
|
-
const formData = Object.fromEntries(Object.entries((
|
|
53
|
+
const allFields = _assertClassBrand(_FormStore_brand, this, _getAllFields).call(this);
|
|
54
|
+
const formData = Object.fromEntries(Object.entries(_classPrivateFieldGet(_formData, this)).map(([k, v]) => {
|
|
67
55
|
if (allFields.includes(k)) {
|
|
68
56
|
return [k, v];
|
|
69
57
|
}
|
|
@@ -72,30 +60,30 @@ class FormStore extends _PubSub.PubSub {
|
|
|
72
60
|
return formData;
|
|
73
61
|
}
|
|
74
62
|
setInitValue(values, isEmitValuseChange = true) {
|
|
75
|
-
(
|
|
63
|
+
_classPrivateFieldSet(_initData, this, values);
|
|
76
64
|
this.setFieldsValue(values, isEmitValuseChange);
|
|
77
65
|
}
|
|
78
66
|
setFieldsValueByInitData(name) {
|
|
79
67
|
var _classPrivateFieldGet2;
|
|
80
|
-
const value = (_classPrivateFieldGet2 = (
|
|
68
|
+
const value = (_classPrivateFieldGet2 = _classPrivateFieldGet(_initData, this)) === null || _classPrivateFieldGet2 === void 0 ? void 0 : _classPrivateFieldGet2[name];
|
|
81
69
|
if (!(0, _lodash.isNil)(value)) {
|
|
82
|
-
(
|
|
70
|
+
_classPrivateFieldGet(_formData, this)[name] = value;
|
|
83
71
|
this.publish(`${name}.init.value`, value);
|
|
84
72
|
}
|
|
85
73
|
}
|
|
86
74
|
setFieldsValue(values, isEmitValuseChange = true) {
|
|
87
75
|
const newFormData = {
|
|
88
|
-
...(
|
|
76
|
+
..._classPrivateFieldGet(_formData, this)
|
|
89
77
|
};
|
|
90
78
|
Object.entries(values).forEach(([k, v]) => {
|
|
91
79
|
newFormData[k] = v;
|
|
92
|
-
(
|
|
80
|
+
_classPrivateFieldGet(_initData, this) && (_classPrivateFieldGet(_initData, this)[k] = v);
|
|
93
81
|
this.publish(`${k}.init.value`, v);
|
|
94
82
|
});
|
|
95
|
-
(
|
|
83
|
+
_classPrivateFieldSet(_formData, this, newFormData);
|
|
96
84
|
if (isEmitValuseChange) {
|
|
97
85
|
var _classPrivateFieldGet3, _classPrivateFieldGet4;
|
|
98
|
-
(_classPrivateFieldGet3 = (
|
|
86
|
+
(_classPrivateFieldGet3 = _classPrivateFieldGet(_options, this)) === null || _classPrivateFieldGet3 === void 0 || (_classPrivateFieldGet4 = _classPrivateFieldGet3.onValuesChanged) === null || _classPrivateFieldGet4 === void 0 || _classPrivateFieldGet4.call(_classPrivateFieldGet3, {
|
|
99
87
|
changedValues: values,
|
|
100
88
|
allValues: this.getAllValues()
|
|
101
89
|
});
|
|
@@ -103,27 +91,28 @@ class FormStore extends _PubSub.PubSub {
|
|
|
103
91
|
}
|
|
104
92
|
resetFields(name) {
|
|
105
93
|
if (name) {
|
|
106
|
-
this
|
|
94
|
+
delete _classPrivateFieldGet(_formData, this)[name];
|
|
107
95
|
this.publish(`${name}.reset.fields`, null);
|
|
108
96
|
} else {
|
|
109
|
-
(
|
|
97
|
+
_classPrivateFieldSet(_formData, this, {});
|
|
110
98
|
this.publish("reset.fields", null);
|
|
111
99
|
}
|
|
100
|
+
this.resetValidateState();
|
|
112
101
|
}
|
|
113
102
|
getFieldsValue(name) {
|
|
114
103
|
if (name) {
|
|
115
|
-
return (
|
|
104
|
+
return _classPrivateFieldGet(_formData, this)[name];
|
|
116
105
|
}
|
|
117
106
|
return this.getAllValues();
|
|
118
107
|
}
|
|
119
108
|
removeField(name) {
|
|
120
|
-
(
|
|
109
|
+
_classPrivateFieldGet(_fields, this).delete(name);
|
|
121
110
|
}
|
|
122
111
|
validateFields(callback) {
|
|
123
|
-
const allFields = (
|
|
112
|
+
const allFields = _assertClassBrand(_FormStore_brand, this, _getAllFields).call(this);
|
|
124
113
|
const results = [];
|
|
125
114
|
allFields.forEach(name => {
|
|
126
|
-
const field = (
|
|
115
|
+
const field = _classPrivateFieldGet(_fields, this).get(name);
|
|
127
116
|
if (field) {
|
|
128
117
|
results.push(this.validateField(field.detail));
|
|
129
118
|
}
|
|
@@ -139,14 +128,14 @@ class FormStore extends _PubSub.PubSub {
|
|
|
139
128
|
}
|
|
140
129
|
validateField(field) {
|
|
141
130
|
var _classPrivateFieldGet5;
|
|
142
|
-
const fieldDetail = typeof field === "string" ? (_classPrivateFieldGet5 = (
|
|
131
|
+
const fieldDetail = typeof field === "string" ? (_classPrivateFieldGet5 = _classPrivateFieldGet(_fields, this).get(field)) === null || _classPrivateFieldGet5 === void 0 ? void 0 : _classPrivateFieldGet5.detail : field;
|
|
143
132
|
if (!fieldDetail) return;
|
|
144
133
|
const {
|
|
145
134
|
name,
|
|
146
135
|
label,
|
|
147
136
|
validate
|
|
148
137
|
} = fieldDetail;
|
|
149
|
-
const validateValue = (
|
|
138
|
+
const validateValue = _classPrivateFieldGet(_formData, this)[name];
|
|
150
139
|
const messageBody = (message, type = "error") => {
|
|
151
140
|
return {
|
|
152
141
|
type,
|
|
@@ -164,7 +153,7 @@ class FormStore extends _PubSub.PubSub {
|
|
|
164
153
|
validator
|
|
165
154
|
} = validate;
|
|
166
155
|
const label = getName();
|
|
167
|
-
if (required && (typeof value === "object" ? (0, _lodash.isEmpty)(value) :
|
|
156
|
+
if (required && (typeof value === "object" ? (0, _lodash.isEmpty)(value) : value === undefined || value === null)) {
|
|
168
157
|
return messageBody((message === null || message === void 0 ? void 0 : message.required) || `${label}为必填项`);
|
|
169
158
|
}
|
|
170
159
|
if (pattern && value) {
|
|
@@ -212,7 +201,7 @@ class FormStore extends _PubSub.PubSub {
|
|
|
212
201
|
this.publish(`reset.validate`, null);
|
|
213
202
|
}
|
|
214
203
|
onWatch(name, event, callback, options) {
|
|
215
|
-
const field = (
|
|
204
|
+
const field = _classPrivateFieldGet(_fields, this).get(name);
|
|
216
205
|
if (field) {
|
|
217
206
|
var _options$needValidate;
|
|
218
207
|
const value = this.getValueFromEvent(event);
|
|
@@ -228,7 +217,7 @@ class FormStore extends _PubSub.PubSub {
|
|
|
228
217
|
}
|
|
229
218
|
}
|
|
230
219
|
onChange(name, value, callback, options) {
|
|
231
|
-
const field = (
|
|
220
|
+
const field = _classPrivateFieldGet(_fields, this).get(name);
|
|
232
221
|
if (field) {
|
|
233
222
|
var _options$needValidate2;
|
|
234
223
|
this.setFieldsValue({
|
|
@@ -242,10 +231,10 @@ class FormStore extends _PubSub.PubSub {
|
|
|
242
231
|
}
|
|
243
232
|
}
|
|
244
233
|
exports.FormStore = FormStore;
|
|
245
|
-
function
|
|
246
|
-
return [...(
|
|
234
|
+
function _getAllFields() {
|
|
235
|
+
return [..._classPrivateFieldGet(_fields, this).keys()].filter(key => {
|
|
247
236
|
var _detail;
|
|
248
|
-
return !((_detail = (
|
|
237
|
+
return !((_detail = _classPrivateFieldGet(_fields, this).get(key).detail) !== null && _detail !== void 0 && _detail.notRender);
|
|
249
238
|
});
|
|
250
239
|
}
|
|
251
240
|
(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","_getAllFields","WeakSet","FormStore","PubSub","getInstance","options","instance","get","set","_classPrivateMethodInitSpec2","default","_classPrivateFieldInitSpec2","writable","value","Map","_classPrivateFieldSet2","setField","_classPrivateFieldGet6","getAllValues","allFields","_classPrivateMethodGet2","_getAllFields2","call","formData","Object","fromEntries","entries","map","k","v","includes","filter","item","length","setInitValue","values","isEmitValuseChange","setFieldsValue","setFieldsValueByInitData","_classPrivateFieldGet2","isNil","publish","newFormData","forEach","_classPrivateFieldGet3","_classPrivateFieldGet4","onValuesChanged","changedValues","allValues","resetFields","removeField","clear","getFieldsValue","delete","validateFields","callback","results","push","validateField","some","result","type","_classPrivateFieldGet5","fieldDetail","label","validate","validateValue","messageBody","message","getName","valid","required","pattern","min","max","validator","isEmpty","reg","RegExp","test","parsedValidator","Array","isArray","getValueFromEvent","e","target","checked","resetValidateState","onWatch","event","_options$needValidate","realValue","needValidate","apply","onChange","_options$needValidate2","exports","keys","key","_detail","notRender","_defineProperty2"],"sources":["../../src/FormStore.ts"],"sourcesContent":["import { isEmpty, isNil } from \"lodash\";\nimport { PubSub } from \"./PubSub.js\";\n\ninterface FormStoreOptions {\n onValuesChanged?: (data: any) => void;\n}\n\nexport interface FieldDetail {\n name: string;\n label?: string;\n notRender?: boolean;\n originProps?: Record<string, any>;\n validate: Validate;\n [k: string]: any;\n}\n\nexport interface MessageBody {\n message: string;\n type: string;\n}\n\nexport interface WatchOptions {\n needValidate?: boolean;\n}\n\ninterface Validate {\n required?: boolean;\n pattern?: string;\n min?: number;\n max?: number;\n message?: {\n required?: string;\n pattern?: string;\n min?: string;\n max?: string;\n };\n validator?: (value: any) => MessageBody | string;\n}\n\nlet uid = 0;\n\nclass Field {\n field: string;\n detail: FieldDetail;\n constructor(name: string, detail: FieldDetail) {\n this.field = name;\n this.detail = detail;\n }\n}\n\nexport class FormStore extends PubSub {\n static uid: number;\n static instance: Map<number, FormStore> = new Map();\n static getInstance(options?: FormStoreOptions): FormStore {\n if (!this.instance.get(uid)) {\n this.uid = uid;\n this.instance.set(this.uid, new FormStore(options));\n uid += 1;\n }\n return this.instance.get(this.uid) as FormStore;\n }\n\n #fields: Map<string, Field> = new Map();\n #options: FormStoreOptions | undefined;\n #formData!: Record<string, unknown>;\n #initData: Record<string, unknown> | undefined;\n\n constructor(options?: FormStoreOptions) {\n super();\n this.#formData = {};\n this.#options = options;\n }\n\n setField(name: string, detail: FieldDetail) {\n this.#fields.set(name, new Field(name, detail));\n }\n #getAllFields() {\n return [...this.#fields.keys()].filter((key) => {\n return !this.#fields.get(key)!.detail?.notRender;\n });\n }\n\n getAllValues() {\n const allFields = this.#getAllFields();\n const formData = Object.fromEntries(\n Object.entries(this.#formData)\n .map(([k, v]) => {\n if (allFields.includes(k)) {\n return [k, v];\n }\n return [];\n })\n .filter((item) => item.length)\n );\n return formData;\n }\n\n setInitValue(values: Record<string, unknown>, isEmitValuseChange = true) {\n this.#initData = values;\n this.setFieldsValue(values, isEmitValuseChange);\n }\n\n setFieldsValueByInitData(name: string) {\n const value = this.#initData?.[name];\n if (!isNil(value)) {\n this.#formData[name] = value;\n this.publish(`${name}.init.value`, value);\n }\n }\n\n setFieldsValue(values: Record<string, unknown>, isEmitValuseChange = true) {\n const newFormData: Record<string, unknown> = {\n ...this.#formData,\n };\n Object.entries(values).forEach(([k, v]) => {\n newFormData[k] = v;\n this.#initData && (this.#initData[k] = v);\n this.publish(`${k}.init.value`, v);\n });\n this.#formData = newFormData;\n\n if (isEmitValuseChange) {\n this.#options?.onValuesChanged?.({\n changedValues: values,\n allValues: this.getAllValues(),\n });\n }\n }\n\n resetFields(name?: string) {\n if (name) {\n this.removeField(name);\n this.publish(`${name}.reset.fields`, null);\n } else {\n this.#fields.clear();\n this.publish(\"reset.fields\", null);\n }\n }\n\n getFieldsValue(name?: string) {\n if (name) {\n return this.#formData[name];\n }\n return this.getAllValues();\n }\n\n removeField(name: string) {\n this.#fields.delete(name);\n }\n\n validateFields(\n callback: (err: boolean, value: any) => void\n ): boolean | Record<string, unknown> {\n const allFields = this.#getAllFields();\n const results: Array<MessageBody | undefined> = [];\n allFields.forEach((name) => {\n const field = this.#fields.get(name);\n if (field) {\n results.push(this.validateField(field.detail));\n }\n });\n\n if (results.some((result) => result?.type !== \"normal\")) {\n callback(\n true,\n results.filter((result) => result?.type !== \"normal\")\n );\n return false;\n } else {\n const formData = this.getAllValues();\n callback(false, formData);\n return formData;\n }\n }\n\n validateField(field: string | FieldDetail) {\n const fieldDetail =\n typeof field === \"string\" ? this.#fields.get(field)?.detail : field;\n if (!fieldDetail) return;\n const { name, label, validate } = fieldDetail;\n const validateValue = this.#formData[name];\n\n const messageBody = (message: string, type = \"error\") => {\n return {\n type,\n message,\n };\n };\n\n const getName = () => label ?? name;\n\n const valid = (validate: Validate, value: string): MessageBody => {\n const { required, pattern, message, min, max, validator } = validate;\n const label = getName();\n\n if (\n required &&\n (typeof value === \"object\"\n ? isEmpty(value)\n : typeof value === \"number\"\n ? false\n : !value)\n ) {\n return messageBody(message?.required || `${label}为必填项`);\n }\n\n if (pattern && value) {\n const reg = new RegExp(pattern);\n if (!reg.test(value)) {\n return messageBody(\n message?.pattern || `${label}没有匹配正则 ${pattern}`\n );\n }\n }\n\n if (min && (!value || value.length < min)) {\n return messageBody(message?.min || `${label}至少包含 ${min} 个字符`);\n }\n\n if (max && value && value.length > max) {\n return messageBody(message?.max || `${label}不能超过 ${max} 个字符`);\n }\n\n if (validator) {\n let result = \"\";\n let parsedValidator = [];\n if (Array.isArray(validator)) {\n parsedValidator = validator;\n } else {\n parsedValidator.push(validator);\n }\n\n for (const v of parsedValidator) {\n result = v(value);\n\n if (result) {\n break;\n }\n }\n return typeof result === \"string\"\n ? messageBody(result, result ? \"error\" : \"normal\")\n : (result as MessageBody);\n }\n\n return messageBody(\"\", \"normal\");\n };\n\n const result = valid(validate, validateValue as string);\n this.publish(`${name}.validate`, result);\n return result;\n }\n\n getValueFromEvent(e: React.ChangeEvent): any {\n if (!e || !e.target) {\n return e;\n }\n const target = e.target as HTMLInputElement;\n return target.type === \"checkbox\" ? target.checked : target.value;\n }\n\n resetValidateState() {\n this.publish(`reset.validate`, null);\n }\n\n onWatch(\n name: string,\n event: any,\n callback?: (v: string) => void,\n options?: WatchOptions\n ) {\n const field = this.#fields.get(name);\n\n if (field) {\n const value = this.getValueFromEvent(event);\n // default first params is value\n const realValue = Array.isArray(value) ? value[0] : value;\n\n this.setFieldsValue({\n [name]: realValue,\n });\n\n if (options?.needValidate ?? true) {\n this.validateField(field.detail);\n }\n callback?.apply(this, value);\n }\n }\n\n onChange(\n name: string,\n value: any,\n callback?: (v: string) => void,\n options?: WatchOptions\n ) {\n const field = this.#fields.get(name);\n\n if (field) {\n this.setFieldsValue({\n [name]: value,\n });\n\n if (options?.needValidate ?? true) {\n this.validateField(field.detail);\n }\n callback?.(value);\n }\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FormStore.js","names":["_lodash","require","_PubSub","_classPrivateFieldGet","s","a","get","_assertClassBrand","_classPrivateFieldSet","r","set","e","t","n","has","arguments","length","TypeError","uid","Field","field","detail","constructor","name","_fields","WeakMap","_options","_formData","_initData","_FormStore_brand","WeakSet","FormStore","PubSub","getInstance","options","instance","_classPrivateMethodInitSpec2","default","_classPrivateFieldInitSpec2","Map","setField","getAllValues","allFields","_getAllFields","call","formData","Object","fromEntries","entries","map","k","v","includes","filter","item","setInitValue","values","isEmitValuseChange","setFieldsValue","setFieldsValueByInitData","_classPrivateFieldGet2","value","isNil","publish","newFormData","forEach","_classPrivateFieldGet3","_classPrivateFieldGet4","onValuesChanged","changedValues","allValues","resetFields","resetValidateState","getFieldsValue","removeField","delete","validateFields","callback","results","push","validateField","some","result","type","_classPrivateFieldGet5","fieldDetail","label","validate","validateValue","messageBody","message","getName","valid","required","pattern","min","max","validator","isEmpty","undefined","reg","RegExp","test","parsedValidator","Array","isArray","getValueFromEvent","target","checked","onWatch","event","_options$needValidate","realValue","needValidate","apply","onChange","_options$needValidate2","exports","keys","key","_detail","notRender","_defineProperty2"],"sources":["../../src/FormStore.ts"],"sourcesContent":["import { isEmpty, isNil } from \"lodash\";\nimport { PubSub } from \"./PubSub.js\";\n\ninterface FormStoreOptions {\n onValuesChanged?: (data: any) => void;\n}\n\nexport interface FieldDetail {\n name: string;\n label?: string;\n notRender?: boolean;\n originProps?: Record<string, any>;\n validate: Validate;\n [k: string]: any;\n}\n\nexport interface MessageBody {\n message: string;\n type: string;\n}\n\nexport interface WatchOptions {\n needValidate?: boolean;\n}\n\ninterface Validate {\n required?: boolean;\n pattern?: string;\n min?: number;\n max?: number;\n message?: {\n required?: string;\n pattern?: string;\n min?: string;\n max?: string;\n };\n validator?: (value: any) => MessageBody | string;\n}\n\nlet uid = 0;\n\nclass Field {\n field: string;\n detail: FieldDetail;\n constructor(name: string, detail: FieldDetail) {\n this.field = name;\n this.detail = detail;\n }\n}\n\nexport class FormStore extends PubSub {\n static uid: number;\n static instance: Map<number, FormStore> = new Map();\n static getInstance(options?: FormStoreOptions): FormStore {\n if (!this.instance.get(uid)) {\n this.uid = uid;\n this.instance.set(this.uid, new FormStore(options));\n uid += 1;\n }\n return this.instance.get(this.uid) as FormStore;\n }\n\n #fields: Map<string, Field> = new Map();\n #options: FormStoreOptions | undefined;\n #formData!: Record<string, unknown>;\n #initData: Record<string, unknown> | undefined;\n\n constructor(options?: FormStoreOptions) {\n super();\n this.#formData = {};\n this.#options = options;\n }\n\n setField(name: string, detail: FieldDetail) {\n this.#fields.set(name, new Field(name, detail));\n }\n #getAllFields() {\n return [...this.#fields.keys()].filter((key) => {\n return !this.#fields.get(key)!.detail?.notRender;\n });\n }\n\n getAllValues() {\n const allFields = this.#getAllFields();\n const formData = Object.fromEntries(\n Object.entries(this.#formData)\n .map(([k, v]) => {\n if (allFields.includes(k)) {\n return [k, v];\n }\n return [];\n })\n .filter((item) => item.length)\n );\n return formData;\n }\n\n setInitValue(values: Record<string, unknown>, isEmitValuseChange = true) {\n this.#initData = values;\n this.setFieldsValue(values, isEmitValuseChange);\n }\n\n setFieldsValueByInitData(name: string) {\n const value = this.#initData?.[name];\n if (!isNil(value)) {\n this.#formData[name] = value;\n this.publish(`${name}.init.value`, value);\n }\n }\n\n setFieldsValue(values: Record<string, unknown>, isEmitValuseChange = true) {\n const newFormData: Record<string, unknown> = {\n ...this.#formData,\n };\n Object.entries(values).forEach(([k, v]) => {\n newFormData[k] = v;\n this.#initData && (this.#initData[k] = v);\n this.publish(`${k}.init.value`, v);\n });\n this.#formData = newFormData;\n\n if (isEmitValuseChange) {\n this.#options?.onValuesChanged?.({\n changedValues: values,\n allValues: this.getAllValues(),\n });\n }\n }\n\n resetFields(name?: string) {\n if (name) {\n delete this.#formData[name];\n this.publish(`${name}.reset.fields`, null);\n } else {\n this.#formData = {};\n this.publish(\"reset.fields\", null);\n }\n this.resetValidateState();\n }\n\n getFieldsValue(name?: string) {\n if (name) {\n return this.#formData[name];\n }\n return this.getAllValues();\n }\n\n removeField(name: string) {\n this.#fields.delete(name);\n }\n\n validateFields(\n callback: (err: boolean, value: any) => void\n ): boolean | Record<string, unknown> {\n const allFields = this.#getAllFields();\n const results: Array<MessageBody | undefined> = [];\n allFields.forEach((name) => {\n const field = this.#fields.get(name);\n if (field) {\n results.push(this.validateField(field.detail));\n }\n });\n\n if (results.some((result) => result?.type !== \"normal\")) {\n callback(\n true,\n results.filter((result) => result?.type !== \"normal\")\n );\n return false;\n } else {\n const formData = this.getAllValues();\n callback(false, formData);\n return formData;\n }\n }\n\n validateField(field: string | FieldDetail) {\n const fieldDetail =\n typeof field === \"string\" ? this.#fields.get(field)?.detail : field;\n if (!fieldDetail) return;\n const { name, label, validate } = fieldDetail;\n const validateValue = this.#formData[name];\n\n const messageBody = (message: string, type = \"error\") => {\n return {\n type,\n message,\n };\n };\n\n const getName = () => label ?? name;\n\n const valid = (validate: Validate, value: string): MessageBody => {\n const { required, pattern, message, min, max, validator } = validate;\n const label = getName();\n\n if (\n required &&\n (typeof value === \"object\"\n ? isEmpty(value)\n : value === undefined || value === null)\n ) {\n return messageBody(message?.required || `${label}为必填项`);\n }\n\n if (pattern && value) {\n const reg = new RegExp(pattern);\n if (!reg.test(value)) {\n return messageBody(\n message?.pattern || `${label}没有匹配正则 ${pattern}`\n );\n }\n }\n\n if (min && (!value || value.length < min)) {\n return messageBody(message?.min || `${label}至少包含 ${min} 个字符`);\n }\n\n if (max && value && value.length > max) {\n return messageBody(message?.max || `${label}不能超过 ${max} 个字符`);\n }\n\n if (validator) {\n let result = \"\";\n let parsedValidator = [];\n if (Array.isArray(validator)) {\n parsedValidator = validator;\n } else {\n parsedValidator.push(validator);\n }\n\n for (const v of parsedValidator) {\n result = v(value);\n\n if (result) {\n break;\n }\n }\n return typeof result === \"string\"\n ? messageBody(result, result ? \"error\" : \"normal\")\n : (result as MessageBody);\n }\n\n return messageBody(\"\", \"normal\");\n };\n\n const result = valid(validate, validateValue as string);\n this.publish(`${name}.validate`, result);\n return result;\n }\n\n getValueFromEvent(e: React.ChangeEvent): any {\n if (!e || !e.target) {\n return e;\n }\n const target = e.target as HTMLInputElement;\n return target.type === \"checkbox\" ? target.checked : target.value;\n }\n\n resetValidateState() {\n this.publish(`reset.validate`, null);\n }\n\n onWatch(\n name: string,\n event: any,\n callback?: (v: string) => void,\n options?: WatchOptions\n ) {\n const field = this.#fields.get(name);\n\n if (field) {\n const value = this.getValueFromEvent(event);\n // default first params is value\n const realValue = Array.isArray(value) ? value[0] : value;\n\n this.setFieldsValue({\n [name]: realValue,\n });\n\n if (options?.needValidate ?? true) {\n this.validateField(field.detail);\n }\n callback?.apply(this, value);\n }\n }\n\n onChange(\n name: string,\n value: any,\n callback?: (v: string) => void,\n options?: WatchOptions\n ) {\n const field = this.#fields.get(name);\n\n if (field) {\n this.setFieldsValue({\n [name]: value,\n });\n\n if (options?.needValidate ?? true) {\n this.validateField(field.detail);\n }\n callback?.(value);\n }\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,34 +1,25 @@
|
|
|
1
|
+
import _classPrivateMethodInitSpec from "@babel/runtime/helpers/classPrivateMethodInitSpec";
|
|
1
2
|
import _classPrivateFieldInitSpec from "@babel/runtime/helpers/classPrivateFieldInitSpec";
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
var _initProto,
|
|
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
|
|
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
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
_classPrivateFieldInitSpec(this,
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
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
|
-
|
|
44
|
+
_classPrivateSetter(_FormItemElementBase_brand, _set_validate, this, value);
|
|
85
45
|
this._render();
|
|
86
46
|
}
|
|
87
47
|
get validateState() {
|
|
88
|
-
return
|
|
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
|
-
|
|
58
|
+
_classPrivateSetter(_FormItemElementBase_brand, _set__notRender, this, value);
|
|
99
59
|
this._render();
|
|
100
60
|
}
|
|
101
61
|
get notRender() {
|
|
102
|
-
return
|
|
62
|
+
return _classPrivateGetter(_FormItemElementBase_brand, this, _get__notRender);
|
|
103
63
|
}
|
|
104
64
|
get $bindFormItem() {
|
|
105
|
-
return
|
|
65
|
+
return _classPrivateGetter(_FormItemElementBase_brand, this, _get_bindFormItem);
|
|
106
66
|
}
|
|
107
67
|
set $bindFormItem(value) {
|
|
108
|
-
|
|
68
|
+
_classPrivateSetter(_FormItemElementBase_brand, _set_bindFormItem, this, value);
|
|
109
69
|
this._render();
|
|
110
70
|
}
|
|
111
71
|
get helpBrick() {
|
|
112
|
-
return _classPrivateFieldGet(
|
|
72
|
+
return _classPrivateFieldGet(_D, this);
|
|
113
73
|
}
|
|
114
74
|
set helpBrick(v) {
|
|
115
|
-
_classPrivateFieldSet(
|
|
75
|
+
_classPrivateFieldSet(_D, this, v);
|
|
116
76
|
}
|
|
117
77
|
get labelBrick() {
|
|
118
|
-
return _classPrivateFieldGet(
|
|
78
|
+
return _classPrivateFieldGet(_E, this);
|
|
119
79
|
}
|
|
120
80
|
set labelBrick(v) {
|
|
121
|
-
_classPrivateFieldSet(
|
|
81
|
+
_classPrivateFieldSet(_E, this, v);
|
|
122
82
|
}
|
|
123
83
|
get labelCol() {
|
|
124
|
-
return _classPrivateFieldGet(
|
|
84
|
+
return _classPrivateFieldGet(_F, this);
|
|
125
85
|
}
|
|
126
86
|
set labelCol(v) {
|
|
127
|
-
_classPrivateFieldSet(
|
|
87
|
+
_classPrivateFieldSet(_F, this, v);
|
|
128
88
|
}
|
|
129
89
|
get wrapperCol() {
|
|
130
|
-
return _classPrivateFieldGet(
|
|
90
|
+
return _classPrivateFieldGet(_G, this);
|
|
131
91
|
}
|
|
132
92
|
set wrapperCol(v) {
|
|
133
|
-
_classPrivateFieldSet(
|
|
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(
|
|
110
|
+
function _get__notRender(_this) {
|
|
111
|
+
return _classPrivateFieldGet(_A, _this);
|
|
152
112
|
}
|
|
153
|
-
function _set__notRender(v) {
|
|
154
|
-
_classPrivateFieldSet(
|
|
113
|
+
function _set__notRender(_this2, v) {
|
|
114
|
+
_classPrivateFieldSet(_A, _this2, v);
|
|
155
115
|
}
|
|
156
|
-
function _get_validate() {
|
|
157
|
-
return _classPrivateFieldGet(
|
|
116
|
+
function _get_validate(_this3) {
|
|
117
|
+
return _classPrivateFieldGet(_B, _this3);
|
|
158
118
|
}
|
|
159
|
-
function _set_validate(v) {
|
|
160
|
-
_classPrivateFieldSet(
|
|
119
|
+
function _set_validate(_this4, v) {
|
|
120
|
+
_classPrivateFieldSet(_B, _this4, v);
|
|
161
121
|
}
|
|
162
|
-
function _get_bindFormItem() {
|
|
163
|
-
return _classPrivateFieldGet(
|
|
122
|
+
function _get_bindFormItem(_this5) {
|
|
123
|
+
return _classPrivateFieldGet(_C, _this5);
|
|
164
124
|
}
|
|
165
|
-
function _set_bindFormItem(v) {
|
|
166
|
-
_classPrivateFieldSet(
|
|
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, [
|
|
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","
|
|
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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"}
|
package/dist/esm/FormStore.js
CHANGED
|
@@ -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
|
|
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,32 +32,20 @@ export class FormStore extends PubSub {
|
|
|
32
32
|
}
|
|
33
33
|
constructor(options) {
|
|
34
34
|
super();
|
|
35
|
-
_classPrivateMethodInitSpec(this,
|
|
36
|
-
_classPrivateFieldInitSpec(this, _fields,
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
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(
|
|
44
|
+
_classPrivateFieldGet(_fields, this).set(name, new Field(name, detail));
|
|
57
45
|
}
|
|
58
46
|
getAllValues() {
|
|
59
|
-
var allFields =
|
|
60
|
-
var formData = Object.fromEntries(Object.entries(_classPrivateFieldGet(
|
|
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];
|
|
@@ -68,30 +56,30 @@ export class FormStore extends PubSub {
|
|
|
68
56
|
}
|
|
69
57
|
setInitValue(values) {
|
|
70
58
|
var isEmitValuseChange = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
71
|
-
_classPrivateFieldSet(
|
|
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(
|
|
64
|
+
var value = (_classPrivateFieldGet2 = _classPrivateFieldGet(_initData, this)) === null || _classPrivateFieldGet2 === void 0 ? void 0 : _classPrivateFieldGet2[name];
|
|
77
65
|
if (!isNil(value)) {
|
|
78
|
-
_classPrivateFieldGet(
|
|
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 newFormData = _objectSpread({}, _classPrivateFieldGet(
|
|
72
|
+
var newFormData = _objectSpread({}, _classPrivateFieldGet(_formData, this));
|
|
85
73
|
Object.entries(values).forEach(_ref2 => {
|
|
86
74
|
var [k, v] = _ref2;
|
|
87
75
|
newFormData[k] = v;
|
|
88
|
-
_classPrivateFieldGet(
|
|
76
|
+
_classPrivateFieldGet(_initData, this) && (_classPrivateFieldGet(_initData, this)[k] = v);
|
|
89
77
|
this.publish("".concat(k, ".init.value"), v);
|
|
90
78
|
});
|
|
91
|
-
_classPrivateFieldSet(
|
|
79
|
+
_classPrivateFieldSet(_formData, this, newFormData);
|
|
92
80
|
if (isEmitValuseChange) {
|
|
93
81
|
var _classPrivateFieldGet3, _classPrivateFieldGet4;
|
|
94
|
-
(_classPrivateFieldGet3 = _classPrivateFieldGet(
|
|
82
|
+
(_classPrivateFieldGet3 = _classPrivateFieldGet(_options, this)) === null || _classPrivateFieldGet3 === void 0 || (_classPrivateFieldGet4 = _classPrivateFieldGet3.onValuesChanged) === null || _classPrivateFieldGet4 === void 0 || _classPrivateFieldGet4.call(_classPrivateFieldGet3, {
|
|
95
83
|
changedValues: values,
|
|
96
84
|
allValues: this.getAllValues()
|
|
97
85
|
});
|
|
@@ -99,27 +87,28 @@ export class FormStore extends PubSub {
|
|
|
99
87
|
}
|
|
100
88
|
resetFields(name) {
|
|
101
89
|
if (name) {
|
|
102
|
-
this
|
|
90
|
+
delete _classPrivateFieldGet(_formData, this)[name];
|
|
103
91
|
this.publish("".concat(name, ".reset.fields"), null);
|
|
104
92
|
} else {
|
|
105
|
-
|
|
93
|
+
_classPrivateFieldSet(_formData, this, {});
|
|
106
94
|
this.publish("reset.fields", null);
|
|
107
95
|
}
|
|
96
|
+
this.resetValidateState();
|
|
108
97
|
}
|
|
109
98
|
getFieldsValue(name) {
|
|
110
99
|
if (name) {
|
|
111
|
-
return _classPrivateFieldGet(
|
|
100
|
+
return _classPrivateFieldGet(_formData, this)[name];
|
|
112
101
|
}
|
|
113
102
|
return this.getAllValues();
|
|
114
103
|
}
|
|
115
104
|
removeField(name) {
|
|
116
|
-
_classPrivateFieldGet(
|
|
105
|
+
_classPrivateFieldGet(_fields, this).delete(name);
|
|
117
106
|
}
|
|
118
107
|
validateFields(callback) {
|
|
119
|
-
var allFields =
|
|
108
|
+
var allFields = _assertClassBrand(_FormStore_brand, this, _getAllFields).call(this);
|
|
120
109
|
var results = [];
|
|
121
110
|
allFields.forEach(name => {
|
|
122
|
-
var field = _classPrivateFieldGet(
|
|
111
|
+
var field = _classPrivateFieldGet(_fields, this).get(name);
|
|
123
112
|
if (field) {
|
|
124
113
|
results.push(this.validateField(field.detail));
|
|
125
114
|
}
|
|
@@ -135,14 +124,14 @@ export class FormStore extends PubSub {
|
|
|
135
124
|
}
|
|
136
125
|
validateField(field) {
|
|
137
126
|
var _classPrivateFieldGet5;
|
|
138
|
-
var fieldDetail = typeof field === "string" ? (_classPrivateFieldGet5 = _classPrivateFieldGet(
|
|
127
|
+
var fieldDetail = typeof field === "string" ? (_classPrivateFieldGet5 = _classPrivateFieldGet(_fields, this).get(field)) === null || _classPrivateFieldGet5 === void 0 ? void 0 : _classPrivateFieldGet5.detail : field;
|
|
139
128
|
if (!fieldDetail) return;
|
|
140
129
|
var {
|
|
141
130
|
name,
|
|
142
131
|
label,
|
|
143
132
|
validate
|
|
144
133
|
} = fieldDetail;
|
|
145
|
-
var validateValue = _classPrivateFieldGet(
|
|
134
|
+
var validateValue = _classPrivateFieldGet(_formData, this)[name];
|
|
146
135
|
var messageBody = function (message) {
|
|
147
136
|
var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "error";
|
|
148
137
|
return {
|
|
@@ -161,7 +150,7 @@ export class FormStore extends PubSub {
|
|
|
161
150
|
validator
|
|
162
151
|
} = validate;
|
|
163
152
|
var label = getName();
|
|
164
|
-
if (required && (typeof value === "object" ? isEmpty(value) :
|
|
153
|
+
if (required && (typeof value === "object" ? isEmpty(value) : value === undefined || value === null)) {
|
|
165
154
|
return messageBody((message === null || message === void 0 ? void 0 : message.required) || "".concat(label, "\u4E3A\u5FC5\u586B\u9879"));
|
|
166
155
|
}
|
|
167
156
|
if (pattern && value) {
|
|
@@ -209,7 +198,7 @@ export class FormStore extends PubSub {
|
|
|
209
198
|
this.publish("reset.validate", null);
|
|
210
199
|
}
|
|
211
200
|
onWatch(name, event, callback, options) {
|
|
212
|
-
var field = _classPrivateFieldGet(
|
|
201
|
+
var field = _classPrivateFieldGet(_fields, this).get(name);
|
|
213
202
|
if (field) {
|
|
214
203
|
var _options$needValidate;
|
|
215
204
|
var _value = this.getValueFromEvent(event);
|
|
@@ -225,7 +214,7 @@ export class FormStore extends PubSub {
|
|
|
225
214
|
}
|
|
226
215
|
}
|
|
227
216
|
onChange(name, value, callback, options) {
|
|
228
|
-
var field = _classPrivateFieldGet(
|
|
217
|
+
var field = _classPrivateFieldGet(_fields, this).get(name);
|
|
229
218
|
if (field) {
|
|
230
219
|
var _options$needValidate2;
|
|
231
220
|
this.setFieldsValue({
|
|
@@ -238,10 +227,10 @@ export class FormStore extends PubSub {
|
|
|
238
227
|
}
|
|
239
228
|
}
|
|
240
229
|
}
|
|
241
|
-
function
|
|
242
|
-
return [..._classPrivateFieldGet(
|
|
230
|
+
function _getAllFields() {
|
|
231
|
+
return [..._classPrivateFieldGet(_fields, this).keys()].filter(key => {
|
|
243
232
|
var _detail;
|
|
244
|
-
return !((_detail = _classPrivateFieldGet(
|
|
233
|
+
return !((_detail = _classPrivateFieldGet(_fields, this).get(key).detail) !== null && _detail !== void 0 && _detail.notRender);
|
|
245
234
|
});
|
|
246
235
|
}
|
|
247
236
|
_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","item","length","setInitValue","values","isEmitValuseChange","arguments","undefined","setFieldsValue","setFieldsValueByInitData","_classPrivateFieldGet2","publish","concat","newFormData","_objectSpread","forEach","_ref2","_classPrivateFieldGet3","_classPrivateFieldGet4","onValuesChanged","changedValues","allValues","resetFields","removeField","clear","getFieldsValue","delete","validateFields","callback","results","push","validateField","some","result","type","_classPrivateFieldGet5","fieldDetail","label","validate","validateValue","messageBody","message","getName","valid","required","pattern","min","max","validator","reg","RegExp","test","parsedValidator","Array","isArray","getValueFromEvent","e","target","checked","resetValidateState","onWatch","event","_options$needValidate","realValue","needValidate","apply","onChange","_options$needValidate2","keys","key","_detail","notRender"],"sources":["../../src/FormStore.ts"],"sourcesContent":["import { isEmpty, isNil } from \"lodash\";\nimport { PubSub } from \"./PubSub.js\";\n\ninterface FormStoreOptions {\n onValuesChanged?: (data: any) => void;\n}\n\nexport interface FieldDetail {\n name: string;\n label?: string;\n notRender?: boolean;\n originProps?: Record<string, any>;\n validate: Validate;\n [k: string]: any;\n}\n\nexport interface MessageBody {\n message: string;\n type: string;\n}\n\nexport interface WatchOptions {\n needValidate?: boolean;\n}\n\ninterface Validate {\n required?: boolean;\n pattern?: string;\n min?: number;\n max?: number;\n message?: {\n required?: string;\n pattern?: string;\n min?: string;\n max?: string;\n };\n validator?: (value: any) => MessageBody | string;\n}\n\nlet uid = 0;\n\nclass Field {\n field: string;\n detail: FieldDetail;\n constructor(name: string, detail: FieldDetail) {\n this.field = name;\n this.detail = detail;\n }\n}\n\nexport class FormStore extends PubSub {\n static uid: number;\n static instance: Map<number, FormStore> = new Map();\n static getInstance(options?: FormStoreOptions): FormStore {\n if (!this.instance.get(uid)) {\n this.uid = uid;\n this.instance.set(this.uid, new FormStore(options));\n uid += 1;\n }\n return this.instance.get(this.uid) as FormStore;\n }\n\n #fields: Map<string, Field> = new Map();\n #options: FormStoreOptions | undefined;\n #formData!: Record<string, unknown>;\n #initData: Record<string, unknown> | undefined;\n\n constructor(options?: FormStoreOptions) {\n super();\n this.#formData = {};\n this.#options = options;\n }\n\n setField(name: string, detail: FieldDetail) {\n this.#fields.set(name, new Field(name, detail));\n }\n #getAllFields() {\n return [...this.#fields.keys()].filter((key) => {\n return !this.#fields.get(key)!.detail?.notRender;\n });\n }\n\n getAllValues() {\n const allFields = this.#getAllFields();\n const formData = Object.fromEntries(\n Object.entries(this.#formData)\n .map(([k, v]) => {\n if (allFields.includes(k)) {\n return [k, v];\n }\n return [];\n })\n .filter((item) => item.length)\n );\n return formData;\n }\n\n setInitValue(values: Record<string, unknown>, isEmitValuseChange = true) {\n this.#initData = values;\n this.setFieldsValue(values, isEmitValuseChange);\n }\n\n setFieldsValueByInitData(name: string) {\n const value = this.#initData?.[name];\n if (!isNil(value)) {\n this.#formData[name] = value;\n this.publish(`${name}.init.value`, value);\n }\n }\n\n setFieldsValue(values: Record<string, unknown>, isEmitValuseChange = true) {\n const newFormData: Record<string, unknown> = {\n ...this.#formData,\n };\n Object.entries(values).forEach(([k, v]) => {\n newFormData[k] = v;\n this.#initData && (this.#initData[k] = v);\n this.publish(`${k}.init.value`, v);\n });\n this.#formData = newFormData;\n\n if (isEmitValuseChange) {\n this.#options?.onValuesChanged?.({\n changedValues: values,\n allValues: this.getAllValues(),\n });\n }\n }\n\n resetFields(name?: string) {\n if (name) {\n this.removeField(name);\n this.publish(`${name}.reset.fields`, null);\n } else {\n this.#fields.clear();\n this.publish(\"reset.fields\", null);\n }\n }\n\n getFieldsValue(name?: string) {\n if (name) {\n return this.#formData[name];\n }\n return this.getAllValues();\n }\n\n removeField(name: string) {\n this.#fields.delete(name);\n }\n\n validateFields(\n callback: (err: boolean, value: any) => void\n ): boolean | Record<string, unknown> {\n const allFields = this.#getAllFields();\n const results: Array<MessageBody | undefined> = [];\n allFields.forEach((name) => {\n const field = this.#fields.get(name);\n if (field) {\n results.push(this.validateField(field.detail));\n }\n });\n\n if (results.some((result) => result?.type !== \"normal\")) {\n callback(\n true,\n results.filter((result) => result?.type !== \"normal\")\n );\n return false;\n } else {\n const formData = this.getAllValues();\n callback(false, formData);\n return formData;\n }\n }\n\n validateField(field: string | FieldDetail) {\n const fieldDetail =\n typeof field === \"string\" ? this.#fields.get(field)?.detail : field;\n if (!fieldDetail) return;\n const { name, label, validate } = fieldDetail;\n const validateValue = this.#formData[name];\n\n const messageBody = (message: string, type = \"error\") => {\n return {\n type,\n message,\n };\n };\n\n const getName = () => label ?? name;\n\n const valid = (validate: Validate, value: string): MessageBody => {\n const { required, pattern, message, min, max, validator } = validate;\n const label = getName();\n\n if (\n required &&\n (typeof value === \"object\"\n ? isEmpty(value)\n : typeof value === \"number\"\n ? false\n : !value)\n ) {\n return messageBody(message?.required || `${label}为必填项`);\n }\n\n if (pattern && value) {\n const reg = new RegExp(pattern);\n if (!reg.test(value)) {\n return messageBody(\n message?.pattern || `${label}没有匹配正则 ${pattern}`\n );\n }\n }\n\n if (min && (!value || value.length < min)) {\n return messageBody(message?.min || `${label}至少包含 ${min} 个字符`);\n }\n\n if (max && value && value.length > max) {\n return messageBody(message?.max || `${label}不能超过 ${max} 个字符`);\n }\n\n if (validator) {\n let result = \"\";\n let parsedValidator = [];\n if (Array.isArray(validator)) {\n parsedValidator = validator;\n } else {\n parsedValidator.push(validator);\n }\n\n for (const v of parsedValidator) {\n result = v(value);\n\n if (result) {\n break;\n }\n }\n return typeof result === \"string\"\n ? messageBody(result, result ? \"error\" : \"normal\")\n : (result as MessageBody);\n }\n\n return messageBody(\"\", \"normal\");\n };\n\n const result = valid(validate, validateValue as string);\n this.publish(`${name}.validate`, result);\n return result;\n }\n\n getValueFromEvent(e: React.ChangeEvent): any {\n if (!e || !e.target) {\n return e;\n }\n const target = e.target as HTMLInputElement;\n return target.type === \"checkbox\" ? target.checked : target.value;\n }\n\n resetValidateState() {\n this.publish(`reset.validate`, null);\n }\n\n onWatch(\n name: string,\n event: any,\n callback?: (v: string) => void,\n options?: WatchOptions\n ) {\n const field = this.#fields.get(name);\n\n if (field) {\n const value = this.getValueFromEvent(event);\n // default first params is value\n const realValue = Array.isArray(value) ? value[0] : value;\n\n this.setFieldsValue({\n [name]: realValue,\n });\n\n if (options?.needValidate ?? true) {\n this.validateField(field.detail);\n }\n callback?.apply(this, value);\n }\n }\n\n onChange(\n name: string,\n value: any,\n callback?: (v: string) => void,\n options?: WatchOptions\n ) {\n const field = this.#fields.get(name);\n\n if (field) {\n this.setFieldsValue({\n [name]: value,\n });\n\n if (options?.needValidate ?? true) {\n this.validateField(field.detail);\n }\n callback?.(value);\n }\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FormStore.js","names":["isEmpty","isNil","PubSub","uid","Field","constructor","name","detail","_defineProperty","field","_fields","WeakMap","_options","_formData","_initData","_FormStore_brand","WeakSet","FormStore","getInstance","options","instance","get","set","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","Map","_classPrivateFieldSet","setField","_classPrivateFieldGet","getAllValues","allFields","_assertClassBrand","_getAllFields","call","formData","Object","fromEntries","entries","map","_ref","k","v","includes","filter","item","length","setInitValue","values","isEmitValuseChange","arguments","undefined","setFieldsValue","setFieldsValueByInitData","_classPrivateFieldGet2","value","publish","concat","newFormData","_objectSpread","forEach","_ref2","_classPrivateFieldGet3","_classPrivateFieldGet4","onValuesChanged","changedValues","allValues","resetFields","resetValidateState","getFieldsValue","removeField","delete","validateFields","callback","results","push","validateField","some","result","type","_classPrivateFieldGet5","fieldDetail","label","validate","validateValue","messageBody","message","getName","valid","required","pattern","min","max","validator","reg","RegExp","test","parsedValidator","Array","isArray","getValueFromEvent","e","target","checked","onWatch","event","_options$needValidate","realValue","needValidate","apply","onChange","_options$needValidate2","keys","key","_detail","notRender"],"sources":["../../src/FormStore.ts"],"sourcesContent":["import { isEmpty, isNil } from \"lodash\";\nimport { PubSub } from \"./PubSub.js\";\n\ninterface FormStoreOptions {\n onValuesChanged?: (data: any) => void;\n}\n\nexport interface FieldDetail {\n name: string;\n label?: string;\n notRender?: boolean;\n originProps?: Record<string, any>;\n validate: Validate;\n [k: string]: any;\n}\n\nexport interface MessageBody {\n message: string;\n type: string;\n}\n\nexport interface WatchOptions {\n needValidate?: boolean;\n}\n\ninterface Validate {\n required?: boolean;\n pattern?: string;\n min?: number;\n max?: number;\n message?: {\n required?: string;\n pattern?: string;\n min?: string;\n max?: string;\n };\n validator?: (value: any) => MessageBody | string;\n}\n\nlet uid = 0;\n\nclass Field {\n field: string;\n detail: FieldDetail;\n constructor(name: string, detail: FieldDetail) {\n this.field = name;\n this.detail = detail;\n }\n}\n\nexport class FormStore extends PubSub {\n static uid: number;\n static instance: Map<number, FormStore> = new Map();\n static getInstance(options?: FormStoreOptions): FormStore {\n if (!this.instance.get(uid)) {\n this.uid = uid;\n this.instance.set(this.uid, new FormStore(options));\n uid += 1;\n }\n return this.instance.get(this.uid) as FormStore;\n }\n\n #fields: Map<string, Field> = new Map();\n #options: FormStoreOptions | undefined;\n #formData!: Record<string, unknown>;\n #initData: Record<string, unknown> | undefined;\n\n constructor(options?: FormStoreOptions) {\n super();\n this.#formData = {};\n this.#options = options;\n }\n\n setField(name: string, detail: FieldDetail) {\n this.#fields.set(name, new Field(name, detail));\n }\n #getAllFields() {\n return [...this.#fields.keys()].filter((key) => {\n return !this.#fields.get(key)!.detail?.notRender;\n });\n }\n\n getAllValues() {\n const allFields = this.#getAllFields();\n const formData = Object.fromEntries(\n Object.entries(this.#formData)\n .map(([k, v]) => {\n if (allFields.includes(k)) {\n return [k, v];\n }\n return [];\n })\n .filter((item) => item.length)\n );\n return formData;\n }\n\n setInitValue(values: Record<string, unknown>, isEmitValuseChange = true) {\n this.#initData = values;\n this.setFieldsValue(values, isEmitValuseChange);\n }\n\n setFieldsValueByInitData(name: string) {\n const value = this.#initData?.[name];\n if (!isNil(value)) {\n this.#formData[name] = value;\n this.publish(`${name}.init.value`, value);\n }\n }\n\n setFieldsValue(values: Record<string, unknown>, isEmitValuseChange = true) {\n const newFormData: Record<string, unknown> = {\n ...this.#formData,\n };\n Object.entries(values).forEach(([k, v]) => {\n newFormData[k] = v;\n this.#initData && (this.#initData[k] = v);\n this.publish(`${k}.init.value`, v);\n });\n this.#formData = newFormData;\n\n if (isEmitValuseChange) {\n this.#options?.onValuesChanged?.({\n changedValues: values,\n allValues: this.getAllValues(),\n });\n }\n }\n\n resetFields(name?: string) {\n if (name) {\n delete this.#formData[name];\n this.publish(`${name}.reset.fields`, null);\n } else {\n this.#formData = {};\n this.publish(\"reset.fields\", null);\n }\n this.resetValidateState();\n }\n\n getFieldsValue(name?: string) {\n if (name) {\n return this.#formData[name];\n }\n return this.getAllValues();\n }\n\n removeField(name: string) {\n this.#fields.delete(name);\n }\n\n validateFields(\n callback: (err: boolean, value: any) => void\n ): boolean | Record<string, unknown> {\n const allFields = this.#getAllFields();\n const results: Array<MessageBody | undefined> = [];\n allFields.forEach((name) => {\n const field = this.#fields.get(name);\n if (field) {\n results.push(this.validateField(field.detail));\n }\n });\n\n if (results.some((result) => result?.type !== \"normal\")) {\n callback(\n true,\n results.filter((result) => result?.type !== \"normal\")\n );\n return false;\n } else {\n const formData = this.getAllValues();\n callback(false, formData);\n return formData;\n }\n }\n\n validateField(field: string | FieldDetail) {\n const fieldDetail =\n typeof field === \"string\" ? this.#fields.get(field)?.detail : field;\n if (!fieldDetail) return;\n const { name, label, validate } = fieldDetail;\n const validateValue = this.#formData[name];\n\n const messageBody = (message: string, type = \"error\") => {\n return {\n type,\n message,\n };\n };\n\n const getName = () => label ?? name;\n\n const valid = (validate: Validate, value: string): MessageBody => {\n const { required, pattern, message, min, max, validator } = validate;\n const label = getName();\n\n if (\n required &&\n (typeof value === \"object\"\n ? isEmpty(value)\n : value === undefined || value === null)\n ) {\n return messageBody(message?.required || `${label}为必填项`);\n }\n\n if (pattern && value) {\n const reg = new RegExp(pattern);\n if (!reg.test(value)) {\n return messageBody(\n message?.pattern || `${label}没有匹配正则 ${pattern}`\n );\n }\n }\n\n if (min && (!value || value.length < min)) {\n return messageBody(message?.min || `${label}至少包含 ${min} 个字符`);\n }\n\n if (max && value && value.length > max) {\n return messageBody(message?.max || `${label}不能超过 ${max} 个字符`);\n }\n\n if (validator) {\n let result = \"\";\n let parsedValidator = [];\n if (Array.isArray(validator)) {\n parsedValidator = validator;\n } else {\n parsedValidator.push(validator);\n }\n\n for (const v of parsedValidator) {\n result = v(value);\n\n if (result) {\n break;\n }\n }\n return typeof result === \"string\"\n ? messageBody(result, result ? \"error\" : \"normal\")\n : (result as MessageBody);\n }\n\n return messageBody(\"\", \"normal\");\n };\n\n const result = valid(validate, validateValue as string);\n this.publish(`${name}.validate`, result);\n return result;\n }\n\n getValueFromEvent(e: React.ChangeEvent): any {\n if (!e || !e.target) {\n return e;\n }\n const target = e.target as HTMLInputElement;\n return target.type === \"checkbox\" ? target.checked : target.value;\n }\n\n resetValidateState() {\n this.publish(`reset.validate`, null);\n }\n\n onWatch(\n name: string,\n event: any,\n callback?: (v: string) => void,\n options?: WatchOptions\n ) {\n const field = this.#fields.get(name);\n\n if (field) {\n const value = this.getValueFromEvent(event);\n // default first params is value\n const realValue = Array.isArray(value) ? value[0] : value;\n\n this.setFieldsValue({\n [name]: realValue,\n });\n\n if (options?.needValidate ?? true) {\n this.validateField(field.detail);\n }\n callback?.apply(this, value);\n }\n }\n\n onChange(\n name: string,\n value: any,\n callback?: (v: string) => void,\n options?: WatchOptions\n ) {\n const field = this.#fields.get(name);\n\n if (field) {\n this.setFieldsValue({\n [name]: value,\n });\n\n if (options?.needValidate ?? true) {\n this.validateField(field.detail);\n }\n callback?.(value);\n }\n }\n}\n"],"mappings":"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"}
|
package/dist/esm/PubSub.js
CHANGED
|
@@ -1,25 +1,20 @@
|
|
|
1
1
|
import _classPrivateFieldInitSpec from "@babel/runtime/helpers/classPrivateFieldInitSpec";
|
|
2
|
-
|
|
3
|
-
|
|
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
|
-
|
|
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(
|
|
14
|
+
if (!_classPrivateFieldGet(_topics, this)[topic]) {
|
|
20
15
|
return;
|
|
21
16
|
}
|
|
22
|
-
var subscribers = _classPrivateFieldGet(
|
|
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(
|
|
31
|
-
_classPrivateFieldGet(
|
|
25
|
+
if (!_classPrivateFieldGet(_topics, this)[topic]) {
|
|
26
|
+
_classPrivateFieldGet(_topics, this)[topic] = [];
|
|
32
27
|
}
|
|
33
|
-
var token = _classPrivateFieldSet(
|
|
34
|
-
_classPrivateFieldGet(
|
|
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(
|
|
42
|
-
if (_classPrivateFieldGet(
|
|
43
|
-
remove(_classPrivateFieldGet(
|
|
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
|
}
|
package/dist/esm/PubSub.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PubSub.js","names":["remove","_topics","WeakMap","_subUid","PubSub","constructor","_classPrivateFieldInitSpec","
|
|
1
|
+
{"version":3,"file":"PubSub.js","names":["remove","_topics","WeakMap","_subUid","PubSub","constructor","_classPrivateFieldInitSpec","publish","topic","body","_classPrivateFieldGet","subscribers","len","length","func","subscribe","fn","_this$subUid","token","_classPrivateFieldSet","toString","push","unsubscribe","m","item"],"sources":["../../src/PubSub.ts"],"sourcesContent":["import { remove } from \"lodash\";\n\nexport class PubSub {\n #topics: Record<string, { token: string; func: Function }[]> = {};\n #subUid = 0;\n\n publish(topic: string, body: any): void {\n if (!this.#topics[topic]) {\n return;\n }\n const subscribers = this.#topics[topic];\n let len = subscribers ? subscribers.length : 0;\n while (len--) {\n subscribers[len].func(topic, body);\n }\n }\n\n subscribe(topic: string, fn: (topic: string, detail: any) => void): string {\n if (!this.#topics[topic]) {\n this.#topics[topic] = [];\n }\n const token = (++this.#subUid).toString();\n this.#topics[topic].push({\n token: token,\n func: fn,\n });\n return token;\n }\n\n unsubscribe(token: string): void {\n for (const m in this.#topics) {\n if (this.#topics[m]) {\n remove(this.#topics[m], (item) => item.token === token);\n }\n }\n }\n}\n"],"mappings":";;;;AAAA,SAASA,MAAM,QAAQ,QAAQ;AAAC,IAAAC,OAAA,oBAAAC,OAAA;AAAA,IAAAC,OAAA,oBAAAD,OAAA;AAEhC,OAAO,MAAME,MAAM,CAAC;EAAAC,YAAA;IAAAC,0BAAA,OAAAL,OAAA,EAC6C,CAAC,CAAC;IAAAK,0BAAA,OAAAH,OAAA,EACvD,CAAC;EAAA;EAEXI,OAAOA,CAACC,KAAa,EAAEC,IAAS,EAAQ;IACtC,IAAI,CAACC,qBAAA,CAAAT,OAAA,MAAI,EAASO,KAAK,CAAC,EAAE;MACxB;IACF;IACA,IAAMG,WAAW,GAAGD,qBAAA,CAAAT,OAAA,MAAI,EAASO,KAAK,CAAC;IACvC,IAAII,GAAG,GAAGD,WAAW,GAAGA,WAAW,CAACE,MAAM,GAAG,CAAC;IAC9C,OAAOD,GAAG,EAAE,EAAE;MACZD,WAAW,CAACC,GAAG,CAAC,CAACE,IAAI,CAACN,KAAK,EAAEC,IAAI,CAAC;IACpC;EACF;EAEAM,SAASA,CAACP,KAAa,EAAEQ,EAAwC,EAAU;IAAA,IAAAC,YAAA;IACzE,IAAI,CAACP,qBAAA,CAAAT,OAAA,MAAI,EAASO,KAAK,CAAC,EAAE;MACxBE,qBAAA,CAAAT,OAAA,MAAI,EAASO,KAAK,CAAC,GAAG,EAAE;IAC1B;IACA,IAAMU,KAAK,GAAGC,qBAAA,CAAAhB,OAAA,EAAG,IAAI,GAAAc,YAAA,GAAAP,qBAAA,CAAAP,OAAA,EAAJ,IAAI,KAAAc,YAAA,GAAUG,QAAQ,CAAC,CAAC;IACzCV,qBAAA,CAAAT,OAAA,MAAI,EAASO,KAAK,CAAC,CAACa,IAAI,CAAC;MACvBH,KAAK,EAAEA,KAAK;MACZJ,IAAI,EAAEE;IACR,CAAC,CAAC;IACF,OAAOE,KAAK;EACd;EAEAI,WAAWA,CAACJ,KAAa,EAAQ;IAC/B,KAAK,IAAMK,CAAC,IAAAb,qBAAA,CAAAT,OAAA,EAAI,IAAI,GAAU;MAC5B,IAAIS,qBAAA,CAAAT,OAAA,MAAI,EAASsB,CAAC,CAAC,EAAE;QACnBvB,MAAM,CAACU,qBAAA,CAAAT,OAAA,MAAI,EAASsB,CAAC,CAAC,EAAGC,IAAI,IAAKA,IAAI,CAACN,KAAK,KAAKA,KAAK,CAAC;MACzD;IACF;EACF;AACF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@next-shared/form",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.2",
|
|
4
4
|
"homepage": "https://github.com/easyops-cn/next-bricks/tree/master/shared/form",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -34,14 +34,14 @@
|
|
|
34
34
|
"test:ci": "cross-env NODE_ENV='test' CI=true test-next"
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@next-core/element": "^1.2.
|
|
38
|
-
"@next-core/react-element": "^1.0.
|
|
37
|
+
"@next-core/element": "^1.2.3",
|
|
38
|
+
"@next-core/react-element": "^1.0.22",
|
|
39
39
|
"lodash": "^4.17.21"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
|
-
"@next-core/build-next-libs": "^1.0.
|
|
43
|
-
"@next-core/test-next": "^1.0.
|
|
42
|
+
"@next-core/build-next-libs": "^1.0.13",
|
|
43
|
+
"@next-core/test-next": "^1.0.16",
|
|
44
44
|
"concurrently": "^8.2.2"
|
|
45
45
|
},
|
|
46
|
-
"gitHead": "
|
|
46
|
+
"gitHead": "62bc6238805787ec219a63f02abee6ea272f1de5"
|
|
47
47
|
}
|