@wavemaker/app-ng-runtime 11.14.1-3.6306 → 11.14.1-32.647748

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 (67) hide show
  1. package/components/base/bundles/index.umd.js +6 -22
  2. package/components/base/esm2022/pipes/custom-pipes.mjs +1 -1
  3. package/components/base/esm2022/widgets/common/base/base.component.mjs +8 -24
  4. package/components/base/fesm2022/index.mjs +7 -23
  5. package/components/base/fesm2022/index.mjs.map +1 -1
  6. package/components/chart/bundles/index.umd.js +2 -2
  7. package/components/chart/esm2022/chart.utils.mjs +3 -3
  8. package/components/chart/fesm2022/index.mjs +2 -2
  9. package/components/chart/fesm2022/index.mjs.map +1 -1
  10. package/components/containers/wizard/bundles/index.umd.js +21 -2
  11. package/components/containers/wizard/esm2022/wizard-step/wizard-step.component.mjs +3 -1
  12. package/components/containers/wizard/esm2022/wizard.component.mjs +20 -3
  13. package/components/containers/wizard/fesm2022/index.mjs +21 -2
  14. package/components/containers/wizard/fesm2022/index.mjs.map +1 -1
  15. package/components/containers/wizard/wizard-step/wizard-step.component.d.ts +2 -0
  16. package/components/data/pagination/bundles/index.umd.js +6 -1
  17. package/components/data/pagination/esm2022/pagination.component.mjs +7 -2
  18. package/components/data/pagination/fesm2022/index.mjs +6 -1
  19. package/components/data/pagination/fesm2022/index.mjs.map +1 -1
  20. package/components/data/table/bundles/index.umd.js +331 -23
  21. package/components/data/table/esm2022/table-action/table-action.directive.mjs +8 -1
  22. package/components/data/table/esm2022/table-column/table-column.directive.mjs +108 -4
  23. package/components/data/table/esm2022/table-column-group/table-column-group.directive.mjs +9 -1
  24. package/components/data/table/esm2022/table-cud.directive.mjs +22 -5
  25. package/components/data/table/esm2022/table-filter.directive.mjs +43 -4
  26. package/components/data/table/esm2022/table-row/table-row.directive.mjs +8 -1
  27. package/components/data/table/esm2022/table-row-action/table-row-action.directive.mjs +8 -1
  28. package/components/data/table/esm2022/table.component.mjs +134 -15
  29. package/components/data/table/fesm2022/index.mjs +333 -25
  30. package/components/data/table/fesm2022/index.mjs.map +1 -1
  31. package/components/data/table/table-action/table-action.directive.d.ts +3 -2
  32. package/components/data/table/table-column/table-column.directive.d.ts +3 -2
  33. package/components/data/table/table-column-group/table-column-group.directive.d.ts +3 -2
  34. package/components/data/table/table-cud.directive.d.ts +3 -1
  35. package/components/data/table/table-filter.directive.d.ts +3 -1
  36. package/components/data/table/table-row/table-row.directive.d.ts +3 -2
  37. package/components/data/table/table-row-action/table-row-action.directive.d.ts +3 -2
  38. package/components/data/table/table.component.d.ts +10 -0
  39. package/components/page/default/bundles/index.umd.js +1 -0
  40. package/components/page/default/esm2022/page.directive.mjs +2 -1
  41. package/components/page/default/fesm2022/index.mjs +1 -0
  42. package/components/page/default/fesm2022/index.mjs.map +1 -1
  43. package/core/bundles/index.umd.js +185 -330
  44. package/core/esm2022/public_api.mjs +2 -2
  45. package/core/esm2022/utils/watcher.mjs +189 -328
  46. package/core/fesm2022/index.mjs +192 -330
  47. package/core/fesm2022/index.mjs.map +1 -1
  48. package/core/public_api.d.ts +1 -1
  49. package/core/utils/watcher.d.ts +5 -26
  50. package/locales/moment-timezone/moment-timezone-with-data.js +179 -27
  51. package/npm-shrinkwrap.json +2 -2
  52. package/package-lock.json +2 -2
  53. package/package.json +1 -1
  54. package/runtime/base/bundles/index.umd.js +20 -46
  55. package/runtime/base/components/base-prefab.component.d.ts +6 -4
  56. package/runtime/base/esm2022/components/app-component/app.component.mjs +2 -7
  57. package/runtime/base/esm2022/components/base-page.component.mjs +2 -8
  58. package/runtime/base/esm2022/components/base-partial.component.mjs +3 -11
  59. package/runtime/base/esm2022/components/base-prefab.component.mjs +21 -21
  60. package/runtime/base/esm2022/components/base-spa-page.component.mjs +2 -9
  61. package/runtime/base/fesm2022/index.mjs +21 -47
  62. package/runtime/base/fesm2022/index.mjs.map +1 -1
  63. package/runtime/dynamic/bundles/index.umd.js +4 -0
  64. package/runtime/dynamic/esm2022/app/app.config.mjs +6 -2
  65. package/runtime/dynamic/fesm2022/index.mjs +5 -1
  66. package/runtime/dynamic/fesm2022/index.mjs.map +1 -1
  67. package/scripts/datatable/datatable.js +336 -33
@@ -5,7 +5,7 @@ import { ActivatedRoute, Router, RouterOutlet, NavigationStart, NavigationEnd, N
5
5
  import * as i5 from '@angular/common';
6
6
  import { DOCUMENT, ɵgetDOM as _getDOM, CommonModule, AsyncPipe, SlicePipe, PercentPipe, I18nPluralPipe, NgLocalization, I18nSelectPipe, KeyValuePipe, UpperCasePipe, LowerCasePipe, JsonPipe, DecimalPipe, TitleCasePipe, CurrencyPipe, DatePipe } from '@angular/common';
7
7
  import * as i1 from '@wm/core';
8
- import { $appDigest, isDefined, getWmProjectProperties, triggerFn, fetchContent, _WM_APP_PROJECT, stringStartsWith, loadStyleSheets, loadScripts, noop as noop$1, App, AbstractI18nService, ScriptLoaderService, Viewport, UtilsService, $invokeWatchers, registerFnByExpr, $unwatchAllByScope, LRUCache, muteWatchers, AbstractNavigationService, isIos, isAndroid, unMuteWatchers, $watch, isIE, CustomPipeManager, getSessionStorageItem, setPipeProvider, DynamicComponentRefProvider, FieldWidgetService, FieldTypeService, ConstantService, AbstractToasterService, StatePersistence, AbstractSpinnerService, AbstractDialogService, EventNotifier, setCSS, setSessionStorageItem, replace, setNgZone, setAppRef, addClass, removeClass, extendProto, $parseExpr, AppDefaults, isObject as isObject$1, isIphone, isIpod, isIpad } from '@wm/core';
8
+ import { $appDigest, isDefined, getWmProjectProperties, triggerFn, fetchContent, _WM_APP_PROJECT, stringStartsWith, loadStyleSheets, loadScripts, noop as noop$1, App, AbstractI18nService, ScriptLoaderService, Viewport, UtilsService, $invokeWatchers, registerFnByExpr, LRUCache, muteWatchers, AbstractNavigationService, isIos, isAndroid, unMuteWatchers, $watch, isIE, CustomPipeManager, getSessionStorageItem, setPipeProvider, DynamicComponentRefProvider, FieldWidgetService, FieldTypeService, ConstantService, AbstractToasterService, StatePersistence, AbstractSpinnerService, AbstractDialogService, EventNotifier, setCSS, setSessionStorageItem, replace, setNgZone, setAppRef, addClass, removeClass, extendProto, $parseExpr, AppDefaults, isObject as isObject$1, isIphone, isIpod, isIpad } from '@wm/core';
9
9
  import * as i2 from '@wm/security';
10
10
  import { SecurityService } from '@wm/security';
11
11
  import * as i4 from '@wm/variables';
@@ -887,7 +887,7 @@ class BasePartialComponent extends FragmentMonitor {
887
887
  }
888
888
  loadScripts() {
889
889
  return new Promise((resolve) => {
890
- const scriptsRequired = this.partialDirective.$element.attr('scripts-to-load');
890
+ const scriptsRequired = this.partialDirective?.$element.attr('scripts-to-load');
891
891
  if (scriptsRequired) {
892
892
  this.scriptLoaderService
893
893
  .load(...scriptsRequired.split(','))
@@ -923,14 +923,6 @@ class BasePartialComponent extends FragmentMonitor {
923
923
  });
924
924
  }
925
925
  ngOnDestroy() {
926
- // MEMORY LEAK FIX: Unwatch all Partial-scoped watchers for THIS specific partial when partial is destroyed
927
- // Only unwatch watchers for this partial, not all partials (other partials may still be on the page)
928
- if (this.partialName) {
929
- const removedCount = $unwatchAllByScope('Partial', this.partialName);
930
- if (removedCount > 0) {
931
- console.log(`🧹 Cleaned up ${removedCount} Partial-scoped watcher(s) for partial ${this.partialName}`);
932
- }
933
- }
934
926
  this.destroy$.complete();
935
927
  }
936
928
  ngOnAttach(refreshData) {
@@ -1377,12 +1369,6 @@ class BasePageComponent extends FragmentMonitor {
1377
1369
  }
1378
1370
  ngOnDestroy() {
1379
1371
  // MEMORY LEAK FIX: Unwatch all Page-scoped watchers for THIS specific page when page is destroyed
1380
- if (this.pageName) {
1381
- const removedCount = $unwatchAllByScope('Page', this.pageName);
1382
- if (removedCount > 0) {
1383
- console.log(`🧹 Cleaned up ${removedCount} Page-scoped watcher(s) for page ${this.pageName}`);
1384
- }
1385
- }
1386
1372
  //this.captureApplicationThumbnail();
1387
1373
  this.savePageSnapShot();
1388
1374
  this.destroy$.complete();
@@ -1780,6 +1766,7 @@ class BasePrefabComponent extends FragmentMonitor {
1780
1766
  constructor() {
1781
1767
  super(...arguments);
1782
1768
  this.compileContent = false;
1769
+ this.scriptsLoaded = false;
1783
1770
  this.destroy$ = new Subject();
1784
1771
  this.viewInit$ = new Subject();
1785
1772
  }
@@ -1929,6 +1916,10 @@ class BasePrefabComponent extends FragmentMonitor {
1929
1916
  }
1930
1917
  loadScripts() {
1931
1918
  return new Promise((resolve) => {
1919
+ if (!this.prefabContainerDirective) {
1920
+ resolve();
1921
+ return;
1922
+ }
1932
1923
  const scriptsRequired = this.prefabContainerDirective.$element.attr('scripts-to-load');
1933
1924
  if (scriptsRequired) {
1934
1925
  this.scriptLoaderService
@@ -1965,26 +1956,21 @@ class BasePrefabComponent extends FragmentMonitor {
1965
1956
  this.mute();
1966
1957
  each(this.Widgets, w => w && w.ngOnDetach && w.ngOnDetach());
1967
1958
  }
1968
- ngAfterViewInit() {
1969
- this.loadScripts().then(() => {
1970
- this.compileContent = true;
1971
- this.registerChangeListeners();
1972
- setTimeout(() => {
1973
- // trigger viewInit$.complete after a timeout so that the widget listeners are ready before Variable xhr call.
1974
- this.viewInit$.complete();
1975
- this.fragmentsLoaded$.subscribe(noop$1, noop$1, () => this.invokeOnReady());
1976
- }, 100);
1977
- });
1959
+ ngAfterViewChecked() {
1960
+ if (!this.scriptsLoaded && this.prefabContainerDirective) {
1961
+ this.scriptsLoaded = true;
1962
+ this.loadScripts().then(() => {
1963
+ this.compileContent = true;
1964
+ this.registerChangeListeners();
1965
+ setTimeout(() => {
1966
+ // trigger viewInit$.complete after a timeout so that the widget listeners are ready before Variable xhr call.
1967
+ this.viewInit$.complete();
1968
+ this.fragmentsLoaded$.subscribe(noop$1, noop$1, () => this.invokeOnReady());
1969
+ }, 100);
1970
+ });
1971
+ }
1978
1972
  }
1979
1973
  ngOnDestroy() {
1980
- // MEMORY LEAK FIX: Unwatch all Prefab-scoped watchers for THIS specific prefab when prefab is destroyed
1981
- // Only unwatch watchers for this prefab, not all prefabs (other prefabs may still be on the page)
1982
- if (this.prefabName) {
1983
- const removedCount = $unwatchAllByScope('Prefab', this.prefabName);
1984
- if (removedCount > 0) {
1985
- console.log(`🧹 Cleaned up ${removedCount} Prefab-scoped watcher(s) for prefab ${this.prefabName}`);
1986
- }
1987
- }
1988
1974
  this.destroy$.complete();
1989
1975
  }
1990
1976
  // user overrides this
@@ -1997,7 +1983,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
1997
1983
  type: Directive
1998
1984
  }], propDecorators: { prefabContainerDirective: [{
1999
1985
  type: ViewChild,
2000
- args: [PrefabContainerDirective]
1986
+ args: [PrefabContainerDirective, { static: false }]
2001
1987
  }] } });
2002
1988
 
2003
1989
  class BaseLayoutComponent {
@@ -2741,13 +2727,6 @@ class BaseSpaPageComponent extends FragmentMonitor {
2741
2727
  });
2742
2728
  }
2743
2729
  ngOnDestroy() {
2744
- // MEMORY LEAK FIX: Unwatch all Page-scoped watchers for THIS specific page when page is destroyed
2745
- if (this.pageName) {
2746
- const removedCount = $unwatchAllByScope('Page', this.pageName);
2747
- if (removedCount > 0) {
2748
- console.log(`🧹 Cleaned up ${removedCount} Page-scoped watcher(s) for page ${this.pageName}`);
2749
- }
2750
- }
2751
2730
  this.savePageSnapShot();
2752
2731
  this.destroy$.complete();
2753
2732
  }
@@ -4598,11 +4577,6 @@ class AppComponent {
4598
4577
  $invokeWatchers();
4599
4578
  }
4600
4579
  ngOnDestroy() {
4601
- // MEMORY LEAK FIX: Unwatch all App-scoped watchers when app is destroyed
4602
- const removedCount = $unwatchAllByScope('App');
4603
- if (removedCount > 0) {
4604
- console.log(`🧹 Cleaned up ${removedCount} App-scoped watcher(s) on app destroy`);
4605
- }
4606
4580
  if (this.navigationEndSubscription) {
4607
4581
  this.navigationEndSubscription.unsubscribe();
4608
4582
  }