@memberjunction/core 1.8.1 → 2.1.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 (63) hide show
  1. package/dist/generic/applicationInfo.d.ts +4 -1
  2. package/dist/generic/applicationInfo.d.ts.map +1 -1
  3. package/dist/generic/applicationInfo.js +3 -0
  4. package/dist/generic/applicationInfo.js.map +1 -1
  5. package/dist/generic/baseEngine.d.ts +72 -2
  6. package/dist/generic/baseEngine.d.ts.map +1 -1
  7. package/dist/generic/baseEngine.js +174 -2
  8. package/dist/generic/baseEngine.js.map +1 -1
  9. package/dist/generic/baseEntity.d.ts +18 -8
  10. package/dist/generic/baseEntity.d.ts.map +1 -1
  11. package/dist/generic/baseEntity.js +60 -16
  12. package/dist/generic/baseEntity.js.map +1 -1
  13. package/dist/generic/baseInfo.d.ts +2 -1
  14. package/dist/generic/baseInfo.d.ts.map +1 -1
  15. package/dist/generic/baseInfo.js +9 -6
  16. package/dist/generic/baseInfo.js.map +1 -1
  17. package/dist/generic/compositeKey.d.ts +1 -0
  18. package/dist/generic/compositeKey.d.ts.map +1 -1
  19. package/dist/generic/compositeKey.js +3 -0
  20. package/dist/generic/compositeKey.js.map +1 -1
  21. package/dist/generic/entityInfo.d.ts +45 -24
  22. package/dist/generic/entityInfo.d.ts.map +1 -1
  23. package/dist/generic/entityInfo.js +46 -20
  24. package/dist/generic/entityInfo.js.map +1 -1
  25. package/dist/generic/explorerNavigationItem.d.ts +20 -0
  26. package/dist/generic/explorerNavigationItem.d.ts.map +1 -0
  27. package/dist/generic/explorerNavigationItem.js +29 -0
  28. package/dist/generic/explorerNavigationItem.js.map +1 -0
  29. package/dist/generic/interfaces.d.ts +22 -15
  30. package/dist/generic/interfaces.d.ts.map +1 -1
  31. package/dist/generic/interfaces.js +5 -0
  32. package/dist/generic/interfaces.js.map +1 -1
  33. package/dist/generic/libraryInfo.d.ts +1 -0
  34. package/dist/generic/libraryInfo.d.ts.map +1 -1
  35. package/dist/generic/libraryInfo.js +1 -0
  36. package/dist/generic/libraryInfo.js.map +1 -1
  37. package/dist/generic/metadata.d.ts +16 -7
  38. package/dist/generic/metadata.d.ts.map +1 -1
  39. package/dist/generic/metadata.js +18 -2
  40. package/dist/generic/metadata.js.map +1 -1
  41. package/dist/generic/providerBase.d.ts +10 -2
  42. package/dist/generic/providerBase.d.ts.map +1 -1
  43. package/dist/generic/providerBase.js +51 -8
  44. package/dist/generic/providerBase.js.map +1 -1
  45. package/dist/generic/queryInfo.d.ts +7 -5
  46. package/dist/generic/queryInfo.d.ts.map +1 -1
  47. package/dist/generic/queryInfo.js +2 -0
  48. package/dist/generic/queryInfo.js.map +1 -1
  49. package/dist/generic/runQuery.d.ts +1 -1
  50. package/dist/generic/runReport.d.ts +1 -1
  51. package/dist/generic/securityInfo.d.ts +15 -8
  52. package/dist/generic/securityInfo.d.ts.map +1 -1
  53. package/dist/generic/securityInfo.js +16 -9
  54. package/dist/generic/securityInfo.js.map +1 -1
  55. package/dist/views/runView.d.ts +14 -2
  56. package/dist/views/runView.d.ts.map +1 -1
  57. package/dist/views/runView.js +42 -8
  58. package/dist/views/runView.js.map +1 -1
  59. package/dist/views/viewInfo.d.ts +1 -0
  60. package/dist/views/viewInfo.d.ts.map +1 -1
  61. package/dist/views/viewInfo.js +1 -0
  62. package/dist/views/viewInfo.js.map +1 -1
  63. package/package.json +2 -2
@@ -2,6 +2,7 @@ import { BaseInfo } from './baseInfo';
2
2
  import { EntityInfo } from './entityInfo';
3
3
  import { IMetadataProvider } from './interfaces';
4
4
  export declare class ApplicationSettingInfo extends BaseInfo {
5
+ ID: string;
5
6
  ApplicationName: string;
6
7
  Name: string;
7
8
  Value: string;
@@ -11,8 +12,9 @@ export declare class ApplicationSettingInfo extends BaseInfo {
11
12
  constructor(initData?: any);
12
13
  }
13
14
  export declare class ApplicationEntityInfo extends BaseInfo {
15
+ ID: string;
14
16
  ApplicationName: string;
15
- EntityID: number;
17
+ EntityID: string;
16
18
  Sequence: number;
17
19
  DefaultForNewUser: boolean;
18
20
  Application: string;
@@ -30,6 +32,7 @@ export declare class ApplicationEntityInfo extends BaseInfo {
30
32
  * Information about an application
31
33
  */
32
34
  export declare class ApplicationInfo extends BaseInfo {
35
+ ID: string;
33
36
  Name: string;
34
37
  Description: string;
35
38
  Icon: string;
@@ -1 +1 @@
1
- {"version":3,"file":"applicationInfo.d.ts","sourceRoot":"","sources":["../../src/generic/applicationInfo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEjD,qBAAa,sBAAuB,SAAQ,QAAQ;IAChD,eAAe,EAAE,MAAM,CAAO;IAC9B,IAAI,EAAE,MAAM,CAAO;IACnB,KAAK,EAAE,MAAM,CAAO;IACpB,QAAQ,EAAE,MAAM,CAAO;IACvB,cAAc,EAAE,IAAI,CAAO;IAC3B,cAAc,EAAE,IAAI,CAAO;gBAEd,QAAQ,GAAE,GAAU;CAIpC;AAED,qBAAa,qBAAsB,SAAQ,QAAQ;IAC/C,eAAe,EAAE,MAAM,CAAO;IAC9B,QAAQ,EAAE,MAAM,CAAO;IACvB,QAAQ,EAAE,MAAM,CAAO;IACvB,iBAAiB,EAAE,OAAO,CAAO;IACjC,WAAW,EAAE,MAAM,CAAO;IAC1B,MAAM,EAAE,MAAM,CAAO;IACrB,eAAe,EAAE,MAAM,CAAO;IAC9B,cAAc,EAAE,MAAM,CAAO;IAC7B,eAAe,EAAE,MAAM,CAAO;IAC9B,uBAAuB,EAAE,MAAM,CAAO;IAEtC,OAAO,CAAC,WAAW,CAAmB;IACtC,IAAW,UAAU,IAAI,UAAU,CAElC;IAED,UAAU,CAAC,MAAM,EAAE,UAAU;gBAIhB,QAAQ,GAAE,GAAU;CAIpC;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,QAAQ;IACzC,IAAI,EAAE,MAAM,CAAO;IACnB,WAAW,EAAE,MAAM,CAAO;IAC1B,IAAI,EAAE,MAAM,CAAO;IACnB,iBAAiB,EAAE,OAAO,CAAO;IAEjC,OAAO,CAAC,oBAAoB,CAA8B;IAC1D,IAAW,mBAAmB,IAAI,qBAAqB,EAAE,CAExD;IAED,OAAO,CAAC,oBAAoB,CAA+B;IAC3D,IAAW,mBAAmB,IAAI,sBAAsB,EAAE,CAEzD;gBAEY,QAAQ,EAAE,GAAU,EAAE,EAAE,EAAE,iBAAiB;CAyB3D"}
1
+ {"version":3,"file":"applicationInfo.d.ts","sourceRoot":"","sources":["../../src/generic/applicationInfo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEjD,qBAAa,sBAAuB,SAAQ,QAAQ;IAChD,EAAE,EAAE,MAAM,CAAO;IACjB,eAAe,EAAE,MAAM,CAAO;IAC9B,IAAI,EAAE,MAAM,CAAO;IACnB,KAAK,EAAE,MAAM,CAAO;IACpB,QAAQ,EAAE,MAAM,CAAO;IACvB,cAAc,EAAE,IAAI,CAAO;IAC3B,cAAc,EAAE,IAAI,CAAO;gBAEd,QAAQ,GAAE,GAAU;CAIpC;AAED,qBAAa,qBAAsB,SAAQ,QAAQ;IAC/C,EAAE,EAAE,MAAM,CAAO;IACjB,eAAe,EAAE,MAAM,CAAO;IAC9B,QAAQ,EAAE,MAAM,CAAO;IACvB,QAAQ,EAAE,MAAM,CAAO;IACvB,iBAAiB,EAAE,OAAO,CAAO;IACjC,WAAW,EAAE,MAAM,CAAO;IAC1B,MAAM,EAAE,MAAM,CAAO;IACrB,eAAe,EAAE,MAAM,CAAO;IAC9B,cAAc,EAAE,MAAM,CAAO;IAC7B,eAAe,EAAE,MAAM,CAAO;IAC9B,uBAAuB,EAAE,MAAM,CAAO;IAEtC,OAAO,CAAC,WAAW,CAAmB;IACtC,IAAW,UAAU,IAAI,UAAU,CAElC;IAED,UAAU,CAAC,MAAM,EAAE,UAAU;gBAIhB,QAAQ,GAAE,GAAU;CAIpC;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,QAAQ;IACzC,EAAE,EAAE,MAAM,CAAO;IACjB,IAAI,EAAE,MAAM,CAAO;IACnB,WAAW,EAAE,MAAM,CAAO;IAC1B,IAAI,EAAE,MAAM,CAAO;IACnB,iBAAiB,EAAE,OAAO,CAAO;IAEjC,OAAO,CAAC,oBAAoB,CAA8B;IAC1D,IAAW,mBAAmB,IAAI,qBAAqB,EAAE,CAExD;IAED,OAAO,CAAC,oBAAoB,CAA+B;IAC3D,IAAW,mBAAmB,IAAI,sBAAsB,EAAE,CAEzD;gBAEY,QAAQ,EAAE,GAAU,EAAE,EAAE,EAAE,iBAAiB;CAyB3D"}
@@ -5,6 +5,7 @@ const baseInfo_1 = require("./baseInfo");
5
5
  class ApplicationSettingInfo extends baseInfo_1.BaseInfo {
6
6
  constructor(initData = null) {
7
7
  super();
8
+ this.ID = null;
8
9
  this.ApplicationName = null;
9
10
  this.Name = null;
10
11
  this.Value = null;
@@ -24,6 +25,7 @@ class ApplicationEntityInfo extends baseInfo_1.BaseInfo {
24
25
  }
25
26
  constructor(initData = null) {
26
27
  super();
28
+ this.ID = null;
27
29
  this.ApplicationName = null;
28
30
  this.EntityID = null;
29
31
  this.Sequence = null;
@@ -51,6 +53,7 @@ class ApplicationInfo extends baseInfo_1.BaseInfo {
51
53
  }
52
54
  constructor(initData = null, md) {
53
55
  super();
56
+ this.ID = null;
54
57
  this.Name = null;
55
58
  this.Description = null;
56
59
  this.Icon = null;
@@ -1 +1 @@
1
- {"version":3,"file":"applicationInfo.js","sourceRoot":"","sources":["../../src/generic/applicationInfo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"applicationInfo.js","sourceRoot":"","sources":["../../src/generic/applicationInfo.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
- import { BaseSingleton } from "@memberjunction/global";
1
+ import { BaseSingleton, MJEvent } from "@memberjunction/global";
2
2
  import { BehaviorSubject } from "rxjs";
3
3
  import { UserInfo } from "./securityInfo";
4
- import { DatasetItemFilterType } from "./interfaces";
4
+ import { DatasetItemFilterType, RunViewResult } from "./interfaces";
5
5
  import { BaseInfo } from "./baseInfo";
6
+ import { BaseEntityEvent } from "./baseEntity";
6
7
  /**
7
8
  * Property configuration for the BaseEngine class to automatically load/set properties on the class.
8
9
  */
@@ -49,6 +50,13 @@ export declare class BaseEnginePropertyConfig extends BaseInfo {
49
50
  * Optional, whether to add the result to the object, defaults to true if not specified
50
51
  */
51
52
  AddToObject?: boolean;
53
+ /**
54
+ * Optional, defaults to true. If set to false, AutoRefresh for this item will be disabled. By default, whenever a BaseEntity event is emitted for a save/delete, if the entity name
55
+ * for this config matches the BaseEntity's entity name, the config will be refreshed. If this is set to false, that will not happen. NOTE: This is not a network notification mechanism,
56
+ * it only works within the local tier, so for example within a browser application, that brower's engine sub-classes will be updated when changes are made to entities in that application
57
+ * environment, and the same is true for MJAPI/Server based environments. If you need network based notification, additional infrastructure will be needed to implement that.
58
+ */
59
+ AutoRefresh?: boolean;
52
60
  constructor(init?: Partial<BaseEnginePropertyConfig>);
53
61
  }
54
62
  /**
@@ -64,6 +72,11 @@ export declare abstract class BaseEngine<T> extends BaseSingleton<T> {
64
72
  private _dynamicConfigs;
65
73
  private _dataMap;
66
74
  private _expirationTimers;
75
+ private _entityEventSubjects;
76
+ /**
77
+ * Returns a COPY of the metadata configs array for the engine. This is a copy so you can't modify the original configs by modifying this array.
78
+ */
79
+ get Configs(): BaseEnginePropertyConfig[];
67
80
  /**
68
81
  * Configures the engine by loading metadata from the database.
69
82
  */
@@ -76,6 +89,51 @@ export declare abstract class BaseEngine<T> extends BaseSingleton<T> {
76
89
  * @returns
77
90
  */
78
91
  protected Load(configs: Partial<BaseEnginePropertyConfig>[], forceRefresh?: boolean, contextUser?: UserInfo): Promise<void>;
92
+ private _eventListener;
93
+ /**
94
+ * This method is responsible for registering for MJGlobal events and listening for BaseEntity events where those
95
+ * BaseEntity are related to the engine's configuration metadata. The idea is to auto-refresh the releated configs
96
+ * when the BaseEntity is updated.
97
+ */
98
+ protected SetupGlobalEventListener(): Promise<boolean>;
99
+ /**
100
+ * Subclasses of BaseEngine can override this method to handle individual MJGlobal events. This is typically done to optimize
101
+ * the way refreshes are done when a BaseEntity is updated. If you are interested in only BaseEntity events, override
102
+ * the HandleIndividualBaseEntityEvent method instead as this method primarily serves to filter all the events we get from MJGlobal
103
+ * and only pass on BaseEntity events to HandleIndividualBaseEntityEvent.
104
+ * @param event
105
+ */
106
+ protected HandleIndividualEvent(event: MJEvent): Promise<boolean>;
107
+ /**
108
+ * This method handles the individual base entity event and just checks to see if it is a delete or save event and if so, debounces it.
109
+ * Override this method if you want to have a different handling for the filtering of events that are debounced or if you don't want to debounce
110
+ * at all you can do that in an override of this method.
111
+ * @param event
112
+ */
113
+ protected HandleIndividualBaseEntityEvent(event: BaseEntityEvent): Promise<boolean>;
114
+ /**
115
+ * This method handles the debouncing process, by default using the EntityEventDebounceTime property to set the debounce time. Debouncing is
116
+ * done on a per-entity basis, meaning that if the debounce time passes for a specific entity name, the event will be processed. This is done to
117
+ * prevent multiple events from being processed in quick succession for a single entity which would cause a lot of wasted processing.
118
+ *
119
+ * Override this method if you want to change how debouncing time such as having variable debounce times per-entity, etc.
120
+ * @param event
121
+ * @returns
122
+ */
123
+ protected DebounceIndividualBaseEntityEvent(event: BaseEntityEvent): Promise<boolean>;
124
+ private _entityEventDebounceTime;
125
+ /**
126
+ * Overridable property to set the debounce time for entity events. Default is 5000 milliseconds (5 seconds).
127
+ */
128
+ protected get EntityEventDebounceTime(): number;
129
+ /**
130
+ * This method does the actual work of processing the entity event. It is not directly called from the event handler because we want to first debounce the events
131
+ * which also introduces a delay which is usually desirable so that our processing is typically outside of the scope of any transaction processing that would have
132
+ * originated the event.
133
+ *
134
+ * This is the best method to override if you want to change the actual processing of an entity event but do NOT want to modify the debouncing behavior.
135
+ */
136
+ protected ProcessEntityEvent(event: BaseEntityEvent): Promise<void>;
79
137
  /**
80
138
  * Utility method to upgrade an object to a BaseEnginePropertyConfig object.
81
139
  * @param obj
@@ -100,6 +158,18 @@ export declare abstract class BaseEngine<T> extends BaseSingleton<T> {
100
158
  * @param contextUser
101
159
  */
102
160
  protected LoadSingleEntityConfig(config: BaseEnginePropertyConfig, contextUser: UserInfo): Promise<void>;
161
+ /**
162
+ * Handles the result of a single view load.
163
+ * @param config
164
+ * @param result
165
+ */
166
+ protected HandleSingleViewResult(config: BaseEnginePropertyConfig, result: RunViewResult): void;
167
+ /**
168
+ * Handles the process of loading multiple entity configs in a single network call via RunViews()
169
+ * @param configs
170
+ * @param contextUser
171
+ */
172
+ protected LoadMultipleEntityConfigs(configs: BaseEnginePropertyConfig[], contextUser: UserInfo): Promise<void>;
103
173
  /**
104
174
  * Handles the process of loading a single config of type 'dataset'.
105
175
  * @param config
@@ -1 +1 @@
1
- {"version":3,"file":"baseEngine.d.ts","sourceRoot":"","sources":["../../src/generic/baseEngine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"baseEngine.d.ts","sourceRoot":"","sources":["../../src/generic/baseEngine.ts"],"names":[],"mappings":"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"}
@@ -3,11 +3,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BaseEngine = exports.BaseEnginePropertyConfig = void 0;
4
4
  const global_1 = require("@memberjunction/global");
5
5
  const rxjs_1 = require("rxjs");
6
+ const operators_1 = require("rxjs/operators");
6
7
  const runView_1 = require("../views/runView");
7
8
  const logging_1 = require("./logging");
8
9
  const metadata_1 = require("./metadata");
9
10
  const interfaces_1 = require("./interfaces");
10
11
  const baseInfo_1 = require("./baseInfo");
12
+ const baseEntity_1 = require("./baseEntity");
11
13
  /**
12
14
  * Property configuration for the BaseEngine class to automatically load/set properties on the class.
13
15
  */
@@ -24,6 +26,13 @@ class BaseEnginePropertyConfig extends baseInfo_1.BaseInfo {
24
26
  * For example, if the item's key is 'Demo' and the item's Code name is 'FirstItem', the property set on the object would be 'Demo_FirstItem'.
25
27
  */
26
28
  this.DatasetResultHandling = 'single_property';
29
+ /**
30
+ * Optional, defaults to true. If set to false, AutoRefresh for this item will be disabled. By default, whenever a BaseEntity event is emitted for a save/delete, if the entity name
31
+ * for this config matches the BaseEntity's entity name, the config will be refreshed. If this is set to false, that will not happen. NOTE: This is not a network notification mechanism,
32
+ * it only works within the local tier, so for example within a browser application, that brower's engine sub-classes will be updated when changes are made to entities in that application
33
+ * environment, and the same is true for MJAPI/Server based environments. If you need network based notification, additional infrastructure will be needed to implement that.
34
+ */
35
+ this.AutoRefresh = true;
27
36
  // now copy the values from init to this object
28
37
  if (init)
29
38
  Object.assign(this, init);
@@ -44,6 +53,15 @@ class BaseEngine extends global_1.BaseSingleton {
44
53
  this._dynamicConfigs = new Map();
45
54
  this._dataMap = new Map();
46
55
  this._expirationTimers = new Map();
56
+ this._entityEventSubjects = new Map();
57
+ this._entityEventDebounceTime = 5000; // Default debounce time in milliseconds (5 seconds)
58
+ }
59
+ /**
60
+ * Returns a COPY of the metadata configs array for the engine. This is a copy so you can't modify the original configs by modifying this array.
61
+ */
62
+ get Configs() {
63
+ // do a full deep copy of the array to ensure no tampering
64
+ return JSON.parse(JSON.stringify(this._metadataConfigs));
47
65
  }
48
66
  /**
49
67
  * This method should be called by sub-classes to load up their specific metadata requirements. For more complex metadata
@@ -71,6 +89,7 @@ class BaseEngine extends global_1.BaseSingleton {
71
89
  this._contextUser = contextUser;
72
90
  await this.LoadConfigs(configs, contextUser);
73
91
  await this.AdditionalLoading(contextUser); // Call the additional loading method
92
+ await this.SetupGlobalEventListener();
74
93
  this._loaded = true;
75
94
  }
76
95
  catch (e) {
@@ -81,6 +100,120 @@ class BaseEngine extends global_1.BaseSingleton {
81
100
  }
82
101
  }
83
102
  }
103
+ /**
104
+ * This method is responsible for registering for MJGlobal events and listening for BaseEntity events where those
105
+ * BaseEntity are related to the engine's configuration metadata. The idea is to auto-refresh the releated configs
106
+ * when the BaseEntity is updated.
107
+ */
108
+ async SetupGlobalEventListener() {
109
+ try {
110
+ if (!this._eventListener) {
111
+ this._eventListener = global_1.MJGlobal.Instance.GetEventListener(false);
112
+ this._eventListener.subscribe(async (event) => {
113
+ await this.HandleIndividualEvent(event);
114
+ });
115
+ }
116
+ }
117
+ catch (e) {
118
+ (0, logging_1.LogError)(e);
119
+ return false;
120
+ }
121
+ }
122
+ /**
123
+ * Subclasses of BaseEngine can override this method to handle individual MJGlobal events. This is typically done to optimize
124
+ * the way refreshes are done when a BaseEntity is updated. If you are interested in only BaseEntity events, override
125
+ * the HandleIndividualBaseEntityEvent method instead as this method primarily serves to filter all the events we get from MJGlobal
126
+ * and only pass on BaseEntity events to HandleIndividualBaseEntityEvent.
127
+ * @param event
128
+ */
129
+ async HandleIndividualEvent(event) {
130
+ // base class algo is simple - we just check to see if the event's entity name matches any of our entity names
131
+ // and if so, we refresh the data by calling
132
+ if (event.event === global_1.MJEventType.ComponentEvent && event.eventCode === baseEntity_1.BaseEntity.BaseEventCode) {
133
+ // we have an entity event
134
+ const baseEntityEvent = event.args;
135
+ return await this.HandleIndividualBaseEntityEvent(baseEntityEvent);
136
+ }
137
+ }
138
+ /**
139
+ * This method handles the individual base entity event and just checks to see if it is a delete or save event and if so, debounces it.
140
+ * Override this method if you want to have a different handling for the filtering of events that are debounced or if you don't want to debounce
141
+ * at all you can do that in an override of this method.
142
+ * @param event
143
+ */
144
+ async HandleIndividualBaseEntityEvent(event) {
145
+ try {
146
+ if (event.type === 'delete' || event.type === 'save') {
147
+ const eName = event.baseEntity.EntityInfo.Name.toLowerCase().trim();
148
+ const matchingAutoRefreshConfig = this.Configs.some(c => c.AutoRefresh && c.EntityName.trim().toLowerCase() === eName);
149
+ if (matchingAutoRefreshConfig)
150
+ return this.DebounceIndividualBaseEntityEvent(event);
151
+ }
152
+ return true;
153
+ }
154
+ catch (e) {
155
+ (0, logging_1.LogError)(e);
156
+ return false;
157
+ }
158
+ }
159
+ /**
160
+ * This method handles the debouncing process, by default using the EntityEventDebounceTime property to set the debounce time. Debouncing is
161
+ * done on a per-entity basis, meaning that if the debounce time passes for a specific entity name, the event will be processed. This is done to
162
+ * prevent multiple events from being processed in quick succession for a single entity which would cause a lot of wasted processing.
163
+ *
164
+ * Override this method if you want to change how debouncing time such as having variable debounce times per-entity, etc.
165
+ * @param event
166
+ * @returns
167
+ */
168
+ async DebounceIndividualBaseEntityEvent(event) {
169
+ try {
170
+ const entityName = event.baseEntity.EntityInfo.Name.toLowerCase().trim();
171
+ if (!this._entityEventSubjects.has(entityName)) {
172
+ const subject = new rxjs_1.Subject();
173
+ subject.pipe((0, operators_1.debounceTime)(this.EntityEventDebounceTime)).subscribe(async (e) => {
174
+ await this.ProcessEntityEvent(e);
175
+ });
176
+ this._entityEventSubjects.set(entityName, subject);
177
+ }
178
+ this._entityEventSubjects.get(entityName).next(event);
179
+ return true;
180
+ }
181
+ catch (e) {
182
+ (0, logging_1.LogError)(e);
183
+ return false;
184
+ }
185
+ }
186
+ /**
187
+ * Overridable property to set the debounce time for entity events. Default is 5000 milliseconds (5 seconds).
188
+ */
189
+ get EntityEventDebounceTime() {
190
+ return this._entityEventDebounceTime;
191
+ }
192
+ /**
193
+ * This method does the actual work of processing the entity event. It is not directly called from the event handler because we want to first debounce the events
194
+ * which also introduces a delay which is usually desirable so that our processing is typically outside of the scope of any transaction processing that would have
195
+ * originated the event.
196
+ *
197
+ * This is the best method to override if you want to change the actual processing of an entity event but do NOT want to modify the debouncing behavior.
198
+ */
199
+ async ProcessEntityEvent(event) {
200
+ const entityName = event.baseEntity.EntityInfo.Name.toLowerCase().trim();
201
+ let refreshCount = 0;
202
+ for (const config of this.Configs) {
203
+ if (config.AutoRefresh && config.EntityName.trim().toLowerCase() === entityName) {
204
+ (0, logging_1.LogStatus)(`>>> Refreshing metadata for ${config.PropertyName} due to BaseEntity ${event.type} event for: ${event.baseEntity.EntityInfo.Name}, pkey: ${event.baseEntity.PrimaryKey.ToString()}`);
205
+ await this.LoadSingleConfig(config, this._contextUser);
206
+ refreshCount++;
207
+ }
208
+ }
209
+ if (refreshCount > 0) {
210
+ // we need to call AdditionalLoading here - because in many cases engine sub-classes do various kinds of data mashups
211
+ // after we have loaded - for example the TemplateEngine takes the TemplateContents and TemplateParams and stuffs them
212
+ // into arrays in each template to make it easier to get Params/Contents for each Template. Such operations are common
213
+ // and need to be done after the initial load and after any refreshes.
214
+ await this.AdditionalLoading(this._contextUser);
215
+ }
216
+ }
84
217
  /**
85
218
  * Utility method to upgrade an object to a BaseEnginePropertyConfig object.
86
219
  * @param obj
@@ -100,7 +233,11 @@ class BaseEngine extends global_1.BaseSingleton {
100
233
  */
101
234
  async LoadConfigs(configs, contextUser) {
102
235
  this._metadataConfigs = configs.map(c => this.UpgradeObjectToConfig(c));
103
- await Promise.all(this._metadataConfigs.map(c => this.LoadSingleConfig(c, contextUser)));
236
+ // now, break up the configs into two chunks, datasets and views of entities so we can load all the views in a single network call via RunViews()
237
+ const entityConfigs = this._metadataConfigs.filter(c => c.Type === 'entity');
238
+ const datasetConfigs = this._metadataConfigs.filter(c => c.Type === 'dataset');
239
+ await Promise.all([...datasetConfigs.map(c => this.LoadSingleDatasetConfig(c, contextUser)),
240
+ this.LoadMultipleEntityConfigs(entityConfigs, contextUser)]);
104
241
  }
105
242
  /**
106
243
  * Loads a single metadata configuration.
@@ -126,6 +263,14 @@ class BaseEngine extends global_1.BaseSingleton {
126
263
  ExtraFilter: config.Filter,
127
264
  OrderBy: config.OrderBy
128
265
  }, contextUser);
266
+ this.HandleSingleViewResult(config, result);
267
+ }
268
+ /**
269
+ * Handles the result of a single view load.
270
+ * @param config
271
+ * @param result
272
+ */
273
+ HandleSingleViewResult(config, result) {
129
274
  if (result.Success) {
130
275
  if (config.AddToObject !== false) {
131
276
  this[config.PropertyName] = result.Results;
@@ -136,6 +281,29 @@ class BaseEngine extends global_1.BaseSingleton {
136
281
  }
137
282
  }
138
283
  }
284
+ /**
285
+ * Handles the process of loading multiple entity configs in a single network call via RunViews()
286
+ * @param configs
287
+ * @param contextUser
288
+ */
289
+ async LoadMultipleEntityConfigs(configs, contextUser) {
290
+ if (configs && configs.length > 0) {
291
+ const rv = new runView_1.RunView();
292
+ const viewConfigs = configs.map(c => {
293
+ return {
294
+ EntityName: c.EntityName,
295
+ ResultType: 'entity_object',
296
+ ExtraFilter: c.Filter,
297
+ OrderBy: c.OrderBy
298
+ };
299
+ });
300
+ const results = await rv.RunViews(viewConfigs, contextUser);
301
+ // now loop through the results and process them
302
+ for (let i = 0; i < configs.length; i++) {
303
+ this.HandleSingleViewResult(configs[i], results[i]);
304
+ }
305
+ }
306
+ }
139
307
  /**
140
308
  * Handles the process of loading a single config of type 'dataset'.
141
309
  * @param config
@@ -147,7 +315,11 @@ class BaseEngine extends global_1.BaseSingleton {
147
315
  if (result.Success) {
148
316
  if (config.AddToObject !== false) {
149
317
  if (config.DatasetResultHandling === 'single_property') {
150
- this[config.PropertyName] = result.Results;
318
+ const singleObject = {};
319
+ for (const item of result.Results) {
320
+ singleObject[item.Code] = item.Results;
321
+ }
322
+ this[config.PropertyName] = singleObject;
151
323
  }
152
324
  else {
153
325
  // explode out the items within the DS into individual properties
@@ -1 +1 @@
1
- {"version":3,"file":"baseEngine.js","sourceRoot":"","sources":["../../src/generic/baseEngine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"baseEngine.js","sourceRoot":"","sources":["../../src/generic/baseEngine.ts"],"names":[],"mappings":"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"}
@@ -75,8 +75,8 @@ export declare class DataObjectParams {
75
75
  }
76
76
  export declare class BaseEntityAIActionParams {
77
77
  name: string;
78
- actionId: number;
79
- modelId: number;
78
+ actionId: string;
79
+ modelId: string;
80
80
  systemPrompt: string;
81
81
  userMessage: string;
82
82
  result: any;
@@ -130,6 +130,7 @@ export declare class BaseEntityResult {
130
130
  }
131
131
  /**
132
132
  * Event type that is used to raise events and provided structured callbacks for any caller that is interested in registering for events.
133
+ * This type is also used for whenever a BaseEntity instance raises an event with MJGlobal.
133
134
  */
134
135
  export declare class BaseEntityEvent {
135
136
  /**
@@ -171,6 +172,12 @@ export declare abstract class BaseEntity {
171
172
  * for the entity object.
172
173
  */
173
174
  RaiseReadyForTransaction(): void;
175
+ private static _baseEventCode;
176
+ /**
177
+ * When a BaseEntity class raises an event with MJGlobal, the eventCode property is set to this value. This is used to identify events that are raised by BaseEntity objects.
178
+ * Any MJGlobal event that is raised by a BaseEntity class will use a BaseEntityEvent type as the args parameter
179
+ */
180
+ static get BaseEventCode(): string;
174
181
  /**
175
182
  * Used for raising events within the BaseEntity and can be used by sub-classes to raise events that are specific to the entity.
176
183
  */
@@ -248,9 +255,10 @@ export declare abstract class BaseEntity {
248
255
  /**
249
256
  * Sets any number of values on the entity object from the object passed in. The properties of the object being passed in must either match the field name (in most cases) or the CodeName (which is only different from field name if field name has spaces in it)
250
257
  * @param object
251
- * @param ignoreNonExistentFields
258
+ * @param ignoreNonExistentFields - if set to true, fields that don't exist on the entity object will be ignored, if false, an error will be thrown if a field doesn't exist
259
+ * @param replaceOldValues - if set to true, the old values of the fields will be reset to the values provided in the object parameter, if false, they will be left alone
252
260
  */
253
- SetMany(object: any, ignoreNonExistentFields?: boolean): void;
261
+ SetMany(object: any, ignoreNonExistentFields?: boolean, replaceOldValues?: boolean): void;
254
262
  /**
255
263
  * Utility method to create an object and return it with properties in the newly created and returned object for each field in the entity object. This is useful for scenarios where you need to be able to persist the data
256
264
  * in a format to send to a network call, save to a file or database, etc. This method will return an object with properties that match the field names of the entity object.
@@ -282,10 +290,11 @@ export declare abstract class BaseEntity {
282
290
  /**
283
291
  * This method will copy the values from the other entity object into the current one. This is useful for things like cloning a record.
284
292
  * This method will ONLY copy values for fields that exist in the current entity object. If the other object has fields that don't exist in the current object, they will be ignored.
285
- * @param other
293
+ * @param other - the other entity object to copy values from
286
294
  * @param includePrimaryKeys - if true, the primary keys will be copied as well, if false, they will be ignored, defaults to false and generally you want to leave it that way
295
+ * @param replaceOldValues - if true, the old values of the fields will be reset to the values provided in the other parameter, if false, they will be left alone, defaults to false and generally you want to leave it that way
287
296
  */
288
- CopyFrom(other: BaseEntity, includePrimaryKeys?: boolean): boolean;
297
+ CopyFrom(other: BaseEntity, includePrimaryKeys?: boolean, replaceOldValues?: boolean): boolean;
289
298
  /**
290
299
  * The ContextCurrentUser is a property used to manually set the "current" user for scenarios, primarily on the server side, where the user changes per request. For situations where there is no global CurrentUser in the Metadata.Provider,
291
300
  * you MUST set this property to the user you want to use for the current operation. If you used Metadata.GetEntityObject() to get the entity object, this property will be set automatically for you as that method has a parameter that can
@@ -339,10 +348,11 @@ export declare abstract class BaseEntity {
339
348
  * (1) On the server if you are pulling data you know is fresh from say the result of another DB operation
340
349
  * (2) If on any tier you run a fresh RunView result, that gives you data from the database, you can then instantiate objects via Metadata.GetEntityObject() and then use this with the result from the RunView call
341
350
  * *** Note: for the #2 use case, when you call the RunView Object RunView() method with the ResultType='entity_object', you'll get an array of BaseEntity-derived objects instead of simple objects, that functionality utilizes this method
342
- * @param data
351
+ * @param data - a simple object that has properties that match the field names of the entity object
352
+ * @param replaceOldValues - if true, the old values of the fields will be set to the values provided in the data parameter, if false, they will be left alone
343
353
  * @returns
344
354
  */
345
- LoadFromData(data: any): boolean;
355
+ LoadFromData(data: any, replaceOldValues?: boolean): boolean;
346
356
  /**
347
357
  * This method is used automatically within Save() and is used to determine if the state of the object is valid relative to the validation rules that are defined in metadata. In addition, sub-classes can
348
358
  * override or wrap this base class method to add other logic for validation.
@@ -1 +1 @@
1
- {"version":3,"file":"baseEntity.d.ts","sourceRoot":"","sources":["../../src/generic/baseEntity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"baseEntity.d.ts","sourceRoot":"","sources":["../../src/generic/baseEntity.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,YAAY,EAAuB,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACjL,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAG3F,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE1D,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAW,YAAY,EAAE,MAAM,MAAM,CAAC;AAE7C;;;GAGG;AACH,qBAAa,WAAW;IACpB,OAAO,CAAC,gBAAgB,CAAkB;IAC1C,OAAO,CAAC,SAAS,CAAM;IACvB,OAAO,CAAC,MAAM,CAAM;IACpB,OAAO,CAAC,SAAS,CAAiB;IAElC,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,SAAS,IAAI,iBAAiB,CAEjC;IAED,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED,IAAI,YAAY,IAAI,OAAO,CAE1B;IAED,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED;;OAEG;IACH,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED;;OAEG;IACH,IAAI,KAAK,IAAI,GAAG,CAEf;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,IAAI,eAAe,IAAI,eAAe,CAErC;IAED;;OAEG;IACH,IAAI,KAAK,CAAC,KAAK,EAAE,GAAG,EAiBnB;IAED;;OAEG;IACH,IAAI,KAAK,IAAI,OAAO,CAwBnB;IAED;;;;;OAKG;IACI,WAAW,CAAC,QAAQ,GAAE,MAAU,EAAE,QAAQ,GAAE,MAAc;IAIjE;;;;OAIG;IACI,QAAQ,IAAI,gBAAgB;gBAoCvB,SAAS,EAAE,eAAe,EAAE,KAAK,CAAC,EAAE,GAAG;IA6DnD;;OAEG;IACI,aAAa;IAIpB;;OAEG;IACH,IAAW,QAAQ,IAAI,GAAG,CAEzB;CACJ;AAED,qBAAa,4BAA4B;IACrC,iBAAiB,EAAE,MAAM,CAAA;IACzB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAA;CACtB;AACD,qBAAa,gBAAgB;IACzB,SAAS,EAAE,OAAO,CAAQ;IAC1B,cAAc,EAAE,OAAO,CAAO;IAC9B,gBAAgB,EAAE,OAAO,CAAO;IAChC,aAAa,EAAE,MAAM,EAAE,CAAO;IAC9B,wBAAwB,EAAE,OAAO,CAAO;IACxC,iBAAiB,EAAE,4BAA4B,EAAE,CAAO;CAC3D;AAED,qBAAa,wBAAwB;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,GAAG,CAAA;CACd;AAED;;GAEG;AACH,qBAAa,gBAAgB;IACzB;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACrC;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,KAAK,CAAC,EAAE,GAAG,CAAC;IAEZ;;OAEG;IACH,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;IACf;;OAEG;IACH,cAAc,EAAE;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,GAAG,CAAA;KAAC,EAAE,CAAM;IACvD;;OAEG;IACH,SAAS,EAAE;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,GAAG,CAAA;KAAC,EAAE,CAAM;IAElD;;OAEG;IACH,SAAS,EAAE,IAAI,CAAC;IAChB;;OAEG;IACH,OAAO,EAAE,IAAI,CAAC;CACjB;AAED;;;GAGG;AACH,qBAAa,eAAe;IACxB;;OAEG;IACH,IAAI,EAAE,YAAY,GAAG,MAAM,GAAG,QAAQ,GAAG,mBAAmB,GAAG,OAAO,CAAC;IACvE,OAAO,EAAE,GAAG,CAAC;IACb,UAAU,EAAE,UAAU,CAAC;CAC1B;AAED;;GAEG;AACH,8BAAsB,UAAU;IAC5B,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,aAAa,CAAkB;IACvC,OAAO,CAAC,mBAAmB,CAAkB;IAC7C,OAAO,CAAC,iBAAiB,CAA8B;IACvD,OAAO,CAAC,aAAa,CAA2B;IAChD,OAAO,CAAC,cAAc,CAA0B;gBAEpC,MAAM,EAAE,UAAU;IAM9B;;;;;;OAMG;IACI,oBAAoB,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,GAAG,YAAY;IAIrF;;;;OAIG;IACI,gCAAgC;IAMvC;;;;OAIG;IACI,wBAAwB;IAK/B,OAAO,CAAC,MAAM,CAAC,cAAc,CAAqB;IAClD;;;OAGG;IACH,WAAkB,aAAa,IAAI,MAAM,CAExC;IAED;;OAEG;IACH,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,GAAG,QAAQ,GAAG,mBAAmB,GAAG,OAAO,EAAE,OAAO,EAAE,GAAG;IAoBzG;;;;OAIG;IACU,MAAM,CAAC,WAAW,EAAE,QAAQ;IAIzC;;OAEG;IACH,IAAI,OAAO,IAAI,OAAO,CAErB;IAED;;;OAGG;IACH,IAAI,gBAAgB,IAAI,oBAAoB,CAE3C;IAED,IAAI,gBAAgB,CAAC,KAAK,EAAE,oBAAoB,EAE/C;IAED;;OAEG;IACH,IAAW,aAAa,IAAI,gBAAgB,EAAE,CAE7C;IAED;;OAEG;IACH,IAAW,YAAY,IAAI,gBAAgB,CAK1C;IAGD;;OAEG;IACH,IAAI,UAAU,IAAI,UAAU,CAE3B;IAED,IAAI,MAAM,IAAI,WAAW,EAAE,CAE1B;IAED;;;;OAIG;IACI,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW;IAKrD;;OAEG;IACH,IAAI,KAAK,IAAI,OAAO,CAEnB;IAED;;;OAGG;IACH,IAAI,WAAW,IAAI,WAAW,EAAE,CAE/B;IAED,OAAO,CAAC,aAAa,CAAsB;IAC3C;;;OAGG;IACH,IAAI,UAAU,IAAK,YAAY,CAM9B;IAED;;OAEG;IACH,IAAI,eAAe,IAAI,WAAW,CAEjC;IAED;;OAEG;IACH,IAAI,YAAY,IAAI,OAAO,CAE1B;IAED;;;;OAIG;IACI,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG;IAYxC;;;;OAIG;IACI,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,GAAG;IAYlC;;;;;OAKG;IACI,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,uBAAuB,GAAE,OAAe,EAAE,gBAAgB,GAAE,OAAe;IAkCvG;;;;;;OAMG;IACI,MAAM,CAAC,SAAS,GAAE,OAAe,EAAE,eAAe,GAAE,OAAe,GAAG,EAAE;IAa/E;;;;;OAKG;IACU,iBAAiB,CAAC,MAAM,EAAE,gBAAgB,EAAE,UAAU,GAAE,OAAc,GAAG,OAAO,CAAC,MAAM,CAAC;IAQrG;;;;;OAKG;IACU,aAAa,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC;IA+CrD,oBAAoB,CAAC,EAAE,EAAE,sBAAsB,EAAE,MAAM,GAAE,MAAa,EAAE,UAAU,GAAE,MAAa,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAKlH,uBAAuB,CAAC,EAAE,EAAE,sBAAsB,EAAE,MAAM,GAAE,MAAa,EAAE,UAAU,GAAE,MAAa,GAAG,OAAO,CAAC;QAAC,IAAI,EAAE,GAAG,EAAE,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAC,CAAC;IAejK,OAAO,CAAC,IAAI;IAYZ;;;;;;OAMG;IACI,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,kBAAkB,GAAE,OAAe,EAAE,gBAAgB,GAAE,OAAe,GAAG,OAAO;IAuBnH;;;;OAIG;IACH,IAAW,kBAAkB,CAAC,IAAI,EAAE,QAAQ,EAE3C;IACD,IAAW,kBAAkB,IAAI,QAAQ,CAExC;IAGD;;;;;OAKG;IACI,SAAS,CAAC,SAAS,CAAC,EAAE,oBAAoB,GAAI,OAAO;IAW5D;;;;OAIG;IACU,IAAI,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAI,OAAO,CAAC,OAAO,CAAC;IA+DjE;;OAEG;IACH,SAAS,KAAK,UAAU,IAAI,QAAQ,CAEnC;IAED;;;;;OAKG;IACI,gBAAgB,CAAC,IAAI,EAAE,oBAAoB,EAAE,UAAU,EAAE,OAAO,GAAG,OAAO;IAgEjF,SAAS,CAAC,oBAAoB,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM;IAMrG;;;OAGG;IACI,MAAM,IAAI,OAAO;IASxB;;;;;;;;OAQG;IACU,SAAS,CAAC,YAAY,EAAE,YAAY,EAAE,yBAAyB,GAAE,MAAM,EAAS,GAAI,OAAO,CAAC,OAAO,CAAC;IAsCjH;;;;;;;;;OASG;IACI,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,gBAAgB,GAAE,OAAe,GAAI,OAAO;IAK3E;;;;OAIG;IACI,QAAQ,IAAI,gBAAgB;IAenC;;;OAGG;IACU,MAAM,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAI,OAAO,CAAC,OAAO,CAAC;IAwCrE;;;OAGG;IACU,oBAAoB,CAAC,MAAM,EAAE,wBAAwB,GAAG,OAAO,CAAC,OAAO,CAAC;IAIrF;;OAEG;IACU,mBAAmB,CAAC,MAAM,EAAE,wBAAwB,GAAG,OAAO,CAAC,OAAO,CAAC;IAKpF,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAmC;IACpE,WAAkB,QAAQ,IAAI,mBAAmB,CAMhD;IACD,WAAkB,QAAQ,CAAC,KAAK,EAAE,mBAAmB,EAMpD;IAED;;OAEG;IACH,IAAW,aAAa,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAOlD;IAED;;;;;OAKG;WACiB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;CAiBhH"}