dyo-tools 0.1.0 → 0.3.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.
Files changed (184) hide show
  1. package/.c8rc.json +4 -0
  2. package/.eslintignore +2 -0
  3. package/.eslintrc.json +47 -0
  4. package/Makefile +34 -0
  5. package/README.md +0 -7
  6. package/babel.config.js +1 -0
  7. package/cucumber-report.html +48 -0
  8. package/dist/constants.d.ts +6 -0
  9. package/dist/constants.js +63 -0
  10. package/dist/constants.js.map +1 -0
  11. package/dist/core/DTAction.d.ts +10 -0
  12. package/dist/core/DTAction.js +24 -0
  13. package/dist/core/DTAction.js.map +1 -0
  14. package/dist/core/DTBunch.d.ts +12 -17
  15. package/dist/core/DTBunch.js +39 -115
  16. package/dist/core/DTBunch.js.map +1 -1
  17. package/dist/core/DTComponent.d.ts +13 -5
  18. package/dist/core/DTComponent.js +39 -1
  19. package/dist/core/DTComponent.js.map +1 -1
  20. package/dist/core/DTComponentPhysical.d.ts +12 -0
  21. package/dist/core/DTComponentPhysical.js +22 -0
  22. package/dist/core/DTComponentPhysical.js.map +1 -0
  23. package/dist/core/DTComponentWithMeta.d.ts +2 -2
  24. package/dist/core/DTComponentWithMeta.js.map +1 -1
  25. package/dist/core/DTElement.d.ts +7 -7
  26. package/dist/core/DTElement.js +12 -11
  27. package/dist/core/DTElement.js.map +1 -1
  28. package/dist/core/DTManager.d.ts +33 -0
  29. package/dist/core/DTManager.js +190 -0
  30. package/dist/core/DTManager.js.map +1 -0
  31. package/dist/core/DTMaster.d.ts +24 -0
  32. package/dist/core/DTMaster.js +133 -0
  33. package/dist/core/DTMaster.js.map +1 -0
  34. package/dist/core/DTModule.d.ts +14 -0
  35. package/dist/core/DTModule.js +39 -0
  36. package/dist/core/DTModule.js.map +1 -0
  37. package/dist/index.d.ts +7 -1
  38. package/dist/index.js +15 -3
  39. package/dist/index.js.map +1 -1
  40. package/dist/libs/DYOFinder.d.ts +10 -0
  41. package/dist/libs/DYOFinder.js +96 -0
  42. package/dist/libs/DYOFinder.js.map +1 -0
  43. package/dist/libs/player/DTPlayer.element.d.ts +5 -0
  44. package/dist/libs/player/DTPlayer.element.js +11 -0
  45. package/dist/libs/player/DTPlayer.element.js.map +1 -0
  46. package/dist/libs/player/DTPlayer.manager.d.ts +11 -0
  47. package/dist/libs/player/DTPlayer.manager.js +42 -0
  48. package/dist/libs/player/DTPlayer.manager.js.map +1 -0
  49. package/dist/tsconfig.tsbuildinfo +1 -1321
  50. package/dist/types/core.d.ts +103 -0
  51. package/dist/types/core.js +15 -0
  52. package/dist/types/core.js.map +1 -0
  53. package/dist/types/index.d.ts +2 -58
  54. package/dist/types/index.js +16 -12
  55. package/dist/types/index.js.map +1 -1
  56. package/dist/types/player.d.ts +5 -0
  57. package/dist/types/player.js +3 -0
  58. package/dist/types/player.js.map +1 -0
  59. package/docs/.nojekyll +1 -0
  60. package/docs/assets/highlight.css +29 -0
  61. package/docs/assets/main.js +59 -0
  62. package/docs/assets/navigation.js +1 -0
  63. package/docs/assets/search.js +1 -0
  64. package/docs/assets/style.css +1414 -0
  65. package/docs/classes/core_DTAction.DYOToolsAction.html +89 -0
  66. package/docs/classes/core_DTBunch.DYOToolsBunch.html +254 -0
  67. package/docs/classes/core_DTComponent.DYOToolsComponent.html +76 -0
  68. package/docs/classes/core_DTComponentPhysical.DYOToolsComponentPhysical.html +110 -0
  69. package/docs/classes/core_DTComponentWithMeta.DYOToolsComponentWithMeta.html +96 -0
  70. package/docs/classes/core_DTElement.DYOToolsElement.html +135 -0
  71. package/docs/classes/core_DTError.DYOToolsError.html +37 -0
  72. package/docs/classes/core_DTManager.DYOToolsManager.html +237 -0
  73. package/docs/classes/core_DTMaster.DYOToolsMaster.html +150 -0
  74. package/docs/classes/core_DTModule.DYOToolsModule.html +92 -0
  75. package/docs/classes/libs_DYOFinder.DYOFinder.html +34 -0
  76. package/docs/classes/libs_player_DTPlayer_element.DYOToolsPlayer.html +134 -0
  77. package/docs/classes/libs_player_DTPlayer_manager.DYOToolsPlayerManager.html +243 -0
  78. package/docs/enums/types_core.FilterOperatorType.html +10 -0
  79. package/docs/hierarchy.html +1 -0
  80. package/docs/index.html +1 -0
  81. package/docs/interfaces/types_core.DTBunchFilters.html +6 -0
  82. package/docs/interfaces/types_core.DTBunchOptions.html +19 -0
  83. package/docs/interfaces/types_core.DTBunchToObject.html +7 -0
  84. package/docs/interfaces/types_core.DTComponentOptions.html +5 -0
  85. package/docs/interfaces/types_core.DTComponentToObject.html +4 -0
  86. package/docs/interfaces/types_core.DTElementToObject.html +7 -0
  87. package/docs/interfaces/types_core.DTManagerFilters.html +6 -0
  88. package/docs/interfaces/types_core.DTManagerOptions.html +8 -0
  89. package/docs/interfaces/types_core.DTManagerToObject.html +5 -0
  90. package/docs/interfaces/types_core.DTMasterToObject.html +8 -0
  91. package/docs/interfaces/types_core.DTModuleToObject.html +6 -0
  92. package/docs/interfaces/types_core.DYOFinderConfigurationPropDefault.html +4 -0
  93. package/docs/interfaces/types_core.DYOFinderConfigurationPropObjectSearch.html +4 -0
  94. package/docs/interfaces/types_core.DYOFinderFilterOperatorAdvanced.html +5 -0
  95. package/docs/interfaces/types_core.DYOFinderFilterOperatorBase.html +5 -0
  96. package/docs/interfaces/types_player.DTPlayerManagerSimpleConfiguration.html +3 -0
  97. package/docs/modules/constants.html +6 -0
  98. package/docs/modules/core_DTAction.html +2 -0
  99. package/docs/modules/core_DTBunch.html +2 -0
  100. package/docs/modules/core_DTComponent.html +2 -0
  101. package/docs/modules/core_DTComponentPhysical.html +2 -0
  102. package/docs/modules/core_DTComponentWithMeta.html +2 -0
  103. package/docs/modules/core_DTElement.html +2 -0
  104. package/docs/modules/core_DTError.html +2 -0
  105. package/docs/modules/core_DTManager.html +2 -0
  106. package/docs/modules/core_DTMaster.html +2 -0
  107. package/docs/modules/core_DTModule.html +2 -0
  108. package/docs/modules/libs_DYOFinder.html +2 -0
  109. package/docs/modules/libs_player_DTPlayer_element.html +2 -0
  110. package/docs/modules/libs_player_DTPlayer_manager.html +2 -0
  111. package/docs/modules/types.html +29 -0
  112. package/docs/modules/types_core.html +28 -0
  113. package/docs/modules/types_player.html +2 -0
  114. package/docs/types/types_core.DTAcceptedMetaData.html +2 -0
  115. package/docs/types/types_core.DTManagerItemType.html +1 -0
  116. package/docs/types/types_core.DTManagerItemsType.html +2 -0
  117. package/docs/types/types_core.DYOFinderComponentType.html +1 -0
  118. package/docs/types/types_core.DYOFinderConfiguration.html +2 -0
  119. package/docs/types/types_core.DYOFinderConfigurationProp.html +1 -0
  120. package/docs/types/types_core.DYOFinderFilterOperator.html +1 -0
  121. package/docs/types/types_core.DYOFinderFilterOperatorArgument.html +1 -0
  122. package/docs/types/types_core.DYOFinderFilters.html +1 -0
  123. package/docs/types/types_core.StandardPrimitiveType.html +2 -0
  124. package/docs/types/types_core.StandardPrimitiveTypeWithArray.html +1 -0
  125. package/docs/variables/constants.bunchDefaultOptions.html +2 -0
  126. package/docs/variables/constants.componentBunchDefaultFinderConfiguration.html +1 -0
  127. package/docs/variables/constants.componentManagerDefaultFinderConfiguration.html +1 -0
  128. package/docs/variables/constants.componentPhysicalDefaultFinderConfiguration.html +1 -0
  129. package/docs/variables/constants.managerDefaultOptions.html +2 -0
  130. package/jest.config.js +6 -0
  131. package/package.json +32 -23
  132. package/src/constants.ts +85 -0
  133. package/src/core/DTAction.ts +52 -0
  134. package/src/core/DTBunch.ts +467 -0
  135. package/src/core/DTComponent.ts +225 -0
  136. package/src/core/DTComponentPhysical.ts +53 -0
  137. package/src/core/DTComponentWithMeta.ts +65 -0
  138. package/src/core/DTElement.ts +102 -0
  139. package/src/core/DTError.ts +78 -0
  140. package/src/core/DTManager.ts +465 -0
  141. package/src/core/DTMaster.ts +318 -0
  142. package/src/core/DTModule.ts +90 -0
  143. package/src/index.ts +17 -0
  144. package/src/libs/DYOFinder.ts +175 -0
  145. package/src/libs/player/DTPlayer.element.ts +9 -0
  146. package/src/libs/player/DTPlayer.manager.ts +84 -0
  147. package/src/types/core.ts +169 -0
  148. package/src/types/index.ts +2 -0
  149. package/src/types/player.ts +6 -0
  150. package/test/core/DTAction.double.ts +78 -0
  151. package/test/core/DTAction.spec.ts +76 -0
  152. package/test/core/DTBunch.double.ts +261 -0
  153. package/test/core/DTBunch.spec.ts +897 -0
  154. package/test/core/DTComponent.double.ts +164 -0
  155. package/test/core/DTComponent.spec.ts +295 -0
  156. package/test/core/DTComponentPhysical.double.ts +76 -0
  157. package/test/core/DTComponentPhysical.spec.ts +78 -0
  158. package/test/core/DTComponentWithMeta.double.ts +115 -0
  159. package/test/core/DTComponentWithMeta.spec.ts +124 -0
  160. package/test/core/DTElement.double.ts +163 -0
  161. package/test/core/DTElement.spec.ts +146 -0
  162. package/test/core/DTError.double.ts +92 -0
  163. package/test/core/DTError.spec.ts +89 -0
  164. package/test/core/DTManager.double.ts +216 -0
  165. package/test/core/DTManager.spec.ts +965 -0
  166. package/test/core/DTMaster.double.ts +141 -0
  167. package/test/core/DTMaster.spec.ts +584 -0
  168. package/test/core/DTModule.double.ts +80 -0
  169. package/test/core/DTModule.spec.ts +138 -0
  170. package/test/core/copy.spec.ts +243 -0
  171. package/test/libs/DYOFinder.double.ts +152 -0
  172. package/test/libs/DYOFinder.spec.ts +194 -0
  173. package/test/libs/player/DTPlayer.element.double.ts +55 -0
  174. package/test/libs/player/DTPlayer.element.spec.ts +28 -0
  175. package/test/libs/player/DTPlayer.manager.double.ts +92 -0
  176. package/test/libs/player/DTPlayer.manager.spec.ts +178 -0
  177. package/tsconfig.dev.json +22 -0
  178. package/tsconfig.json +21 -0
  179. package/dist/core/DTPlayer.d.ts +0 -8
  180. package/dist/core/DTPlayer.js +0 -30
  181. package/dist/core/DTPlayer.js.map +0 -1
  182. package/dist/utils/filters.d.ts +0 -6
  183. package/dist/utils/filters.js +0 -39
  184. package/dist/utils/filters.js.map +0 -1
@@ -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
+ virtualContainer: 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(),
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), { container: {
59
+ operators: baseOperators,
60
+ getValue: (item) => (item.getContainer() ? item.getContainer().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,gBAAgB,EAAE,KAAK;CACxB,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,IAAI,CAAC,QAAQ,EAAE;QAC5E,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,SAAS,EAAE;QACT,SAAS,EAAE,aAAa;QACxB,QAAQ,EAAE,CAAC,IAAmC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7G,YAAY,EAAE,KAAK;KACpB,IACD"}
@@ -0,0 +1,10 @@
1
+ import DYOToolsComponent from './DTComponent';
2
+ import { DTComponentToObject } from '../types';
3
+ import DYOToolsMaster from './DTMaster';
4
+ export default abstract class DYOToolsAction<Payload = unknown> extends DYOToolsComponent {
5
+ protected _componentType: string;
6
+ getMaster(): DYOToolsMaster | undefined;
7
+ abstract execute(payload: Payload): Promise<void>;
8
+ toString(): string;
9
+ toObject(): DTComponentToObject;
10
+ }
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const DTComponent_1 = require("./DTComponent");
4
+ class DYOToolsAction extends DTComponent_1.default {
5
+ constructor() {
6
+ super(...arguments);
7
+ this._componentType = 'action';
8
+ }
9
+ getMaster() {
10
+ return this.getContext('master');
11
+ }
12
+ toString() {
13
+ return `Component ${this._key} - Type: Action`;
14
+ }
15
+ toObject() {
16
+ return {
17
+ id: this._id,
18
+ key: this._key,
19
+ type: this._componentType,
20
+ };
21
+ }
22
+ }
23
+ exports.default = DYOToolsAction;
24
+ //# sourceMappingURL=DTAction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DTAction.js","sourceRoot":"","sources":["../../src/core/DTAction.ts"],"names":[],"mappings":";;AAAA,+CAA8C;AAI9C,MAA8B,cAAkC,SAAQ,qBAAiB;IAAzF;;QAIY,mBAAc,GAAW,QAAQ,CAAC;IA2C9C,CAAC;IAtCC,SAAS;QACP,OAAO,IAAI,CAAC,UAAU,CAAiB,QAAQ,CAAC,CAAC;IACnD,CAAC;IAeD,QAAQ;QACN,OAAO,aAAa,IAAI,CAAC,IAAI,iBAAiB,CAAC;IACjD,CAAC;IAYD,QAAQ;QACN,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,GAAG;YACZ,GAAG,EAAE,IAAI,CAAC,IAAI;YACd,IAAI,EAAE,IAAI,CAAC,cAAc;SAC1B,CAAC;IACJ,CAAC;CACF;AA/CD,iCA+CC"}
@@ -1,24 +1,19 @@
1
- import DYOToolsComponentWithMeta from './DTComponentWithMeta';
2
1
  import DYOToolsElement from './DTElement';
3
- import { DTAcceptedMetaData, DTBunchFilters, DTBunchOptionsConstructor, DTBunchOptionsEditable, DTBunchToObject } from '../types';
4
- import DYOToolsPlayer from './DTPlayer';
5
- import DYOToolsError from './DTError';
6
- export default class DYOToolsBunch<IBunchItem extends DYOToolsElement<DTAcceptedMetaData>, IComponentMeta extends DTAcceptedMetaData> extends DYOToolsComponentWithMeta<IComponentMeta> {
2
+ import { DTAcceptedMetaData, DTBunchFilters, DTBunchOptions, DTBunchToObject, DYOFinderConfiguration } from '../types';
3
+ import DYOToolsComponentPhysical from './DTComponentPhysical';
4
+ import DYOFinder from '../libs/DYOFinder';
5
+ export default class DYOToolsBunch<IBunchItem extends DYOToolsElement<DTAcceptedMetaData> = DYOToolsElement<DTAcceptedMetaData>, IComponentMeta extends DTAcceptedMetaData = DTAcceptedMetaData> extends DYOToolsComponentPhysical<IComponentMeta, DTBunchOptions> {
7
6
  protected _componentType: string;
8
- protected _owner?: DYOToolsPlayer<DTAcceptedMetaData>;
9
7
  protected _items: IBunchItem[];
10
- protected _globalOptions: DTBunchOptionsConstructor;
11
- protected _errors: DYOToolsError[];
12
- constructor(key?: string, items?: IBunchItem[], options?: Partial<DTBunchOptionsConstructor>);
13
- getOwner(): DYOToolsPlayer<DTAcceptedMetaData>;
14
- setOwner(value: DYOToolsPlayer<DTAcceptedMetaData>): void;
8
+ protected _finder: DYOFinder;
9
+ constructor(key?: string, items?: IBunchItem[], options?: Partial<DTBunchOptions>);
10
+ getFinderConfiguration(): DYOFinderConfiguration;
11
+ setOwner(value: string): void;
15
12
  removeOwner(): void;
16
- getErrors(): DYOToolsError[];
17
- getLastError(): DYOToolsError | undefined;
18
- add(item: IBunchItem, options?: Partial<DTBunchOptionsEditable>): void;
19
- addAtIndex(item: IBunchItem, index: number, options?: Partial<DTBunchOptionsEditable>): void;
20
- addMany(items: IBunchItem[], options?: Partial<DTBunchOptionsEditable>): void;
21
- addManyAtIndex(items: IBunchItem[], index: number, options?: Partial<DTBunchOptionsEditable>): void;
13
+ add(item: IBunchItem, options?: Partial<Omit<DTBunchOptions, 'virtualContainer'>>): void;
14
+ addAtIndex(item: IBunchItem, index: number, options?: Partial<Omit<DTBunchOptions, ''>>): void;
15
+ addMany(items: IBunchItem[], options?: Partial<Omit<DTBunchOptions, 'virtualContainer'>>): void;
16
+ addManyAtIndex(items: IBunchItem[], index: number, options?: Partial<Omit<DTBunchOptions, 'virtualContainer'>>): void;
22
17
  get(index: string | number): IBunchItem | undefined;
23
18
  getAll(): IBunchItem[];
24
19
  indexOf(id: string): number;
@@ -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 filters_1 = require("../utils/filters");
7
- class DYOToolsBunch extends DTComponentWithMeta_1.default {
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
- getOwner() {
26
- return this._owner;
17
+ getFinderConfiguration() {
18
+ return constants_1.componentBunchDefaultFinderConfiguration;
27
19
  }
28
20
  setOwner(value) {
29
- this._owner = value;
30
- const { inheritOwner } = this._globalOptions;
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
- this._owner = undefined;
37
- const { inheritOwner } = this._globalOptions;
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 { errors, uniqueKey, replaceIndex, inheritOwner, } = Object.assign(Object.assign({}, this._globalOptions), options);
38
+ const { uniqueKey, replaceIndex, inheritOwner, virtualContainer, } = 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
- if (errors) {
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
- if (errors) {
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,16 +57,25 @@ class DYOToolsBunch extends DTComponentWithMeta_1.default {
81
57
  if (index > this._items.length) {
82
58
  finalIndex = this._items.length;
83
59
  }
84
- if (!this._globalOptions.virtualContext) {
85
- const oldContext = item.getContext();
86
- if (oldContext && oldContext.getComponentType() === 'bunch') {
87
- oldContext.remove(item.getId());
60
+ if (this._context) {
61
+ item.setContext(this._context);
62
+ }
63
+ if (!virtualContainer) {
64
+ const oldContainer = item.getContainer();
65
+ if (oldContainer && oldContainer.getComponentType() === 'bunch') {
66
+ oldContainer.remove(item.getId());
88
67
  }
89
- item.setContext(this);
68
+ item.setContainer(this);
90
69
  }
91
70
  if (inheritOwner) {
92
71
  item.setOwner(this._owner);
93
72
  }
73
+ if (this.getContext('manager')) {
74
+ const manager = this.getContext('manager');
75
+ if (!manager.getLibrary().get(item.getId())) {
76
+ manager.getLibrary().add(item);
77
+ }
78
+ }
94
79
  if (replaceIndex) {
95
80
  this._items[finalIndex] = item;
96
81
  }
@@ -106,7 +91,7 @@ class DYOToolsBunch extends DTComponentWithMeta_1.default {
106
91
  }
107
92
  addManyAtIndex(items, index, options = {}) {
108
93
  const previousItems = this._items;
109
- const { errors } = Object.assign(Object.assign({}, this._globalOptions), options);
94
+ const { errors } = Object.assign(Object.assign({}, this._options), options);
110
95
  let currentIndex = index;
111
96
  if (index < 0) {
112
97
  currentIndex = 0;
@@ -153,22 +138,22 @@ class DYOToolsBunch extends DTComponentWithMeta_1.default {
153
138
  }
154
139
  }
155
140
  removeMany(indexes) {
156
- const { virtualContext } = this._globalOptions;
141
+ const { virtualContainer } = this._options;
157
142
  const newItems = [];
158
143
  for (let i = 0; i < this._items.length; i += 1) {
159
144
  if (typeof indexes[0] === 'number') {
160
145
  if (!indexes.includes(i)) {
161
146
  newItems.push(this._items[i]);
162
147
  }
163
- else if (!virtualContext) {
164
- this._items[i].removeContext();
148
+ else if (!virtualContainer) {
149
+ this._items[i].removeContainer();
165
150
  }
166
151
  }
167
152
  else if (!indexes.includes(this._items[i].getId())) {
168
153
  newItems.push(this._items[i]);
169
154
  }
170
- else if (!virtualContext) {
171
- this._items[i].removeContext();
155
+ else if (!virtualContainer) {
156
+ this._items[i].removeContainer();
172
157
  }
173
158
  }
174
159
  this._items = newItems;
@@ -178,78 +163,17 @@ class DYOToolsBunch extends DTComponentWithMeta_1.default {
178
163
  this.removeMany(keysToRemove);
179
164
  }
180
165
  find(filters) {
181
- const filteredItems = [];
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;
166
+ return this._finder.execute(filters);
243
167
  }
244
168
  copy() {
245
169
  let copyItems;
246
- if (this._globalOptions.virtualContext) {
170
+ if (this._options.virtualContainer) {
247
171
  copyItems = this._items;
248
172
  }
249
173
  else {
250
174
  copyItems = this._items.length === 0 ? [] : this._items.map((item) => item.copy());
251
175
  }
252
- const copyBunch = new DYOToolsBunch(this._key, copyItems, this._globalOptions);
176
+ const copyBunch = new DYOToolsBunch(this._key, copyItems, this._options);
253
177
  copyBunch.setManyMeta(Object.assign({}, this.getManyMeta()));
254
178
  return copyBunch;
255
179
  }
@@ -274,7 +198,7 @@ class DYOToolsBunch extends DTComponentWithMeta_1.default {
274
198
  toString() {
275
199
  let ownerKey = '';
276
200
  if (this._owner) {
277
- ownerKey = ` - Owner: ${this._owner.getKey()}`;
201
+ ownerKey = ` - Owner: ${this._owner}`;
278
202
  }
279
203
  return `Component ${this._key} - Type: Bunch${ownerKey} - Items: ${this._items.length}`;
280
204
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DTBunch.js","sourceRoot":"","sources":["../../src/core/DTBunch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DTBunch.js","sourceRoot":"","sources":["../../src/core/DTBunch.ts"],"names":[],"mappings":"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"}
@@ -1,20 +1,28 @@
1
- export default abstract class DYOToolsComponent {
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
- constructor(key?: string);
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): DYOToolsComponent | undefined;
12
- setContext(value: DYOToolsComponent): void;
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
- abstract copy(): DYOToolsComponent;
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
  }
@@ -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;AAE7B,MAA8B,iBAAiB;IA6C7C,YAAY,GAAY;QACtB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC;IAC9B,CAAC;IAKD,KAAK;QACH,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAKD,MAAM;QACJ,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAWD,UAAU,CAAC,WAAoB;QAC7B,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE,KAAK,WAAW,EAAE;gBACpE,OAAO,IAAI,CAAC,QAAQ,CAAC;aACtB;YACD,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;SAC9C;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAKD,UAAU,CAAC,KAAwB;QACjC,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;CAgBF;AApID,oCAoIC"}
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,12 @@
1
+ import { DTAcceptedMetaData, DTComponentOptions } from '../types';
2
+ import DYOToolsComponentWithMeta from './DTComponentWithMeta';
3
+ import DYOToolsMaster from './DTMaster';
4
+ export default abstract class DYOToolsComponentPhysical<IComponentMeta extends DTAcceptedMetaData, IComponentOptions extends DTComponentOptions = DTComponentOptions> extends DYOToolsComponentWithMeta<IComponentMeta, IComponentOptions> {
5
+ protected _owner?: string;
6
+ getManager(): DYOToolsMaster | undefined;
7
+ getMaster(): DYOToolsMaster | undefined;
8
+ getOwner(): string;
9
+ setOwner(value: string): void;
10
+ removeOwner(): void;
11
+ abstract copy(): DYOToolsComponentPhysical<IComponentMeta, IComponentOptions>;
12
+ }
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const DTComponentWithMeta_1 = require("./DTComponentWithMeta");
4
+ class DYOToolsComponentPhysical extends DTComponentWithMeta_1.default {
5
+ getManager() {
6
+ return this.getContext('manager');
7
+ }
8
+ getMaster() {
9
+ return this.getContext('master');
10
+ }
11
+ getOwner() {
12
+ return this._owner;
13
+ }
14
+ setOwner(value) {
15
+ this._owner = value;
16
+ }
17
+ removeOwner() {
18
+ this._owner = undefined;
19
+ }
20
+ }
21
+ exports.default = DYOToolsComponentPhysical;
22
+ //# 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,UAAU;QACR,OAAO,IAAI,CAAC,UAAU,CAAiB,SAAS,CAAC,CAAC;IACpD,CAAC;IAKD,SAAS;QACP,OAAO,IAAI,CAAC,UAAU,CAAiB,QAAQ,CAAC,CAAC;IACnD,CAAC;IAKD,QAAQ;QACN,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAKD,QAAQ,CAAC,KAAa;QACpB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;IAKD,WAAW;QACT,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;IAC1B,CAAC;CAMF;AAhDD,4CAgDC"}
@@ -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,yBAAqE,SAAQ,qBAAiB;IAA5H;;QAMY,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;AA1DD,4CA0DC"}
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"}
@@ -1,12 +1,12 @@
1
- import DYOToolsComponentWithMeta from './DTComponentWithMeta';
2
- import DYOToolsPlayer from './DTPlayer';
3
1
  import { DTAcceptedMetaData, DTElementToObject } from '../types';
4
- export default class DYOToolsElement<IComponentMeta extends DTAcceptedMetaData> extends DYOToolsComponentWithMeta<IComponentMeta> {
2
+ import DYOToolsComponentPhysical from './DTComponentPhysical';
3
+ import DYOToolsBunch from './DTBunch';
4
+ export default class DYOToolsElement<IComponentMeta extends DTAcceptedMetaData> extends DYOToolsComponentPhysical<IComponentMeta> {
5
5
  protected _componentType: string;
6
- private _owner?;
7
- getOwner(): DYOToolsPlayer<DTAcceptedMetaData>;
8
- setOwner(value: DYOToolsPlayer<DTAcceptedMetaData>): void;
9
- removeOwner(): void;
6
+ protected _container: DYOToolsBunch;
7
+ getContainer(): DYOToolsBunch | undefined;
8
+ setContainer(container: DYOToolsBunch): void;
9
+ removeContainer(): void;
10
10
  copy(): DYOToolsElement<IComponentMeta>;
11
11
  toObject(): DTElementToObject<IComponentMeta>;
12
12
  toString(): string;