@mobx-ecosystem/mobx-form 2.10.32 → 2.11.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,8 +1,20 @@
1
1
  import { FieldService } from "./field-service";
2
2
  import { IField, ValueType } from "./types";
3
3
  export declare class AutocompleteFieldService<T = ValueType<unknown>> implements IField {
4
- field: FieldService<T>;
5
- inputField: FieldService<string>;
4
+ field: FieldService<T, {
5
+ value: T;
6
+ onChange: (_: any, value: ValueType<T>) => void;
7
+ onBlur: (_: any) => void;
8
+ error?: string | undefined;
9
+ disabled?: boolean | undefined;
10
+ }>;
11
+ inputField: FieldService<string, {
12
+ value: string;
13
+ onChange: (_: any, value: ValueType<string>) => void;
14
+ onBlur: (_: any) => void;
15
+ error?: string | undefined;
16
+ disabled?: boolean | undefined;
17
+ }>;
6
18
  constructor(initValue?: ValueType<T>);
7
19
  get validate(): (() => Promise<unknown>) | undefined;
8
20
  set validate(validate: (() => Promise<unknown>) | undefined);
@@ -15,6 +27,8 @@ export declare class AutocompleteFieldService<T = ValueType<unknown>> implements
15
27
  setAsInit: () => void;
16
28
  onInputChange: (e: any, value: string) => void;
17
29
  touch: () => void;
30
+ disable: () => void;
31
+ enable: () => void;
18
32
  get value(): ValueType<T>;
19
33
  set value(value: ValueType<T>);
20
34
  get error(): string | undefined;
@@ -26,5 +40,13 @@ export declare class AutocompleteFieldService<T = ValueType<unknown>> implements
26
40
  set initValue(initValue: ValueType<T>);
27
41
  get isTouched(): boolean;
28
42
  get initValue(): ValueType<T>;
29
- get props(): any;
43
+ get props(): {
44
+ inputValue: ValueType<string>;
45
+ onInputChange: (e: any, value: string) => void;
46
+ value: T;
47
+ onChange: (_: any, value: ValueType<T>) => void;
48
+ onBlur: (_: any) => void;
49
+ error?: string | undefined;
50
+ disabled?: boolean | undefined;
51
+ };
30
52
  }
@@ -28,4 +28,6 @@ export declare class CombinedFormFieldService<T extends IFormable<FormServiceVal
28
28
  touch: () => void;
29
29
  validateFields: (type?: ValidationType) => Promise<void[]>;
30
30
  validate: (type?: ValidationType) => Promise<[unknown, void[]]>;
31
+ disable: () => void;
32
+ enable: () => void;
31
33
  }
@@ -1,13 +1,17 @@
1
1
  import { IField, ValueType } from './types';
2
- import { Emitter } from 'mitt';
3
- type FieldOptionsType = {
2
+ type FieldOptionsType<T> = {
4
3
  onError?: boolean;
4
+ onChange?: (value: ValueType<T>) => void;
5
+ beforeChange?: (value: ValueType<T>) => void | 'abort';
5
6
  };
6
- export declare class FieldService<T = ValueType<unknown>> implements IField {
7
- private _isListenerWorks;
8
- eventBus?: Emitter<{
9
- ON_CHANGE: ValueType<T>;
10
- }>;
7
+ type FieldProps<T> = {
8
+ value: T;
9
+ onChange: (_: any, value: ValueType<T>) => void;
10
+ onBlur: (_: any) => void;
11
+ error?: string;
12
+ disabled?: boolean;
13
+ };
14
+ export declare class FieldService<T = ValueType<unknown>, P extends FieldProps<T> = FieldProps<T>> implements IField {
11
15
  validate?: () => Promise<unknown>;
12
16
  _serviceType: string;
13
17
  private _initValue?;
@@ -15,8 +19,8 @@ export declare class FieldService<T = ValueType<unknown>> implements IField {
15
19
  private _error?;
16
20
  private _disabled;
17
21
  private _isBlurred;
18
- options?: FieldOptionsType;
19
- constructor(initValue?: ValueType<T>, options?: FieldOptionsType);
22
+ options?: FieldOptionsType<T>;
23
+ constructor(initValue?: ValueType<T>, options?: FieldOptionsType<T>);
20
24
  get initValue(): ValueType<T>;
21
25
  set initValue(initValue: ValueType<T>);
22
26
  get value(): ValueType<T>;
@@ -30,15 +34,13 @@ export declare class FieldService<T = ValueType<unknown>> implements IField {
30
34
  get isBlurred(): boolean;
31
35
  set isBlurred(isBlurred: boolean);
32
36
  get isTouched(): boolean;
33
- createListener: () => void;
34
- pauseListener: () => void;
35
- resumeListener: () => void;
36
- destroyListener: () => void;
37
37
  onChange: (_: any, value: ValueType<T>) => void;
38
38
  onBlur: (_: any) => void;
39
39
  reset: () => void;
40
40
  setAsInit: () => void;
41
41
  touch: () => void;
42
- get props(): any;
42
+ disable: () => void;
43
+ enable: () => void;
44
+ get props(): P;
43
45
  }
44
46
  export {};
@@ -0,0 +1,940 @@
1
+ import { makeAutoObservable } from 'mobx';
2
+
3
+ const isObject = (obj) => obj !== null && typeof obj === 'object';
4
+
5
+ function isEqual(value, other) {
6
+ // Если оба значения одинаковы (включая примитивы и ссылки на один объект)
7
+ if (value === other) {
8
+ return true;
9
+ }
10
+ // Если одно из значений null или не объект, и они не равны (уже проверено выше)
11
+ if (value === null || other === null || typeof value !== 'object' || typeof other !== 'object') {
12
+ return false;
13
+ }
14
+ // Если один из аргументов — Date, сравниваем их временные метки
15
+ if (value instanceof Date && other instanceof Date) {
16
+ return value.getTime() === other.getTime();
17
+ }
18
+ // Если один из аргументов — RegExp, сравниваем их строковые представления
19
+ if (value instanceof RegExp && other instanceof RegExp) {
20
+ return value.toString() === other.toString();
21
+ }
22
+ // Если один из аргументов — Map, преобразуем их в массивы и сравниваем
23
+ if (value instanceof Map && other instanceof Map) {
24
+ if (value.size !== other.size)
25
+ return false;
26
+ for (const [key, val] of value) {
27
+ if (!other.has(key) || !isEqual(val, other.get(key))) {
28
+ return false;
29
+ }
30
+ }
31
+ return true;
32
+ }
33
+ // Если один из аргументов — Set, преобразуем их в массивы и сравниваем
34
+ if (value instanceof Set && other instanceof Set) {
35
+ if (value.size !== other.size)
36
+ return false;
37
+ for (const val of value) {
38
+ if (!other.has(val)) {
39
+ return false;
40
+ }
41
+ }
42
+ return true;
43
+ }
44
+ // Если это массивы, сравниваем их длины и элементы
45
+ if (Array.isArray(value) && Array.isArray(other)) {
46
+ if (value.length !== other.length)
47
+ return false;
48
+ for (let i = 0; i < value.length; i++) {
49
+ if (!isEqual(value[i], other[i])) {
50
+ return false;
51
+ }
52
+ }
53
+ return true;
54
+ }
55
+ // Если это объекты, сравниваем их ключи и значения
56
+ const valueKeys = Object.keys(value);
57
+ const otherKeys = Object.keys(other);
58
+ // Если количество ключей разное, объекты не равны
59
+ if (valueKeys.length !== otherKeys.length) {
60
+ return false;
61
+ }
62
+ // Рекурсивно сравниваем все свойства
63
+ for (const key of valueKeys) {
64
+ if (!Object.hasOwnProperty.call(other, key) || !isEqual(value[key], other[key])) {
65
+ return false;
66
+ }
67
+ }
68
+ return true;
69
+ }
70
+
71
+ class FieldService {
72
+ constructor(initValue, options) {
73
+ Object.defineProperty(this, "validate", {
74
+ enumerable: true,
75
+ configurable: true,
76
+ writable: true,
77
+ value: void 0
78
+ });
79
+ Object.defineProperty(this, "_serviceType", {
80
+ enumerable: true,
81
+ configurable: true,
82
+ writable: true,
83
+ value: 'field-service'
84
+ });
85
+ Object.defineProperty(this, "_initValue", {
86
+ enumerable: true,
87
+ configurable: true,
88
+ writable: true,
89
+ value: undefined
90
+ });
91
+ Object.defineProperty(this, "_value", {
92
+ enumerable: true,
93
+ configurable: true,
94
+ writable: true,
95
+ value: undefined
96
+ });
97
+ Object.defineProperty(this, "_error", {
98
+ enumerable: true,
99
+ configurable: true,
100
+ writable: true,
101
+ value: undefined
102
+ });
103
+ Object.defineProperty(this, "_disabled", {
104
+ enumerable: true,
105
+ configurable: true,
106
+ writable: true,
107
+ value: false
108
+ });
109
+ Object.defineProperty(this, "_isBlurred", {
110
+ enumerable: true,
111
+ configurable: true,
112
+ writable: true,
113
+ value: false
114
+ });
115
+ Object.defineProperty(this, "options", {
116
+ enumerable: true,
117
+ configurable: true,
118
+ writable: true,
119
+ value: void 0
120
+ });
121
+ Object.defineProperty(this, "onChange", {
122
+ enumerable: true,
123
+ configurable: true,
124
+ writable: true,
125
+ value: (_, value) => {
126
+ var _a;
127
+ this.value = value;
128
+ (_a = this.validate) === null || _a === void 0 ? void 0 : _a.call(this);
129
+ }
130
+ });
131
+ Object.defineProperty(this, "onBlur", {
132
+ enumerable: true,
133
+ configurable: true,
134
+ writable: true,
135
+ value: (_) => {
136
+ var _a;
137
+ this.isBlurred = true;
138
+ (_a = this.validate) === null || _a === void 0 ? void 0 : _a.call(this);
139
+ }
140
+ });
141
+ Object.defineProperty(this, "reset", {
142
+ enumerable: true,
143
+ configurable: true,
144
+ writable: true,
145
+ value: () => {
146
+ this.value = this.initValue;
147
+ this.isBlurred = false;
148
+ }
149
+ });
150
+ Object.defineProperty(this, "setAsInit", {
151
+ enumerable: true,
152
+ configurable: true,
153
+ writable: true,
154
+ value: () => {
155
+ this.initValue = this.value;
156
+ this.isBlurred = false;
157
+ }
158
+ });
159
+ Object.defineProperty(this, "touch", {
160
+ enumerable: true,
161
+ configurable: true,
162
+ writable: true,
163
+ value: () => {
164
+ this.isBlurred = true;
165
+ }
166
+ });
167
+ Object.defineProperty(this, "disable", {
168
+ enumerable: true,
169
+ configurable: true,
170
+ writable: true,
171
+ value: () => {
172
+ this.disabled = true;
173
+ }
174
+ });
175
+ Object.defineProperty(this, "enable", {
176
+ enumerable: true,
177
+ configurable: true,
178
+ writable: true,
179
+ value: () => {
180
+ this.disabled = false;
181
+ }
182
+ });
183
+ makeAutoObservable(this);
184
+ this.initValue = initValue;
185
+ this.options = options;
186
+ }
187
+ get initValue() {
188
+ return this._initValue;
189
+ }
190
+ set initValue(initValue) {
191
+ var _a;
192
+ this._initValue = initValue;
193
+ this._value = initValue;
194
+ (_a = this.validate) === null || _a === void 0 ? void 0 : _a.call(this);
195
+ }
196
+ get value() {
197
+ return this._value;
198
+ }
199
+ set value(value) {
200
+ var _a, _b, _c, _d;
201
+ console.log({
202
+ options: this.options,
203
+ oldValue: this._value,
204
+ value,
205
+ });
206
+ const result = (_b = (_a = this.options) === null || _a === void 0 ? void 0 : _a.beforeChange) === null || _b === void 0 ? void 0 : _b.call(_a, value);
207
+ if (result === 'abort') {
208
+ return;
209
+ }
210
+ const oldValue = this._value;
211
+ this._value = value;
212
+ if (oldValue !== value) {
213
+ (_d = (_c = this.options) === null || _c === void 0 ? void 0 : _c.onChange) === null || _d === void 0 ? void 0 : _d.call(_c, value);
214
+ }
215
+ }
216
+ get error() {
217
+ return this._error;
218
+ }
219
+ set error(error) {
220
+ this._error = error;
221
+ }
222
+ get disabled() {
223
+ return this._disabled;
224
+ }
225
+ set disabled(disabled) {
226
+ this._disabled = disabled;
227
+ }
228
+ get isValid() {
229
+ return !this._error;
230
+ }
231
+ get isInit() {
232
+ if (isObject(this.value)) {
233
+ return isEqual(this.value, this._initValue);
234
+ }
235
+ return this._value === this._initValue;
236
+ }
237
+ get isBlurred() {
238
+ return this._isBlurred;
239
+ }
240
+ set isBlurred(isBlurred) {
241
+ this._isBlurred = isBlurred;
242
+ }
243
+ get isTouched() {
244
+ return !this.isInit || this.isBlurred;
245
+ }
246
+ // TODO: Rethink...
247
+ get props() {
248
+ var _a;
249
+ let commonProps = {
250
+ value: this.value,
251
+ error: this.error,
252
+ disabled: this.disabled,
253
+ };
254
+ if ((_a = this.options) === null || _a === void 0 ? void 0 : _a.onError) {
255
+ commonProps = Object.assign(Object.assign({}, commonProps), { onError: (err) => {
256
+ this.error = this.error || (err === null || err === void 0 ? void 0 : err.toString());
257
+ } });
258
+ }
259
+ return Object.assign(Object.assign({}, commonProps), { onChange: this.onChange, onBlur: this.onBlur });
260
+ }
261
+ }
262
+
263
+ /******************************************************************************
264
+ Copyright (c) Microsoft Corporation.
265
+
266
+ Permission to use, copy, modify, and/or distribute this software for any
267
+ purpose with or without fee is hereby granted.
268
+
269
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
270
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
271
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
272
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
273
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
274
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
275
+ PERFORMANCE OF THIS SOFTWARE.
276
+ ***************************************************************************** */
277
+
278
+ function __awaiter(thisArg, _arguments, P, generator) {
279
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
280
+ return new (P || (P = Promise))(function (resolve, reject) {
281
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
282
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
283
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
284
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
285
+ });
286
+ }
287
+
288
+ let validate;
289
+ let preSubmitValidationError;
290
+ const configureForm = (configuration) => {
291
+ validate = configuration.validation.validate;
292
+ preSubmitValidationError = configuration.validation.preSubmitValidationError;
293
+ };
294
+ const _checkConfiguration = () => {
295
+ if (!validate || !preSubmitValidationError)
296
+ throw new Error("You must define configureForm to configure mobx-form");
297
+ };
298
+
299
+ class CombinedFormFieldService {
300
+ constructor(initValue) {
301
+ Object.defineProperty(this, "_touched", {
302
+ enumerable: true,
303
+ configurable: true,
304
+ writable: true,
305
+ value: false
306
+ });
307
+ Object.defineProperty(this, "_disabled", {
308
+ enumerable: true,
309
+ configurable: true,
310
+ writable: true,
311
+ value: false
312
+ });
313
+ Object.defineProperty(this, "_error", {
314
+ enumerable: true,
315
+ configurable: true,
316
+ writable: true,
317
+ value: undefined
318
+ });
319
+ Object.defineProperty(this, "_initValue", {
320
+ enumerable: true,
321
+ configurable: true,
322
+ writable: true,
323
+ value: []
324
+ });
325
+ Object.defineProperty(this, "_value", {
326
+ enumerable: true,
327
+ configurable: true,
328
+ writable: true,
329
+ value: []
330
+ });
331
+ Object.defineProperty(this, "_validate", {
332
+ enumerable: true,
333
+ configurable: true,
334
+ writable: true,
335
+ value: void 0
336
+ });
337
+ Object.defineProperty(this, "setTouched", {
338
+ enumerable: true,
339
+ configurable: true,
340
+ writable: true,
341
+ value: (touched) => {
342
+ this._touched = touched;
343
+ }
344
+ });
345
+ Object.defineProperty(this, "add", {
346
+ enumerable: true,
347
+ configurable: true,
348
+ writable: true,
349
+ value: (value) => {
350
+ var _a;
351
+ this.value.push(value);
352
+ this.setTouched(true);
353
+ (_a = this.validate) === null || _a === void 0 ? void 0 : _a.call(this, 'only-touched');
354
+ }
355
+ });
356
+ Object.defineProperty(this, "removeByIndex", {
357
+ enumerable: true,
358
+ configurable: true,
359
+ writable: true,
360
+ value: (index) => {
361
+ var _a;
362
+ this.value.splice(index, 1);
363
+ this.setTouched(true);
364
+ (_a = this.validate) === null || _a === void 0 ? void 0 : _a.call(this, 'only-touched');
365
+ }
366
+ });
367
+ Object.defineProperty(this, "reset", {
368
+ enumerable: true,
369
+ configurable: true,
370
+ writable: true,
371
+ value: () => {
372
+ this._value = this.initValue.slice(0); // copy array without objects
373
+ this._value.forEach(it => it.formService.reset());
374
+ this.setTouched(false);
375
+ }
376
+ });
377
+ Object.defineProperty(this, "setAsInit", {
378
+ enumerable: true,
379
+ configurable: true,
380
+ writable: true,
381
+ value: () => {
382
+ this.initValue = this.value;
383
+ this._value.forEach(it => it.formService.setValuesAsInit());
384
+ this.setTouched(false);
385
+ }
386
+ });
387
+ Object.defineProperty(this, "getValues", {
388
+ enumerable: true,
389
+ configurable: true,
390
+ writable: true,
391
+ value: () => {
392
+ return this.value.map(it => it.formService.getValues());
393
+ }
394
+ });
395
+ Object.defineProperty(this, "touch", {
396
+ enumerable: true,
397
+ configurable: true,
398
+ writable: true,
399
+ value: () => {
400
+ this.value.forEach(it => it.formService.touch());
401
+ this.setTouched(true);
402
+ }
403
+ });
404
+ Object.defineProperty(this, "validateFields", {
405
+ enumerable: true,
406
+ configurable: true,
407
+ writable: true,
408
+ value: (type = 'everything') => {
409
+ return Promise.all(this.value.map(it => it.formService.validate(type)));
410
+ }
411
+ });
412
+ Object.defineProperty(this, "validate", {
413
+ enumerable: true,
414
+ configurable: true,
415
+ writable: true,
416
+ value: (type = 'everything') => __awaiter(this, void 0, void 0, function* () {
417
+ var _a;
418
+ return Promise.all([(_a = this._validate) === null || _a === void 0 ? void 0 : _a.call(this), this.validateFields(type)]);
419
+ })
420
+ });
421
+ Object.defineProperty(this, "disable", {
422
+ enumerable: true,
423
+ configurable: true,
424
+ writable: true,
425
+ value: () => {
426
+ this.disabled = true;
427
+ }
428
+ });
429
+ Object.defineProperty(this, "enable", {
430
+ enumerable: true,
431
+ configurable: true,
432
+ writable: true,
433
+ value: () => {
434
+ this.disabled = false;
435
+ }
436
+ });
437
+ makeAutoObservable(this);
438
+ this.initValue = initValue || [];
439
+ }
440
+ get initValue() {
441
+ return this._initValue;
442
+ }
443
+ set initValue(_initValue) {
444
+ var _a;
445
+ this._initValue = _initValue;
446
+ this._value = _initValue.slice(0); // copy array without objects
447
+ this.setTouched(false);
448
+ (_a = this.validate) === null || _a === void 0 ? void 0 : _a.call(this, 'only-touched');
449
+ }
450
+ get value() {
451
+ return this._value;
452
+ }
453
+ set value(array) {
454
+ this._value = array;
455
+ this.setTouched(true);
456
+ }
457
+ get disabled() {
458
+ return this._disabled;
459
+ }
460
+ set disabled(disabled) {
461
+ this._disabled = disabled;
462
+ if (disabled) {
463
+ this.value.forEach(it => it.formService.disable());
464
+ }
465
+ else {
466
+ this.value.forEach(it => it.formService.enable());
467
+ }
468
+ }
469
+ get error() {
470
+ return this._error;
471
+ }
472
+ set error(error) {
473
+ this._error = error;
474
+ }
475
+ get isValid() {
476
+ return !this._error && this.value.every(it => it.formService.isValid);
477
+ }
478
+ get isTouched() {
479
+ return this._touched || this.value.some(it => it.formService.isTouched);
480
+ }
481
+ get isInit() {
482
+ return !this.isTouched;
483
+ }
484
+ get hasItems() {
485
+ return Boolean(this.value.length);
486
+ }
487
+ }
488
+
489
+ class AutocompleteFieldService {
490
+ constructor(initValue) {
491
+ Object.defineProperty(this, "field", {
492
+ enumerable: true,
493
+ configurable: true,
494
+ writable: true,
495
+ value: new FieldService(null)
496
+ });
497
+ Object.defineProperty(this, "inputField", {
498
+ enumerable: true,
499
+ configurable: true,
500
+ writable: true,
501
+ value: new FieldService("")
502
+ });
503
+ Object.defineProperty(this, "setValue", {
504
+ enumerable: true,
505
+ configurable: true,
506
+ writable: true,
507
+ value: (value, { inputValue = "", withNotification = true, withBlur = true }) => {
508
+ var _a, _b, _c, _d;
509
+ if (!withNotification) {
510
+ this.field.value = value;
511
+ this.inputField.value = inputValue;
512
+ (_b = (_a = this.field).validate) === null || _b === void 0 ? void 0 : _b.call(_a);
513
+ (_d = (_c = this.inputField).validate) === null || _d === void 0 ? void 0 : _d.call(_c);
514
+ }
515
+ else {
516
+ this.field.value = value;
517
+ this.inputField.value = inputValue;
518
+ }
519
+ if (withBlur) {
520
+ return this.field.isBlurred = true;
521
+ }
522
+ }
523
+ });
524
+ Object.defineProperty(this, "reset", {
525
+ enumerable: true,
526
+ configurable: true,
527
+ writable: true,
528
+ value: () => {
529
+ this.field.reset();
530
+ }
531
+ });
532
+ Object.defineProperty(this, "setAsInit", {
533
+ enumerable: true,
534
+ configurable: true,
535
+ writable: true,
536
+ value: () => {
537
+ this.field.setAsInit();
538
+ }
539
+ });
540
+ Object.defineProperty(this, "onInputChange", {
541
+ enumerable: true,
542
+ configurable: true,
543
+ writable: true,
544
+ value: (e, value) => {
545
+ this.inputField.value = value;
546
+ }
547
+ });
548
+ Object.defineProperty(this, "touch", {
549
+ enumerable: true,
550
+ configurable: true,
551
+ writable: true,
552
+ value: () => {
553
+ this.field.touch();
554
+ }
555
+ });
556
+ Object.defineProperty(this, "disable", {
557
+ enumerable: true,
558
+ configurable: true,
559
+ writable: true,
560
+ value: () => {
561
+ this.field.disabled = true;
562
+ }
563
+ });
564
+ Object.defineProperty(this, "enable", {
565
+ enumerable: true,
566
+ configurable: true,
567
+ writable: true,
568
+ value: () => {
569
+ this.field.disabled = false;
570
+ }
571
+ });
572
+ makeAutoObservable(this);
573
+ this.field.initValue = initValue;
574
+ }
575
+ get validate() {
576
+ return this.field.validate;
577
+ }
578
+ set validate(validate) {
579
+ this.field.validate = validate;
580
+ }
581
+ get value() {
582
+ return this.field.value;
583
+ }
584
+ set value(value) {
585
+ this.field.value = value;
586
+ }
587
+ get error() {
588
+ return this.field.error;
589
+ }
590
+ set error(error) {
591
+ this.field.error = error;
592
+ }
593
+ get disabled() {
594
+ return this.field.disabled;
595
+ }
596
+ set disabled(disabled) {
597
+ this.field.disabled = disabled;
598
+ }
599
+ get isValid() {
600
+ return this.field.isValid;
601
+ }
602
+ get isInit() {
603
+ return this.field.isInit;
604
+ }
605
+ set initValue(initValue) {
606
+ this.field.initValue = initValue;
607
+ }
608
+ get isTouched() {
609
+ return this.field.isTouched;
610
+ }
611
+ get initValue() {
612
+ return this.field.initValue;
613
+ }
614
+ get props() {
615
+ return Object.assign(Object.assign({}, this.field.props), { inputValue: this.inputField.value, onInputChange: this.onInputChange });
616
+ }
617
+ }
618
+
619
+ class FormService {
620
+ constructor(fields, validationSchema) {
621
+ Object.defineProperty(this, "fields", {
622
+ enumerable: true,
623
+ configurable: true,
624
+ writable: true,
625
+ value: void 0
626
+ });
627
+ Object.defineProperty(this, "validationSchema", {
628
+ enumerable: true,
629
+ configurable: true,
630
+ writable: true,
631
+ value: void 0
632
+ });
633
+ Object.defineProperty(this, "onSubmit", {
634
+ enumerable: true,
635
+ configurable: true,
636
+ writable: true,
637
+ value: void 0
638
+ });
639
+ Object.defineProperty(this, "setOnSubmit", {
640
+ enumerable: true,
641
+ configurable: true,
642
+ writable: true,
643
+ value: (onSubmit) => {
644
+ this.onSubmit = onSubmit;
645
+ }
646
+ });
647
+ Object.defineProperty(this, "submit", {
648
+ enumerable: true,
649
+ configurable: true,
650
+ writable: true,
651
+ value: () => __awaiter(this, void 0, void 0, function* () {
652
+ var _a;
653
+ yield this.validate('everything');
654
+ if (this.canBeSubmitted) {
655
+ return (_a = this.onSubmit) === null || _a === void 0 ? void 0 : _a.call(this);
656
+ }
657
+ else {
658
+ preSubmitValidationError === null || preSubmitValidationError === void 0 ? void 0 : preSubmitValidationError();
659
+ }
660
+ })
661
+ });
662
+ /***
663
+ * Validate the form
664
+ *
665
+ * *Configure this method with configureForm from mobx-form
666
+ */
667
+ Object.defineProperty(this, "validate", {
668
+ enumerable: true,
669
+ configurable: true,
670
+ writable: true,
671
+ value: (type = 'only-touched') => __awaiter(this, void 0, void 0, function* () {
672
+ const fieldValues = this.getValues();
673
+ // валидация для сложных форм снизу -> вверх
674
+ yield this.bypassFields(this.fields, (field) => __awaiter(this, void 0, void 0, function* () {
675
+ var _b;
676
+ if (field instanceof CombinedFormFieldService) {
677
+ return yield ((_b = field.validateFields) === null || _b === void 0 ? void 0 : _b.call(field, type));
678
+ }
679
+ }));
680
+ // валидация для простейших полей сверху -> вниз
681
+ const errors = yield (validate === null || validate === void 0 ? void 0 : validate(fieldValues, this.validationSchema));
682
+ if (errors && Object.keys(errors || []).length != 0) {
683
+ this.setErrors(errors, type);
684
+ }
685
+ else {
686
+ this.resetErrors();
687
+ }
688
+ })
689
+ });
690
+ Object.defineProperty(this, "setValidationSchema", {
691
+ enumerable: true,
692
+ configurable: true,
693
+ writable: true,
694
+ value: (validationSchema) => {
695
+ this.validationSchema = validationSchema;
696
+ this.setValidationToFields();
697
+ }
698
+ });
699
+ /**
700
+ *
701
+ * @returns Object of field values
702
+ */
703
+ Object.defineProperty(this, "getValues", {
704
+ enumerable: true,
705
+ configurable: true,
706
+ writable: true,
707
+ value: () => {
708
+ const values = {};
709
+ for (const key of this.keys) {
710
+ values[key] = this.getValue(this.fields[key]);
711
+ }
712
+ return values;
713
+ }
714
+ });
715
+ Object.defineProperty(this, "getValue", {
716
+ enumerable: true,
717
+ configurable: true,
718
+ writable: true,
719
+ value: (value) => {
720
+ if (value instanceof FieldService || value instanceof CombinedFormFieldService || value instanceof AutocompleteFieldService) {
721
+ return value === null || value === void 0 ? void 0 : value.value;
722
+ }
723
+ else if (typeof value === 'object') {
724
+ const values = {};
725
+ for (const key of Object.keys(value)) {
726
+ values[key] = this.getValue(value === null || value === void 0 ? void 0 : value[key]);
727
+ }
728
+ return values;
729
+ }
730
+ return value;
731
+ }
732
+ });
733
+ /**
734
+ * Set fields by this
735
+ */
736
+ Object.defineProperty(this, "setFieldsByThis", {
737
+ enumerable: true,
738
+ configurable: true,
739
+ writable: true,
740
+ value: (obj) => {
741
+ const fields = {};
742
+ Object.keys(obj).forEach(key => {
743
+ if (obj[key] && obj[key] instanceof FieldService || obj[key] instanceof CombinedFormFieldService || obj[key] instanceof AutocompleteFieldService) {
744
+ fields[key] = obj[key];
745
+ }
746
+ });
747
+ this.fields = fields;
748
+ this.setValidationToFields();
749
+ }
750
+ });
751
+ Object.defineProperty(this, "bypassFields", {
752
+ enumerable: true,
753
+ configurable: true,
754
+ writable: true,
755
+ value: (fields, action, levelParams) => {
756
+ if (fields instanceof FieldService || fields instanceof CombinedFormFieldService || fields instanceof AutocompleteFieldService) {
757
+ // if(typeof fields.value === 'object') {
758
+ // this.bypassFields(fields.value, action, levelParams)
759
+ // }
760
+ return action(fields, levelParams);
761
+ }
762
+ else if (typeof fields === 'object') {
763
+ return Promise.all(Object.keys(fields || {}).map(key => {
764
+ return this.bypassFields(fields === null || fields === void 0 ? void 0 : fields[key], action, levelParams === null || levelParams === void 0 ? void 0 : levelParams[key]);
765
+ }));
766
+ }
767
+ }
768
+ });
769
+ Object.defineProperty(this, "setValidationToFields", {
770
+ enumerable: true,
771
+ configurable: true,
772
+ writable: true,
773
+ value: () => {
774
+ this.bypassFields(this.fields, (field) => {
775
+ if (!(field instanceof CombinedFormFieldService)) {
776
+ field.validate = this.validate;
777
+ }
778
+ else {
779
+ field._validate = this.validate;
780
+ }
781
+ });
782
+ }
783
+ });
784
+ /**
785
+ * Set object to init values by form service keys
786
+ */
787
+ Object.defineProperty(this, "setInitValues", {
788
+ enumerable: true,
789
+ configurable: true,
790
+ writable: true,
791
+ value: (values) => {
792
+ this.bypassFields(this.fields, (field, levelParams) => field.initValue = levelParams, values);
793
+ }
794
+ });
795
+ /**
796
+ * Set object to values by form service keys
797
+ */
798
+ Object.defineProperty(this, "setValues", {
799
+ enumerable: true,
800
+ configurable: true,
801
+ writable: true,
802
+ value: (values) => {
803
+ this.bypassFields(this.fields, (field, levelParams) => field.value = levelParams, values);
804
+ }
805
+ });
806
+ /**
807
+ * Set field errors to undefined
808
+ */
809
+ Object.defineProperty(this, "resetErrors", {
810
+ enumerable: true,
811
+ configurable: true,
812
+ writable: true,
813
+ value: () => {
814
+ this.bypassFields(this.fields, (field) => field.error = undefined);
815
+ }
816
+ });
817
+ /**
818
+ * Set field values to init values
819
+ */
820
+ Object.defineProperty(this, "setValuesAsInit", {
821
+ enumerable: true,
822
+ configurable: true,
823
+ writable: true,
824
+ value: () => {
825
+ this.bypassFields(this.fields, (field) => {
826
+ field.setAsInit();
827
+ });
828
+ }
829
+ });
830
+ /**
831
+ * Reset fields to their own initial values
832
+ */
833
+ Object.defineProperty(this, "reset", {
834
+ enumerable: true,
835
+ configurable: true,
836
+ writable: true,
837
+ value: () => {
838
+ this.bypassFields(this.fields, (field) => field.reset());
839
+ this.validate();
840
+ }
841
+ });
842
+ /**
843
+ * Pass true to the property 'disabled'
844
+ */
845
+ Object.defineProperty(this, "disable", {
846
+ enumerable: true,
847
+ configurable: true,
848
+ writable: true,
849
+ value: () => {
850
+ this.bypassFields(this.fields, (field) => field.disable());
851
+ }
852
+ });
853
+ /**
854
+ * Pass false to the property 'disabled'
855
+ */
856
+ Object.defineProperty(this, "enable", {
857
+ enumerable: true,
858
+ configurable: true,
859
+ writable: true,
860
+ value: () => {
861
+ this.bypassFields(this.fields, (field) => field.enable());
862
+ }
863
+ });
864
+ Object.defineProperty(this, "touch", {
865
+ enumerable: true,
866
+ configurable: true,
867
+ writable: true,
868
+ value: () => {
869
+ this.bypassFields(this.fields, (field) => field.touch());
870
+ }
871
+ });
872
+ _checkConfiguration();
873
+ makeAutoObservable(this);
874
+ this.fields = fields;
875
+ this.validationSchema = validationSchema;
876
+ this.setValidationToFields();
877
+ }
878
+ /**
879
+ * Return field keys
880
+ */
881
+ get keys() {
882
+ return Object.keys(this.fields);
883
+ }
884
+ /**
885
+ * Check each field if its isValid = true
886
+ */
887
+ get isValid() {
888
+ let isValid = true;
889
+ this.bypassFields(this.fields, (field) => {
890
+ if (!field.isValid) {
891
+ isValid = false;
892
+ }
893
+ });
894
+ return isValid;
895
+ }
896
+ /**
897
+ * Check each field if its isTouched = true
898
+ */
899
+ get isTouched() {
900
+ let isTouched = false;
901
+ this.bypassFields(this.fields, (field) => {
902
+ if (field.isTouched) {
903
+ isTouched = true;
904
+ }
905
+ });
906
+ return isTouched;
907
+ }
908
+ /**
909
+ * Check if isTouched = true && isValid = true
910
+ */
911
+ get canBeSubmitted() {
912
+ return this.isTouched && this.isValid;
913
+ }
914
+ /**
915
+ * always true if the form service is empty
916
+ */
917
+ get disabled() {
918
+ let disabled = true;
919
+ this.bypassFields(this.fields, (field) => {
920
+ if (!field.disabled) {
921
+ disabled = false;
922
+ }
923
+ });
924
+ return disabled;
925
+ }
926
+ /**
927
+ * Set errors for fields
928
+ * @param errors object of string which provides errors for fields
929
+ */
930
+ setErrors(error, validationType = 'only-touched') {
931
+ this.bypassFields(this.fields, (field, levelParams) => {
932
+ if (field.isTouched || validationType === 'everything') { // set error only if it's changed
933
+ field.error = levelParams;
934
+ }
935
+ }, error);
936
+ }
937
+ }
938
+
939
+ export { AutocompleteFieldService, CombinedFormFieldService, FieldService, FormService, _checkConfiguration, configureForm, preSubmitValidationError, validate };
940
+ //# sourceMappingURL=index.dev.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.dev.js","sources":["../src/utils/check-types.ts","../src/utils/isEqual.ts","../src/field-service.ts","../node_modules/tslib/tslib.es6.js","../src/configure-form.ts","../src/combined-form-field-service.ts","../src/autocompete-field-service.ts","../src/form-service.ts"],"sourcesContent":[null,null,null,"/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.push(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.push(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n",null,null,null,null],"names":[],"mappings":"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","x_google_ignoreList":[3]}
@@ -0,0 +1 @@
1
+ import{makeAutoObservable as e}from"mobx";function i(e,t){if(e===t)return!0;if(null===e||null===t||"object"!=typeof e||"object"!=typeof t)return!1;if(e instanceof Date&&t instanceof Date)return e.getTime()===t.getTime();if(e instanceof RegExp&&t instanceof RegExp)return e.toString()===t.toString();if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(const[r,l]of e)if(!t.has(r)||!i(l,t.get(r)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(const i of e)if(!t.has(i))return!1;return!0}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(!i(e[r],t[r]))return!1;return!0}const r=Object.keys(e),l=Object.keys(t);if(r.length!==l.length)return!1;for(const l of r)if(!Object.hasOwnProperty.call(t,l)||!i(e[l],t[l]))return!1;return!0}class t{constructor(i,t){Object.defineProperty(this,"validate",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_serviceType",{enumerable:!0,configurable:!0,writable:!0,value:"field-service"}),Object.defineProperty(this,"_initValue",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_value",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_error",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_disabled",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"_isBlurred",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"onChange",{enumerable:!0,configurable:!0,writable:!0,value:(e,i)=>{var t;this.value=i,null===(t=this.validate)||void 0===t||t.call(this)}}),Object.defineProperty(this,"onBlur",{enumerable:!0,configurable:!0,writable:!0,value:e=>{var i;this.isBlurred=!0,null===(i=this.validate)||void 0===i||i.call(this)}}),Object.defineProperty(this,"reset",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.value=this.initValue,this.isBlurred=!1}}),Object.defineProperty(this,"setAsInit",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.initValue=this.value,this.isBlurred=!1}}),Object.defineProperty(this,"touch",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.isBlurred=!0}}),Object.defineProperty(this,"disable",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.disabled=!0}}),Object.defineProperty(this,"enable",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.disabled=!1}}),e(this),this.initValue=i,this.options=t}get initValue(){return this._initValue}set initValue(e){var i;this._initValue=e,this._value=e,null===(i=this.validate)||void 0===i||i.call(this)}get value(){return this._value}set value(e){var i,t,r,l;console.log({options:this.options,oldValue:this._value,value:e});if("abort"===(null===(t=null===(i=this.options)||void 0===i?void 0:i.beforeChange)||void 0===t?void 0:t.call(i,e)))return;const a=this._value;this._value=e,a!==e&&(null===(l=null===(r=this.options)||void 0===r?void 0:r.onChange)||void 0===l||l.call(r,e))}get error(){return this._error}set error(e){this._error=e}get disabled(){return this._disabled}set disabled(e){this._disabled=e}get isValid(){return!this._error}get isInit(){return null!==(e=this.value)&&"object"==typeof e?i(this.value,this._initValue):this._value===this._initValue;var e}get isBlurred(){return this._isBlurred}set isBlurred(e){this._isBlurred=e}get isTouched(){return!this.isInit||this.isBlurred}get props(){var e;let i={value:this.value,error:this.error,disabled:this.disabled};return(null===(e=this.options)||void 0===e?void 0:e.onError)&&(i=Object.assign(Object.assign({},i),{onError:e=>{this.error=this.error||(null==e?void 0:e.toString())}})),Object.assign(Object.assign({},i),{onChange:this.onChange,onBlur:this.onBlur})}}function r(e,i,t,r){return new(t||(t=Promise))((function(l,a){function s(e){try{u(r.next(e))}catch(e){a(e)}}function n(e){try{u(r.throw(e))}catch(e){a(e)}}function u(e){var i;e.done?l(e.value):(i=e.value,i instanceof t?i:new t((function(e){e(i)}))).then(s,n)}u((r=r.apply(e,i||[])).next())}))}let l,a;const s=e=>{l=e.validation.validate,a=e.validation.preSubmitValidationError},n=()=>{if(!l||!a)throw new Error("You must define configureForm to configure mobx-form")};class u{constructor(i){Object.defineProperty(this,"_touched",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"_disabled",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"_error",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_initValue",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"_value",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"_validate",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"setTouched",{enumerable:!0,configurable:!0,writable:!0,value:e=>{this._touched=e}}),Object.defineProperty(this,"add",{enumerable:!0,configurable:!0,writable:!0,value:e=>{var i;this.value.push(e),this.setTouched(!0),null===(i=this.validate)||void 0===i||i.call(this,"only-touched")}}),Object.defineProperty(this,"removeByIndex",{enumerable:!0,configurable:!0,writable:!0,value:e=>{var i;this.value.splice(e,1),this.setTouched(!0),null===(i=this.validate)||void 0===i||i.call(this,"only-touched")}}),Object.defineProperty(this,"reset",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this._value=this.initValue.slice(0),this._value.forEach((e=>e.formService.reset())),this.setTouched(!1)}}),Object.defineProperty(this,"setAsInit",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.initValue=this.value,this._value.forEach((e=>e.formService.setValuesAsInit())),this.setTouched(!1)}}),Object.defineProperty(this,"getValues",{enumerable:!0,configurable:!0,writable:!0,value:()=>this.value.map((e=>e.formService.getValues()))}),Object.defineProperty(this,"touch",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.value.forEach((e=>e.formService.touch())),this.setTouched(!0)}}),Object.defineProperty(this,"validateFields",{enumerable:!0,configurable:!0,writable:!0,value:(e="everything")=>Promise.all(this.value.map((i=>i.formService.validate(e))))}),Object.defineProperty(this,"validate",{enumerable:!0,configurable:!0,writable:!0,value:(e="everything")=>r(this,void 0,void 0,(function*(){var i;return Promise.all([null===(i=this._validate)||void 0===i?void 0:i.call(this),this.validateFields(e)])}))}),Object.defineProperty(this,"disable",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.disabled=!0}}),Object.defineProperty(this,"enable",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.disabled=!1}}),e(this),this.initValue=i||[]}get initValue(){return this._initValue}set initValue(e){var i;this._initValue=e,this._value=e.slice(0),this.setTouched(!1),null===(i=this.validate)||void 0===i||i.call(this,"only-touched")}get value(){return this._value}set value(e){this._value=e,this.setTouched(!0)}get disabled(){return this._disabled}set disabled(e){this._disabled=e,e?this.value.forEach((e=>e.formService.disable())):this.value.forEach((e=>e.formService.enable()))}get error(){return this._error}set error(e){this._error=e}get isValid(){return!this._error&&this.value.every((e=>e.formService.isValid))}get isTouched(){return this._touched||this.value.some((e=>e.formService.isTouched))}get isInit(){return!this.isTouched}get hasItems(){return Boolean(this.value.length)}}class o{constructor(i){Object.defineProperty(this,"field",{enumerable:!0,configurable:!0,writable:!0,value:new t(null)}),Object.defineProperty(this,"inputField",{enumerable:!0,configurable:!0,writable:!0,value:new t("")}),Object.defineProperty(this,"setValue",{enumerable:!0,configurable:!0,writable:!0,value:(e,{inputValue:i="",withNotification:t=!0,withBlur:r=!0})=>{var l,a,s,n;if(t?(this.field.value=e,this.inputField.value=i):(this.field.value=e,this.inputField.value=i,null===(a=(l=this.field).validate)||void 0===a||a.call(l),null===(n=(s=this.inputField).validate)||void 0===n||n.call(s)),r)return this.field.isBlurred=!0}}),Object.defineProperty(this,"reset",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.field.reset()}}),Object.defineProperty(this,"setAsInit",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.field.setAsInit()}}),Object.defineProperty(this,"onInputChange",{enumerable:!0,configurable:!0,writable:!0,value:(e,i)=>{this.inputField.value=i}}),Object.defineProperty(this,"touch",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.field.touch()}}),Object.defineProperty(this,"disable",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.field.disabled=!0}}),Object.defineProperty(this,"enable",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.field.disabled=!1}}),e(this),this.field.initValue=i}get validate(){return this.field.validate}set validate(e){this.field.validate=e}get value(){return this.field.value}set value(e){this.field.value=e}get error(){return this.field.error}set error(e){this.field.error=e}get disabled(){return this.field.disabled}set disabled(e){this.field.disabled=e}get isValid(){return this.field.isValid}get isInit(){return this.field.isInit}set initValue(e){this.field.initValue=e}get isTouched(){return this.field.isTouched}get initValue(){return this.field.initValue}get props(){return Object.assign(Object.assign({},this.field.props),{inputValue:this.inputField.value,onInputChange:this.onInputChange})}}class d{constructor(i,s){Object.defineProperty(this,"fields",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"validationSchema",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"onSubmit",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"setOnSubmit",{enumerable:!0,configurable:!0,writable:!0,value:e=>{this.onSubmit=e}}),Object.defineProperty(this,"submit",{enumerable:!0,configurable:!0,writable:!0,value:()=>r(this,void 0,void 0,(function*(){var e;if(yield this.validate("everything"),this.canBeSubmitted)return null===(e=this.onSubmit)||void 0===e?void 0:e.call(this);null==a||a()}))}),Object.defineProperty(this,"validate",{enumerable:!0,configurable:!0,writable:!0,value:(e="only-touched")=>r(this,void 0,void 0,(function*(){const i=this.getValues();yield this.bypassFields(this.fields,(i=>r(this,void 0,void 0,(function*(){var t;if(i instanceof u)return yield null===(t=i.validateFields)||void 0===t?void 0:t.call(i,e)}))));const t=yield null==l?void 0:l(i,this.validationSchema);t&&0!=Object.keys(t||[]).length?this.setErrors(t,e):this.resetErrors()}))}),Object.defineProperty(this,"setValidationSchema",{enumerable:!0,configurable:!0,writable:!0,value:e=>{this.validationSchema=e,this.setValidationToFields()}}),Object.defineProperty(this,"getValues",{enumerable:!0,configurable:!0,writable:!0,value:()=>{const e={};for(const i of this.keys)e[i]=this.getValue(this.fields[i]);return e}}),Object.defineProperty(this,"getValue",{enumerable:!0,configurable:!0,writable:!0,value:e=>{if(e instanceof t||e instanceof u||e instanceof o)return null==e?void 0:e.value;if("object"==typeof e){const i={};for(const t of Object.keys(e))i[t]=this.getValue(null==e?void 0:e[t]);return i}return e}}),Object.defineProperty(this,"setFieldsByThis",{enumerable:!0,configurable:!0,writable:!0,value:e=>{const i={};Object.keys(e).forEach((r=>{(e[r]&&e[r]instanceof t||e[r]instanceof u||e[r]instanceof o)&&(i[r]=e[r])})),this.fields=i,this.setValidationToFields()}}),Object.defineProperty(this,"bypassFields",{enumerable:!0,configurable:!0,writable:!0,value:(e,i,r)=>e instanceof t||e instanceof u||e instanceof o?i(e,r):"object"==typeof e?Promise.all(Object.keys(e||{}).map((t=>this.bypassFields(null==e?void 0:e[t],i,null==r?void 0:r[t])))):void 0}),Object.defineProperty(this,"setValidationToFields",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.bypassFields(this.fields,(e=>{e instanceof u?e._validate=this.validate:e.validate=this.validate}))}}),Object.defineProperty(this,"setInitValues",{enumerable:!0,configurable:!0,writable:!0,value:e=>{this.bypassFields(this.fields,((e,i)=>e.initValue=i),e)}}),Object.defineProperty(this,"setValues",{enumerable:!0,configurable:!0,writable:!0,value:e=>{this.bypassFields(this.fields,((e,i)=>e.value=i),e)}}),Object.defineProperty(this,"resetErrors",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.bypassFields(this.fields,(e=>e.error=void 0))}}),Object.defineProperty(this,"setValuesAsInit",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.bypassFields(this.fields,(e=>{e.setAsInit()}))}}),Object.defineProperty(this,"reset",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.bypassFields(this.fields,(e=>e.reset())),this.validate()}}),Object.defineProperty(this,"disable",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.bypassFields(this.fields,(e=>e.disable()))}}),Object.defineProperty(this,"enable",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.bypassFields(this.fields,(e=>e.enable()))}}),Object.defineProperty(this,"touch",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.bypassFields(this.fields,(e=>e.touch()))}}),n(),e(this),this.fields=i,this.validationSchema=s,this.setValidationToFields()}get keys(){return Object.keys(this.fields)}get isValid(){let e=!0;return this.bypassFields(this.fields,(i=>{i.isValid||(e=!1)})),e}get isTouched(){let e=!1;return this.bypassFields(this.fields,(i=>{i.isTouched&&(e=!0)})),e}get canBeSubmitted(){return this.isTouched&&this.isValid}get disabled(){let e=!0;return this.bypassFields(this.fields,(i=>{i.disabled||(e=!1)})),e}setErrors(e,i="only-touched"){this.bypassFields(this.fields,((e,t)=>{(e.isTouched||"everything"===i)&&(e.error=t)}),e)}}export{o as AutocompleteFieldService,u as CombinedFormFieldService,t as FieldService,d as FormService,n as _checkConfiguration,s as configureForm,a as preSubmitValidationError,l as validate};
package/dist/types.d.ts CHANGED
@@ -19,6 +19,8 @@ export interface IField {
19
19
  reset(): void;
20
20
  setAsInit(): void;
21
21
  touch(): void;
22
+ disable: () => void;
23
+ enable: () => void;
22
24
  }
23
25
  export interface IForm<T> {
24
26
  fields: T;
@@ -1,2 +1,3 @@
1
1
  export * from './form';
2
2
  export * from './check-types';
3
+ export * from './isEqual';
@@ -0,0 +1 @@
1
+ export declare function isEqual(value: any, other: any): boolean;
package/package.json CHANGED
@@ -2,18 +2,17 @@
2
2
  "type": "module",
3
3
  "name": "@mobx-ecosystem/mobx-form",
4
4
  "private": false,
5
- "version": "2.10.32",
5
+ "version": "2.11.1",
6
6
  "description": "provides the ability to use forms with validation in MobX stores",
7
- "main": "dist/index.js",
8
- "module": "dist/index.js",
9
- "types": "dist/index.d.ts",
7
+ "main": "./dist/index.prod.js",
10
8
  "exports": {
11
9
  ".": {
12
- "types": "./dist/index.d.ts",
13
- "import": "./dist/index.js",
14
- "default": "./dist/index.js"
15
- },
16
- "./package.json": "./package.json"
10
+ "import": {
11
+ "development": "./dist/index.dev.js",
12
+ "production": "./dist/index.prod.js",
13
+ "default": "./dist/index.prod.js"
14
+ }
15
+ }
17
16
  },
18
17
  "scripts": {
19
18
  "dev": "tsc --watch",
@@ -43,7 +42,6 @@
43
42
  "@rollup/plugin-node-resolve": "^15.0.2",
44
43
  "@rollup/plugin-terser": "^0.4.0",
45
44
  "@rollup/plugin-typescript": "^11.1.0",
46
- "@types/lodash": "^4.14.192",
47
45
  "mobx": "^6.9.0",
48
46
  "npm-run-all": "^4.1.5",
49
47
  "rimraf": "^5.0.0",
@@ -57,8 +55,5 @@
57
55
  "type": "git",
58
56
  "url": "https://github.com/RudikS-git/mobx-ecosystem"
59
57
  },
60
- "dependencies": {
61
- "lodash": "^4.17.21",
62
- "mitt": "^3.0.1"
63
- }
58
+ "dependencies": {}
64
59
  }
@@ -1 +0,0 @@
1
- export {};
package/dist/index.js DELETED
@@ -1 +0,0 @@
1
- import{isEqual as e}from"lodash";import{makeAutoObservable as i}from"mobx";import t from"mitt";class r{constructor(e,r){Object.defineProperty(this,"_isListenerWorks",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(this,"eventBus",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"validate",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_serviceType",{enumerable:!0,configurable:!0,writable:!0,value:"field-service"}),Object.defineProperty(this,"_initValue",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_value",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_error",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_disabled",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"_isBlurred",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"createListener",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this._isListenerWorks=!0,this.eventBus=t()}}),Object.defineProperty(this,"pauseListener",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this._isListenerWorks=!1}}),Object.defineProperty(this,"resumeListener",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this._isListenerWorks=!0}}),Object.defineProperty(this,"destroyListener",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.eventBus=void 0}}),Object.defineProperty(this,"onChange",{enumerable:!0,configurable:!0,writable:!0,value:(e,i)=>{var t;this.value=i,null===(t=this.validate)||void 0===t||t.call(this)}}),Object.defineProperty(this,"onBlur",{enumerable:!0,configurable:!0,writable:!0,value:e=>{var i;this.isBlurred=!0,null===(i=this.validate)||void 0===i||i.call(this)}}),Object.defineProperty(this,"reset",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.value=this.initValue,this.isBlurred=!1}}),Object.defineProperty(this,"setAsInit",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.initValue=this.value,this.isBlurred=!1}}),Object.defineProperty(this,"touch",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.isBlurred=!0}}),i(this),this.initValue=e,this.options=r}get initValue(){return this._initValue}set initValue(e){var i;this._initValue=e,this._value=e,null===(i=this.validate)||void 0===i||i.call(this)}get value(){return this._value}set value(e){var i;const t=this._value;this._value=e,t!==e&&this._isListenerWorks&&(null===(i=this.eventBus)||void 0===i||i.emit("ON_CHANGE",e))}get error(){return this._error}set error(e){this._error=e}get disabled(){return this._disabled}set disabled(e){this._disabled=e}get isValid(){return!this._error}get isInit(){return null!==(i=this.value)&&"object"==typeof i?e(this.value,this._initValue):this._value===this._initValue;var i}get isBlurred(){return this._isBlurred}set isBlurred(e){this._isBlurred=e}get isTouched(){return!this.isInit||this.isBlurred}get props(){var e;let i={value:this.value,error:this.error,disabled:this.disabled};return(null===(e=this.options)||void 0===e?void 0:e.onError)&&(i=Object.assign(Object.assign({},i),{onError:e=>{this.error=this.error||(null==e?void 0:e.toString())}})),Object.assign(Object.assign({},i),{onChange:this.onChange,onBlur:this.onBlur})}}function l(e,i,t,r){return new(t||(t=Promise))((function(l,s){function a(e){try{u(r.next(e))}catch(e){s(e)}}function n(e){try{u(r.throw(e))}catch(e){s(e)}}function u(e){var i;e.done?l(e.value):(i=e.value,i instanceof t?i:new t((function(e){e(i)}))).then(a,n)}u((r=r.apply(e,i||[])).next())}))}let s,a;const n=e=>{s=e.validation.validate,a=e.validation.preSubmitValidationError},u=()=>{if(!s||!a)throw new Error("You must define configureForm to configure mobx-form")};class o{constructor(e){Object.defineProperty(this,"_touched",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"_disabled",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"_error",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_initValue",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"_value",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"_validate",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"setTouched",{enumerable:!0,configurable:!0,writable:!0,value:e=>{this._touched=e}}),Object.defineProperty(this,"add",{enumerable:!0,configurable:!0,writable:!0,value:e=>{var i;this.value.push(e),this.setTouched(!0),null===(i=this.validate)||void 0===i||i.call(this,"only-touched")}}),Object.defineProperty(this,"removeByIndex",{enumerable:!0,configurable:!0,writable:!0,value:e=>{var i;this.value.splice(e,1),this.setTouched(!0),null===(i=this.validate)||void 0===i||i.call(this,"only-touched")}}),Object.defineProperty(this,"reset",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this._value=this.initValue.slice(0),this._value.forEach((e=>e.formService.reset())),this.setTouched(!1)}}),Object.defineProperty(this,"setAsInit",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.initValue=this.value,this._value.forEach((e=>e.formService.setValuesAsInit())),this.setTouched(!1)}}),Object.defineProperty(this,"getValues",{enumerable:!0,configurable:!0,writable:!0,value:()=>this.value.map((e=>e.formService.getValues()))}),Object.defineProperty(this,"touch",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.value.forEach((e=>e.formService.touch())),this.setTouched(!0)}}),Object.defineProperty(this,"validateFields",{enumerable:!0,configurable:!0,writable:!0,value:(e="everything")=>Promise.all(this.value.map((i=>i.formService.validate(e))))}),Object.defineProperty(this,"validate",{enumerable:!0,configurable:!0,writable:!0,value:(e="everything")=>l(this,void 0,void 0,(function*(){var i;return Promise.all([null===(i=this._validate)||void 0===i?void 0:i.call(this),this.validateFields(e)])}))}),i(this),this.initValue=e||[]}get initValue(){return this._initValue}set initValue(e){var i;this._initValue=e,this._value=e.slice(0),this.setTouched(!1),null===(i=this.validate)||void 0===i||i.call(this,"only-touched")}get value(){return this._value}set value(e){this._value=e,this.setTouched(!0)}get disabled(){return this._disabled}set disabled(e){this._disabled=e,e?this.value.forEach((e=>e.formService.disable())):this.value.forEach((e=>e.formService.enable()))}get error(){return this._error}set error(e){this._error=e}get isValid(){return!this._error&&this.value.every((e=>e.formService.isValid))}get isTouched(){return this._touched||this.value.some((e=>e.formService.isTouched))}get isInit(){return!this.isTouched}get hasItems(){return Boolean(this.value.length)}}class d{constructor(e){Object.defineProperty(this,"field",{enumerable:!0,configurable:!0,writable:!0,value:new r(null)}),Object.defineProperty(this,"inputField",{enumerable:!0,configurable:!0,writable:!0,value:new r("")}),Object.defineProperty(this,"setValue",{enumerable:!0,configurable:!0,writable:!0,value:(e,{inputValue:i="",withNotification:t=!0,withBlur:r=!0})=>{var l,s,a,n;if(t?(this.field.value=e,this.inputField.value=i):(this.field.pauseListener(),this.inputField.pauseListener(),this.field.value=e,this.inputField.value=i,null===(s=(l=this.field).validate)||void 0===s||s.call(l),null===(n=(a=this.inputField).validate)||void 0===n||n.call(a),this.field.resumeListener(),this.inputField.resumeListener()),r)return this.field.isBlurred=!0}}),Object.defineProperty(this,"reset",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.field.reset()}}),Object.defineProperty(this,"setAsInit",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.field.setAsInit()}}),Object.defineProperty(this,"onInputChange",{enumerable:!0,configurable:!0,writable:!0,value:(e,i)=>{this.inputField.value=i}}),Object.defineProperty(this,"touch",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.field.touch()}}),i(this),this.field.initValue=e}get validate(){return this.field.validate}set validate(e){this.field.validate=e}get value(){return this.field.value}set value(e){this.field.value=e}get error(){return this.field.error}set error(e){this.field.error=e}get disabled(){return this.field.disabled}set disabled(e){this.field.disabled=e}get isValid(){return this.field.isValid}get isInit(){return this.field.isInit}set initValue(e){this.field.initValue=e}get isTouched(){return this.field.isTouched}get initValue(){return this.field.initValue}get props(){return Object.assign(Object.assign({},this.field.props),{inputValue:this.inputField.value,onInputChange:this.onInputChange})}}class h{constructor(e,t){Object.defineProperty(this,"fields",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"validationSchema",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"onSubmit",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"setOnSubmit",{enumerable:!0,configurable:!0,writable:!0,value:e=>{this.onSubmit=e}}),Object.defineProperty(this,"submit",{enumerable:!0,configurable:!0,writable:!0,value:()=>l(this,void 0,void 0,(function*(){var e;if(yield this.validate("everything"),this.canBeSubmitted)return null===(e=this.onSubmit)||void 0===e?void 0:e.call(this);null==a||a()}))}),Object.defineProperty(this,"validate",{enumerable:!0,configurable:!0,writable:!0,value:(e="only-touched")=>l(this,void 0,void 0,(function*(){const i=this.getValues();yield this.bypassFields(this.fields,(i=>l(this,void 0,void 0,(function*(){var t;if(i instanceof o)return yield null===(t=i.validateFields)||void 0===t?void 0:t.call(i,e)}))));const t=yield null==s?void 0:s(i,this.validationSchema);t&&0!=Object.keys(t||[]).length?this.setErrors(t,e):this.resetErrors()}))}),Object.defineProperty(this,"setValidationSchema",{enumerable:!0,configurable:!0,writable:!0,value:e=>{this.validationSchema=e,this.setValidationToFields()}}),Object.defineProperty(this,"getValues",{enumerable:!0,configurable:!0,writable:!0,value:()=>{const e={};for(const i of this.keys)e[i]=this.getValue(this.fields[i]);return e}}),Object.defineProperty(this,"getValue",{enumerable:!0,configurable:!0,writable:!0,value:e=>{if(e instanceof r||e instanceof o||e instanceof d)return null==e?void 0:e.value;if("object"==typeof e){const i={};for(const t of Object.keys(e))i[t]=this.getValue(null==e?void 0:e[t]);return i}return e}}),Object.defineProperty(this,"setFieldsByThis",{enumerable:!0,configurable:!0,writable:!0,value:e=>{const i={};Object.keys(e).forEach((t=>{(e[t]&&e[t]instanceof r||e[t]instanceof o||e[t]instanceof d)&&(i[t]=e[t])})),this.fields=i,this.setValidationToFields()}}),Object.defineProperty(this,"bypassFields",{enumerable:!0,configurable:!0,writable:!0,value:(e,i,t)=>e instanceof r||e instanceof o||e instanceof d?i(e,t):"object"==typeof e?Promise.all(Object.keys(e||{}).map((r=>this.bypassFields(null==e?void 0:e[r],i,null==t?void 0:t[r])))):void 0}),Object.defineProperty(this,"setValidationToFields",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.bypassFields(this.fields,(e=>{e instanceof o?e._validate=this.validate:e.validate=this.validate}))}}),Object.defineProperty(this,"setInitValues",{enumerable:!0,configurable:!0,writable:!0,value:e=>{this.bypassFields(this.fields,((e,i)=>e.initValue=i),e)}}),Object.defineProperty(this,"setValues",{enumerable:!0,configurable:!0,writable:!0,value:e=>{this.bypassFields(this.fields,((e,i)=>e.value=i),e)}}),Object.defineProperty(this,"resetErrors",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.bypassFields(this.fields,(e=>e.error=void 0))}}),Object.defineProperty(this,"setValuesAsInit",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.bypassFields(this.fields,(e=>{e.setAsInit()}))}}),Object.defineProperty(this,"reset",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.bypassFields(this.fields,(e=>e.reset())),this.validate()}}),Object.defineProperty(this,"disable",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.bypassFields(this.fields,(e=>e.disabled=!0))}}),Object.defineProperty(this,"enable",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.bypassFields(this.fields,(e=>e.disabled=!1))}}),Object.defineProperty(this,"touch",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.bypassFields(this.fields,(e=>e.touch()))}}),u(),i(this),this.fields=e,this.validationSchema=t,this.setValidationToFields()}get keys(){return Object.keys(this.fields)}get isValid(){let e=!0;return this.bypassFields(this.fields,(i=>{i.isValid||(e=!1)})),e}get isTouched(){let e=!1;return this.bypassFields(this.fields,(i=>{i.isTouched&&(e=!0)})),e}get canBeSubmitted(){return this.isTouched&&this.isValid}get disabled(){let e=!0;return this.bypassFields(this.fields,(i=>{i.disabled||(e=!1)})),e}setErrors(e,i="only-touched"){this.bypassFields(this.fields,((e,t)=>{(e.isTouched||"everything"===i)&&(e.error=t)}),e)}}export{d as AutocompleteFieldService,o as CombinedFormFieldService,r as FieldService,h as FormService,u as _checkConfiguration,n as configureForm,a as preSubmitValidationError,s as validate};