@zajno/common 1.2.5 → 1.3.0-beta

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 (140) hide show
  1. package/coverage/clover.xml +453 -173
  2. package/coverage/coverage-final.json +38 -30
  3. package/coverage/lcov-report/index.html +34 -19
  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 +5 -5
  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 +11 -11
  20. package/coverage/lcov-report/src/event.ts.html +6 -6
  21. package/coverage/lcov-report/src/index.html +49 -19
  22. package/coverage/lcov-report/src/lazy.light.ts.html +155 -0
  23. package/coverage/lcov-report/src/logger/console.ts.html +2 -2
  24. package/coverage/lcov-report/src/logger/index.html +1 -1
  25. package/coverage/lcov-report/src/logger/index.ts.html +8 -8
  26. package/coverage/lcov-report/src/logger/named.ts.html +16 -16
  27. package/coverage/lcov-report/src/logger/proxy.ts.html +4 -4
  28. package/coverage/lcov-report/src/math/arrays.ts.html +1 -1
  29. package/coverage/lcov-report/src/math/calc.ts.html +1 -1
  30. package/coverage/lcov-report/src/math/distribution.ts.html +1 -1
  31. package/coverage/lcov-report/src/math/index.html +1 -1
  32. package/coverage/lcov-report/src/math/index.ts.html +1 -1
  33. package/coverage/lcov-report/src/transitionObserver.ts.html +192 -45
  34. package/coverage/lcov-report/src/types.ts.html +143 -0
  35. package/coverage/lcov-report/src/validation/ValidationErrors.ts.html +22 -22
  36. package/coverage/lcov-report/src/validation/creditCard.ts.html +4 -4
  37. package/coverage/lcov-report/src/validation/helpers.ts.html +6 -6
  38. package/coverage/lcov-report/src/validation/index.html +1 -1
  39. package/coverage/lcov-report/src/validation/index.ts.html +6 -6
  40. package/coverage/lcov-report/src/validation/types.ts.html +2 -2
  41. package/coverage/lcov-report/src/validation/validators.ts.html +5 -5
  42. package/coverage/lcov-report/src/validation/wrappers.ts.html +5 -5
  43. package/coverage/lcov-report/src/viewModels/FlagModel.ts.html +209 -0
  44. package/coverage/lcov-report/src/viewModels/LabeledFlagModel.ts.html +146 -0
  45. package/coverage/lcov-report/src/viewModels/MultiSelectModel.ts.html +530 -0
  46. package/coverage/lcov-report/src/viewModels/NumberModel.ts.html +188 -0
  47. package/coverage/lcov-report/{enumHelper.ts.html → src/viewModels/SelectModel.ts.html} +158 -152
  48. package/coverage/lcov-report/src/viewModels/SelectViewModel.ts.html +434 -0
  49. package/coverage/lcov-report/src/viewModels/Validatable.ts.html +329 -0
  50. package/coverage/lcov-report/src/viewModels/index.html +186 -0
  51. package/coverage/lcov-report/src/viewModels/wrappers.ts.html +239 -0
  52. package/coverage/lcov-report/transitionObserver.ts.html +155 -44
  53. package/coverage/lcov.info +838 -229
  54. package/lib/timeHelper.d.ts +3 -0
  55. package/lib/timeHelper.d.ts.map +1 -1
  56. package/lib/timeHelper.js +3 -0
  57. package/lib/timeHelper.js.map +1 -1
  58. package/lib/transitionObserver.d.ts +6 -0
  59. package/lib/transitionObserver.d.ts.map +1 -1
  60. package/lib/transitionObserver.js +42 -0
  61. package/lib/transitionObserver.js.map +1 -1
  62. package/lib/types.d.ts +5 -0
  63. package/lib/types.d.ts.map +1 -1
  64. package/lib/types.js +14 -0
  65. package/lib/types.js.map +1 -1
  66. package/lib/viewModels/FlagModel.d.ts +19 -0
  67. package/lib/viewModels/FlagModel.d.ts.map +1 -0
  68. package/lib/viewModels/FlagModel.js +38 -0
  69. package/lib/viewModels/FlagModel.js.map +1 -0
  70. package/lib/viewModels/MultiSelectModel.d.ts +41 -0
  71. package/lib/viewModels/MultiSelectModel.d.ts.map +1 -0
  72. package/lib/viewModels/MultiSelectModel.js +150 -0
  73. package/lib/viewModels/MultiSelectModel.js.map +1 -0
  74. package/lib/viewModels/NumberModel.d.ts +16 -0
  75. package/lib/viewModels/NumberModel.d.ts.map +1 -0
  76. package/lib/viewModels/NumberModel.js +40 -0
  77. package/lib/viewModels/NumberModel.js.map +1 -0
  78. package/lib/viewModels/PromptModalViewModel.d.ts +20 -16
  79. package/lib/viewModels/PromptModalViewModel.d.ts.map +1 -1
  80. package/lib/viewModels/PromptModalViewModel.js +37 -36
  81. package/lib/viewModels/PromptModalViewModel.js.map +1 -1
  82. package/lib/viewModels/{SelectViewModel.d.ts → SelectModel.d.ts} +14 -8
  83. package/lib/viewModels/SelectModel.d.ts.map +1 -0
  84. package/lib/viewModels/SelectModel.js +109 -0
  85. package/lib/viewModels/SelectModel.js.map +1 -0
  86. package/lib/viewModels/{TextInputViewModel.d.ts → TextModel.d.ts} +10 -9
  87. package/lib/viewModels/TextModel.d.ts.map +1 -0
  88. package/lib/viewModels/{TextInputViewModel.js → TextModel.js} +8 -17
  89. package/lib/viewModels/TextModel.js.map +1 -0
  90. package/lib/viewModels/Validatable.d.ts +9 -7
  91. package/lib/viewModels/Validatable.d.ts.map +1 -1
  92. package/lib/viewModels/Validatable.js +22 -8
  93. package/lib/viewModels/Validatable.js.map +1 -1
  94. package/lib/viewModels/ValuesCollector.d.ts +28 -0
  95. package/lib/viewModels/ValuesCollector.d.ts.map +1 -0
  96. package/lib/viewModels/ValuesCollector.js +51 -0
  97. package/lib/viewModels/ValuesCollector.js.map +1 -0
  98. package/lib/viewModels/index.d.ts +7 -5
  99. package/lib/viewModels/index.d.ts.map +1 -1
  100. package/lib/viewModels/index.js +7 -5
  101. package/lib/viewModels/index.js.map +1 -1
  102. package/lib/viewModels/wrappers.d.ts +15 -0
  103. package/lib/viewModels/wrappers.d.ts.map +1 -0
  104. package/lib/viewModels/wrappers.js +43 -0
  105. package/lib/viewModels/wrappers.js.map +1 -0
  106. package/package.json +1 -1
  107. package/src/__tests__/transitionObserver.test.ts +39 -0
  108. package/src/timeHelper.ts +3 -0
  109. package/src/transitionObserver.ts +49 -0
  110. package/src/types.ts +16 -0
  111. package/src/viewModels/FlagModel.ts +43 -0
  112. package/src/viewModels/MultiSelectModel.ts +150 -0
  113. package/src/viewModels/NumberModel.ts +36 -0
  114. package/src/viewModels/PromptModalViewModel.ts +43 -49
  115. package/src/viewModels/SelectModel.ts +125 -0
  116. package/src/viewModels/{TextInputViewModel.ts → TextModel.ts} +22 -25
  117. package/src/viewModels/Validatable.ts +26 -11
  118. package/src/viewModels/ValuesCollector.ts +84 -0
  119. package/src/viewModels/__tests__/multiSelect.test.ts +23 -0
  120. package/src/viewModels/__tests__/select.test.ts +71 -0
  121. package/src/viewModels/__tests__/wrappers.test.ts +79 -0
  122. package/src/viewModels/index.ts +9 -5
  123. package/src/viewModels/wrappers.ts +53 -0
  124. package/yarn-error.log +3709 -0
  125. package/lib/viewModels/RadioButtonGroupViewModel.d.ts +0 -11
  126. package/lib/viewModels/RadioButtonGroupViewModel.d.ts.map +0 -1
  127. package/lib/viewModels/RadioButtonGroupViewModel.js +0 -51
  128. package/lib/viewModels/RadioButtonGroupViewModel.js.map +0 -1
  129. package/lib/viewModels/RadioButtonViewModel.d.ts +0 -9
  130. package/lib/viewModels/RadioButtonViewModel.d.ts.map +0 -1
  131. package/lib/viewModels/RadioButtonViewModel.js +0 -32
  132. package/lib/viewModels/RadioButtonViewModel.js.map +0 -1
  133. package/lib/viewModels/SelectViewModel.d.ts.map +0 -1
  134. package/lib/viewModels/SelectViewModel.js +0 -88
  135. package/lib/viewModels/SelectViewModel.js.map +0 -1
  136. package/lib/viewModels/TextInputViewModel.d.ts.map +0 -1
  137. package/lib/viewModels/TextInputViewModel.js.map +0 -1
  138. package/src/viewModels/RadioButtonGroupViewModel.ts +0 -47
  139. package/src/viewModels/RadioButtonViewModel.ts +0 -26
  140. package/src/viewModels/SelectViewModel.ts +0 -88
@@ -1,5 +1,8 @@
1
+ /** @deprecated */
1
2
  export declare function formatMS(ms: number): string;
3
+ /** @deprecated */
2
4
  export declare function formatTime(n: number): string;
5
+ /** @deprecated */
3
6
  export declare function secToFormattedMin(totalSec: number): string;
4
7
  declare class Time {
5
8
  private _now;
@@ -1 +1 @@
1
- {"version":3,"file":"timeHelper.d.ts","sourceRoot":"","sources":["../src/timeHelper.ts"],"names":[],"mappings":"AAEA,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAU3C;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAM5C;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAW1D;AAED,cAAM,IAAI;IAEN,OAAO,CAAC,IAAI,CAAgC;;IAQ5C,IAAI,GAAG,WAEN;CACJ;AAED,eAAO,MAAM,UAAU,MAAa,CAAC"}
1
+ {"version":3,"file":"timeHelper.d.ts","sourceRoot":"","sources":["../src/timeHelper.ts"],"names":[],"mappings":"AAEA,kBAAkB;AAClB,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAU3C;AAED,kBAAkB;AAClB,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAM5C;AAED,kBAAkB;AAClB,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAW1D;AAED,cAAM,IAAI;IAEN,OAAO,CAAC,IAAI,CAAgC;;IAQ5C,IAAI,GAAG,WAEN;CACJ;AAED,eAAO,MAAM,UAAU,MAAa,CAAC"}
package/lib/timeHelper.js CHANGED
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TimeHelper = exports.secToFormattedMin = exports.formatTime = exports.formatMS = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const mobx_1 = require("mobx");
6
+ /** @deprecated */
6
7
  function formatMS(ms) {
7
8
  if (!ms && ms !== 0) {
8
9
  return '';
@@ -13,6 +14,7 @@ function formatMS(ms) {
13
14
  return `${hours ? hours + ':' : ''}${min < 10 ? '0' + min : min}:${sec < 10 ? '0' + sec : sec}`;
14
15
  }
15
16
  exports.formatMS = formatMS;
17
+ /** @deprecated */
16
18
  function formatTime(n) {
17
19
  if (n < 10) {
18
20
  return '0' + n;
@@ -20,6 +22,7 @@ function formatTime(n) {
20
22
  return n.toString();
21
23
  }
22
24
  exports.formatTime = formatTime;
25
+ /** @deprecated */
23
26
  function secToFormattedMin(totalSec) {
24
27
  const sec = Math.round(totalSec) % 60;
25
28
  const min = Math.floor((totalSec + 1) / 60);
@@ -1 +1 @@
1
- {"version":3,"file":"timeHelper.js","sourceRoot":"","sources":["../src/timeHelper.ts"],"names":[],"mappings":";;;;AAAA,+BAAkD;AAElD,SAAgB,QAAQ,CAAC,EAAU;IAC/B,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE;QACjB,OAAO,EAAE,CAAC;KACb;IAED,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IACzC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IAChD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IAEvD,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;AACpG,CAAC;AAVD,4BAUC;AAED,SAAgB,UAAU,CAAC,CAAS;IAChC,IAAI,CAAC,GAAG,EAAE,EAAE;QACR,OAAO,GAAG,GAAG,CAAC,CAAC;KAClB;IAED,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;AACxB,CAAC;AAND,gCAMC;AAED,SAAgB,iBAAiB,CAAC,QAAgB;IAC9C,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;IACtC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IAC5C,IAAI,GAAG,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;IAE/B,IAAI,GAAG,EAAE;QACL,GAAG,IAAI,GAAG,CAAC;QACX,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;KACtC;IAED,OAAO,GAAG,CAAC;AACf,CAAC;AAXD,8CAWC;AAED,MAAM,IAAI;IAIN;QAFQ,SAAI,GAAW,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QAGxC,qBAAc,CAAC,IAAI,CAAC,CAAC;QACrB,2BAA2B;QAC3B,WAAW,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,CAAC;IAC1E,CAAC;IAED,IAAI,GAAG;QACH,OAAO,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;CACJ;AAXG;IADC,iBAAU;;kCACiC;AAanC,QAAA,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC"}
1
+ {"version":3,"file":"timeHelper.js","sourceRoot":"","sources":["../src/timeHelper.ts"],"names":[],"mappings":";;;;AAAA,+BAAkD;AAElD,kBAAkB;AAClB,SAAgB,QAAQ,CAAC,EAAU;IAC/B,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE;QACjB,OAAO,EAAE,CAAC;KACb;IAED,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IACzC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IAChD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IAEvD,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;AACpG,CAAC;AAVD,4BAUC;AAED,kBAAkB;AAClB,SAAgB,UAAU,CAAC,CAAS;IAChC,IAAI,CAAC,GAAG,EAAE,EAAE;QACR,OAAO,GAAG,GAAG,CAAC,CAAC;KAClB;IAED,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;AACxB,CAAC;AAND,gCAMC;AAED,kBAAkB;AAClB,SAAgB,iBAAiB,CAAC,QAAgB;IAC9C,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;IACtC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IAC5C,IAAI,GAAG,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;IAE/B,IAAI,GAAG,EAAE;QACL,GAAG,IAAI,GAAG,CAAC;QACX,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;KACtC;IAED,OAAO,GAAG,CAAC;AACf,CAAC;AAXD,8CAWC;AAED,MAAM,IAAI;IAIN;QAFQ,SAAI,GAAW,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QAGxC,qBAAc,CAAC,IAAI,CAAC,CAAC;QACrB,2BAA2B;QAC3B,WAAW,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,CAAC;IAC1E,CAAC;IAED,IAAI,GAAG;QACH,OAAO,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;CACJ;AAXG;IADC,iBAAU;;kCACiC;AAanC,QAAA,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC"}
@@ -9,10 +9,14 @@ export declare class TransitionObserver<T> implements IDisposable {
9
9
  private _to;
10
10
  private _cb;
11
11
  private _fireOnce;
12
+ private _promise;
13
+ private _promiseReject;
12
14
  private logger;
13
15
  constructor(getter?: () => T);
14
16
  get event(): IEvent<T>;
15
17
  get currentValue(): T;
18
+ get isObserving(): boolean;
19
+ private get isPromising();
16
20
  observe(getter: () => T): this;
17
21
  from(from: T): this;
18
22
  to(to: T): this;
@@ -21,9 +25,11 @@ export declare class TransitionObserver<T> implements IDisposable {
21
25
  fireOnce(enable?: boolean): this;
22
26
  forceCheck(): boolean;
23
27
  andForceCheck(): this;
28
+ getPromise(timeout?: number): Promise<T>;
24
29
  reverse(): TransitionObserver<T>;
25
30
  enableLogging(name: string): this;
26
31
  dispose: () => void;
27
32
  private _checkValue;
33
+ private _finishPromise;
28
34
  }
29
35
  //# sourceMappingURL=transitionObserver.d.ts.map
@@ -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,gBAAgB,CAAC;AAE7C,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,MAAM,CAAmC;gBAErC,MAAM,CAAC,EAAE,MAAM,CAAC;IAM5B,IAAW,KAAK,IAAI,MAAM,CAAC,CAAC,CAAC,CAAwB;IACrD,IAAW,YAAY,MAAyB;IAEhD,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;IAKpB,SAAS;IAOT,QAAQ,CAAC,MAAM,UAAO;IAKtB,UAAU;IAIV,aAAa;IAKb,OAAO;IAMP,aAAa,CAAC,IAAI,EAAE,MAAM;IAK1B,OAAO,aAKL;IAEF,OAAO,CAAC,WAAW,CAiCjB;CACL"}
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,gBAAgB,CAAC;AAE7C,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,CAAmC;gBAErC,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"}
@@ -12,11 +12,17 @@ class TransitionObserver {
12
12
  this._from = undefined;
13
13
  this._to = undefined;
14
14
  this._fireOnce = false;
15
+ this._promise = null;
16
+ this._promiseReject = null;
15
17
  this.logger = logger_1.createLogger('', true);
16
18
  this.dispose = () => {
17
19
  this.logger.log(' disposing... ');
18
20
  if (this._disposer) {
19
21
  this._disposer();
22
+ this._disposer = null;
23
+ }
24
+ if (this.isPromising) {
25
+ this._finishPromise(this._promiseReject, new Error('TransitionObserver Aborted'));
20
26
  }
21
27
  };
22
28
  this._checkValue = (v) => {
@@ -54,6 +60,8 @@ class TransitionObserver {
54
60
  }
55
61
  get event() { return this._event; }
56
62
  get currentValue() { return this._prev; }
63
+ get isObserving() { return this._disposer != null; }
64
+ get isPromising() { return this._promiseReject != null; }
57
65
  observe(getter) {
58
66
  this.dispose();
59
67
  this._getter = getter;
@@ -70,6 +78,9 @@ class TransitionObserver {
70
78
  return this;
71
79
  }
72
80
  cb(cb) {
81
+ if (this.isPromising) {
82
+ throw new Error('Cannot set callback when promise is running');
83
+ }
73
84
  this._cb = cb;
74
85
  return this;
75
86
  }
@@ -90,6 +101,29 @@ class TransitionObserver {
90
101
  this.forceCheck();
91
102
  return this;
92
103
  }
104
+ getPromise(timeout = null) {
105
+ if (!this._promise) {
106
+ if (!this.isObserving) {
107
+ return Promise.reject(new Error('Cannot get promise for disposed TransitionObserver'));
108
+ }
109
+ this._promise = new Promise((resolve, reject) => {
110
+ this._promiseReject = reject;
111
+ let timeoutHandle = null;
112
+ if (timeout) {
113
+ timeoutHandle = setTimeout(() => {
114
+ this._finishPromise(this._promiseReject, new Error(`TransitionObserver Aborted – timed out after ${timeout}ms`));
115
+ }, timeout);
116
+ }
117
+ this._cb = (v => {
118
+ clearTimeout(timeoutHandle);
119
+ this._finishPromise(resolve, v);
120
+ });
121
+ this.forceCheck();
122
+ });
123
+ this.logger.log('started a new promise...');
124
+ }
125
+ return this._promise;
126
+ }
93
127
  reverse() {
94
128
  return new TransitionObserver(this._getter)
95
129
  .from(this._to)
@@ -99,6 +133,14 @@ class TransitionObserver {
99
133
  this.logger = logger_1.createLogger(name, !name);
100
134
  return this;
101
135
  }
136
+ _finishPromise(cb, arg) {
137
+ this._promise = null;
138
+ this._promiseReject = null;
139
+ this._cb = null;
140
+ if (cb) {
141
+ cb(arg);
142
+ }
143
+ }
102
144
  }
103
145
  exports.TransitionObserver = TransitionObserver;
104
146
  //# sourceMappingURL=transitionObserver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"transitionObserver.js","sourceRoot":"","sources":["../src/transitionObserver.ts"],"names":[],"mappings":";;;AAAA,+BAAgC;AAChC,mCAAwC;AACxC,qCAAiD;AAGjD,MAAa,kBAAkB;IAgB3B,YAAY,MAAgB;QAdX,WAAM,GAAG,IAAI,aAAK,EAAK,CAAC;QACjC,YAAO,GAAY,IAAI,CAAC;QAGxB,UAAK,GAAM,SAAS,CAAC;QAErB,UAAK,GAAM,SAAS,CAAC;QACrB,QAAG,GAAM,SAAS,CAAC;QAGnB,cAAS,GAAG,KAAK,CAAC;QAElB,WAAM,GAAY,qBAAY,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAkEjD,YAAO,GAAG,GAAG,EAAE;YACX,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;YAClC,IAAI,IAAI,CAAC,SAAS,EAAE;gBAChB,IAAI,CAAC,SAAS,EAAE,CAAC;aACpB;QACL,CAAC,CAAC;QAEM,gBAAW,GAAG,CAAC,CAAI,EAAE,EAAE;YAC3B,IAAI,OAAO,GAAG,KAAK,CAAC;YAEpB,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS,EAAE;gBACpD,0CAA0C;gBAC1C,OAAO,GAAG,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC;aACzD;iBAAM,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS,EAAE;gBAC3D,sCAAsC;gBACtC,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC;uBAC1D,CAAC,IAAI,CAAC,GAAG,KAAK,SAAS,IAAI,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;aACrD;iBAAM;gBACH,iEAAiE;gBACjE,sDAAsD;gBACtD,OAAO,GAAG,IAAI,CAAC;aAClB;YAED,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,EAAE,oBAAoB,EAAE,OAAO,CAAC,CAAC;YAEpE,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;YAEf,IAAI,OAAO,EAAE;gBACT,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAEvB,IAAI,IAAI,CAAC,GAAG,EAAE;oBACV,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;iBACf;gBAED,IAAI,IAAI,CAAC,SAAS,EAAE;oBAChB,IAAI,CAAC,OAAO,EAAE,CAAC;iBAClB;aACJ;YAED,OAAO,OAAO,CAAC;QACnB,CAAC,CAAC;QAvGE,IAAI,MAAM,EAAE;YACR,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;SACxB;IACL,CAAC;IAED,IAAW,KAAK,KAAgB,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACrD,IAAW,YAAY,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAEhD,OAAO,CAAC,MAAe;QACnB,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC5B,IAAI,CAAC,SAAS,GAAG,eAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,CAAC,IAAO;QACR,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,EAAE,CAAC,EAAK;QACJ,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QACd,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,EAAE,CAAC,EAAiB;QAChB,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QACd,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,SAAS;QACL,IAAI,IAAI,CAAC,GAAG,EAAE;YACV,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACxB;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,QAAQ,CAAC,MAAM,GAAG,IAAI;QAClB,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC;QACxB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,UAAU;QACN,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,aAAa;QACT,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO;QACH,OAAO,IAAI,kBAAkB,CAAI,IAAI,CAAC,OAAO,CAAC;aACzC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;aACd,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;IAED,aAAa,CAAC,IAAY;QACtB,IAAI,CAAC,MAAM,GAAG,qBAAY,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC;QACxC,OAAO,IAAI,CAAC;IAChB,CAAC;CA2CJ;AAzHD,gDAyHC"}
1
+ {"version":3,"file":"transitionObserver.js","sourceRoot":"","sources":["../src/transitionObserver.ts"],"names":[],"mappings":"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"}
package/lib/types.d.ts CHANGED
@@ -2,4 +2,9 @@ export { DeepPartial } from './deepPartial';
2
2
  export declare type DeepReadonly<T> = {
3
3
  readonly [P in keyof T]: DeepReadonly<T[P]>;
4
4
  };
5
+ export declare type Getter<T> = (() => T) | T | null;
6
+ export declare namespace Getter {
7
+ function getValue<T>(getter: Getter<T>): T;
8
+ }
9
+ export declare type Predicate<T> = (value: T) => boolean;
5
10
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,oBAAY,YAAY,CAAC,CAAC,IAAI;IAC1B,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC9C,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,oBAAY,YAAY,CAAC,CAAC,IAAI;IAC1B,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC9C,CAAC;AAEF,oBAAY,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;AAE7C,yBAAiB,MAAM,CAAC;IACpB,SAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAQhD;CACJ;AAED,oBAAY,SAAS,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,CAAC"}
package/lib/types.js CHANGED
@@ -1,3 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Getter = void 0;
4
+ var Getter;
5
+ (function (Getter) {
6
+ function getValue(getter) {
7
+ if (getter == null) {
8
+ return null;
9
+ }
10
+ if (typeof getter === 'function') {
11
+ return getter();
12
+ }
13
+ return getter;
14
+ }
15
+ Getter.getValue = getValue;
16
+ })(Getter = exports.Getter || (exports.Getter = {}));
3
17
  //# sourceMappingURL=types.js.map
package/lib/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAQA,IAAiB,MAAM,CAUtB;AAVD,WAAiB,MAAM;IACnB,SAAgB,QAAQ,CAAI,MAAiB;QACzC,IAAI,MAAM,IAAI,IAAI,EAAE;YAChB,OAAO,IAAI,CAAC;SACf;QACD,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE;YAC9B,OAAQ,MAAkB,EAAE,CAAC;SAChC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IARe,eAAQ,WAQvB,CAAA;AACL,CAAC,EAVgB,MAAM,GAAN,cAAM,KAAN,cAAM,QAUtB"}
@@ -0,0 +1,19 @@
1
+ import { ILabel } from './wrappers';
2
+ import { IValueModel } from './ValuesCollector';
3
+ export interface IFlagModel extends IValueModel<boolean> {
4
+ toggle(): void;
5
+ reset(): void;
6
+ }
7
+ export declare type IFlagModelReadonly = {
8
+ readonly value: boolean;
9
+ };
10
+ export declare type ILabeledFlagModel = IFlagModel & ILabel<string>;
11
+ export declare class FlagModel implements IFlagModel, IFlagModelReadonly {
12
+ private _value;
13
+ constructor(initial?: boolean);
14
+ get value(): boolean;
15
+ set value(value: boolean);
16
+ toggle: () => void;
17
+ reset: () => void;
18
+ }
19
+ //# sourceMappingURL=FlagModel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FlagModel.d.ts","sourceRoot":"","sources":["../../src/viewModels/FlagModel.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,WAAW,UAAW,SAAQ,WAAW,CAAC,OAAO,CAAC;IACpD,MAAM,IAAI,IAAI,CAAC;IACf,KAAK,IAAI,IAAI,CAAC;CACjB;AAED,oBAAY,kBAAkB,GAAG;IAC7B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,oBAAY,iBAAiB,GAAG,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;AAE5D,qBAAa,SAAU,YAAW,UAAU,EAAE,kBAAkB;IAG5D,OAAO,CAAC,MAAM,CAAkB;gBAEpB,OAAO,UAAQ;IAK3B,IAAI,KAAK,IAIQ,OAAO,CAFvB;IAED,IAAI,KAAK,CAAC,KAAK,EAAE,OAAO,EAEvB;IAGD,MAAM,aAEJ;IAGF,KAAK,aAEH;CACL"}
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FlagModel = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const mobx_1 = require("mobx");
6
+ class FlagModel {
7
+ constructor(initial = false) {
8
+ this._value = false;
9
+ this.toggle = () => {
10
+ this._value = !this._value;
11
+ };
12
+ this.reset = () => {
13
+ this._value = false;
14
+ };
15
+ mobx_1.makeObservable(this);
16
+ this._value = initial;
17
+ }
18
+ get value() {
19
+ return this._value;
20
+ }
21
+ set value(value) {
22
+ this._value = value;
23
+ }
24
+ }
25
+ tslib_1.__decorate([
26
+ mobx_1.observable,
27
+ tslib_1.__metadata("design:type", Boolean)
28
+ ], FlagModel.prototype, "_value", void 0);
29
+ tslib_1.__decorate([
30
+ mobx_1.action,
31
+ tslib_1.__metadata("design:type", Object)
32
+ ], FlagModel.prototype, "toggle", void 0);
33
+ tslib_1.__decorate([
34
+ mobx_1.action,
35
+ tslib_1.__metadata("design:type", Object)
36
+ ], FlagModel.prototype, "reset", void 0);
37
+ exports.FlagModel = FlagModel;
38
+ //# sourceMappingURL=FlagModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FlagModel.js","sourceRoot":"","sources":["../../src/viewModels/FlagModel.ts"],"names":[],"mappings":";;;;AAAA,+BAA0D;AAe1D,MAAa,SAAS;IAKlB,YAAY,OAAO,GAAG,KAAK;QAFnB,WAAM,GAAY,KAAK,CAAC;QAgBhC,WAAM,GAAG,GAAG,EAAE;YACV,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;QAC/B,CAAC,CAAC;QAGF,UAAK,GAAG,GAAG,EAAE;YACT,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACxB,CAAC,CAAC;QApBE,qBAAc,CAAC,IAAI,CAAC,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC;IAC1B,CAAC;IAED,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IAED,IAAI,KAAK,CAAC,KAAc;QACpB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACxB,CAAC;CAWJ;AAxBG;IADC,iBAAU;;yCACqB;AAgBhC;IADC,aAAM;;yCAGL;AAGF;IADC,aAAM;;wCAGL;AA1BN,8BA2BC"}
@@ -0,0 +1,41 @@
1
+ import { FlagModel, ILabeledFlagModel } from './FlagModel';
2
+ import { ValidatableModel } from './Validatable';
3
+ import { IValueModel } from './ValuesCollector';
4
+ export declare class MultiSelect<T = any> extends ValidatableModel<ReadonlyArray<T>> implements IValueModel<readonly string[]> {
5
+ private readonly _items;
6
+ private readonly _accessor;
7
+ private _indexes;
8
+ readonly opened: FlagModel;
9
+ private readonly _initial;
10
+ private readonly _flags;
11
+ private _indexesLocked;
12
+ constructor(_items: readonly T[], _accessor: (item: T) => string, ...selected: number[]);
13
+ get selectedIndexes(): ReadonlyArray<number>;
14
+ get items(): ReadonlyArray<T>;
15
+ get flags(): readonly ILabeledFlagModel[];
16
+ get values(): ReadonlyArray<string>;
17
+ get selectedItems(): ReadonlyArray<T>;
18
+ get selectedValues(): ReadonlyArray<string>;
19
+ get value(): readonly string[];
20
+ set value(v: readonly string[]);
21
+ isIndexSelected(index: number): boolean;
22
+ isValueSelected(value: string): boolean;
23
+ get isEmpty(): boolean;
24
+ protected get valueToValidate(): readonly T[];
25
+ setItemSelected: (item: T, selected: boolean) => void;
26
+ selectItem: (item: T) => void;
27
+ deSelectItem: (item: T) => void;
28
+ selectItems: (items: readonly T[]) => void;
29
+ setValueSelected: (value: string, selected: boolean) => void;
30
+ selectValue: (value: string) => void;
31
+ deSelectValue: (value: string) => void;
32
+ selectValues: (values: readonly string[]) => void;
33
+ setIndexSelected: (index: number, selected: boolean) => void;
34
+ reset: () => void;
35
+ private setInitialIndexes;
36
+ private createFlags;
37
+ }
38
+ export declare class MultiSelectString<T extends string = string> extends MultiSelect<T> {
39
+ constructor(items: ReadonlyArray<T>, ...selected: number[]);
40
+ }
41
+ //# sourceMappingURL=MultiSelectModel.d.ts.map
@@ -0,0 +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,mBAAmB,CAAC;AAGhD,qBAAa,WAAW,CAAC,CAAC,GAAG,GAAG,CAAE,SAAQ,gBAAgB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAE,YAAW,WAAW,CAAC,SAAS,MAAM,EAAE,CAAC;IAY9G,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAV9B,OAAO,CAAC,QAAQ,CAAqB;IAErC,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,OAAO,YAAuC;IAElD,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,KAAK,aAGH;IAEF,OAAO,CAAC,iBAAiB;IAKzB,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"}
@@ -0,0 +1,150 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MultiSelectString = exports.MultiSelect = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const lazy_light_1 = require("../lazy.light");
6
+ const mobx_1 = require("mobx");
7
+ const FlagModel_1 = require("./FlagModel");
8
+ const Validatable_1 = require("./Validatable");
9
+ const wrappers_1 = require("./wrappers");
10
+ class MultiSelect extends Validatable_1.ValidatableModel {
11
+ constructor(_items, _accessor, ...selected) {
12
+ super();
13
+ this._items = _items;
14
+ this._accessor = _accessor;
15
+ this._indexes = new Set();
16
+ this.opened = new FlagModel_1.FlagModel();
17
+ this._initial = null;
18
+ this._flags = lazy_light_1.createLazy(() => this.createFlags());
19
+ this._indexesLocked = false;
20
+ this.setItemSelected = (item, selected) => {
21
+ const i = this.items.indexOf(item);
22
+ if (i >= 0) {
23
+ this.setIndexSelected(i, selected);
24
+ }
25
+ };
26
+ this.selectItem = (item) => this.setItemSelected(item, true);
27
+ this.deSelectItem = (item) => this.setItemSelected(item, false);
28
+ this.selectItems = (items) => {
29
+ items.forEach(this.selectItem);
30
+ };
31
+ this.setValueSelected = (value, selected) => {
32
+ const i = this.values.indexOf(value);
33
+ if (i >= 0) {
34
+ this.setIndexSelected(i, selected);
35
+ }
36
+ };
37
+ this.selectValue = (value) => this.setValueSelected(value, true);
38
+ this.deSelectValue = (value) => this.setValueSelected(value, false);
39
+ this.selectValues = (values) => {
40
+ values.forEach(this.selectValue);
41
+ };
42
+ this.setIndexSelected = (index, selected) => {
43
+ if (this._indexesLocked) {
44
+ return;
45
+ }
46
+ if (selected) {
47
+ this._indexes.add(index);
48
+ }
49
+ else {
50
+ this._indexes.delete(index);
51
+ }
52
+ if (!this._flags.hasValue) {
53
+ return;
54
+ }
55
+ try {
56
+ this._indexesLocked = true;
57
+ this._flags.value[index].value = selected;
58
+ }
59
+ finally {
60
+ this._indexesLocked = false;
61
+ }
62
+ };
63
+ this.reset = () => {
64
+ super.reset();
65
+ this.setInitialIndexes();
66
+ };
67
+ mobx_1.makeObservable(this);
68
+ this._initial = selected;
69
+ this.setInitialIndexes();
70
+ }
71
+ get selectedIndexes() { return Array.from(this._indexes); }
72
+ get items() { return this._items; }
73
+ get flags() { return this._flags.value; }
74
+ get values() {
75
+ return this._items.map(i => this._accessor(i));
76
+ }
77
+ get selectedItems() {
78
+ return this.selectedIndexes.map(i => this._items[i]);
79
+ }
80
+ get selectedValues() {
81
+ const values = this.values;
82
+ return this.selectedIndexes.map(i => values[i]);
83
+ }
84
+ get value() { return this.selectedValues; }
85
+ set value(v) { this.selectValues(v); }
86
+ isIndexSelected(index) { return this._indexes.has(index); }
87
+ isValueSelected(value) { return this.values.includes(value); }
88
+ get isEmpty() { return this._indexes.size === 0; }
89
+ get valueToValidate() { return this.selectedItems; }
90
+ setInitialIndexes() {
91
+ this._indexes.clear();
92
+ this._initial.forEach(i => this._indexes.add(i));
93
+ }
94
+ createFlags() {
95
+ const flags = this._items
96
+ .map((item, index) => {
97
+ const flag = wrappers_1.withLabel(new FlagModel_1.FlagModel(this._indexes.has(index)), () => this._accessor(item));
98
+ // react on every flag is changed directly
99
+ mobx_1.reaction(() => flag.value, isSelected => {
100
+ this.setIndexSelected(index, isSelected);
101
+ });
102
+ return flag;
103
+ });
104
+ return flags;
105
+ }
106
+ }
107
+ tslib_1.__decorate([
108
+ mobx_1.observable,
109
+ tslib_1.__metadata("design:type", Object)
110
+ ], MultiSelect.prototype, "_indexes", void 0);
111
+ tslib_1.__decorate([
112
+ mobx_1.computed,
113
+ tslib_1.__metadata("design:type", Array),
114
+ tslib_1.__metadata("design:paramtypes", [])
115
+ ], MultiSelect.prototype, "selectedIndexes", null);
116
+ tslib_1.__decorate([
117
+ mobx_1.computed,
118
+ tslib_1.__metadata("design:type", Array),
119
+ tslib_1.__metadata("design:paramtypes", [])
120
+ ], MultiSelect.prototype, "values", null);
121
+ tslib_1.__decorate([
122
+ mobx_1.computed,
123
+ tslib_1.__metadata("design:type", Array),
124
+ tslib_1.__metadata("design:paramtypes", [])
125
+ ], MultiSelect.prototype, "selectedItems", null);
126
+ tslib_1.__decorate([
127
+ mobx_1.computed,
128
+ tslib_1.__metadata("design:type", Array),
129
+ tslib_1.__metadata("design:paramtypes", [])
130
+ ], MultiSelect.prototype, "selectedValues", null);
131
+ tslib_1.__decorate([
132
+ mobx_1.action,
133
+ tslib_1.__metadata("design:type", Object)
134
+ ], MultiSelect.prototype, "selectItems", void 0);
135
+ tslib_1.__decorate([
136
+ mobx_1.action,
137
+ tslib_1.__metadata("design:type", Object)
138
+ ], MultiSelect.prototype, "selectValues", void 0);
139
+ tslib_1.__decorate([
140
+ mobx_1.action,
141
+ tslib_1.__metadata("design:type", Object)
142
+ ], MultiSelect.prototype, "setIndexSelected", void 0);
143
+ exports.MultiSelect = MultiSelect;
144
+ class MultiSelectString extends MultiSelect {
145
+ constructor(items, ...selected) {
146
+ super(items, v => v, ...selected);
147
+ }
148
+ }
149
+ exports.MultiSelectString = MultiSelectString;
150
+ //# sourceMappingURL=MultiSelectModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MultiSelectModel.js","sourceRoot":"","sources":["../../src/viewModels/MultiSelectModel.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { IValueModel } from './ValuesCollector';
2
+ export interface INumberModel {
3
+ value: number;
4
+ }
5
+ export declare class NumberModel implements INumberModel, IValueModel<number> {
6
+ private _value;
7
+ private _initial;
8
+ constructor(initial?: number);
9
+ get value(): number;
10
+ set value(v: number);
11
+ reset: () => void;
12
+ increment: (d?: number) => number;
13
+ decrement: (d?: number) => number;
14
+ }
15
+ export default NumberModel;
16
+ //# sourceMappingURL=NumberModel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NumberModel.d.ts","sourceRoot":"","sources":["../../src/viewModels/NumberModel.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,WAAW,YAAY;IACzB,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,WAAY,YAAW,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC;IAGjE,OAAO,CAAC,MAAM,CAAa;IAE3B,OAAO,CAAC,QAAQ,CAAa;gBAEjB,OAAO,GAAE,MAAU;IAM/B,IAAI,KAAK,IACI,MAAM,CADgB;IACnC,IAAI,KAAK,CAAC,CAAC,EAAE,MAAM,EAAsB;IAGzC,KAAK,aAEH;IAGF,SAAS,yBAA8B;IAGvC,SAAS,yBAA8B;CAC1C;AAED,eAAe,WAAW,CAAC"}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NumberModel = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const mobx_1 = require("mobx");
6
+ class NumberModel {
7
+ constructor(initial = 0) {
8
+ this._value = 0;
9
+ this._initial = 0;
10
+ this.reset = () => {
11
+ this._value = this._initial;
12
+ };
13
+ this.increment = (d = 1) => this.value += d;
14
+ this.decrement = (d = 1) => this.value -= d;
15
+ mobx_1.makeObservable(this);
16
+ this._initial = initial;
17
+ this._value = this._initial;
18
+ }
19
+ get value() { return this._value; }
20
+ set value(v) { this._value = v; }
21
+ }
22
+ tslib_1.__decorate([
23
+ mobx_1.observable,
24
+ tslib_1.__metadata("design:type", Number)
25
+ ], NumberModel.prototype, "_value", void 0);
26
+ tslib_1.__decorate([
27
+ mobx_1.action,
28
+ tslib_1.__metadata("design:type", Object)
29
+ ], NumberModel.prototype, "reset", void 0);
30
+ tslib_1.__decorate([
31
+ mobx_1.action,
32
+ tslib_1.__metadata("design:type", Object)
33
+ ], NumberModel.prototype, "increment", void 0);
34
+ tslib_1.__decorate([
35
+ mobx_1.action,
36
+ tslib_1.__metadata("design:type", Object)
37
+ ], NumberModel.prototype, "decrement", void 0);
38
+ exports.NumberModel = NumberModel;
39
+ exports.default = NumberModel;
40
+ //# sourceMappingURL=NumberModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NumberModel.js","sourceRoot":"","sources":["../../src/viewModels/NumberModel.ts"],"names":[],"mappings":";;;;AAAA,+BAA0D;AAO1D,MAAa,WAAW;IAOpB,YAAY,UAAkB,CAAC;QAJvB,WAAM,GAAW,CAAC,CAAC;QAEnB,aAAQ,GAAW,CAAC,CAAC;QAY7B,UAAK,GAAG,GAAG,EAAE;YACT,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC;QAChC,CAAC,CAAC;QAGF,cAAS,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;QAGvC,cAAS,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;QAjBnC,qBAAc,CAAC,IAAI,CAAC,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC;IAChC,CAAC;IAED,IAAI,KAAK,KAAK,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACnC,IAAI,KAAK,CAAC,CAAS,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;CAY5C;AAvBG;IADC,iBAAU;;2CACgB;AAc3B;IADC,aAAM;;0CAGL;AAGF;IADC,aAAM;;8CACgC;AAGvC;IADC,aAAM;;8CACgC;AAzB3C,kCA0BC;AAED,kBAAe,WAAW,CAAC"}
@@ -1,26 +1,30 @@
1
- export declare type PromptModalAction = {
2
- title: string;
3
- message: string;
4
- confirmText: string;
1
+ import { FlagModel } from './FlagModel';
2
+ export declare type BaseModalAction = {
3
+ title?: string;
4
+ message?: string;
5
+ };
6
+ export declare class ModalActionModel<T extends BaseModalAction = BaseModalAction> {
7
+ readonly isActive: FlagModel;
8
+ private _currentAction;
9
+ constructor();
10
+ get currentAction(): T;
11
+ openModal: (action: T) => void;
12
+ closeModal: () => void;
13
+ protected runAction: (cb: () => Promise<void> | void, close?: boolean, awaitAction?: boolean) => Promise<void>;
14
+ }
15
+ export declare type PromptModalAction = BaseModalAction & {
16
+ confirmText?: string;
5
17
  rejectText?: string;
6
- onConfirm: () => Promise<void> | void;
18
+ onConfirm?: () => Promise<void> | void;
7
19
  onReject?: () => Promise<void> | void;
8
- modalImage?: number;
20
+ awaitActions?: boolean;
21
+ modalImage?: any;
9
22
  confirmColor?: string;
10
23
  rejectColor?: string;
11
- awaitActions?: boolean;
12
24
  };
13
- export declare class PromptModalViewModel {
14
- private _isActive;
15
- private _currentAction;
16
- constructor();
17
- get isActive(): boolean;
18
- set isActive(val: boolean);
19
- get currentAction(): PromptModalAction;
25
+ export declare class PromptModalViewModel extends ModalActionModel<PromptModalAction> {
20
26
  get confirmColor(): string;
21
27
  get rejectColor(): string;
22
- openModal(action: PromptModalAction): void;
23
- closeModal(): void;
24
28
  onConfirm: () => Promise<void>;
25
29
  onReject: () => Promise<void>;
26
30
  }
@@ -1 +1 @@
1
- {"version":3,"file":"PromptModalViewModel.d.ts","sourceRoot":"","sources":["../../src/viewModels/PromptModalViewModel.ts"],"names":[],"mappings":"AAEA,oBAAY,iBAAiB,GAAG;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACtC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,qBAAa,oBAAoB;IAE7B,OAAO,CAAC,SAAS,CAAkB;IAGnC,OAAO,CAAC,cAAc,CAA2B;;IAMjD,IAAI,QAAQ,IAIM,OAAO,CAFxB;IAED,IAAI,QAAQ,CAAC,GAAG,EAAE,OAAO,EAExB;IAED,IAAI,aAAa,sBAAkC;IAEnD,IAAI,YAAY,WAA+C;IAE/D,IAAI,WAAW,WAA8C;IAE7D,SAAS,CAAC,MAAM,EAAE,iBAAiB;IAK5B,UAAU;IAIjB,SAAS,sBASP;IAEF,QAAQ,sBASN;CACL"}
1
+ {"version":3,"file":"PromptModalViewModel.d.ts","sourceRoot":"","sources":["../../src/viewModels/PromptModalViewModel.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,oBAAY,eAAe,GAAG;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,qBAAa,gBAAgB,CAAC,CAAC,SAAS,eAAe,GAAG,eAAe;IACrE,SAAgB,QAAQ,YAAmB;IAG3C,OAAO,CAAC,cAAc,CAAW;;IAMjC,IAAI,aAAa,MAAkC;IAG5C,SAAS,WAAY,CAAC,UAG3B;IAGK,UAAU,aAGf;IAEF,SAAS,CAAC,SAAS,OAAc,MAAM,QAAQ,IAAI,CAAC,GAAG,IAAI,2DAWzD;CACL;AAED,oBAAY,iBAAiB,GAAG,eAAe,GAAG;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACtC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,qBAAa,oBAAqB,SAAQ,gBAAgB,CAAC,iBAAiB,CAAC;IACzE,IAAI,YAAY,WAA8C;IAE9D,IAAI,WAAW,WAA6C;IAE5D,SAAS,sBAA6F;IACtG,QAAQ,sBAA6F;CACxG"}