@wavemaker/app-ng-runtime 11.14.1-rc.233 → 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
@@ -1890,9 +1890,11 @@
1890
1890
  this.allowpagesizechange = nv;
1891
1891
  break;
1892
1892
  case 'pagesizeoptions':
1893
- this.gridOptions.pagesizeoptions = nv;
1894
- this.pagesizeoptions = nv;
1895
- this.setDefaultPageSize(nv);
1893
+ this.prevPagesizeoptions = this.sanitizeCommaSeparatedIntegers(ov);
1894
+ this.gridOptions.pagesizeoptions = this.sanitizeCommaSeparatedIntegers(nv);
1895
+ this.pagesizeoptions = this.sanitizeCommaSeparatedIntegers(nv);
1896
+ if (this.allowpagesizechange)
1897
+ this.setDefaultPageSize(nv);
1896
1898
  break;
1897
1899
  case 'multiselecttitle':
1898
1900
  this.setDataGridOption('multiselecttitle', nv);
@@ -1936,12 +1938,41 @@
1936
1938
  this.pagesize = nv;
1937
1939
  }
1938
1940
  this.updatedPageSize = nv;
1941
+ if (this.isPageSizeOptionsChanged()) {
1942
+ this.dataNavigator.defaultPageSizeOptions = this.pagesizeoptions?.split(',').map(Number).sort((a, b) => a - b) || [];
1943
+ this.dataNavigator.pageSizeOptions = [...this.dataNavigator.defaultPageSizeOptions];
1944
+ }
1939
1945
  }
1940
1946
  this.dataNavigator.options = {
1941
1947
  maxResults: nv
1942
1948
  };
1943
1949
  this.dataNavigator.widget.maxResults = nv;
1944
1950
  this.dataNavigator.maxResults = nv;
1951
+ if (this.datasource) {
1952
+ this.datasource.maxResults = this.pagesize || this.datasource.maxResults;
1953
+ }
1954
+ }
1955
+ isPageSizeOptionsChanged() {
1956
+ return !lodashEs.isEqual(this.prevPagesizeoptions, this.pagesizeoptions);
1957
+ }
1958
+ selectPageSize(pagesize) {
1959
+ if (!this.allowpagesizechange && !pagesize)
1960
+ return;
1961
+ if (pagesize < this.dataNavigator.pageSizeOptions[0] || pagesize > this.dataNavigator.pageSizeOptions[this.dataNavigator.pageSizeOptions.length - 1]
1962
+ || !this.dataNavigator.pageSizeOptions.includes(Number(pagesize))) {
1963
+ pagesize = this.dataNavigator.pageSizeOptions[0];
1964
+ }
1965
+ this.dataNavigator.onPageSizeChange(undefined, pagesize);
1966
+ }
1967
+ sanitizeCommaSeparatedIntegers(input) {
1968
+ if (!input)
1969
+ return "";
1970
+ const uniqueNumbers = Array.from(new Set(input
1971
+ .split(",")
1972
+ .map(v => v.trim())
1973
+ .filter(v => /^-?\d+$/.test(v))
1974
+ .map(v => Math.abs(parseInt(v, 10)))));
1975
+ return uniqueNumbers.join(",");
1945
1976
  }
1946
1977
  onDataSourceChange() {
1947
1978
  this.fieldDefs.forEach(col => {