@genesislcap/grid-pro 14.275.3 → 14.276.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 (150) hide show
  1. package/README.md +428 -15
  2. package/dist/custom-elements.json +1306 -141
  3. package/dist/dts/datasource/base.datasource.d.ts +38 -1
  4. package/dist/dts/datasource/base.datasource.d.ts.map +1 -1
  5. package/dist/dts/datasource/index.d.ts +1 -0
  6. package/dist/dts/datasource/index.d.ts.map +1 -1
  7. package/dist/dts/datasource/server-side.datasource.d.ts +6 -5
  8. package/dist/dts/datasource/server-side.datasource.d.ts.map +1 -1
  9. package/dist/dts/grid-pro-genesis-datasource/grid-pro-genesis-datasource.d.ts +34 -12
  10. package/dist/dts/grid-pro-genesis-datasource/grid-pro-genesis-datasource.d.ts.map +1 -1
  11. package/dist/dts/grid-pro.d.ts +65 -16
  12. package/dist/dts/grid-pro.d.ts.map +1 -1
  13. package/dist/dts/grid-pro.styles.d.ts.map +1 -1
  14. package/dist/dts/grid-pro.types.d.ts +91 -0
  15. package/dist/dts/grid-pro.types.d.ts.map +1 -1
  16. package/dist/dts/index.d.ts +1 -0
  17. package/dist/dts/index.d.ts.map +1 -1
  18. package/dist/dts/status-bar-components/index.d.ts +5 -0
  19. package/dist/dts/status-bar-components/index.d.ts.map +1 -0
  20. package/dist/dts/status-bar-components/label-value.status-bar.d.ts +21 -0
  21. package/dist/dts/status-bar-components/label-value.status-bar.d.ts.map +1 -0
  22. package/dist/dts/status-bar-components/load-more.status-bar.d.ts +43 -0
  23. package/dist/dts/status-bar-components/load-more.status-bar.d.ts.map +1 -0
  24. package/dist/dts/status-bar-components/pagination.status-bar.d.ts +32 -0
  25. package/dist/dts/status-bar-components/pagination.status-bar.d.ts.map +1 -0
  26. package/dist/dts/status-bar-components/reload.status-bar.d.ts +36 -0
  27. package/dist/dts/status-bar-components/reload.status-bar.d.ts.map +1 -0
  28. package/dist/esm/datasource/base.datasource.js +124 -7
  29. package/dist/esm/datasource/index.js +1 -0
  30. package/dist/esm/datasource/server-side.datasource.js +9 -9
  31. package/dist/esm/grid-pro-genesis-datasource/grid-pro-genesis-datasource.js +111 -34
  32. package/dist/esm/grid-pro.js +116 -2
  33. package/dist/esm/grid-pro.styles.js +10 -0
  34. package/dist/esm/grid-pro.types.js +28 -0
  35. package/dist/esm/index.js +1 -0
  36. package/dist/esm/status-bar-components/index.js +4 -0
  37. package/dist/esm/status-bar-components/label-value.status-bar.js +33 -0
  38. package/dist/esm/status-bar-components/load-more.status-bar.js +209 -0
  39. package/dist/esm/status-bar-components/pagination.status-bar.js +206 -0
  40. package/dist/esm/status-bar-components/reload.status-bar.js +162 -0
  41. package/dist/grid-pro.api.json +6872 -3339
  42. package/dist/grid-pro.d.ts +384 -32
  43. package/docs/api/grid-pro.criteriadelimiter.md +13 -0
  44. package/docs/api/grid-pro.criteriajoin.md +13 -0
  45. package/docs/api/grid-pro.default_status_bar_config.md +13 -0
  46. package/docs/api/grid-pro.genesisgriddatasourceelement.aggrid.md +11 -0
  47. package/docs/api/grid-pro.genesisgriddatasourceelement.connect.md +11 -0
  48. package/docs/api/grid-pro.genesisgriddatasourceelement.criteria.md +11 -0
  49. package/docs/api/grid-pro.genesisgriddatasourceelement.criteriafromfilters.md +11 -0
  50. package/docs/api/grid-pro.genesisgriddatasourceelement.datasource.md +11 -0
  51. package/docs/api/grid-pro.genesisgriddatasourceelement.datasourceoptions.md +15 -0
  52. package/docs/api/grid-pro.genesisgriddatasourceelement.datasourcestatuschanged.md +23 -0
  53. package/docs/api/grid-pro.genesisgriddatasourceelement.defaultrowidbyresourcetype.md +11 -0
  54. package/docs/api/grid-pro.genesisgriddatasourceelement.deferredcolumnstates.md +11 -0
  55. package/docs/api/grid-pro.genesisgriddatasourceelement.deferredgridoptions.md +11 -0
  56. package/docs/api/grid-pro.genesisgriddatasourceelement.disablepolling.md +11 -0
  57. package/docs/api/grid-pro.genesisgriddatasourceelement.fields.md +11 -0
  58. package/docs/api/grid-pro.genesisgriddatasourceelement.isrequestserver.md +11 -0
  59. package/docs/api/grid-pro.genesisgriddatasourceelement.issnapshot.md +11 -0
  60. package/docs/api/grid-pro.genesisgriddatasourceelement.maxrows.md +11 -0
  61. package/docs/api/grid-pro.genesisgriddatasourceelement.maxview.md +11 -0
  62. package/docs/api/grid-pro.genesisgriddatasourceelement.md +55 -0
  63. package/docs/api/grid-pro.genesisgriddatasourceelement.movingview.md +11 -0
  64. package/docs/api/grid-pro.genesisgriddatasourceelement.orderby.md +11 -0
  65. package/docs/api/grid-pro.genesisgriddatasourceelement.pollinginterval.md +11 -0
  66. package/docs/api/grid-pro.genesisgriddatasourceelement.removefilter.md +22 -0
  67. package/docs/api/grid-pro.genesisgriddatasourceelement.request.md +11 -0
  68. package/docs/api/grid-pro.genesisgriddatasourceelement.requestautosetup.md +18 -0
  69. package/docs/api/grid-pro.genesisgriddatasourceelement.resourcename.md +11 -0
  70. package/docs/api/grid-pro.genesisgriddatasourceelement.reverse.md +11 -0
  71. package/docs/api/grid-pro.genesisgriddatasourceelement.rowdatamapper.md +13 -0
  72. package/docs/api/grid-pro.genesisgriddatasourceelement.rowid.md +11 -0
  73. package/docs/api/grid-pro.genesisgriddatasourceelement.rowidattr.md +15 -0
  74. package/docs/api/grid-pro.genesisgriddatasourceelement.setfilter.md +23 -0
  75. package/docs/api/grid-pro.genesisgriddatasourceelement.update.md +11 -0
  76. package/docs/api/grid-pro.genesisgriddatasourceelement.viewnumber.md +11 -0
  77. package/docs/api/grid-pro.gridpro.clearlocalgridoptions.md +17 -0
  78. package/docs/api/grid-pro.gridpro.gridprodatasource.md +2 -2
  79. package/docs/api/grid-pro.gridpro.md +8 -2
  80. package/docs/api/grid-pro.gridpro.pagination.md +18 -0
  81. package/docs/api/grid-pro.gridpro.paginationpagesize.md +18 -0
  82. package/docs/api/grid-pro.gridpro.persistcolumnstatekey.md +1 -1
  83. package/docs/api/grid-pro.gridpro.setuppaginationandstatusbar.md +22 -0
  84. package/docs/api/grid-pro.gridpro.statusbarconfig.md +18 -0
  85. package/docs/api/grid-pro.gridpro.withstatusbar.md +18 -0
  86. package/docs/api/grid-pro.gridprobasedatasource.agtransaction.md +11 -0
  87. package/docs/api/grid-pro.gridprobasedatasource.applyallagtransactions.md +15 -0
  88. package/docs/api/grid-pro.gridprobasedatasource.applyasyncfuncname.md +11 -0
  89. package/docs/api/grid-pro.gridprobasedatasource.applyfuncname.md +11 -0
  90. package/docs/api/grid-pro.gridprobasedatasource.applytransaction.md +22 -0
  91. package/docs/api/grid-pro.gridprobasedatasource.applytransactionasync.md +23 -0
  92. package/docs/api/grid-pro.gridprobasedatasource.datasubwasloggedoff.md +11 -0
  93. package/docs/api/grid-pro.gridprobasedatasource.destroy.md +15 -0
  94. package/docs/api/grid-pro.gridprobasedatasource.generatecolumndefsfrommetadata.md +23 -0
  95. package/docs/api/grid-pro.gridprobasedatasource.getdatasourcestatusbarpanels.md +24 -0
  96. package/docs/api/grid-pro.gridprobasedatasource.handlestreamdeletes.md +22 -0
  97. package/docs/api/grid-pro.gridprobasedatasource.handlestreaminserts.md +23 -0
  98. package/docs/api/grid-pro.gridprobasedatasource.handlestreamupdates.md +22 -0
  99. package/docs/api/grid-pro.gridprobasedatasource.loadmore.md +15 -0
  100. package/docs/api/grid-pro.gridprobasedatasource.md +42 -0
  101. package/docs/api/grid-pro.gridprobasedatasource.pagination.md +11 -0
  102. package/docs/api/grid-pro.gridprobasedatasource.reloadresourcedata.md +15 -0
  103. package/docs/api/grid-pro.gridprobasedatasource.restart.md +15 -0
  104. package/docs/api/grid-pro.gridprobasedatasource.rowdata.md +11 -0
  105. package/docs/api/grid-pro.gridprogenesisdatasource.handlestreamdeletes.md +24 -0
  106. package/docs/api/grid-pro.gridprogenesisdatasource.handlestreaminserts.md +22 -0
  107. package/docs/api/grid-pro.gridprogenesisdatasource.handlestreamupdates.md +22 -0
  108. package/docs/api/grid-pro.gridprogenesisdatasource.loadmore.md +15 -0
  109. package/docs/api/grid-pro.gridprogenesisdatasource.md +6 -1
  110. package/docs/api/grid-pro.gridprogenesisdatasource.reloadresourcedata.md +21 -0
  111. package/docs/api/grid-pro.gridprogenesisdatasource.restart.md +3 -3
  112. package/docs/api/grid-pro.gridprostatusbarconfig.loadmore.md +18 -0
  113. package/docs/api/grid-pro.gridprostatusbarconfig.maxrows.md +18 -0
  114. package/docs/api/grid-pro.gridprostatusbarconfig.md +27 -0
  115. package/docs/api/grid-pro.gridprostatusbarconfig.reload.md +18 -0
  116. package/docs/api/grid-pro.gridprostatusbarconfig.rows.md +18 -0
  117. package/docs/api/grid-pro.gridprostatusbarloadmoreconfig.appearance.md +18 -0
  118. package/docs/api/grid-pro.gridprostatusbarloadmoreconfig.md +22 -0
  119. package/docs/api/grid-pro.gridprostatusbarloadmoreconfig.onloadmore.md +13 -0
  120. package/docs/api/grid-pro.gridprostatusbarloadmoreconfig.tooltip.md +18 -0
  121. package/docs/api/grid-pro.gridprostatusbarreloadconfig.icon.md +18 -0
  122. package/docs/api/grid-pro.gridprostatusbarreloadconfig.md +22 -0
  123. package/docs/api/grid-pro.gridprostatusbarreloadconfig.onreload.md +13 -0
  124. package/docs/api/grid-pro.gridprostatusbarreloadconfig.tooltip.md +18 -0
  125. package/docs/api/grid-pro.gridprostatusbartypes.md +27 -0
  126. package/docs/api/grid-pro.labelvaluestatusbarcomponent.destroy.md +15 -0
  127. package/docs/api/grid-pro.labelvaluestatusbarcomponent.getgui.md +15 -0
  128. package/docs/api/grid-pro.labelvaluestatusbarcomponent.init.md +22 -0
  129. package/docs/api/grid-pro.labelvaluestatusbarcomponent.md +23 -0
  130. package/docs/api/grid-pro.labelvaluestatusbarparams.md +17 -0
  131. package/docs/api/grid-pro.loadmorestatusbarcomponent.destroy.md +15 -0
  132. package/docs/api/grid-pro.loadmorestatusbarcomponent.getgui.md +15 -0
  133. package/docs/api/grid-pro.loadmorestatusbarcomponent.init.md +22 -0
  134. package/docs/api/grid-pro.loadmorestatusbarcomponent.md +25 -0
  135. package/docs/api/grid-pro.loadmorestatusbarcomponent.updatebuttonvisibility.md +15 -0
  136. package/docs/api/grid-pro.loadmorestatusbarcomponent.updateparams.md +22 -0
  137. package/docs/api/grid-pro.loadmorestatusbarparams.md +18 -0
  138. package/docs/api/grid-pro.md +16 -0
  139. package/docs/api/grid-pro.paginationstatusbarcomponent.destroy.md +15 -0
  140. package/docs/api/grid-pro.paginationstatusbarcomponent.getgui.md +15 -0
  141. package/docs/api/grid-pro.paginationstatusbarcomponent.init.md +22 -0
  142. package/docs/api/grid-pro.paginationstatusbarcomponent.md +23 -0
  143. package/docs/api/grid-pro.reloadstatusbarcomponent.destroy.md +15 -0
  144. package/docs/api/grid-pro.reloadstatusbarcomponent.getgui.md +15 -0
  145. package/docs/api/grid-pro.reloadstatusbarcomponent.init.md +22 -0
  146. package/docs/api/grid-pro.reloadstatusbarcomponent.md +24 -0
  147. package/docs/api/grid-pro.reloadstatusbarcomponent.updateparams.md +22 -0
  148. package/docs/api/grid-pro.reloadstatusbarparams.md +17 -0
  149. package/docs/api-report.md +256 -6
  150. package/package.json +13 -13
@@ -12,6 +12,7 @@ export * from './grid-pro.types';
12
12
  export * from './grid-pro';
13
13
  export * from './grid-pro-genesis-datasource';
14
14
  export * from './state-persistence';
15
+ export * from './status-bar-components';
15
16
  export * from './style';
16
17
  export * from './tooltips';
17
18
  export * from './utils';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qBAAqB,CAAC;AACpC,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC"}
@@ -0,0 +1,5 @@
1
+ export * from './load-more.status-bar';
2
+ export * from './pagination.status-bar';
3
+ export * from './label-value.status-bar';
4
+ export * from './reload.status-bar';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/status-bar-components/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { IStatusPanelComp, IStatusPanelParams } from '@ag-grid-community/core';
2
+ /**
3
+ * Label Value Status Bar Component
4
+ * @public
5
+ */
6
+ export type LabelValueStatusBarParams = {
7
+ label: string;
8
+ value: any;
9
+ hide: boolean;
10
+ };
11
+ /**
12
+ * Label Value Status Bar Component
13
+ * @public
14
+ */
15
+ export declare class LabelValueStatusBarComponent implements IStatusPanelComp {
16
+ private element;
17
+ init(params: IStatusPanelParams): void;
18
+ getGui(): HTMLElement;
19
+ destroy(): void;
20
+ }
21
+ //# sourceMappingURL=label-value.status-bar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"label-value.status-bar.d.ts","sourceRoot":"","sources":["../../../src/status-bar-components/label-value.status-bar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE/E;;;GAGG;AACH,MAAM,MAAM,yBAAyB,GAAG;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,GAAG,CAAC;IACX,IAAI,EAAE,OAAO,CAAC;CACf,CAAC;AAEF;;;GAGG;AACH,qBAAa,4BAA6B,YAAW,gBAAgB;IACnE,OAAO,CAAC,OAAO,CAAc;IAE7B,IAAI,CAAC,MAAM,EAAE,kBAAkB;IA6B/B,MAAM,IAAI,WAAW;IAIrB,OAAO;CACR"}
@@ -0,0 +1,43 @@
1
+ import { IStatusPanelComp, IStatusPanelParams } from '@ag-grid-community/core';
2
+ /**
3
+ * The parameters for the load more status bar component.
4
+ * @public
5
+ */
6
+ export type LoadMoreStatusBarParams = {
7
+ moreRows?: boolean;
8
+ onLoadMore?: () => void;
9
+ appearance?: string;
10
+ tooltip?: string;
11
+ };
12
+ /**
13
+ * A status bar component that shows a "Load More" button when more rows are available
14
+ * @public
15
+ */
16
+ export declare class LoadMoreStatusBarComponent implements IStatusPanelComp {
17
+ private element;
18
+ private loadMoreButton;
19
+ private progressRing;
20
+ private buttonLabel;
21
+ private params;
22
+ private designSystemPrefix;
23
+ private isLoading;
24
+ private isLeftAligned;
25
+ private gridApi;
26
+ private clickHandler;
27
+ init(params: IStatusPanelParams): void;
28
+ private createProgressRing;
29
+ private createLoadMoreButton;
30
+ /**
31
+ * Update the aria-label based on current state and tooltip
32
+ */
33
+ private updateAriaLabel;
34
+ /**
35
+ * Show or hide the loading state
36
+ */
37
+ private showLoading;
38
+ updateButtonVisibility(): void;
39
+ updateParams(params: LoadMoreStatusBarParams): void;
40
+ getGui(): HTMLElement;
41
+ destroy(): void;
42
+ }
43
+ //# sourceMappingURL=load-more.status-bar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"load-more.status-bar.d.ts","sourceRoot":"","sources":["../../../src/status-bar-components/load-more.status-bar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAG/E;;;GAGG;AACH,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAIF;;;GAGG;AACH,qBAAa,0BAA2B,YAAW,gBAAgB;IACjE,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,cAAc,CAAc;IACpC,OAAO,CAAC,YAAY,CAAc;IAClC,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,aAAa,CAAkB;IACvC,OAAO,CAAC,OAAO,CAAM;IAErB,OAAO,CAAC,YAAY,CAA8B;IAElD,IAAI,CAAC,MAAM,EAAE,kBAAkB;IA4C/B,OAAO,CAAC,kBAAkB;IAa1B,OAAO,CAAC,oBAAoB;IAmD5B;;OAEG;IACH,OAAO,CAAC,eAAe;IAoBvB;;OAEG;IACH,OAAO,CAAC,WAAW;IA0BZ,sBAAsB;IAyBtB,YAAY,CAAC,MAAM,EAAE,uBAAuB;IAkBnD,MAAM,IAAI,WAAW;IAIrB,OAAO;CAMR"}
@@ -0,0 +1,32 @@
1
+ import { IStatusPanelComp, IStatusPanelParams } from '@ag-grid-community/core';
2
+ /**
3
+ * Pagination Status Bar Component for AG Grid
4
+ * Displays pagination controls and information about current page and total rows
5
+ * @public
6
+ */
7
+ export declare class PaginationStatusBarComponent implements IStatusPanelComp {
8
+ private eGui;
9
+ private api;
10
+ private paginationPanel;
11
+ private paginationSummaryPanel;
12
+ private firstPageButton;
13
+ private prevPageButton;
14
+ private descriptionPanel;
15
+ private pageStartDisplay;
16
+ private pageNumberDisplay;
17
+ private pageOfDisplay;
18
+ private pageNumberTotalDisplay;
19
+ private nextPageButton;
20
+ private lastPageButton;
21
+ private paginationChangedHandler;
22
+ init(params: IStatusPanelParams): void;
23
+ getGui(): HTMLElement;
24
+ private createPaginationPanel;
25
+ private addPaginationEventListeners;
26
+ private createPaginationButton;
27
+ private goToPage;
28
+ private updateDisplay;
29
+ private updateButtonState;
30
+ destroy(): void;
31
+ }
32
+ //# sourceMappingURL=pagination.status-bar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pagination.status-bar.d.ts","sourceRoot":"","sources":["../../../src/status-bar-components/pagination.status-bar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAW,MAAM,yBAAyB,CAAC;AAExF;;;;GAIG;AACH,qBAAa,4BAA6B,YAAW,gBAAgB;IACnE,OAAO,CAAC,IAAI,CAAc;IAC1B,OAAO,CAAC,GAAG,CAAU;IAGrB,OAAO,CAAC,eAAe,CAAc;IACrC,OAAO,CAAC,sBAAsB,CAAc;IAC5C,OAAO,CAAC,eAAe,CAAc;IACrC,OAAO,CAAC,cAAc,CAAc;IACpC,OAAO,CAAC,gBAAgB,CAAc;IACtC,OAAO,CAAC,gBAAgB,CAAc;IACtC,OAAO,CAAC,iBAAiB,CAAc;IACvC,OAAO,CAAC,aAAa,CAAc;IACnC,OAAO,CAAC,sBAAsB,CAAc;IAC5C,OAAO,CAAC,cAAc,CAAc;IACpC,OAAO,CAAC,cAAc,CAAc;IAEpC,OAAO,CAAC,wBAAwB,CAAa;IAE7C,IAAI,CAAC,MAAM,EAAE,kBAAkB;IAsB/B,MAAM;IAIN,OAAO,CAAC,qBAAqB;IA8G7B,OAAO,CAAC,2BAA2B;IAqCnC,OAAO,CAAC,sBAAsB;IA0B9B,OAAO,CAAC,QAAQ;IAiBhB,OAAO,CAAC,aAAa;IAyBrB,OAAO,CAAC,iBAAiB;IAYzB,OAAO;CAMR"}
@@ -0,0 +1,36 @@
1
+ import { IStatusPanelComp, IStatusPanelParams } from '@ag-grid-community/core';
2
+ /**
3
+ * The parameters for the reload status bar component.
4
+ * @public
5
+ */
6
+ export type ReloadStatusBarParams = {
7
+ onReload?: () => void;
8
+ icon?: string;
9
+ tooltip?: string;
10
+ };
11
+ /**
12
+ * A status bar component that shows a refresh icon to reload the grid data
13
+ * @public
14
+ */
15
+ export declare class ReloadStatusBarComponent implements IStatusPanelComp {
16
+ private element;
17
+ private refreshIcon;
18
+ private progressRing;
19
+ private params;
20
+ private designSystemPrefix;
21
+ private isReloading;
22
+ private mouseoverHandler;
23
+ private mouseoutHandler;
24
+ private clickHandler;
25
+ init(params: IStatusPanelParams): void;
26
+ private createProgressRing;
27
+ private createRefreshIcon;
28
+ /**
29
+ * Show or hide the reloading state
30
+ */
31
+ private showReloading;
32
+ updateParams(params: ReloadStatusBarParams): void;
33
+ getGui(): HTMLElement;
34
+ destroy(): void;
35
+ }
36
+ //# sourceMappingURL=reload.status-bar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reload.status-bar.d.ts","sourceRoot":"","sources":["../../../src/status-bar-components/reload.status-bar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAG/E;;;GAGG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAKF;;;GAGG;AACH,qBAAa,wBAAyB,YAAW,gBAAgB;IAC/D,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,YAAY,CAAc;IAClC,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,WAAW,CAAS;IAE5B,OAAO,CAAC,gBAAgB,CAA8B;IACtD,OAAO,CAAC,eAAe,CAA8B;IACrD,OAAO,CAAC,YAAY,CAA8B;IAElD,IAAI,CAAC,MAAM,EAAE,kBAAkB;IAyB/B,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,iBAAiB;IAmFzB;;OAEG;IACH,OAAO,CAAC,aAAa;IAcd,YAAY,CAAC,MAAM,EAAE,qBAAqB;IAgBjD,MAAM,IAAI,WAAW;IAIrB,OAAO;CAQR"}
@@ -5,9 +5,21 @@ import { attr, observable, volatile } from '@microsoft/fast-element';
5
5
  import { FoundationElement } from '@microsoft/fast-foundation';
6
6
  import { BehaviorSubject } from 'rxjs';
7
7
  import { dateValueFormatter, dateTimeValueFormatter, getColumnType, getFilterByFieldType, } from '../grid-pro.definitions';
8
- import { GridProRendererTypes } from '../grid-pro.types';
8
+ import { GridProRendererTypes, GridProStatusBarTypes } from '../grid-pro.types';
9
+ /**
10
+ * The delimiter for the criteria string.
11
+ * @public
12
+ */
9
13
  export const criteriaDelimiter = ';';
14
+ /**
15
+ * The join for the criteria string.
16
+ * @public
17
+ */
10
18
  export const criteriaJoin = ' && ';
19
+ /**
20
+ * The base datasource element for the grid-pro element.
21
+ * @public
22
+ */
11
23
  export class GenesisGridDatasourceElement extends DatasourceEventHandler(FoundationElement) {
12
24
  constructor() {
13
25
  super(...arguments);
@@ -174,6 +186,9 @@ export var OperationType;
174
186
  OperationType["Update"] = "update";
175
187
  OperationType["Remove"] = "remove";
176
188
  })(OperationType || (OperationType = {}));
189
+ /**
190
+ * @public
191
+ */
177
192
  export class GridProBaseDatasource extends GenesisGridDatasourceElement {
178
193
  constructor() {
179
194
  super(...arguments);
@@ -237,7 +252,9 @@ export class GridProBaseDatasource extends GenesisGridDatasourceElement {
237
252
  return Object.assign(Object.assign({ field: field.name, type: getColumnType(field.type), filter: getFilterByFieldType(field.type) }, colDefBase), colDefExtras);
238
253
  });
239
254
  }
240
- handleStreamInserts(insertedRows) {
255
+ handleStreamInserts(insertedRows, addIndex = 0) {
256
+ // Create a local counter for the insertion index when we need to do sequential inserts
257
+ let currentAddIndex = addIndex;
241
258
  insertedRows === null || insertedRows === void 0 ? void 0 : insertedRows.forEach((insertData) => {
242
259
  var _a, _b;
243
260
  const rowId = insertData[this.rowId];
@@ -248,15 +265,22 @@ export class GridProBaseDatasource extends GenesisGridDatasourceElement {
248
265
  const existsInInternalState = this.rowData.has(rowId);
249
266
  const existsInGrid = (_b = (_a = this.agGrid) === null || _a === void 0 ? void 0 : _a.gridApi) === null || _b === void 0 ? void 0 : _b.getRowNode(rowId);
250
267
  if (existsInInternalState || existsInGrid || this.dataSubWasLoggedOff) {
251
- const existingData = existsInInternalState || existsInGrid.data;
268
+ const existingData = existsInInternalState ? this.rowData.get(rowId) : existsInGrid.data;
252
269
  const updatedRow = Object.assign(Object.assign({}, existingData), insertData);
253
270
  this.agTransaction.update.push(updatedRow);
254
271
  this.rowData.set(rowId, updatedRow);
255
272
  }
256
273
  else {
257
274
  this.agTransaction.add.push(insertData);
258
- this.agTransaction.addIndex = 0;
275
+ // Use the current add index for this insertion
276
+ this.agTransaction.addIndex = currentAddIndex;
259
277
  this.rowData.set(rowId, insertData);
278
+ // Only increment the index if we're not inserting at the beginning (addIndex > 0)
279
+ // This ensures rows are inserted in sequence when appending to the end of the grid
280
+ if (addIndex > 0) {
281
+ // Increment for the next insertion
282
+ currentAddIndex += 1;
283
+ }
260
284
  }
261
285
  });
262
286
  }
@@ -300,7 +324,10 @@ export class GridProBaseDatasource extends GenesisGridDatasourceElement {
300
324
  return;
301
325
  }
302
326
  if (((_a = this.agTransaction.add) === null || _a === void 0 ? void 0 : _a.length) > 0) {
303
- this.applyMappedAgTransaction({ add: this.agTransaction.add, addIndex: this.agGrid.addIndex }, OperationType.Add, this.agGrid.asyncAdd);
327
+ this.applyMappedAgTransaction({
328
+ add: this.agTransaction.add,
329
+ addIndex: this.agTransaction.addIndex,
330
+ }, OperationType.Add, this.agGrid.asyncAdd);
304
331
  }
305
332
  if (((_b = this.agTransaction.remove) === null || _b === void 0 ? void 0 : _b.length) > 0) {
306
333
  this.applyMappedAgTransaction({ remove: this.agTransaction.remove }, OperationType.Remove, this.agGrid.asyncRemove);
@@ -317,12 +344,12 @@ export class GridProBaseDatasource extends GenesisGridDatasourceElement {
317
344
  applyMappedAgTransaction(agTransaction, operation, isAsync) {
318
345
  if (isAsync) {
319
346
  this.applyTransactionAsync(this.mapTransaction(agTransaction, [operation]), (changedNodes) => {
320
- this.flashAddedCells(changedNodes.add);
347
+ this.flashAddedCells(changedNodes === null || changedNodes === void 0 ? void 0 : changedNodes.add);
321
348
  });
322
349
  }
323
350
  else {
324
351
  const changedNodes = this.applyTransaction(this.mapTransaction(agTransaction, [operation]));
325
- this.flashAddedCells(changedNodes.add);
352
+ this.flashAddedCells(changedNodes === null || changedNodes === void 0 ? void 0 : changedNodes.add);
326
353
  }
327
354
  }
328
355
  applyTransaction(agTransaction) {
@@ -353,4 +380,94 @@ export class GridProBaseDatasource extends GenesisGridDatasourceElement {
353
380
  }
354
381
  return mappedTransaction;
355
382
  }
383
+ get pagination() {
384
+ // This is a private property, but it's the only way to get the pagination status because grid-pro is the parent of the datasource.
385
+ return this.agGrid['_pagination'];
386
+ }
387
+ loadMore() {
388
+ throw new Error('loadMore() method must be implemented by subclass');
389
+ }
390
+ restart() {
391
+ throw new Error('restart() method must be implemented by subclass');
392
+ }
393
+ reloadResourceData() {
394
+ throw new Error('reloadResourceData() method must be implemented by subclass');
395
+ }
396
+ destroy() {
397
+ throw new Error('destroy() method must be implemented by subclass');
398
+ }
399
+ /**
400
+ * Helper function to extract configuration for status bar actions
401
+ * @internal
402
+ */
403
+ getStatusBarActionConfig(configValue, defaultEnabled) {
404
+ if (typeof configValue === 'boolean') {
405
+ return { enabled: configValue };
406
+ }
407
+ if (typeof configValue === 'object' && configValue !== null) {
408
+ return {
409
+ enabled: configValue.enabled !== false,
410
+ config: configValue,
411
+ };
412
+ }
413
+ return { enabled: defaultEnabled };
414
+ }
415
+ /**
416
+ * Gets datasource-specific status bar component configurations.
417
+ * This method should be called by the grid to get status bar panels specific to this datasource.
418
+ * @public
419
+ */
420
+ getDatasourceStatusBarPanels(isServerSide) {
421
+ var _a, _b, _c, _d, _e, _f, _g, _h;
422
+ const additionalPanels = [];
423
+ // Extract loadMore configuration
424
+ const loadMoreConfig = this.getStatusBarActionConfig((_a = this.agGrid.statusBarConfig) === null || _a === void 0 ? void 0 : _a.loadMore, false);
425
+ // Add load more button if enabled and not server-side
426
+ if (loadMoreConfig.enabled && !isServerSide) {
427
+ const loadMoreParams = {};
428
+ // Use custom callback if provided, otherwise leave undefined for default behavior
429
+ if ((_b = loadMoreConfig.config) === null || _b === void 0 ? void 0 : _b.onLoadMore) {
430
+ loadMoreParams.onLoadMore = loadMoreConfig.config.onLoadMore;
431
+ }
432
+ else {
433
+ loadMoreParams.onLoadMore = this.loadMore.bind(this);
434
+ }
435
+ // Add custom styling parameters
436
+ if ((_c = loadMoreConfig.config) === null || _c === void 0 ? void 0 : _c.appearance) {
437
+ loadMoreParams.appearance = loadMoreConfig.config.appearance;
438
+ }
439
+ // Add tooltip - use custom tooltip if provided, otherwise use default
440
+ loadMoreParams.tooltip = ((_d = loadMoreConfig.config) === null || _d === void 0 ? void 0 : _d.tooltip) || 'Load More';
441
+ additionalPanels.push({
442
+ statusPanel: GridProStatusBarTypes.loadMore,
443
+ statusPanelParams: loadMoreParams,
444
+ align: this.pagination ? 'left' : 'right',
445
+ });
446
+ }
447
+ // Extract reload configuration
448
+ const reloadConfig = this.getStatusBarActionConfig((_e = this.agGrid.statusBarConfig) === null || _e === void 0 ? void 0 : _e.reload, true);
449
+ // Add reload button if enabled
450
+ if (reloadConfig.enabled) {
451
+ const reloadParams = {};
452
+ // Use custom callback if provided, otherwise use default datasource reload
453
+ if ((_f = reloadConfig.config) === null || _f === void 0 ? void 0 : _f.onReload) {
454
+ reloadParams.onReload = reloadConfig.config.onReload;
455
+ }
456
+ else {
457
+ reloadParams.onReload = this.reloadResourceData.bind(this);
458
+ }
459
+ // Add custom styling parameters
460
+ if ((_g = reloadConfig.config) === null || _g === void 0 ? void 0 : _g.icon) {
461
+ reloadParams.icon = reloadConfig.config.icon;
462
+ }
463
+ // Add tooltip - use custom tooltip if provided, otherwise use default
464
+ reloadParams.tooltip = ((_h = reloadConfig.config) === null || _h === void 0 ? void 0 : _h.tooltip) || 'Reload';
465
+ additionalPanels.push({
466
+ statusPanel: GridProStatusBarTypes.reload,
467
+ statusPanelParams: reloadParams,
468
+ align: 'right',
469
+ });
470
+ }
471
+ return additionalPanels;
472
+ }
356
473
  }
@@ -1,3 +1,4 @@
1
+ export * from './base.datasource';
1
2
  export * from './client-side.datasource';
2
3
  export * from './server-side.datasource';
3
4
  export * from './datasource.types';
@@ -22,7 +22,6 @@ let GridProServerSideDatasource = class GridProServerSideDatasource extends Life
22
22
  super(...arguments);
23
23
  this.applyFuncName = 'applyServerSideTransaction';
24
24
  this.applyAsyncFuncName = 'applyServerSideTransactionAsync';
25
- this.pagination = false;
26
25
  /**
27
26
  * The starting VIEW_NUMBER of the data to be fetched.
28
27
  * @remarks The VIEW_NUMBER isincremented by the grid as the user scrolls or changes pages.
@@ -75,9 +74,9 @@ let GridProServerSideDatasource = class GridProServerSideDatasource extends Life
75
74
  return copy;
76
75
  }
77
76
  /**
78
- * Resets the grid data while keeping columnDefs and sends a DATA_LOGOFF message if it's a stream.
77
+ * Resets the grid data while keeping columnDefs and reloads data.
79
78
  * @remarks This is used when the grid is already initialized and we want to reload the data due to a criteria/filter change.
80
- * @internal
79
+ * @public
81
80
  */
82
81
  reloadResourceData(params) {
83
82
  var _a, _b, _c, _d, _e, _f;
@@ -111,7 +110,7 @@ let GridProServerSideDatasource = class GridProServerSideDatasource extends Life
111
110
  init() {
112
111
  return __awaiter(this, void 0, void 0, function* () {
113
112
  if (this.agGrid) {
114
- this.agGrid.gridOptions = Object.assign(Object.assign({ getRowId: (params) => {
113
+ const gridOptions = Object.assign(Object.assign({ getRowId: (params) => {
115
114
  if (!params.data) {
116
115
  return null;
117
116
  }
@@ -126,6 +125,7 @@ let GridProServerSideDatasource = class GridProServerSideDatasource extends Life
126
125
  resizable: true,
127
126
  sortable: false,
128
127
  }, pagination: this.pagination, paginationPageSize: this.maxRows, rowBuffer: 0, rowModelType: 'serverSide', suppressServerSideInfiniteScroll: false, suppressMultiSort: true, onFilterChanged: (params) => { }, onSortChanged: (params) => { }, onPaginationChanged: (event) => this.onPaginationChanged(event) }, this.agGrid['agGridOptions']), this.deferredGridOptions);
128
+ this.agGrid.gridOptions = gridOptions;
129
129
  this.agGrid['initGrid']();
130
130
  this.agGrid.addEventListener(Events.EVENT_GRID_READY, () => __awaiter(this, void 0, void 0, function* () {
131
131
  const initOK = yield this.datasource.init(this.datasourceOptions(), true, false);
@@ -200,7 +200,7 @@ let GridProServerSideDatasource = class GridProServerSideDatasource extends Life
200
200
  restart() {
201
201
  return __awaiter(this, void 0, void 0, function* () {
202
202
  yield this.destroy();
203
- this.init();
203
+ yield this.init();
204
204
  });
205
205
  }
206
206
  clearRowData(withColumnDefs = true) {
@@ -276,7 +276,7 @@ let GridProServerSideDatasource = class GridProServerSideDatasource extends Life
276
276
  // this.handleStreamDeletes(nextMessage.deletes);
277
277
  // this.ssrmDatasource.client_ROWS_COUNT -= nextMessage.deletes.length ?? 0;
278
278
  // this.ssrmDatasource.server_ROWS_COUNT -= nextMessage.deletes.length ?? 0;
279
- if (this.pagination) {
279
+ if (this.agGrid.pagination) {
280
280
  this.applyAllAgTransactions();
281
281
  }
282
282
  else {
@@ -329,10 +329,10 @@ let GridProServerSideDatasource = class GridProServerSideDatasource extends Life
329
329
  applyTransactionAsync(agTransaction, callback) {
330
330
  this.agGrid.gridApi.applyServerSideTransactionAsync(agTransaction, callback);
331
331
  }
332
+ loadMore() {
333
+ throw new Error('loadMore() method is not supported for server-side datasource');
334
+ }
332
335
  };
333
- __decorate([
334
- attr({ mode: 'boolean' })
335
- ], GridProServerSideDatasource.prototype, "pagination", void 0);
336
336
  __decorate([
337
337
  attr({ mode: 'boolean', attribute: 'zero-based-view-number' })
338
338
  ], GridProServerSideDatasource.prototype, "zeroBasedViewNumber", void 0);