feature-form 0.0.34 → 0.0.35
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/create-form.js +230 -1
- package/dist/cjs/form-field/create-form-field-validation-context.js +27 -1
- package/dist/cjs/form-field/create-form-field.js +102 -1
- package/dist/cjs/form-field/create-status.js +26 -1
- package/dist/cjs/form-field/is-form-field-status.js +7 -1
- package/dist/cjs/form-field/is-form-field.js +7 -1
- package/dist/cjs/helper/from-validator.js +23 -1
- package/dist/cjs/helper/has-form-changed.js +13 -1
- package/dist/cjs/helper/reset-form-submitted.js +12 -1
- package/dist/cjs/index.js +35 -1
- package/dist/cjs/is-form-with-features.js +7 -1
- package/dist/cjs/types/form-field.js +18 -1
- package/dist/esm/create-form.js +228 -1
- package/dist/esm/form-field/create-form-field-validation-context.js +25 -1
- package/dist/esm/form-field/create-form-field.js +100 -1
- package/dist/esm/form-field/create-status.js +24 -1
- package/dist/esm/form-field/is-form-field-status.js +5 -1
- package/dist/esm/form-field/is-form-field.js +5 -1
- package/dist/esm/helper/from-validator.js +21 -1
- package/dist/esm/helper/has-form-changed.js +11 -1
- package/dist/esm/helper/reset-form-submitted.js +10 -1
- package/dist/esm/index.js +11 -1
- package/dist/esm/is-form-with-features.js +5 -1
- package/dist/esm/types/form-field.js +15 -1
- package/dist/types/create-form.d.ts +1 -0
- package/dist/types/create-form.d.ts.map +1 -0
- package/dist/types/form-field/create-form-field-validation-context.d.ts +1 -0
- package/dist/types/form-field/create-form-field-validation-context.d.ts.map +1 -0
- package/dist/types/form-field/create-form-field.d.ts +1 -0
- package/dist/types/form-field/create-form-field.d.ts.map +1 -0
- package/dist/types/form-field/create-status.d.ts +1 -0
- package/dist/types/form-field/create-status.d.ts.map +1 -0
- package/dist/types/form-field/index.d.ts +1 -0
- package/dist/types/form-field/index.d.ts.map +1 -0
- package/dist/types/form-field/is-form-field-status.d.ts +1 -0
- package/dist/types/form-field/is-form-field-status.d.ts.map +1 -0
- package/dist/types/form-field/is-form-field.d.ts +1 -0
- package/dist/types/form-field/is-form-field.d.ts.map +1 -0
- package/dist/types/helper/from-validator.d.ts +1 -0
- package/dist/types/helper/from-validator.d.ts.map +1 -0
- package/dist/types/helper/has-form-changed.d.ts +1 -0
- package/dist/types/helper/has-form-changed.d.ts.map +1 -0
- package/dist/types/helper/index.d.ts +1 -0
- package/dist/types/helper/index.d.ts.map +1 -0
- package/dist/types/helper/reset-form-submitted.d.ts +1 -0
- package/dist/types/helper/reset-form-submitted.d.ts.map +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/is-form-with-features.d.ts +1 -0
- package/dist/types/is-form-with-features.d.ts.map +1 -0
- package/dist/types/types/features.d.ts +1 -0
- package/dist/types/types/features.d.ts.map +1 -0
- package/dist/types/types/form-field.d.ts +1 -0
- package/dist/types/types/form-field.d.ts.map +1 -0
- package/dist/types/types/form.d.ts +1 -0
- package/dist/types/types/form.d.ts.map +1 -0
- package/dist/types/types/index.d.ts +1 -0
- package/dist/types/types/index.d.ts.map +1 -0
- package/package.json +2 -2
package/dist/cjs/create-form.js
CHANGED
|
@@ -1 +1,230 @@
|
|
|
1
|
-
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var utils = require('@blgc/utils');
|
|
4
|
+
var featureState = require('feature-state');
|
|
5
|
+
var createFormField = require('./form-field/create-form-field.js');
|
|
6
|
+
var formField = require('./types/form-field.js');
|
|
7
|
+
|
|
8
|
+
var __defProp = Object.defineProperty;
|
|
9
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
10
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
11
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
12
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
13
|
+
var __spreadValues = (a, b) => {
|
|
14
|
+
for (var prop in b || (b = {}))
|
|
15
|
+
if (__hasOwnProp.call(b, prop))
|
|
16
|
+
__defNormalProp(a, prop, b[prop]);
|
|
17
|
+
if (__getOwnPropSymbols)
|
|
18
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
19
|
+
if (__propIsEnum.call(b, prop))
|
|
20
|
+
__defNormalProp(a, prop, b[prop]);
|
|
21
|
+
}
|
|
22
|
+
return a;
|
|
23
|
+
};
|
|
24
|
+
var __async = (__this, __arguments, generator) => {
|
|
25
|
+
return new Promise((resolve, reject) => {
|
|
26
|
+
var fulfilled = (value) => {
|
|
27
|
+
try {
|
|
28
|
+
step(generator.next(value));
|
|
29
|
+
} catch (e) {
|
|
30
|
+
reject(e);
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
var rejected = (value) => {
|
|
34
|
+
try {
|
|
35
|
+
step(generator.throw(value));
|
|
36
|
+
} catch (e) {
|
|
37
|
+
reject(e);
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
|
41
|
+
step((generator = generator.apply(__this, __arguments)).next());
|
|
42
|
+
});
|
|
43
|
+
};
|
|
44
|
+
function createForm(config) {
|
|
45
|
+
const {
|
|
46
|
+
fields,
|
|
47
|
+
collectErrorMode = "firstError",
|
|
48
|
+
disabled = false,
|
|
49
|
+
validateMode = utils.bitwiseFlag(formField.FormFieldValidateMode.OnSubmit),
|
|
50
|
+
reValidateMode = utils.bitwiseFlag(formField.FormFieldReValidateMode.OnBlur),
|
|
51
|
+
onValidSubmit,
|
|
52
|
+
onInvalidSubmit,
|
|
53
|
+
notifyOnStatusChange = true
|
|
54
|
+
} = config;
|
|
55
|
+
const form = {
|
|
56
|
+
_features: [],
|
|
57
|
+
_config: {
|
|
58
|
+
collectErrorMode,
|
|
59
|
+
disabled
|
|
60
|
+
},
|
|
61
|
+
_validSubmitCallbacks: onValidSubmit != null ? [onValidSubmit] : [],
|
|
62
|
+
_invalidSubmitCallbacks: onInvalidSubmit != null ? [onInvalidSubmit] : [],
|
|
63
|
+
fields: Object.fromEntries(
|
|
64
|
+
Object.entries(fields).map(
|
|
65
|
+
([fieldKey, field]) => {
|
|
66
|
+
var _a2, _b, _c, _d;
|
|
67
|
+
return [
|
|
68
|
+
fieldKey,
|
|
69
|
+
createFormField.createFormField(field.defaultValue, {
|
|
70
|
+
key: fieldKey,
|
|
71
|
+
validator: field.validator,
|
|
72
|
+
collectErrorMode: (_a2 = field.collectErrorMode) != null ? _a2 : collectErrorMode,
|
|
73
|
+
validateMode: (_b = field.validateMode) != null ? _b : validateMode,
|
|
74
|
+
reValidateMode: (_c = field.reValidateMode) != null ? _c : reValidateMode,
|
|
75
|
+
editable: (_d = field.editable) != null ? _d : true,
|
|
76
|
+
notifyOnStatusChange
|
|
77
|
+
})
|
|
78
|
+
];
|
|
79
|
+
}
|
|
80
|
+
)
|
|
81
|
+
),
|
|
82
|
+
isValid: featureState.createState(false),
|
|
83
|
+
isValidating: featureState.createState(false),
|
|
84
|
+
isSubmitted: featureState.createState(false),
|
|
85
|
+
isSubmitting: featureState.createState(false),
|
|
86
|
+
_revalidate(cached = false) {
|
|
87
|
+
return __async(this, null, function* () {
|
|
88
|
+
const formFields = Object.values(this.fields);
|
|
89
|
+
if (!cached) {
|
|
90
|
+
this.isValidating.set(true);
|
|
91
|
+
yield Promise.all(formFields.map((formField) => formField.validate()));
|
|
92
|
+
this.isValidating.set(false);
|
|
93
|
+
}
|
|
94
|
+
this.isValid.set(formFields.every((formField) => formField.isValid()));
|
|
95
|
+
return this.isValid.get();
|
|
96
|
+
});
|
|
97
|
+
},
|
|
98
|
+
submit() {
|
|
99
|
+
return __async(this, arguments, function* (options = {}) {
|
|
100
|
+
const {
|
|
101
|
+
additionalData,
|
|
102
|
+
assignToInitial = false,
|
|
103
|
+
onInvalidSubmit: _onInvalidSubmit,
|
|
104
|
+
onValidSubmit: _onValidSubmit,
|
|
105
|
+
postSubmitCallback
|
|
106
|
+
} = options;
|
|
107
|
+
this.isSubmitting.set(true);
|
|
108
|
+
const validationPromises = [];
|
|
109
|
+
for (const formField$1 of Object.values(
|
|
110
|
+
this.fields
|
|
111
|
+
)) {
|
|
112
|
+
formField$1.isSubmitting = true;
|
|
113
|
+
if (formField$1.isSubmitted && formField$1._config.reValidateMode.has(formField.FormFieldReValidateMode.OnSubmit) || !formField$1.isSubmitted && formField$1._config.validateMode.has(formField.FormFieldValidateMode.OnSubmit)) {
|
|
114
|
+
validationPromises.push(formField$1.validate());
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
yield Promise.all(validationPromises);
|
|
118
|
+
const data = this.getValidData();
|
|
119
|
+
const submitCallbackPromises = [];
|
|
120
|
+
if (data != null) {
|
|
121
|
+
for (const callback of this._validSubmitCallbacks) {
|
|
122
|
+
submitCallbackPromises.push(callback(data, additionalData));
|
|
123
|
+
}
|
|
124
|
+
if (typeof _onValidSubmit === "function") {
|
|
125
|
+
submitCallbackPromises.push(_onValidSubmit(data, additionalData));
|
|
126
|
+
}
|
|
127
|
+
} else {
|
|
128
|
+
const errors = this.getErrors();
|
|
129
|
+
for (const callback of this._invalidSubmitCallbacks) {
|
|
130
|
+
submitCallbackPromises.push(callback(errors, additionalData));
|
|
131
|
+
}
|
|
132
|
+
if (typeof _onInvalidSubmit === "function") {
|
|
133
|
+
submitCallbackPromises.push(_onInvalidSubmit(errors, additionalData));
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
let submitCallbackData = null;
|
|
137
|
+
if (postSubmitCallback != null) {
|
|
138
|
+
submitCallbackData = (yield Promise.all(submitCallbackPromises)).reduce((acc, result) => {
|
|
139
|
+
if (result != null && typeof result === "object") {
|
|
140
|
+
return __spreadValues(__spreadValues({}, acc), result);
|
|
141
|
+
}
|
|
142
|
+
return acc;
|
|
143
|
+
}, {});
|
|
144
|
+
} else {
|
|
145
|
+
yield Promise.all(submitCallbackPromises);
|
|
146
|
+
}
|
|
147
|
+
for (const [fieldKey, formField] of Object.entries(this.fields)) {
|
|
148
|
+
if (data != null && Object.prototype.hasOwnProperty.call(data, fieldKey)) {
|
|
149
|
+
if (assignToInitial) {
|
|
150
|
+
formField._intialValue = utils.deepCopy(data[fieldKey]);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
formField.isSubmitted = true;
|
|
154
|
+
formField.isSubmitting = false;
|
|
155
|
+
}
|
|
156
|
+
this.isSubmitted.set(true);
|
|
157
|
+
this.isSubmitting.set(false);
|
|
158
|
+
postSubmitCallback == null ? void 0 : postSubmitCallback(this, submitCallbackData != null ? submitCallbackData : {});
|
|
159
|
+
return this.isValid.get();
|
|
160
|
+
});
|
|
161
|
+
},
|
|
162
|
+
validate() {
|
|
163
|
+
return __async(this, null, function* () {
|
|
164
|
+
return this._revalidate(false);
|
|
165
|
+
});
|
|
166
|
+
},
|
|
167
|
+
getField(fieldKey) {
|
|
168
|
+
return this.fields[fieldKey];
|
|
169
|
+
},
|
|
170
|
+
getValidData() {
|
|
171
|
+
if (!this.isValid.get()) {
|
|
172
|
+
return null;
|
|
173
|
+
}
|
|
174
|
+
const preparedData = {};
|
|
175
|
+
for (const [fieldKey, formField] of Object.entries(this.fields)) {
|
|
176
|
+
preparedData[fieldKey] = formField.get();
|
|
177
|
+
}
|
|
178
|
+
return preparedData;
|
|
179
|
+
},
|
|
180
|
+
getErrors() {
|
|
181
|
+
const errors = {};
|
|
182
|
+
for (const [fieldKey, formField] of Object.entries(this.fields)) {
|
|
183
|
+
switch (formField.status._v.type) {
|
|
184
|
+
case "INVALID":
|
|
185
|
+
errors[fieldKey] = formField.status._v.errors;
|
|
186
|
+
break;
|
|
187
|
+
case "UNVALIDATED":
|
|
188
|
+
errors[fieldKey] = [
|
|
189
|
+
{
|
|
190
|
+
code: "unvalidated",
|
|
191
|
+
message: `${fieldKey.toString()} was not yet validated!`,
|
|
192
|
+
path: fieldKey
|
|
193
|
+
}
|
|
194
|
+
];
|
|
195
|
+
break;
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
return errors;
|
|
199
|
+
},
|
|
200
|
+
reset() {
|
|
201
|
+
for (const formField of Object.values(
|
|
202
|
+
this.fields
|
|
203
|
+
)) {
|
|
204
|
+
formField.reset();
|
|
205
|
+
}
|
|
206
|
+
this.isSubmitted.set(false);
|
|
207
|
+
}
|
|
208
|
+
};
|
|
209
|
+
for (const field of Object.values(form.fields)) {
|
|
210
|
+
field.listen(
|
|
211
|
+
(_0) => __async(this, [_0], function* ({ source }) {
|
|
212
|
+
if (source === "set") {
|
|
213
|
+
if (field.isSubmitted && field._config.reValidateMode.has(formField.FormFieldReValidateMode.OnChange) || !field.isSubmitted && field._config.validateMode.has(formField.FormFieldValidateMode.OnChange) || field._config.validateMode.has(formField.FormFieldValidateMode.OnTouched) && field.isTouched) {
|
|
214
|
+
yield field.validate();
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
}),
|
|
218
|
+
{ key: "form" }
|
|
219
|
+
);
|
|
220
|
+
field.status.listen(
|
|
221
|
+
() => __async(this, null, function* () {
|
|
222
|
+
yield form._revalidate(true);
|
|
223
|
+
}),
|
|
224
|
+
{ key: "form" }
|
|
225
|
+
);
|
|
226
|
+
}
|
|
227
|
+
return form;
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
exports.createForm = createForm;
|
|
@@ -1 +1,27 @@
|
|
|
1
|
-
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
function createFormFieldValidationContext(formField) {
|
|
4
|
+
return {
|
|
5
|
+
config: {
|
|
6
|
+
collectErrorMode: formField._config.collectErrorMode,
|
|
7
|
+
name: formField.key
|
|
8
|
+
},
|
|
9
|
+
value: formField.get(),
|
|
10
|
+
isValue: (v) => {
|
|
11
|
+
return true;
|
|
12
|
+
},
|
|
13
|
+
hasError: () => {
|
|
14
|
+
var _a;
|
|
15
|
+
return ((_a = formField.status._nextValue) == null ? void 0 : _a.type) === "INVALID";
|
|
16
|
+
},
|
|
17
|
+
registerError(error) {
|
|
18
|
+
formField.status.registerNextError({
|
|
19
|
+
code: error.code,
|
|
20
|
+
message: error.message,
|
|
21
|
+
path: error.path
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
exports.createFormFieldValidationContext = createFormFieldValidationContext;
|
|
@@ -1 +1,102 @@
|
|
|
1
|
-
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var utils = require('@blgc/utils');
|
|
4
|
+
var featureState = require('feature-state');
|
|
5
|
+
var validationAdapter = require('validation-adapter');
|
|
6
|
+
var formField = require('../types/form-field.js');
|
|
7
|
+
var createFormFieldValidationContext = require('./create-form-field-validation-context.js');
|
|
8
|
+
var createStatus = require('./create-status.js');
|
|
9
|
+
|
|
10
|
+
var __async = (__this, __arguments, generator) => {
|
|
11
|
+
return new Promise((resolve, reject) => {
|
|
12
|
+
var fulfilled = (value) => {
|
|
13
|
+
try {
|
|
14
|
+
step(generator.next(value));
|
|
15
|
+
} catch (e) {
|
|
16
|
+
reject(e);
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
var rejected = (value) => {
|
|
20
|
+
try {
|
|
21
|
+
step(generator.throw(value));
|
|
22
|
+
} catch (e) {
|
|
23
|
+
reject(e);
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
|
27
|
+
step((generator = generator.apply(__this, __arguments)).next());
|
|
28
|
+
});
|
|
29
|
+
};
|
|
30
|
+
function createFormField(initialValue, config) {
|
|
31
|
+
const {
|
|
32
|
+
key,
|
|
33
|
+
validator = validationAdapter.createValidator([]),
|
|
34
|
+
editable = true,
|
|
35
|
+
reValidateMode = utils.bitwiseFlag(formField.FormFieldReValidateMode.OnBlur),
|
|
36
|
+
validateMode = utils.bitwiseFlag(formField.FormFieldValidateMode.OnSubmit),
|
|
37
|
+
collectErrorMode = "firstError",
|
|
38
|
+
notifyOnStatusChange = true
|
|
39
|
+
} = config;
|
|
40
|
+
const formFieldState = featureState.createState(initialValue, { deferred: false });
|
|
41
|
+
const status = createStatus.createStatus({ type: "UNVALIDATED" });
|
|
42
|
+
if (notifyOnStatusChange) {
|
|
43
|
+
status.listen(
|
|
44
|
+
(data) => {
|
|
45
|
+
formFieldState._notify({ additionalData: { source: "status", status: data.value } });
|
|
46
|
+
},
|
|
47
|
+
{ key: "form-field" }
|
|
48
|
+
);
|
|
49
|
+
}
|
|
50
|
+
const formFieldFeature = {
|
|
51
|
+
_config: {
|
|
52
|
+
editable,
|
|
53
|
+
validateMode,
|
|
54
|
+
reValidateMode,
|
|
55
|
+
collectErrorMode
|
|
56
|
+
},
|
|
57
|
+
_intialValue: utils.deepCopy(formFieldState._v),
|
|
58
|
+
_validator: validator,
|
|
59
|
+
key,
|
|
60
|
+
isTouched: false,
|
|
61
|
+
isSubmitted: false,
|
|
62
|
+
isSubmitting: false,
|
|
63
|
+
isValidating: false,
|
|
64
|
+
status,
|
|
65
|
+
validate() {
|
|
66
|
+
return __async(this, null, function* () {
|
|
67
|
+
const validationContext = createFormFieldValidationContext.createFormFieldValidationContext(this);
|
|
68
|
+
this.isValidating = true;
|
|
69
|
+
yield this._validator.validate(validationContext);
|
|
70
|
+
this.isValidating = false;
|
|
71
|
+
if (this.status._nextValue == null) {
|
|
72
|
+
this.status.set({ type: "VALID" });
|
|
73
|
+
} else {
|
|
74
|
+
this.status.set(this.status._nextValue);
|
|
75
|
+
}
|
|
76
|
+
this.status._nextValue = void 0;
|
|
77
|
+
return this.status.get().type === "VALID";
|
|
78
|
+
});
|
|
79
|
+
},
|
|
80
|
+
isValid() {
|
|
81
|
+
return this.status.get().type === "VALID";
|
|
82
|
+
},
|
|
83
|
+
blur() {
|
|
84
|
+
if (this.isSubmitted && this._config.reValidateMode.has(formField.FormFieldReValidateMode.OnBlur) || !this.isSubmitted && (this._config.validateMode.has(formField.FormFieldValidateMode.OnBlur) || this._config.validateMode.has(formField.FormFieldValidateMode.OnTouched) && !this.isTouched)) {
|
|
85
|
+
void this.validate();
|
|
86
|
+
}
|
|
87
|
+
this.isTouched = true;
|
|
88
|
+
},
|
|
89
|
+
reset() {
|
|
90
|
+
this.set(this._intialValue, { additionalData: { source: "reset" } });
|
|
91
|
+
this.isTouched = false;
|
|
92
|
+
this.isSubmitted = false;
|
|
93
|
+
this.isSubmitting = false;
|
|
94
|
+
this.status.set({ type: "UNVALIDATED" });
|
|
95
|
+
}
|
|
96
|
+
};
|
|
97
|
+
const _formField = Object.assign(formFieldState, formFieldFeature);
|
|
98
|
+
_formField._features.push("form-field");
|
|
99
|
+
return _formField;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
exports.createFormField = createFormField;
|
|
@@ -1 +1,26 @@
|
|
|
1
|
-
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var featureState = require('feature-state');
|
|
4
|
+
|
|
5
|
+
function createStatus(initialValue) {
|
|
6
|
+
const formFieldStatusState = featureState.createState(initialValue, { deferred: false });
|
|
7
|
+
const formFieldStatusFeature = {
|
|
8
|
+
_nextValue: void 0,
|
|
9
|
+
registerNextError(error) {
|
|
10
|
+
var _a;
|
|
11
|
+
if (((_a = this._nextValue) == null ? void 0 : _a.type) === "INVALID") {
|
|
12
|
+
this._nextValue.errors.push(error);
|
|
13
|
+
} else {
|
|
14
|
+
this._nextValue = { type: "INVALID", errors: [error] };
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
const _formFieldStatus = Object.assign(
|
|
19
|
+
formFieldStatusState,
|
|
20
|
+
formFieldStatusFeature
|
|
21
|
+
);
|
|
22
|
+
_formFieldStatus._features.push("form-field-status");
|
|
23
|
+
return _formFieldStatus;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
exports.createStatus = createStatus;
|
|
@@ -1 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
function isFormFieldStatus(value) {
|
|
4
|
+
return typeof value === "object" && value != null && "_features" in value && Array.isArray(value._features) && value._features.includes("form-field-status");
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
exports.isFormFieldStatus = isFormFieldStatus;
|
|
@@ -1 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
function isFormField(value) {
|
|
4
|
+
return typeof value === "object" && value != null && "_features" in value && Array.isArray(value._features) && value._features.includes("form-field");
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
exports.isFormField = isFormField;
|
|
@@ -1 +1,23 @@
|
|
|
1
|
-
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
7
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
8
|
+
var __spreadValues = (a, b) => {
|
|
9
|
+
for (var prop in b || (b = {}))
|
|
10
|
+
if (__hasOwnProp.call(b, prop))
|
|
11
|
+
__defNormalProp(a, prop, b[prop]);
|
|
12
|
+
if (__getOwnPropSymbols)
|
|
13
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
14
|
+
if (__propIsEnum.call(b, prop))
|
|
15
|
+
__defNormalProp(a, prop, b[prop]);
|
|
16
|
+
}
|
|
17
|
+
return a;
|
|
18
|
+
};
|
|
19
|
+
function fromValidator(validator, config) {
|
|
20
|
+
return __spreadValues({ validator }, config);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
exports.fromValidator = fromValidator;
|
|
@@ -1 +1,13 @@
|
|
|
1
|
-
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
function hasFormChanged(form) {
|
|
4
|
+
var _a, _b;
|
|
5
|
+
for (const key in form.fields) {
|
|
6
|
+
if (((_a = form.fields[key]) == null ? void 0 : _a.get()) !== ((_b = form.fields[key]) == null ? void 0 : _b._intialValue)) {
|
|
7
|
+
return true;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
return false;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
exports.hasFormChanged = hasFormChanged;
|
|
@@ -1 +1,12 @@
|
|
|
1
|
-
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
function resetFormSubmitted(form) {
|
|
4
|
+
form.isSubmitted.set(false);
|
|
5
|
+
form.isSubmitting.set(false);
|
|
6
|
+
for (const formField of Object.values(form.fields)) {
|
|
7
|
+
formField.isSubmitted = false;
|
|
8
|
+
formField.isSubmitting = false;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
exports.resetFormSubmitted = resetFormSubmitted;
|
package/dist/cjs/index.js
CHANGED
|
@@ -1 +1,35 @@
|
|
|
1
|
-
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var utils = require('@blgc/utils');
|
|
4
|
+
var createForm = require('./create-form.js');
|
|
5
|
+
var createFormField = require('./form-field/create-form-field.js');
|
|
6
|
+
var createStatus = require('./form-field/create-status.js');
|
|
7
|
+
var isFormField = require('./form-field/is-form-field.js');
|
|
8
|
+
var isFormFieldStatus = require('./form-field/is-form-field-status.js');
|
|
9
|
+
var fromValidator = require('./helper/from-validator.js');
|
|
10
|
+
var hasFormChanged = require('./helper/has-form-changed.js');
|
|
11
|
+
var resetFormSubmitted = require('./helper/reset-form-submitted.js');
|
|
12
|
+
var isFormWithFeatures = require('./is-form-with-features.js');
|
|
13
|
+
var formField = require('./types/form-field.js');
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
Object.defineProperty(exports, "BitwiseFlag", {
|
|
18
|
+
enumerable: true,
|
|
19
|
+
get: function () { return utils.BitwiseFlag; }
|
|
20
|
+
});
|
|
21
|
+
Object.defineProperty(exports, "bitwiseFlag", {
|
|
22
|
+
enumerable: true,
|
|
23
|
+
get: function () { return utils.bitwiseFlag; }
|
|
24
|
+
});
|
|
25
|
+
exports.createForm = createForm.createForm;
|
|
26
|
+
exports.createFormField = createFormField.createFormField;
|
|
27
|
+
exports.createStatus = createStatus.createStatus;
|
|
28
|
+
exports.isFormField = isFormField.isFormField;
|
|
29
|
+
exports.isFormFieldStatus = isFormFieldStatus.isFormFieldStatus;
|
|
30
|
+
exports.fromValidator = fromValidator.fromValidator;
|
|
31
|
+
exports.hasFormChanged = hasFormChanged.hasFormChanged;
|
|
32
|
+
exports.resetFormSubmitted = resetFormSubmitted.resetFormSubmitted;
|
|
33
|
+
exports.isFormWithFeatures = isFormWithFeatures.isFormWithFeatures;
|
|
34
|
+
exports.FormFieldReValidateMode = formField.FormFieldReValidateMode;
|
|
35
|
+
exports.FormFieldValidateMode = formField.FormFieldValidateMode;
|
|
@@ -1 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
function isFormWithFeatures(value, features) {
|
|
4
|
+
return typeof value === "object" && value != null && "_features" in value && Array.isArray(value._features) && features.every((feature) => value._features.includes(feature));
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
exports.isFormWithFeatures = isFormWithFeatures;
|
|
@@ -1 +1,18 @@
|
|
|
1
|
-
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var FormFieldValidateMode = /* @__PURE__ */ ((FormFieldValidateMode2) => {
|
|
4
|
+
FormFieldValidateMode2[FormFieldValidateMode2["OnBlur"] = 1] = "OnBlur";
|
|
5
|
+
FormFieldValidateMode2[FormFieldValidateMode2["OnChange"] = 2] = "OnChange";
|
|
6
|
+
FormFieldValidateMode2[FormFieldValidateMode2["OnSubmit"] = 4] = "OnSubmit";
|
|
7
|
+
FormFieldValidateMode2[FormFieldValidateMode2["OnTouched"] = 8] = "OnTouched";
|
|
8
|
+
return FormFieldValidateMode2;
|
|
9
|
+
})(FormFieldValidateMode || {});
|
|
10
|
+
var FormFieldReValidateMode = /* @__PURE__ */ ((FormFieldReValidateMode2) => {
|
|
11
|
+
FormFieldReValidateMode2[FormFieldReValidateMode2["OnBlur"] = 1] = "OnBlur";
|
|
12
|
+
FormFieldReValidateMode2[FormFieldReValidateMode2["OnChange"] = 2] = "OnChange";
|
|
13
|
+
FormFieldReValidateMode2[FormFieldReValidateMode2["OnSubmit"] = 4] = "OnSubmit";
|
|
14
|
+
return FormFieldReValidateMode2;
|
|
15
|
+
})(FormFieldReValidateMode || {});
|
|
16
|
+
|
|
17
|
+
exports.FormFieldReValidateMode = FormFieldReValidateMode;
|
|
18
|
+
exports.FormFieldValidateMode = FormFieldValidateMode;
|