@wavemaker/app-ng-runtime 11.10.2-rc.6065 → 11.10.3-next.25128

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 (170) hide show
  1. package/build-task/bundles/index.umd.js +5 -3
  2. package/build-task/esm2022/advanced/carousel/carousel-template/carousel-template.build.mjs +4 -2
  3. package/build-task/esm2022/data/form/form-field/form-field.build.mjs +3 -3
  4. package/build-task/fesm2022/index.mjs +5 -3
  5. package/build-task/fesm2022/index.mjs.map +1 -1
  6. package/components/basic/default/bundles/index.umd.js +68 -71
  7. package/components/basic/default/esm2022/anchor/anchor.component.mjs +18 -18
  8. package/components/basic/default/esm2022/icon/icon.component.mjs +12 -13
  9. package/components/basic/default/esm2022/iframe/iframe.component.mjs +9 -10
  10. package/components/basic/default/esm2022/picture/picture.directive.mjs +2 -5
  11. package/components/basic/default/esm2022/spinner/spinner.component.mjs +21 -21
  12. package/components/basic/default/esm2022/video/video.component.mjs +14 -15
  13. package/components/basic/default/fesm2022/index.mjs +68 -71
  14. package/components/basic/default/fesm2022/index.mjs.map +1 -1
  15. package/components/basic/progress/bundles/index.umd.js +16 -17
  16. package/components/basic/progress/esm2022/progress-bar/progress-bar.component.mjs +7 -8
  17. package/components/basic/progress/fesm2022/index.mjs +8 -9
  18. package/components/basic/progress/fesm2022/index.mjs.map +1 -1
  19. package/components/basic/rich-text-editor/bundles/index.umd.js +11 -12
  20. package/components/basic/rich-text-editor/esm2022/rich-text-editor.component.mjs +8 -9
  21. package/components/basic/rich-text-editor/fesm2022/index.mjs +7 -8
  22. package/components/basic/rich-text-editor/fesm2022/index.mjs.map +1 -1
  23. package/components/basic/search/bundles/index.umd.js +63 -67
  24. package/components/basic/search/esm2022/search.component.mjs +63 -67
  25. package/components/basic/search/esm2022/search.module.mjs +2 -2
  26. package/components/basic/search/fesm2022/index.mjs +63 -67
  27. package/components/basic/search/fesm2022/index.mjs.map +1 -1
  28. package/components/chart/bundles/index.umd.js +17 -17
  29. package/components/chart/esm2022/chart.component.mjs +18 -18
  30. package/components/chart/fesm2022/index.mjs +17 -17
  31. package/components/chart/fesm2022/index.mjs.map +1 -1
  32. package/components/containers/panel/bundles/index.umd.js +39 -39
  33. package/components/containers/panel/esm2022/panel.component.mjs +40 -40
  34. package/components/containers/panel/fesm2022/index.mjs +39 -39
  35. package/components/containers/panel/fesm2022/index.mjs.map +1 -1
  36. package/components/containers/tabs/bundles/index.umd.js +29 -29
  37. package/components/containers/tabs/esm2022/tabs.component.mjs +30 -30
  38. package/components/containers/tabs/fesm2022/index.mjs +29 -29
  39. package/components/containers/tabs/fesm2022/index.mjs.map +1 -1
  40. package/components/containers/wizard/bundles/index.umd.js +49 -49
  41. package/components/containers/wizard/esm2022/wizard.component.mjs +50 -50
  42. package/components/containers/wizard/fesm2022/index.mjs +49 -49
  43. package/components/containers/wizard/fesm2022/index.mjs.map +1 -1
  44. package/components/data/card/bundles/index.umd.js +29 -29
  45. package/components/data/card/esm2022/card.component.mjs +30 -30
  46. package/components/data/card/fesm2022/index.mjs +29 -29
  47. package/components/data/card/fesm2022/index.mjs.map +1 -1
  48. package/components/data/form/bundles/index.umd.js +91 -96
  49. package/components/data/form/esm2022/form.component.mjs +92 -97
  50. package/components/data/form/fesm2022/index.mjs +91 -96
  51. package/components/data/form/fesm2022/index.mjs.map +1 -1
  52. package/components/data/list/bundles/index.umd.js +171 -173
  53. package/components/data/list/esm2022/list.component.mjs +171 -173
  54. package/components/data/list/esm2022/list.module.mjs +2 -2
  55. package/components/data/list/fesm2022/index.mjs +171 -173
  56. package/components/data/list/fesm2022/index.mjs.map +1 -1
  57. package/components/data/pagination/bundles/index.umd.js +32 -32
  58. package/components/data/pagination/esm2022/pagination.component.mjs +33 -33
  59. package/components/data/pagination/fesm2022/index.mjs +32 -32
  60. package/components/data/pagination/fesm2022/index.mjs.map +1 -1
  61. package/components/data/table/bundles/index.umd.js +69 -39
  62. package/components/data/table/esm2022/table-column/table-column.directive.mjs +2 -1
  63. package/components/data/table/esm2022/table-column/table-column.props.mjs +2 -1
  64. package/components/data/table/esm2022/table-filter.directive.mjs +29 -2
  65. package/components/data/table/esm2022/table.component.mjs +40 -39
  66. package/components/data/table/esm2022/table.props.mjs +2 -1
  67. package/components/data/table/fesm2022/index.mjs +72 -41
  68. package/components/data/table/fesm2022/index.mjs.map +1 -1
  69. package/components/data/table/table-column/table-column.directive.d.ts +1 -0
  70. package/components/data/table/table-filter.directive.d.ts +1 -0
  71. package/components/dialogs/default/bundles/index.umd.js +66 -95
  72. package/components/dialogs/default/esm2022/dialog-header/dialog-header.component.mjs +67 -96
  73. package/components/dialogs/default/fesm2022/index.mjs +66 -95
  74. package/components/dialogs/default/fesm2022/index.mjs.map +1 -1
  75. package/components/dialogs/design-dialog/bundles/index.umd.js +7 -7
  76. package/components/dialogs/design-dialog/esm2022/dialog.component.mjs +8 -8
  77. package/components/dialogs/design-dialog/fesm2022/index.mjs +7 -7
  78. package/components/dialogs/design-dialog/fesm2022/index.mjs.map +1 -1
  79. package/components/dialogs/iframe-dialog/bundles/index.umd.js +24 -25
  80. package/components/dialogs/iframe-dialog/esm2022/iframe-dialog.component.mjs +15 -16
  81. package/components/dialogs/iframe-dialog/fesm2022/index.mjs +14 -15
  82. package/components/dialogs/iframe-dialog/fesm2022/index.mjs.map +1 -1
  83. package/components/dialogs/partial-dialog/bundles/index.umd.js +8 -8
  84. package/components/dialogs/partial-dialog/esm2022/partial-dialog.component.mjs +9 -9
  85. package/components/dialogs/partial-dialog/fesm2022/index.mjs +8 -8
  86. package/components/dialogs/partial-dialog/fesm2022/index.mjs.map +1 -1
  87. package/components/input/chips/bundles/index.umd.js +21 -21
  88. package/components/input/chips/esm2022/chips.component.mjs +22 -22
  89. package/components/input/chips/fesm2022/index.mjs +21 -21
  90. package/components/input/chips/fesm2022/index.mjs.map +1 -1
  91. package/components/input/default/bundles/index.umd.js +201 -209
  92. package/components/input/default/esm2022/button/button.component.mjs +18 -18
  93. package/components/input/default/esm2022/checkboxset/checkboxset.component.mjs +68 -69
  94. package/components/input/default/esm2022/radioset/radioset.component.mjs +68 -69
  95. package/components/input/default/esm2022/select/select.component.mjs +21 -27
  96. package/components/input/default/esm2022/switch/switch.component.mjs +24 -24
  97. package/components/input/default/esm2022/textarea/textarea.component.mjs +8 -8
  98. package/components/input/default/fesm2022/index.mjs +201 -209
  99. package/components/input/default/fesm2022/index.mjs.map +1 -1
  100. package/components/input/epoch/bundles/index.umd.js +171 -164
  101. package/components/input/epoch/esm2022/date/date.component.mjs +14 -15
  102. package/components/input/epoch/esm2022/date-time/date-time-picker.component.mjs +64 -59
  103. package/components/input/epoch/esm2022/date-time/date-time.component.mjs +18 -19
  104. package/components/input/epoch/esm2022/picker/picker.component.mjs +26 -25
  105. package/components/input/epoch/esm2022/time/time.component.mjs +17 -18
  106. package/components/input/epoch/fesm2022/index.mjs +124 -117
  107. package/components/input/epoch/fesm2022/index.mjs.map +1 -1
  108. package/components/input/file-upload/bundles/index.umd.js +111 -114
  109. package/components/input/file-upload/esm2022/file-upload.component.mjs +112 -115
  110. package/components/input/file-upload/fesm2022/index.mjs +111 -114
  111. package/components/input/file-upload/fesm2022/index.mjs.map +1 -1
  112. package/components/input/rating/bundles/index.umd.js +14 -14
  113. package/components/input/rating/esm2022/rating.component.mjs +15 -15
  114. package/components/input/rating/fesm2022/index.mjs +14 -14
  115. package/components/input/rating/fesm2022/index.mjs.map +1 -1
  116. package/components/input/slider/bundles/index.umd.js +39 -40
  117. package/components/input/slider/esm2022/slider.component.mjs +10 -11
  118. package/components/input/slider/fesm2022/index.mjs +9 -10
  119. package/components/input/slider/fesm2022/index.mjs.map +1 -1
  120. package/components/navigation/breadcrumb/bundles/index.umd.js +16 -15
  121. package/components/navigation/breadcrumb/esm2022/breadcrumb.component.mjs +17 -16
  122. package/components/navigation/breadcrumb/fesm2022/index.mjs +16 -15
  123. package/components/navigation/breadcrumb/fesm2022/index.mjs.map +1 -1
  124. package/components/navigation/menu/bundles/index.umd.js +82 -74
  125. package/components/navigation/menu/esm2022/menu-adapator.component.mjs +14 -4
  126. package/components/navigation/menu/esm2022/menu-dropdown/menu-dropdown.component.mjs +7 -7
  127. package/components/navigation/menu/esm2022/menu-dropdown-item/menu-dropdown-item.component.mjs +15 -15
  128. package/components/navigation/menu/esm2022/menu.component.mjs +22 -26
  129. package/components/navigation/menu/esm2022/menu.module.mjs +4 -4
  130. package/components/navigation/menu/esm2022/nav/nav.component.mjs +26 -24
  131. package/components/navigation/menu/fesm2022/index.mjs +82 -74
  132. package/components/navigation/menu/fesm2022/index.mjs.map +1 -1
  133. package/components/navigation/menu/menu-adapator.component.d.ts +1 -0
  134. package/components/navigation/navbar/bundles/index.umd.js +12 -12
  135. package/components/navigation/navbar/esm2022/navbar.component.mjs +13 -13
  136. package/components/navigation/navbar/fesm2022/index.mjs +12 -12
  137. package/components/navigation/navbar/fesm2022/index.mjs.map +1 -1
  138. package/mobile/components/basic/default/bundles/index.umd.js +102 -111
  139. package/mobile/components/basic/default/esm2022/file-browser/file-browser.component.mjs +39 -40
  140. package/mobile/components/basic/default/esm2022/network-info-toaster/network-info-toaster.component.mjs +35 -44
  141. package/mobile/components/basic/default/esm2022/process-manager/process-manager.component.mjs +27 -28
  142. package/mobile/components/basic/default/fesm2022/index.mjs +98 -107
  143. package/mobile/components/basic/default/fesm2022/index.mjs.map +1 -1
  144. package/mobile/components/containers/segmented-control/bundles/index.umd.js +16 -16
  145. package/mobile/components/containers/segmented-control/esm2022/segment-content/segment-content.component.mjs +8 -9
  146. package/mobile/components/containers/segmented-control/esm2022/segmented-control.component.mjs +10 -10
  147. package/mobile/components/containers/segmented-control/fesm2022/index.mjs +16 -16
  148. package/mobile/components/containers/segmented-control/fesm2022/index.mjs.map +1 -1
  149. package/mobile/components/data/media-list/bundles/index.umd.js +28 -28
  150. package/mobile/components/data/media-list/esm2022/media-list.component.mjs +29 -29
  151. package/mobile/components/data/media-list/fesm2022/index.mjs +28 -28
  152. package/mobile/components/data/media-list/fesm2022/index.mjs.map +1 -1
  153. package/mobile/components/page/mobile-navbar/bundles/index.umd.js +29 -29
  154. package/mobile/components/page/mobile-navbar/esm2022/mobile-navbar.component.mjs +30 -30
  155. package/mobile/components/page/mobile-navbar/fesm2022/index.mjs +29 -29
  156. package/mobile/components/page/mobile-navbar/fesm2022/index.mjs.map +1 -1
  157. package/mobile/components/page/tab-bar/bundles/index.umd.js +28 -28
  158. package/mobile/components/page/tab-bar/esm2022/tabbar.component.mjs +29 -29
  159. package/mobile/components/page/tab-bar/fesm2022/index.mjs +28 -28
  160. package/mobile/components/page/tab-bar/fesm2022/index.mjs.map +1 -1
  161. package/npm-shrinkwrap.json +2 -2
  162. package/package-lock.json +2 -2
  163. package/package.json +1 -1
  164. package/runtime/base/bundles/index.umd.js +219 -215
  165. package/runtime/base/esm2022/components/app-component/app.component.mjs +38 -41
  166. package/runtime/base/esm2022/components/app-spinner.component.mjs +25 -21
  167. package/runtime/base/esm2022/components/custom-toaster.component.mjs +18 -16
  168. package/runtime/base/fesm2022/index.mjs +99 -95
  169. package/runtime/base/fesm2022/index.mjs.map +1 -1
  170. package/scripts/datatable/datatable.js +1 -0
@@ -54,6 +54,7 @@
54
54
  ['exportdatasize', { value: 100, ...i4.PROP_NUMBER }],
55
55
  ['filtermode', i4.PROP_STRING],
56
56
  ['filteronkeypress', { value: false, ...i4.PROP_BOOLEAN }],
57
+ ['caseinsensitive', { value: false, ...i4.PROP_BOOLEAN }],
57
58
  ['filternullrecords', { value: true, ...i4.PROP_BOOLEAN }],
58
59
  ['forceellipses', { value: true, ...i4.PROP_BOOLEAN }],
59
60
  ['formposition', i4.PROP_STRING],
@@ -113,81 +114,82 @@
113
114
  const _c16 = ["wmTable", ""];
114
115
  const _c17 = a0 => ({ btn: a0 });
115
116
  const _c18 = (a0, a1) => ({ "btn-sm": a0, "disabled-new": a1 });
116
- function TableComponent_div_0_i_3_Template(rf, ctx) { if (rf & 1) {
117
+ function TableComponent_Conditional_0_Conditional_3_Template(rf, ctx) { if (rf & 1) {
117
118
  i0__namespace.ɵɵelement(0, "i");
118
119
  } if (rf & 2) {
119
120
  const ctx_r0 = i0__namespace.ɵɵnextContext(2);
120
121
  i0__namespace.ɵɵclassMapInterpolate1("app-icon panel-icon ", ctx_r0.iconclass, "");
121
122
  } }
122
- function TableComponent_div_0_div_7_ng_container_1_Template(rf, ctx) { if (rf & 1) {
123
- i0__namespace.ɵɵelementContainer(0, 29);
123
+ function TableComponent_Conditional_0_Conditional_7_For_2_Template(rf, ctx) { if (rf & 1) {
124
+ i0__namespace.ɵɵelementContainer(0, 25);
124
125
  } if (rf & 2) {
125
126
  const btn_r2 = ctx.$implicit;
126
- const index_r3 = ctx.index;
127
+ const ɵ$index_20_r3 = ctx.$index;
127
128
  const ctx_r0 = i0__namespace.ɵɵnextContext(3);
128
129
  const buttonRef_r4 = i0__namespace.ɵɵreference(8);
129
130
  const anchorRef_r5 = i0__namespace.ɵɵreference(10);
130
- i0__namespace.ɵɵproperty("ngTemplateOutlet", btn_r2.widgetType === "button" ? buttonRef_r4 : anchorRef_r5)("ngTemplateOutletContext", i0__namespace.ɵɵpureFunction1(3, _c17, btn_r2))("ngTemplateOutletInjector", ctx_r0.createCustomInjector("actions_header_" + index_r3, i0__namespace.ɵɵpureFunction1(5, _c17, btn_r2)));
131
+ i0__namespace.ɵɵproperty("ngTemplateOutlet", btn_r2.widgetType === "button" ? buttonRef_r4 : anchorRef_r5)("ngTemplateOutletContext", i0__namespace.ɵɵpureFunction1(3, _c17, btn_r2))("ngTemplateOutletInjector", ctx_r0.createCustomInjector("actions_header_" + ɵ$index_20_r3, i0__namespace.ɵɵpureFunction1(5, _c17, btn_r2)));
131
132
  } }
132
- function TableComponent_div_0_div_7_div_2_Template(rf, ctx) { if (rf & 1) {
133
- i0__namespace.ɵɵelement(0, "div", 30);
133
+ function TableComponent_Conditional_0_Conditional_7_Conditional_3_Template(rf, ctx) { if (rf & 1) {
134
+ i0__namespace.ɵɵelement(0, "div", 26);
134
135
  } if (rf & 2) {
135
136
  const ctx_r0 = i0__namespace.ɵɵnextContext(3);
136
137
  i0__namespace.ɵɵattributeInterpolate1("name", "", ctx_r0.name, "-export");
137
138
  } }
138
- function TableComponent_div_0_div_7_Template(rf, ctx) { if (rf & 1) {
139
- i0__namespace.ɵɵelementStart(0, "div", 26);
140
- i0__namespace.ɵɵtemplate(1, TableComponent_div_0_div_7_ng_container_1_Template, 1, 7, "ng-container", 27)(2, TableComponent_div_0_div_7_div_2_Template, 1, 2, "div", 28);
139
+ function TableComponent_Conditional_0_Conditional_7_Template(rf, ctx) { if (rf & 1) {
140
+ i0__namespace.ɵɵelementStart(0, "div", 24);
141
+ i0__namespace.ɵɵrepeaterCreate(1, TableComponent_Conditional_0_Conditional_7_For_2_Template, 1, 7, "ng-container", 25, i0__namespace.ɵɵrepeaterTrackByIdentity);
142
+ i0__namespace.ɵɵtemplate(3, TableComponent_Conditional_0_Conditional_7_Conditional_3_Template, 1, 2, "div", 26);
141
143
  i0__namespace.ɵɵelementEnd();
142
144
  } if (rf & 2) {
143
145
  const ctx_r0 = i0__namespace.ɵɵnextContext(2);
144
146
  i0__namespace.ɵɵadvance();
145
- i0__namespace.ɵɵproperty("ngForOf", ctx_r0._actions.header);
146
- i0__namespace.ɵɵadvance();
147
- i0__namespace.ɵɵproperty("ngIf", ctx_r0.exportOptions.length);
147
+ i0__namespace.ɵɵrepeater(ctx_r0._actions.header);
148
+ i0__namespace.ɵɵadvance(2);
149
+ i0__namespace.ɵɵconditional(ctx_r0.exportOptions.length ? 3 : -1);
148
150
  } }
149
- function TableComponent_div_0_Template(rf, ctx) { if (rf & 1) {
150
- i0__namespace.ɵɵelementStart(0, "div", 19)(1, "h3", 20)(2, "div", 21);
151
- i0__namespace.ɵɵtemplate(3, TableComponent_div_0_i_3_Template, 1, 3, "i", 22);
151
+ function TableComponent_Conditional_0_Template(rf, ctx) { if (rf & 1) {
152
+ i0__namespace.ɵɵelementStart(0, "div", 11)(1, "h3", 19)(2, "div", 20);
153
+ i0__namespace.ɵɵtemplate(3, TableComponent_Conditional_0_Conditional_3_Template, 1, 3, "i", 21);
152
154
  i0__namespace.ɵɵelementEnd();
153
- i0__namespace.ɵɵelementStart(4, "div", 21);
154
- i0__namespace.ɵɵelement(5, "div", 23)(6, "div", 24);
155
+ i0__namespace.ɵɵelementStart(4, "div", 20);
156
+ i0__namespace.ɵɵelement(5, "div", 22)(6, "div", 23);
155
157
  i0__namespace.ɵɵelementEnd();
156
- i0__namespace.ɵɵtemplate(7, TableComponent_div_0_div_7_Template, 3, 2, "div", 25);
158
+ i0__namespace.ɵɵtemplate(7, TableComponent_Conditional_0_Conditional_7_Template, 4, 1, "div", 24);
157
159
  i0__namespace.ɵɵelementEnd()();
158
160
  } if (rf & 2) {
159
161
  const ctx_r0 = i0__namespace.ɵɵnextContext();
160
162
  i0__namespace.ɵɵadvance(3);
161
- i0__namespace.ɵɵproperty("ngIf", ctx_r0.iconclass);
163
+ i0__namespace.ɵɵconditional(ctx_r0.iconclass ? 3 : -1);
162
164
  i0__namespace.ɵɵadvance(2);
163
165
  i0__namespace.ɵɵproperty("innerHTML", ctx_r0.title, i0__namespace.ɵɵsanitizeHtml);
164
166
  i0__namespace.ɵɵadvance();
165
167
  i0__namespace.ɵɵproperty("innerHTML", ctx_r0.subheading, i0__namespace.ɵɵsanitizeHtml);
166
168
  i0__namespace.ɵɵadvance();
167
- i0__namespace.ɵɵproperty("ngIf", ctx_r0.exportOptions.length || ctx_r0._actions.header.length);
169
+ i0__namespace.ɵɵconditional(ctx_r0.exportOptions.length || ctx_r0._actions.header.length ? 7 : -1);
168
170
  } }
169
- function TableComponent_div_6_ng_container_1_Template(rf, ctx) { if (rf & 1) {
170
- i0__namespace.ɵɵelementContainer(0, 29);
171
+ function TableComponent_Conditional_6_For_2_Template(rf, ctx) { if (rf & 1) {
172
+ i0__namespace.ɵɵelementContainer(0, 25);
171
173
  } if (rf & 2) {
172
174
  const btn_r6 = ctx.$implicit;
173
- const index_r7 = ctx.index;
175
+ const ɵ$index_37_r7 = ctx.$index;
174
176
  const ctx_r0 = i0__namespace.ɵɵnextContext(2);
175
177
  const buttonRef_r4 = i0__namespace.ɵɵreference(8);
176
178
  const anchorRef_r5 = i0__namespace.ɵɵreference(10);
177
- i0__namespace.ɵɵproperty("ngTemplateOutlet", btn_r6.widgetType === "button" ? buttonRef_r4 : anchorRef_r5)("ngTemplateOutletContext", i0__namespace.ɵɵpureFunction1(3, _c17, btn_r6))("ngTemplateOutletInjector", ctx_r0.createCustomInjector("actions_footer_" + index_r7, i0__namespace.ɵɵpureFunction1(5, _c17, btn_r6)));
179
+ i0__namespace.ɵɵproperty("ngTemplateOutlet", btn_r6.widgetType === "button" ? buttonRef_r4 : anchorRef_r5)("ngTemplateOutletContext", i0__namespace.ɵɵpureFunction1(3, _c17, btn_r6))("ngTemplateOutletInjector", ctx_r0.createCustomInjector("actions_footer_" + ɵ$index_37_r7, i0__namespace.ɵɵpureFunction1(5, _c17, btn_r6)));
178
180
  } }
179
- function TableComponent_div_6_Template(rf, ctx) { if (rf & 1) {
180
- i0__namespace.ɵɵelementStart(0, "div", 31);
181
- i0__namespace.ɵɵtemplate(1, TableComponent_div_6_ng_container_1_Template, 1, 7, "ng-container", 27);
181
+ function TableComponent_Conditional_6_Template(rf, ctx) { if (rf & 1) {
182
+ i0__namespace.ɵɵelementStart(0, "div", 16);
183
+ i0__namespace.ɵɵrepeaterCreate(1, TableComponent_Conditional_6_For_2_Template, 1, 7, "ng-container", 25, i0__namespace.ɵɵrepeaterTrackByIdentity);
182
184
  i0__namespace.ɵɵelementEnd();
183
185
  } if (rf & 2) {
184
186
  const ctx_r0 = i0__namespace.ɵɵnextContext();
185
187
  i0__namespace.ɵɵadvance();
186
- i0__namespace.ɵɵproperty("ngForOf", ctx_r0._actions.footer);
188
+ i0__namespace.ɵɵrepeater(ctx_r0._actions.footer);
187
189
  } }
188
190
  function TableComponent_ng_template_7_Template(rf, ctx) { if (rf & 1) {
189
191
  const _r8 = i0__namespace.ɵɵgetCurrentView();
190
- i0__namespace.ɵɵelementStart(0, "button", 32);
192
+ i0__namespace.ɵɵelementStart(0, "button", 27);
191
193
  i0__namespace.ɵɵlistener("click", function TableComponent_ng_template_7_Template_button_click_0_listener($event) { const btn_r9 = i0__namespace.ɵɵrestoreView(_r8).btn; const ctx_r0 = i0__namespace.ɵɵnextContext(); return i0__namespace.ɵɵresetView(ctx_r0.invokeActionEvent($event, btn_r9.action)); });
192
194
  i0__namespace.ɵɵelementEnd();
193
195
  } if (rf & 2) {
@@ -198,7 +200,7 @@
198
200
  } }
199
201
  function TableComponent_ng_template_9_Template(rf, ctx) { if (rf & 1) {
200
202
  const _r10 = i0__namespace.ɵɵgetCurrentView();
201
- i0__namespace.ɵɵelementStart(0, "a", 33);
203
+ i0__namespace.ɵɵelementStart(0, "a", 28);
202
204
  i0__namespace.ɵɵlistener("click", function TableComponent_ng_template_9_Template_a_click_0_listener($event) { const btn_r11 = i0__namespace.ɵɵrestoreView(_r10).btn; const ctx_r0 = i0__namespace.ɵɵnextContext(); return i0__namespace.ɵɵresetView(ctx_r0.invokeActionEvent($event, btn_r11.action)); });
203
205
  i0__namespace.ɵɵelementEnd();
204
206
  } if (rf & 2) {
@@ -2200,13 +2202,13 @@
2200
2202
  } }, features: [i0__namespace.ɵɵProvidersFeature([
2201
2203
  i4.provideAs(TableComponent, i1.NG_VALUE_ACCESSOR, true),
2202
2204
  i4.provideAsWidgetRef(TableComponent)
2203
- ]), i0__namespace.ɵɵInheritDefinitionFeature], attrs: _c16, decls: 29, vars: 4, consts: [["datagridElement", ""], ["buttonRef", ""], ["anchorRef", ""], ["multiColumnFilterView", ""], ["inlineEditView", ""], ["inlineEditNewView", ""], ["rowActionsView", ""], ["rowExpansionActionView", ""], ["customExprView", ""], ["dynamicTable", ""], ["rowDetailView", ""], ["class", "panel-heading", 4, "ngIf"], [1, "app-datagrid"], [1, "panel-footer", "clearfix", 3, "hidden"], [1, "app-datagrid-paginator", 3, "hidden"], ["wmPagination", "", "show.bind", "shownavigation", "navigationalign.bind", "navigationalign", "navigationsize.bind", "navigationSize", "navigation.bind", "navControls", "showrecordcount.bind", "showrecordcount", "maxsize.bind", "maxsize", "boundarylinks.bind", "boundarylinks", "forceellipses.bind", "forceellipses", "directionlinks.bind", "directionlinks"], ["class", "app-datagrid-actions", 4, "ngIf"], ["hidden", ""], [1, "dynamic-table-container"], [1, "panel-heading"], [1, "panel-title"], [1, "pull-left"], [3, "class", 4, "ngIf"], [1, "heading", 3, "innerHTML"], [1, "description", 3, "innerHTML"], ["class", "panel-actions app-datagrid-actions", 4, "ngIf"], [1, "panel-actions", "app-datagrid-actions"], [3, "ngTemplateOutlet", "ngTemplateOutletContext", "ngTemplateOutletInjector", 4, "ngFor", "ngForOf"], ["wmMenu", "", "dropdown", "", "caption.bind", "appLocale.LABEL_EXPORT", "autoclose", "always", "dataset.bind", "exportOptions", "select.event", "export($item)", "menuposition", "down,left", 4, "ngIf"], [3, "ngTemplateOutlet", "ngTemplateOutletContext", "ngTemplateOutletInjector"], ["wmMenu", "", "dropdown", "", "caption.bind", "appLocale.LABEL_EXPORT", "autoclose", "always", "dataset.bind", "exportOptions", "select.event", "export($item)", "menuposition", "down,left"], [1, "app-datagrid-actions"], ["wmButton", "", "caption.bind", "btn.displayName", "show.bind", "btn.show", "class.bind", "btn.class", "iconclass.bind", "btn.iconclass", "type", "button", "shortcutkey.bind", "btn.shortcutkey", "tabindex.bind", "btn.tabindex", "hint.bind", "btn.title", "disabled.bind", "btn.disabled", "conditionalclass.bind", "btn.conditionalclass", "conditionalstyle.bind", "btn.conditionalstyle", 3, "click", "ngClass"], ["wmAnchor", "", "caption.bind", "btn.displayName", "show.bind", "btn.show", "class.bind", "btn.class", "iconclass.bind", "btn.iconclass", "shortcutkey.bind", "btn.shortcutkey", "tabindex.bind", "btn.tabindex", "hint.bind", "btn.title", "hyperlink.bind", "btn.hyperlink", "target.bind", "btn.target", "conditionalclass.bind", "btn.conditionalclass", "conditionalstyle.bind", "btn.conditionalstyle", 3, "click", "ngClass"]], template: function TableComponent_Template(rf, ctx) { if (rf & 1) {
2204
- i0__namespace.ɵɵtemplate(0, TableComponent_div_0_Template, 8, 4, "div", 11);
2205
+ ]), i0__namespace.ɵɵInheritDefinitionFeature], attrs: _c16, decls: 29, vars: 4, consts: [["datagridElement", ""], ["buttonRef", ""], ["anchorRef", ""], ["multiColumnFilterView", ""], ["inlineEditView", ""], ["inlineEditNewView", ""], ["rowActionsView", ""], ["rowExpansionActionView", ""], ["customExprView", ""], ["dynamicTable", ""], ["rowDetailView", ""], [1, "panel-heading"], [1, "app-datagrid"], [1, "panel-footer", "clearfix", 3, "hidden"], [1, "app-datagrid-paginator", 3, "hidden"], ["wmPagination", "", "show.bind", "shownavigation", "navigationalign.bind", "navigationalign", "navigationsize.bind", "navigationSize", "navigation.bind", "navControls", "showrecordcount.bind", "showrecordcount", "maxsize.bind", "maxsize", "boundarylinks.bind", "boundarylinks", "forceellipses.bind", "forceellipses", "directionlinks.bind", "directionlinks"], [1, "app-datagrid-actions"], ["hidden", ""], [1, "dynamic-table-container"], [1, "panel-title"], [1, "pull-left"], [3, "class"], [1, "heading", 3, "innerHTML"], [1, "description", 3, "innerHTML"], [1, "panel-actions", "app-datagrid-actions"], [3, "ngTemplateOutlet", "ngTemplateOutletContext", "ngTemplateOutletInjector"], ["wmMenu", "", "dropdown", "", "caption.bind", "appLocale.LABEL_EXPORT", "autoclose", "always", "dataset.bind", "exportOptions", "select.event", "export($item)", "menuposition", "down,left"], ["wmButton", "", "caption.bind", "btn.displayName", "show.bind", "btn.show", "class.bind", "btn.class", "iconclass.bind", "btn.iconclass", "type", "button", "shortcutkey.bind", "btn.shortcutkey", "tabindex.bind", "btn.tabindex", "hint.bind", "btn.title", "disabled.bind", "btn.disabled", "conditionalclass.bind", "btn.conditionalclass", "conditionalstyle.bind", "btn.conditionalstyle", 3, "click", "ngClass"], ["wmAnchor", "", "caption.bind", "btn.displayName", "show.bind", "btn.show", "class.bind", "btn.class", "iconclass.bind", "btn.iconclass", "shortcutkey.bind", "btn.shortcutkey", "tabindex.bind", "btn.tabindex", "hint.bind", "btn.title", "hyperlink.bind", "btn.hyperlink", "target.bind", "btn.target", "conditionalclass.bind", "btn.conditionalclass", "conditionalstyle.bind", "btn.conditionalstyle", 3, "click", "ngClass"]], template: function TableComponent_Template(rf, ctx) { if (rf & 1) {
2206
+ i0__namespace.ɵɵtemplate(0, TableComponent_Conditional_0_Template, 8, 4, "div", 11);
2205
2207
  i0__namespace.ɵɵelement(1, "div", 12, 0);
2206
2208
  i0__namespace.ɵɵelementStart(3, "div", 13)(4, "div", 14);
2207
2209
  i0__namespace.ɵɵelement(5, "nav", 15);
2208
2210
  i0__namespace.ɵɵelementEnd();
2209
- i0__namespace.ɵɵtemplate(6, TableComponent_div_6_Template, 2, 1, "div", 16);
2211
+ i0__namespace.ɵɵtemplate(6, TableComponent_Conditional_6_Template, 3, 0, "div", 16);
2210
2212
  i0__namespace.ɵɵelementEnd();
2211
2213
  i0__namespace.ɵɵtemplate(7, TableComponent_ng_template_7_Template, 1, 5, "ng-template", null, 1, i0__namespace.ɵɵtemplateRefExtractor)(9, TableComponent_ng_template_9_Template, 1, 4, "ng-template", null, 2, i0__namespace.ɵɵtemplateRefExtractor);
2212
2214
  i0__namespace.ɵɵelementStart(11, "div", 17);
@@ -2214,21 +2216,21 @@
2214
2216
  i0__namespace.ɵɵelement(28, "div", 18);
2215
2217
  i0__namespace.ɵɵelementEnd();
2216
2218
  } if (rf & 2) {
2217
- i0__namespace.ɵɵproperty("ngIf", ctx.title || ctx.subheading || ctx.iconclass || ctx.exportOptions.length || ctx._actions.header.length);
2219
+ i0__namespace.ɵɵconditional(ctx.title || ctx.subheading || ctx.iconclass || ctx.exportOptions.length || ctx._actions.header.length ? 0 : -1);
2218
2220
  i0__namespace.ɵɵadvance(3);
2219
2221
  i0__namespace.ɵɵproperty("hidden", !ctx._actions.footer.length && (!ctx.shownavigation || ctx.onDemandLoad && ctx.dataNavigator.isDisableNext || (ctx.dataNavigator == null ? null : ctx.dataNavigator.dataSize) <= ctx.pagesize));
2220
2222
  i0__namespace.ɵɵadvance();
2221
2223
  i0__namespace.ɵɵproperty("hidden", !(ctx.dataNavigator == null ? null : ctx.dataNavigator.dataSize) && !(ctx.dataNavigator.datasource == null ? null : ctx.dataNavigator.datasource.pagination == null ? null : ctx.dataNavigator.datasource.pagination.next) || !ctx.shownavigation || ctx.onDemandLoad && ctx.dataNavigator.isDisableNext || (ctx.dataNavigator == null ? null : ctx.dataNavigator.dataSize) <= ctx.pagesize);
2222
2224
  i0__namespace.ɵɵadvance(2);
2223
- i0__namespace.ɵɵproperty("ngIf", ctx._actions.footer.length);
2224
- } }, dependencies: [i5__namespace.AnchorComponent, i6__namespace.BsDropdownDirective, i7__namespace.NgClass, i7__namespace.NgForOf, i7__namespace.NgIf, i7__namespace.NgTemplateOutlet, i8__namespace.ButtonComponent, i9__namespace.MenuComponent, i10__namespace.PaginationComponent], encapsulation: 2 }); }
2225
+ i0__namespace.ɵɵconditional(ctx._actions.footer.length ? 6 : -1);
2226
+ } }, dependencies: [i5__namespace.AnchorComponent, i6__namespace.BsDropdownDirective, i7__namespace.NgClass, i7__namespace.NgTemplateOutlet, i8__namespace.ButtonComponent, i9__namespace.MenuComponent, i10__namespace.PaginationComponent], encapsulation: 2 }); }
2225
2227
  }
2226
2228
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassMetadata(TableComponent, [{
2227
2229
  type: i0.Component,
2228
2230
  args: [{ selector: '[wmTable]', providers: [
2229
2231
  i4.provideAs(TableComponent, i1.NG_VALUE_ACCESSOR, true),
2230
2232
  i4.provideAsWidgetRef(TableComponent)
2231
- ], template: "<div class=\"panel-heading\" *ngIf=\"title || subheading || iconclass || exportOptions.length || _actions.header.length\">\n <h3 class=\"panel-title\">\n <div class=\"pull-left\">\n <i class=\"app-icon panel-icon {{iconclass}}\" *ngIf=\"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 <div class=\"panel-actions app-datagrid-actions\" *ngIf=\"exportOptions.length || _actions.header.length\">\n <ng-container *ngFor=\"let btn of _actions.header; let index = index;\"\n [ngTemplateOutlet]=\"btn.widgetType === 'button' ? buttonRef : anchorRef\"\n [ngTemplateOutletContext]=\"{btn:btn}\"\n [ngTemplateOutletInjector]=\"createCustomInjector('actions_header_' + index, {btn:btn})\">\n </ng-container>\n <div wmMenu dropdown caption.bind=\"appLocale.LABEL_EXPORT\" *ngIf=\"exportOptions.length\" autoclose=\"always\" attr.name=\"{{name}}-export\"\n dataset.bind=\"exportOptions\" select.event=\"export($item)\" menuposition=\"down,left\"></div>\n </div>\n </h3>\n</div>\n<div class=\"app-datagrid\" #datagridElement></div>\n\n<div class=\"panel-footer clearfix\" [hidden]=\"!_actions.footer.length && (!shownavigation || (onDemandLoad && dataNavigator.isDisableNext) || dataNavigator?.dataSize <= pagesize)\">\n <div class=\"app-datagrid-paginator\" [hidden]=\"(!dataNavigator?.dataSize && !dataNavigator.datasource?.pagination?.next) || !shownavigation || (onDemandLoad && dataNavigator.isDisableNext) || dataNavigator?.dataSize <= pagesize\">\n <nav wmPagination show.bind=\"shownavigation\" navigationalign.bind=\"navigationalign\"\n navigationsize.bind=\"navigationSize\"\n navigation.bind=\"navControls\" showrecordcount.bind=\"showrecordcount\" maxsize.bind=\"maxsize\"\n boundarylinks.bind=\"boundarylinks\"\n forceellipses.bind=\"forceellipses\" directionlinks.bind=\"directionlinks\"></nav>\n </div>\n <div class=\"app-datagrid-actions\" *ngIf=\"_actions.footer.length\">\n <ng-container *ngFor=\"let btn of _actions.footer; let index = index;\"\n [ngTemplateOutlet]=\"btn.widgetType === 'button' ? buttonRef : anchorRef\"\n [ngTemplateOutletContext]=\"{btn:btn}\"\n [ngTemplateOutletInjector]=\"createCustomInjector('actions_footer_' + index, {btn:btn})\">\n </ng-container>\n </div>\n</div>\n\n<ng-template #buttonRef let-btn=\"btn\">\n <button wmButton caption.bind=\"btn.displayName\" show.bind=\"btn.show\" class.bind=\"btn.class\" iconclass.bind=\"btn.iconclass\" (click)=\"invokeActionEvent($event, btn.action)\"\n [ngClass]=\"{'btn-sm': spacing === 'condensed', 'disabled-new': btn.key === 'addNewRow' && (isGridEditMode || isLoading)}\"\n type=\"button\" shortcutkey.bind=\"btn.shortcutkey\" tabindex.bind=\"btn.tabindex\" hint.bind=\"btn.title\" [attr.aria-label]=\"btn.displayName\" disabled.bind=\"btn.disabled\" conditionalclass.bind=\"btn.conditionalclass\" conditionalstyle.bind=\"btn.conditionalstyle\"></button>\n</ng-template>\n\n<ng-template #anchorRef let-btn=\"btn\">\n <a wmAnchor caption.bind=\"btn.displayName\" show.bind=\"btn.show\" class.bind=\"btn.class\" iconclass.bind=\"btn.iconclass\" (click)=\"invokeActionEvent($event, btn.action)\"\n [ngClass]=\"{'btn-sm': spacing === 'condensed', 'disabled-new': btn.key === 'addNewRow' && (isGridEditMode || isLoading)}\"\n shortcutkey.bind=\"btn.shortcutkey\" tabindex.bind=\"btn.tabindex\" hint.bind=\"btn.title\"\n hyperlink.bind=\"btn.hyperlink\" target.bind=\"btn.target\" conditionalclass.bind=\"btn.conditionalclass\" conditionalstyle.bind=\"btn.conditionalstyle\"></a>\n</ng-template>\n\n<div hidden>\n <ng-container #multiColumnFilterView></ng-container>\n\n <ng-container #inlineEditView></ng-container>\n\n <ng-container #inlineEditNewView></ng-container>\n\n <ng-container #rowActionsView></ng-container>\n\n <ng-container #rowExpansionActionView></ng-container>\n\n <ng-container #customExprView></ng-container>\n\n <ng-container #dynamicTable></ng-container>\n\n <ng-container #rowDetailView></ng-container>\n\n <div class=\"dynamic-table-container\"></div>\n</div>\n" }]
2233
+ ], template: "@if (title || subheading || iconclass || exportOptions.length || _actions.header.length) {\n <div class=\"panel-heading\">\n <h3 class=\"panel-title\">\n <div class=\"pull-left\">\n @if (iconclass) {\n <i class=\"app-icon panel-icon {{iconclass}}\"></i>\n }\n </div>\n <div class=\"pull-left\">\n <div class=\"heading\" [innerHTML]=\"title\"></div>\n <div class=\"description\" [innerHTML]=\"subheading\"></div>\n </div>\n @if (exportOptions.length || _actions.header.length) {\n <div class=\"panel-actions app-datagrid-actions\">\n @for (btn of _actions.header; track btn; let index = $index) {\n <ng-container\n [ngTemplateOutlet]=\"btn.widgetType === 'button' ? buttonRef : anchorRef\"\n [ngTemplateOutletContext]=\"{btn:btn}\"\n [ngTemplateOutletInjector]=\"createCustomInjector('actions_header_' + index, {btn:btn})\">\n </ng-container>\n }\n @if (exportOptions.length) {\n <div wmMenu dropdown caption.bind=\"appLocale.LABEL_EXPORT\" autoclose=\"always\" attr.name=\"{{name}}-export\"\n dataset.bind=\"exportOptions\" select.event=\"export($item)\" menuposition=\"down,left\"></div>\n }\n </div>\n }\n </h3>\n </div>\n}\n<div class=\"app-datagrid\" #datagridElement></div>\n\n<div class=\"panel-footer clearfix\" [hidden]=\"!_actions.footer.length && (!shownavigation || (onDemandLoad && dataNavigator.isDisableNext) || dataNavigator?.dataSize <= pagesize)\">\n <div class=\"app-datagrid-paginator\" [hidden]=\"(!dataNavigator?.dataSize && !dataNavigator.datasource?.pagination?.next) || !shownavigation || (onDemandLoad && dataNavigator.isDisableNext) || dataNavigator?.dataSize <= pagesize\">\n <nav wmPagination show.bind=\"shownavigation\" navigationalign.bind=\"navigationalign\"\n navigationsize.bind=\"navigationSize\"\n navigation.bind=\"navControls\" showrecordcount.bind=\"showrecordcount\" maxsize.bind=\"maxsize\"\n boundarylinks.bind=\"boundarylinks\"\n forceellipses.bind=\"forceellipses\" directionlinks.bind=\"directionlinks\"></nav>\n </div>\n @if (_actions.footer.length) {\n <div class=\"app-datagrid-actions\">\n @for (btn of _actions.footer; track btn; let index = $index) {\n <ng-container\n [ngTemplateOutlet]=\"btn.widgetType === 'button' ? buttonRef : anchorRef\"\n [ngTemplateOutletContext]=\"{btn:btn}\"\n [ngTemplateOutletInjector]=\"createCustomInjector('actions_footer_' + index, {btn:btn})\">\n </ng-container>\n }\n </div>\n }\n</div>\n\n<ng-template #buttonRef let-btn=\"btn\">\n <button wmButton caption.bind=\"btn.displayName\" show.bind=\"btn.show\" class.bind=\"btn.class\" iconclass.bind=\"btn.iconclass\" (click)=\"invokeActionEvent($event, btn.action)\"\n [ngClass]=\"{'btn-sm': spacing === 'condensed', 'disabled-new': btn.key === 'addNewRow' && (isGridEditMode || isLoading)}\"\n type=\"button\" shortcutkey.bind=\"btn.shortcutkey\" tabindex.bind=\"btn.tabindex\" hint.bind=\"btn.title\" [attr.aria-label]=\"btn.displayName\" disabled.bind=\"btn.disabled\" conditionalclass.bind=\"btn.conditionalclass\" conditionalstyle.bind=\"btn.conditionalstyle\"></button>\n</ng-template>\n\n<ng-template #anchorRef let-btn=\"btn\">\n <a wmAnchor caption.bind=\"btn.displayName\" show.bind=\"btn.show\" class.bind=\"btn.class\" iconclass.bind=\"btn.iconclass\" (click)=\"invokeActionEvent($event, btn.action)\"\n [ngClass]=\"{'btn-sm': spacing === 'condensed', 'disabled-new': btn.key === 'addNewRow' && (isGridEditMode || isLoading)}\"\n shortcutkey.bind=\"btn.shortcutkey\" tabindex.bind=\"btn.tabindex\" hint.bind=\"btn.title\"\n hyperlink.bind=\"btn.hyperlink\" target.bind=\"btn.target\" conditionalclass.bind=\"btn.conditionalclass\" conditionalstyle.bind=\"btn.conditionalstyle\"></a>\n</ng-template>\n\n<div hidden>\n <ng-container #multiColumnFilterView></ng-container>\n\n <ng-container #inlineEditView></ng-container>\n\n <ng-container #inlineEditNewView></ng-container>\n\n <ng-container #rowActionsView></ng-container>\n\n <ng-container #rowExpansionActionView></ng-container>\n\n <ng-container #customExprView></ng-container>\n\n <ng-container #dynamicTable></ng-container>\n\n <ng-container #rowDetailView></ng-container>\n\n <div class=\"dynamic-table-container\"></div>\n</div>\n" }]
2232
2234
  }], () => [{ type: i0__namespace.Injector }, { type: i1__namespace.FormBuilder }, { type: i2__namespace.App }, { type: i2__namespace.DynamicComponentRefProvider }, { type: i2__namespace.StatePersistence }, { type: i2__namespace.PaginationService }, { type: i2__namespace.Viewport }, { type: i3__namespace.ListComponent, decorators: [{
2233
2235
  type: i0.Optional
2234
2236
  }] }, { type: undefined, decorators: [{
@@ -3064,10 +3066,36 @@
3064
3066
  }
3065
3067
  return data;
3066
3068
  }
3069
+ // Function that checks if a given string is a valid date and returns the timestamp if it is, or NaN if it's not.
3070
+ parseDateString(dateString) {
3071
+ const timestamp = Date.parse(dateString);
3072
+ if (!isNaN(timestamp)) {
3073
+ return timestamp;
3074
+ }
3075
+ else { // Since Date.parse() doesn't support all date formats, manually validating the date.
3076
+ const parts = dateString?.split(/[-/\s]+/)?.map(Number) || [];
3077
+ return new Date(parts[2], parts[1] - 1, parts[0]).getTime();
3078
+ }
3079
+ }
3067
3080
  // Returns data sorted using sortObj
3068
3081
  getSortResult(data, sortObj) {
3069
3082
  if (sortObj && sortObj.direction) {
3070
- data = lodashEs.orderBy(data, sortObj.field, sortObj.direction);
3083
+ const isValidDateString = this.parseDateString(lodashEs.get(lodashEs.find(data, sortObj.field), sortObj.field));
3084
+ if (!isNaN(isValidDateString)) { // if the field is a date string
3085
+ data = lodashEs.orderBy(data, [(item) => this.parseDateString(item[sortObj.field])], [sortObj.direction]);
3086
+ }
3087
+ else if (this.table.columns[sortObj.field]?.caseinsensitive) {
3088
+ //Fix for [WMS-27505]: Added case-insensitive sorting so that uppercase and lowercase letters are treated the same when sorting.
3089
+ if (sortObj.direction === 'asc') {
3090
+ data = lodashEs.orderBy(data, [(item) => lodashEs.get(item, sortObj.field)?.toLowerCase(), (item) => item[sortObj.field]]);
3091
+ }
3092
+ else {
3093
+ data = lodashEs.orderBy(data, [(item) => lodashEs.get(item, sortObj.field)?.toLowerCase(), (item) => item[sortObj.field]], ['desc', 'desc']);
3094
+ }
3095
+ }
3096
+ else {
3097
+ data = lodashEs.orderBy(data, sortObj.field, sortObj.direction);
3098
+ }
3071
3099
  }
3072
3100
  return data;
3073
3101
  }
@@ -3601,6 +3629,7 @@
3601
3629
  ['showcount', i4.PROP_BOOLEAN],
3602
3630
  ['showdropdownon', { value: 'default', ...i4.PROP_STRING }],
3603
3631
  ['sortable', { value: true, ...i4.PROP_BOOLEAN }],
3632
+ ['caseinsensitive', { value: false, ...i4.PROP_BOOLEAN }],
3604
3633
  ['tabletdisplay', { value: true, ...i4.PROP_BOOLEAN }],
3605
3634
  ['textalignment', { value: 'left', ...i4.PROP_STRING }],
3606
3635
  ['textcolor', i4.PROP_STRING],
@@ -4192,6 +4221,7 @@
4192
4221
  this.filterwidget = this.filterwidget || i4.getDataTableFilterWidget(this.type || 'string');
4193
4222
  this.isFilterDataSetBound = !!this.bindfilterdataset;
4194
4223
  this.defaultvalue = i4.getDefaultValue(this.defaultvalue, this.type, this.editWidgetType);
4224
+ this.caseinsensitive = !!this.getAttr('caseinsensitive');
4195
4225
  // For date time data types, if date pattern is not specified, set the app format or default format
4196
4226
  if (i2.isDateTimeType(this.type) && this.formatpattern === 'toDate' && !this.datepattern) {
4197
4227
  const defaultFormat = i2.getDisplayDateTimeFormat(this.type);