@next-shared/form 0.3.7 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/Form.js.map +1 -1
- package/dist/cjs/FormItemElement.js +32 -4
- package/dist/cjs/FormItemElement.js.map +1 -1
- package/dist/esm/Form.js.map +1 -1
- package/dist/esm/FormItemElement.js +32 -4
- package/dist/esm/FormItemElement.js.map +1 -1
- package/dist/types/Form.d.ts +16 -0
- package/dist/types/FormItemElement.d.ts +3 -1
- package/package.json +6 -6
package/dist/cjs/Form.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Form.js","names":[],"sources":["../../src/Form.ts"],"sourcesContent":["import type { FormStore } from \"./FormStore.js\";\n\nexport interface AbstractForm extends HTMLElement {\n readonly isFormElement: true;\n formStore: FormStore;\n size?: \"large\" | \"medium\" | \"small\" | \"xs\";\n layout?: \"horizontal\" | \"vertical\" | \"inline\";\n validate(): boolean | Record<string, unknown>;\n validateField(name: string): void;\n resetValidateState(): void;\n}\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"Form.js","names":[],"sources":["../../src/Form.ts"],"sourcesContent":["import type { FormStore } from \"./FormStore.js\";\nexport type ColSpanType = number | string;\n\nexport interface ColSize {\n span?: ColSpanType;\n offset?: ColSpanType;\n}\n\nexport interface ColProps {\n span?: ColSpanType;\n offset?: ColSpanType;\n sm?: ColSpanType | ColSize;\n md?: ColSpanType | ColSize;\n lg?: ColSpanType | ColSize;\n xl?: ColSpanType | ColSize;\n xxl?: ColSpanType | ColSize;\n}\n\nexport interface AbstractForm extends HTMLElement {\n readonly isFormElement: true;\n formStore: FormStore;\n size?: \"large\" | \"medium\" | \"small\" | \"xs\";\n layout?: \"horizontal\" | \"vertical\" | \"inline\";\n labelCol?: ColProps;\n wrapperCol?: ColProps;\n validate(): boolean | Record<string, unknown>;\n validateField(name: string): void;\n resetValidateState(): void;\n}\n"],"mappings":""}
|
|
@@ -11,7 +11,7 @@ var _classPrivateFieldGet2 = _interopRequireDefault(require("@babel/runtime/help
|
|
|
11
11
|
var _applyDecs2 = _interopRequireDefault(require("@babel/runtime/helpers/applyDecs2305"));
|
|
12
12
|
var _element = require("@next-core/element");
|
|
13
13
|
var _reactElement = require("@next-core/react-element");
|
|
14
|
-
var _dec, _init_helpBrick, _dec2, _init_labelBrick, _dec3, _dec4, _initProto, _class;
|
|
14
|
+
var _dec, _init_helpBrick, _dec2, _init_labelBrick, _dec3, _init_labelCol, _dec4, _init_wrapperCol, _dec5, _dec6, _initProto, _class;
|
|
15
15
|
const {
|
|
16
16
|
method,
|
|
17
17
|
property
|
|
@@ -22,8 +22,14 @@ _dec = property({
|
|
|
22
22
|
_dec2 = property({
|
|
23
23
|
attribute: false
|
|
24
24
|
});
|
|
25
|
-
_dec3 =
|
|
26
|
-
|
|
25
|
+
_dec3 = property({
|
|
26
|
+
attribute: false
|
|
27
|
+
});
|
|
28
|
+
_dec4 = property({
|
|
29
|
+
attribute: false
|
|
30
|
+
});
|
|
31
|
+
_dec5 = method();
|
|
32
|
+
_dec6 = method();
|
|
27
33
|
var _A = /*#__PURE__*/new WeakMap();
|
|
28
34
|
var _notRender = /*#__PURE__*/new WeakMap();
|
|
29
35
|
var _B = /*#__PURE__*/new WeakMap();
|
|
@@ -32,6 +38,8 @@ var _C = /*#__PURE__*/new WeakMap();
|
|
|
32
38
|
var _bindFormItem = /*#__PURE__*/new WeakMap();
|
|
33
39
|
var _D = /*#__PURE__*/new WeakMap();
|
|
34
40
|
var _E = /*#__PURE__*/new WeakMap();
|
|
41
|
+
var _F = /*#__PURE__*/new WeakMap();
|
|
42
|
+
var _G = /*#__PURE__*/new WeakMap();
|
|
35
43
|
class FormItemElementBase extends _reactElement.ReactNextElement {
|
|
36
44
|
constructor(...args) {
|
|
37
45
|
super(...args);
|
|
@@ -67,6 +75,14 @@ class FormItemElementBase extends _reactElement.ReactNextElement {
|
|
|
67
75
|
writable: true,
|
|
68
76
|
value: _init_labelBrick(this)
|
|
69
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
|
+
});
|
|
70
86
|
}
|
|
71
87
|
get isFormItemElement() {
|
|
72
88
|
return true;
|
|
@@ -111,6 +127,18 @@ class FormItemElementBase extends _reactElement.ReactNextElement {
|
|
|
111
127
|
set labelBrick(v) {
|
|
112
128
|
(0, _classPrivateFieldSet2.default)(this, _E, v);
|
|
113
129
|
}
|
|
130
|
+
get labelCol() {
|
|
131
|
+
return (0, _classPrivateFieldGet2.default)(this, _F);
|
|
132
|
+
}
|
|
133
|
+
set labelCol(v) {
|
|
134
|
+
(0, _classPrivateFieldSet2.default)(this, _F, v);
|
|
135
|
+
}
|
|
136
|
+
get wrapperCol() {
|
|
137
|
+
return (0, _classPrivateFieldGet2.default)(this, _G);
|
|
138
|
+
}
|
|
139
|
+
set wrapperCol(v) {
|
|
140
|
+
(0, _classPrivateFieldSet2.default)(this, _G, v);
|
|
141
|
+
}
|
|
114
142
|
setNotRender(value) {
|
|
115
143
|
this.notRender = value;
|
|
116
144
|
}
|
|
@@ -145,5 +173,5 @@ function _get_bindFormItem() {
|
|
|
145
173
|
function _set_bindFormItem(v) {
|
|
146
174
|
(0, _classPrivateFieldSet2.default)(this, _C, v);
|
|
147
175
|
}
|
|
148
|
-
[_init_helpBrick, _init_labelBrick, _initProto] = (0, _applyDecs2.default)(_class, [[_dec, 1, "helpBrick"], [_dec2, 1, "labelBrick"], [_dec3, 2, "setNotRender"], [
|
|
176
|
+
[_init_helpBrick, _init_labelBrick, _init_labelCol, _init_wrapperCol, _initProto] = (0, _applyDecs2.default)(_class, [[_dec, 1, "helpBrick"], [_dec2, 1, "labelBrick"], [_dec3, 1, "labelCol"], [_dec4, 1, "wrapperCol"], [_dec5, 2, "setNotRender"], [_dec6, 2, "getFormElement"]], [], 0, void 0, _reactElement.ReactNextElement).e;
|
|
149
177
|
//# sourceMappingURL=FormItemElement.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormItemElement.js","names":["_element","require","_reactElement","_dec","_init_helpBrick","_dec2","_init_labelBrick","_dec3","_dec4","_initProto","_class","method","property","createDecorators","attribute","_A","WeakMap","_notRender","_B","_validate","_C","_bindFormItem","_D","_E","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","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 } 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 @method()\n setNotRender(value: boolean) {\n this.notRender = value;\n }\n\n @method()\n getFormElement(): AbstractForm | null {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n let element: AbstractForm | null = this as unknown as AbstractForm;\n while ((element = element.parentNode as AbstractForm | null)) {\n if (!element || element.isFormElement) {\n break;\n }\n }\n return element as AbstractForm | null;\n }\n}\n"],"mappings":";;;;;;;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AAA4D,IAAAE,IAAA,EAAAC,eAAA,EAAAC,KAAA,EAAAC,gBAAA,EAAAC,KAAA,EAAAC,KAAA,EAAAC,UAAA,EAAAC,MAAA;AAI5D,MAAM;EAAEC,MAAM;EAAEC;AAAS,CAAC,GAAG,IAAAC,yBAAgB,EAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"FormItemElement.js","names":["_element","require","_reactElement","_dec","_init_helpBrick","_dec2","_init_labelBrick","_dec3","_init_labelCol","_dec4","_init_wrapperCol","_dec5","_dec6","_initProto","_class","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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"}
|
package/dist/esm/Form.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Form.js","names":[],"sources":["../../src/Form.ts"],"sourcesContent":["import type { FormStore } from \"./FormStore.js\";\n\nexport interface AbstractForm extends HTMLElement {\n readonly isFormElement: true;\n formStore: FormStore;\n size?: \"large\" | \"medium\" | \"small\" | \"xs\";\n layout?: \"horizontal\" | \"vertical\" | \"inline\";\n validate(): boolean | Record<string, unknown>;\n validateField(name: string): void;\n resetValidateState(): void;\n}\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"Form.js","names":[],"sources":["../../src/Form.ts"],"sourcesContent":["import type { FormStore } from \"./FormStore.js\";\nexport type ColSpanType = number | string;\n\nexport interface ColSize {\n span?: ColSpanType;\n offset?: ColSpanType;\n}\n\nexport interface ColProps {\n span?: ColSpanType;\n offset?: ColSpanType;\n sm?: ColSpanType | ColSize;\n md?: ColSpanType | ColSize;\n lg?: ColSpanType | ColSize;\n xl?: ColSpanType | ColSize;\n xxl?: ColSpanType | ColSize;\n}\n\nexport interface AbstractForm extends HTMLElement {\n readonly isFormElement: true;\n formStore: FormStore;\n size?: \"large\" | \"medium\" | \"small\" | \"xs\";\n layout?: \"horizontal\" | \"vertical\" | \"inline\";\n labelCol?: ColProps;\n wrapperCol?: ColProps;\n validate(): boolean | Record<string, unknown>;\n validateField(name: string): void;\n resetValidateState(): void;\n}\n"],"mappings":""}
|
|
@@ -2,7 +2,7 @@ import _classPrivateFieldInitSpec from "@babel/runtime/helpers/classPrivateField
|
|
|
2
2
|
import _classPrivateFieldSet from "@babel/runtime/helpers/classPrivateFieldSet";
|
|
3
3
|
import _classPrivateFieldGet from "@babel/runtime/helpers/classPrivateFieldGet";
|
|
4
4
|
import _applyDecs from "@babel/runtime/helpers/applyDecs2305";
|
|
5
|
-
var _dec, _init_helpBrick, _dec2, _init_labelBrick, _dec3, _dec4, _initProto, _class;
|
|
5
|
+
var _dec, _init_helpBrick, _dec2, _init_labelBrick, _dec3, _init_labelCol, _dec4, _init_wrapperCol, _dec5, _dec6, _initProto, _class;
|
|
6
6
|
import { createDecorators } from "@next-core/element";
|
|
7
7
|
import { ReactNextElement } from "@next-core/react-element";
|
|
8
8
|
var {
|
|
@@ -15,8 +15,14 @@ _dec = property({
|
|
|
15
15
|
_dec2 = property({
|
|
16
16
|
attribute: false
|
|
17
17
|
});
|
|
18
|
-
_dec3 =
|
|
19
|
-
|
|
18
|
+
_dec3 = property({
|
|
19
|
+
attribute: false
|
|
20
|
+
});
|
|
21
|
+
_dec4 = property({
|
|
22
|
+
attribute: false
|
|
23
|
+
});
|
|
24
|
+
_dec5 = method();
|
|
25
|
+
_dec6 = method();
|
|
20
26
|
var _A = /*#__PURE__*/new WeakMap();
|
|
21
27
|
var _notRender = /*#__PURE__*/new WeakMap();
|
|
22
28
|
var _B = /*#__PURE__*/new WeakMap();
|
|
@@ -25,6 +31,8 @@ var _C = /*#__PURE__*/new WeakMap();
|
|
|
25
31
|
var _bindFormItem = /*#__PURE__*/new WeakMap();
|
|
26
32
|
var _D = /*#__PURE__*/new WeakMap();
|
|
27
33
|
var _E = /*#__PURE__*/new WeakMap();
|
|
34
|
+
var _F = /*#__PURE__*/new WeakMap();
|
|
35
|
+
var _G = /*#__PURE__*/new WeakMap();
|
|
28
36
|
export class FormItemElementBase extends ReactNextElement {
|
|
29
37
|
constructor() {
|
|
30
38
|
super(...arguments);
|
|
@@ -60,6 +68,14 @@ export class FormItemElementBase extends ReactNextElement {
|
|
|
60
68
|
writable: true,
|
|
61
69
|
value: _init_labelBrick(this)
|
|
62
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
|
+
});
|
|
63
79
|
}
|
|
64
80
|
get isFormItemElement() {
|
|
65
81
|
return true;
|
|
@@ -104,6 +120,18 @@ export class FormItemElementBase extends ReactNextElement {
|
|
|
104
120
|
set labelBrick(v) {
|
|
105
121
|
_classPrivateFieldSet(this, _E, v);
|
|
106
122
|
}
|
|
123
|
+
get labelCol() {
|
|
124
|
+
return _classPrivateFieldGet(this, _F);
|
|
125
|
+
}
|
|
126
|
+
set labelCol(v) {
|
|
127
|
+
_classPrivateFieldSet(this, _F, v);
|
|
128
|
+
}
|
|
129
|
+
get wrapperCol() {
|
|
130
|
+
return _classPrivateFieldGet(this, _G);
|
|
131
|
+
}
|
|
132
|
+
set wrapperCol(v) {
|
|
133
|
+
_classPrivateFieldSet(this, _G, v);
|
|
134
|
+
}
|
|
107
135
|
setNotRender(value) {
|
|
108
136
|
this.notRender = value;
|
|
109
137
|
}
|
|
@@ -137,5 +165,5 @@ function _get_bindFormItem() {
|
|
|
137
165
|
function _set_bindFormItem(v) {
|
|
138
166
|
_classPrivateFieldSet(this, _C, v);
|
|
139
167
|
}
|
|
140
|
-
[_init_helpBrick, _init_labelBrick, _initProto] = _applyDecs(_class, [[_dec, 1, "helpBrick"], [_dec2, 1, "labelBrick"], [_dec3, 2, "setNotRender"], [
|
|
168
|
+
[_init_helpBrick, _init_labelBrick, _init_labelCol, _init_wrapperCol, _initProto] = _applyDecs(_class, [[_dec, 1, "helpBrick"], [_dec2, 1, "labelBrick"], [_dec3, 1, "labelCol"], [_dec4, 1, "wrapperCol"], [_dec5, 2, "setNotRender"], [_dec6, 2, "getFormElement"]], [], 0, void 0, ReactNextElement).e;
|
|
141
169
|
//# sourceMappingURL=FormItemElement.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormItemElement.js","names":["createDecorators","ReactNextElement","method","property","_dec","attribute","_dec2","_dec3","_dec4","_A","WeakMap","_notRender","_B","_validate","_C","_bindFormItem","_D","_E","FormItemElementBase","constructor","arguments","_classPrivateFieldInitSpec","get","_get_bindFormItem","set","_set_bindFormItem","_get_validate","_set_validate","_get__notRender","_set__notRender","writable","value","_initProto","_init_helpBrick","_init_labelBrick","isFormItemElement","validateState","_classPrivateFieldSet","_render","_classPrivateFieldGet","notRender","hidden","$bindFormItem","helpBrick","v","labelBrick","setNotRender","getFormElement","element","parentNode","isFormElement","_class","_applyDecs","e"],"sources":["../../src/FormItemElement.tsx"],"sourcesContent":["import { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport type { AbstractForm } 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 @method()\n setNotRender(value: boolean) {\n this.notRender = value;\n }\n\n @method()\n getFormElement(): AbstractForm | null {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n let element: AbstractForm | null = this as unknown as AbstractForm;\n while ((element = element.parentNode as AbstractForm | null)) {\n if (!element || element.isFormElement) {\n break;\n }\n }\n return element as AbstractForm | null;\n }\n}\n"],"mappings":";;;;;AAAA,SAASA,gBAAgB,QAAQ,oBAAoB;AACrD,SAASC,gBAAgB,QAAQ,0BAA0B;AAI3D,IAAM;EAAEC,MAAM;EAAEC;AAAS,CAAC,GAAGH,gBAAgB,CAAC,CAAC;AAACI,IAAA,GAyC7CD,QAAQ,CAAC;EACRE,SAAS,EAAE;AACb,CAAC,CAAC;AAAAC,KAAA,GAKDH,QAAQ,CAAC;EACRE,SAAS,EAAE;AACb,CAAC,CAAC;AAAAE,KAAA,
|
|
1
|
+
{"version":3,"file":"FormItemElement.js","names":["createDecorators","ReactNextElement","method","property","_dec","attribute","_dec2","_dec3","_dec4","_dec5","_dec6","_A","WeakMap","_notRender","_B","_validate","_C","_bindFormItem","_D","_E","_F","_G","FormItemElementBase","constructor","arguments","_classPrivateFieldInitSpec","get","_get_bindFormItem","set","_set_bindFormItem","_get_validate","_set_validate","_get__notRender","_set__notRender","writable","value","_initProto","_init_helpBrick","_init_labelBrick","_init_labelCol","_init_wrapperCol","isFormItemElement","validateState","_classPrivateFieldSet","_render","_classPrivateFieldGet","notRender","hidden","$bindFormItem","helpBrick","v","labelBrick","labelCol","wrapperCol","setNotRender","getFormElement","element","parentNode","isFormElement","_class","_applyDecs","e"],"sources":["../../src/FormItemElement.tsx"],"sourcesContent":["import { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport type { AbstractForm, ColProps } from \"./Form.js\";\nimport { UseSingleBrickConf } from \"@next-core/types\";\n\nconst { method, property } = createDecorators();\n\nexport abstract class FormItemElementBase extends ReactNextElement {\n accessor #_notRender = false;\n accessor #validate = \"normal\";\n accessor #bindFormItem = false;\n\n get isFormItemElement(): true {\n return true;\n }\n\n set validateState(value: string) {\n this.#validate = value;\n this._render();\n }\n get validateState() {\n return this.#validate;\n }\n\n /**\n * 控制该表单项是否隐藏\n * @default false\n * @group ui\n */\n set notRender(value: boolean) {\n this.hidden = value;\n this.#_notRender = value;\n this._render();\n }\n get notRender(): boolean {\n return this.#_notRender;\n }\n\n get $bindFormItem() {\n return this.#bindFormItem;\n }\n set $bindFormItem(value: boolean) {\n this.#bindFormItem = value;\n this._render();\n }\n\n @property({\n attribute: false,\n })\n accessor helpBrick:\n | { useBrick: UseSingleBrickConf | UseSingleBrickConf[] }\n | undefined;\n\n @property({\n attribute: false,\n })\n accessor labelBrick:\n | { useBrick: UseSingleBrickConf | UseSingleBrickConf[] }\n | undefined;\n\n @property({\n attribute: false,\n })\n accessor labelCol: ColProps | undefined;\n\n @property({\n attribute: false,\n })\n accessor wrapperCol: ColProps | undefined;\n\n @method()\n setNotRender(value: boolean) {\n this.notRender = value;\n }\n\n @method()\n getFormElement(): AbstractForm | null {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n let element: AbstractForm | null = this as unknown as AbstractForm;\n while ((element = element.parentNode as AbstractForm | null)) {\n if (!element || element.isFormElement) {\n break;\n }\n }\n return element as AbstractForm | null;\n }\n}\n"],"mappings":";;;;;AAAA,SAASA,gBAAgB,QAAQ,oBAAoB;AACrD,SAASC,gBAAgB,QAAQ,0BAA0B;AAI3D,IAAM;EAAEC,MAAM;EAAEC;AAAS,CAAC,GAAGH,gBAAgB,CAAC,CAAC;AAACI,IAAA,GAyC7CD,QAAQ,CAAC;EACRE,SAAS,EAAE;AACb,CAAC,CAAC;AAAAC,KAAA,GAKDH,QAAQ,CAAC;EACRE,SAAS,EAAE;AACb,CAAC,CAAC;AAAAE,KAAA,GAKDJ,QAAQ,CAAC;EACRE,SAAS,EAAE;AACb,CAAC,CAAC;AAAAG,KAAA,GAGDL,QAAQ,CAAC;EACRE,SAAS,EAAE;AACb,CAAC,CAAC;AAAAI,KAAA,GAGDP,MAAM,CAAC,CAAC;AAAAQ,KAAA,GAKRR,MAAM,CAAC,CAAC;AAAA,IAAAS,EAAA,oBAAAC,OAAA;AAAA,IAAAC,UAAA,oBAAAD,OAAA;AAAA,IAAAE,EAAA,oBAAAF,OAAA;AAAA,IAAAG,SAAA,oBAAAH,OAAA;AAAA,IAAAI,EAAA,oBAAAJ,OAAA;AAAA,IAAAK,aAAA,oBAAAL,OAAA;AAAA,IAAAM,EAAA,oBAAAN,OAAA;AAAA,IAAAO,EAAA,oBAAAP,OAAA;AAAA,IAAAQ,EAAA,oBAAAR,OAAA;AAAA,IAAAS,EAAA,oBAAAT,OAAA;AApEX,OAAO,MAAeU,mBAAmB,SAASrB,gBAAgB,CAAC;EAAAsB,YAAA;IAAA,SAAAC,SAAA;IAAAC,0BAAA,OAAAR,aAAA;MAAAS,GAAA,EAAAC,iBAAA;MAAAC,GAAA,EAAAC;IAAA;IAAAJ,0BAAA,OAAAV,SAAA;MAAAW,GAAA,EAAAI,aAAA;MAAAF,GAAA,EAAAG;IAAA;IAAAN,0BAAA,OAAAZ,UAAA;MAAAa,GAAA,EAAAM,eAAA;MAAAJ,GAAA,EAAAK;IAAA;IAAAR,0BAAA,OAAAd,EAAA;MAAAuB,QAAA;MAAAC,KAAA,EAC1C;IAAK;IAAAV,0BAAA,OAAAX,EAAA;MAAAoB,QAAA;MAAAC,KAAA,EACP;IAAQ;IAAAV,0BAAA,OAAAT,EAAA;MAAAkB,QAAA;MAAAC,KAAA,EACJ;IAAK;IAAAV,0BAAA,OAAAP,EAAA;MAAAgB,QAAA;MAAAC,KAAA,GAAAC,UAAA,QAAAC,eAAA;IAAA;IAAAZ,0BAAA,OAAAN,EAAA;MAAAe,QAAA;MAAAC,KAAA,EAAAG,gBAAA;IAAA;IAAAb,0BAAA,OAAAL,EAAA;MAAAc,QAAA;MAAAC,KAAA,EAAAI,cAAA;IAAA;IAAAd,0BAAA,OAAAJ,EAAA;MAAAa,QAAA;MAAAC,KAAA,EAAAK,gBAAA;IAAA;EAAA;EAE9B,IAAIC,iBAAiBA,CAAA,EAAS;IAC5B,OAAO,IAAI;EACb;EAEA,IAAIC,aAAaA,CAACP,KAAa,EAAE;IAC/BQ,qBAAA,KAAI,EAAA5B,SAAA,EAAaoB,KAAK;IACtB,IAAI,CAACS,OAAO,CAAC,CAAC;EAChB;EACA,IAAIF,aAAaA,CAAA,EAAG;IAClB,OAAAG,qBAAA,CAAO,IAAI,EAAA9B,SAAA;EACb;;EAEA;AACF;AACA;AACA;AACA;EACE,IAAI+B,SAASA,CAACX,KAAc,EAAE;IAC5B,IAAI,CAACY,MAAM,GAAGZ,KAAK;IACnBQ,qBAAA,KAAI,EAAA9B,UAAA,EAAesB,KAAK;IACxB,IAAI,CAACS,OAAO,CAAC,CAAC;EAChB;EACA,IAAIE,SAASA,CAAA,EAAY;IACvB,OAAAD,qBAAA,CAAO,IAAI,EAAAhC,UAAA;EACb;EAEA,IAAImC,aAAaA,CAAA,EAAG;IAClB,OAAAH,qBAAA,CAAO,IAAI,EAAA5B,aAAA;EACb;EACA,IAAI+B,aAAaA,CAACb,KAAc,EAAE;IAChCQ,qBAAA,KAAI,EAAA1B,aAAA,EAAiBkB,KAAK;IAC1B,IAAI,CAACS,OAAO,CAAC,CAAC;EAChB;EAAC,IAKQK,SAASA,CAAA;IAAA,OAAAJ,qBAAA,OAAA3B,EAAA;EAAA;EAAA,IAAT+B,SAASA,CAAAC,CAAA;IAAAP,qBAAA,OAAAzB,EAAA,EAAAgC,CAAA;EAAA;EAAA,IAOTC,UAAUA,CAAA;IAAA,OAAAN,qBAAA,OAAA1B,EAAA;EAAA;EAAA,IAAVgC,UAAUA,CAAAD,CAAA;IAAAP,qBAAA,OAAAxB,EAAA,EAAA+B,CAAA;EAAA;EAAA,IAOVE,QAAQA,CAAA;IAAA,OAAAP,qBAAA,OAAAzB,EAAA;EAAA;EAAA,IAARgC,QAAQA,CAAAF,CAAA;IAAAP,qBAAA,OAAAvB,EAAA,EAAA8B,CAAA;EAAA;EAAA,IAKRG,UAAUA,CAAA;IAAA,OAAAR,qBAAA,OAAAxB,EAAA;EAAA;EAAA,IAAVgC,UAAUA,CAAAH,CAAA;IAAAP,qBAAA,OAAAtB,EAAA,EAAA6B,CAAA;EAAA;EAGnBI,YAAYA,CAACnB,KAAc,EAAE;IAC3B,IAAI,CAACW,SAAS,GAAGX,KAAK;EACxB;EAGAoB,cAAcA,CAAA,EAAwB;IACpC;IACA,IAAIC,OAA4B,GAAG,IAA+B;IAClE,OAAQA,OAAO,GAAGA,OAAO,CAACC,UAAiC,EAAG;MAC5D,IAAI,CAACD,OAAO,IAAIA,OAAO,CAACE,aAAa,EAAE;QACrC;MACF;IACF;IACA,OAAOF,OAAO;EAChB;AACF;AAACG,MAAA,GA/EqBrC,mBAAmB;AAAA,SAAAU,gBAAA;EAAA,OAAAa,qBAAA,OAAAlC,EAAA;AAAA;AAAA,SAAAsB,gBAAAiB,CAAA;EAAAP,qBAAA,OAAAhC,EAAA,EAAAuC,CAAA;AAAA;AAAA,SAAApB,cAAA;EAAA,OAAAe,qBAAA,OAAA/B,EAAA;AAAA;AAAA,SAAAiB,cAAAmB,CAAA;EAAAP,qBAAA,OAAA7B,EAAA,EAAAoC,CAAA;AAAA;AAAA,SAAAvB,kBAAA;EAAA,OAAAkB,qBAAA,OAAA7B,EAAA;AAAA;AAAA,SAAAa,kBAAAqB,CAAA;EAAAP,qBAAA,OAAA3B,EAAA,EAAAkC,CAAA;AAAA;AAAA,CAAAb,eAAA,EAAAC,gBAAA,EAAAC,cAAA,EAAAC,gBAAA,EAAAJ,UAAA,IAAAwB,UAAA,CAAAD,MAAA,IAAAvD,IAAA,oBAAAE,KAAA,qBAAAC,KAAA,mBAAAC,KAAA,qBAAAC,KAAA,uBAAAC,KAAA,wCAAST,gBAAgB,EAAA4D,CAAA"}
|
package/dist/types/Form.d.ts
CHANGED
|
@@ -1,9 +1,25 @@
|
|
|
1
1
|
import type { FormStore } from "./FormStore.js";
|
|
2
|
+
export type ColSpanType = number | string;
|
|
3
|
+
export interface ColSize {
|
|
4
|
+
span?: ColSpanType;
|
|
5
|
+
offset?: ColSpanType;
|
|
6
|
+
}
|
|
7
|
+
export interface ColProps {
|
|
8
|
+
span?: ColSpanType;
|
|
9
|
+
offset?: ColSpanType;
|
|
10
|
+
sm?: ColSpanType | ColSize;
|
|
11
|
+
md?: ColSpanType | ColSize;
|
|
12
|
+
lg?: ColSpanType | ColSize;
|
|
13
|
+
xl?: ColSpanType | ColSize;
|
|
14
|
+
xxl?: ColSpanType | ColSize;
|
|
15
|
+
}
|
|
2
16
|
export interface AbstractForm extends HTMLElement {
|
|
3
17
|
readonly isFormElement: true;
|
|
4
18
|
formStore: FormStore;
|
|
5
19
|
size?: "large" | "medium" | "small" | "xs";
|
|
6
20
|
layout?: "horizontal" | "vertical" | "inline";
|
|
21
|
+
labelCol?: ColProps;
|
|
22
|
+
wrapperCol?: ColProps;
|
|
7
23
|
validate(): boolean | Record<string, unknown>;
|
|
8
24
|
validateField(name: string): void;
|
|
9
25
|
resetValidateState(): void;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ReactNextElement } from "@next-core/react-element";
|
|
2
|
-
import type { AbstractForm } from "./Form.js";
|
|
2
|
+
import type { AbstractForm, ColProps } from "./Form.js";
|
|
3
3
|
import { UseSingleBrickConf } from "@next-core/types";
|
|
4
4
|
export declare abstract class FormItemElementBase extends ReactNextElement {
|
|
5
5
|
#private;
|
|
@@ -21,6 +21,8 @@ export declare abstract class FormItemElementBase extends ReactNextElement {
|
|
|
21
21
|
accessor labelBrick: {
|
|
22
22
|
useBrick: UseSingleBrickConf | UseSingleBrickConf[];
|
|
23
23
|
} | undefined;
|
|
24
|
+
accessor labelCol: ColProps | undefined;
|
|
25
|
+
accessor wrapperCol: ColProps | undefined;
|
|
24
26
|
setNotRender(value: boolean): void;
|
|
25
27
|
getFormElement(): AbstractForm | null;
|
|
26
28
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@next-shared/form",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"homepage": "https://github.com/easyops-cn/next-bricks/tree/master/shared/form",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -32,14 +32,14 @@
|
|
|
32
32
|
"build:types": "tsc --emitDeclarationOnly --declaration --declarationDir dist/types --project tsconfig.build.json"
|
|
33
33
|
},
|
|
34
34
|
"dependencies": {
|
|
35
|
-
"@next-core/element": "^1.1.
|
|
36
|
-
"@next-core/react-element": "^1.0.
|
|
35
|
+
"@next-core/element": "^1.1.6",
|
|
36
|
+
"@next-core/react-element": "^1.0.16",
|
|
37
37
|
"lodash": "^4.17.21"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
|
-
"@next-core/build-next-libs": "^1.0.
|
|
41
|
-
"@next-core/test-next": "^1.0.
|
|
40
|
+
"@next-core/build-next-libs": "^1.0.8",
|
|
41
|
+
"@next-core/test-next": "^1.0.11",
|
|
42
42
|
"concurrently": "^8.0.1"
|
|
43
43
|
},
|
|
44
|
-
"gitHead": "
|
|
44
|
+
"gitHead": "c0bc0dcf078800774f4551a8a715ac4ad7f1e86d"
|
|
45
45
|
}
|