@wavemaker/angular-codegen 11.0.0-next.138551 → 11.0.0-next.138552

Sign up to get free protection for your applications and to get access to all the features.
@@ -43911,6 +43911,16 @@ class PaginationService {
43911
43911
  */
43912
43912
  updateFieldsOnPagination(parent, newVal) {
43913
43913
  let fieldDefs = parent.widgetType === 'wm-table' ? parent.gridData : parent.fieldDefs;
43914
+ // remove the deleted row from the list
43915
+ if (parent.widgetType === 'wm-table' && (parent.gridOptions.isNavTypeScrollOrOndemand()) && parent.gridOptions.deletedRowIndex !== -1) {
43916
+ fieldDefs.splice(parent.gridOptions.deletedRowIndex, 1);
43917
+ parent.gridOptions.setDeletedRowIndex(-1);
43918
+ }
43919
+ // reset fieldDefs if last action performed is search or sort
43920
+ if (parent.widgetType === 'wm-table' && (parent.gridOptions.isNavTypeScrollOrOndemand()) && parent.gridOptions.lastActionPerformed === parent.gridOptions.ACTIONS.SEARCH_OR_SORT) {
43921
+ fieldDefs = [];
43922
+ parent.gridOptions.setCurrentPage(1);
43923
+ }
43914
43924
  let currentPage = parent.currentPage;
43915
43925
  const dataNavigator = parent.dataNavigator;
43916
43926
  const pagesize = parent.pagesize;
@@ -43931,11 +43941,11 @@ class PaginationService {
43931
43941
  newVal = [];
43932
43942
  }
43933
43943
  else if (dataNavigator.dataSize < currentPage * pagesize) {
43934
- // if number of elements added to datanavigator is less than product of currentpage and pagesize we only add elements extra elements added
43944
+ // if number of elements added to dataNavigator is less than product of currentPage and pageSize we only add elements extra elements added
43935
43945
  itemsLength = dataNavigator.dataSize - fieldDefs.length;
43936
43946
  }
43937
43947
  else {
43938
- // if number of elements added to datanavigator is greater than product of currentpage and pagesize we add elements the extra elements in newVal
43948
+ // if number of elements added to dataNavigator is greater than product of currentPage and pageSize we add elements the extra elements in newVal
43939
43949
  itemsLength = currentPage * pagesize - fieldDefs.length;
43940
43950
  currentPage++;
43941
43951
  }
@@ -43948,9 +43958,36 @@ class PaginationService {
43948
43958
  }
43949
43959
  newVal = itemsToPush;
43950
43960
  }
43951
- fieldDefs = [...fieldDefs, ...newVal];
43961
+ // Add unique records to fieldDefs
43962
+ if (parent.widgetType === 'wm-table' && (parent.gridOptions.lastActionPerformed === parent.gridOptions.ACTIONS.DELETE || parent.gridOptions.lastActionPerformed === parent.gridOptions.ACTIONS.EDIT)) {
43963
+ fieldDefs = this.getUniqueRecordsInFieldDef(fieldDefs, newVal);
43964
+ }
43965
+ else {
43966
+ fieldDefs = [...fieldDefs, ...newVal];
43967
+ }
43952
43968
  return [fieldDefs, currentPage];
43953
43969
  }
43970
+ // Add the unique records to fieldDefs
43971
+ getUniqueRecordsInFieldDef(fieldDefs, newVal) {
43972
+ let flag = false;
43973
+ if (!fieldDefs.length) {
43974
+ fieldDefs = newVal;
43975
+ }
43976
+ else {
43977
+ newVal.forEach(function (newObj) {
43978
+ flag = false;
43979
+ fieldDefs.forEach(function (obj) {
43980
+ if (_.isEqual(newObj, obj)) {
43981
+ flag = true;
43982
+ }
43983
+ });
43984
+ if (flag === false) {
43985
+ fieldDefs.push(newObj);
43986
+ }
43987
+ });
43988
+ }
43989
+ return fieldDefs;
43990
+ }
43954
43991
  /**
43955
43992
  * @description
43956
43993
  * This function registers scroll events on the scrollable el, if the page doesn't have a scroll el then wheel event is registered on the requested node
@@ -43993,6 +44030,9 @@ class PaginationService {
43993
44030
  let scrollTop;
43994
44031
  // scrollingElement is undefined for IE, safari. use body as target Element
43995
44032
  target = target === document ? (target.scrollingElement || document.body) : target;
44033
+ if (parent.widgetType === 'wm-table' && parent.gridOptions.isNavTypeScrollOrOndemand()) {
44034
+ evt.stopPropagation();
44035
+ }
43996
44036
  clientHeight = target.clientHeight;
43997
44037
  totalHeight = target.scrollHeight;
43998
44038
  scrollTop = target === document.body ? $(window).scrollTop() : target.scrollTop;
@@ -44007,6 +44047,9 @@ class PaginationService {
44007
44047
  else {
44008
44048
  // if there is no scrollable element register wheel event on ul element
44009
44049
  $rootEl.on('wheel.scroll_evt', e => {
44050
+ if (parent.widgetType === 'wm-table' && parent.gridOptions.isNavTypeScrollOrOndemand()) {
44051
+ e.stopPropagation();
44052
+ }
44010
44053
  if (e.originalEvent.deltaY > 0) {
44011
44054
  $rootEl.off('wheel.scroll_evt');
44012
44055
  this.debouncedFetchNextDatasetOnScroll(dataNavigator, debounceNum, parent)();
@@ -45087,7 +45130,7 @@ var search_build$1 = /*#__PURE__*/Object.freeze({
45087
45130
  const tagName$1m = 'div';
45088
45131
  register('wm-tree', () => {
45089
45132
  return {
45090
- pre: attrs => `<${tagName$1m} wmTree redrawable ${getAttrMarkup(attrs)}>`,
45133
+ pre: attrs => `<${tagName$1m} wmTree ${getAttrMarkup(attrs)}>`,
45091
45134
  post: () => `</${tagName$1m}>`
45092
45135
  };
45093
45136
  });
@@ -43911,6 +43911,16 @@ class PaginationService {
43911
43911
  */
43912
43912
  updateFieldsOnPagination(parent, newVal) {
43913
43913
  let fieldDefs = parent.widgetType === 'wm-table' ? parent.gridData : parent.fieldDefs;
43914
+ // remove the deleted row from the list
43915
+ if (parent.widgetType === 'wm-table' && (parent.gridOptions.isNavTypeScrollOrOndemand()) && parent.gridOptions.deletedRowIndex !== -1) {
43916
+ fieldDefs.splice(parent.gridOptions.deletedRowIndex, 1);
43917
+ parent.gridOptions.setDeletedRowIndex(-1);
43918
+ }
43919
+ // reset fieldDefs if last action performed is search or sort
43920
+ if (parent.widgetType === 'wm-table' && (parent.gridOptions.isNavTypeScrollOrOndemand()) && parent.gridOptions.lastActionPerformed === parent.gridOptions.ACTIONS.SEARCH_OR_SORT) {
43921
+ fieldDefs = [];
43922
+ parent.gridOptions.setCurrentPage(1);
43923
+ }
43914
43924
  let currentPage = parent.currentPage;
43915
43925
  const dataNavigator = parent.dataNavigator;
43916
43926
  const pagesize = parent.pagesize;
@@ -43931,11 +43941,11 @@ class PaginationService {
43931
43941
  newVal = [];
43932
43942
  }
43933
43943
  else if (dataNavigator.dataSize < currentPage * pagesize) {
43934
- // if number of elements added to datanavigator is less than product of currentpage and pagesize we only add elements extra elements added
43944
+ // if number of elements added to dataNavigator is less than product of currentPage and pageSize we only add elements extra elements added
43935
43945
  itemsLength = dataNavigator.dataSize - fieldDefs.length;
43936
43946
  }
43937
43947
  else {
43938
- // if number of elements added to datanavigator is greater than product of currentpage and pagesize we add elements the extra elements in newVal
43948
+ // if number of elements added to dataNavigator is greater than product of currentPage and pageSize we add elements the extra elements in newVal
43939
43949
  itemsLength = currentPage * pagesize - fieldDefs.length;
43940
43950
  currentPage++;
43941
43951
  }
@@ -43948,9 +43958,36 @@ class PaginationService {
43948
43958
  }
43949
43959
  newVal = itemsToPush;
43950
43960
  }
43951
- fieldDefs = [...fieldDefs, ...newVal];
43961
+ // Add unique records to fieldDefs
43962
+ if (parent.widgetType === 'wm-table' && (parent.gridOptions.lastActionPerformed === parent.gridOptions.ACTIONS.DELETE || parent.gridOptions.lastActionPerformed === parent.gridOptions.ACTIONS.EDIT)) {
43963
+ fieldDefs = this.getUniqueRecordsInFieldDef(fieldDefs, newVal);
43964
+ }
43965
+ else {
43966
+ fieldDefs = [...fieldDefs, ...newVal];
43967
+ }
43952
43968
  return [fieldDefs, currentPage];
43953
43969
  }
43970
+ // Add the unique records to fieldDefs
43971
+ getUniqueRecordsInFieldDef(fieldDefs, newVal) {
43972
+ let flag = false;
43973
+ if (!fieldDefs.length) {
43974
+ fieldDefs = newVal;
43975
+ }
43976
+ else {
43977
+ newVal.forEach(function (newObj) {
43978
+ flag = false;
43979
+ fieldDefs.forEach(function (obj) {
43980
+ if (_.isEqual(newObj, obj)) {
43981
+ flag = true;
43982
+ }
43983
+ });
43984
+ if (flag === false) {
43985
+ fieldDefs.push(newObj);
43986
+ }
43987
+ });
43988
+ }
43989
+ return fieldDefs;
43990
+ }
43954
43991
  /**
43955
43992
  * @description
43956
43993
  * This function registers scroll events on the scrollable el, if the page doesn't have a scroll el then wheel event is registered on the requested node
@@ -43993,6 +44030,9 @@ class PaginationService {
43993
44030
  let scrollTop;
43994
44031
  // scrollingElement is undefined for IE, safari. use body as target Element
43995
44032
  target = target === document ? (target.scrollingElement || document.body) : target;
44033
+ if (parent.widgetType === 'wm-table' && parent.gridOptions.isNavTypeScrollOrOndemand()) {
44034
+ evt.stopPropagation();
44035
+ }
43996
44036
  clientHeight = target.clientHeight;
43997
44037
  totalHeight = target.scrollHeight;
43998
44038
  scrollTop = target === document.body ? $(window).scrollTop() : target.scrollTop;
@@ -44007,6 +44047,9 @@ class PaginationService {
44007
44047
  else {
44008
44048
  // if there is no scrollable element register wheel event on ul element
44009
44049
  $rootEl.on('wheel.scroll_evt', e => {
44050
+ if (parent.widgetType === 'wm-table' && parent.gridOptions.isNavTypeScrollOrOndemand()) {
44051
+ e.stopPropagation();
44052
+ }
44010
44053
  if (e.originalEvent.deltaY > 0) {
44011
44054
  $rootEl.off('wheel.scroll_evt');
44012
44055
  this.debouncedFetchNextDatasetOnScroll(dataNavigator, debounceNum, parent)();
@@ -45087,7 +45130,7 @@ var search_build$1 = /*#__PURE__*/Object.freeze({
45087
45130
  const tagName$1m = 'div';
45088
45131
  register('wm-tree', () => {
45089
45132
  return {
45090
- pre: attrs => `<${tagName$1m} wmTree redrawable ${getAttrMarkup(attrs)}>`,
45133
+ pre: attrs => `<${tagName$1m} wmTree ${getAttrMarkup(attrs)}>`,
45091
45134
  post: () => `</${tagName$1m}>`
45092
45135
  };
45093
45136
  });
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wavemaker/angular-codegen",
3
- "version": "11.0.0-next.138551",
3
+ "version": "11.0.0-next.138552",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {