@zajno/common 1.4.19 → 1.5.0
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 +63 -61
- package/coverage/coverage-final.json +2 -2
- package/coverage/lcov-report/index.html +20 -20
- package/coverage/lcov-report/src/__tests__/helpers/index.html +1 -1
- package/coverage/lcov-report/src/__tests__/helpers/main.ts.html +1 -1
- package/coverage/lcov-report/src/async/arrays.ts.html +1 -1
- package/coverage/lcov-report/src/async/index.html +1 -1
- package/coverage/lcov-report/src/async/timeout.ts.html +1 -1
- package/coverage/lcov-report/src/cache.ts.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/disposer.ts.html +1 -1
- package/coverage/lcov-report/src/enumHelper.ts.html +1 -1
- package/coverage/lcov-report/src/event.ts.html +1 -1
- package/coverage/lcov-report/src/fields/index.html +1 -1
- package/coverage/lcov-report/src/fields/update.ts.html +1 -1
- package/coverage/lcov-report/src/functions.ts.html +1 -1
- package/coverage/lcov-report/src/index.html +15 -15
- package/coverage/lcov-report/src/lazy.light.ts.html +1 -1
- package/coverage/lcov-report/src/logger/batch.ts.html +1 -1
- package/coverage/lcov-report/src/logger/console.ts.html +1 -1
- package/coverage/lcov-report/src/logger/index.html +1 -1
- package/coverage/lcov-report/src/logger/index.ts.html +1 -1
- package/coverage/lcov-report/src/logger/named.ts.html +1 -1
- package/coverage/lcov-report/src/logger/proxy.ts.html +1 -1
- package/coverage/lcov-report/src/math/arrays.ts.html +1 -1
- package/coverage/lcov-report/src/math/calc.ts.html +1 -1
- package/coverage/lcov-report/src/math/distribution.ts.html +1 -1
- package/coverage/lcov-report/src/math/index.html +1 -1
- package/coverage/lcov-report/src/math/index.ts.html +1 -1
- package/coverage/lcov-report/src/observersMap.ts.html +1 -1
- package/coverage/lcov-report/src/observingCache.ts.html +1 -1
- package/coverage/lcov-report/src/tempoCache.ts.html +1 -1
- package/coverage/lcov-report/src/transitionObserver.ts.html +1 -1
- package/coverage/lcov-report/src/types.ts.html +13 -13
- package/coverage/lcov-report/src/validation/ValidationErrors.ts.html +1 -1
- package/coverage/lcov-report/src/validation/creditCard.ts.html +1 -1
- package/coverage/lcov-report/src/validation/helpers.ts.html +1 -1
- package/coverage/lcov-report/src/validation/index.html +1 -1
- package/coverage/lcov-report/src/validation/index.ts.html +1 -1
- package/coverage/lcov-report/src/validation/types.ts.html +1 -1
- package/coverage/lcov-report/src/validation/validators.ts.html +1 -1
- package/coverage/lcov-report/src/validation/wrappers.ts.html +1 -1
- package/coverage/lcov-report/src/viewModels/CommonModel.ts.html +1 -1
- package/coverage/lcov-report/src/viewModels/FlagModel.ts.html +1 -1
- package/coverage/lcov-report/src/viewModels/LoadingModel.ts.html +1 -1
- package/coverage/lcov-report/src/viewModels/MultiSelectModel.ts.html +1 -1
- package/coverage/lcov-report/src/viewModels/NumberModel.ts.html +1 -1
- package/coverage/lcov-report/src/viewModels/SelectModel.ts.html +54 -21
- package/coverage/lcov-report/src/viewModels/TextModel.ts.html +1 -1
- package/coverage/lcov-report/src/viewModels/Validatable.ts.html +1 -1
- package/coverage/lcov-report/src/viewModels/index.html +10 -10
- package/coverage/lcov-report/src/viewModels/wrappers.ts.html +1 -1
- package/coverage/lcov.info +107 -105
- package/lib/viewModels/SelectModel.d.ts +5 -4
- package/lib/viewModels/SelectModel.d.ts.map +1 -1
- package/lib/viewModels/SelectModel.js +14 -9
- package/lib/viewModels/SelectModel.js.map +1 -1
- package/package.json +1 -1
- package/src/viewModels/SelectModel.ts +23 -12
package/coverage/lcov.info
CHANGED
|
@@ -1028,30 +1028,30 @@ FN:25,(anonymous_3)
|
|
|
1028
1028
|
FNF:4
|
|
1029
1029
|
FNH:4
|
|
1030
1030
|
FNDA:10,(anonymous_0)
|
|
1031
|
-
FNDA:
|
|
1031
|
+
FNDA:111,getValue
|
|
1032
1032
|
FNDA:10,(anonymous_2)
|
|
1033
1033
|
FNDA:7,(anonymous_3)
|
|
1034
1034
|
DA:9,10
|
|
1035
1035
|
DA:10,10
|
|
1036
|
-
DA:11,
|
|
1037
|
-
DA:12,
|
|
1038
|
-
DA:14,
|
|
1036
|
+
DA:11,111
|
|
1037
|
+
DA:12,10
|
|
1038
|
+
DA:14,101
|
|
1039
1039
|
DA:15,77
|
|
1040
|
-
DA:17,
|
|
1040
|
+
DA:17,24
|
|
1041
1041
|
DA:24,10
|
|
1042
1042
|
DA:25,10
|
|
1043
1043
|
LF:9
|
|
1044
|
-
LH:
|
|
1045
|
-
BRDA:11,0,0,
|
|
1046
|
-
BRDA:11,0,1,
|
|
1044
|
+
LH:9
|
|
1045
|
+
BRDA:11,0,0,10
|
|
1046
|
+
BRDA:11,0,1,101
|
|
1047
1047
|
BRDA:14,1,0,77
|
|
1048
|
-
BRDA:14,1,1,
|
|
1048
|
+
BRDA:14,1,1,24
|
|
1049
1049
|
BRDA:9,2,0,10
|
|
1050
1050
|
BRDA:9,2,1,10
|
|
1051
1051
|
BRDA:24,3,0,10
|
|
1052
1052
|
BRDA:24,3,1,10
|
|
1053
1053
|
BRF:8
|
|
1054
|
-
BRH:
|
|
1054
|
+
BRH:8
|
|
1055
1055
|
end_of_record
|
|
1056
1056
|
TN:
|
|
1057
1057
|
SF:src/__tests__/helpers/main.ts
|
|
@@ -3516,32 +3516,32 @@ BRH:3
|
|
|
3516
3516
|
end_of_record
|
|
3517
3517
|
TN:
|
|
3518
3518
|
SF:src/viewModels/SelectModel.ts
|
|
3519
|
-
FN:
|
|
3520
|
-
FN:
|
|
3521
|
-
FN:
|
|
3522
|
-
FN:
|
|
3523
|
-
FN:
|
|
3524
|
-
FN:
|
|
3525
|
-
FN:
|
|
3526
|
-
FN:
|
|
3527
|
-
FN:
|
|
3528
|
-
FN:
|
|
3529
|
-
FN:
|
|
3530
|
-
FN:
|
|
3531
|
-
FN:
|
|
3532
|
-
FN:
|
|
3533
|
-
FN:
|
|
3534
|
-
FN:
|
|
3535
|
-
FN:
|
|
3536
|
-
FN:
|
|
3537
|
-
FN:
|
|
3538
|
-
FN:
|
|
3539
|
-
FN:
|
|
3540
|
-
FN:
|
|
3541
|
-
FN:
|
|
3542
|
-
FN:
|
|
3543
|
-
FN:
|
|
3544
|
-
FN:
|
|
3519
|
+
FN:23,(anonymous_0)
|
|
3520
|
+
FN:19,(anonymous_1)
|
|
3521
|
+
FN:97,(anonymous_2)
|
|
3522
|
+
FN:113,(anonymous_3)
|
|
3523
|
+
FN:120,(anonymous_4)
|
|
3524
|
+
FN:44,(anonymous_5)
|
|
3525
|
+
FN:47,(anonymous_6)
|
|
3526
|
+
FN:48,(anonymous_7)
|
|
3527
|
+
FN:51,(anonymous_8)
|
|
3528
|
+
FN:56,(anonymous_9)
|
|
3529
|
+
FN:60,(anonymous_10)
|
|
3530
|
+
FN:61,(anonymous_11)
|
|
3531
|
+
FN:66,(anonymous_12)
|
|
3532
|
+
FN:67,(anonymous_13)
|
|
3533
|
+
FN:74,(anonymous_14)
|
|
3534
|
+
FN:79,(anonymous_15)
|
|
3535
|
+
FN:86,(anonymous_16)
|
|
3536
|
+
FN:88,(anonymous_17)
|
|
3537
|
+
FN:92,(anonymous_18)
|
|
3538
|
+
FN:125,(anonymous_19)
|
|
3539
|
+
FN:127,(anonymous_20)
|
|
3540
|
+
FN:130,(anonymous_21)
|
|
3541
|
+
FN:134,(anonymous_22)
|
|
3542
|
+
FN:134,(anonymous_23)
|
|
3543
|
+
FN:149,(anonymous_24)
|
|
3544
|
+
FN:150,(anonymous_25)
|
|
3545
3545
|
FNF:26
|
|
3546
3546
|
FNH:22
|
|
3547
3547
|
FNDA:6,(anonymous_0)
|
|
@@ -3553,7 +3553,7 @@ FNDA:0,(anonymous_5)
|
|
|
3553
3553
|
FNDA:14,(anonymous_6)
|
|
3554
3554
|
FNDA:34,(anonymous_7)
|
|
3555
3555
|
FNDA:8,(anonymous_8)
|
|
3556
|
-
FNDA:
|
|
3556
|
+
FNDA:25,(anonymous_9)
|
|
3557
3557
|
FNDA:0,(anonymous_10)
|
|
3558
3558
|
FNDA:6,(anonymous_11)
|
|
3559
3559
|
FNDA:0,(anonymous_12)
|
|
@@ -3575,80 +3575,82 @@ DA:2,2
|
|
|
3575
3575
|
DA:3,2
|
|
3576
3576
|
DA:4,2
|
|
3577
3577
|
DA:6,2
|
|
3578
|
-
DA:
|
|
3579
|
-
DA:
|
|
3580
|
-
DA:
|
|
3581
|
-
DA:
|
|
3582
|
-
DA:15,6
|
|
3578
|
+
DA:8,2
|
|
3579
|
+
DA:10,2
|
|
3580
|
+
DA:12,6
|
|
3581
|
+
DA:16,6
|
|
3583
3582
|
DA:17,6
|
|
3584
|
-
DA:
|
|
3583
|
+
DA:19,6
|
|
3585
3584
|
DA:21,6
|
|
3586
|
-
DA:24,6
|
|
3587
3585
|
DA:25,6
|
|
3588
|
-
DA:
|
|
3586
|
+
DA:28,6
|
|
3587
|
+
DA:30,6
|
|
3589
3588
|
DA:32,6
|
|
3590
|
-
DA:
|
|
3591
|
-
DA:
|
|
3592
|
-
DA:
|
|
3593
|
-
DA:
|
|
3594
|
-
DA:
|
|
3595
|
-
DA:
|
|
3596
|
-
DA:
|
|
3597
|
-
DA:
|
|
3598
|
-
DA:
|
|
3599
|
-
DA:
|
|
3600
|
-
DA:
|
|
3601
|
-
DA:
|
|
3602
|
-
DA:
|
|
3603
|
-
DA:
|
|
3604
|
-
DA:
|
|
3605
|
-
DA:
|
|
3606
|
-
DA:
|
|
3607
|
-
DA:82,
|
|
3608
|
-
DA:86,
|
|
3609
|
-
DA:
|
|
3610
|
-
DA:88,0
|
|
3611
|
-
DA:91,16
|
|
3589
|
+
DA:40,6
|
|
3590
|
+
DA:41,6
|
|
3591
|
+
DA:44,0
|
|
3592
|
+
DA:48,34
|
|
3593
|
+
DA:52,8
|
|
3594
|
+
DA:57,25
|
|
3595
|
+
DA:60,0
|
|
3596
|
+
DA:62,6
|
|
3597
|
+
DA:63,6
|
|
3598
|
+
DA:66,0
|
|
3599
|
+
DA:68,4
|
|
3600
|
+
DA:69,4
|
|
3601
|
+
DA:70,3
|
|
3602
|
+
DA:75,4
|
|
3603
|
+
DA:76,4
|
|
3604
|
+
DA:80,5
|
|
3605
|
+
DA:81,5
|
|
3606
|
+
DA:82,4
|
|
3607
|
+
DA:86,0
|
|
3608
|
+
DA:89,11
|
|
3612
3609
|
DA:93,16
|
|
3613
|
-
DA:
|
|
3610
|
+
DA:97,6
|
|
3614
3611
|
DA:98,16
|
|
3615
|
-
DA:99,
|
|
3616
|
-
DA:
|
|
3617
|
-
DA:
|
|
3618
|
-
DA:105,
|
|
3619
|
-
DA:109,
|
|
3620
|
-
DA:110,
|
|
3621
|
-
DA:
|
|
3622
|
-
DA:
|
|
3623
|
-
DA:
|
|
3624
|
-
DA:
|
|
3625
|
-
DA:
|
|
3626
|
-
DA:
|
|
3627
|
-
DA:
|
|
3628
|
-
DA:
|
|
3629
|
-
DA:
|
|
3630
|
-
DA:
|
|
3631
|
-
DA:
|
|
3632
|
-
|
|
3633
|
-
|
|
3634
|
-
|
|
3635
|
-
|
|
3636
|
-
|
|
3637
|
-
|
|
3638
|
-
|
|
3639
|
-
BRDA:
|
|
3640
|
-
BRDA:
|
|
3641
|
-
BRDA:
|
|
3642
|
-
BRDA:
|
|
3643
|
-
BRDA:
|
|
3644
|
-
BRDA:
|
|
3645
|
-
BRDA:
|
|
3646
|
-
BRDA:
|
|
3647
|
-
BRDA:
|
|
3648
|
-
BRDA:
|
|
3649
|
-
BRDA:
|
|
3650
|
-
BRDA:
|
|
3651
|
-
BRDA:
|
|
3612
|
+
DA:99,0
|
|
3613
|
+
DA:102,16
|
|
3614
|
+
DA:104,16
|
|
3615
|
+
DA:105,0
|
|
3616
|
+
DA:109,16
|
|
3617
|
+
DA:110,16
|
|
3618
|
+
DA:112,16
|
|
3619
|
+
DA:113,45
|
|
3620
|
+
DA:116,16
|
|
3621
|
+
DA:120,6
|
|
3622
|
+
DA:121,1
|
|
3623
|
+
DA:122,1
|
|
3624
|
+
DA:126,1
|
|
3625
|
+
DA:128,3
|
|
3626
|
+
DA:130,9
|
|
3627
|
+
DA:134,18
|
|
3628
|
+
DA:135,15
|
|
3629
|
+
DA:136,7
|
|
3630
|
+
DA:140,3
|
|
3631
|
+
DA:143,1
|
|
3632
|
+
DA:148,2
|
|
3633
|
+
DA:150,3
|
|
3634
|
+
LF:61
|
|
3635
|
+
LH:55
|
|
3636
|
+
BRDA:26,0,0,3
|
|
3637
|
+
BRDA:98,1,0,0
|
|
3638
|
+
BRDA:98,1,1,16
|
|
3639
|
+
BRDA:104,2,0,0
|
|
3640
|
+
BRDA:104,2,1,16
|
|
3641
|
+
BRDA:112,3,0,15
|
|
3642
|
+
BRDA:112,3,1,1
|
|
3643
|
+
BRDA:63,4,0,5
|
|
3644
|
+
BRDA:63,4,1,1
|
|
3645
|
+
BRDA:69,5,0,3
|
|
3646
|
+
BRDA:69,5,1,1
|
|
3647
|
+
BRDA:76,6,0,4
|
|
3648
|
+
BRDA:76,6,1,0
|
|
3649
|
+
BRDA:81,7,0,4
|
|
3650
|
+
BRDA:81,7,1,1
|
|
3651
|
+
BRDA:135,8,0,7
|
|
3652
|
+
BRDA:135,8,1,8
|
|
3653
|
+
BRDA:149,9,0,2
|
|
3652
3654
|
BRF:18
|
|
3653
3655
|
BRH:15
|
|
3654
3656
|
end_of_record
|
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
import { FlagModel, ILabeledFlagModel } from './FlagModel';
|
|
2
2
|
import { ValidatableModel } from './Validatable';
|
|
3
3
|
import { IValueModel } from './types';
|
|
4
|
-
import { IResetableModel } from '
|
|
4
|
+
import { IResetableModel } from './types';
|
|
5
|
+
import { Getter } from '../types';
|
|
5
6
|
export declare class Select<T = any> extends ValidatableModel<T> implements IValueModel<string>, IResetableModel {
|
|
6
|
-
private readonly _items;
|
|
7
7
|
private readonly _accessor;
|
|
8
8
|
private _index;
|
|
9
|
-
readonly
|
|
9
|
+
private readonly _items;
|
|
10
10
|
private _indexLocked;
|
|
11
11
|
private _initialIndex;
|
|
12
12
|
private readonly _flags;
|
|
13
|
-
|
|
13
|
+
readonly opened: FlagModel;
|
|
14
|
+
constructor(items: Getter<readonly T[]>, _accessor: (item: T) => string, initialIndex?: number);
|
|
14
15
|
protected get valueToValidate(): T;
|
|
15
16
|
get values(): readonly string[];
|
|
16
17
|
get flags(): readonly ILabeledFlagModel[];
|
|
@@ -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,
|
|
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,SAAS,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,qBAAa,MAAM,CAAC,CAAC,GAAG,GAAG,CAAE,SAAQ,gBAAgB,CAAC,CAAC,CAAE,YAAW,WAAW,CAAC,MAAM,CAAC,EAAE,eAAe;IAehG,OAAO,CAAC,QAAQ,CAAC,SAAS;IAb9B,OAAO,CAAC,MAAM,CAAqB;IAEnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuB;IAE9C,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,aAAa,CAAgB;IAErC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwC;IAE/D,SAAgB,MAAM,YAAmB;gBAGrC,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,EACV,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,EAC/C,YAAY,GAAE,MAAU;IAkB5B,SAAS,KAAK,eAAe,MAAgC;IAG7D,IAAI,MAAM,IAAI,SAAS,MAAM,EAAE,CAE9B;IAED,IAAI,KAAK,iCAER;IAGD,IAAI,KAAK,IAAI,SAAS,CAAC,EAAE,CAExB;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,CAGpB;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;IAEK,KAAK,aAGV;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,22 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.SelectString = exports.Select = void 0;
|
|
4
|
-
const lazy_light_1 = require("../lazy.light");
|
|
5
4
|
const mobx_1 = require("mobx");
|
|
5
|
+
const lazy_light_1 = require("../lazy.light");
|
|
6
6
|
const FlagModel_1 = require("./FlagModel");
|
|
7
7
|
const Validatable_1 = require("./Validatable");
|
|
8
8
|
const wrappers_1 = require("./wrappers");
|
|
9
|
+
const types_1 = require("../types");
|
|
9
10
|
class Select extends Validatable_1.ValidatableModel {
|
|
10
|
-
constructor(
|
|
11
|
+
constructor(items, _accessor, initialIndex = 0) {
|
|
11
12
|
super();
|
|
12
|
-
this._items = _items;
|
|
13
13
|
this._accessor = _accessor;
|
|
14
14
|
// @observable
|
|
15
15
|
this._index = undefined;
|
|
16
|
-
this.opened = new FlagModel_1.FlagModel();
|
|
17
16
|
this._indexLocked = false;
|
|
18
17
|
this._initialIndex = null;
|
|
19
18
|
this._flags = lazy_light_1.createLazy(() => this.createFlags());
|
|
19
|
+
this.opened = new FlagModel_1.FlagModel();
|
|
20
20
|
// @action
|
|
21
21
|
this.setIndex = (val) => {
|
|
22
22
|
if (this._indexLocked) {
|
|
@@ -41,9 +41,12 @@ class Select extends Validatable_1.ValidatableModel {
|
|
|
41
41
|
super.reset();
|
|
42
42
|
this.index = this._initialIndex;
|
|
43
43
|
};
|
|
44
|
+
this._items = items;
|
|
44
45
|
mobx_1.makeObservable(this, {
|
|
45
46
|
'_index': mobx_1.observable,
|
|
47
|
+
'_items': mobx_1.observable.ref,
|
|
46
48
|
values: mobx_1.computed,
|
|
49
|
+
items: mobx_1.computed,
|
|
47
50
|
setIndex: mobx_1.action,
|
|
48
51
|
});
|
|
49
52
|
this._initialIndex = initialIndex;
|
|
@@ -52,13 +55,14 @@ class Select extends Validatable_1.ValidatableModel {
|
|
|
52
55
|
get valueToValidate() { return this.selectedItem; }
|
|
53
56
|
// @computed
|
|
54
57
|
get values() {
|
|
55
|
-
return this.
|
|
58
|
+
return this.items.map(i => this._accessor(i));
|
|
56
59
|
}
|
|
57
60
|
get flags() {
|
|
58
61
|
return this._flags.value;
|
|
59
62
|
}
|
|
63
|
+
// @computed
|
|
60
64
|
get items() {
|
|
61
|
-
return this._items;
|
|
65
|
+
return types_1.Getter.getValue(this._items);
|
|
62
66
|
}
|
|
63
67
|
get value() { return this.selectedValue; }
|
|
64
68
|
get selectedValue() {
|
|
@@ -73,10 +77,11 @@ class Select extends Validatable_1.ValidatableModel {
|
|
|
73
77
|
}
|
|
74
78
|
}
|
|
75
79
|
get selectedItem() {
|
|
76
|
-
|
|
80
|
+
const items = this.items;
|
|
81
|
+
return items.length ? items[this._index] : null;
|
|
77
82
|
}
|
|
78
83
|
set selectedItem(item) {
|
|
79
|
-
const index = this.
|
|
84
|
+
const index = this.items.indexOf(item);
|
|
80
85
|
if (index >= 0) {
|
|
81
86
|
this.index = index;
|
|
82
87
|
}
|
|
@@ -89,7 +94,7 @@ class Select extends Validatable_1.ValidatableModel {
|
|
|
89
94
|
this.setIndex(val);
|
|
90
95
|
}
|
|
91
96
|
createFlags() {
|
|
92
|
-
const flags = this.
|
|
97
|
+
const flags = this.items
|
|
93
98
|
.map((item, index) => {
|
|
94
99
|
const flag = wrappers_1.withLabel(new FlagModel_1.FlagModel(index === this.index), () => this._accessor(item));
|
|
95
100
|
// react on every flag is changed directly
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectModel.js","sourceRoot":"","sources":["../../src/viewModels/SelectModel.ts"],"names":[],"mappings":";;;AAAA
|
|
1
|
+
{"version":3,"file":"SelectModel.js","sourceRoot":"","sources":["../../src/viewModels/SelectModel.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,30 +1,39 @@
|
|
|
1
|
-
import { createLazy } from '../lazy.light';
|
|
2
1
|
import { observable, computed, makeObservable, reaction, action } from 'mobx';
|
|
2
|
+
import { createLazy } from '../lazy.light';
|
|
3
3
|
import { FlagModel, ILabeledFlagModel } from './FlagModel';
|
|
4
4
|
import { ValidatableModel } from './Validatable';
|
|
5
5
|
import { IValueModel } from './types';
|
|
6
6
|
import { withLabel } from './wrappers';
|
|
7
|
-
import { IResetableModel } from '
|
|
7
|
+
import { IResetableModel } from './types';
|
|
8
|
+
import { Getter } from '../types';
|
|
8
9
|
|
|
9
10
|
export class Select<T = any> extends ValidatableModel<T> implements IValueModel<string>, IResetableModel {
|
|
10
11
|
// @observable
|
|
11
12
|
private _index: number = undefined;
|
|
12
13
|
|
|
13
|
-
|
|
14
|
+
private readonly _items: Getter<readonly T[]>;
|
|
15
|
+
|
|
14
16
|
private _indexLocked = false;
|
|
15
17
|
private _initialIndex: number = null;
|
|
16
18
|
|
|
17
19
|
private readonly _flags = createLazy(() => this.createFlags());
|
|
18
20
|
|
|
21
|
+
public readonly opened = new FlagModel();
|
|
22
|
+
|
|
19
23
|
constructor(
|
|
20
|
-
|
|
24
|
+
items: Getter<readonly T[]>,
|
|
21
25
|
private readonly _accessor: (item: T) => string,
|
|
22
26
|
initialIndex: number = 0,
|
|
23
27
|
) {
|
|
24
28
|
super();
|
|
25
|
-
|
|
29
|
+
|
|
30
|
+
this._items = items;
|
|
31
|
+
|
|
32
|
+
makeObservable<Select<T>, '_index' | '_items'>(this, {
|
|
26
33
|
'_index': observable,
|
|
34
|
+
'_items': observable.ref,
|
|
27
35
|
values: computed,
|
|
36
|
+
items: computed,
|
|
28
37
|
setIndex: action,
|
|
29
38
|
});
|
|
30
39
|
|
|
@@ -36,15 +45,16 @@ export class Select<T = any> extends ValidatableModel<T> implements IValueModel<
|
|
|
36
45
|
|
|
37
46
|
// @computed
|
|
38
47
|
get values(): readonly string[] {
|
|
39
|
-
return this.
|
|
48
|
+
return this.items.map(i => this._accessor(i));
|
|
40
49
|
}
|
|
41
50
|
|
|
42
51
|
get flags() {
|
|
43
52
|
return this._flags.value;
|
|
44
53
|
}
|
|
45
54
|
|
|
46
|
-
|
|
47
|
-
|
|
55
|
+
// @computed
|
|
56
|
+
get items(): readonly T[] {
|
|
57
|
+
return Getter.getValue(this._items);
|
|
48
58
|
}
|
|
49
59
|
|
|
50
60
|
get value() { return this.selectedValue; }
|
|
@@ -62,11 +72,12 @@ export class Select<T = any> extends ValidatableModel<T> implements IValueModel<
|
|
|
62
72
|
}
|
|
63
73
|
|
|
64
74
|
get selectedItem(): T {
|
|
65
|
-
|
|
75
|
+
const items = this.items;
|
|
76
|
+
return items.length ? items[this._index] : null;
|
|
66
77
|
}
|
|
67
78
|
|
|
68
79
|
set selectedItem(item: T) {
|
|
69
|
-
const index = this.
|
|
80
|
+
const index = this.items.indexOf(item);
|
|
70
81
|
if (index >= 0) {
|
|
71
82
|
this.index = index;
|
|
72
83
|
}
|
|
@@ -106,13 +117,13 @@ export class Select<T = any> extends ValidatableModel<T> implements IValueModel<
|
|
|
106
117
|
}
|
|
107
118
|
};
|
|
108
119
|
|
|
109
|
-
reset = () => {
|
|
120
|
+
public reset = () => {
|
|
110
121
|
super.reset();
|
|
111
122
|
this.index = this._initialIndex;
|
|
112
123
|
};
|
|
113
124
|
|
|
114
125
|
private createFlags() {
|
|
115
|
-
const flags: ReadonlyArray<ILabeledFlagModel> = this.
|
|
126
|
+
const flags: ReadonlyArray<ILabeledFlagModel> = this.items
|
|
116
127
|
.map((item, index) => {
|
|
117
128
|
const flag: ILabeledFlagModel = withLabel(
|
|
118
129
|
new FlagModel(index === this.index),
|