@memberjunction/core 2.130.0 → 2.131.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.
@@ -223,9 +223,13 @@ export declare class BaseEntityResult {
223
223
  */
224
224
  export declare class BaseEntityEvent {
225
225
  /**
226
- * The type of event that is being raised. transaction_ready is used to indicate that a transaction is ready to be submitted for execution. The TransactionGroup class uses this to know that all async preprocessing is done and it can now submit the transaction.
226
+ * The type of event that is being raised.
227
+ * - `save_started`, `delete_started`, `load_started`: Raised when an operation begins
228
+ * - `save`, `delete`, `load_complete`: Raised when an operation completes successfully
229
+ * - `new_record`: Raised when NewRecord() is called
230
+ * - `transaction_ready`: Used to indicate that a transaction is ready to be submitted for execution. The TransactionGroup class uses this to know that all async preprocessing is done and it can now submit the transaction.
227
231
  */
228
- type: 'new_record' | 'save' | 'delete' | 'transaction_ready' | 'other';
232
+ type: 'new_record' | 'save' | 'delete' | 'load_complete' | 'transaction_ready' | 'save_started' | 'delete_started' | 'load_started' | 'other';
229
233
  /**
230
234
  * If type === 'save' this property can either be 'create' or 'update' to indicate the type of save operation that was performed.
231
235
  */
@@ -252,6 +256,8 @@ export declare abstract class BaseEntity<T = unknown> {
252
256
  private _resultHistory;
253
257
  private _provider;
254
258
  private _everSaved;
259
+ private _isLoading;
260
+ private _pendingDelete$;
255
261
  constructor(Entity: EntityInfo, Provider?: IEntityDataProvider | null);
256
262
  /**
257
263
  * Returns this provider to be used for a given instance of a BaseEntity derived subclass. If the provider is not set, the BaseEntity.Provider is returned.
@@ -309,6 +315,72 @@ export declare abstract class BaseEntity<T = unknown> {
309
315
  * Returns true if the record has been saved to the database, false otherwise. This is a useful property to check to determine if the record is a "New Record" or an existing one.
310
316
  */
311
317
  get IsSaved(): boolean;
318
+ /**
319
+ * Returns true if a Save operation is currently in progress. This is useful for UI components to show loading indicators or disable buttons while saving.
320
+ */
321
+ get IsSaving(): boolean;
322
+ /**
323
+ * Returns true if a Delete operation is currently in progress. This is useful for UI components to show loading indicators or disable buttons while deleting.
324
+ */
325
+ get IsDeleting(): boolean;
326
+ /**
327
+ * Returns true if a Load operation is currently in progress. This is useful for UI components to show loading indicators while data is being fetched.
328
+ */
329
+ get IsLoading(): boolean;
330
+ /**
331
+ * Returns true if any operation (Save, Delete, or Load) is currently in progress. This is a convenience property that combines IsSaving, IsDeleting, and IsLoading.
332
+ * Useful for disabling UI elements when any database operation is happening.
333
+ */
334
+ get IsBusy(): boolean;
335
+ /**
336
+ * Returns a promise that resolves when the current Save operation completes.
337
+ * If no Save operation is in progress, resolves immediately.
338
+ *
339
+ * This is useful when you need to ensure data is persisted before performing
340
+ * a dependent operation, or when coordinating between multiple components
341
+ * that might trigger saves.
342
+ *
343
+ * @example
344
+ * ```typescript
345
+ * // Ensure any in-progress save is complete before proceeding
346
+ * await entity.EnsureSaveComplete();
347
+ * // Now safe to perform operations that depend on the saved state
348
+ * await someOperationThatNeedsSavedData(entity);
349
+ * ```
350
+ */
351
+ EnsureSaveComplete(): Promise<void>;
352
+ /**
353
+ * Returns a promise that resolves when the current Delete operation completes.
354
+ * If no Delete operation is in progress, resolves immediately.
355
+ *
356
+ * This is useful when you need to ensure a record is deleted before performing
357
+ * cleanup operations or navigating away from a view.
358
+ *
359
+ * @example
360
+ * ```typescript
361
+ * // Ensure any in-progress delete is complete before proceeding
362
+ * await entity.EnsureDeleteComplete();
363
+ * // Now safe to navigate away or perform cleanup
364
+ * navigateToList();
365
+ * ```
366
+ */
367
+ EnsureDeleteComplete(): Promise<void>;
368
+ /**
369
+ * Returns a promise that resolves when the current Load operation completes.
370
+ * If no Load operation is in progress, resolves immediately.
371
+ *
372
+ * This is useful when you need to ensure data is loaded before accessing
373
+ * entity properties or performing operations that depend on loaded data.
374
+ *
375
+ * @example
376
+ * ```typescript
377
+ * // Ensure any in-progress load is complete before proceeding
378
+ * await entity.EnsureLoadComplete();
379
+ * // Now safe to access entity data
380
+ * console.log(entity.Name);
381
+ * ```
382
+ */
383
+ EnsureLoadComplete(): Promise<void>;
312
384
  /**
313
385
  * Transaction Groups are used to group multiple transactions into a single ATOMic transaction in a database. They are also useful even in situations with ATOMicity is less important but you want
314
386
  * to submit a group of changes to the API server in a single network call.
@@ -574,9 +646,20 @@ export declare abstract class BaseEntity<T = unknown> {
574
646
  ValidateAsync(): Promise<ValidationResult>;
575
647
  /**
576
648
  * This method deletes a record from the database. You must call Load() first in order to load the context of the record you are deleting.
577
- * @returns
649
+ *
650
+ * Debounces multiple calls so that if Delete() is called again while a delete is in progress,
651
+ * the second call will simply receive the same result as the first.
652
+ *
653
+ * @returns Promise<boolean>
578
654
  */
579
655
  Delete(options?: EntityDeleteOptions): Promise<boolean>;
656
+ /**
657
+ * Private, internal method to handle deleting a record from the database. This method is called by the public facing Delete() method
658
+ * and is debounced to prevent multiple calls from being executed simultaneously.
659
+ * @param options
660
+ * @returns
661
+ */
662
+ private _InnerDelete;
580
663
  /**
581
664
  * Called before an Action is executed by the AI Engine
582
665
  * This is intended to be overriden by subclass as needed, these methods called at the right time by the execution context
@@ -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,iBAAiB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAG3K,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,EAAwE,YAAY,EAAa,MAAM,MAAM,CAAC;AACrH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;GAGG;AACH,qBAAa,WAAW;IACpB;;;OAGG;IACH,gBAAuB,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAUxC;IAED;;;;OAIG;IACH,OAAO,CAAC,2BAA2B,CAAkB;IACrD,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,CAOf;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,IAAI,eAAe,IAAI,eAAe,CAErC;IAED;;OAEG;IACH,IAAI,kBAAkB,IAAI,OAAO,CAEhC;IAED;;OAEG;IACH,IAAI,eAAe,IAAI,OAAO,CAE7B;IAED;;OAEG;IACH,IAAI,KAAK,CAAC,KAAK,EAAE,GAAG,EAuBnB;IAED;;;;OAIG;IACI,iBAAiB;IAIxB;;OAEG;IACH,IAAI,KAAK,IAAI,OAAO,CA8DnB;IAED;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAkBxB;;OAEG;IACH,OAAO,CAAC,aAAa;IAQrB;;OAEG;IACH,OAAO,CAAC,eAAe;IAqBvB;;;;;OAKG;IACI,WAAW,CAAC,QAAQ,GAAE,MAAU,EAAE,QAAQ,GAAE,MAAc;IAIjE;;;;OAIG;IACI,QAAQ,IAAI,gBAAgB;gBA+CvB,SAAS,EAAE,eAAe,EAAE,KAAK,CAAC,EAAE,GAAG;IA+EnD;;OAEG;IACI,aAAa;IAMpB;;;;OAIG;IACH,IAAW,sBAAsB,IAAI,OAAO,CAE3C;IACD,IAAW,sBAAsB,CAAC,KAAK,EAAE,OAAO,EAE/C;IAED;;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;AAED,qBAAa,gBAAgB;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,cAAc,EAAE,OAAO,CAAC;IACxB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,wBAAwB,EAAE,OAAO,CAAC;IAClC,iBAAiB,EAAE,4BAA4B,EAAE,CAAC;gBAG9C,SAAS,GAAE,OAAe,EAC1B,cAAc,GAAE,OAAe,EAC/B,gBAAgB,GAAE,OAAe,EACjC,aAAa,GAAE,MAAM,EAAO,EAC5B,wBAAwB,GAAE,OAAe,EACzC,iBAAiB,GAAE,4BAA4B,EAAO;CAS7D;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;gBAEF,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ;IAUvF;;OAEG;IACH,IAAW,eAAe,IAAI,MAAM,CA6BnC;CACJ;AAGD;;;GAGG;AACH,qBAAa,eAAe;IACxB;;;;;;OAMG;IACH,IAAI,EAAE,YAAY,GAAG,MAAM,GAAG,QAAQ,GAAG,eAAe,GAAG,mBAAmB,GAAG,cAAc,GAAG,gBAAgB,GAAG,cAAc,GAAG,OAAO,CAAC;IAE9I;;OAEG;IACH,WAAW,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAElC;;OAEG;IACH,OAAO,EAAE,GAAG,CAAC;IAEb;;OAEG;IACH,UAAU,EAAE,UAAU,CAAC;CAC1B;AAED;;GAEG;AACH,8BAAsB,UAAU,CAAC,CAAC,GAAG,OAAO;IACxC,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;IAChD,OAAO,CAAC,SAAS,CAAoC;IACrD,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,eAAe,CAAoC;gBAE/C,MAAM,EAAE,UAAU,EAAE,QAAQ,GAAE,mBAAmB,GAAG,IAAW;IAQ3E;;OAEG;IACH,IAAW,aAAa,IAAI,mBAAmB,CAE9C;IAED;;OAEG;IACH,IAAW,oBAAoB,IAAI,gBAAgB,CAElD;IAED;;OAEG;IACH,IAAW,qBAAqB,IAAI,iBAAiB,CAEpD;IAED;;OAEG;IACH,IAAW,sBAAsB,IAAI,kBAAkB,CAEtD;IAED;;;;;;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,eAAe,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,GAAE,eAAe,CAAC,aAAa,CAAa;IAyBzH;;;;OAIG;IACU,MAAM,CAAC,WAAW,EAAE,QAAQ;IAIzC;;OAEG;IACH,IAAI,OAAO,IAAI,OAAO,CAErB;IAED;;OAEG;IACH,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED;;OAEG;IACH,IAAI,UAAU,IAAI,OAAO,CAExB;IAED;;OAEG;IACH,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED;;;OAGG;IACH,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED;;;;;;;;;;;;;;;OAeG;IACI,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAe1C;;;;;;;;;;;;;;OAcG;IACI,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IAe5C;;;;;;;;;;;;;;OAcG;IACI,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAe1C;;;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,GAAG,IAAI;IAS5D;;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;;;;;OAKG;IACI,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG;IAmCxC;;;;OAIG;IACI,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,GAAG;IAYlC;;;;;;;;OAQG;IACI,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,uBAAuB,GAAE,OAAe,EAAE,gBAAgB,GAAE,OAAe,EAAE,4BAA4B,GAAE,OAAe;IAsDtJ;;;;;;;;OAQG;IACI,MAAM,CAAC,SAAS,GAAE,OAAe,EAAE,eAAe,GAAE,OAAe,GAAG,GAAG;IAkBhF;;;;OAIG;IACI,uBAAuB,IAAI,OAAO,CAAC,CAAC,CAAC;IAI5C;;;;;OAKG;IACU,iBAAiB,CAAC,MAAM,GAAE,gBAAuB,EAAE,UAAU,GAAE,OAAc,GAAG,OAAO,CAAC,MAAM,CAAC;IAQ5G;;;;;OAKG;IACU,aAAa,CAAC,MAAM,GAAE,gBAAuB,GAAG,OAAO,CAAC,GAAG,CAAC;IAkD5D,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;IAeZ;;;;;;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;IAiC5D,OAAO,CAAC,aAAa,CAAoC;IAEzD;;;;;;;;;OASG;IACU,IAAI,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC;IAmBhE;;;;;OAKG;YACW,UAAU;IAoGxB,OAAO,CAAC,YAAY;IAkBpB;;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;IAkDjH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoDG;IACU,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,iBAAiB,GAAE,OAAe,GAAG,OAAO,CAAC,OAAO,CAAC;IAwB1F;;;;;OAKG;IACI,QAAQ,IAAI,gBAAgB;IAenC;;;;;;;;;OASG;IACH,IAAW,0BAA0B,IAAI,OAAO,CAE/C;IAED;;;;;;;;;;;;;OAaG;IACU,aAAa,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAQvD;;;;;;;OAOG;IACU,MAAM,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAI,OAAO,CAAC,OAAO,CAAC;IAmBrE;;;;;OAKG;YACW,YAAY;IA8E1B;;;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;IAIpF,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAmC;IACpE;;;;OAIG;IACH,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;IAGD;;;;OAIG;WACiB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,GAAE,mBAAmB,GAAG,IAAW,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAmBxJ;;;;OAIG;IACI,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO;IAmBlF;;;OAGG;IACI,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,YAAY,EAAE,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI;IAmBlE;;;;;OAKG;cACa,6BAA6B,CAAC,MAAM,EAAE,KAAK,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAC,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IASpJ;;;;;;;OAOG;cACa,4BAA4B,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAclI;;;;;OAKG;cACa,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,WAAW,CAAC;QAAC,WAAW,EAAE,WAAW,CAAC;QAAC,UAAU,EAAE,WAAW,CAAA;KAAC,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAS5I;;;;;;;;OAQG;cACa,iBAAiB,CAAC,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;IA0B1H;;;;;;OAMG;cACa,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAInF;;;;;OAKG;IACI,sBAAsB,IAAI,OAAO;IAIxC;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAsD;IAEtE;;;OAGG;IACH,IAAW,OAAO,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAE1C;IAED;;OAEG;IACI,YAAY,IAAI,IAAI;CAG9B"}
@@ -483,6 +483,8 @@ class BaseEntity {
483
483
  this._resultHistory = [];
484
484
  this._provider = null;
485
485
  this._everSaved = false;
486
+ this._isLoading = false;
487
+ this._pendingDelete$ = null;
486
488
  this._compositeKey = null;
487
489
  // Holds the current pending save observable (if any)
488
490
  this._pendingSave$ = null;
@@ -565,8 +567,9 @@ class BaseEntity {
565
567
  (0, logging_1.LogDebug)(`BaseEntity.RaiseEvent() - ${type === 'save' ? 'save:' + saveSubType : type} event raised for ${this.EntityInfo.Name}, about to call this._eventSubject.next()`);
566
568
  this._eventSubject.next({ type: type, payload: payload, saveSubType: saveSubType, baseEntity: this });
567
569
  // this next call is to MJGlobal to let everyone who cares knows that we had an event on an entity object
568
- // at the moment we only broadcast save/delete not the others
569
- if (type === 'save' || type === 'delete') {
570
+ // we broadcast save/delete/load events and their _started counterparts
571
+ const globalEventTypes = ['save', 'delete', 'load_complete', 'save_started', 'delete_started', 'load_started'];
572
+ if (globalEventTypes.includes(type)) {
570
573
  const event = new BaseEntityEvent();
571
574
  event.baseEntity = this;
572
575
  event.payload = payload;
@@ -595,6 +598,116 @@ class BaseEntity {
595
598
  get IsSaved() {
596
599
  return this._everSaved;
597
600
  }
601
+ /**
602
+ * Returns true if a Save operation is currently in progress. This is useful for UI components to show loading indicators or disable buttons while saving.
603
+ */
604
+ get IsSaving() {
605
+ return this._pendingSave$ !== null;
606
+ }
607
+ /**
608
+ * Returns true if a Delete operation is currently in progress. This is useful for UI components to show loading indicators or disable buttons while deleting.
609
+ */
610
+ get IsDeleting() {
611
+ return this._pendingDelete$ !== null;
612
+ }
613
+ /**
614
+ * Returns true if a Load operation is currently in progress. This is useful for UI components to show loading indicators while data is being fetched.
615
+ */
616
+ get IsLoading() {
617
+ return this._isLoading;
618
+ }
619
+ /**
620
+ * Returns true if any operation (Save, Delete, or Load) is currently in progress. This is a convenience property that combines IsSaving, IsDeleting, and IsLoading.
621
+ * Useful for disabling UI elements when any database operation is happening.
622
+ */
623
+ get IsBusy() {
624
+ return this.IsSaving || this.IsDeleting || this.IsLoading;
625
+ }
626
+ /**
627
+ * Returns a promise that resolves when the current Save operation completes.
628
+ * If no Save operation is in progress, resolves immediately.
629
+ *
630
+ * This is useful when you need to ensure data is persisted before performing
631
+ * a dependent operation, or when coordinating between multiple components
632
+ * that might trigger saves.
633
+ *
634
+ * @example
635
+ * ```typescript
636
+ * // Ensure any in-progress save is complete before proceeding
637
+ * await entity.EnsureSaveComplete();
638
+ * // Now safe to perform operations that depend on the saved state
639
+ * await someOperationThatNeedsSavedData(entity);
640
+ * ```
641
+ */
642
+ EnsureSaveComplete() {
643
+ if (!this.IsSaving) {
644
+ return Promise.resolve();
645
+ }
646
+ return new Promise((resolve) => {
647
+ const subscription = this.RegisterEventHandler((event) => {
648
+ if (event.type === 'save') {
649
+ subscription.unsubscribe();
650
+ resolve();
651
+ }
652
+ });
653
+ });
654
+ }
655
+ /**
656
+ * Returns a promise that resolves when the current Delete operation completes.
657
+ * If no Delete operation is in progress, resolves immediately.
658
+ *
659
+ * This is useful when you need to ensure a record is deleted before performing
660
+ * cleanup operations or navigating away from a view.
661
+ *
662
+ * @example
663
+ * ```typescript
664
+ * // Ensure any in-progress delete is complete before proceeding
665
+ * await entity.EnsureDeleteComplete();
666
+ * // Now safe to navigate away or perform cleanup
667
+ * navigateToList();
668
+ * ```
669
+ */
670
+ EnsureDeleteComplete() {
671
+ if (!this.IsDeleting) {
672
+ return Promise.resolve();
673
+ }
674
+ return new Promise((resolve) => {
675
+ const subscription = this.RegisterEventHandler((event) => {
676
+ if (event.type === 'delete') {
677
+ subscription.unsubscribe();
678
+ resolve();
679
+ }
680
+ });
681
+ });
682
+ }
683
+ /**
684
+ * Returns a promise that resolves when the current Load operation completes.
685
+ * If no Load operation is in progress, resolves immediately.
686
+ *
687
+ * This is useful when you need to ensure data is loaded before accessing
688
+ * entity properties or performing operations that depend on loaded data.
689
+ *
690
+ * @example
691
+ * ```typescript
692
+ * // Ensure any in-progress load is complete before proceeding
693
+ * await entity.EnsureLoadComplete();
694
+ * // Now safe to access entity data
695
+ * console.log(entity.Name);
696
+ * ```
697
+ */
698
+ EnsureLoadComplete() {
699
+ if (!this.IsLoading) {
700
+ return Promise.resolve();
701
+ }
702
+ return new Promise((resolve) => {
703
+ const subscription = this.RegisterEventHandler((event) => {
704
+ if (event.type === 'load_complete') {
705
+ subscription.unsubscribe();
706
+ resolve();
707
+ }
708
+ });
709
+ });
710
+ }
598
711
  /**
599
712
  * Transaction Groups are used to group multiple transactions into a single ATOMic transaction in a database. They are also useful even in situations with ATOMicity is less important but you want
600
713
  * to submit a group of changes to the API server in a single network call.
@@ -1035,6 +1148,8 @@ class BaseEntity {
1035
1148
  const saveSubType = this.IsSaved ? 'update' : 'create';
1036
1149
  this.CheckPermissions(type, true); // this will throw an error and exit out if we don't have permission
1037
1150
  if (_options.IgnoreDirtyState || this.Dirty || _options.ReplayOnly) {
1151
+ // Raise save_started event only when we're actually going to save
1152
+ this.RaiseEvent('save_started', null, saveSubType);
1038
1153
  if (!this.ProviderToUse) {
1039
1154
  throw new Error('No provider set');
1040
1155
  }
@@ -1231,11 +1346,14 @@ class BaseEntity {
1231
1346
  if (!this.ProviderToUse) {
1232
1347
  throw new Error('No provider set');
1233
1348
  }
1234
- else {
1235
- const valResult = CompositeKey.Validate();
1236
- if (!valResult || !valResult.IsValid)
1237
- throw new Error(`Invalid CompositeKey passed to BaseEntity.Load(${this.EntityInfo.Name}): ${valResult.ErrorMessage}`);
1238
- this.CheckPermissions(entityInfo_1.EntityPermissionType.Read, true); // this will throw an error and exit out if we don't have permission
1349
+ const valResult = CompositeKey.Validate();
1350
+ if (!valResult || !valResult.IsValid)
1351
+ throw new Error(`Invalid CompositeKey passed to BaseEntity.Load(${this.EntityInfo.Name}): ${valResult.ErrorMessage}`);
1352
+ this.CheckPermissions(entityInfo_1.EntityPermissionType.Read, true); // this will throw an error and exit out if we don't have permission
1353
+ // Set loading state and raise load_started event
1354
+ this._isLoading = true;
1355
+ this.RaiseEvent('load_started', { CompositeKey });
1356
+ try {
1239
1357
  if (!this.IsSaved) {
1240
1358
  this.init(); // wipe out current data if we're loading on top of existing record
1241
1359
  }
@@ -1256,8 +1374,14 @@ class BaseEntity {
1256
1374
  this._recordLoaded = true;
1257
1375
  this._everSaved = true; // Mark as saved since we loaded from database
1258
1376
  this._compositeKey = CompositeKey; // set the composite key to the one we just loaded
1377
+ // Raise load completion event
1378
+ this.RaiseEvent('load_complete', { CompositeKey });
1259
1379
  return true;
1260
1380
  }
1381
+ finally {
1382
+ // Always clear loading state when done, regardless of success or failure
1383
+ this._isLoading = false;
1384
+ }
1261
1385
  }
1262
1386
  /**
1263
1387
  * Loads entity data from a plain object, typically from database query results.
@@ -1389,9 +1513,34 @@ class BaseEntity {
1389
1513
  }
1390
1514
  /**
1391
1515
  * This method deletes a record from the database. You must call Load() first in order to load the context of the record you are deleting.
1392
- * @returns
1516
+ *
1517
+ * Debounces multiple calls so that if Delete() is called again while a delete is in progress,
1518
+ * the second call will simply receive the same result as the first.
1519
+ *
1520
+ * @returns Promise<boolean>
1393
1521
  */
1394
1522
  async Delete(options) {
1523
+ // If a delete is already in progress, return its promise.
1524
+ if (this._pendingDelete$) {
1525
+ return (0, rxjs_1.firstValueFrom)(this._pendingDelete$);
1526
+ }
1527
+ // Create a new observable that debounces duplicative calls, and executes the delete.
1528
+ this._pendingDelete$ = (0, rxjs_1.of)(options).pipe(
1529
+ // Execute the actual delete logic.
1530
+ (0, rxjs_1.switchMap)(opts => (0, rxjs_1.from)(this._InnerDelete(opts))),
1531
+ // When the delete completes (whether successfully or not), clear the pending delete observable.
1532
+ (0, rxjs_1.finalize)(() => { this._pendingDelete$ = null; }),
1533
+ // Ensure that all subscribers get the same result.
1534
+ (0, rxjs_1.shareReplay)(1));
1535
+ return (0, rxjs_1.firstValueFrom)(this._pendingDelete$);
1536
+ }
1537
+ /**
1538
+ * Private, internal method to handle deleting a record from the database. This method is called by the public facing Delete() method
1539
+ * and is debounced to prevent multiple calls from being executed simultaneously.
1540
+ * @param options
1541
+ * @returns
1542
+ */
1543
+ async _InnerDelete(options) {
1395
1544
  const currentResultCount = this.ResultHistory.length;
1396
1545
  const newResult = new BaseEntityResult();
1397
1546
  newResult.StartedAt = new Date();
@@ -1401,6 +1550,8 @@ class BaseEntity {
1401
1550
  }
1402
1551
  else {
1403
1552
  this.CheckPermissions(entityInfo_1.EntityPermissionType.Delete, true); // this will throw an error and exit out if we don't have permission
1553
+ // Raise delete_started event before the actual delete operation begins
1554
+ this.RaiseEvent('delete_started', null);
1404
1555
  // stash the old values for the event
1405
1556
  const oldVals = await this.GetDataObject({
1406
1557
  oldValues: false,
@@ -1419,13 +1570,13 @@ class BaseEntity {
1419
1570
  this.NewRecord(); // will trigger a new record event here too
1420
1571
  }
1421
1572
  else {
1422
- // part of a transaction, wait for the transaction to submit successfully and then
1573
+ // part of a transaction, wait for the transaction to submit successfully and then
1423
1574
  // raise the event
1424
1575
  this.TransactionGroup.TransactionNotifications$.subscribe(({ success, results, error }) => {
1425
1576
  if (success) {
1426
1577
  this.RaiseEvent('delete', { OldValues: oldVals });
1427
1578
  // wipe out the current data to flush out the DIRTY flags by calling NewRecord()
1428
- this.NewRecord(); // will trigger a new record event here too
1579
+ this.NewRecord(); // will trigger a new record event here too
1429
1580
  }
1430
1581
  else {
1431
1582
  // transaction failed, so we need to add a new result to the history here
@@ -1 +1 @@
1
- {"version":3,"file":"baseEntity.js","sourceRoot":"","sources":["../../src/generic/baseEntity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"baseEntity.js","sourceRoot":"","sources":["../../src/generic/baseEntity.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@memberjunction/core",
3
- "version": "2.130.0",
3
+ "version": "2.131.0",
4
4
  "description": "MemberJunction: Core Library including Metadata, Application, Entity Retrieval and Manipulation, and Utilities",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -27,7 +27,7 @@
27
27
  "ts-jest": "^29.1.2"
28
28
  },
29
29
  "dependencies": {
30
- "@memberjunction/global": "2.130.0",
30
+ "@memberjunction/global": "2.131.0",
31
31
  "rxjs": "^7.8.1",
32
32
  "zod": "^3.23.8",
33
33
  "debug": "^4.4.0"
package/readme.md CHANGED
@@ -305,6 +305,257 @@ options.SkipOldValuesCheck = true; // Skip concurrency check (client-side only)
305
305
  await entity.Save(options);
306
306
  ```
307
307
 
308
+ ### Entity State Tracking & Events (v2.131.0+)
309
+
310
+ BaseEntity provides comprehensive state tracking and event notification for all database operations. This enables UI components to show loading indicators, disable buttons during operations, and react to entity lifecycle changes.
311
+
312
+ #### Operation State Getters
313
+
314
+ Check if an entity is currently performing a database operation:
315
+
316
+ ```typescript
317
+ const user = await md.GetEntityObject<UserEntity>('Users');
318
+
319
+ // Check individual operation states
320
+ if (user.IsSaving) {
321
+ console.log('Save operation in progress...');
322
+ }
323
+
324
+ if (user.IsDeleting) {
325
+ console.log('Delete operation in progress...');
326
+ }
327
+
328
+ if (user.IsLoading) {
329
+ console.log('Load operation in progress...');
330
+ }
331
+
332
+ // Convenience getter - true if ANY operation is in progress
333
+ if (user.IsBusy) {
334
+ disableAllButtons();
335
+ showSpinner();
336
+ }
337
+ ```
338
+
339
+ #### State Getter Reference
340
+
341
+ | Getter | Description |
342
+ |--------|-------------|
343
+ | `IsSaving` | Returns `true` when a `Save()` operation is in progress |
344
+ | `IsDeleting` | Returns `true` when a `Delete()` operation is in progress |
345
+ | `IsLoading` | Returns `true` when a `Load()` operation is in progress |
346
+ | `IsBusy` | Returns `true` when any of the above operations is in progress |
347
+
348
+ #### Operation Lifecycle Events
349
+
350
+ Subscribe to entity lifecycle events to react when operations start and complete:
351
+
352
+ ```typescript
353
+ import { BaseEntityEvent } from '@memberjunction/core';
354
+
355
+ const user = await md.GetEntityObject<UserEntity>('Users');
356
+
357
+ // Subscribe to entity events
358
+ const subscription = user.RegisterEventHandler((event: BaseEntityEvent) => {
359
+ switch (event.type) {
360
+ // Operation START events
361
+ case 'save_started':
362
+ console.log(`Save started (${event.saveSubType})`); // 'create' or 'update'
363
+ showSavingIndicator();
364
+ break;
365
+ case 'delete_started':
366
+ console.log('Delete started');
367
+ showDeletingIndicator();
368
+ break;
369
+ case 'load_started':
370
+ console.log('Load started for key:', event.payload?.CompositeKey);
371
+ showLoadingIndicator();
372
+ break;
373
+
374
+ // Operation COMPLETE events
375
+ case 'save':
376
+ console.log(`Save completed (${event.saveSubType})`);
377
+ hideSavingIndicator();
378
+ showSuccessMessage();
379
+ break;
380
+ case 'delete':
381
+ console.log('Delete completed, old values:', event.payload?.OldValues);
382
+ hideDeletingIndicator();
383
+ break;
384
+ case 'load_complete':
385
+ console.log('Load completed for key:', event.payload?.CompositeKey);
386
+ hideLoadingIndicator();
387
+ break;
388
+
389
+ // Other events
390
+ case 'new_record':
391
+ console.log('NewRecord() was called');
392
+ break;
393
+ }
394
+ });
395
+
396
+ // Later: unsubscribe when done
397
+ subscription.unsubscribe();
398
+ ```
399
+
400
+ #### Event Type Reference
401
+
402
+ | Event Type | Description | Payload |
403
+ |------------|-------------|---------|
404
+ | `save_started` | Raised when Save() begins (only if entity will actually save) | `null` |
405
+ | `save` | Raised when Save() completes successfully | `null` |
406
+ | `delete_started` | Raised when Delete() begins | `null` |
407
+ | `delete` | Raised when Delete() completes successfully | `{ OldValues: object }` |
408
+ | `load_started` | Raised when Load() begins | `{ CompositeKey: CompositeKey }` |
409
+ | `load_complete` | Raised when Load() completes successfully | `{ CompositeKey: CompositeKey }` |
410
+ | `new_record` | Raised when NewRecord() is called | `null` |
411
+ | `transaction_ready` | Internal: signals transaction preprocessing complete | `null` |
412
+
413
+ #### Global Event Subscription
414
+
415
+ Subscribe to entity events globally via MJGlobal to monitor all entity operations across your application:
416
+
417
+ ```typescript
418
+ import { MJGlobal, MJEventType, BaseEntity, BaseEntityEvent } from '@memberjunction/core';
419
+
420
+ // Subscribe to all entity events globally
421
+ MJGlobal.Instance.GetEventListener(true).subscribe((event) => {
422
+ if (event.event === MJEventType.ComponentEvent &&
423
+ event.eventCode === BaseEntity.BaseEventCode) {
424
+
425
+ const entityEvent = event.args as BaseEntityEvent;
426
+ const entity = entityEvent.baseEntity;
427
+
428
+ console.log(`[${entity.EntityInfo.Name}] ${entityEvent.type}`);
429
+
430
+ // Global logging, analytics, or audit trail
431
+ if (entityEvent.type === 'save') {
432
+ trackEntitySave(entity.EntityInfo.Name, entityEvent.saveSubType);
433
+ }
434
+ }
435
+ });
436
+ ```
437
+
438
+ #### Save Debouncing
439
+
440
+ Multiple rapid calls to `Save()` are automatically debounced - the second call receives the same result as the first:
441
+
442
+ ```typescript
443
+ // These two calls result in only ONE database save
444
+ const promise1 = entity.Save();
445
+ const promise2 = entity.Save(); // Returns same promise, doesn't trigger new save
446
+
447
+ const [result1, result2] = await Promise.all([promise1, promise2]);
448
+ // result1 === result2 (both get the same result from the single save)
449
+ ```
450
+
451
+ The same debouncing behavior applies to `Delete()` operations.
452
+
453
+ #### Awaiting In-Progress Operations
454
+
455
+ BaseEntity provides built-in methods to wait for any in-progress operation to complete. These methods return immediately if no operation is in progress, or wait for the completion event if one is:
456
+
457
+ ```typescript
458
+ // Wait for an in-progress save to complete
459
+ await entity.EnsureSaveComplete();
460
+
461
+ // Wait for an in-progress delete to complete
462
+ await entity.EnsureDeleteComplete();
463
+
464
+ // Wait for an in-progress load to complete
465
+ await entity.EnsureLoadComplete();
466
+ ```
467
+
468
+ **Method Reference:**
469
+
470
+ | Method | Waits For | Event Listened |
471
+ |--------|-----------|----------------|
472
+ | `EnsureSaveComplete()` | `IsSaving` to become false | `save` |
473
+ | `EnsureDeleteComplete()` | `IsDeleting` to become false | `delete` |
474
+ | `EnsureLoadComplete()` | `IsLoading` to become false | `load_complete` |
475
+
476
+ **Example: Coordinating Dependent Operations**
477
+
478
+ ```typescript
479
+ async function performDependentOperation(entity: BaseEntity) {
480
+ // Ensure any in-progress save is complete before proceeding
481
+ await entity.EnsureSaveComplete();
482
+
483
+ // Now safe to perform operations that depend on the saved state
484
+ console.log('Entity is saved, proceeding with dependent operation');
485
+ await someOperationThatNeedsSavedData(entity);
486
+ }
487
+ ```
488
+
489
+ **Example: Cleanup After Delete**
490
+
491
+ ```typescript
492
+ async function deleteAndNavigate(entity: BaseEntity) {
493
+ entity.Delete(); // Fire and forget the delete
494
+
495
+ // Wait for the delete to complete before navigating
496
+ await entity.EnsureDeleteComplete();
497
+
498
+ // Now safe to navigate away
499
+ navigateToList();
500
+ }
501
+ ```
502
+
503
+ These methods are useful when:
504
+ - You need to ensure data is persisted before performing a dependent operation
505
+ - You're coordinating between multiple components that might trigger operations
506
+ - You want to avoid race conditions when chaining operations
507
+ - You need to perform cleanup after an operation completes
508
+
509
+ #### UI Integration Example
510
+
511
+ A complete example showing state tracking in a UI component:
512
+
513
+ ```typescript
514
+ class EntityFormComponent {
515
+ private entity: BaseEntity;
516
+ private subscription: Subscription;
517
+
518
+ async loadEntity(id: string) {
519
+ this.entity = await md.GetEntityObject<UserEntity>('Users');
520
+
521
+ // Set up event handlers
522
+ this.subscription = this.entity.RegisterEventHandler((event) => {
523
+ this.updateUI(event);
524
+ });
525
+
526
+ await this.entity.Load(id);
527
+ }
528
+
529
+ updateUI(event: BaseEntityEvent) {
530
+ // Update loading states
531
+ this.saveButton.disabled = this.entity.IsBusy;
532
+ this.deleteButton.disabled = this.entity.IsBusy;
533
+
534
+ // Show operation-specific indicators
535
+ this.savingSpinner.visible = this.entity.IsSaving;
536
+ this.deletingSpinner.visible = this.entity.IsDeleting;
537
+ this.loadingSpinner.visible = this.entity.IsLoading;
538
+
539
+ // React to completion events
540
+ if (event.type === 'save') {
541
+ this.showToast('Saved successfully!');
542
+ } else if (event.type === 'delete') {
543
+ this.navigateToList();
544
+ }
545
+ }
546
+
547
+ async save() {
548
+ // IsBusy automatically becomes true during save
549
+ await this.entity.Save();
550
+ // IsBusy automatically becomes false when done
551
+ }
552
+
553
+ destroy() {
554
+ this.subscription?.unsubscribe();
555
+ }
556
+ }
557
+ ```
558
+
308
559
  ### RunView Class
309
560
 
310
561
  The `RunView` class provides powerful view execution capabilities for both stored views and dynamic queries.
@@ -1003,6 +1254,12 @@ This optimization is particularly beneficial in server environments where each r
1003
1254
 
1004
1255
  ## Breaking Changes
1005
1256
 
1257
+ ### v2.131.0
1258
+ - **Entity State Tracking**: New `IsSaving`, `IsDeleting`, `IsLoading`, and `IsBusy` getters on BaseEntity to track in-progress operations.
1259
+ - **Operation Lifecycle Events**: New event types `save_started`, `delete_started`, `load_started`, and `load_complete` raised during entity operations. The `save_started` event now only fires when the entity will actually be saved (not skipped due to clean state).
1260
+ - **Delete Debouncing**: `Delete()` now has the same debouncing behavior as `Save()` - multiple rapid calls return the same promise.
1261
+ - **Global Event Broadcasting**: All operation events (start and complete) are now broadcast globally via MJGlobal for application-wide monitoring.
1262
+
1006
1263
  ### v2.59.0
1007
1264
  - **Enhanced Logging Functions**: New `LogStatusEx` and `LogErrorEx` functions provide structured logging with metadata, categories, and severity levels. The existing `LogStatus` and `LogError` functions now internally use the enhanced versions, maintaining full backward compatibility.
1008
1265
  - **Verbose Logging Control**: New global functions `IsVerboseLoggingEnabled()` and `SetVerboseLogging()` provide centralized verbose logging control across environments.