@zajno/common 1.4.0 → 1.4.4

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.
Files changed (90) hide show
  1. package/coverage/clover.xml +92 -81
  2. package/coverage/coverage-final.json +6 -6
  3. package/coverage/lcov-report/index.html +27 -27
  4. package/coverage/lcov-report/src/__tests__/helpers/index.html +1 -1
  5. package/coverage/lcov-report/src/__tests__/helpers/main.ts.html +1 -1
  6. package/coverage/lcov-report/src/async/arrays.ts.html +1 -1
  7. package/coverage/lcov-report/src/async/index.html +1 -1
  8. package/coverage/lcov-report/src/dates/calc.ts.html +1 -1
  9. package/coverage/lcov-report/src/dates/convert.ts.html +1 -1
  10. package/coverage/lcov-report/src/dates/datex.ts.html +1 -1
  11. package/coverage/lcov-report/src/dates/format.ts.html +1 -1
  12. package/coverage/lcov-report/src/dates/index.html +1 -1
  13. package/coverage/lcov-report/src/dates/index.ts.html +1 -1
  14. package/coverage/lcov-report/src/dates/parse.ts.html +1 -1
  15. package/coverage/lcov-report/src/dates/period.ts.html +1 -1
  16. package/coverage/lcov-report/src/dates/shift.ts.html +1 -1
  17. package/coverage/lcov-report/src/dates/types.ts.html +1 -1
  18. package/coverage/lcov-report/src/dates/yearDate.ts.html +1 -1
  19. package/coverage/lcov-report/src/enumHelper.ts.html +1 -1
  20. package/coverage/lcov-report/src/event.ts.html +1 -1
  21. package/coverage/lcov-report/src/fields/index.html +1 -1
  22. package/coverage/lcov-report/src/fields/update.ts.html +1 -1
  23. package/coverage/lcov-report/src/functions.ts.html +1 -1
  24. package/coverage/lcov-report/src/index.html +15 -15
  25. package/coverage/lcov-report/src/lazy.light.ts.html +4 -4
  26. package/coverage/lcov-report/src/logger/batch.ts.html +1 -1
  27. package/coverage/lcov-report/src/logger/console.ts.html +1 -1
  28. package/coverage/lcov-report/src/logger/index.html +1 -1
  29. package/coverage/lcov-report/src/logger/index.ts.html +1 -1
  30. package/coverage/lcov-report/src/logger/named.ts.html +1 -1
  31. package/coverage/lcov-report/src/logger/proxy.ts.html +1 -1
  32. package/coverage/lcov-report/src/math/arrays.ts.html +1 -1
  33. package/coverage/lcov-report/src/math/calc.ts.html +1 -1
  34. package/coverage/lcov-report/src/math/distribution.ts.html +1 -1
  35. package/coverage/lcov-report/src/math/index.html +1 -1
  36. package/coverage/lcov-report/src/math/index.ts.html +1 -1
  37. package/coverage/lcov-report/src/transitionObserver.ts.html +29 -8
  38. package/coverage/lcov-report/src/types.ts.html +1 -1
  39. package/coverage/lcov-report/src/validation/ValidationErrors.ts.html +1 -1
  40. package/coverage/lcov-report/src/validation/creditCard.ts.html +1 -1
  41. package/coverage/lcov-report/src/validation/helpers.ts.html +1 -1
  42. package/coverage/lcov-report/src/validation/index.html +1 -1
  43. package/coverage/lcov-report/src/validation/index.ts.html +1 -1
  44. package/coverage/lcov-report/src/validation/types.ts.html +1 -1
  45. package/coverage/lcov-report/src/validation/validators.ts.html +2 -2
  46. package/coverage/lcov-report/src/validation/wrappers.ts.html +1 -1
  47. package/coverage/lcov-report/src/viewModels/FlagModel.ts.html +3 -3
  48. package/coverage/lcov-report/src/viewModels/MultiSelectModel.ts.html +20 -8
  49. package/coverage/lcov-report/src/viewModels/NumberModel.ts.html +1 -1
  50. package/coverage/lcov-report/src/viewModels/SelectModel.ts.html +48 -21
  51. package/coverage/lcov-report/src/viewModels/Validatable.ts.html +28 -10
  52. package/coverage/lcov-report/src/viewModels/index.html +35 -35
  53. package/coverage/lcov-report/src/viewModels/wrappers.ts.html +1 -1
  54. package/coverage/lcov.info +229 -207
  55. package/lib/observers.d.ts +16 -0
  56. package/lib/observers.d.ts.map +1 -0
  57. package/lib/observers.js +74 -0
  58. package/lib/observers.js.map +1 -0
  59. package/lib/transitionObserver.d.ts +1 -0
  60. package/lib/transitionObserver.d.ts.map +1 -1
  61. package/lib/transitionObserver.js +8 -1
  62. package/lib/transitionObserver.js.map +1 -1
  63. package/lib/validation/validators.js +1 -1
  64. package/lib/viewModels/CommonModel.d.ts +2 -3
  65. package/lib/viewModels/CommonModel.d.ts.map +1 -1
  66. package/lib/viewModels/CommonModel.js +8 -19
  67. package/lib/viewModels/CommonModel.js.map +1 -1
  68. package/lib/viewModels/MultiSelectModel.d.ts.map +1 -1
  69. package/lib/viewModels/MultiSelectModel.js +3 -0
  70. package/lib/viewModels/MultiSelectModel.js.map +1 -1
  71. package/lib/viewModels/SelectModel.d.ts +1 -0
  72. package/lib/viewModels/SelectModel.d.ts.map +1 -1
  73. package/lib/viewModels/SelectModel.js +24 -14
  74. package/lib/viewModels/SelectModel.js.map +1 -1
  75. package/lib/viewModels/TextModel.d.ts.map +1 -1
  76. package/lib/viewModels/TextModel.js +3 -0
  77. package/lib/viewModels/TextModel.js.map +1 -1
  78. package/lib/viewModels/Validatable.d.ts +2 -0
  79. package/lib/viewModels/Validatable.d.ts.map +1 -1
  80. package/lib/viewModels/Validatable.js +5 -0
  81. package/lib/viewModels/Validatable.js.map +1 -1
  82. package/package.json +1 -1
  83. package/src/observers.ts +82 -0
  84. package/src/transitionObserver.ts +7 -0
  85. package/src/validation/validators.ts +1 -1
  86. package/src/viewModels/CommonModel.ts +10 -13
  87. package/src/viewModels/MultiSelectModel.ts +4 -0
  88. package/src/viewModels/SelectModel.ts +11 -2
  89. package/src/viewModels/TextModel.ts +4 -0
  90. package/src/viewModels/Validatable.ts +6 -0
@@ -1 +1 @@
1
- {"version":3,"file":"transitionObserver.d.ts","sourceRoot":"","sources":["../src/transitionObserver.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAS,MAAM,SAAS,CAAC;AAExC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,qBAAa,kBAAkB,CAAC,CAAC,CAAE,YAAW,WAAW;IAErD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,OAAO,CAAiB;IAEhC,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,KAAK,CAAgB;IAE7B,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,GAAG,CAAgB;IAE3B,OAAO,CAAC,GAAG,CAAgB;IAC3B,OAAO,CAAC,SAAS,CAAS;IAE1B,OAAO,CAAC,QAAQ,CAAoB;IACpC,OAAO,CAAC,cAAc,CAA4B;IAElD,OAAO,CAAC,MAAM,CAAoC;gBAEtC,MAAM,CAAC,EAAE,MAAM,CAAC;IAM5B,IAAW,KAAK,IAAI,MAAM,CAAC,CAAC,CAAC,CAAwB;IACrD,IAAW,YAAY,MAAyB;IAEhD,IAAW,WAAW,YAAqC;IAC3D,OAAO,KAAK,WAAW,GAA0C;IAEjE,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC;IAQvB,IAAI,CAAC,IAAI,EAAE,CAAC;IAKZ,EAAE,CAAC,EAAE,EAAE,CAAC;IAKR,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,GAAG;IAQpB,SAAS;IAOT,QAAQ,CAAC,MAAM,UAAO;IAKtB,UAAU;IAIV,aAAa;IAKb,UAAU,CAAC,OAAO,GAAE,MAAa;IA2BjC,OAAO;IAMP,aAAa,CAAC,IAAI,EAAE,MAAM;IAK1B,OAAO,aASL;IAEF,OAAO,CAAC,WAAW,CAiCjB;IAEF,OAAO,CAAC,cAAc;CAQzB"}
1
+ {"version":3,"file":"transitionObserver.d.ts","sourceRoot":"","sources":["../src/transitionObserver.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAS,MAAM,SAAS,CAAC;AAExC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,qBAAa,kBAAkB,CAAC,CAAC,CAAE,YAAW,WAAW;IAErD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,OAAO,CAAiB;IAEhC,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,KAAK,CAAgB;IAE7B,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,GAAG,CAAgB;IAE3B,OAAO,CAAC,GAAG,CAAgB;IAC3B,OAAO,CAAC,SAAS,CAAS;IAE1B,OAAO,CAAC,QAAQ,CAAoB;IACpC,OAAO,CAAC,cAAc,CAA4B;IAElD,OAAO,CAAC,MAAM,CAAoC;gBAEtC,MAAM,CAAC,EAAE,MAAM,CAAC;IAM5B,IAAW,KAAK,IAAI,MAAM,CAAC,CAAC,CAAC,CAAwB;IACrD,IAAW,YAAY,MAAyB;IAEhD,IAAW,WAAW,YAAqC;IAC3D,OAAO,KAAK,WAAW,GAA0C;IAEjE,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC;IAQvB,IAAI,CAAC,IAAI,EAAE,CAAC;IAKZ,EAAE,CAAC,EAAE,EAAE,CAAC;IAKR,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,GAAG;IAQpB,SAAS;IAOT,QAAQ,CAAC,MAAM,UAAO;IAKtB,UAAU;IAIV,aAAa;IAKb,UAAU,CAAC,OAAO,GAAE,MAAa;IA2BjC,OAAO;IAMP,aAAa,CAAC,IAAI,EAAE,MAAM;IAK1B,OAAO,aASL;IAEF,OAAO,CAAC,WAAW,CAiCjB;IAEF,OAAO,CAAC,cAAc;CAQzB;AAED,wBAAgB,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,cAKnD"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TransitionObserver = void 0;
3
+ exports.waitFor = exports.TransitionObserver = void 0;
4
4
  const mobx_1 = require("mobx");
5
5
  const event_1 = require("./event");
6
6
  const logger_1 = require("./logger");
@@ -143,4 +143,11 @@ class TransitionObserver {
143
143
  }
144
144
  }
145
145
  exports.TransitionObserver = TransitionObserver;
146
+ function waitFor(current, toBe) {
147
+ return new TransitionObserver(current)
148
+ .to(toBe)
149
+ .fireOnce()
150
+ .getPromise();
151
+ }
152
+ exports.waitFor = waitFor;
146
153
  //# sourceMappingURL=transitionObserver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"transitionObserver.js","sourceRoot":"","sources":["../src/transitionObserver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transitionObserver.js","sourceRoot":"","sources":["../src/transitionObserver.ts"],"names":[],"mappings":"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"}
@@ -22,7 +22,7 @@ exports.ValidatorsRegExps = {
22
22
  expiryDateCard: /^\d+$/,
23
23
  cvv: /^\d+$/,
24
24
  // eslint-disable-next-line no-useless-escape
25
- website: /^(https?:\/\/)?([a-z0-9]+(-?[a-z0-9]+\.))+[a-z]{2,}(:[0-9]{1,})?(\/.*)?$/i,
25
+ website: /^(https?:\/\/)?([a-z0-9]+([a-z0-9\-]+\.))+[a-z]{2,}(:[0-9]{1,})?(\/.*)?$/i,
26
26
  linkedin: /^(https?:\/\/)?([a-z]+\d*[a-z]*\.)?linkedin\.com\/.*$/i,
27
27
  };
28
28
  exports.Validators = {
@@ -1,10 +1,9 @@
1
+ import { Getter } from '../types';
1
2
  import { ValidatableModel } from './Validatable';
2
3
  export declare class CommonModel<T = any> extends ValidatableModel<T> {
3
4
  private _value;
4
5
  private _defaultValue;
5
- private _validateOnChange;
6
- constructor(v?: T);
7
- validateOnChange(enable?: boolean): this;
6
+ constructor(v?: Getter<T>, useRefObservable?: boolean);
8
7
  protected get valueToValidate(): Readonly<T>;
9
8
  get value(): T;
10
9
  set value(v: T);
@@ -1 +1 @@
1
- {"version":3,"file":"CommonModel.d.ts","sourceRoot":"","sources":["../../src/viewModels/CommonModel.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,qBAAa,WAAW,CAAC,CAAC,GAAG,GAAG,CAAE,SAAQ,gBAAgB,CAAC,CAAC,CAAC;IAGzD,OAAO,CAAC,MAAM,CAAW;IAEzB,OAAO,CAAC,aAAa,CAAW;IAChC,OAAO,CAAC,iBAAiB,CAAS;gBAEtB,CAAC,GAAE,CAAQ;IAOvB,gBAAgB,CAAC,MAAM,UAAO;IAK9B,SAAS,KAAK,eAAe,IAAI,QAAQ,CAAC,CAAC,CAAC,CAE3C;IAED,IAAW,KAAK,IACI,CAAC,CADqB;IAC1C,IAAW,KAAK,CAAC,CAAC,EAAE,CAAC,EAEpB;IAED,SACgB,QAAQ,UAAW,CAAC,UAMlC;IAEF,KAAK,aAGH;CACL"}
1
+ {"version":3,"file":"CommonModel.d.ts","sourceRoot":"","sources":["../../src/viewModels/CommonModel.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,qBAAa,WAAW,CAAC,CAAC,GAAG,GAAG,CAAE,SAAQ,gBAAgB,CAAC,CAAC,CAAC;IAEzD,OAAO,CAAC,MAAM,CAAI;IAElB,OAAO,CAAC,aAAa,CAAmB;gBAE5B,CAAC,GAAE,MAAM,CAAC,CAAC,CAAQ,EAAE,gBAAgB,UAAO;IAWxD,SAAS,KAAK,eAAe,IAAI,QAAQ,CAAC,CAAC,CAAC,CAE3C;IAED,IAAW,KAAK,IACI,CAAC,CADqB;IAC1C,IAAW,KAAK,CAAC,CAAC,EAAE,CAAC,EAEpB;IAED,SAAgB,QAAQ,UAAW,CAAC,UAMlC;IAEF,KAAK,aAGH;CACL"}
@@ -1,15 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CommonModel = void 0;
4
- const tslib_1 = require("tslib");
5
4
  const mobx_1 = require("mobx");
5
+ const types_1 = require("../types");
6
6
  const Validatable_1 = require("./Validatable");
7
7
  class CommonModel extends Validatable_1.ValidatableModel {
8
- constructor(v = null) {
8
+ constructor(v = null, useRefObservable = true) {
9
9
  super();
10
- this._value = null;
11
10
  this._defaultValue = null;
12
- this._validateOnChange = false;
13
11
  this.setValue = (value) => {
14
12
  this._value = value;
15
13
  if (this._validateOnChange) {
@@ -17,16 +15,15 @@ class CommonModel extends Validatable_1.ValidatableModel {
17
15
  }
18
16
  };
19
17
  this.reset = () => {
18
+ this._value = types_1.Getter.getValue(this._defaultValue);
20
19
  super.reset();
21
- this.value = this._defaultValue;
22
20
  };
23
- mobx_1.makeObservable(this);
24
- this._value = v;
21
+ this._value = types_1.Getter.getValue(v) || null;
25
22
  this._defaultValue = v;
26
- }
27
- validateOnChange(enable = true) {
28
- this._validateOnChange = enable;
29
- return this;
23
+ mobx_1.makeObservable(this, {
24
+ _value: useRefObservable ? mobx_1.observable.ref : mobx_1.observable,
25
+ setValue: mobx_1.action,
26
+ });
30
27
  }
31
28
  get valueToValidate() {
32
29
  return this._value;
@@ -36,13 +33,5 @@ class CommonModel extends Validatable_1.ValidatableModel {
36
33
  this.setValue(v);
37
34
  }
38
35
  }
39
- tslib_1.__decorate([
40
- mobx_1.observable.ref,
41
- tslib_1.__metadata("design:type", Object)
42
- ], CommonModel.prototype, "_value", void 0);
43
- tslib_1.__decorate([
44
- mobx_1.action,
45
- tslib_1.__metadata("design:type", Object)
46
- ], CommonModel.prototype, "setValue", void 0);
47
36
  exports.CommonModel = CommonModel;
48
37
  //# sourceMappingURL=CommonModel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CommonModel.js","sourceRoot":"","sources":["../../src/viewModels/CommonModel.ts"],"names":[],"mappings":";;;;AAAA,+BAA0D;AAC1D,+CAAiD;AAEjD,MAAa,WAAqB,SAAQ,8BAAmB;IAQzD,YAAY,IAAO,IAAI;QACnB,KAAK,EAAE,CAAC;QANJ,WAAM,GAAM,IAAI,CAAC;QAEjB,kBAAa,GAAM,IAAI,CAAC;QACxB,sBAAiB,GAAG,KAAK,CAAC;QAwBlB,aAAQ,GAAG,CAAC,KAAQ,EAAE,EAAE;YACpC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YAEpB,IAAI,IAAI,CAAC,iBAAiB,EAAE;gBACxB,IAAI,CAAC,QAAQ,EAAE,CAAC;aACnB;QACL,CAAC,CAAC;QAEF,UAAK,GAAG,GAAG,EAAE;YACT,KAAK,CAAC,KAAK,EAAE,CAAC;YACd,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC;QACpC,CAAC,CAAC;QA/BE,qBAAc,CAAC,IAAI,CAAC,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAChB,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;IAC3B,CAAC;IAED,gBAAgB,CAAC,MAAM,GAAG,IAAI;QAC1B,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC;QAChC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAc,eAAe;QACzB,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IAED,IAAW,KAAK,KAAK,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1C,IAAW,KAAK,CAAC,CAAI;QACjB,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC;CAeJ;AAvCG;IADC,iBAAU,CAAC,GAAG;;2CACU;AA2BzB;IADC,aAAM;;6CAOL;AApCN,kCA0CC"}
1
+ {"version":3,"file":"CommonModel.js","sourceRoot":"","sources":["../../src/viewModels/CommonModel.ts"],"names":[],"mappings":";;;AAAA,+BAA0D;AAC1D,oCAAkC;AAClC,+CAAiD;AAEjD,MAAa,WAAqB,SAAQ,8BAAmB;IAMzD,YAAY,IAAe,IAAI,EAAE,gBAAgB,GAAG,IAAI;QACpD,KAAK,EAAE,CAAC;QAHJ,kBAAa,GAAc,IAAI,CAAC;QAsBxB,aAAQ,GAAG,CAAC,KAAQ,EAAE,EAAE;YACpC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YAEpB,IAAI,IAAI,CAAC,iBAAiB,EAAE;gBACxB,IAAI,CAAC,QAAQ,EAAE,CAAC;aACnB;QACL,CAAC,CAAC;QAEF,UAAK,GAAG,GAAG,EAAE;YACT,IAAI,CAAC,MAAM,GAAG,cAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAClD,KAAK,CAAC,KAAK,EAAE,CAAC;QAClB,CAAC,CAAC;QA7BE,IAAI,CAAC,MAAM,GAAG,cAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;QACzC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;QAEvB,qBAAc,CAA2B,IAAI,EAAE;YAC3C,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,iBAAU,CAAC,GAAG,CAAC,CAAC,CAAC,iBAAU;YACtD,QAAQ,EAAE,aAAM;SACnB,CAAC,CAAC;IACP,CAAC;IAED,IAAc,eAAe;QACzB,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IAED,IAAW,KAAK,KAAK,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1C,IAAW,KAAK,CAAC,CAAI;QACjB,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC;CAcJ;AAtCD,kCAsCC"}
@@ -1 +1 @@
1
- {"version":3,"file":"MultiSelectModel.d.ts","sourceRoot":"","sources":["../../src/viewModels/MultiSelectModel.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAG9D,qBAAa,WAAW,CAAC,CAAC,GAAG,GAAG,CAAE,SAAQ,gBAAgB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAE,YAAW,WAAW,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,eAAe,EAAE,eAAe;IAYhJ,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAV9B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqB;IAE9C,SAAgB,MAAM,YAAmB;IACzC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkB;IAE3C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwC;IAC/D,OAAO,CAAC,cAAc,CAAS;gBAGV,MAAM,EAAE,SAAS,CAAC,EAAE,EACpB,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,EAC/C,GAAG,QAAQ,EAAE,MAAM,EAAE;IAQzB,IACI,eAAe,IAAI,aAAa,CAAC,MAAM,CAAC,CAAsC;IAElF,IAAI,KAAK,IAAI,aAAa,CAAC,CAAC,CAAC,CAAwB;IAErD,IAAI,KAAK,iCAAgC;IAEzC,IACI,MAAM,IAAI,aAAa,CAAC,MAAM,CAAC,CAElC;IAED,IACI,aAAa,IAAI,aAAa,CAAC,CAAC,CAAC,CAEpC;IAED,IACI,cAAc,IAAI,aAAa,CAAC,MAAM,CAAC,CAG1C;IAED,IAAI,KAAK,IACI,SAAS,MAAM,EAAE,CADa;IAC3C,IAAI,KAAK,CAAC,CAAC,EAAE,SAAS,MAAM,EAAE,EAA2B;IAEzD,eAAe,CAAC,KAAK,EAAE,MAAM;IAC7B,eAAe,CAAC,KAAK,EAAE,MAAM;IAE7B,IAAI,KAAK,WAAiC;IAC1C,IAAI,aAAa,WAAiC;IAClD,IAAI,OAAO,YAAuC;IAElD,IACI,SAAS,YAAqF;IAElG,SAAS,KAAK,eAAe,iBAAiC;IAE9D,eAAe,SAAU,CAAC,YAAY,OAAO,UAK3C;IAEF,UAAU,SAAU,CAAC,UAAsC;IAC3D,YAAY,SAAU,CAAC,UAAuC;IAG9D,WAAW,UAAW,SAAS,CAAC,EAAE,UAEhC;IAEF,gBAAgB,UAAW,MAAM,YAAY,OAAO,UAKlD;IAEF,WAAW,UAAW,MAAM,UAAwC;IACpE,aAAa,UAAW,MAAM,UAAyC;IAGvE,YAAY,WAAY,SAAS,MAAM,EAAE,UAEvC;IAGF,gBAAgB,UAAW,MAAM,YAAY,OAAO,UAqBlD;IAEF,WAAW,UAAW,MAAM,UAAwC;IACpE,aAAa,UAAW,MAAM,UAAyC;IAEvE,KAAK,aAGH;IAEF,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,WAAW;CAgBtB;AAED,qBAAa,iBAAiB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,CAAE,SAAQ,WAAW,CAAC,CAAC,CAAC;gBAEhE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,MAAM,EAAE;CAG7D"}
1
+ {"version":3,"file":"MultiSelectModel.d.ts","sourceRoot":"","sources":["../../src/viewModels/MultiSelectModel.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAG9D,qBAAa,WAAW,CAAC,CAAC,GAAG,GAAG,CAAE,SAAQ,gBAAgB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAE,YAAW,WAAW,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,eAAe,EAAE,eAAe;IAYhJ,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAV9B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqB;IAE9C,SAAgB,MAAM,YAAmB;IACzC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkB;IAE3C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwC;IAC/D,OAAO,CAAC,cAAc,CAAS;gBAGV,MAAM,EAAE,SAAS,CAAC,EAAE,EACpB,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,EAC/C,GAAG,QAAQ,EAAE,MAAM,EAAE;IAQzB,IACI,eAAe,IAAI,aAAa,CAAC,MAAM,CAAC,CAAsC;IAElF,IAAI,KAAK,IAAI,aAAa,CAAC,CAAC,CAAC,CAAwB;IAErD,IAAI,KAAK,iCAAgC;IAEzC,IACI,MAAM,IAAI,aAAa,CAAC,MAAM,CAAC,CAElC;IAED,IACI,aAAa,IAAI,aAAa,CAAC,CAAC,CAAC,CAEpC;IAED,IACI,cAAc,IAAI,aAAa,CAAC,MAAM,CAAC,CAG1C;IAED,IAAI,KAAK,IACI,SAAS,MAAM,EAAE,CADa;IAC3C,IAAI,KAAK,CAAC,CAAC,EAAE,SAAS,MAAM,EAAE,EAA2B;IAEzD,eAAe,CAAC,KAAK,EAAE,MAAM;IAC7B,eAAe,CAAC,KAAK,EAAE,MAAM;IAE7B,IAAI,KAAK,WAAiC;IAC1C,IAAI,aAAa,WAAiC;IAClD,IAAI,OAAO,YAAuC;IAElD,IACI,SAAS,YAAqF;IAElG,SAAS,KAAK,eAAe,iBAAiC;IAE9D,eAAe,SAAU,CAAC,YAAY,OAAO,UAK3C;IAEF,UAAU,SAAU,CAAC,UAAsC;IAC3D,YAAY,SAAU,CAAC,UAAuC;IAG9D,WAAW,UAAW,SAAS,CAAC,EAAE,UAEhC;IAEF,gBAAgB,UAAW,MAAM,YAAY,OAAO,UAKlD;IAEF,WAAW,UAAW,MAAM,UAAwC;IACpE,aAAa,UAAW,MAAM,UAAyC;IAGvE,YAAY,WAAY,SAAS,MAAM,EAAE,UAEvC;IAGF,gBAAgB,UAAW,MAAM,YAAY,OAAO,UAyBlD;IAEF,WAAW,UAAW,MAAM,UAAwC;IACpE,aAAa,UAAW,MAAM,UAAyC;IAEvE,KAAK,aAGH;IAEF,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,WAAW;CAgBtB;AAED,qBAAa,iBAAiB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,CAAE,SAAQ,WAAW,CAAC,CAAC,CAAC;gBAEhE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,MAAM,EAAE;CAG7D"}
@@ -50,6 +50,9 @@ class MultiSelect extends Validatable_1.ValidatableModel {
50
50
  else {
51
51
  this._indexes.delete(index);
52
52
  }
53
+ if (this._validateOnChange) {
54
+ this.validate();
55
+ }
53
56
  if (!this._flags.hasValue) {
54
57
  return;
55
58
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MultiSelectModel.js","sourceRoot":"","sources":["../../src/viewModels/MultiSelectModel.ts"],"names":[],"mappings":";;;;AAAA,8CAA2C;AAC3C,+BAA8E;AAC9E,2CAA2D;AAC3D,+CAAiD;AAEjD,yCAAuC;AAEvC,kCAAgD;AAEhD,MAAa,WAAqB,SAAQ,8BAAkC;IAWxE,YACqB,MAAoB,EACpB,SAA8B,EAC/C,GAAG,QAAkB;QAErB,KAAK,EAAE,CAAC;QAJS,WAAM,GAAN,MAAM,CAAc;QACpB,cAAS,GAAT,SAAS,CAAqB;QAVlC,aAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;QAE9B,WAAM,GAAG,IAAI,qBAAS,EAAE,CAAC;QACxB,aAAQ,GAAa,IAAI,CAAC;QAE1B,WAAM,GAAG,uBAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QACvD,mBAAc,GAAG,KAAK,CAAC;QAmD/B,oBAAe,GAAG,CAAC,IAAO,EAAE,QAAiB,EAAE,EAAE;YAC7C,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACnC,IAAI,CAAC,IAAI,CAAC,EAAE;gBACR,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;aACtC;QACL,CAAC,CAAC;QAEF,eAAU,GAAG,CAAC,IAAO,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC3D,iBAAY,GAAG,CAAC,IAAO,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAG9D,gBAAW,GAAG,CAAC,KAAmB,EAAE,EAAE;YAClC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACnC,CAAC,CAAC;QAEF,qBAAgB,GAAG,CAAC,KAAa,EAAE,QAAiB,EAAE,EAAE;YACpD,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACrC,IAAI,CAAC,IAAI,CAAC,EAAE;gBACR,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;aACtC;QACL,CAAC,CAAC;QAEF,gBAAW,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACpE,kBAAa,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAGvE,iBAAY,GAAG,CAAC,MAAyB,EAAE,EAAE;YACzC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACrC,CAAC,CAAC;QAGF,qBAAgB,GAAG,CAAC,KAAa,EAAE,QAAiB,EAAE,EAAE;YACpD,IAAI,IAAI,CAAC,cAAc,EAAE;gBACrB,OAAO;aACV;YAED,IAAI,QAAQ,EAAE;gBACV,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;aAC5B;iBAAM;gBACH,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;aAC/B;YAED,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;gBACvB,OAAO;aACV;YAED,IAAI;gBACA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,QAAQ,CAAC;aAC7C;oBAAS;gBACN,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;aAC/B;QACL,CAAC,CAAC;QAEF,gBAAW,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACpE,kBAAa,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAEvE,UAAK,GAAG,GAAG,EAAE;YACT,KAAK,CAAC,KAAK,EAAE,CAAC;YACd,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC7B,CAAC,CAAC;QAvGE,qBAAc,CAAC,IAAI,CAAC,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC7B,CAAC;IAGD,IAAI,eAAe,KAA4B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAElF,IAAI,KAAK,KAAuB,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAErD,IAAI,KAAK,KAAK,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAGzC,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IACnD,CAAC;IAGD,IAAI,aAAa;QACb,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACzD,CAAC;IAGD,IAAI,cAAc;QACd,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,KAAK,KAAK,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;IAC3C,IAAI,KAAK,CAAC,CAAoB,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEzD,eAAe,CAAC,KAAa,IAAI,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnE,eAAe,CAAC,KAAa,IAAI,OAAO,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAE9E,IAAI,KAAK,KAAK,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1C,IAAI,aAAa,KAAK,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IAClD,IAAI,OAAO,KAAK,OAAO,IAAI,CAAC,aAAa,KAAK,CAAC,CAAC,CAAC,CAAC;IAGlD,IAAI,SAAS,aAAK,OAAO,OAAA,4BAAqB,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,QAAQ,CAAC,0CAAE,IAAI,MAAK,CAAC,CAAC,CAAC,CAAC;IAElG,IAAc,eAAe,KAAK,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;IAgEtD,iBAAiB;QACrB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAEjD,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;YACtB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;SACrF;IACL,CAAC;IAEO,WAAW;QACf,MAAM,KAAK,GAAqC,IAAI,CAAC,MAAM;aACtD,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACjB,MAAM,IAAI,GAAG,oBAAS,CAClB,IAAI,qBAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EACvC,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAC7B,CAAC;YAEF,0CAA0C;YAC1C,eAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,EAAE;gBACpC,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;YAC7C,CAAC,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC;QACP,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ;AAhJG;IADC,iBAAU;;6CACmC;AAoB9C;IADC,eAAQ;;;kDACyE;AAOlF;IADC,eAAQ;;;yCAGR;AAGD;IADC,eAAQ;;;gDAGR;AAGD;IADC,eAAQ;;;iDAIR;AAaD;IADC,eAAQ;;;4CACyF;AAelG;IADC,aAAM;;gDAGL;AAaF;IADC,aAAM;;iDAGL;AAGF;IADC,aAAM;;qDAsBL;AAhHN,kCAmJC;AAED,MAAa,iBAA6C,SAAQ,WAAc;IAE5E,YAAY,KAAuB,EAAE,GAAG,QAAkB;QACtD,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,QAAQ,CAAC,CAAC;IACtC,CAAC;CACJ;AALD,8CAKC"}
1
+ {"version":3,"file":"MultiSelectModel.js","sourceRoot":"","sources":["../../src/viewModels/MultiSelectModel.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,7 @@ export declare class Select<T = any> extends ValidatableModel<T> implements IVal
24
24
  get isDefault(): boolean;
25
25
  get index(): number;
26
26
  set index(val: number);
27
+ setIndex: (val: number) => void;
27
28
  reset: () => void;
28
29
  private createFlags;
29
30
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SelectModel.d.ts","sourceRoot":"","sources":["../../src/viewModels/SelectModel.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,qBAAa,MAAM,CAAC,CAAC,GAAG,GAAG,CAAE,SAAQ,gBAAgB,CAAC,CAAC,CAAE,YAAW,WAAW,CAAC,MAAM,CAAC,EAAE,eAAe;IAWhG,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAV9B,OAAO,CAAC,MAAM,CAAqB;IAEnC,SAAgB,MAAM,YAAmB;IACzC,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,aAAa,CAAgB;IAErC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwC;gBAG1C,MAAM,EAAE,SAAS,CAAC,EAAE,EACpB,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,EAC/C,YAAY,GAAE,MAAU;IAS5B,SAAS,KAAK,eAAe,MAAgC;IAE7D,IACI,MAAM,IAAI,SAAS,MAAM,EAAE,CAE9B;IAED,IAAI,KAAK,iCAER;IAED,IAAI,KAAK,iBAER;IAED,IAAI,KAAK,IAMI,MAAM,CANuB;IAC1C,IAAI,aAAa,IAMQ,MAAM,CAH9B;IAED,IAAI,KAAK,CAAC,CAAC,EAAE,MAAM,EAA6B;IAChD,IAAI,aAAa,CAAC,KAAK,EAAE,MAAM,EAK9B;IAED,IAAI,YAAY,IAAI,CAAC,CAEpB;IAED,IAAI,YAAY,CAAC,IAAI,EAAE,CAAC,EAKvB;IAED,IAAI,SAAS,YAAiD;IAE9D,IAAI,KAAK,IAIM,MAAM,CAFpB;IAED,IAAI,KAAK,CAAC,GAAG,EAAE,MAAM,EAiBpB;IAED,KAAK,aAGH;IAEF,OAAO,CAAC,WAAW;CAoBtB;AAGD,qBAAa,YAAY,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,CAAE,SAAQ,MAAM,CAAC,CAAC,CAAC;gBACtD,KAAK,EAAE,SAAS,CAAC,EAAE,EAAE,YAAY,GAAE,MAAU;CAG5D"}
1
+ {"version":3,"file":"SelectModel.d.ts","sourceRoot":"","sources":["../../src/viewModels/SelectModel.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,qBAAa,MAAM,CAAC,CAAC,GAAG,GAAG,CAAE,SAAQ,gBAAgB,CAAC,CAAC,CAAE,YAAW,WAAW,CAAC,MAAM,CAAC,EAAE,eAAe;IAWhG,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAV9B,OAAO,CAAC,MAAM,CAAqB;IAEnC,SAAgB,MAAM,YAAmB;IACzC,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,aAAa,CAAgB;IAErC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwC;gBAG1C,MAAM,EAAE,SAAS,CAAC,EAAE,EACpB,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,EAC/C,YAAY,GAAE,MAAU;IAS5B,SAAS,KAAK,eAAe,MAAgC;IAE7D,IACI,MAAM,IAAI,SAAS,MAAM,EAAE,CAE9B;IAED,IAAI,KAAK,iCAER;IAED,IAAI,KAAK,iBAER;IAED,IAAI,KAAK,IAMI,MAAM,CANuB;IAC1C,IAAI,aAAa,IAMQ,MAAM,CAH9B;IAED,IAAI,KAAK,CAAC,CAAC,EAAE,MAAM,EAA6B;IAChD,IAAI,aAAa,CAAC,KAAK,EAAE,MAAM,EAK9B;IAED,IAAI,YAAY,IAAI,CAAC,CAEpB;IAED,IAAI,YAAY,CAAC,IAAI,EAAE,CAAC,EAKvB;IAED,IAAI,SAAS,YAAiD;IAE9D,IAAI,KAAK,IAIM,MAAM,CAFpB;IAED,IAAI,KAAK,CAAC,GAAG,EAAE,MAAM,EAEpB;IAGM,QAAQ,QAAS,MAAM,UAqB5B;IAEF,KAAK,aAGH;IAEF,OAAO,CAAC,WAAW;CAoBtB;AAGD,qBAAa,YAAY,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,CAAE,SAAQ,MAAM,CAAC,CAAC,CAAC;gBACtD,KAAK,EAAE,SAAS,CAAC,EAAE,EAAE,YAAY,GAAE,MAAU;CAG5D"}
@@ -17,6 +17,25 @@ class Select extends Validatable_1.ValidatableModel {
17
17
  this._indexLocked = false;
18
18
  this._initialIndex = null;
19
19
  this._flags = lazy_light_1.createLazy(() => this.createFlags());
20
+ this.setIndex = (val) => {
21
+ if (this._indexLocked) {
22
+ return;
23
+ }
24
+ this._index = val;
25
+ if (this._validateOnChange) {
26
+ this.validate();
27
+ }
28
+ // update all flags to be properly selected
29
+ try {
30
+ this._indexLocked = true;
31
+ if (this._flags.hasValue) {
32
+ this._flags.value.forEach((f, i) => f.value = (i === this._index));
33
+ }
34
+ }
35
+ finally {
36
+ this._indexLocked = false;
37
+ }
38
+ };
20
39
  this.reset = () => {
21
40
  super.reset();
22
41
  this.index = this._initialIndex;
@@ -61,20 +80,7 @@ class Select extends Validatable_1.ValidatableModel {
61
80
  return this._index;
62
81
  }
63
82
  set index(val) {
64
- if (this._indexLocked) {
65
- return;
66
- }
67
- this._index = val;
68
- // update all flags to be properly selected
69
- try {
70
- this._indexLocked = true;
71
- if (this._flags.hasValue) {
72
- this._flags.value.forEach((f, i) => f.value = (i === this._index));
73
- }
74
- }
75
- finally {
76
- this._indexLocked = false;
77
- }
83
+ this.setIndex(val);
78
84
  }
79
85
  createFlags() {
80
86
  const flags = this._items
@@ -100,6 +106,10 @@ tslib_1.__decorate([
100
106
  tslib_1.__metadata("design:type", Array),
101
107
  tslib_1.__metadata("design:paramtypes", [])
102
108
  ], Select.prototype, "values", null);
109
+ tslib_1.__decorate([
110
+ mobx_1.action,
111
+ tslib_1.__metadata("design:type", Object)
112
+ ], Select.prototype, "setIndex", void 0);
103
113
  exports.Select = Select;
104
114
  class SelectString extends Select {
105
115
  constructor(items, initialIndex = 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"SelectModel.js","sourceRoot":"","sources":["../../src/viewModels/SelectModel.ts"],"names":[],"mappings":";;;;AAAA,8CAA2C;AAC3C,+BAAsE;AACtE,2CAA2D;AAC3D,+CAAiD;AAEjD,yCAAuC;AAGvC,MAAa,MAAgB,SAAQ,8BAAmB;IAUpD,YACqB,MAAoB,EACpB,SAA8B,EAC/C,eAAuB,CAAC;QAExB,KAAK,EAAE,CAAC;QAJS,WAAM,GAAN,MAAM,CAAc;QACpB,cAAS,GAAT,SAAS,CAAqB;QAV3C,WAAM,GAAW,SAAS,CAAC;QAEnB,WAAM,GAAG,IAAI,qBAAS,EAAE,CAAC;QACjC,iBAAY,GAAG,KAAK,CAAC;QACrB,kBAAa,GAAW,IAAI,CAAC;QAEpB,WAAM,GAAG,uBAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QA+E/D,UAAK,GAAG,GAAG,EAAE;YACT,KAAK,CAAC,KAAK,EAAE,CAAC;YACd,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC;QACpC,CAAC,CAAC;QA1EE,qBAAc,CAAC,IAAI,CAAC,CAAC;QAErB,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;QAClC,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC;IAC/B,CAAC;IAED,IAAc,eAAe,KAAK,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;IAG7D,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IACnD,CAAC;IAED,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;IAC7B,CAAC;IAED,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IAED,IAAI,KAAK,KAAK,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;IAC1C,IAAI,aAAa;QACb,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;QACvB,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9C,CAAC;IAED,IAAI,KAAK,CAAC,CAAS,IAAI,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC;IAChD,IAAI,aAAa,CAAC,KAAa;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACzC,IAAI,KAAK,IAAI,CAAC,EAAE;YACZ,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;SACtB;IACL,CAAC;IAED,IAAI,YAAY;QACZ,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAChE,CAAC;IAED,IAAI,YAAY,CAAC,IAAO;QACpB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,KAAK,IAAI,CAAC,EAAE;YACZ,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;SACtB;IACL,CAAC;IAED,IAAI,SAAS,KAAK,OAAO,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;IAE9D,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IAED,IAAI,KAAK,CAAC,GAAW;QACjB,IAAI,IAAI,CAAC,YAAY,EAAE;YACnB,OAAO;SACV;QAED,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;QAElB,2CAA2C;QAC3C,IAAI;YACA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YAEzB,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;gBACtB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;aACtE;SACJ;gBAAS;YACN,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;SAC7B;IACL,CAAC;IAOO,WAAW;QACf,MAAM,KAAK,GAAqC,IAAI,CAAC,MAAM;aACtD,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACjB,MAAM,IAAI,GAAsB,oBAAS,CACrC,IAAI,qBAAS,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,EACnC,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAC7B,CAAC;YAEF,0CAA0C;YAC1C,eAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,EAAE;gBACpC,IAAI,UAAU,EAAE;oBACZ,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;iBACtB;YACL,CAAC,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC;QAEP,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ;AA9GG;IADC,iBAAU;;sCACwB;AAuBnC;IADC,eAAQ;;;oCAGR;AA3BL,wBAgHC;AAGD,MAAa,YAAwC,SAAQ,MAAS;IAClE,YAAY,KAAmB,EAAE,eAAuB,CAAC;QACrD,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;IACvC,CAAC;CACJ;AAJD,oCAIC"}
1
+ {"version":3,"file":"SelectModel.js","sourceRoot":"","sources":["../../src/viewModels/SelectModel.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"TextModel.d.ts","sourceRoot":"","sources":["../../src/viewModels/TextModel.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,oBAAY,eAAe,GAAG;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IACvB,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,WAAW,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAeF,qBAAa,IAAI;IAEb,OAAO,CAAC,MAAM,CAAgB;gBAElB,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE;IAKrF,IAAI,KAAK,WAA0B;CACtC;AAED,qBAAa,WAAY,SAAQ,gBAAgB,CAAC,MAAM,CAAE,YAAW,WAAW,CAAC,MAAM,CAAC,EAAE,eAAe;IAErG,OAAO,CAAC,MAAM,CAAM;IAGpB,OAAO,CAAC,QAAQ,CAAS;IAEzB,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,MAAM,CAAgB;IAE9B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAoB;gBAExC,MAAM,CAAC,EAAE,eAAe;IAYpC,IAAI,KAAK,WAA0B;IACnC,IAAI,IAAI,WAAyB;IACjC,IAAI,KAAK,WAA0B;IAEnC,IAAI,KAAK,CAAC,GAAG,QAAA,EAEZ;IAED,SACgB,QAAQ,UAAW,MAAM,UAMvC;IAEF,IAAI,OAAO,YAEV;IAED,IAAI,OAAO,IAIM,OAAO,CAFvB;IAED,IAAI,OAAO,CAAC,GAAG,EAAE,OAAO,EAEvB;IAED,SACgB,UAAU,4BAQxB;IAEF,SAAS,KAAK,eAAe,WAAwC;IAErE,OAAO,CAAC,MAAM;IAId,KAAK,aAIH;CAEL"}
1
+ {"version":3,"file":"TextModel.d.ts","sourceRoot":"","sources":["../../src/viewModels/TextModel.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,oBAAY,eAAe,GAAG;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IACvB,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,WAAW,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAeF,qBAAa,IAAI;IAEb,OAAO,CAAC,MAAM,CAAgB;gBAElB,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE;IAKrF,IAAI,KAAK,WAA0B;CACtC;AAED,qBAAa,WAAY,SAAQ,gBAAgB,CAAC,MAAM,CAAE,YAAW,WAAW,CAAC,MAAM,CAAC,EAAE,eAAe;IAErG,OAAO,CAAC,MAAM,CAAM;IAGpB,OAAO,CAAC,QAAQ,CAAS;IAEzB,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,MAAM,CAAgB;IAE9B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAoB;gBAExC,MAAM,CAAC,EAAE,eAAe;IAYpC,IAAI,KAAK,WAA0B;IACnC,IAAI,IAAI,WAAyB;IACjC,IAAI,KAAK,WAA0B;IAEnC,IAAI,KAAK,CAAC,GAAG,QAAA,EAEZ;IAED,SACgB,QAAQ,UAAW,MAAM,UAUvC;IAEF,IAAI,OAAO,YAEV;IAED,IAAI,OAAO,IAIM,OAAO,CAFvB;IAED,IAAI,OAAO,CAAC,GAAG,EAAE,OAAO,EAEvB;IAED,SACgB,UAAU,4BAQxB;IAEF,SAAS,KAAK,eAAe,WAAwC;IAErE,OAAO,CAAC,MAAM;IAId,KAAK,aAIH;CAEL"}
@@ -37,6 +37,9 @@ class TextInputVM extends Validatable_1.ValidatableModel {
37
37
  this.setValue = (value) => {
38
38
  if (!this._valueObserving) {
39
39
  this._value = value;
40
+ if (this._validateOnChange) {
41
+ this.validate();
42
+ }
40
43
  }
41
44
  else {
42
45
  logger_1.default.warn('[TextInputViewModel] Setting value is not allowed when value is observing');
@@ -1 +1 @@
1
- {"version":3,"file":"TextModel.js","sourceRoot":"","sources":["../../src/viewModels/TextModel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TextModel.js","sourceRoot":"","sources":["../../src/viewModels/TextModel.ts"],"names":[],"mappings":"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"}
@@ -10,11 +10,13 @@ export declare abstract class ValidatableModel<T = string> {
10
10
  private _strings;
11
11
  private _error;
12
12
  private _validationError;
13
+ protected _validateOnChange: boolean;
13
14
  constructor();
14
15
  protected abstract get valueToValidate(): Readonly<T>;
15
16
  get isValid(): boolean;
16
17
  get error(): string;
17
18
  setValidationConfig<TErrors extends string | number = ValidationErrors>(config?: ValidationConfig<T, TErrors>): this;
19
+ validateOnChange(enable?: boolean): this;
18
20
  testValidate(value: T): Promise<any>;
19
21
  validate(): Promise<boolean>;
20
22
  getIsInvalid(): Promise<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"Validatable.d.ts","sourceRoot":"","sources":["../../src/viewModels/Validatable.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,gBAAgB,EAAmB,MAAM,eAAe,CAAC;AAG7G,oBAAY,cAAc,CAAC,CAAC,EAAE,OAAO,GAAG,gBAAgB,IAAI,iBAAiB,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,sBAAsB,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AAC/H,oBAAY,uBAAuB,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;AAEjI,oBAAY,gBAAgB,CAAC,CAAC,EAAE,OAAO,SAAS,MAAM,GAAG,MAAM,GAAG,gBAAgB,IAAI;IAClF,SAAS,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAChD,MAAM,EAAE,uBAAuB,CAAC,OAAO,CAAC,CAAC;CAC5C,CAAC;AAIF,8BAAsB,gBAAgB,CAAC,CAAC,GAAG,MAAM;IAE7C,OAAO,CAAC,UAAU,CAA0C;IAC5D,OAAO,CAAC,QAAQ,CAAsC;IAGtD,OAAO,CAAC,MAAM,CAAgB;IAE9B,OAAO,CAAC,gBAAgB,CAAyB;;IAMjD,SAAS,CAAC,QAAQ,KAAK,eAAe,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEtD,IAAI,OAAO,YAA2B;IAEtC,IAAI,KAAK,WAA0B;IAE5B,mBAAmB,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,GAAG,gBAAgB,EAAE,MAAM,CAAC,EAAE,gBAAgB,CAAC,CAAC,EAAE,OAAO,CAAC;IAMvG,YAAY,CAAC,KAAK,EAAE,CAAC;IAQ5B,QAAQ;IAyBR,YAAY;IAMlB,KAAK;WAKQ,aAAa,CAAC,YAAY,EAAE,aAAa,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,EAAE,UAAU,UAAO;CAQxG"}
1
+ {"version":3,"file":"Validatable.d.ts","sourceRoot":"","sources":["../../src/viewModels/Validatable.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,gBAAgB,EAAmB,MAAM,eAAe,CAAC;AAG7G,oBAAY,cAAc,CAAC,CAAC,EAAE,OAAO,GAAG,gBAAgB,IAAI,iBAAiB,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,sBAAsB,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AAC/H,oBAAY,uBAAuB,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;AAEjI,oBAAY,gBAAgB,CAAC,CAAC,EAAE,OAAO,SAAS,MAAM,GAAG,MAAM,GAAG,gBAAgB,IAAI;IAClF,SAAS,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAChD,MAAM,EAAE,uBAAuB,CAAC,OAAO,CAAC,CAAC;CAC5C,CAAC;AAIF,8BAAsB,gBAAgB,CAAC,CAAC,GAAG,MAAM;IAE7C,OAAO,CAAC,UAAU,CAA0C;IAC5D,OAAO,CAAC,QAAQ,CAAsC;IAGtD,OAAO,CAAC,MAAM,CAAgB;IAE9B,OAAO,CAAC,gBAAgB,CAAyB;IACjD,SAAS,CAAC,iBAAiB,UAAS;;IAMpC,SAAS,CAAC,QAAQ,KAAK,eAAe,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEtD,IAAI,OAAO,YAA2B;IAEtC,IAAI,KAAK,WAA0B;IAE5B,mBAAmB,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,GAAG,gBAAgB,EAAE,MAAM,CAAC,EAAE,gBAAgB,CAAC,CAAC,EAAE,OAAO,CAAC;IAM7G,gBAAgB,CAAC,MAAM,UAAO;IAKxB,YAAY,CAAC,KAAK,EAAE,CAAC;IAQ5B,QAAQ;IAyBR,YAAY;IAMlB,KAAK;WAKQ,aAAa,CAAC,YAAY,EAAE,aAAa,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,EAAE,UAAU,UAAO;CAQxG"}
@@ -12,6 +12,7 @@ class ValidatableModel {
12
12
  this._strings = null;
13
13
  this._error = null;
14
14
  this._validationError = null;
15
+ this._validateOnChange = false;
15
16
  mobx_1.makeObservable(this);
16
17
  }
17
18
  get isValid() { return !this._error; }
@@ -21,6 +22,10 @@ class ValidatableModel {
21
22
  this._strings = config === null || config === void 0 ? void 0 : config.errors;
22
23
  return this;
23
24
  }
25
+ validateOnChange(enable = true) {
26
+ this._validateOnChange = enable;
27
+ return this;
28
+ }
24
29
  async testValidate(value) {
25
30
  if (this._validator) {
26
31
  const res = await this._validator(value);
@@ -1 +1 @@
1
- {"version":3,"file":"Validatable.js","sourceRoot":"","sources":["../../src/viewModels/Validatable.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Validatable.js","sourceRoot":"","sources":["../../src/viewModels/Validatable.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zajno/common",
3
- "version": "1.4.0",
3
+ "version": "1.4.4",
4
4
  "description": "Zajno's re-usable utilities for JS/TS projects",
5
5
  "repository": {
6
6
  "type": "git",
@@ -0,0 +1,82 @@
1
+ import { createLogger, ILogger } from './logger';
2
+ import { combineDisposers, IDisposable } from './disposer';
3
+
4
+ type Unsub = () => void;
5
+
6
+ export class Observers implements IDisposable {
7
+ private readonly _map = new Map<string, () => void>();
8
+ private readonly _timeouts = new Map<string, any>();
9
+
10
+ private readonly _logger: ILogger = null;
11
+
12
+ constructor(readonly subscribe: (key: string) => Promise<Unsub[]>, readonly name?: string) {
13
+ this._logger = createLogger(`[Observers:${this.name || '?'}]`);
14
+ }
15
+
16
+ public getIsObserving(key: string) {
17
+ return this._map.has(key);
18
+ }
19
+
20
+ public async enable(key: string, enable: boolean, clearAfter: number = null) {
21
+ if (enable === this.getIsObserving(key)) {
22
+ this.refreshTimeout(key, enable, clearAfter, true);
23
+ return;
24
+ }
25
+
26
+ if (enable) {
27
+ this._logger.log('Adding observer for key =', key, clearAfter ? `, clearAfter = ${clearAfter}` : '');
28
+
29
+ // this marker will help to determine whether unsubscribe was requested while we were in process of subscribing
30
+ let disabed = false;
31
+ const marker = () => { disabed = true; };
32
+
33
+ this._map.set(key, marker);
34
+
35
+ const unsubs = await this.subscribe(key);
36
+ const result = combineDisposers(...unsubs);
37
+
38
+ if (disabed) { // unsubscribe was requested
39
+ result();
40
+ } else {
41
+ this._map.set(key, result);
42
+ this.refreshTimeout(key, true, clearAfter);
43
+ }
44
+ } else {
45
+ this._logger.log('Removing observer for key =', key);
46
+ this.refreshTimeout(key, false);
47
+ const unsub = this._map.get(key);
48
+ this._map.delete(key);
49
+ unsub();
50
+ }
51
+ }
52
+
53
+ private refreshTimeout(key: string, enable: boolean, timeout?: number, refresh = false) {
54
+ const current = this._timeouts.get(key);
55
+ if (current) {
56
+ clearTimeout(current);
57
+ this._timeouts.delete(key);
58
+ }
59
+
60
+ if (enable && refresh && current == null) {
61
+ // DO NOT setup new timeout because it's not intended to clear subscribtion if it was previously enabled for long term
62
+ return;
63
+ }
64
+
65
+ if (enable && timeout) {
66
+ const t = setTimeout(() => this.enable(key, false), timeout);
67
+ this._timeouts.set(key, t);
68
+ }
69
+ }
70
+
71
+ public dispose() {
72
+ for (const u of this._map.values()) {
73
+ u();
74
+ }
75
+ this._map.clear();
76
+
77
+ for (const t of this._timeouts.values()) {
78
+ clearTimeout(t);
79
+ }
80
+ this._timeouts.clear();
81
+ }
82
+ }
@@ -174,3 +174,10 @@ export class TransitionObserver<T> implements IDisposable {
174
174
  }
175
175
  }
176
176
  }
177
+
178
+ export function waitFor<T>(current: () => T, toBe: T) {
179
+ return new TransitionObserver(current)
180
+ .to(toBe)
181
+ .fireOnce()
182
+ .getPromise();
183
+ }
@@ -22,7 +22,7 @@ export const ValidatorsRegExps = {
22
22
  expiryDateCard: /^\d+$/,
23
23
  cvv: /^\d+$/,
24
24
  // eslint-disable-next-line no-useless-escape
25
- website: /^(https?:\/\/)?([a-z0-9]+(-?[a-z0-9]+\.))+[a-z]{2,}(:[0-9]{1,})?(\/.*)?$/i,
25
+ website: /^(https?:\/\/)?([a-z0-9]+([a-z0-9\-]+\.))+[a-z]{2,}(:[0-9]{1,})?(\/.*)?$/i,
26
26
  linkedin: /^(https?:\/\/)?([a-z]+\d*[a-z]*\.)?linkedin\.com\/.*$/i,
27
27
  };
28
28
 
@@ -1,24 +1,22 @@
1
1
  import { action, makeObservable, observable } from 'mobx';
2
+ import { Getter } from '../types';
2
3
  import { ValidatableModel } from './Validatable';
3
4
 
4
5
  export class CommonModel<T = any> extends ValidatableModel<T> {
5
6
 
6
- @observable.ref
7
- private _value: T = null;
7
+ private _value: T;
8
8
 
9
- private _defaultValue: T = null;
10
- private _validateOnChange = false;
9
+ private _defaultValue: Getter<T> = null;
11
10
 
12
- constructor(v: T = null) {
11
+ constructor(v: Getter<T> = null, useRefObservable = true) {
13
12
  super();
14
- makeObservable(this);
15
- this._value = v;
13
+ this._value = Getter.getValue(v) || null;
16
14
  this._defaultValue = v;
17
- }
18
15
 
19
- validateOnChange(enable = true) {
20
- this._validateOnChange = enable;
21
- return this;
16
+ makeObservable<CommonModel<T>, '_value'>(this, {
17
+ _value: useRefObservable ? observable.ref : observable,
18
+ setValue: action,
19
+ });
22
20
  }
23
21
 
24
22
  protected get valueToValidate(): Readonly<T> {
@@ -30,7 +28,6 @@ export class CommonModel<T = any> extends ValidatableModel<T> {
30
28
  this.setValue(v);
31
29
  }
32
30
 
33
- @action
34
31
  public readonly setValue = (value: T) => {
35
32
  this._value = value;
36
33
 
@@ -40,7 +37,7 @@ export class CommonModel<T = any> extends ValidatableModel<T> {
40
37
  };
41
38
 
42
39
  reset = () => {
40
+ this._value = Getter.getValue(this._defaultValue);
43
41
  super.reset();
44
- this.value = this._defaultValue;
45
42
  };
46
43
  }
@@ -109,6 +109,10 @@ export class MultiSelect<T = any> extends ValidatableModel<ReadonlyArray<T>> imp
109
109
  this._indexes.delete(index);
110
110
  }
111
111
 
112
+ if (this._validateOnChange) {
113
+ this.validate();
114
+ }
115
+
112
116
  if (!this._flags.hasValue) {
113
117
  return;
114
118
  }
@@ -1,5 +1,5 @@
1
1
  import { createLazy } from '../lazy.light';
2
- import { observable, computed, makeObservable, reaction } from 'mobx';
2
+ import { observable, computed, makeObservable, reaction, action } from 'mobx';
3
3
  import { FlagModel, ILabeledFlagModel } from './FlagModel';
4
4
  import { ValidatableModel } from './Validatable';
5
5
  import { IValueModel } from './types';
@@ -75,12 +75,21 @@ export class Select<T = any> extends ValidatableModel<T> implements IValueModel<
75
75
  }
76
76
 
77
77
  set index(val: number) {
78
+ this.setIndex(val);
79
+ }
80
+
81
+ @action
82
+ public setIndex = (val: number) => {
78
83
  if (this._indexLocked) {
79
84
  return;
80
85
  }
81
86
 
82
87
  this._index = val;
83
88
 
89
+ if (this._validateOnChange) {
90
+ this.validate();
91
+ }
92
+
84
93
  // update all flags to be properly selected
85
94
  try {
86
95
  this._indexLocked = true;
@@ -91,7 +100,7 @@ export class Select<T = any> extends ValidatableModel<T> implements IValueModel<
91
100
  } finally {
92
101
  this._indexLocked = false;
93
102
  }
94
- }
103
+ };
95
104
 
96
105
  reset = () => {
97
106
  super.reset();
@@ -75,6 +75,10 @@ export class TextInputVM extends ValidatableModel<string> implements IValueModel
75
75
  public readonly setValue = (value: string) => {
76
76
  if (!this._valueObserving) {
77
77
  this._value = value;
78
+
79
+ if (this._validateOnChange) {
80
+ this.validate();
81
+ }
78
82
  } else {
79
83
  logger.warn('[TextInputViewModel] Setting value is not allowed when value is observing');
80
84
  }