@zajno/common 1.2.8 → 1.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/coverage/clover.xml +587 -275
- package/coverage/coverage-final.json +39 -30
- package/coverage/lcov-report/NumberModel.ts.html +188 -0
- package/coverage/lcov-report/arrays.ts.html +602 -0
- package/coverage/lcov-report/calc.ts.html +278 -0
- package/coverage/lcov-report/enumHelper.ts.html +449 -0
- package/coverage/lcov-report/index.html +48 -33
- package/coverage/lcov-report/src/__tests__/helpers/index.html +1 -1
- package/coverage/lcov-report/src/__tests__/helpers/main.ts.html +2 -2
- package/coverage/lcov-report/src/async/arrays.ts.html +5 -5
- package/coverage/lcov-report/src/async/index.html +1 -1
- package/coverage/lcov-report/src/dates/calc.ts.html +1 -1
- package/coverage/lcov-report/src/dates/convert.ts.html +1 -1
- package/coverage/lcov-report/src/dates/datex.ts.html +1 -1
- package/coverage/lcov-report/src/dates/format.ts.html +1 -1
- package/coverage/lcov-report/src/dates/index.html +1 -1
- package/coverage/lcov-report/src/dates/index.ts.html +1 -1
- package/coverage/lcov-report/src/dates/parse.ts.html +1 -1
- package/coverage/lcov-report/src/dates/period.ts.html +1 -1
- package/coverage/lcov-report/src/dates/shift.ts.html +1 -1
- package/coverage/lcov-report/src/dates/types.ts.html +1 -1
- package/coverage/lcov-report/src/dates/yearDate.ts.html +1 -1
- package/coverage/lcov-report/src/enumHelper.ts.html +11 -11
- package/coverage/lcov-report/src/event.ts.html +3 -3
- package/coverage/lcov-report/src/index.html +41 -11
- package/coverage/lcov-report/src/lazy.light.ts.html +155 -0
- package/coverage/lcov-report/src/logger/batch.ts.html +107 -0
- package/coverage/lcov-report/src/logger/console.ts.html +10 -25
- package/coverage/lcov-report/src/logger/index.html +54 -39
- package/coverage/lcov-report/src/logger/index.ts.html +88 -61
- package/coverage/lcov-report/src/logger/named.ts.html +31 -31
- package/coverage/lcov-report/src/logger/proxy.ts.html +13 -13
- package/coverage/lcov-report/src/math/arrays.ts.html +269 -32
- package/coverage/lcov-report/src/math/calc.ts.html +11 -11
- package/coverage/lcov-report/src/math/distribution.ts.html +2 -2
- package/coverage/lcov-report/src/math/index.html +11 -11
- package/coverage/lcov-report/src/math/index.ts.html +6 -6
- package/coverage/lcov-report/src/transitionObserver.ts.html +5 -5
- package/coverage/lcov-report/src/types.ts.html +158 -0
- package/coverage/lcov-report/src/validation/ValidationErrors.ts.html +22 -22
- package/coverage/lcov-report/src/validation/creditCard.ts.html +4 -4
- package/coverage/lcov-report/src/validation/helpers.ts.html +6 -6
- package/coverage/lcov-report/src/validation/index.html +1 -1
- package/coverage/lcov-report/src/validation/index.ts.html +6 -6
- package/coverage/lcov-report/src/validation/types.ts.html +2 -2
- package/coverage/lcov-report/src/validation/validators.ts.html +5 -5
- package/coverage/lcov-report/src/validation/wrappers.ts.html +5 -5
- package/coverage/lcov-report/src/viewModels/FlagModel.ts.html +212 -0
- package/coverage/lcov-report/src/viewModels/LabeledFlagModel.ts.html +137 -0
- package/coverage/lcov-report/src/viewModels/MultiSelectModel.ts.html +563 -0
- package/coverage/lcov-report/src/viewModels/NumberModel.ts.html +197 -0
- package/coverage/lcov-report/src/viewModels/SelectModel.ts.html +464 -0
- package/coverage/lcov-report/src/viewModels/SelectViewModel.ts.html +437 -0
- package/coverage/lcov-report/src/viewModels/Validatable.ts.html +329 -0
- package/coverage/lcov-report/src/viewModels/index.html +186 -0
- package/coverage/lcov-report/src/viewModels/labeled.ts.html +128 -0
- package/coverage/lcov-report/src/viewModels/wrappers.ts.html +227 -0
- package/coverage/lcov-report/transitionObserver.ts.html +41 -77
- package/coverage/lcov.info +1128 -438
- package/lib/event.d.ts.map +1 -1
- package/lib/event.js +1 -1
- package/lib/event.js.map +1 -1
- package/lib/logger/batch.d.ts +3 -0
- package/lib/logger/batch.d.ts.map +1 -0
- package/lib/logger/batch.js +12 -0
- package/lib/logger/batch.js.map +1 -0
- package/lib/logger/console.d.ts +0 -1
- package/lib/logger/console.d.ts.map +1 -1
- package/lib/logger/console.js +0 -3
- package/lib/logger/console.js.map +1 -1
- package/lib/logger/file.d.ts +15 -0
- package/lib/logger/file.d.ts.map +1 -0
- package/lib/logger/file.js +43 -0
- package/lib/logger/file.js.map +1 -0
- package/lib/logger/index.d.ts +7 -6
- package/lib/logger/index.d.ts.map +1 -1
- package/lib/logger/index.js +34 -21
- package/lib/logger/index.js.map +1 -1
- package/lib/logger/named.js +3 -3
- package/lib/logger/named.js.map +1 -1
- package/lib/logger/proxy.d.ts +1 -1
- package/lib/logger/proxy.d.ts.map +1 -1
- package/lib/logger/proxy.js +2 -2
- package/lib/logger/proxy.js.map +1 -1
- package/lib/math/arrays.d.ts +15 -0
- package/lib/math/arrays.d.ts.map +1 -1
- package/lib/math/arrays.js +69 -1
- package/lib/math/arrays.js.map +1 -1
- package/lib/transitionObserver.d.ts.map +1 -1
- package/lib/transitionObserver.js +2 -2
- package/lib/transitionObserver.js.map +1 -1
- package/lib/types.d.ts +9 -0
- package/lib/types.d.ts.map +1 -1
- package/lib/types.js +18 -0
- package/lib/types.js.map +1 -1
- package/lib/viewModels/FlagModel.d.ts +19 -0
- package/lib/viewModels/FlagModel.d.ts.map +1 -0
- package/lib/viewModels/FlagModel.js +39 -0
- package/lib/viewModels/FlagModel.js.map +1 -0
- package/lib/viewModels/MultiSelectModel.d.ts +45 -0
- package/lib/viewModels/MultiSelectModel.d.ts.map +1 -0
- package/lib/viewModels/MultiSelectModel.js +162 -0
- package/lib/viewModels/MultiSelectModel.js.map +1 -0
- package/lib/viewModels/NumberModel.d.ts +18 -0
- package/lib/viewModels/NumberModel.d.ts.map +1 -0
- package/lib/viewModels/NumberModel.js +41 -0
- package/lib/viewModels/NumberModel.js.map +1 -0
- package/lib/viewModels/PromptModal.d.ts +31 -0
- package/lib/viewModels/PromptModal.d.ts.map +1 -0
- package/lib/viewModels/PromptModal.js +57 -0
- package/lib/viewModels/PromptModal.js.map +1 -0
- package/lib/viewModels/SelectModel.d.ts +33 -0
- package/lib/viewModels/SelectModel.d.ts.map +1 -0
- package/lib/viewModels/SelectModel.js +110 -0
- package/lib/viewModels/SelectModel.js.map +1 -0
- package/lib/viewModels/{TextInputViewModel.d.ts → TextModel.d.ts} +12 -10
- package/lib/viewModels/TextModel.d.ts.map +1 -0
- package/lib/viewModels/{TextInputViewModel.js → TextModel.js} +13 -28
- package/lib/viewModels/TextModel.js.map +1 -0
- package/lib/viewModels/Validatable.d.ts +9 -7
- package/lib/viewModels/Validatable.d.ts.map +1 -1
- package/lib/viewModels/Validatable.js +22 -8
- package/lib/viewModels/Validatable.js.map +1 -1
- package/lib/viewModels/ValuesCollector.d.ts +26 -0
- package/lib/viewModels/ValuesCollector.d.ts.map +1 -0
- package/lib/viewModels/ValuesCollector.js +51 -0
- package/lib/viewModels/ValuesCollector.js.map +1 -0
- package/lib/viewModels/index.d.ts +8 -5
- package/lib/viewModels/index.d.ts.map +1 -1
- package/lib/viewModels/index.js +8 -5
- package/lib/viewModels/index.js.map +1 -1
- package/lib/viewModels/types.d.ts +16 -0
- package/lib/viewModels/types.d.ts.map +1 -0
- package/lib/viewModels/types.js +3 -0
- package/lib/viewModels/types.js.map +1 -0
- package/lib/viewModels/wrappers.d.ts +12 -0
- package/lib/viewModels/wrappers.d.ts.map +1 -0
- package/lib/viewModels/wrappers.js +43 -0
- package/lib/viewModels/wrappers.js.map +1 -0
- package/package.json +1 -1
- package/src/event.ts +2 -2
- package/src/logger/__tests__/{index.test.ts → logger.test.ts} +97 -41
- package/src/logger/batch.ts +9 -0
- package/src/logger/console.ts +0 -5
- package/src/logger/file.ts +46 -0
- package/src/logger/index.ts +37 -28
- package/src/logger/named.ts +3 -3
- package/src/logger/proxy.ts +2 -2
- package/src/math/__tests__/arrays.test.ts +53 -0
- package/src/math/arrays.ts +79 -0
- package/src/transitionObserver.ts +2 -2
- package/src/types.ts +21 -0
- package/src/viewModels/FlagModel.ts +44 -0
- package/src/viewModels/MultiSelectModel.ts +161 -0
- package/src/viewModels/NumberModel.ts +39 -0
- package/src/viewModels/PromptModal.ts +65 -0
- package/src/viewModels/SelectModel.ts +128 -0
- package/src/viewModels/{TextInputViewModel.ts → TextModel.ts} +25 -28
- package/src/viewModels/Validatable.ts +26 -11
- package/src/viewModels/ValuesCollector.ts +81 -0
- package/src/viewModels/__tests__/multiSelect.test.ts +23 -0
- package/src/viewModels/__tests__/select.test.ts +71 -0
- package/src/viewModels/__tests__/wrappers.test.ts +79 -0
- package/src/viewModels/index.ts +10 -5
- package/src/viewModels/types.ts +19 -0
- package/src/viewModels/wrappers.ts +49 -0
- package/lib/viewModels/PromptModalViewModel.d.ts +0 -27
- package/lib/viewModels/PromptModalViewModel.d.ts.map +0 -1
- package/lib/viewModels/PromptModalViewModel.js +0 -56
- package/lib/viewModels/PromptModalViewModel.js.map +0 -1
- package/lib/viewModels/RadioButtonGroupViewModel.d.ts +0 -11
- package/lib/viewModels/RadioButtonGroupViewModel.d.ts.map +0 -1
- package/lib/viewModels/RadioButtonGroupViewModel.js +0 -51
- package/lib/viewModels/RadioButtonGroupViewModel.js.map +0 -1
- package/lib/viewModels/RadioButtonViewModel.d.ts +0 -9
- package/lib/viewModels/RadioButtonViewModel.d.ts.map +0 -1
- package/lib/viewModels/RadioButtonViewModel.js +0 -32
- package/lib/viewModels/RadioButtonViewModel.js.map +0 -1
- package/lib/viewModels/SelectViewModel.d.ts +0 -25
- package/lib/viewModels/SelectViewModel.d.ts.map +0 -1
- package/lib/viewModels/SelectViewModel.js +0 -88
- package/lib/viewModels/SelectViewModel.js.map +0 -1
- package/lib/viewModels/TextInputViewModel.d.ts.map +0 -1
- package/lib/viewModels/TextInputViewModel.js.map +0 -1
- package/src/viewModels/PromptModalViewModel.ts +0 -71
- package/src/viewModels/RadioButtonGroupViewModel.ts +0 -47
- package/src/viewModels/RadioButtonViewModel.ts +0 -26
- package/src/viewModels/SelectViewModel.ts +0 -88
- package/yarn-error.log +0 -3709
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { IResetableModel } from 'viewModels';
|
|
2
|
+
import { ILabel, IValueModel } from './types';
|
|
3
|
+
export interface IFlagModel extends IValueModel<boolean>, IResetableModel {
|
|
4
|
+
toggle(): void;
|
|
5
|
+
}
|
|
6
|
+
export declare type IFlagModelReadonly = {
|
|
7
|
+
readonly value: boolean;
|
|
8
|
+
};
|
|
9
|
+
export declare type ILabeledFlagModel = IFlagModel & ILabel<string>;
|
|
10
|
+
export declare class FlagModel implements IFlagModel, IFlagModelReadonly {
|
|
11
|
+
private _value;
|
|
12
|
+
constructor(initial?: boolean);
|
|
13
|
+
get value(): boolean;
|
|
14
|
+
set value(value: boolean);
|
|
15
|
+
get isDefault(): 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,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE9C,MAAM,WAAW,UAAW,SAAQ,WAAW,CAAC,OAAO,CAAC,EAAE,eAAe;IACrE,MAAM,IAAI,IAAI,CAAC;CAClB;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;IAED,IAAI,SAAS,YAAoC;IAGjD,MAAM,aAEJ;IAGF,KAAK,aAEH;CACL"}
|
|
@@ -0,0 +1,39 @@
|
|
|
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
|
+
get isDefault() { return this._value === false; }
|
|
25
|
+
}
|
|
26
|
+
tslib_1.__decorate([
|
|
27
|
+
mobx_1.observable,
|
|
28
|
+
tslib_1.__metadata("design:type", Boolean)
|
|
29
|
+
], FlagModel.prototype, "_value", void 0);
|
|
30
|
+
tslib_1.__decorate([
|
|
31
|
+
mobx_1.action,
|
|
32
|
+
tslib_1.__metadata("design:type", Object)
|
|
33
|
+
], FlagModel.prototype, "toggle", void 0);
|
|
34
|
+
tslib_1.__decorate([
|
|
35
|
+
mobx_1.action,
|
|
36
|
+
tslib_1.__metadata("design:type", Object)
|
|
37
|
+
], FlagModel.prototype, "reset", void 0);
|
|
38
|
+
exports.FlagModel = FlagModel;
|
|
39
|
+
//# sourceMappingURL=FlagModel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FlagModel.js","sourceRoot":"","sources":["../../src/viewModels/FlagModel.ts"],"names":[],"mappings":";;;;AAAA,+BAA0D;AAc1D,MAAa,SAAS;IAKlB,YAAY,OAAO,GAAG,KAAK;QAFnB,WAAM,GAAY,KAAK,CAAC;QAkBhC,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;QAtBE,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;IAED,IAAI,SAAS,KAAK,OAAO,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC;CAWpD;AA1BG;IADC,iBAAU;;yCACqB;AAkBhC;IADC,aAAM;;yCAGL;AAGF;IADC,aAAM;;wCAGL;AA5BN,8BA6BC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { FlagModel, ILabeledFlagModel } from './FlagModel';
|
|
2
|
+
import { ValidatableModel } from './Validatable';
|
|
3
|
+
import { IValueModel } from './types';
|
|
4
|
+
import { ICountableModel, IResetableModel } from 'viewModels';
|
|
5
|
+
export declare class MultiSelect<T = any> extends ValidatableModel<ReadonlyArray<T>> implements IValueModel<readonly string[]>, IResetableModel, ICountableModel {
|
|
6
|
+
private readonly _items;
|
|
7
|
+
private readonly _accessor;
|
|
8
|
+
private readonly _indexes;
|
|
9
|
+
readonly opened: FlagModel;
|
|
10
|
+
private readonly _initial;
|
|
11
|
+
private readonly _flags;
|
|
12
|
+
private _indexesLocked;
|
|
13
|
+
constructor(_items: readonly T[], _accessor: (item: T) => string, ...selected: number[]);
|
|
14
|
+
get selectedIndexes(): ReadonlyArray<number>;
|
|
15
|
+
get items(): ReadonlyArray<T>;
|
|
16
|
+
get flags(): readonly ILabeledFlagModel[];
|
|
17
|
+
get values(): ReadonlyArray<string>;
|
|
18
|
+
get selectedItems(): ReadonlyArray<T>;
|
|
19
|
+
get selectedValues(): ReadonlyArray<string>;
|
|
20
|
+
get value(): readonly string[];
|
|
21
|
+
set value(v: readonly string[]);
|
|
22
|
+
isIndexSelected(index: number): boolean;
|
|
23
|
+
isValueSelected(value: string): boolean;
|
|
24
|
+
get count(): number;
|
|
25
|
+
get selectedCount(): number;
|
|
26
|
+
get isEmpty(): boolean;
|
|
27
|
+
get isDefault(): boolean;
|
|
28
|
+
protected get valueToValidate(): readonly T[];
|
|
29
|
+
setItemSelected: (item: T, selected: boolean) => void;
|
|
30
|
+
selectItem: (item: T) => void;
|
|
31
|
+
deSelectItem: (item: T) => void;
|
|
32
|
+
selectItems: (items: readonly T[]) => void;
|
|
33
|
+
setValueSelected: (value: string, selected: boolean) => void;
|
|
34
|
+
selectValue: (value: string) => void;
|
|
35
|
+
deSelectValue: (value: string) => void;
|
|
36
|
+
selectValues: (values: readonly string[]) => void;
|
|
37
|
+
setIndexSelected: (index: number, selected: boolean) => void;
|
|
38
|
+
reset: () => void;
|
|
39
|
+
private setInitialIndexes;
|
|
40
|
+
private createFlags;
|
|
41
|
+
}
|
|
42
|
+
export declare class MultiSelectString<T extends string = string> extends MultiSelect<T> {
|
|
43
|
+
constructor(items: ReadonlyArray<T>, ...selected: number[]);
|
|
44
|
+
}
|
|
45
|
+
//# 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,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,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"}
|
|
@@ -0,0 +1,162 @@
|
|
|
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
|
+
const math_1 = require("../math");
|
|
11
|
+
class MultiSelect extends Validatable_1.ValidatableModel {
|
|
12
|
+
constructor(_items, _accessor, ...selected) {
|
|
13
|
+
super();
|
|
14
|
+
this._items = _items;
|
|
15
|
+
this._accessor = _accessor;
|
|
16
|
+
this._indexes = new Set();
|
|
17
|
+
this.opened = new FlagModel_1.FlagModel();
|
|
18
|
+
this._initial = null;
|
|
19
|
+
this._flags = lazy_light_1.createLazy(() => this.createFlags());
|
|
20
|
+
this._indexesLocked = false;
|
|
21
|
+
this.setItemSelected = (item, selected) => {
|
|
22
|
+
const i = this.items.indexOf(item);
|
|
23
|
+
if (i >= 0) {
|
|
24
|
+
this.setIndexSelected(i, selected);
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
this.selectItem = (item) => this.setItemSelected(item, true);
|
|
28
|
+
this.deSelectItem = (item) => this.setItemSelected(item, false);
|
|
29
|
+
this.selectItems = (items) => {
|
|
30
|
+
items.forEach(this.selectItem);
|
|
31
|
+
};
|
|
32
|
+
this.setValueSelected = (value, selected) => {
|
|
33
|
+
const i = this.values.indexOf(value);
|
|
34
|
+
if (i >= 0) {
|
|
35
|
+
this.setIndexSelected(i, selected);
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
this.selectValue = (value) => this.setValueSelected(value, true);
|
|
39
|
+
this.deSelectValue = (value) => this.setValueSelected(value, false);
|
|
40
|
+
this.selectValues = (values) => {
|
|
41
|
+
values.forEach(this.selectValue);
|
|
42
|
+
};
|
|
43
|
+
this.setIndexSelected = (index, selected) => {
|
|
44
|
+
if (this._indexesLocked) {
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
if (selected) {
|
|
48
|
+
this._indexes.add(index);
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
this._indexes.delete(index);
|
|
52
|
+
}
|
|
53
|
+
if (!this._flags.hasValue) {
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
try {
|
|
57
|
+
this._indexesLocked = true;
|
|
58
|
+
this._flags.value[index].value = selected;
|
|
59
|
+
}
|
|
60
|
+
finally {
|
|
61
|
+
this._indexesLocked = false;
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
this.reset = () => {
|
|
65
|
+
super.reset();
|
|
66
|
+
this.setInitialIndexes();
|
|
67
|
+
};
|
|
68
|
+
mobx_1.makeObservable(this);
|
|
69
|
+
this._initial = selected;
|
|
70
|
+
this.setInitialIndexes();
|
|
71
|
+
}
|
|
72
|
+
get selectedIndexes() { return Array.from(this._indexes); }
|
|
73
|
+
get items() { return this._items; }
|
|
74
|
+
get flags() { return this._flags.value; }
|
|
75
|
+
get values() {
|
|
76
|
+
return this._items.map(i => this._accessor(i));
|
|
77
|
+
}
|
|
78
|
+
get selectedItems() {
|
|
79
|
+
return this.selectedIndexes.map(i => this._items[i]);
|
|
80
|
+
}
|
|
81
|
+
get selectedValues() {
|
|
82
|
+
const values = this.values;
|
|
83
|
+
return this.selectedIndexes.map(i => values[i]);
|
|
84
|
+
}
|
|
85
|
+
get value() { return this.selectedValues; }
|
|
86
|
+
set value(v) { this.selectValues(v); }
|
|
87
|
+
isIndexSelected(index) { return this._indexes.has(index); }
|
|
88
|
+
isValueSelected(value) { return this.values.includes(value); }
|
|
89
|
+
get count() { return this._items.length; }
|
|
90
|
+
get selectedCount() { return this._indexes.size; }
|
|
91
|
+
get isEmpty() { return this.selectedCount === 0; }
|
|
92
|
+
get isDefault() { var _a; return ((_a = math_1.arraysCompareDistinct(this.selectedIndexes, this._initial)) === null || _a === void 0 ? void 0 : _a.diff) === 0; }
|
|
93
|
+
get valueToValidate() { return this.selectedItems; }
|
|
94
|
+
setInitialIndexes() {
|
|
95
|
+
this._indexes.clear();
|
|
96
|
+
this._initial.forEach(i => this._indexes.add(i));
|
|
97
|
+
if (this._flags.hasValue) {
|
|
98
|
+
this._flags.value.forEach((flag, index) => flag.value = this._indexes.has(index));
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
createFlags() {
|
|
102
|
+
const flags = this._items
|
|
103
|
+
.map((item, index) => {
|
|
104
|
+
const flag = wrappers_1.withLabel(new FlagModel_1.FlagModel(this._indexes.has(index)), () => this._accessor(item));
|
|
105
|
+
// react on every flag is changed directly
|
|
106
|
+
mobx_1.reaction(() => flag.value, isSelected => {
|
|
107
|
+
this.setIndexSelected(index, isSelected);
|
|
108
|
+
});
|
|
109
|
+
return flag;
|
|
110
|
+
});
|
|
111
|
+
return flags;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
tslib_1.__decorate([
|
|
115
|
+
mobx_1.observable,
|
|
116
|
+
tslib_1.__metadata("design:type", Object)
|
|
117
|
+
], MultiSelect.prototype, "_indexes", void 0);
|
|
118
|
+
tslib_1.__decorate([
|
|
119
|
+
mobx_1.computed,
|
|
120
|
+
tslib_1.__metadata("design:type", Array),
|
|
121
|
+
tslib_1.__metadata("design:paramtypes", [])
|
|
122
|
+
], MultiSelect.prototype, "selectedIndexes", null);
|
|
123
|
+
tslib_1.__decorate([
|
|
124
|
+
mobx_1.computed,
|
|
125
|
+
tslib_1.__metadata("design:type", Array),
|
|
126
|
+
tslib_1.__metadata("design:paramtypes", [])
|
|
127
|
+
], MultiSelect.prototype, "values", null);
|
|
128
|
+
tslib_1.__decorate([
|
|
129
|
+
mobx_1.computed,
|
|
130
|
+
tslib_1.__metadata("design:type", Array),
|
|
131
|
+
tslib_1.__metadata("design:paramtypes", [])
|
|
132
|
+
], MultiSelect.prototype, "selectedItems", null);
|
|
133
|
+
tslib_1.__decorate([
|
|
134
|
+
mobx_1.computed,
|
|
135
|
+
tslib_1.__metadata("design:type", Array),
|
|
136
|
+
tslib_1.__metadata("design:paramtypes", [])
|
|
137
|
+
], MultiSelect.prototype, "selectedValues", null);
|
|
138
|
+
tslib_1.__decorate([
|
|
139
|
+
mobx_1.computed,
|
|
140
|
+
tslib_1.__metadata("design:type", Object),
|
|
141
|
+
tslib_1.__metadata("design:paramtypes", [])
|
|
142
|
+
], MultiSelect.prototype, "isDefault", null);
|
|
143
|
+
tslib_1.__decorate([
|
|
144
|
+
mobx_1.action,
|
|
145
|
+
tslib_1.__metadata("design:type", Object)
|
|
146
|
+
], MultiSelect.prototype, "selectItems", void 0);
|
|
147
|
+
tslib_1.__decorate([
|
|
148
|
+
mobx_1.action,
|
|
149
|
+
tslib_1.__metadata("design:type", Object)
|
|
150
|
+
], MultiSelect.prototype, "selectValues", void 0);
|
|
151
|
+
tslib_1.__decorate([
|
|
152
|
+
mobx_1.action,
|
|
153
|
+
tslib_1.__metadata("design:type", Object)
|
|
154
|
+
], MultiSelect.prototype, "setIndexSelected", void 0);
|
|
155
|
+
exports.MultiSelect = MultiSelect;
|
|
156
|
+
class MultiSelectString extends MultiSelect {
|
|
157
|
+
constructor(items, ...selected) {
|
|
158
|
+
super(items, v => v, ...selected);
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
exports.MultiSelectString = MultiSelectString;
|
|
162
|
+
//# 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,18 @@
|
|
|
1
|
+
import { IResetableModel } from 'viewModels';
|
|
2
|
+
import { IValueModel } from './types';
|
|
3
|
+
export interface INumberModel extends IResetableModel {
|
|
4
|
+
value: number;
|
|
5
|
+
}
|
|
6
|
+
export declare class NumberModel implements INumberModel, IValueModel<number> {
|
|
7
|
+
private _value;
|
|
8
|
+
private _initial;
|
|
9
|
+
constructor(initial?: number);
|
|
10
|
+
get value(): number;
|
|
11
|
+
set value(v: number);
|
|
12
|
+
get isDefault(): boolean;
|
|
13
|
+
reset: () => void;
|
|
14
|
+
increment: (d?: number) => number;
|
|
15
|
+
decrement: (d?: number) => number;
|
|
16
|
+
}
|
|
17
|
+
export default NumberModel;
|
|
18
|
+
//# 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,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,MAAM,WAAW,YAAa,SAAQ,eAAe;IACjD,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;IAEzC,IAAI,SAAS,YAA4C;IAGzD,KAAK,aAEH;IAGF,SAAS,yBAA8B;IAGvC,SAAS,yBAA8B;CAC1C;AAED,eAAe,WAAW,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
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
|
+
get isDefault() { return this._value === this._initial; }
|
|
22
|
+
}
|
|
23
|
+
tslib_1.__decorate([
|
|
24
|
+
mobx_1.observable,
|
|
25
|
+
tslib_1.__metadata("design:type", Number)
|
|
26
|
+
], NumberModel.prototype, "_value", void 0);
|
|
27
|
+
tslib_1.__decorate([
|
|
28
|
+
mobx_1.action,
|
|
29
|
+
tslib_1.__metadata("design:type", Object)
|
|
30
|
+
], NumberModel.prototype, "reset", void 0);
|
|
31
|
+
tslib_1.__decorate([
|
|
32
|
+
mobx_1.action,
|
|
33
|
+
tslib_1.__metadata("design:type", Object)
|
|
34
|
+
], NumberModel.prototype, "increment", void 0);
|
|
35
|
+
tslib_1.__decorate([
|
|
36
|
+
mobx_1.action,
|
|
37
|
+
tslib_1.__metadata("design:type", Object)
|
|
38
|
+
], NumberModel.prototype, "decrement", void 0);
|
|
39
|
+
exports.NumberModel = NumberModel;
|
|
40
|
+
exports.default = NumberModel;
|
|
41
|
+
//# sourceMappingURL=NumberModel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NumberModel.js","sourceRoot":"","sources":["../../src/viewModels/NumberModel.ts"],"names":[],"mappings":";;;;AAAA,+BAA0D;AAQ1D,MAAa,WAAW;IAOpB,YAAY,UAAkB,CAAC;QAJvB,WAAM,GAAW,CAAC,CAAC;QAEnB,aAAQ,GAAW,CAAC,CAAC;QAc7B,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;QAnBnC,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;IAEzC,IAAI,SAAS,KAAK,OAAO,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;CAY5D;AAzBG;IADC,iBAAU;;2CACgB;AAgB3B;IADC,aAAM;;0CAGL;AAGF;IADC,aAAM;;8CACgC;AAGvC;IADC,aAAM;;8CACgC;AA3B3C,kCA4BC;AAED,kBAAe,WAAW,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
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;
|
|
17
|
+
rejectText?: string;
|
|
18
|
+
onConfirm?: () => Promise<void> | void;
|
|
19
|
+
onReject?: () => Promise<void> | void;
|
|
20
|
+
awaitActions?: boolean;
|
|
21
|
+
modalImage?: any;
|
|
22
|
+
confirmColor?: string;
|
|
23
|
+
rejectColor?: string;
|
|
24
|
+
};
|
|
25
|
+
export declare class PromptModalViewModel extends ModalActionModel<PromptModalAction> {
|
|
26
|
+
get confirmColor(): string;
|
|
27
|
+
get rejectColor(): string;
|
|
28
|
+
onConfirm: () => Promise<void>;
|
|
29
|
+
onReject: () => Promise<void>;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=PromptModal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PromptModal.d.ts","sourceRoot":"","sources":["../../src/viewModels/PromptModal.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"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PromptModalViewModel = exports.ModalActionModel = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const mobx_1 = require("mobx");
|
|
6
|
+
const FlagModel_1 = require("./FlagModel");
|
|
7
|
+
class ModalActionModel {
|
|
8
|
+
constructor() {
|
|
9
|
+
this.isActive = new FlagModel_1.FlagModel();
|
|
10
|
+
this._currentAction = null;
|
|
11
|
+
this.openModal = (action) => {
|
|
12
|
+
this._currentAction = action;
|
|
13
|
+
this.isActive.value = true;
|
|
14
|
+
};
|
|
15
|
+
this.closeModal = () => {
|
|
16
|
+
this.isActive.value = false;
|
|
17
|
+
this._currentAction = null;
|
|
18
|
+
};
|
|
19
|
+
this.runAction = async (cb, close = true, awaitAction = false) => {
|
|
20
|
+
if (cb) {
|
|
21
|
+
const promise = cb();
|
|
22
|
+
if (awaitAction) {
|
|
23
|
+
await promise;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
if (close) {
|
|
27
|
+
this.closeModal();
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
mobx_1.makeObservable(this);
|
|
31
|
+
}
|
|
32
|
+
get currentAction() { return this._currentAction; }
|
|
33
|
+
}
|
|
34
|
+
tslib_1.__decorate([
|
|
35
|
+
mobx_1.observable.ref,
|
|
36
|
+
tslib_1.__metadata("design:type", Object)
|
|
37
|
+
], ModalActionModel.prototype, "_currentAction", void 0);
|
|
38
|
+
tslib_1.__decorate([
|
|
39
|
+
mobx_1.action,
|
|
40
|
+
tslib_1.__metadata("design:type", Object)
|
|
41
|
+
], ModalActionModel.prototype, "openModal", void 0);
|
|
42
|
+
tslib_1.__decorate([
|
|
43
|
+
mobx_1.action,
|
|
44
|
+
tslib_1.__metadata("design:type", Object)
|
|
45
|
+
], ModalActionModel.prototype, "closeModal", void 0);
|
|
46
|
+
exports.ModalActionModel = ModalActionModel;
|
|
47
|
+
class PromptModalViewModel extends ModalActionModel {
|
|
48
|
+
constructor() {
|
|
49
|
+
super(...arguments);
|
|
50
|
+
this.onConfirm = () => this.runAction(this.currentAction.onConfirm, true, this.currentAction.awaitActions);
|
|
51
|
+
this.onReject = () => this.runAction(this.currentAction.onConfirm, true, this.currentAction.awaitActions);
|
|
52
|
+
}
|
|
53
|
+
get confirmColor() { return this.currentAction.confirmColor; }
|
|
54
|
+
get rejectColor() { return this.currentAction.rejectColor; }
|
|
55
|
+
}
|
|
56
|
+
exports.PromptModalViewModel = PromptModalViewModel;
|
|
57
|
+
//# sourceMappingURL=PromptModal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PromptModal.js","sourceRoot":"","sources":["../../src/viewModels/PromptModal.ts"],"names":[],"mappings":";;;;AAAA,+BAA0D;AAC1D,2CAAwC;AAOxC,MAAa,gBAAgB;IAMzB;QALgB,aAAQ,GAAG,IAAI,qBAAS,EAAE,CAAC;QAGnC,mBAAc,GAAM,IAAI,CAAC;QAS1B,cAAS,GAAG,CAAC,MAAS,EAAE,EAAE;YAC7B,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC;YAC7B,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC;QAC/B,CAAC,CAAC;QAGK,eAAU,GAAG,GAAG,EAAE;YACrB,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;YAC5B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC/B,CAAC,CAAC;QAEQ,cAAS,GAAG,KAAK,EAAE,EAA8B,EAAE,KAAK,GAAG,IAAI,EAAE,WAAW,GAAG,KAAK,EAAE,EAAE;YAC9F,IAAI,EAAE,EAAE;gBACJ,MAAM,OAAO,GAAG,EAAE,EAAE,CAAC;gBACrB,IAAI,WAAW,EAAE;oBACb,MAAM,OAAO,CAAC;iBACjB;aACJ;YAED,IAAI,KAAK,EAAE;gBACP,IAAI,CAAC,UAAU,EAAE,CAAC;aACrB;QACL,CAAC,CAAC;QA5BE,qBAAc,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,IAAI,aAAa,KAAK,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;CA0BtD;AAhCG;IADC,iBAAU,CAAC,GAAG;;wDACkB;AASjC;IADC,aAAM;;mDAIL;AAGF;IADC,aAAM;;oDAIL;AAtBN,4CAoCC;AAaD,MAAa,oBAAqB,SAAQ,gBAAmC;IAA7E;;QAKI,cAAS,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QACtG,aAAQ,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;IACzG,CAAC;IANG,IAAI,YAAY,KAAK,OAAO,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC;IAE9D,IAAI,WAAW,KAAK,OAAO,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC;CAI/D;AAPD,oDAOC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { FlagModel, ILabeledFlagModel } from './FlagModel';
|
|
2
|
+
import { ValidatableModel } from './Validatable';
|
|
3
|
+
import { IValueModel } from './types';
|
|
4
|
+
import { IResetableModel } from 'viewModels';
|
|
5
|
+
export declare class Select<T = any> extends ValidatableModel<T> implements IValueModel<string>, IResetableModel {
|
|
6
|
+
private readonly _items;
|
|
7
|
+
private readonly _accessor;
|
|
8
|
+
private _index;
|
|
9
|
+
readonly opened: FlagModel;
|
|
10
|
+
private _indexLocked;
|
|
11
|
+
private _initialIndex;
|
|
12
|
+
private readonly _flags;
|
|
13
|
+
constructor(_items: readonly T[], _accessor: (item: T) => string, initialIndex?: number);
|
|
14
|
+
protected get valueToValidate(): T;
|
|
15
|
+
get values(): readonly string[];
|
|
16
|
+
get flags(): readonly ILabeledFlagModel[];
|
|
17
|
+
get items(): readonly T[];
|
|
18
|
+
get value(): string;
|
|
19
|
+
get selectedValue(): string;
|
|
20
|
+
set value(v: string);
|
|
21
|
+
set selectedValue(value: string);
|
|
22
|
+
get selectedItem(): T;
|
|
23
|
+
set selectedItem(item: T);
|
|
24
|
+
get isDefault(): boolean;
|
|
25
|
+
get index(): number;
|
|
26
|
+
set index(val: number);
|
|
27
|
+
reset: () => void;
|
|
28
|
+
private createFlags;
|
|
29
|
+
}
|
|
30
|
+
export declare class SelectString<T extends string = string> extends Select<T> {
|
|
31
|
+
constructor(items: readonly T[], initialIndex?: number);
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=SelectModel.d.ts.map
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SelectString = exports.Select = 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 Select extends Validatable_1.ValidatableModel {
|
|
11
|
+
constructor(_items, _accessor, initialIndex = 0) {
|
|
12
|
+
super();
|
|
13
|
+
this._items = _items;
|
|
14
|
+
this._accessor = _accessor;
|
|
15
|
+
this._index = undefined;
|
|
16
|
+
this.opened = new FlagModel_1.FlagModel();
|
|
17
|
+
this._indexLocked = false;
|
|
18
|
+
this._initialIndex = null;
|
|
19
|
+
this._flags = lazy_light_1.createLazy(() => this.createFlags());
|
|
20
|
+
this.reset = () => {
|
|
21
|
+
super.reset();
|
|
22
|
+
this.index = this._initialIndex;
|
|
23
|
+
};
|
|
24
|
+
mobx_1.makeObservable(this);
|
|
25
|
+
this._initialIndex = initialIndex;
|
|
26
|
+
this._index = initialIndex;
|
|
27
|
+
}
|
|
28
|
+
get valueToValidate() { return this.selectedItem; }
|
|
29
|
+
get values() {
|
|
30
|
+
return this._items.map(i => this._accessor(i));
|
|
31
|
+
}
|
|
32
|
+
get flags() {
|
|
33
|
+
return this._flags.value;
|
|
34
|
+
}
|
|
35
|
+
get items() {
|
|
36
|
+
return this._items;
|
|
37
|
+
}
|
|
38
|
+
get value() { return this.selectedValue; }
|
|
39
|
+
get selectedValue() {
|
|
40
|
+
const vs = this.values;
|
|
41
|
+
return vs.length ? vs[this._index] : null;
|
|
42
|
+
}
|
|
43
|
+
set value(v) { this.selectedValue = v; }
|
|
44
|
+
set selectedValue(value) {
|
|
45
|
+
const index = this.values.indexOf(value);
|
|
46
|
+
if (index >= 0) {
|
|
47
|
+
this.index = index;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
get selectedItem() {
|
|
51
|
+
return this._items.length ? this._items[this._index] : null;
|
|
52
|
+
}
|
|
53
|
+
set selectedItem(item) {
|
|
54
|
+
const index = this._items.indexOf(item);
|
|
55
|
+
if (index >= 0) {
|
|
56
|
+
this.index = index;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
get isDefault() { return this._index === this._initialIndex; }
|
|
60
|
+
get index() {
|
|
61
|
+
return this._index;
|
|
62
|
+
}
|
|
63
|
+
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
|
+
}
|
|
78
|
+
}
|
|
79
|
+
createFlags() {
|
|
80
|
+
const flags = this._items
|
|
81
|
+
.map((item, index) => {
|
|
82
|
+
const flag = wrappers_1.withLabel(new FlagModel_1.FlagModel(index === this.index), () => this._accessor(item));
|
|
83
|
+
// react on every flag is changed directly
|
|
84
|
+
mobx_1.reaction(() => flag.value, isSelected => {
|
|
85
|
+
if (isSelected) {
|
|
86
|
+
this.index = index;
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
return flag;
|
|
90
|
+
});
|
|
91
|
+
return flags;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
tslib_1.__decorate([
|
|
95
|
+
mobx_1.observable,
|
|
96
|
+
tslib_1.__metadata("design:type", Number)
|
|
97
|
+
], Select.prototype, "_index", void 0);
|
|
98
|
+
tslib_1.__decorate([
|
|
99
|
+
mobx_1.computed,
|
|
100
|
+
tslib_1.__metadata("design:type", Array),
|
|
101
|
+
tslib_1.__metadata("design:paramtypes", [])
|
|
102
|
+
], Select.prototype, "values", null);
|
|
103
|
+
exports.Select = Select;
|
|
104
|
+
class SelectString extends Select {
|
|
105
|
+
constructor(items, initialIndex = 0) {
|
|
106
|
+
super(items, v => v, initialIndex);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
exports.SelectString = SelectString;
|
|
110
|
+
//# sourceMappingURL=SelectModel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SelectModel.js","sourceRoot":"","sources":["../../src/viewModels/SelectModel.ts"],"names":[],"mappings":"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"}
|