@wavemaker/app-ng-runtime 11.4.0-next.25501 → 11.4.0-next.25703

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 (125) hide show
  1. app-ng-runtime/build-task/bundles/index.umd.js +2 -2
  2. app-ng-runtime/build-task/bundles/index.umd.js.map +1 -1
  3. app-ng-runtime/build-task/esm2015/data/form/form-field/form-field.build.js +3 -3
  4. app-ng-runtime/build-task/fesm2015/index.js +2 -2
  5. app-ng-runtime/build-task/fesm2015/index.js.map +1 -1
  6. app-ng-runtime/components/base/bundles/index.umd.js +23 -1
  7. app-ng-runtime/components/base/bundles/index.umd.js.map +1 -1
  8. app-ng-runtime/components/base/esm2015/public_api.js +2 -2
  9. app-ng-runtime/components/base/esm2015/utils/widget-utils.js +16 -1
  10. app-ng-runtime/components/base/esm2015/widgets/common/base/base-field-validations.js +3 -2
  11. app-ng-runtime/components/base/esm2015/widgets/common/dialog/dialog.service.js +7 -1
  12. app-ng-runtime/components/base/fesm2015/index.js +24 -3
  13. app-ng-runtime/components/base/fesm2015/index.js.map +1 -1
  14. app-ng-runtime/components/base/index.metadata.json +1 -1
  15. app-ng-runtime/components/base/public_api.d.ts +1 -1
  16. app-ng-runtime/components/base/utils/widget-utils.d.ts +7 -0
  17. app-ng-runtime/components/basic/rich-text-editor/bundles/index.umd.js +2 -2
  18. app-ng-runtime/components/basic/rich-text-editor/bundles/index.umd.js.map +1 -1
  19. app-ng-runtime/components/basic/rich-text-editor/esm2015/rich-text-editor.component.js +3 -3
  20. app-ng-runtime/components/basic/rich-text-editor/fesm2015/index.js +2 -2
  21. app-ng-runtime/components/basic/rich-text-editor/fesm2015/index.js.map +1 -1
  22. app-ng-runtime/components/containers/tabs/bundles/index.umd.js +39 -23
  23. app-ng-runtime/components/containers/tabs/bundles/index.umd.js.map +1 -1
  24. app-ng-runtime/components/containers/tabs/esm2015/tab-pane/tab-pane.component.js +8 -1
  25. app-ng-runtime/components/containers/tabs/esm2015/tabs.animator.js +33 -13
  26. app-ng-runtime/components/containers/tabs/fesm2015/index.js +40 -13
  27. app-ng-runtime/components/containers/tabs/fesm2015/index.js.map +1 -1
  28. app-ng-runtime/components/containers/tabs/tabs.animator.d.ts +5 -1
  29. app-ng-runtime/components/data/form/bundles/index.umd.js +37 -13
  30. app-ng-runtime/components/data/form/bundles/index.umd.js.map +1 -1
  31. app-ng-runtime/components/data/form/esm2015/form-field/form-field.directive.js +26 -7
  32. app-ng-runtime/components/data/form/esm2015/form.component.js +10 -5
  33. app-ng-runtime/components/data/form/fesm2015/index.js +34 -10
  34. app-ng-runtime/components/data/form/fesm2015/index.js.map +1 -1
  35. app-ng-runtime/components/data/form/index.metadata.json +1 -1
  36. app-ng-runtime/components/data/list/bundles/index.umd.js +36 -45
  37. app-ng-runtime/components/data/list/bundles/index.umd.js.map +1 -1
  38. app-ng-runtime/components/data/list/esm2015/list.component.js +34 -43
  39. app-ng-runtime/components/data/list/fesm2015/index.js +33 -42
  40. app-ng-runtime/components/data/list/fesm2015/index.js.map +1 -1
  41. app-ng-runtime/components/data/list/index.metadata.json +1 -1
  42. app-ng-runtime/components/data/list/list.component.d.ts +1 -1
  43. app-ng-runtime/components/data/pagination/bundles/index.umd.js +22 -5
  44. app-ng-runtime/components/data/pagination/bundles/index.umd.js.map +1 -1
  45. app-ng-runtime/components/data/pagination/esm2015/pagination.component.js +23 -6
  46. app-ng-runtime/components/data/pagination/fesm2015/index.js +22 -5
  47. app-ng-runtime/components/data/pagination/fesm2015/index.js.map +1 -1
  48. app-ng-runtime/components/data/pagination/index.metadata.json +1 -1
  49. app-ng-runtime/components/data/pagination/pagination.component.d.ts +1 -0
  50. app-ng-runtime/components/data/table/bundles/index.umd.js +66 -13
  51. app-ng-runtime/components/data/table/bundles/index.umd.js.map +1 -1
  52. app-ng-runtime/components/data/table/esm2015/table-filter.directive.js +3 -2
  53. app-ng-runtime/components/data/table/esm2015/table.component.js +63 -13
  54. app-ng-runtime/components/data/table/esm2015/table.props.js +3 -1
  55. app-ng-runtime/components/data/table/fesm2015/index.js +66 -13
  56. app-ng-runtime/components/data/table/fesm2015/index.js.map +1 -1
  57. app-ng-runtime/components/data/table/index.metadata.json +1 -1
  58. app-ng-runtime/components/data/table/table.component.d.ts +9 -0
  59. app-ng-runtime/components/dialogs/default/base-dialog.d.ts +1 -0
  60. app-ng-runtime/components/dialogs/default/bundles/index.umd.js +17 -3
  61. app-ng-runtime/components/dialogs/default/bundles/index.umd.js.map +1 -1
  62. app-ng-runtime/components/dialogs/default/esm2015/base-dialog.js +18 -5
  63. app-ng-runtime/components/dialogs/default/fesm2015/index.js +17 -4
  64. app-ng-runtime/components/dialogs/default/fesm2015/index.js.map +1 -1
  65. app-ng-runtime/components/dialogs/default/index.metadata.json +1 -1
  66. app-ng-runtime/components/input/epoch/base-date-time.component.d.ts +5 -0
  67. app-ng-runtime/components/input/epoch/bundles/index.umd.js +59 -12
  68. app-ng-runtime/components/input/epoch/bundles/index.umd.js.map +1 -1
  69. app-ng-runtime/components/input/epoch/date-time/date-time-picker.component.d.ts +1 -0
  70. app-ng-runtime/components/input/epoch/esm2015/base-date-time.component.js +32 -3
  71. app-ng-runtime/components/input/epoch/esm2015/date/date.component.js +2 -3
  72. app-ng-runtime/components/input/epoch/esm2015/date-time/date-time-picker.component.js +31 -11
  73. app-ng-runtime/components/input/epoch/fesm2015/index.js +62 -14
  74. app-ng-runtime/components/input/epoch/fesm2015/index.js.map +1 -1
  75. app-ng-runtime/components/input/epoch/index.metadata.json +1 -1
  76. app-ng-runtime/components/navigation/menu/bundles/index.umd.js +25 -19
  77. app-ng-runtime/components/navigation/menu/bundles/index.umd.js.map +1 -1
  78. app-ng-runtime/components/navigation/menu/esm2015/menu-dropdown-item/menu-dropdown-item.component.js +15 -5
  79. app-ng-runtime/components/navigation/menu/esm2015/menu.component.js +14 -19
  80. app-ng-runtime/components/navigation/menu/fesm2015/index.js +25 -20
  81. app-ng-runtime/components/navigation/menu/fesm2015/index.js.map +1 -1
  82. app-ng-runtime/components/navigation/menu/index.metadata.json +1 -1
  83. app-ng-runtime/components/navigation/menu/menu-dropdown-item/menu-dropdown-item.component.d.ts +7 -4
  84. app-ng-runtime/components/navigation/menu/menu.component.d.ts +3 -7
  85. app-ng-runtime/components/navigation/popover/bundles/index.umd.js +3 -0
  86. app-ng-runtime/components/navigation/popover/bundles/index.umd.js.map +1 -1
  87. app-ng-runtime/components/navigation/popover/esm2015/popover.component.js +4 -1
  88. app-ng-runtime/components/navigation/popover/fesm2015/index.js +3 -0
  89. app-ng-runtime/components/navigation/popover/fesm2015/index.js.map +1 -1
  90. app-ng-runtime/core/bundles/index.umd.js +7 -1
  91. app-ng-runtime/core/bundles/index.umd.js.map +1 -1
  92. app-ng-runtime/core/esm2015/services/pagination.service.js +8 -2
  93. app-ng-runtime/core/fesm2015/index.js +7 -1
  94. app-ng-runtime/core/fesm2015/index.js.map +1 -1
  95. app-ng-runtime/mobile/components/page/default/bundles/index.umd.js +24 -6
  96. app-ng-runtime/mobile/components/page/default/bundles/index.umd.js.map +1 -1
  97. app-ng-runtime/mobile/components/page/default/esm2015/page.directive.js +20 -3
  98. app-ng-runtime/mobile/components/page/default/fesm2015/index.js +19 -2
  99. app-ng-runtime/mobile/components/page/default/fesm2015/index.js.map +1 -1
  100. app-ng-runtime/mobile/components/page/default/index.metadata.json +1 -1
  101. app-ng-runtime/mobile/components/page/default/page.directive.d.ts +4 -1
  102. app-ng-runtime/mobile/core/bundles/index.umd.js +2 -1
  103. app-ng-runtime/mobile/core/bundles/index.umd.js.map +1 -1
  104. app-ng-runtime/mobile/core/esm2015/services/device.service.js +3 -2
  105. app-ng-runtime/mobile/core/fesm2015/index.js +2 -1
  106. app-ng-runtime/mobile/core/fesm2015/index.js.map +1 -1
  107. app-ng-runtime/mobile/runtime-dynamic/bundles/index.umd.js +3 -2
  108. app-ng-runtime/mobile/runtime-dynamic/bundles/index.umd.js.map +1 -1
  109. app-ng-runtime/mobile/runtime-dynamic/esm2015/services/live-sync.service.js +4 -3
  110. app-ng-runtime/mobile/runtime-dynamic/fesm2015/index.js +3 -2
  111. app-ng-runtime/mobile/runtime-dynamic/fesm2015/index.js.map +1 -1
  112. app-ng-runtime/package.json +1 -1
  113. app-ng-runtime/runtime/base/bundles/index.umd.js +1 -0
  114. app-ng-runtime/runtime/base/bundles/index.umd.js.map +1 -1
  115. app-ng-runtime/runtime/base/esm2015/services/prefab-manager.service.js +2 -1
  116. app-ng-runtime/runtime/base/fesm2015/index.js +1 -0
  117. app-ng-runtime/runtime/base/fesm2015/index.js.map +1 -1
  118. app-ng-runtime/scripts/datatable/datatable.js +94 -25
  119. app-ng-runtime/scripts/summernote/dist/summernote-lite.min.js +3 -3
  120. app-ng-runtime/variables/bundles/index.umd.js +5 -12
  121. app-ng-runtime/variables/bundles/index.umd.js.map +1 -1
  122. app-ng-runtime/variables/esm2015/constants/variables.constants.js +3 -9
  123. app-ng-runtime/variables/fesm2015/index.js +2 -9
  124. app-ng-runtime/variables/fesm2015/index.js.map +1 -1
  125. app-ng-runtime/variables/index.metadata.json +1 -1
@@ -574,11 +574,17 @@ class ListComponent extends StylableComponent {
574
574
  const dataSource = this.datasource;
575
575
  if (dataSource && dataSource.execute(DataSource.Operation.IS_API_AWARE) && isDataSourceEqual(data.variable, dataSource)) {
576
576
  this.ngZone.run(() => {
577
- var _a;
577
+ var _a, _b, _c;
578
578
  this.handleStateParams(data);
579
579
  this.variableInflight = data.active;
580
- // WMS-17268: Update nodatafound flag once the response is recieved from the server
581
- this.noDataFound = !((_a = data.data) === null || _a === void 0 ? void 0 : _a.pagination.totalElements);
580
+ // Fix for [WMS-23772] Update nodatafound flag once the response is recieved from the server
581
+ const totalEle = (_b = (_a = data.data) === null || _a === void 0 ? void 0 : _a.pagination) === null || _b === void 0 ? void 0 : _b.totalElements;
582
+ if (!_.isUndefined(totalEle)) {
583
+ this.noDataFound = totalEle === 0 ? true : false;
584
+ }
585
+ else { // totalelements is undefined
586
+ this.noDataFound = _.isEmpty((_c = data.data) === null || _c === void 0 ? void 0 : _c.data);
587
+ }
582
588
  });
583
589
  }
584
590
  }
@@ -1089,7 +1095,7 @@ class ListComponent extends StylableComponent {
1089
1095
  }
1090
1096
  handleKeyDown($event, action) {
1091
1097
  $event.stopPropagation();
1092
- if ($event.keyCode !== 13 && $event.keyCode !== 9 && !($event.target.classList.contains('form-control') && $event.keyCode === 32)) {
1098
+ if ($event.keyCode !== 13 && $event.keyCode !== 9 && !(($event.target.classList.contains('form-control') || $event.target.classList.contains('note-editable')) && $event.keyCode === 32)) {
1093
1099
  $event.preventDefault();
1094
1100
  }
1095
1101
  const listItems = this.listItems;
@@ -1130,27 +1136,20 @@ class ListComponent extends StylableComponent {
1130
1136
  }
1131
1137
  if (action === 'focusPrev') {
1132
1138
  if (this.isListElementMovable) {
1133
- let prev;
1134
1139
  presentIndex = presentIndex <= 0 ? 0 : (presentIndex);
1135
- this.lastSelectedItem = this.getListItemByIndex(presentIndex);
1136
1140
  if (presentIndex === 0) {
1137
- prev = this.listItems.last;
1138
1141
  return;
1139
1142
  }
1140
- this.listItems.forEach(($liItem, idx) => {
1141
- if (idx === presentIndex) {
1142
- prev.nativeElement.before($liItem.nativeElement);
1143
- this.lastSelectedItem.nativeElement.focus();
1144
- const arr = this.listItems.toArray();
1145
- let temp = arr[presentIndex];
1146
- arr[presentIndex] = arr[presentIndex - 1];
1147
- arr[presentIndex - 1] = temp;
1148
- this.listItems.reset(arr);
1149
- this.currentIndex = presentIndex;
1150
- this.ariaText = "selected ";
1151
- }
1152
- prev = $liItem;
1153
- });
1143
+ this.lastSelectedItem = this.getListItemByIndex(presentIndex);
1144
+ const prevElt = this.getListItemByIndex(presentIndex - 1);
1145
+ prevElt.nativeElement.before(this.lastSelectedItem.nativeElement);
1146
+ this.lastSelectedItem.nativeElement.focus();
1147
+ this.statePersistence.removeWidgetState(this, 'selectedItem');
1148
+ const arr = this.listItems.toArray();
1149
+ [arr[presentIndex - 1], arr[presentIndex]] = [arr[presentIndex], arr[presentIndex - 1]];
1150
+ this.listItems.reset(arr);
1151
+ this.currentIndex = presentIndex;
1152
+ this.ariaText = "selected ";
1154
1153
  }
1155
1154
  else {
1156
1155
  presentIndex = presentIndex <= 0 ? 0 : (presentIndex - 1);
@@ -1162,27 +1161,20 @@ class ListComponent extends StylableComponent {
1162
1161
  }
1163
1162
  else if (action === 'focusNext') {
1164
1163
  if (this.isListElementMovable) {
1165
- let prev;
1166
1164
  presentIndex = presentIndex < (listItems.length - 1) ? (presentIndex) : (listItems.length - 1);
1167
- this.lastSelectedItem = this.getListItemByIndex(presentIndex);
1168
1165
  if (presentIndex === this.listItems.length - 1) {
1169
- prev = this.listItems.first;
1170
1166
  return;
1171
1167
  }
1172
- this.listItems.forEach(($liItem, idx) => {
1173
- if (idx === presentIndex + 1) {
1174
- prev.nativeElement.before($liItem.nativeElement);
1175
- this.lastSelectedItem.nativeElement.focus();
1176
- const arr = this.listItems.toArray();
1177
- let temp = arr[presentIndex + 1];
1178
- arr[presentIndex + 1] = arr[presentIndex];
1179
- arr[presentIndex] = temp;
1180
- this.listItems.reset(arr);
1181
- this.currentIndex = idx + 1;
1182
- this.ariaText = "selected ";
1183
- }
1184
- prev = $liItem;
1185
- });
1168
+ this.lastSelectedItem = this.getListItemByIndex(presentIndex);
1169
+ const nextElt = this.getListItemByIndex(presentIndex + 1);
1170
+ nextElt.nativeElement.after(this.lastSelectedItem.nativeElement);
1171
+ this.lastSelectedItem.nativeElement.focus();
1172
+ this.statePersistence.removeWidgetState(this, 'selectedItem');
1173
+ const arr = this.listItems.toArray();
1174
+ [arr[presentIndex], arr[presentIndex + 1]] = [arr[presentIndex + 1], arr[presentIndex]];
1175
+ this.listItems.reset(arr);
1176
+ this.currentIndex = presentIndex + 2;
1177
+ this.ariaText = "selected ";
1186
1178
  }
1187
1179
  else {
1188
1180
  presentIndex = presentIndex < (listItems.length - 1) ? (presentIndex + 1) : (listItems.length - 1);
@@ -1208,12 +1200,11 @@ class ListComponent extends StylableComponent {
1208
1200
  this.isListElementMovable = !this.isListElementMovable;
1209
1201
  this.onItemClick($event, this.getListItemByIndex(presentIndex));
1210
1202
  this.currentIndex = presentIndex + 1;
1211
- let name = this.getListItemByIndex(presentIndex).item.name;
1212
1203
  if (this.isListElementMovable) {
1213
- this.ariaText = name + " grabbed, current position ";
1204
+ this.ariaText = `Item ${this.currentIndex} grabbed, current position `;
1214
1205
  }
1215
1206
  else {
1216
- this.ariaText = name + " dropped, final position ";
1207
+ this.ariaText = `Item ${this.currentIndex} dropped, final position `;
1217
1208
  }
1218
1209
  }
1219
1210
  }
@@ -1465,7 +1456,7 @@ ListComponent.initializeProps = registerProps();
1465
1456
  ListComponent.decorators = [
1466
1457
  { type: Component, args: [{
1467
1458
  selector: 'div[wmList]',
1468
- template: "<div class=\"panel-heading\" *ngIf=\"title || subheading || iconclass\">\n <h3 class=\"panel-title\">\n <div class=\"pull-left\">\n <i class=\"app-icon panel-icon {{iconclass}}\" aria-hidden=\"true\" [hidden]=\"!iconclass\"></i>\n </div>\n <div class=\"pull-left\">\n <div class=\"heading\" [innerHTML]=\"title\"></div>\n <div class=\"description\" [innerHTML]=\"subheading\"></div>\n </div>\n </h3>\n</div>\n\n<nav class=\"app-datanavigator\" [attr.aria-disabled]=\"dataNavigator.isDisablePrevious\" aria-label=\"Page navigation\" *ngIf=\"navigation === 'Inline' && !noDataFound\">\n <ul class=\"pager\">\n <li class=\"previous\" [ngClass]=\"{'disabled': (dataNavigator ? dataNavigator.isDisablePrevious : true)}\">\n <a href=\"javascript:void(0);\" (click)=\"dataNavigator.navigatePage('prev', $event)\">\n <i class=\"wi wi-chevron-left\" aria-hidden=\"true\"></i>\n <span class=\"sr-only\">Previous</span>\n </a>\n </li>\n </ul>\n</nav>\n<div *ngIf=\"navigation === 'Inline' && !noDataFound\" aria-live=\"polite\" aria-atomic=\"true\" class=\"sr-only\"> {{'Item ' + dataNavigator.dn.currentPage + ' of ' + dataNavigator.pageCount }}</div>\n\n<div>\n <div id={{titleId}} class=\"sr-only\" >\n Press space bar to toggle drag drop mode, use arrow keys to move selected elements.\n </div>\n \n <div aria-live=\"assertive\" *ngIf=\"listItems\" class=\"sr-only\" >\n {{ariaText + currentIndex + ' of ' + listItems.length}}\n </div> \n</div>\n\n<ul [attr.tabindex]=\"tabindex\" [attr.aria-describedby] = \"titleId\" class=\"app-livelist-container clearfix {{direction === 'horizontal' ? 'app-horizontal-list': ''}} {{listclass}}\" role=\"list\"\n (keydown.enter)=\"handleKeyDown($event, 'select')\"\n\n (keydown.space)=\"handleKeyDown($event, 'space')\"\n\n (keydown.arrowup)=\"handleKeyDown($event, 'focusPrev')\"\n (keydown.arrowdown)=\"handleKeyDown($event, 'focusNext')\"\n (keydown.arrowleft)=\"handleKeyDown($event, 'focusPrev')\"\n (keydown.arrowright)=\"handleKeyDown($event, 'focusNext')\"\n\n (keydown.shift.arrowup)=\"handleKeyDown($event, 'selectPrev')\"\n (keydown.shift.arrowdown)=\"handleKeyDown($event, 'selectNext')\"\n (keydown.shift.arrowleft)=\"handleKeyDown($event, 'selectPrev')\"\n (keydown.shift.arrowright)=\"handleKeyDown($event, 'selectNext')\"\n [hidden]=\"noDataFound && !variableInflight\"\n>\n <ng-template [ngIf]=\"!groupby\" [ngIfElse]=\"groupedListTemplate\">\n <li *ngFor=\"let item of fieldDefs; index as $index; first as $first; last as $last;\" class=\"app-list-item {{direction === 'horizontal' ? '' : itemsPerRowClass}}\" [ngClass]=\"listItemRef.itemClass\"\n [wmListItem]=\"item\"\n #listItemRef=\"listItemRef\"\n [attr.tabindex]=\"tabindex\"\n role=\"listitem\">\n <ng-container [ngTemplateOutlet]=\"listTemplate\" [ngTemplateOutletContext]=\"{item: item, $index: $index, itemRef: listItemRef, $first: $first, $last: $last, currentItemWidgets: listItemRef.currentItemWidgets}\"></ng-container>\n </li>\n </ng-template>\n <ng-container [ngTemplateOutlet]=\"listLeftActionTemplate\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"listRightActionTemplate\"></ng-container>\n</ul>\n\n<div class=\"no-data-msg\" *ngIf=\"noDataFound && !variableInflight\" [textContent]=\"nodatamessage\"></div>\n\n<div class=\"loading-data-msg\" *ngIf=\"variableInflight && !pulltorefresh\">\n <span>\n <i class=\"app-icon panel-icon fa-spin\" aria-hidden=\"true\" [ngClass]=\"loadingicon\"></i>\n <span class=\"sr-only\">Loading</span>\n <span class=\"loading-text\" [textContent]=\"loadingdatamsg\"></span>\n </span>\n</div>\n\n<nav class=\"app-datanavigator\" [attr.aria-disabled]=\"dataNavigator.isDisableNext\" *ngIf=\"navigation === 'Inline' && !noDataFound\">\n <ul class=\"pager\">\n <li class=\"next\" [ngClass]=\"{'disabled': (dataNavigator ? dataNavigator.isDisableNext : true)}\">\n <a href=\"javascript:void(0);\" (click)=\"dataNavigator.navigatePage('next', $event)\">\n <i class=\"wi wi-chevron-right\" aria-hidden=\"true\"></i>\n <span class=\"sr-only\">Next</span>\n </a>\n </li>\n </ul>\n</nav>\n\n<div class=\"panel-footer\" *ngIf=\"navigation !== 'None'\" [hidden]=\"!showNavigation || (onDemandLoad && dataNavigator.isDisableNext) || (dataNavigator.dataSize <= pagesize) || (!dataNavigator.dataSize && !dataNavigator.datasource?.pagination?.next)\">\n <nav wmPagination\n navigationalign.bind=\"navigationalign\"\n navigation.bind=\"navControls\"\n showrecordcount.bind=\"showrecordcount\"\n maxsize.bind=\"maxsize\"\n boundarylinks.bind=\"boundarylinks\"\n forceellipses.bind=\"forceellipses\"\n directionlinks.bind=\"directionlinks\"\n show.bind=\"!onDemandLoad\"\n paginationchange.event=\"beforePaginationChange($event, $index)\"\n ></nav>\n <a *ngIf=\"onDemandLoad\" href=\"javascript:void(0);\"\n (click)=\"dataNavigator.navigatePage('next', $event)\"\n class=\"app-button btn btn-block\"\n [ngClass]=\"paginationclass\"\n [textContent]=\"ondemandmessage\"\n ></a>\n</div>\n\n<!--This template will be displayed when groupby is specified-->\n<ng-template #groupedListTemplate>\n <li *ngFor=\"let groupObj of groupedData\" class=\"app-list-item-group clearfix\">\n <ul [attr.tabindex]=\"tabindex\" class=\"list-group item-group\" [ngClass]=\"listclass\">\n <li class=\"app-list-item-header list-item list-group-header\" (click)=\"handleHeaderClick($event)\" [ngClass]=\"{'collapsible-content': collapsible}\">\n <h4>{{groupObj.key}}\n <div class=\"header-action\">\n <i class=\"app-icon wi action wi-chevron-up\" *ngIf=\"collapsible\"></i>\n <span *ngIf=\"showcount\" class=\"label label-default\">{{groupObj.data.length}}</span>\n </div>\n </h4>\n </li>\n <ul class=\"list-group clearfix {{direction === 'horizontal' ? 'app-horizontal-list': ''}}\">\n <li *ngFor=\"let item of groupObj.data; index as $index; first as $first; last as $last;\" [attr.tabindex]=\"tabindex\"\n class=\"app-list-item group-list-item {{itemsPerRowClass}}\"\n [ngClass]=\"listItemRef.itemClass\"\n [wmListItem]=\"item\" #listItemRef=\"listItemRef\">\n <ng-container [ngTemplateOutlet]=\"listTemplate\" [ngTemplateOutletContext]=\"{item: item, $index: $index, itemRef: listItemRef, $first: $first, $last: $last, currentItemWidgets: listItemRef.currentItemWidgets}\"></ng-container>\n </li>\n </ul>\n </ul>\n </li>\n</ng-template>\n",
1459
+ template: "<div class=\"panel-heading\" *ngIf=\"title || subheading || iconclass\">\n <h3 class=\"panel-title\">\n <div class=\"pull-left\">\n <i class=\"app-icon panel-icon {{iconclass}}\" aria-hidden=\"true\" [hidden]=\"!iconclass\"></i>\n </div>\n <div class=\"pull-left\">\n <div class=\"heading\" [innerHTML]=\"title\"></div>\n <div class=\"description\" [innerHTML]=\"subheading\"></div>\n </div>\n </h3>\n</div>\n\n<nav class=\"app-datanavigator\" [attr.aria-disabled]=\"dataNavigator.isDisablePrevious\" aria-label=\"Page navigation\" *ngIf=\"navigation === 'Inline' && !noDataFound\">\n <ul class=\"pager\">\n <li class=\"previous\" [ngClass]=\"{'disabled': (dataNavigator ? dataNavigator.isDisablePrevious : true)}\">\n <a href=\"javascript:void(0);\" (click)=\"dataNavigator.navigatePage('prev', $event)\"\n [attr.aria-disabled]=\"dataNavigator.isDisablePrevious\">\n <i class=\"wi wi-chevron-left\" aria-hidden=\"true\"></i>\n <span class=\"sr-only\">Go to Previous page {{dataNavigator.isDisablePrevious ? ', Disabled' : ''}}</span>\n </a>\n </li>\n </ul>\n</nav>\n<div *ngIf=\"navigation === 'Inline' && !noDataFound\" aria-live=\"polite\" aria-atomic=\"true\" class=\"sr-only\"> {{'Page ' + dataNavigator.dn.currentPage + ' of ' + dataNavigator.pageCount }}</div>\n\n<div>\n <div id={{titleId}} class=\"sr-only\" *ngIf=\"enablereorder\">\n Press space bar to toggle drag drop mode, use arrow keys to move selected elements.\n </div>\n\n <div aria-live=\"assertive\" *ngIf=\"listItems && enablereorder && currentIndex\" class=\"sr-only\" >\n {{ariaText + currentIndex + ' of ' + listItems.length}}\n </div>\n</div>\n\n<ul [attr.tabindex]=\"tabindex\" [attr.aria-describedby] = \"titleId\" class=\"app-livelist-container clearfix {{direction === 'horizontal' ? 'app-horizontal-list': ''}} {{listclass}}\" role=\"list\"\n (keydown.enter)=\"handleKeyDown($event, 'select')\"\n\n (keydown.space)=\"handleKeyDown($event, 'space')\"\n\n (keydown.arrowup)=\"handleKeyDown($event, 'focusPrev')\"\n (keydown.arrowdown)=\"handleKeyDown($event, 'focusNext')\"\n (keydown.arrowleft)=\"handleKeyDown($event, 'focusPrev')\"\n (keydown.arrowright)=\"handleKeyDown($event, 'focusNext')\"\n\n (keydown.shift.arrowup)=\"handleKeyDown($event, 'selectPrev')\"\n (keydown.shift.arrowdown)=\"handleKeyDown($event, 'selectNext')\"\n (keydown.shift.arrowleft)=\"handleKeyDown($event, 'selectPrev')\"\n (keydown.shift.arrowright)=\"handleKeyDown($event, 'selectNext')\"\n [hidden]=\"noDataFound && !variableInflight\"\n>\n <ng-template [ngIf]=\"!groupby\" [ngIfElse]=\"groupedListTemplate\">\n <li *ngFor=\"let item of fieldDefs; index as $index; first as $first; last as $last;\" class=\"app-list-item {{direction === 'horizontal' ? '' : itemsPerRowClass}}\" [ngClass]=\"listItemRef.itemClass\"\n [wmListItem]=\"item\"\n #listItemRef=\"listItemRef\"\n [attr.tabindex]=\"tabindex\"\n role=\"listitem\">\n <ng-container [ngTemplateOutlet]=\"listTemplate\" [ngTemplateOutletContext]=\"{item: item, $index: $index, itemRef: listItemRef, $first: $first, $last: $last, currentItemWidgets: listItemRef.currentItemWidgets}\"></ng-container>\n </li>\n </ng-template>\n <ng-container [ngTemplateOutlet]=\"listLeftActionTemplate\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"listRightActionTemplate\"></ng-container>\n</ul>\n\n<div class=\"no-data-msg\" *ngIf=\"noDataFound && !variableInflight\" [textContent]=\"nodatamessage\"></div>\n\n<div class=\"loading-data-msg\" *ngIf=\"variableInflight && !pulltorefresh\">\n <span>\n <i class=\"app-icon panel-icon fa-spin\" aria-hidden=\"true\" [ngClass]=\"loadingicon\"></i>\n <span class=\"sr-only\">Loading</span>\n <span class=\"loading-text\" [textContent]=\"loadingdatamsg\"></span>\n </span>\n</div>\n\n<nav class=\"app-datanavigator\" [attr.aria-disabled]=\"dataNavigator.isDisableNext\" *ngIf=\"navigation === 'Inline' && !noDataFound\">\n <ul class=\"pager\">\n <li class=\"next\" [ngClass]=\"{'disabled': (dataNavigator ? dataNavigator.isDisableNext : true)}\">\n <a href=\"javascript:void(0);\" (click)=\"dataNavigator.navigatePage('next', $event)\"\n [attr.aria-disabled]=\"dataNavigator.isDisableNext\">\n <i class=\"wi wi-chevron-right\" aria-hidden=\"true\"></i>\n <span class=\"sr-only\">Go to Next page {{dataNavigator.isDisableNext ? ', Disabled' : ''}}</span>\n </a>\n </li>\n </ul>\n</nav>\n\n<div class=\"panel-footer\" *ngIf=\"navigation !== 'None'\" [hidden]=\"!showNavigation || (onDemandLoad && dataNavigator.isDisableNext) || (dataNavigator.dataSize <= pagesize) || (!dataNavigator.dataSize && !dataNavigator.datasource?.pagination?.next)\">\n <nav wmPagination\n navigationalign.bind=\"navigationalign\"\n navigation.bind=\"navControls\"\n showrecordcount.bind=\"showrecordcount\"\n maxsize.bind=\"maxsize\"\n boundarylinks.bind=\"boundarylinks\"\n forceellipses.bind=\"forceellipses\"\n directionlinks.bind=\"directionlinks\"\n show.bind=\"!onDemandLoad\"\n paginationchange.event=\"beforePaginationChange($event, $index)\"\n ></nav>\n <a *ngIf=\"onDemandLoad\" href=\"javascript:void(0);\"\n (click)=\"dataNavigator.navigatePage('next', $event)\"\n class=\"app-button btn btn-block\"\n [ngClass]=\"paginationclass\"\n [textContent]=\"ondemandmessage\"\n ></a>\n</div>\n\n<!--This template will be displayed when groupby is specified-->\n<ng-template #groupedListTemplate>\n <li *ngFor=\"let groupObj of groupedData\" class=\"app-list-item-group clearfix\">\n <ul [attr.tabindex]=\"tabindex\" class=\"list-group item-group\" [ngClass]=\"listclass\">\n <li class=\"app-list-item-header list-item list-group-header\" (click)=\"handleHeaderClick($event)\" [ngClass]=\"{'collapsible-content': collapsible}\">\n <h4>{{groupObj.key}}\n <div class=\"header-action\">\n <i class=\"app-icon wi action wi-chevron-up\" *ngIf=\"collapsible\"></i>\n <span *ngIf=\"showcount\" class=\"label label-default\">{{groupObj.data.length}}</span>\n </div>\n </h4>\n </li>\n <ul class=\"list-group clearfix {{direction === 'horizontal' ? 'app-horizontal-list': ''}}\">\n <li *ngFor=\"let item of groupObj.data; index as $index; first as $first; last as $last;\" [attr.tabindex]=\"tabindex\"\n class=\"app-list-item group-list-item {{itemsPerRowClass}}\"\n [ngClass]=\"listItemRef.itemClass\"\n [wmListItem]=\"item\" #listItemRef=\"listItemRef\">\n <ng-container [ngTemplateOutlet]=\"listTemplate\" [ngTemplateOutletContext]=\"{item: item, $index: $index, itemRef: listItemRef, $first: $first, $last: $last, currentItemWidgets: listItemRef.currentItemWidgets}\"></ng-container>\n </li>\n </ul>\n </ul>\n </li>\n</ng-template>\n",
1469
1460
  providers: [
1470
1461
  provideAsWidgetRef(ListComponent)
1471
1462
  ]