@wavemaker/app-ng-runtime 11.14.1-next.28343 → 11.14.1-rc.236

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 (29) hide show
  1. package/components/base/bundles/index.umd.js +8 -8
  2. package/components/base/esm2022/pipes/custom-pipes.mjs +10 -10
  3. package/components/base/fesm2022/index.mjs +8 -8
  4. package/components/base/fesm2022/index.mjs.map +1 -1
  5. package/components/base/pipes/custom-pipes.d.ts +5 -5
  6. package/components/basic/search/bundles/index.umd.js +4 -4
  7. package/components/basic/search/esm2022/scrollable.directive.mjs +3 -3
  8. package/components/basic/search/esm2022/search.component.mjs +3 -3
  9. package/components/basic/search/fesm2022/index.mjs +4 -4
  10. package/components/basic/search/fesm2022/index.mjs.map +1 -1
  11. package/components/basic/search/scrollable.directive.d.ts +1 -1
  12. package/components/data/list/bundles/index.umd.js +33 -2
  13. package/components/data/list/esm2022/list.component.mjs +34 -3
  14. package/components/data/list/fesm2022/index.mjs +33 -2
  15. package/components/data/list/fesm2022/index.mjs.map +1 -1
  16. package/components/data/list/list.component.d.ts +4 -0
  17. package/components/data/table/bundles/index.umd.js +34 -3
  18. package/components/data/table/esm2022/table.component.mjs +35 -4
  19. package/components/data/table/fesm2022/index.mjs +34 -3
  20. package/components/data/table/fesm2022/index.mjs.map +1 -1
  21. package/components/data/table/table.component.d.ts +4 -0
  22. package/npm-shrinkwrap.json +2 -2
  23. package/package-lock.json +2 -2
  24. package/package.json +1 -1
  25. package/runtime/base/bundles/index.umd.js +3 -2
  26. package/runtime/base/esm2022/services/app.manager.service.mjs +4 -3
  27. package/runtime/base/fesm2022/index.mjs +3 -2
  28. package/runtime/base/fesm2022/index.mjs.map +1 -1
  29. package/scripts/@wavemaker/nvd3/build/nv.d3.min.js +1 -1
@@ -1880,9 +1880,11 @@ class TableComponent extends StylableComponent {
1880
1880
  this.allowpagesizechange = nv;
1881
1881
  break;
1882
1882
  case 'pagesizeoptions':
1883
- this.gridOptions.pagesizeoptions = nv;
1884
- this.pagesizeoptions = nv;
1885
- this.setDefaultPageSize(nv);
1883
+ this.prevPagesizeoptions = this.sanitizeCommaSeparatedIntegers(ov);
1884
+ this.gridOptions.pagesizeoptions = this.sanitizeCommaSeparatedIntegers(nv);
1885
+ this.pagesizeoptions = this.sanitizeCommaSeparatedIntegers(nv);
1886
+ if (this.allowpagesizechange)
1887
+ this.setDefaultPageSize(nv);
1886
1888
  break;
1887
1889
  case 'multiselecttitle':
1888
1890
  this.setDataGridOption('multiselecttitle', nv);
@@ -1926,12 +1928,41 @@ class TableComponent extends StylableComponent {
1926
1928
  this.pagesize = nv;
1927
1929
  }
1928
1930
  this.updatedPageSize = nv;
1931
+ if (this.isPageSizeOptionsChanged()) {
1932
+ this.dataNavigator.defaultPageSizeOptions = this.pagesizeoptions?.split(',').map(Number).sort((a, b) => a - b) || [];
1933
+ this.dataNavigator.pageSizeOptions = [...this.dataNavigator.defaultPageSizeOptions];
1934
+ }
1929
1935
  }
1930
1936
  this.dataNavigator.options = {
1931
1937
  maxResults: nv
1932
1938
  };
1933
1939
  this.dataNavigator.widget.maxResults = nv;
1934
1940
  this.dataNavigator.maxResults = nv;
1941
+ if (this.datasource) {
1942
+ this.datasource.maxResults = this.pagesize || this.datasource.maxResults;
1943
+ }
1944
+ }
1945
+ isPageSizeOptionsChanged() {
1946
+ return !isEqual(this.prevPagesizeoptions, this.pagesizeoptions);
1947
+ }
1948
+ selectPageSize(pagesize) {
1949
+ if (!this.allowpagesizechange && !pagesize)
1950
+ return;
1951
+ if (pagesize < this.dataNavigator.pageSizeOptions[0] || pagesize > this.dataNavigator.pageSizeOptions[this.dataNavigator.pageSizeOptions.length - 1]
1952
+ || !this.dataNavigator.pageSizeOptions.includes(Number(pagesize))) {
1953
+ pagesize = this.dataNavigator.pageSizeOptions[0];
1954
+ }
1955
+ this.dataNavigator.onPageSizeChange(undefined, pagesize);
1956
+ }
1957
+ sanitizeCommaSeparatedIntegers(input) {
1958
+ if (!input)
1959
+ return "";
1960
+ const uniqueNumbers = Array.from(new Set(input
1961
+ .split(",")
1962
+ .map(v => v.trim())
1963
+ .filter(v => /^-?\d+$/.test(v))
1964
+ .map(v => Math.abs(parseInt(v, 10)))));
1965
+ return uniqueNumbers.join(",");
1935
1966
  }
1936
1967
  onDataSourceChange() {
1937
1968
  this.fieldDefs.forEach(col => {