@zajno/common 1.3.2 → 1.3.6
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/.github/workflows/CI.yml +8 -0
- package/coverage/clover.xml +195 -141
- package/coverage/coverage-final.json +40 -39
- package/coverage/lcov-report/index.html +39 -24
- 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/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 +1 -1
- package/coverage/lcov-report/src/event.ts.html +1 -1
- package/coverage/lcov-report/src/fields/index.html +111 -0
- package/coverage/lcov-report/src/{viewModels/SelectViewModel.ts.html → fields/update.ts.html} +119 -182
- package/coverage/lcov-report/src/index.html +1 -1
- package/coverage/lcov-report/src/lazy.light.ts.html +3 -3
- 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 +32 -8
- 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 +11 -11
- package/coverage/lcov-report/src/math/index.ts.html +1 -1
- package/coverage/lcov-report/src/transitionObserver.ts.html +1 -1
- package/coverage/lcov-report/src/types.ts.html +4 -4
- 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/FlagModel.ts.html +6 -6
- package/coverage/lcov-report/src/viewModels/MultiSelectModel.ts.html +104 -95
- package/coverage/lcov-report/src/viewModels/NumberModel.ts.html +1 -1
- package/coverage/lcov-report/src/viewModels/SelectModel.ts.html +1 -1
- package/coverage/lcov-report/src/viewModels/Validatable.ts.html +45 -21
- package/coverage/lcov-report/src/viewModels/index.html +30 -30
- package/coverage/lcov-report/src/viewModels/wrappers.ts.html +1 -1
- package/coverage/lcov-report/{enumHelper.ts.html → update.ts.html} +118 -193
- package/coverage/lcov.info +347 -207
- package/lib/fields/update.d.ts +17 -6
- package/lib/fields/update.d.ts.map +1 -1
- package/lib/fields/update.js +29 -13
- package/lib/fields/update.js.map +1 -1
- package/lib/ident.d.ts +6 -0
- package/lib/ident.d.ts.map +1 -0
- package/lib/ident.js +3 -0
- package/lib/ident.js.map +1 -0
- package/lib/math/arrays.d.ts +2 -1
- package/lib/math/arrays.d.ts.map +1 -1
- package/lib/math/arrays.js +9 -1
- package/lib/math/arrays.js.map +1 -1
- package/lib/viewModels/MultiSelectModel.d.ts +2 -0
- package/lib/viewModels/MultiSelectModel.d.ts.map +1 -1
- package/lib/viewModels/MultiSelectModel.js +3 -1
- package/lib/viewModels/MultiSelectModel.js.map +1 -1
- package/lib/viewModels/PromptModal.d.ts.map +1 -1
- package/lib/viewModels/PromptModal.js +1 -1
- package/lib/viewModels/PromptModal.js.map +1 -1
- package/lib/viewModels/Validatable.d.ts +2 -1
- package/lib/viewModels/Validatable.d.ts.map +1 -1
- package/lib/viewModels/Validatable.js +7 -0
- package/lib/viewModels/Validatable.js.map +1 -1
- package/package.json +1 -1
- package/src/fields/__tests__/fields.update.test.ts +73 -0
- package/src/fields/update.ts +54 -20
- package/src/ident.ts +8 -0
- package/src/math/arrays.ts +9 -1
- package/src/viewModels/MultiSelectModel.ts +4 -1
- package/src/viewModels/PromptModal.ts +1 -1
- package/src/viewModels/Validatable.ts +8 -0
- package/src/viewModels/__tests__/multiSelect.test.ts +127 -12
- package/coverage/lcov-report/NumberModel.ts.html +0 -188
- package/coverage/lcov-report/arrays.ts.html +0 -602
- package/coverage/lcov-report/calc.ts.html +0 -278
- package/coverage/lcov-report/src/viewModels/LabeledFlagModel.ts.html +0 -137
- package/coverage/lcov-report/src/viewModels/labeled.ts.html +0 -128
- package/coverage/lcov-report/transitionObserver.ts.html +0 -536
package/lib/fields/update.d.ts
CHANGED
|
@@ -1,9 +1,20 @@
|
|
|
1
|
-
|
|
2
|
-
export declare
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
import { Comparator } from '../types';
|
|
2
|
+
export declare namespace Fields {
|
|
3
|
+
type Getter<T> = (obj: Partial<T>) => T[keyof T];
|
|
4
|
+
type Setter<T> = (obj: Partial<T>, val: T[keyof T]) => void;
|
|
5
|
+
type Comparer<T> = (source: Partial<T>, target: Partial<T>) => boolean;
|
|
6
|
+
type Updater<T> = (target: T, source: T) => T;
|
|
7
|
+
}
|
|
8
|
+
export declare function updateField<T>(target: T, source: Partial<T>, diff: Partial<T>, key: keyof T, hasChanged?: Fields.Comparer<T>): boolean;
|
|
9
|
+
export declare function updateFieldExtended<T>(target: T, source: Partial<T>, diff: Partial<T>, get: Fields.Getter<T>, set: Fields.Setter<T>, hasChanged?: Fields.Comparer<T>): boolean;
|
|
10
|
+
export declare type UpdateArrayOptions<T> = {
|
|
11
|
+
additive?: boolean;
|
|
12
|
+
clone?: boolean;
|
|
13
|
+
comparator?: Comparator<T>;
|
|
14
|
+
updater?: Fields.Updater<T>;
|
|
15
|
+
sorter?: Comparator<T, number> | null | undefined;
|
|
16
|
+
};
|
|
17
|
+
export declare function updateArray<T>(target: T[] | null, source: T[], options?: UpdateArrayOptions<T>): {
|
|
7
18
|
changed: number;
|
|
8
19
|
result: T[];
|
|
9
20
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/fields/update.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/fields/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC,yBAAiB,MAAM,CAAC;IACpB,KAAY,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IACxD,KAAY,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,IAAI,CAAC;IACnE,KAAY,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC;IAC9E,KAAY,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC;CACxD;AAGD,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,UAAU,GAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAQ,GAAG,OAAO,CAE5I;AAED,wBAAgB,mBAAmB,CAAC,CAAC,EACjC,MAAM,EAAE,CAAC,EACT,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,EAClB,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,EAChB,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EACrB,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EACrB,UAAU,GAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAQ,GACtC,OAAO,CAcT;AAKD,oBAAY,kBAAkB,CAAC,CAAC,IAAI;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC5B,MAAM,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;CACrD,CAAC;AAEF,wBAAgB,WAAW,CAAC,CAAC,EACzB,MAAM,EAAE,CAAC,EAAE,GAAG,IAAI,EAClB,MAAM,EAAE,CAAC,EAAE,EACX,OAAO,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAChC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,CAAC,EAAE,CAAA;CAAE,CA6ClC"}
|
package/lib/fields/update.js
CHANGED
|
@@ -16,28 +16,44 @@ function updateFieldExtended(target, source, diff, get, set, hasChanged = null)
|
|
|
16
16
|
return changed;
|
|
17
17
|
}
|
|
18
18
|
exports.updateFieldExtended = updateFieldExtended;
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
19
|
+
const DefaultComparator = (v1, v2) => v1 === v2;
|
|
20
|
+
const DefaultUpdater = (v1, v2) => Object.assign(v1, v2);
|
|
21
|
+
function updateArray(target, source, options) {
|
|
22
|
+
if (!source) {
|
|
23
|
+
return { changed: 0, result: target };
|
|
22
24
|
}
|
|
23
25
|
let changed = 0;
|
|
24
|
-
const result =
|
|
26
|
+
const result = Array.isArray(target)
|
|
27
|
+
? ((options === null || options === void 0 ? void 0 : options.clone) ? target.slice() : target)
|
|
28
|
+
: [];
|
|
29
|
+
const comparator = (options === null || options === void 0 ? void 0 : options.comparator) || DefaultComparator;
|
|
30
|
+
const updater = (options === null || options === void 0 ? void 0 : options.updater) || DefaultUpdater;
|
|
25
31
|
// remove all missing elements
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
32
|
+
if (!(options === null || options === void 0 ? void 0 : options.additive)) {
|
|
33
|
+
for (let i = 0; i < result.length; ++i) {
|
|
34
|
+
if (source.find(item => comparator(item, result[i])) == null) {
|
|
35
|
+
result.splice(i, 1);
|
|
36
|
+
++changed;
|
|
37
|
+
--i;
|
|
38
|
+
}
|
|
31
39
|
}
|
|
32
40
|
}
|
|
33
|
-
// add all new elements
|
|
34
|
-
|
|
35
|
-
|
|
41
|
+
// add all new elements and update existing
|
|
42
|
+
source.forEach(i => {
|
|
43
|
+
const existingIndex = result.findIndex(item => comparator(i, item));
|
|
44
|
+
const existingItem = result[existingIndex];
|
|
45
|
+
if (existingIndex < 0) {
|
|
36
46
|
result.push(i);
|
|
37
47
|
++changed;
|
|
38
48
|
}
|
|
49
|
+
else if (typeof existingItem === 'object') {
|
|
50
|
+
result[existingIndex] = updater(existingItem, i);
|
|
51
|
+
}
|
|
39
52
|
});
|
|
40
|
-
|
|
53
|
+
const sorter = options === null || options === void 0 ? void 0 : options.sorter;
|
|
54
|
+
if (sorter !== null) {
|
|
55
|
+
result.sort(sorter || undefined);
|
|
56
|
+
}
|
|
41
57
|
return {
|
|
42
58
|
result,
|
|
43
59
|
changed,
|
package/lib/fields/update.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/fields/update.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/fields/update.ts"],"names":[],"mappings":"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"}
|
package/lib/ident.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ident.d.ts","sourceRoot":"","sources":["../src/ident.ts"],"names":[],"mappings":"AACA,oBAAY,KAAK,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG;IACrD,EAAE,EAAE,CAAC,CAAC;CACT,CAAC;AAEF,oBAAY,QAAQ,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC;AAEjC,eAAe,KAAK,CAAC"}
|
package/lib/ident.js
ADDED
package/lib/ident.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ident.js","sourceRoot":"","sources":["../src/ident.ts"],"names":[],"mappings":""}
|
package/lib/math/arrays.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Comparator, Predicate } from '../types';
|
|
1
|
+
import { Comparator, Getter, Predicate } from '../types';
|
|
2
2
|
export declare function arrayCompareG<T>(arr: ReadonlyArray<T>, cond: (current: T, previous: T) => boolean): T;
|
|
3
3
|
export declare function arrayCompare(arr: number[], absolute: boolean, cond: (i: number, t: number) => boolean): number;
|
|
4
4
|
export declare function arrayMax(arr: number[], absolute?: boolean): number;
|
|
@@ -29,5 +29,6 @@ export declare function arraySplit<T>(arr: ReadonlyArray<T>, predicate: (t: T) =
|
|
|
29
29
|
export declare function findIndexLeast(num: number, arr: number[], sort?: boolean): number;
|
|
30
30
|
declare type NonFunction<T> = T extends Function ? never : T;
|
|
31
31
|
export declare function removeItem<T>(array: T[], item: NonFunction<T> | Predicate<T>): T;
|
|
32
|
+
export declare function arrayRepeat<T>(factory: Getter<T>, count?: number): T[];
|
|
32
33
|
export {};
|
|
33
34
|
//# sourceMappingURL=arrays.d.ts.map
|
package/lib/math/arrays.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arrays.d.ts","sourceRoot":"","sources":["../../src/math/arrays.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"arrays.d.ts","sourceRoot":"","sources":["../../src/math/arrays.ts"],"names":[],"mappings":"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"}
|
package/lib/math/arrays.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.removeItem = exports.findIndexLeast = exports.arraySplit = exports.groupOneBy = exports.groupBy = exports.shuffle = exports.arraySwap = exports.randomArrayItem = exports.normalize = exports.arrayDistinct = exports.arraysCompareDistinct = exports.arraysCompare = exports.arrayFirstResult = exports.arrayCount = exports.arrayAverage = exports.arrayMin = exports.arrayMax = exports.arrayCompare = exports.arrayCompareG = void 0;
|
|
3
|
+
exports.arrayRepeat = exports.removeItem = exports.findIndexLeast = exports.arraySplit = exports.groupOneBy = exports.groupBy = exports.shuffle = exports.arraySwap = exports.randomArrayItem = exports.normalize = exports.arrayDistinct = exports.arraysCompareDistinct = exports.arraysCompare = exports.arrayFirstResult = exports.arrayCount = exports.arrayAverage = exports.arrayMin = exports.arrayMax = exports.arrayCompare = exports.arrayCompareG = void 0;
|
|
4
4
|
const types_1 = require("../types");
|
|
5
5
|
const calc_1 = require("./calc");
|
|
6
6
|
function arrayCompareG(arr, cond) {
|
|
@@ -220,4 +220,12 @@ function removeItem(array, item) {
|
|
|
220
220
|
return array.splice(index, 1)[0];
|
|
221
221
|
}
|
|
222
222
|
exports.removeItem = removeItem;
|
|
223
|
+
function arrayRepeat(factory, count = 1) {
|
|
224
|
+
const res = [];
|
|
225
|
+
for (let i = 0; i < count; ++i) {
|
|
226
|
+
res.push(types_1.Getter.getValue(factory));
|
|
227
|
+
}
|
|
228
|
+
return res;
|
|
229
|
+
}
|
|
230
|
+
exports.arrayRepeat = arrayRepeat;
|
|
223
231
|
//# sourceMappingURL=arrays.js.map
|
package/lib/math/arrays.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arrays.js","sourceRoot":"","sources":["../../src/math/arrays.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"arrays.js","sourceRoot":"","sources":["../../src/math/arrays.ts"],"names":[],"mappings":"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"}
|
|
@@ -35,6 +35,8 @@ export declare class MultiSelect<T = any> extends ValidatableModel<ReadonlyArray
|
|
|
35
35
|
deSelectValue: (value: string) => void;
|
|
36
36
|
selectValues: (values: readonly string[]) => void;
|
|
37
37
|
setIndexSelected: (index: number, selected: boolean) => void;
|
|
38
|
+
selectIndex: (index: number) => void;
|
|
39
|
+
deSelectIndex: (index: number) => void;
|
|
38
40
|
reset: () => void;
|
|
39
41
|
private setInitialIndexes;
|
|
40
42
|
private createFlags;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiSelectModel.d.ts","sourceRoot":"","sources":["../../src/viewModels/MultiSelectModel.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAG9D,qBAAa,WAAW,CAAC,CAAC,GAAG,GAAG,CAAE,SAAQ,gBAAgB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAE,YAAW,WAAW,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,eAAe,EAAE,eAAe;IAYhJ,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAV9B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqB;IAE9C,SAAgB,MAAM,YAAmB;IACzC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkB;IAE3C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwC;IAC/D,OAAO,CAAC,cAAc,CAAS;gBAGV,MAAM,EAAE,SAAS,CAAC,EAAE,EACpB,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,EAC/C,GAAG,QAAQ,EAAE,MAAM,EAAE;IAQzB,IACI,eAAe,IAAI,aAAa,CAAC,MAAM,CAAC,CAAsC;IAElF,IAAI,KAAK,IAAI,aAAa,CAAC,CAAC,CAAC,CAAwB;IAErD,IAAI,KAAK,iCAAgC;IAEzC,IACI,MAAM,IAAI,aAAa,CAAC,MAAM,CAAC,CAElC;IAED,IACI,aAAa,IAAI,aAAa,CAAC,CAAC,CAAC,CAEpC;IAED,IACI,cAAc,IAAI,aAAa,CAAC,MAAM,CAAC,CAG1C;IAED,IAAI,KAAK,IACI,SAAS,MAAM,EAAE,CADa;IAC3C,IAAI,KAAK,CAAC,CAAC,EAAE,SAAS,MAAM,EAAE,EAA2B;IAEzD,eAAe,CAAC,KAAK,EAAE,MAAM;IAC7B,eAAe,CAAC,KAAK,EAAE,MAAM;IAE7B,IAAI,KAAK,WAAiC;IAC1C,IAAI,aAAa,WAAiC;IAClD,IAAI,OAAO,YAAuC;IAElD,IACI,SAAS,YAAqF;IAElG,SAAS,KAAK,eAAe,iBAAiC;IAE9D,eAAe,SAAU,CAAC,YAAY,OAAO,UAK3C;IAEF,UAAU,SAAU,CAAC,UAAsC;IAC3D,YAAY,SAAU,CAAC,UAAuC;IAG9D,WAAW,UAAW,SAAS,CAAC,EAAE,UAEhC;IAEF,gBAAgB,UAAW,MAAM,YAAY,OAAO,UAKlD;IAEF,WAAW,UAAW,MAAM,UAAwC;IACpE,aAAa,UAAW,MAAM,UAAyC;IAGvE,YAAY,WAAY,SAAS,MAAM,EAAE,UAEvC;IAGF,gBAAgB,UAAW,MAAM,YAAY,OAAO,UAqBlD;IAEF,KAAK,aAGH;IAEF,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,WAAW;CAgBtB;AAED,qBAAa,iBAAiB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,CAAE,SAAQ,WAAW,CAAC,CAAC,CAAC;gBAEhE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,MAAM,EAAE;CAG7D"}
|
|
1
|
+
{"version":3,"file":"MultiSelectModel.d.ts","sourceRoot":"","sources":["../../src/viewModels/MultiSelectModel.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAG9D,qBAAa,WAAW,CAAC,CAAC,GAAG,GAAG,CAAE,SAAQ,gBAAgB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAE,YAAW,WAAW,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,eAAe,EAAE,eAAe;IAYhJ,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAV9B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqB;IAE9C,SAAgB,MAAM,YAAmB;IACzC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkB;IAE3C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwC;IAC/D,OAAO,CAAC,cAAc,CAAS;gBAGV,MAAM,EAAE,SAAS,CAAC,EAAE,EACpB,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,EAC/C,GAAG,QAAQ,EAAE,MAAM,EAAE;IAQzB,IACI,eAAe,IAAI,aAAa,CAAC,MAAM,CAAC,CAAsC;IAElF,IAAI,KAAK,IAAI,aAAa,CAAC,CAAC,CAAC,CAAwB;IAErD,IAAI,KAAK,iCAAgC;IAEzC,IACI,MAAM,IAAI,aAAa,CAAC,MAAM,CAAC,CAElC;IAED,IACI,aAAa,IAAI,aAAa,CAAC,CAAC,CAAC,CAEpC;IAED,IACI,cAAc,IAAI,aAAa,CAAC,MAAM,CAAC,CAG1C;IAED,IAAI,KAAK,IACI,SAAS,MAAM,EAAE,CADa;IAC3C,IAAI,KAAK,CAAC,CAAC,EAAE,SAAS,MAAM,EAAE,EAA2B;IAEzD,eAAe,CAAC,KAAK,EAAE,MAAM;IAC7B,eAAe,CAAC,KAAK,EAAE,MAAM;IAE7B,IAAI,KAAK,WAAiC;IAC1C,IAAI,aAAa,WAAiC;IAClD,IAAI,OAAO,YAAuC;IAElD,IACI,SAAS,YAAqF;IAElG,SAAS,KAAK,eAAe,iBAAiC;IAE9D,eAAe,SAAU,CAAC,YAAY,OAAO,UAK3C;IAEF,UAAU,SAAU,CAAC,UAAsC;IAC3D,YAAY,SAAU,CAAC,UAAuC;IAG9D,WAAW,UAAW,SAAS,CAAC,EAAE,UAEhC;IAEF,gBAAgB,UAAW,MAAM,YAAY,OAAO,UAKlD;IAEF,WAAW,UAAW,MAAM,UAAwC;IACpE,aAAa,UAAW,MAAM,UAAyC;IAGvE,YAAY,WAAY,SAAS,MAAM,EAAE,UAEvC;IAGF,gBAAgB,UAAW,MAAM,YAAY,OAAO,UAqBlD;IAEF,WAAW,UAAW,MAAM,UAAwC;IACpE,aAAa,UAAW,MAAM,UAAyC;IAEvE,KAAK,aAGH;IAEF,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,WAAW;CAgBtB;AAED,qBAAa,iBAAiB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,CAAE,SAAQ,WAAW,CAAC,CAAC,CAAC;gBAEhE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,MAAM,EAAE;CAG7D"}
|
|
@@ -61,6 +61,8 @@ class MultiSelect extends Validatable_1.ValidatableModel {
|
|
|
61
61
|
this._indexesLocked = false;
|
|
62
62
|
}
|
|
63
63
|
};
|
|
64
|
+
this.selectIndex = (index) => this.setIndexSelected(index, true);
|
|
65
|
+
this.deSelectIndex = (index) => this.setIndexSelected(index, false);
|
|
64
66
|
this.reset = () => {
|
|
65
67
|
super.reset();
|
|
66
68
|
this.setInitialIndexes();
|
|
@@ -85,7 +87,7 @@ class MultiSelect extends Validatable_1.ValidatableModel {
|
|
|
85
87
|
get value() { return this.selectedValues; }
|
|
86
88
|
set value(v) { this.selectValues(v); }
|
|
87
89
|
isIndexSelected(index) { return this._indexes.has(index); }
|
|
88
|
-
isValueSelected(value) { return this.
|
|
90
|
+
isValueSelected(value) { return this.selectedValues.includes(value); }
|
|
89
91
|
get count() { return this._items.length; }
|
|
90
92
|
get selectedCount() { return this._indexes.size; }
|
|
91
93
|
get isEmpty() { return this.selectedCount === 0; }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiSelectModel.js","sourceRoot":"","sources":["../../src/viewModels/MultiSelectModel.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"MultiSelectModel.js","sourceRoot":"","sources":["../../src/viewModels/MultiSelectModel.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +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,
|
|
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,sBAA4F;CACvG"}
|
|
@@ -48,7 +48,7 @@ class PromptModalViewModel extends ModalActionModel {
|
|
|
48
48
|
constructor() {
|
|
49
49
|
super(...arguments);
|
|
50
50
|
this.onConfirm = () => this.runAction(this.currentAction.onConfirm, true, this.currentAction.awaitActions);
|
|
51
|
-
this.onReject = () => this.runAction(this.currentAction.
|
|
51
|
+
this.onReject = () => this.runAction(this.currentAction.onReject, true, this.currentAction.awaitActions);
|
|
52
52
|
}
|
|
53
53
|
get confirmColor() { return this.currentAction.confirmColor; }
|
|
54
54
|
get rejectColor() { return this.currentAction.rejectColor; }
|
|
@@ -1 +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,
|
|
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,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;IACxG,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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ValidatorFunction, ValidatorFunctionAsync } from '../validation';
|
|
1
|
+
import { ValidatorFunction, ValidatorFunctionAsync, ValidationErrors } from '../validation';
|
|
2
2
|
export declare type ValueValidator<T> = ValidatorFunction<T> | ValidatorFunctionAsync<T>;
|
|
3
3
|
export declare type ValidationErrorsStrings = {
|
|
4
4
|
[code: number]: string;
|
|
@@ -17,6 +17,7 @@ export declare abstract class ValidatableModel<T = string> {
|
|
|
17
17
|
get isValid(): boolean;
|
|
18
18
|
get error(): string;
|
|
19
19
|
setValidationConfig(config?: ValidationConfig<T>): this;
|
|
20
|
+
testValidate(value: T): Promise<ValidationErrors>;
|
|
20
21
|
validate(): Promise<boolean>;
|
|
21
22
|
getIsInvalid(): Promise<boolean>;
|
|
22
23
|
reset(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Validatable.d.ts","sourceRoot":"","sources":["../../src/viewModels/Validatable.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,
|
|
1
|
+
{"version":3,"file":"Validatable.d.ts","sourceRoot":"","sources":["../../src/viewModels/Validatable.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,gBAAgB,EAAmB,MAAM,eAAe,CAAC;AAG7G,oBAAY,cAAc,CAAC,CAAC,IAAI,iBAAiB,CAAC,CAAC,CAAC,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAC;AACjF,oBAAY,uBAAuB,GAAG;IAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAAC;AAEjE,oBAAY,gBAAgB,CAAC,CAAC,IAAI;IAC9B,SAAS,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACvC,MAAM,EAAE,uBAAuB,CAAC;CACnC,CAAC;AAGF,8BAAsB,gBAAgB,CAAC,CAAC,GAAG,MAAM;IAE7C,OAAO,CAAC,UAAU,CAAqC;IACvD,OAAO,CAAC,QAAQ,CAAiC;IAGjD,OAAO,CAAC,MAAM,CAAgB;IAE9B,OAAO,CAAC,gBAAgB,CAAyB;gBAErC,MAAM,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAKxC,SAAS,CAAC,QAAQ,KAAK,eAAe,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEtD,IAAI,OAAO,YAA2B;IAEtC,IAAI,KAAK,WAA0B;IAE5B,mBAAmB,CAAC,MAAM,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAM1C,YAAY,CAAC,KAAK,EAAE,CAAC;IAQ5B,QAAQ;IAuBR,YAAY;IAMlB,KAAK;WAKQ,aAAa,CAAC,YAAY,EAAE,aAAa,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,EAAE,UAAU,UAAO;CAQxG"}
|
|
@@ -22,6 +22,13 @@ class ValidatableModel {
|
|
|
22
22
|
this._strings = config === null || config === void 0 ? void 0 : config.errors;
|
|
23
23
|
return this;
|
|
24
24
|
}
|
|
25
|
+
async testValidate(value) {
|
|
26
|
+
if (this._validator) {
|
|
27
|
+
const res = await this._validator(value);
|
|
28
|
+
return res;
|
|
29
|
+
}
|
|
30
|
+
return null;
|
|
31
|
+
}
|
|
25
32
|
async validate() {
|
|
26
33
|
if (!this._validator) {
|
|
27
34
|
return true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Validatable.js","sourceRoot":"","sources":["../../src/viewModels/Validatable.ts"],"names":[],"mappings":";;;;AAAA,+BAA0D;AAC1D,8CAA6G;AAC7G,4CAA4C;AAU5C,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,6BAAgB,CAAC,IAAI,CAAC;AACnD,MAAsB,gBAAgB;IAUlC,YAAY,MAA4B;QARhC,eAAU,GAAgC,IAAI,CAAC;QAC/C,aAAQ,GAA4B,IAAI,CAAC;QAGzC,WAAM,GAAW,IAAI,CAAC;QAEtB,qBAAgB,GAAoB,IAAI,CAAC;QAG7C,qBAAc,CAAC,IAAI,CAAC,CAAC;QACrB,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAID,IAAI,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAEtC,IAAI,KAAK,KAAK,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAE5B,mBAAmB,CAAC,MAA4B;QACnD,IAAI,CAAC,UAAU,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,KAAI,cAAc,CAAC;QACtD,IAAI,CAAC,QAAQ,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,CAAC;QAC/B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,QAAQ;QACV,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YAClB,OAAO,IAAI,CAAC;SACf;QAED,IAAI;YACA,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAC1D,IAAI,CAAC,gBAAgB,GAAG,KAAK,KAAK,6BAAgB,CAAC,IAAI;gBACnD,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,IAAI,4BAAe,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;SACrD;QAAC,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,gBAAgB,GAAG,GAAsB,CAAC;SAClD;QAED,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;YACxB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;SACtB;aAAM;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;YACxC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;SACtD;QACD,OAAO,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,YAAY;QACd,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QACpC,OAAO,CAAC,KAAK,CAAC;IAClB,CAAC;IAGD,KAAK;QACD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IACvB,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,YAAuD,EAAE,UAAU,GAAG,IAAI;QACjG,IAAI,UAAU,EAAE;YACZ,OAAO,kBAAS,CAAC,YAAY,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;SACpE;QAED,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QACvE,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACjC,CAAC;CACJ;
|
|
1
|
+
{"version":3,"file":"Validatable.js","sourceRoot":"","sources":["../../src/viewModels/Validatable.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { updateArray } from '../update';
|
|
2
|
+
|
|
3
|
+
describe('fields/update', () => {
|
|
4
|
+
it('empty input', () => {
|
|
5
|
+
expect(updateArray(null, null)).toStrictEqual({ changed: 0, result: null });
|
|
6
|
+
});
|
|
7
|
+
|
|
8
|
+
it('updates primitives | numbers', () => {
|
|
9
|
+
const target = [1, 5, 3];
|
|
10
|
+
const source = [4, 3, 2];
|
|
11
|
+
|
|
12
|
+
const results1 = updateArray(target, source, { clone: true });
|
|
13
|
+
expect(results1.changed).toBe(4);
|
|
14
|
+
expect(results1.result).toStrictEqual([2, 3, 4]);
|
|
15
|
+
|
|
16
|
+
const results2 = updateArray(target, source, { sorter: null });
|
|
17
|
+
expect(results2.changed).toBe(4);
|
|
18
|
+
expect(results2.result).toStrictEqual([3, 4, 2]);
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
it('updates primitives | strings', () => {
|
|
22
|
+
const target = ['a', 'b', 'c'];
|
|
23
|
+
const source = ['b', 'c', 'd'];
|
|
24
|
+
|
|
25
|
+
const results = updateArray(target, source);
|
|
26
|
+
|
|
27
|
+
expect(results.changed).toBe(2);
|
|
28
|
+
expect(results.result).toStrictEqual(source);
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
describe('updates objects', () => {
|
|
32
|
+
it('no options', () => {
|
|
33
|
+
const res = updateArray([
|
|
34
|
+
{ id: 1, v: 'a' },
|
|
35
|
+
{ id: 5, v: 'e' },
|
|
36
|
+
{ id: 3, v: 'c' },
|
|
37
|
+
], [
|
|
38
|
+
{ id: 2, v: 'b' },
|
|
39
|
+
]);
|
|
40
|
+
|
|
41
|
+
expect(res.changed).toBe(4);
|
|
42
|
+
expect(res.result).toStrictEqual([
|
|
43
|
+
{ id: 2, v: 'b' },
|
|
44
|
+
]);
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
// eslint-disable-next-line jest/expect-expect
|
|
48
|
+
it('full options', () => {
|
|
49
|
+
const res = updateArray([
|
|
50
|
+
{ id: 1, v: 'a' },
|
|
51
|
+
{ id: 5, v: 'e' },
|
|
52
|
+
{ id: 3, v: 'c' },
|
|
53
|
+
], [
|
|
54
|
+
{ id: 2, v: 'b' },
|
|
55
|
+
{ id: 1, v: '1K' },
|
|
56
|
+
], {
|
|
57
|
+
clone: true,
|
|
58
|
+
comparator: (v1, v2) => v1.id === v2.id,
|
|
59
|
+
updater: (t, s) => {
|
|
60
|
+
t.v = s.v + '_' + t.id;
|
|
61
|
+
return t;
|
|
62
|
+
},
|
|
63
|
+
sorter: (v1, v2) => v1.id - v2.id,
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
expect(res.changed).toBe(3);
|
|
67
|
+
expect(res.result).toStrictEqual([
|
|
68
|
+
{ id: 1, v: '1K_1' },
|
|
69
|
+
{ id: 2, v: 'b' },
|
|
70
|
+
]);
|
|
71
|
+
});
|
|
72
|
+
});
|
|
73
|
+
});
|
package/src/fields/update.ts
CHANGED
|
@@ -1,9 +1,14 @@
|
|
|
1
|
+
import { Comparator } from '../types';
|
|
2
|
+
|
|
3
|
+
export namespace Fields {
|
|
4
|
+
export type Getter<T> = (obj: Partial<T>) => T[keyof T];
|
|
5
|
+
export type Setter<T> = (obj: Partial<T>, val: T[keyof T]) => void;
|
|
6
|
+
export type Comparer<T> = (source: Partial<T>, target: Partial<T>) => boolean;
|
|
7
|
+
export type Updater<T> = (target: T, source: T) => T;
|
|
8
|
+
}
|
|
1
9
|
|
|
2
|
-
export type Getter<T> = (obj: Partial<T>) => T[keyof T];
|
|
3
|
-
export type Setter<T> = (obj: Partial<T>, val: T[keyof T]) => void;
|
|
4
|
-
export type Comparer<T> = (source: Partial<T>, target: Partial<T>) => boolean;
|
|
5
10
|
|
|
6
|
-
export function updateField<T>(target: T, source: Partial<T>, diff: Partial<T>, key: keyof T, hasChanged: Comparer<T> = null): boolean {
|
|
11
|
+
export function updateField<T>(target: T, source: Partial<T>, diff: Partial<T>, key: keyof T, hasChanged: Fields.Comparer<T> = null): boolean {
|
|
7
12
|
return updateFieldExtended(target, source, diff, t => t[key], (t, v) => t[key] = v, hasChanged);
|
|
8
13
|
}
|
|
9
14
|
|
|
@@ -11,9 +16,9 @@ export function updateFieldExtended<T>(
|
|
|
11
16
|
target: T,
|
|
12
17
|
source: Partial<T>,
|
|
13
18
|
diff: Partial<T>,
|
|
14
|
-
get: Getter<T>,
|
|
15
|
-
set: Setter<T>,
|
|
16
|
-
hasChanged: Comparer<T> = null,
|
|
19
|
+
get: Fields.Getter<T>,
|
|
20
|
+
set: Fields.Setter<T>,
|
|
21
|
+
hasChanged: Fields.Comparer<T> = null,
|
|
17
22
|
): boolean {
|
|
18
23
|
|
|
19
24
|
hasChanged = hasChanged || ((v1: T, v2: T) => (get(v1) !== get(v2)));
|
|
@@ -30,32 +35,61 @@ export function updateFieldExtended<T>(
|
|
|
30
35
|
|
|
31
36
|
}
|
|
32
37
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
38
|
+
const DefaultComparator: Comparator<any> = (v1, v2) => v1 === v2;
|
|
39
|
+
const DefaultUpdater: Fields.Updater<any> = (v1, v2) => Object.assign(v1, v2);
|
|
40
|
+
|
|
41
|
+
export type UpdateArrayOptions<T> = {
|
|
42
|
+
additive?: boolean,
|
|
43
|
+
clone?: boolean,
|
|
44
|
+
comparator?: Comparator<T>,
|
|
45
|
+
updater?: Fields.Updater<T>,
|
|
46
|
+
sorter?: Comparator<T, number> | null | undefined,
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
export function updateArray<T>(
|
|
50
|
+
target: T[] | null,
|
|
51
|
+
source: T[],
|
|
52
|
+
options?: UpdateArrayOptions<T>,
|
|
53
|
+
): { changed: number, result: T[] } {
|
|
54
|
+
if (!source) {
|
|
55
|
+
return { changed: 0, result: target };
|
|
36
56
|
}
|
|
37
57
|
|
|
38
58
|
let changed = 0;
|
|
39
|
-
const result =
|
|
59
|
+
const result = Array.isArray(target)
|
|
60
|
+
? (options?.clone ? target.slice() : target)
|
|
61
|
+
: [];
|
|
62
|
+
|
|
63
|
+
const comparator = options?.comparator || DefaultComparator;
|
|
64
|
+
const updater = options?.updater || DefaultUpdater;
|
|
40
65
|
|
|
41
66
|
// remove all missing elements
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
67
|
+
if (!options?.additive) {
|
|
68
|
+
for (let i = 0; i < result.length; ++i) {
|
|
69
|
+
if (source.find(item => comparator(item, result[i])) == null) {
|
|
70
|
+
result.splice(i, 1);
|
|
71
|
+
++changed;
|
|
72
|
+
--i;
|
|
73
|
+
}
|
|
47
74
|
}
|
|
48
75
|
}
|
|
49
76
|
|
|
50
|
-
// add all new elements
|
|
51
|
-
|
|
52
|
-
|
|
77
|
+
// add all new elements and update existing
|
|
78
|
+
source.forEach(i => {
|
|
79
|
+
const existingIndex = result.findIndex(item => comparator(i, item));
|
|
80
|
+
const existingItem = result[existingIndex];
|
|
81
|
+
if (existingIndex < 0) {
|
|
53
82
|
result.push(i);
|
|
54
83
|
++changed;
|
|
84
|
+
} else if (typeof existingItem === 'object') {
|
|
85
|
+
result[existingIndex] = updater(existingItem, i);
|
|
55
86
|
}
|
|
56
87
|
});
|
|
57
88
|
|
|
58
|
-
|
|
89
|
+
const sorter = options?.sorter;
|
|
90
|
+
if (sorter !== null) {
|
|
91
|
+
result.sort(sorter || undefined);
|
|
92
|
+
}
|
|
59
93
|
|
|
60
94
|
return {
|
|
61
95
|
result,
|
package/src/ident.ts
ADDED
package/src/math/arrays.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Comparator, Predicate } from '../types';
|
|
1
|
+
import { Comparator, Getter, Predicate } from '../types';
|
|
2
2
|
import { random } from './calc';
|
|
3
3
|
|
|
4
4
|
export function arrayCompareG<T>(arr: ReadonlyArray<T>, cond: (current: T, previous: T) => boolean): T {
|
|
@@ -251,3 +251,11 @@ export function removeItem<T>(array: T[], item: NonFunction<T> | Predicate<T>):
|
|
|
251
251
|
|
|
252
252
|
return array.splice(index, 1)[0];
|
|
253
253
|
}
|
|
254
|
+
|
|
255
|
+
export function arrayRepeat<T>(factory: Getter<T>, count = 1) {
|
|
256
|
+
const res: T[] = [];
|
|
257
|
+
for (let i = 0; i < count; ++i) {
|
|
258
|
+
res.push(Getter.getValue(factory));
|
|
259
|
+
}
|
|
260
|
+
return res;
|
|
261
|
+
}
|
|
@@ -56,7 +56,7 @@ export class MultiSelect<T = any> extends ValidatableModel<ReadonlyArray<T>> imp
|
|
|
56
56
|
set value(v: readonly string[]) { this.selectValues(v); }
|
|
57
57
|
|
|
58
58
|
isIndexSelected(index: number) { return this._indexes.has(index); }
|
|
59
|
-
isValueSelected(value: string) { return this.
|
|
59
|
+
isValueSelected(value: string) { return this.selectedValues.includes(value); }
|
|
60
60
|
|
|
61
61
|
get count() { return this._items.length; }
|
|
62
62
|
get selectedCount() { return this._indexes.size; }
|
|
@@ -121,6 +121,9 @@ export class MultiSelect<T = any> extends ValidatableModel<ReadonlyArray<T>> imp
|
|
|
121
121
|
}
|
|
122
122
|
};
|
|
123
123
|
|
|
124
|
+
selectIndex = (index: number) => this.setIndexSelected(index, true);
|
|
125
|
+
deSelectIndex = (index: number) => this.setIndexSelected(index, false);
|
|
126
|
+
|
|
124
127
|
reset = () => {
|
|
125
128
|
super.reset();
|
|
126
129
|
this.setInitialIndexes();
|
|
@@ -61,5 +61,5 @@ export class PromptModalViewModel extends ModalActionModel<PromptModalAction> {
|
|
|
61
61
|
get rejectColor() { return this.currentAction.rejectColor; }
|
|
62
62
|
|
|
63
63
|
onConfirm = () => this.runAction(this.currentAction.onConfirm, true, this.currentAction.awaitActions);
|
|
64
|
-
onReject = () => this.runAction(this.currentAction.
|
|
64
|
+
onReject = () => this.runAction(this.currentAction.onReject, true, this.currentAction.awaitActions);
|
|
65
65
|
}
|