dyo-tools 0.1.0-rc2 → 0.2.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/.c8rc.json +4 -0
- package/.eslintignore +2 -0
- package/.eslintrc.json +47 -0
- package/LICENSE +21 -0
- package/Makefile +34 -0
- package/README.md +0 -7
- package/babel.config.js +1 -0
- package/cucumber-report.html +48 -0
- package/cucumber.js +9 -0
- package/dist/constants.d.ts +6 -0
- package/dist/constants.js +63 -0
- package/dist/constants.js.map +1 -0
- package/dist/core/DTBunch.d.ts +11 -15
- package/dist/core/DTBunch.js +27 -106
- package/dist/core/DTBunch.js.map +1 -1
- package/dist/core/DTComponent.d.ts +13 -5
- package/dist/core/DTComponent.js +39 -1
- package/dist/core/DTComponent.js.map +1 -1
- package/dist/core/DTComponentPhysical.d.ts +10 -0
- package/dist/core/DTComponentPhysical.js +16 -0
- package/dist/core/DTComponentPhysical.js.map +1 -0
- package/dist/core/DTComponentWithMeta.d.ts +2 -2
- package/dist/core/DTComponentWithMeta.js.map +1 -1
- package/dist/core/DTElement.d.ts +2 -7
- package/dist/core/DTElement.js +3 -12
- package/dist/core/DTElement.js.map +1 -1
- package/dist/core/DTManager.d.ts +31 -0
- package/dist/core/DTManager.js +180 -0
- package/dist/core/DTManager.js.map +1 -0
- package/dist/core/DTPlayer.js +1 -1
- package/dist/core/DTPlayer.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/libs/DYOFinder.d.ts +10 -0
- package/dist/libs/DYOFinder.js +96 -0
- package/dist/libs/DYOFinder.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1321
- package/dist/types/index.d.ts +64 -24
- package/dist/types/index.js.map +1 -1
- package/docs/.nojekyll +1 -0
- package/docs/assets/highlight.css +29 -0
- package/docs/assets/main.js +58 -0
- package/docs/assets/search.js +1 -0
- package/docs/assets/style.css +1367 -0
- package/docs/index.html +46 -0
- package/e2e/0.2.0/epic1.feature +29 -0
- package/e2e/0.2.0/epic2.feature +22 -0
- package/e2e/0.2.0/epic3.feature +25 -0
- package/e2e/0.2.0/resources/dominion.js +195 -0
- package/e2e/0.2.0/resources/utils.js +27 -0
- package/e2e/0.2.0/support/steps.js +108 -0
- package/e2e/future/epic4.feature +39 -0
- package/e2e/future/resources/dominion.js +238 -0
- package/e2e/future/resources/utils.js +27 -0
- package/jest.config.js +6 -0
- package/package.json +33 -23
- package/src/constants.ts +85 -0
- package/src/core/DTBunch.ts +461 -0
- package/src/core/DTComponent.ts +225 -0
- package/src/core/DTComponentPhysical.ts +39 -0
- package/src/core/DTComponentWithMeta.ts +65 -0
- package/src/core/DTElement.ts +69 -0
- package/src/core/DTError.ts +78 -0
- package/src/core/DTManager.ts +446 -0
- package/src/core/DTPlayer.ts +57 -0
- package/src/index.ts +9 -0
- package/src/libs/DYOFinder.ts +175 -0
- package/src/types/index.ts +162 -0
- package/test/core/DTBunch.double.ts +253 -0
- package/test/core/DTBunch.spec.ts +895 -0
- package/test/core/DTComponent.double.ts +164 -0
- package/test/core/DTComponent.spec.ts +295 -0
- package/test/core/DTComponentPhysical.double.ts +76 -0
- package/test/core/DTComponentPhysical.spec.ts +64 -0
- package/test/core/DTComponentWithMeta.double.ts +115 -0
- package/test/core/DTComponentWithMeta.spec.ts +124 -0
- package/test/core/DTElement.double.ts +147 -0
- package/test/core/DTElement.spec.ts +102 -0
- package/test/core/DTError.double.ts +92 -0
- package/test/core/DTError.spec.ts +89 -0
- package/test/core/DTManager.double.ts +192 -0
- package/test/core/DTManager.spec.ts +902 -0
- package/test/core/DTPlayer.double.ts +64 -0
- package/test/core/DTPlayer.spec.ts +80 -0
- package/test/core/copy.spec.ts +227 -0
- package/test/libs/DYOFinder.double.ts +152 -0
- package/test/libs/DYOFinder.spec.ts +194 -0
- package/tsconfig.dev.json +22 -0
- package/tsconfig.json +21 -0
- package/dist/utils/filters.d.ts +0 -6
- package/dist/utils/filters.js +0 -39
- package/dist/utils/filters.js.map +0 -1
package/cucumber.js
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { DTBunchOptions, DTManagerOptions, DYOFinderConfiguration } from './types';
|
|
2
|
+
export declare const bunchDefaultOptions: DTBunchOptions;
|
|
3
|
+
export declare const managerDefaultOptions: DTManagerOptions;
|
|
4
|
+
export declare const componentPhysicalDefaultFinderConfiguration: DYOFinderConfiguration;
|
|
5
|
+
export declare const componentManagerDefaultFinderConfiguration: DYOFinderConfiguration;
|
|
6
|
+
export declare const componentBunchDefaultFinderConfiguration: DYOFinderConfiguration;
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.componentBunchDefaultFinderConfiguration = exports.componentManagerDefaultFinderConfiguration = exports.componentPhysicalDefaultFinderConfiguration = exports.managerDefaultOptions = exports.bunchDefaultOptions = void 0;
|
|
4
|
+
const types_1 = require("./types");
|
|
5
|
+
exports.bunchDefaultOptions = {
|
|
6
|
+
errors: false,
|
|
7
|
+
uniqueKey: false,
|
|
8
|
+
inheritOwner: false,
|
|
9
|
+
replaceIndex: false,
|
|
10
|
+
virtualContext: false,
|
|
11
|
+
};
|
|
12
|
+
exports.managerDefaultOptions = {
|
|
13
|
+
errors: false,
|
|
14
|
+
libraryDeletion: false,
|
|
15
|
+
};
|
|
16
|
+
const baseOperators = [
|
|
17
|
+
types_1.FilterOperatorType.EQ,
|
|
18
|
+
types_1.FilterOperatorType.IN,
|
|
19
|
+
types_1.FilterOperatorType.NIN,
|
|
20
|
+
types_1.FilterOperatorType.NE,
|
|
21
|
+
];
|
|
22
|
+
const advancedOperators = [
|
|
23
|
+
...baseOperators,
|
|
24
|
+
types_1.FilterOperatorType.GTE,
|
|
25
|
+
types_1.FilterOperatorType.LTE,
|
|
26
|
+
types_1.FilterOperatorType.CONTAINS,
|
|
27
|
+
types_1.FilterOperatorType.NCONTAINS,
|
|
28
|
+
];
|
|
29
|
+
exports.componentPhysicalDefaultFinderConfiguration = {
|
|
30
|
+
id: {
|
|
31
|
+
operators: baseOperators,
|
|
32
|
+
getValue: (item) => item.getId(),
|
|
33
|
+
objectSearch: false,
|
|
34
|
+
},
|
|
35
|
+
key: {
|
|
36
|
+
operators: baseOperators,
|
|
37
|
+
getValue: (item) => item.getKey(),
|
|
38
|
+
objectSearch: false,
|
|
39
|
+
},
|
|
40
|
+
owner: {
|
|
41
|
+
operators: baseOperators,
|
|
42
|
+
getValue: (item) => (item.getOwner() ? item.getOwner().getId() : null),
|
|
43
|
+
objectSearch: false,
|
|
44
|
+
},
|
|
45
|
+
meta: {
|
|
46
|
+
operators: advancedOperators,
|
|
47
|
+
getValue: (item) => item.getManyMeta(),
|
|
48
|
+
objectSearch: true,
|
|
49
|
+
},
|
|
50
|
+
};
|
|
51
|
+
exports.componentManagerDefaultFinderConfiguration = Object.assign(Object.assign({}, exports.componentPhysicalDefaultFinderConfiguration), { scope: {
|
|
52
|
+
operators: baseOperators,
|
|
53
|
+
getValue(item, ctx) {
|
|
54
|
+
return ctx.getScope(item.getId());
|
|
55
|
+
},
|
|
56
|
+
objectSearch: false,
|
|
57
|
+
} });
|
|
58
|
+
exports.componentBunchDefaultFinderConfiguration = Object.assign(Object.assign({}, exports.componentPhysicalDefaultFinderConfiguration), { context: {
|
|
59
|
+
operators: baseOperators,
|
|
60
|
+
getValue: (item) => (item.getContext() ? item.getContext().getId() : null),
|
|
61
|
+
objectSearch: false,
|
|
62
|
+
} });
|
|
63
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAAA,mCAOiB;AAOJ,QAAA,mBAAmB,GAAmB;IACjD,MAAM,EAAE,KAAK;IACb,SAAS,EAAE,KAAK;IAChB,YAAY,EAAE,KAAK;IACnB,YAAY,EAAE,KAAK;IACnB,cAAc,EAAE,KAAK;CACtB,CAAC;AAGW,QAAA,qBAAqB,GAAqB;IACrD,MAAM,EAAE,KAAK;IACb,eAAe,EAAE,KAAK;CACvB,CAAC;AAGF,MAAM,aAAa,GAAG;IACpB,0BAAkB,CAAC,EAAE;IACrB,0BAAkB,CAAC,EAAE;IACrB,0BAAkB,CAAC,GAAG;IACtB,0BAAkB,CAAC,EAAE;CACtB,CAAC;AACF,MAAM,iBAAiB,GAAG;IACxB,GAAG,aAAa;IAChB,0BAAkB,CAAC,GAAG;IACtB,0BAAkB,CAAC,GAAG;IACtB,0BAAkB,CAAC,QAAQ;IAC3B,0BAAkB,CAAC,SAAS;CAC7B,CAAC;AAEW,QAAA,2CAA2C,GAA2B;IACjF,EAAE,EAAE;QACF,SAAS,EAAE,aAAa;QACxB,QAAQ,EAAE,CAAC,IAA6C,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE;QACzE,YAAY,EAAE,KAAK;KACpB;IACD,GAAG,EAAE;QACH,SAAS,EAAE,aAAa;QACxB,QAAQ,EAAE,CAAC,IAA6C,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE;QAC1E,YAAY,EAAE,KAAK;KACpB;IACD,KAAK,EAAE;QACL,SAAS,EAAE,aAAa;QACxB,QAAQ,EAAE,CAAC,IAA6C,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAC/G,YAAY,EAAE,KAAK;KACpB;IACD,IAAI,EAAE;QACJ,SAAS,EAAE,iBAAiB;QAC5B,QAAQ,EAAE,CAAC,IAA6C,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE;QAC/E,YAAY,EAAE,IAAI;KACnB;CACF,CAAC;AAEW,QAAA,0CAA0C,mCAClD,mDAA2C,KAC9C,KAAK,EAAE;QACL,SAAS,EAAE,aAAa;QACxB,QAAQ,CAAC,IAA4C,EAAE,GAA6C;YAClG,OAAO,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QACpC,CAAC;QACD,YAAY,EAAE,KAAK;KACpB,IACD;AAEW,QAAA,wCAAwC,mCAChD,mDAA2C,KAC9C,OAAO,EAAE;QACP,SAAS,EAAE,aAAa;QACxB,QAAQ,EAAE,CAAC,IAA6C,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACnH,YAAY,EAAE,KAAK;KACpB,IACD"}
|
package/dist/core/DTBunch.d.ts
CHANGED
|
@@ -1,24 +1,20 @@
|
|
|
1
|
-
import DYOToolsComponentWithMeta from './DTComponentWithMeta';
|
|
2
1
|
import DYOToolsElement from './DTElement';
|
|
3
|
-
import { DTAcceptedMetaData, DTBunchFilters,
|
|
2
|
+
import { DTAcceptedMetaData, DTBunchFilters, DTBunchOptions, DTBunchToObject, DYOFinderConfiguration } from '../types';
|
|
4
3
|
import DYOToolsPlayer from './DTPlayer';
|
|
5
|
-
import
|
|
6
|
-
|
|
4
|
+
import DYOToolsComponentPhysical from './DTComponentPhysical';
|
|
5
|
+
import DYOFinder from '../libs/DYOFinder';
|
|
6
|
+
export default class DYOToolsBunch<IBunchItem extends DYOToolsElement<DTAcceptedMetaData>, IComponentMeta extends DTAcceptedMetaData = DTAcceptedMetaData> extends DYOToolsComponentPhysical<IComponentMeta, DTBunchOptions> {
|
|
7
7
|
protected _componentType: string;
|
|
8
|
-
protected _owner?: DYOToolsPlayer<DTAcceptedMetaData>;
|
|
9
8
|
protected _items: IBunchItem[];
|
|
10
|
-
protected
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
getOwner(): DYOToolsPlayer<DTAcceptedMetaData>;
|
|
9
|
+
protected _finder: DYOFinder;
|
|
10
|
+
constructor(key?: string, items?: IBunchItem[], options?: Partial<DTBunchOptions>);
|
|
11
|
+
getFinderConfiguration(): DYOFinderConfiguration;
|
|
14
12
|
setOwner(value: DYOToolsPlayer<DTAcceptedMetaData>): void;
|
|
15
13
|
removeOwner(): void;
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
addMany(items: IBunchItem[], options?: Partial<DTBunchOptionsEditable>): void;
|
|
21
|
-
addManyAtIndex(items: IBunchItem[], index: number, options?: Partial<DTBunchOptionsEditable>): void;
|
|
14
|
+
add(item: IBunchItem, options?: Partial<Omit<DTBunchOptions, 'virtualContext'>>): void;
|
|
15
|
+
addAtIndex(item: IBunchItem, index: number, options?: Partial<Omit<DTBunchOptions, 'virtualContext'>>): void;
|
|
16
|
+
addMany(items: IBunchItem[], options?: Partial<Omit<DTBunchOptions, 'virtualContext'>>): void;
|
|
17
|
+
addManyAtIndex(items: IBunchItem[], index: number, options?: Partial<Omit<DTBunchOptions, 'virtualContext'>>): void;
|
|
22
18
|
get(index: string | number): IBunchItem | undefined;
|
|
23
19
|
getAll(): IBunchItem[];
|
|
24
20
|
indexOf(id: string): number;
|
package/dist/core/DTBunch.js
CHANGED
|
@@ -1,77 +1,53 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const DTComponentWithMeta_1 = require("./DTComponentWithMeta");
|
|
4
|
-
const types_1 = require("../types");
|
|
5
3
|
const DTError_1 = require("./DTError");
|
|
6
|
-
const
|
|
7
|
-
|
|
4
|
+
const DTComponentPhysical_1 = require("./DTComponentPhysical");
|
|
5
|
+
const constants_1 = require("../constants");
|
|
6
|
+
const DYOFinder_1 = require("../libs/DYOFinder");
|
|
7
|
+
class DYOToolsBunch extends DTComponentPhysical_1.default {
|
|
8
8
|
constructor(key, items = [], options = {}) {
|
|
9
|
-
super(key);
|
|
9
|
+
super(key, Object.assign(Object.assign({}, constants_1.bunchDefaultOptions), options));
|
|
10
10
|
this._componentType = 'bunch';
|
|
11
|
-
const defaultOptions = {
|
|
12
|
-
errors: false,
|
|
13
|
-
uniqueKey: false,
|
|
14
|
-
inheritOwner: false,
|
|
15
|
-
replaceIndex: false,
|
|
16
|
-
virtualContext: false,
|
|
17
|
-
};
|
|
18
|
-
this._globalOptions = Object.assign(Object.assign({}, defaultOptions), options);
|
|
19
|
-
this._errors = [];
|
|
20
11
|
this._items = [];
|
|
21
12
|
if (items && items.length > 0) {
|
|
22
13
|
this.addMany(items);
|
|
23
14
|
}
|
|
15
|
+
this._finder = new DYOFinder_1.default(this, this.getFinderConfiguration());
|
|
24
16
|
}
|
|
25
|
-
|
|
26
|
-
return
|
|
17
|
+
getFinderConfiguration() {
|
|
18
|
+
return constants_1.componentBunchDefaultFinderConfiguration;
|
|
27
19
|
}
|
|
28
20
|
setOwner(value) {
|
|
29
|
-
|
|
30
|
-
const { inheritOwner } = this.
|
|
21
|
+
super.setOwner(value);
|
|
22
|
+
const { inheritOwner } = this._options;
|
|
31
23
|
if (inheritOwner) {
|
|
32
24
|
this._items.forEach((item) => { item.setOwner(this.getOwner()); });
|
|
33
25
|
}
|
|
34
26
|
}
|
|
35
27
|
removeOwner() {
|
|
36
|
-
|
|
37
|
-
const { inheritOwner } = this.
|
|
28
|
+
super.removeOwner();
|
|
29
|
+
const { inheritOwner } = this._options;
|
|
38
30
|
if (inheritOwner) {
|
|
39
31
|
this._items.forEach((item) => { item.removeOwner(); });
|
|
40
32
|
}
|
|
41
33
|
}
|
|
42
|
-
getErrors() {
|
|
43
|
-
return this._errors;
|
|
44
|
-
}
|
|
45
|
-
getLastError() {
|
|
46
|
-
return this._errors.length > 0 ? this._errors[this._errors.length - 1] : undefined;
|
|
47
|
-
}
|
|
48
34
|
add(item, options = {}) {
|
|
49
35
|
this.addAtIndex(item, this._items.length, options);
|
|
50
36
|
}
|
|
51
37
|
addAtIndex(item, index, options = {}) {
|
|
52
|
-
const {
|
|
38
|
+
const { uniqueKey, replaceIndex, inheritOwner, virtualContext, } = Object.assign(Object.assign({}, this._options), options);
|
|
53
39
|
let hasError = false;
|
|
54
40
|
let finalIndex = index;
|
|
55
41
|
const existingItem = this.get(item.getId());
|
|
56
42
|
if (existingItem) {
|
|
57
43
|
hasError = true;
|
|
58
|
-
|
|
59
|
-
this._errors.push(new DTError_1.default('id_conflict', 'Element with same id already exists in the bunch', this, item));
|
|
60
|
-
}
|
|
61
|
-
else {
|
|
62
|
-
throw new DTError_1.default('id_conflict', 'Element with same id already exists in the bunch', this, item);
|
|
63
|
-
}
|
|
44
|
+
this.triggerError(new DTError_1.default('id_conflict', 'Element with same id already exists in the bunch', this, item));
|
|
64
45
|
}
|
|
65
46
|
if (uniqueKey && !hasError) {
|
|
66
47
|
const existingItemByKey = this.find({ key: { $eq: item.getKey() } });
|
|
67
48
|
if (existingItemByKey) {
|
|
68
49
|
hasError = true;
|
|
69
|
-
|
|
70
|
-
this._errors.push(new DTError_1.default('key_conflict', 'Element with same key already exists in the bunch', this, item));
|
|
71
|
-
}
|
|
72
|
-
else {
|
|
73
|
-
throw new DTError_1.default('key_conflict', 'Element with same key already exists in the bunch', this, item);
|
|
74
|
-
}
|
|
50
|
+
this.triggerError(new DTError_1.default('key_conflict', 'Element with same key already exists in the bunch', this, item));
|
|
75
51
|
}
|
|
76
52
|
}
|
|
77
53
|
if (!hasError) {
|
|
@@ -81,7 +57,7 @@ class DYOToolsBunch extends DTComponentWithMeta_1.default {
|
|
|
81
57
|
if (index > this._items.length) {
|
|
82
58
|
finalIndex = this._items.length;
|
|
83
59
|
}
|
|
84
|
-
if (!
|
|
60
|
+
if (!virtualContext) {
|
|
85
61
|
const oldContext = item.getContext();
|
|
86
62
|
if (oldContext && oldContext.getComponentType() === 'bunch') {
|
|
87
63
|
oldContext.remove(item.getId());
|
|
@@ -91,6 +67,12 @@ class DYOToolsBunch extends DTComponentWithMeta_1.default {
|
|
|
91
67
|
if (inheritOwner) {
|
|
92
68
|
item.setOwner(this._owner);
|
|
93
69
|
}
|
|
70
|
+
if (this.getContext('manager')) {
|
|
71
|
+
const manager = this.getContext('manager');
|
|
72
|
+
if (!manager.getLibrary().get(item.getId())) {
|
|
73
|
+
manager.getLibrary().add(item);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
94
76
|
if (replaceIndex) {
|
|
95
77
|
this._items[finalIndex] = item;
|
|
96
78
|
}
|
|
@@ -106,7 +88,7 @@ class DYOToolsBunch extends DTComponentWithMeta_1.default {
|
|
|
106
88
|
}
|
|
107
89
|
addManyAtIndex(items, index, options = {}) {
|
|
108
90
|
const previousItems = this._items;
|
|
109
|
-
const { errors } = Object.assign(Object.assign({}, this.
|
|
91
|
+
const { errors } = Object.assign(Object.assign({}, this._options), options);
|
|
110
92
|
let currentIndex = index;
|
|
111
93
|
if (index < 0) {
|
|
112
94
|
currentIndex = 0;
|
|
@@ -153,7 +135,7 @@ class DYOToolsBunch extends DTComponentWithMeta_1.default {
|
|
|
153
135
|
}
|
|
154
136
|
}
|
|
155
137
|
removeMany(indexes) {
|
|
156
|
-
const { virtualContext } = this.
|
|
138
|
+
const { virtualContext } = this._options;
|
|
157
139
|
const newItems = [];
|
|
158
140
|
for (let i = 0; i < this._items.length; i += 1) {
|
|
159
141
|
if (typeof indexes[0] === 'number') {
|
|
@@ -178,78 +160,17 @@ class DYOToolsBunch extends DTComponentWithMeta_1.default {
|
|
|
178
160
|
this.removeMany(keysToRemove);
|
|
179
161
|
}
|
|
180
162
|
find(filters) {
|
|
181
|
-
|
|
182
|
-
const validOperatorsBase = [
|
|
183
|
-
types_1.FilterOperatorType.EQ,
|
|
184
|
-
types_1.FilterOperatorType.IN,
|
|
185
|
-
types_1.FilterOperatorType.NIN,
|
|
186
|
-
types_1.FilterOperatorType.NE,
|
|
187
|
-
];
|
|
188
|
-
const validOperatorsMeta = [
|
|
189
|
-
types_1.FilterOperatorType.EQ,
|
|
190
|
-
types_1.FilterOperatorType.IN,
|
|
191
|
-
types_1.FilterOperatorType.NIN,
|
|
192
|
-
types_1.FilterOperatorType.NE,
|
|
193
|
-
types_1.FilterOperatorType.LTE,
|
|
194
|
-
types_1.FilterOperatorType.GTE,
|
|
195
|
-
types_1.FilterOperatorType.CONTAINS,
|
|
196
|
-
types_1.FilterOperatorType.NCONTAINS,
|
|
197
|
-
];
|
|
198
|
-
const checkAllValidFiltersForProp = (itemProp, operators, validOperators) => {
|
|
199
|
-
if (Object.keys(operators).length) {
|
|
200
|
-
for (const operator of Object.keys(operators)) {
|
|
201
|
-
if (!validOperators.includes(operator)
|
|
202
|
-
|| !filters_1.validFiltersForItem(itemProp, operators[operator], operator)) {
|
|
203
|
-
return false;
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
|
-
return true;
|
|
207
|
-
}
|
|
208
|
-
return false;
|
|
209
|
-
};
|
|
210
|
-
for (const item of this._items) {
|
|
211
|
-
let validItem = !!(Object.keys(filters).length);
|
|
212
|
-
if (filters.id && !checkAllValidFiltersForProp(item.getId(), filters.id, validOperatorsBase)) {
|
|
213
|
-
validItem = false;
|
|
214
|
-
}
|
|
215
|
-
if (filters.key && !checkAllValidFiltersForProp(item.getKey(), filters.key, validOperatorsBase)) {
|
|
216
|
-
validItem = false;
|
|
217
|
-
}
|
|
218
|
-
const itemContext = item.getContext() ? item.getContext().getId() : null;
|
|
219
|
-
if (filters.context && !checkAllValidFiltersForProp(itemContext, filters.context, validOperatorsBase)) {
|
|
220
|
-
validItem = false;
|
|
221
|
-
}
|
|
222
|
-
const itemOwner = item.getOwner() ? item.getOwner().getId() : null;
|
|
223
|
-
if (filters.owner && !checkAllValidFiltersForProp(itemOwner, filters.owner, validOperatorsBase)) {
|
|
224
|
-
validItem = false;
|
|
225
|
-
}
|
|
226
|
-
if (filters.meta) {
|
|
227
|
-
if (Object.keys(filters.meta).length) {
|
|
228
|
-
const itemMeta = item.getManyMeta();
|
|
229
|
-
for (const [meta, filter] of Object.entries(filters.meta)) {
|
|
230
|
-
const metaValue = Object.prototype.hasOwnProperty.call(itemMeta, meta) ? itemMeta[meta] : null;
|
|
231
|
-
if (!checkAllValidFiltersForProp(metaValue, filter, validOperatorsMeta)) {
|
|
232
|
-
validItem = false;
|
|
233
|
-
break;
|
|
234
|
-
}
|
|
235
|
-
}
|
|
236
|
-
}
|
|
237
|
-
}
|
|
238
|
-
if (validItem) {
|
|
239
|
-
filteredItems.push(item);
|
|
240
|
-
}
|
|
241
|
-
}
|
|
242
|
-
return filteredItems;
|
|
163
|
+
return this._finder.execute(filters);
|
|
243
164
|
}
|
|
244
165
|
copy() {
|
|
245
166
|
let copyItems;
|
|
246
|
-
if (this.
|
|
167
|
+
if (this._options.virtualContext) {
|
|
247
168
|
copyItems = this._items;
|
|
248
169
|
}
|
|
249
170
|
else {
|
|
250
171
|
copyItems = this._items.length === 0 ? [] : this._items.map((item) => item.copy());
|
|
251
172
|
}
|
|
252
|
-
const copyBunch = new DYOToolsBunch(this._key, copyItems, this.
|
|
173
|
+
const copyBunch = new DYOToolsBunch(this._key, copyItems, this._options);
|
|
253
174
|
copyBunch.setManyMeta(Object.assign({}, this.getManyMeta()));
|
|
254
175
|
return copyBunch;
|
|
255
176
|
}
|
package/dist/core/DTBunch.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DTBunch.js","sourceRoot":"","sources":["../../src/core/DTBunch.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"DTBunch.js","sourceRoot":"","sources":["../../src/core/DTBunch.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,20 +1,28 @@
|
|
|
1
|
-
|
|
1
|
+
import DYOToolsError from './DTError';
|
|
2
|
+
import { DTComponentOptions } from '../types';
|
|
3
|
+
export default abstract class DYOToolsComponent<IComponentOptions extends DTComponentOptions = DTComponentOptions> {
|
|
2
4
|
protected _id: string;
|
|
3
5
|
protected _key: string;
|
|
4
6
|
protected _context?: DYOToolsComponent;
|
|
5
7
|
protected abstract _componentType: string;
|
|
6
8
|
protected _domain?: string;
|
|
7
9
|
protected _subKind?: string;
|
|
8
|
-
|
|
10
|
+
protected _errors: DYOToolsError[];
|
|
11
|
+
protected _options: IComponentOptions;
|
|
12
|
+
constructor(key?: string, options?: Partial<IComponentOptions>);
|
|
9
13
|
getId(): string;
|
|
10
14
|
getKey(): string;
|
|
11
|
-
getContext(contextType?: string):
|
|
12
|
-
setContext(value:
|
|
15
|
+
getContext<IContext extends DYOToolsComponent = DYOToolsComponent>(contextType?: string): IContext | undefined;
|
|
16
|
+
setContext<IContext extends DYOToolsComponent = DYOToolsComponent>(value: IContext): void;
|
|
13
17
|
removeContext(): void;
|
|
14
18
|
getComponentType(): string;
|
|
15
19
|
getDomain(): string;
|
|
16
20
|
getSubKind(): string;
|
|
17
|
-
|
|
21
|
+
getErrors(): DYOToolsError[];
|
|
22
|
+
getLastError(): DYOToolsError | undefined;
|
|
23
|
+
triggerError(error: DYOToolsError): void;
|
|
24
|
+
clearErrors(): void;
|
|
25
|
+
getOptions(): IComponentOptions;
|
|
18
26
|
abstract toObject(): unknown;
|
|
19
27
|
abstract toString(): string;
|
|
20
28
|
}
|
package/dist/core/DTComponent.js
CHANGED
|
@@ -2,9 +2,14 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const uuid = require("uuid");
|
|
4
4
|
class DYOToolsComponent {
|
|
5
|
-
constructor(key) {
|
|
5
|
+
constructor(key, options = {}) {
|
|
6
6
|
this._id = uuid.v4();
|
|
7
7
|
this._key = key || this._id;
|
|
8
|
+
this._errors = [];
|
|
9
|
+
const defaultOptions = {
|
|
10
|
+
errors: false,
|
|
11
|
+
};
|
|
12
|
+
this._options = Object.assign(Object.assign({}, defaultOptions), options);
|
|
8
13
|
}
|
|
9
14
|
getId() {
|
|
10
15
|
return this._id;
|
|
@@ -36,6 +41,39 @@ class DYOToolsComponent {
|
|
|
36
41
|
getSubKind() {
|
|
37
42
|
return this._subKind;
|
|
38
43
|
}
|
|
44
|
+
getErrors() {
|
|
45
|
+
if (this.getContext()) {
|
|
46
|
+
return this.getContext().getErrors();
|
|
47
|
+
}
|
|
48
|
+
return this._errors;
|
|
49
|
+
}
|
|
50
|
+
getLastError() {
|
|
51
|
+
if (this.getContext()) {
|
|
52
|
+
return this.getContext().getLastError();
|
|
53
|
+
}
|
|
54
|
+
return this._errors.length > 0 ? this._errors[this._errors.length - 1] : undefined;
|
|
55
|
+
}
|
|
56
|
+
triggerError(error) {
|
|
57
|
+
const { errors = false } = this._options;
|
|
58
|
+
if (this.getContext()) {
|
|
59
|
+
this.getContext().triggerError(error);
|
|
60
|
+
}
|
|
61
|
+
else if (!errors) {
|
|
62
|
+
throw error;
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
this._errors.push(error);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
clearErrors() {
|
|
69
|
+
if (this.getContext()) {
|
|
70
|
+
this.getContext().clearErrors();
|
|
71
|
+
}
|
|
72
|
+
this._errors = [];
|
|
73
|
+
}
|
|
74
|
+
getOptions() {
|
|
75
|
+
return this._options;
|
|
76
|
+
}
|
|
39
77
|
}
|
|
40
78
|
exports.default = DYOToolsComponent;
|
|
41
79
|
//# sourceMappingURL=DTComponent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DTComponent.js","sourceRoot":"","sources":["../../src/core/DTComponent.ts"],"names":[],"mappings":";;AAAA,6BAA6B;
|
|
1
|
+
{"version":3,"file":"DTComponent.js","sourceRoot":"","sources":["../../src/core/DTComponent.ts"],"names":[],"mappings":";;AAAA,6BAA6B;AAO7B,MAA8B,iBAAiB;IA+D7C,YAAY,GAAY,EAAE,UAAsC,EAAE;QAChE,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC;QAC5B,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAElB,MAAM,cAAc,GAAuB;YACzC,MAAM,EAAE,KAAK;SACd,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,gCACX,cAAc,GACd,OAAO,CACU,CAAC;IACzB,CAAC;IAKD,KAAK;QACH,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAKD,MAAM;QACJ,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAWD,UAAU,CAAyD,WAAoB;QACrF,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE,KAAK,WAAW,EAAE;gBACpE,OAAO,IAAI,CAAC,QAAoB,CAAC;aAClC;YACD,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;SAC9C;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAKD,UAAU,CAAyD,KAAe;QAChF,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACxB,CAAC;IAKD,aAAa;QACX,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;IAC5B,CAAC;IAKD,gBAAgB;QACd,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAKD,SAAS;QACP,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAKD,UAAU;QACR,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAOD,SAAS;QACP,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;YACrB,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC,SAAS,EAAE,CAAC;SACtC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAOD,YAAY;QACV,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;YACrB,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC,YAAY,EAAE,CAAC;SACzC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACrF,CAAC;IAWD,YAAY,CAAC,KAAoB;QAC/B,MAAM,EAAE,MAAM,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;QACzC,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;YACrB,IAAI,CAAC,UAAU,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;SACvC;aAAM,IAAI,CAAC,MAAM,EAAE;YAClB,MAAM,KAAK,CAAC;SACb;aAAM;YACL,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC1B;IACH,CAAC;IAOD,WAAW;QACT,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;YACrB,IAAI,CAAC,UAAU,EAAE,CAAC,WAAW,EAAE,CAAC;SACjC;QACD,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACpB,CAAC;IAKD,UAAU;QACR,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;CAWF;AAzND,oCAyNC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { DTAcceptedMetaData, DTComponentOptions } from '../types';
|
|
2
|
+
import DYOToolsComponentWithMeta from './DTComponentWithMeta';
|
|
3
|
+
import DYOToolsPlayer from './DTPlayer';
|
|
4
|
+
export default abstract class DYOToolsComponentPhysical<IComponentMeta extends DTAcceptedMetaData, IComponentOptions extends DTComponentOptions = DTComponentOptions> extends DYOToolsComponentWithMeta<IComponentMeta, IComponentOptions> {
|
|
5
|
+
protected _owner?: DYOToolsPlayer<DTAcceptedMetaData>;
|
|
6
|
+
getOwner(): DYOToolsPlayer<DTAcceptedMetaData>;
|
|
7
|
+
setOwner(value: DYOToolsPlayer<DTAcceptedMetaData>): void;
|
|
8
|
+
removeOwner(): void;
|
|
9
|
+
abstract copy(): DYOToolsComponentPhysical<IComponentMeta, IComponentOptions>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const DTComponentWithMeta_1 = require("./DTComponentWithMeta");
|
|
4
|
+
class DYOToolsComponentPhysical extends DTComponentWithMeta_1.default {
|
|
5
|
+
getOwner() {
|
|
6
|
+
return this._owner;
|
|
7
|
+
}
|
|
8
|
+
setOwner(value) {
|
|
9
|
+
this._owner = value;
|
|
10
|
+
}
|
|
11
|
+
removeOwner() {
|
|
12
|
+
this._owner = undefined;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
exports.default = DYOToolsComponentPhysical;
|
|
16
|
+
//# sourceMappingURL=DTComponentPhysical.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DTComponentPhysical.js","sourceRoot":"","sources":["../../src/core/DTComponentPhysical.ts"],"names":[],"mappings":";;AACA,+DAA8D;AAG9D,MAA8B,yBAG1B,SAAQ,6BAA4D;IAStE,QAAQ;QACN,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAKD,QAAQ,CAAC,KAAyC;QAChD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;IAKD,WAAW;QACT,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;IAC1B,CAAC;CAMF;AAlCD,4CAkCC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import DYOToolsComponent from './DTComponent';
|
|
2
|
-
import { DTAcceptedMetaData } from '../types';
|
|
3
|
-
export default abstract class DYOToolsComponentWithMeta<IComponentMeta extends DTAcceptedMetaData> extends DYOToolsComponent {
|
|
2
|
+
import { DTAcceptedMetaData, DTComponentOptions } from '../types';
|
|
3
|
+
export default abstract class DYOToolsComponentWithMeta<IComponentMeta extends DTAcceptedMetaData, IComponentOptions extends DTComponentOptions = DTComponentOptions> extends DYOToolsComponent<IComponentOptions> {
|
|
4
4
|
protected _meta: Partial<IComponentMeta>;
|
|
5
5
|
getMeta<K extends keyof IComponentMeta>(metaKey: K): IComponentMeta[K] | undefined;
|
|
6
6
|
setMeta<K extends keyof IComponentMeta>(metaKey: K, metaValue: IComponentMeta[K]): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DTComponentWithMeta.js","sourceRoot":"","sources":["../../src/core/DTComponentWithMeta.ts"],"names":[],"mappings":";;AAAA,+CAA8C;AAG9C,MAA8B,
|
|
1
|
+
{"version":3,"file":"DTComponentWithMeta.js","sourceRoot":"","sources":["../../src/core/DTComponentWithMeta.ts"],"names":[],"mappings":";;AAAA,+CAA8C;AAG9C,MAA8B,yBAG1B,SAAQ,qBAAoC;IAHhD;;QASY,UAAK,GAA6B,EAA6B,CAAC;IAoD5E,CAAC;IA3CC,OAAO,CAAiC,OAAW;QACjD,OAAO,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IAQD,OAAO,CAAiC,OAAW,EAAE,SAA6B;QAChF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;IAClC,CAAC;IASD,WAAW,CAAC,WAAyC,EAAE;QACrD,MAAM,SAAS,GAA4B,EAA6B,CAAC;QACzE,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;YACpB,OAAO,IAAI,CAAC,KAAK,CAAC;SACnB;QAED,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACvB,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;gBACjC,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;aAClC;QACH,CAAC,CAAC,CAAC;QACH,OAAO,SAAS,CAAC;IACnB,CAAC;IAOD,WAAW,CAAC,UAAoC;QAC9C,IAAI,CAAC,KAAK,mCAAQ,IAAI,CAAC,KAAK,GAAK,UAAU,CAAE,CAAC;IAChD,CAAC;CACF;AA7DD,4CA6DC"}
|
package/dist/core/DTElement.d.ts
CHANGED
|
@@ -1,12 +1,7 @@
|
|
|
1
|
-
import DYOToolsComponentWithMeta from './DTComponentWithMeta';
|
|
2
|
-
import DYOToolsPlayer from './DTPlayer';
|
|
3
1
|
import { DTAcceptedMetaData, DTElementToObject } from '../types';
|
|
4
|
-
|
|
2
|
+
import DYOToolsComponentPhysical from './DTComponentPhysical';
|
|
3
|
+
export default class DYOToolsElement<IComponentMeta extends DTAcceptedMetaData> extends DYOToolsComponentPhysical<IComponentMeta> {
|
|
5
4
|
protected _componentType: string;
|
|
6
|
-
private _owner?;
|
|
7
|
-
getOwner(): DYOToolsPlayer<DTAcceptedMetaData>;
|
|
8
|
-
setOwner(value: DYOToolsPlayer<DTAcceptedMetaData>): void;
|
|
9
|
-
removeOwner(): void;
|
|
10
5
|
copy(): DYOToolsElement<IComponentMeta>;
|
|
11
6
|
toObject(): DTElementToObject<IComponentMeta>;
|
|
12
7
|
toString(): string;
|
package/dist/core/DTElement.js
CHANGED
|
@@ -1,22 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const
|
|
4
|
-
class DYOToolsElement extends
|
|
3
|
+
const DTComponentPhysical_1 = require("./DTComponentPhysical");
|
|
4
|
+
class DYOToolsElement extends DTComponentPhysical_1.default {
|
|
5
5
|
constructor() {
|
|
6
6
|
super(...arguments);
|
|
7
7
|
this._componentType = 'element';
|
|
8
8
|
}
|
|
9
|
-
getOwner() {
|
|
10
|
-
return this._owner;
|
|
11
|
-
}
|
|
12
|
-
setOwner(value) {
|
|
13
|
-
this._owner = value;
|
|
14
|
-
}
|
|
15
|
-
removeOwner() {
|
|
16
|
-
this._owner = undefined;
|
|
17
|
-
}
|
|
18
9
|
copy() {
|
|
19
|
-
const copyElement = new DYOToolsElement(this._key);
|
|
10
|
+
const copyElement = new DYOToolsElement(this._key, this._options);
|
|
20
11
|
copyElement.setManyMeta(Object.assign({}, this.getManyMeta()));
|
|
21
12
|
return copyElement;
|
|
22
13
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DTElement.js","sourceRoot":"","sources":["../../src/core/DTElement.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"DTElement.js","sourceRoot":"","sources":["../../src/core/DTElement.ts"],"names":[],"mappings":";;AACA,+DAA8D;AAE9D,MAAqB,eAEjB,SAAQ,6BAAyC;IAFrD;;QAMY,mBAAc,GAAG,SAAS,CAAC;IA2DvC,CAAC;IAlDC,IAAI;QACF,MAAM,WAAW,GAAG,IAAI,eAAe,CAAiB,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClF,WAAW,CAAC,WAAW,mBAAM,IAAI,CAAC,WAAW,EAAE,EAAG,CAAC;QAEnD,OAAO,WAAW,CAAC;IACrB,CAAC;IAcD,QAAQ;QACN,MAAM,aAAa,GAAsC;YACvD,EAAE,EAAE,IAAI,CAAC,GAAG;YACZ,GAAG,EAAE,IAAI,CAAC,IAAI;YACd,IAAI,EAAE,IAAI,CAAC,cAAc;SAC1B,CAAC;QAEF,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,aAAa,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;SAC9C;QAED,IAAI,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;YACpD,aAAa,CAAC,IAAI,qBAAQ,IAAI,CAAC,WAAW,EAAE,CAAE,CAAC;SAChD;QAED,OAAO,aAAa,CAAC;IACvB,CAAC;IAOD,QAAQ;QACN,IAAI,QAAQ,GAAG,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,QAAQ,GAAG,aAAa,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;SAChD;QAED,OAAO,aAAa,IAAI,CAAC,IAAI,mBAAmB,QAAQ,EAAE,CAAC;IAC7D,CAAC;CACF;AAjED,kCAiEC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import DYOToolsComponent from './DTComponent';
|
|
2
|
+
import DYOToolsBunch from './DTBunch';
|
|
3
|
+
import { DTAcceptedMetaData, DTManagerFilters, DTManagerItemsType, DTManagerOptions, DTManagerToObject, DYOFinderConfiguration } from '../types';
|
|
4
|
+
import DYOFinder from '../libs/DYOFinder';
|
|
5
|
+
import DYOToolsElement from './DTElement';
|
|
6
|
+
export default class DYOToolsManager<IBunchItem extends DYOToolsElement<DTAcceptedMetaData>> extends DYOToolsComponent<DTManagerOptions> {
|
|
7
|
+
protected _componentType: string;
|
|
8
|
+
protected _items: DTManagerItemsType<IBunchItem>;
|
|
9
|
+
protected _scopes: string[];
|
|
10
|
+
protected _library: DYOToolsBunch<IBunchItem>;
|
|
11
|
+
protected _finder: DYOFinder;
|
|
12
|
+
constructor(key?: string, elements?: IBunchItem[], scopes?: string[], options?: Partial<DTManagerOptions>);
|
|
13
|
+
getFinderConfiguration(): DYOFinderConfiguration;
|
|
14
|
+
getLibrary(): DYOToolsBunch<IBunchItem>;
|
|
15
|
+
getScopes(): string[];
|
|
16
|
+
isValidScope(scope: string): boolean;
|
|
17
|
+
add(item: DYOToolsBunch<IBunchItem>, targetScope?: string): void;
|
|
18
|
+
addMany(items: DYOToolsBunch<IBunchItem>[], targetScope?: string): void;
|
|
19
|
+
moveToScope(bunchId: string, targetScope: string): void;
|
|
20
|
+
get(id: string): DYOToolsBunch<IBunchItem> | undefined;
|
|
21
|
+
getAll(scope?: string): DYOToolsBunch<IBunchItem>[];
|
|
22
|
+
getScope(id: string): string | undefined;
|
|
23
|
+
remove(id: string): void;
|
|
24
|
+
removeMany(ids: string[], options?: Partial<DTManagerOptions>): void;
|
|
25
|
+
removeAll(): void;
|
|
26
|
+
find(filters: Partial<DTManagerFilters>): DYOToolsBunch<IBunchItem>[];
|
|
27
|
+
reloadLibrary(): void;
|
|
28
|
+
toObject(): DTManagerToObject;
|
|
29
|
+
toString(): string;
|
|
30
|
+
private getErrorDataForScope;
|
|
31
|
+
}
|