@bolttech/form-engine-core 0.0.1-beta.35 → 0.0.1-beta.37

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/index.esm.js CHANGED
@@ -730,10 +730,11 @@ const custom = (value, masks) => {
730
730
  if (!masks.custom || !value) return value;
731
731
  let mask = '';
732
732
  let index = 0;
733
+ let convertedValue = value.replace(/[^\w\s]/gi, '');
733
734
  for (let i = 0; i < masks.custom.length; i++) {
734
735
  if (masks.custom[i] === '#') {
735
- if (index < value.length) {
736
- mask += value[index];
736
+ if (index < convertedValue.length) {
737
+ mask += convertedValue[index];
737
738
  index++;
738
739
  } else {
739
740
  break;
@@ -3343,7 +3344,7 @@ class FormCore {
3343
3344
  /*
3344
3345
  * check with João the need for a global mount event for the form
3345
3346
  * to avoid not displaying this message in some cases (AsFormField)
3346
- * sugestion: create subscriber to targetField.ON_FIELD_MOUNT
3347
+ * suggestion: create subscriber to targetField.ON_FIELD_MOUNT
3347
3348
  */
3348
3349
  console.warn(`failed to update visibility onto field ${field}`);
3349
3350
  } else {
@@ -3380,6 +3381,27 @@ class FormCore {
3380
3381
  });
3381
3382
  });
3382
3383
  }
3384
+ /**
3385
+ * @internal
3386
+ * Update field value and emit change and cleared event.
3387
+ *
3388
+ * @param {string} key - Field name to be updated.
3389
+ * @param {unknown} value - Value to be inserted into field.
3390
+ */
3391
+ setResetFieldValue(key, value) {
3392
+ if (!this.fields.has(key)) {
3393
+ console.warn(`failed to reset value onto field ${key}`);
3394
+ } else {
3395
+ const field = this.fields.get(key);
3396
+ field.emitValue({
3397
+ value: value,
3398
+ event: 'ON_FIELD_CHANGE'
3399
+ });
3400
+ field.emitEvents({
3401
+ event: 'ON_FIELD_CLEARED'
3402
+ });
3403
+ }
3404
+ }
3383
3405
  /**
3384
3406
  * Resets field values based on reset conditions defined in the schema.
3385
3407
  *
@@ -3402,16 +3424,10 @@ class FormCore {
3402
3424
  if (Array.isArray(structElement.fields)) {
3403
3425
  structElement.fields.forEach((fieldKey, index) => {
3404
3426
  const resettledValue = Array.isArray(structElement.resettledValue) ? structElement.resettledValue[index] : structElement.resettledValue;
3405
- if (!this.fields.has(fieldKey)) console.warn(`failed to reset value onto field ${fieldKey}`);else this.fields.get(fieldKey).emitValue({
3406
- value: resettledValue,
3407
- event: 'ON_FIELD_CHANGE'
3408
- });
3427
+ this.setResetFieldValue(fieldKey, resettledValue);
3409
3428
  });
3410
3429
  } else if (structElement.fields) {
3411
- if (!this.fields.has(structElement.fields)) console.warn(`failed to reset value onto field ${structElement.fields}`);else this.fields.get(structElement.fields).emitValue({
3412
- value: structElement.resettledValue,
3413
- event: 'ON_FIELD_CHANGE'
3414
- });
3430
+ this.setResetFieldValue(structElement.fields, structElement.resettledValue);
3415
3431
  }
3416
3432
  }
3417
3433
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bolttech/form-engine-core",
3
- "version": "0.0.1-beta.35",
3
+ "version": "0.0.1-beta.37",
4
4
  "module": "./index.esm.js",
5
5
  "type": "module",
6
6
  "main": "./index.esm.js",
@@ -160,6 +160,14 @@ declare class FormCore {
160
160
  event: TEvents;
161
161
  key: string;
162
162
  }): void;
163
+ /**
164
+ * @internal
165
+ * Update field value and emit change and cleared event.
166
+ *
167
+ * @param {string} key - Field name to be updated.
168
+ * @param {unknown} value - Value to be inserted into field.
169
+ */
170
+ private setResetFieldValue;
163
171
  /**
164
172
  * Resets field values based on reset conditions defined in the schema.
165
173
  *
@@ -8,7 +8,7 @@ import { IFormField } from '../managers';
8
8
  * const event: TEvents = 'ON_FIELD_CHANGE';
9
9
  * ```
10
10
  */
11
- type TEvents = 'ON_FIELD_MOUNT' | 'ON_FIELD_CHANGE' | 'ON_FIELD_BLUR' | 'ON_FIELD_FOCUS' | 'ON_FIELD_CLICK' | 'ON_FIELD_KEYUP' | 'ON_FIELD_KEYDOWN' | 'ON_FORM_SUBMIT' | 'ON_FORM_MOUNT' | 'ON_API_FIELD_RESPONSE';
11
+ type TEvents = 'ON_FIELD_MOUNT' | 'ON_FIELD_CHANGE' | 'ON_FIELD_BLUR' | 'ON_FIELD_FOCUS' | 'ON_FIELD_CLICK' | 'ON_FIELD_KEYUP' | 'ON_FIELD_KEYDOWN' | 'ON_FIELD_CLEARED' | 'ON_FORM_SUBMIT' | 'ON_FORM_MOUNT' | 'ON_API_FIELD_RESPONSE';
12
12
  /**
13
13
  * @type TMutationEvents
14
14
  * Represents the different types of events that can occur internally that triggers templating.
@@ -46,4 +46,4 @@ type TFieldEvent = {
46
46
  fieldName: string;
47
47
  fieldInstance?: IFormField;
48
48
  };
49
- export { TEvents, TMutationEvents, TMutationEnum, TValueChangeEvent, TFieldEvent };
49
+ export { TEvents, TMutationEvents, TMutationEnum, TValueChangeEvent, TFieldEvent, };