@wavemaker/app-ng-runtime 12.0.0-next.140535 → 12.0.0-next.141131

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. app-ng-runtime/build-task/advanced/custom-widget-container/custom-widget-container.build.d.ts +2 -0
  2. app-ng-runtime/build-task/advanced/custom-widget-wrapper/custom-widget-wrapper.build.d.ts +2 -0
  3. app-ng-runtime/build-task/bundles/index.umd.js +451 -405
  4. app-ng-runtime/build-task/esm2022/advanced/custom-widget-container/custom-widget-container.build.mjs +15 -0
  5. app-ng-runtime/build-task/esm2022/advanced/custom-widget-wrapper/custom-widget-wrapper.build.mjs +26 -0
  6. app-ng-runtime/build-task/esm2022/data/form/form-field/form-field.build.mjs +3 -2
  7. app-ng-runtime/build-task/esm2022/public_api.mjs +3 -1
  8. app-ng-runtime/build-task/fesm2022/index.mjs +454 -406
  9. app-ng-runtime/build-task/fesm2022/index.mjs.map +1 -1
  10. app-ng-runtime/build-task/public_api.d.ts +2 -0
  11. app-ng-runtime/components/advanced/custom/.npmignore +2 -0
  12. app-ng-runtime/components/advanced/custom/bundles/index.umd.js +232 -0
  13. app-ng-runtime/components/advanced/custom/custom-widget-container/custom-widget-container.directive.d.ts +19 -0
  14. app-ng-runtime/components/advanced/custom/custom-widget-container/custom-widget.props.d.ts +2 -0
  15. app-ng-runtime/components/advanced/custom/custom-widget-prop.d.ts +1 -0
  16. app-ng-runtime/components/advanced/custom/custom-widget.directive.d.ts +19 -0
  17. app-ng-runtime/components/advanced/custom/custom-widget.module.d.ts +10 -0
  18. app-ng-runtime/components/advanced/custom/esm2022/custom-widget-container/custom-widget-container.directive.mjs +102 -0
  19. app-ng-runtime/components/advanced/custom/esm2022/custom-widget-container/custom-widget.props.mjs +12 -0
  20. app-ng-runtime/components/advanced/custom/esm2022/custom-widget-prop.mjs +8 -0
  21. app-ng-runtime/components/advanced/custom/esm2022/custom-widget.directive.mjs +68 -0
  22. app-ng-runtime/components/advanced/custom/esm2022/custom-widget.module.mjs +32 -0
  23. app-ng-runtime/components/advanced/custom/esm2022/index.mjs +5 -0
  24. app-ng-runtime/components/advanced/custom/esm2022/public_api.mjs +4 -0
  25. app-ng-runtime/components/advanced/custom/fesm2022/index.mjs +215 -0
  26. app-ng-runtime/components/advanced/custom/fesm2022/index.mjs.map +1 -0
  27. app-ng-runtime/components/advanced/custom/index.d.ts +5 -0
  28. app-ng-runtime/components/advanced/custom/package.json +23 -0
  29. app-ng-runtime/components/advanced/custom/public_api.d.ts +3 -0
  30. app-ng-runtime/components/base/bundles/index.umd.js +63 -21
  31. app-ng-runtime/components/base/components.module.d.ts +12 -11
  32. app-ng-runtime/components/base/esm2022/components.module.mjs +5 -1
  33. app-ng-runtime/components/base/esm2022/public_api.mjs +2 -1
  34. app-ng-runtime/components/base/esm2022/utils/live-utils.mjs +2 -8
  35. app-ng-runtime/components/base/esm2022/widgets/common/base/base.component.mjs +25 -15
  36. app-ng-runtime/components/base/esm2022/widgets/common/base/custom-widget-container.directive.mjs +39 -0
  37. app-ng-runtime/components/base/fesm2022/index.mjs +63 -22
  38. app-ng-runtime/components/base/fesm2022/index.mjs.map +1 -1
  39. app-ng-runtime/components/base/public_api.d.ts +1 -0
  40. app-ng-runtime/components/base/widgets/common/base/base.component.d.ts +10 -5
  41. app-ng-runtime/components/base/widgets/common/base/custom-widget-container.directive.d.ts +14 -0
  42. app-ng-runtime/components/basic/search/bundles/index.umd.js +36 -24
  43. app-ng-runtime/components/basic/search/esm2022/search.component.mjs +33 -24
  44. app-ng-runtime/components/basic/search/esm2022/search.props.mjs +5 -2
  45. app-ng-runtime/components/basic/search/fesm2022/index.mjs +36 -24
  46. app-ng-runtime/components/basic/search/fesm2022/index.mjs.map +1 -1
  47. app-ng-runtime/components/basic/search/search.component.d.ts +3 -0
  48. app-ng-runtime/components/containers/tabs/bundles/index.umd.js +14 -6
  49. app-ng-runtime/components/containers/tabs/esm2022/tabs.component.mjs +14 -7
  50. app-ng-runtime/components/containers/tabs/esm2022/tabs.props.mjs +3 -2
  51. app-ng-runtime/components/containers/tabs/fesm2022/index.mjs +14 -6
  52. app-ng-runtime/components/containers/tabs/fesm2022/index.mjs.map +1 -1
  53. app-ng-runtime/components/containers/tabs/tabs.component.d.ts +1 -0
  54. app-ng-runtime/components/containers/wizard/bundles/index.umd.js +0 -17
  55. app-ng-runtime/components/containers/wizard/esm2022/wizard.component.mjs +1 -18
  56. app-ng-runtime/components/containers/wizard/fesm2022/index.mjs +0 -17
  57. app-ng-runtime/components/containers/wizard/fesm2022/index.mjs.map +1 -1
  58. app-ng-runtime/components/containers/wizard/wizard.component.d.ts +0 -1
  59. app-ng-runtime/components/data/form/bundles/index.umd.js +0 -4
  60. app-ng-runtime/components/data/form/esm2022/form-field/form-field.directive.mjs +3 -5
  61. app-ng-runtime/components/data/form/fesm2022/index.mjs +2 -4
  62. app-ng-runtime/components/data/form/fesm2022/index.mjs.map +1 -1
  63. app-ng-runtime/components/data/form/form-field/form-field.directive.d.ts +0 -1
  64. app-ng-runtime/components/data/table/bundles/index.umd.js +2 -2
  65. app-ng-runtime/components/data/table/esm2022/table.component.mjs +3 -3
  66. app-ng-runtime/components/data/table/fesm2022/index.mjs +2 -2
  67. app-ng-runtime/components/data/table/fesm2022/index.mjs.map +1 -1
  68. app-ng-runtime/components/data/table/table.component.d.ts +1 -1
  69. app-ng-runtime/components/dialogs/default/base-dialog.d.ts +2 -0
  70. app-ng-runtime/components/dialogs/default/bundles/index.umd.js +17 -17
  71. app-ng-runtime/components/dialogs/default/esm2022/base-dialog.mjs +1 -12
  72. app-ng-runtime/components/dialogs/default/esm2022/dialog-body/dialog-body.directive.mjs +14 -2
  73. app-ng-runtime/components/dialogs/default/esm2022/dialog-header/dialog-header.component.mjs +6 -7
  74. app-ng-runtime/components/dialogs/default/fesm2022/index.mjs +18 -18
  75. app-ng-runtime/components/dialogs/default/fesm2022/index.mjs.map +1 -1
  76. app-ng-runtime/components/dialogs/design-dialog/bundles/index.umd.js +21 -3
  77. app-ng-runtime/components/dialogs/design-dialog/dialog.component.d.ts +3 -2
  78. app-ng-runtime/components/dialogs/design-dialog/esm2022/dialog.component.mjs +22 -4
  79. app-ng-runtime/components/dialogs/design-dialog/fesm2022/index.mjs +21 -3
  80. app-ng-runtime/components/dialogs/design-dialog/fesm2022/index.mjs.map +1 -1
  81. app-ng-runtime/components/input/default/bundles/index.umd.js +116 -115
  82. app-ng-runtime/components/input/default/checkboxset/checkboxset.component.d.ts +1 -0
  83. app-ng-runtime/components/input/default/esm2022/checkboxset/checkboxset.component.mjs +8 -5
  84. app-ng-runtime/components/input/default/esm2022/radioset/radioset.component.mjs +8 -5
  85. app-ng-runtime/components/input/default/esm2022/select/select.component.mjs +29 -59
  86. app-ng-runtime/components/input/default/esm2022/switch/switch.component.mjs +64 -38
  87. app-ng-runtime/components/input/default/esm2022/switch/switch.props.mjs +2 -1
  88. app-ng-runtime/components/input/default/esm2022/text/base/base-input.mjs +4 -1
  89. app-ng-runtime/components/input/default/esm2022/text/locale/number-locale.mjs +2 -2
  90. app-ng-runtime/components/input/default/esm2022/textarea/textarea.component.mjs +1 -4
  91. app-ng-runtime/components/input/default/fesm2022/index.mjs +117 -116
  92. app-ng-runtime/components/input/default/fesm2022/index.mjs.map +1 -1
  93. app-ng-runtime/components/input/default/radioset/radioset.component.d.ts +1 -0
  94. app-ng-runtime/components/input/default/select/select.component.d.ts +4 -2
  95. app-ng-runtime/components/input/default/switch/switch.component.d.ts +2 -0
  96. app-ng-runtime/components/input/default/textarea/textarea.component.d.ts +2 -3
  97. app-ng-runtime/components/input/epoch/bundles/index.umd.js +0 -3
  98. app-ng-runtime/components/input/epoch/esm2022/date-time/date-time.component.mjs +1 -4
  99. app-ng-runtime/components/input/epoch/fesm2022/index.mjs +0 -3
  100. app-ng-runtime/components/input/epoch/fesm2022/index.mjs.map +1 -1
  101. app-ng-runtime/components/input/file-upload/bundles/index.umd.js +5 -31
  102. app-ng-runtime/components/input/file-upload/esm2022/file-upload.component.mjs +8 -34
  103. app-ng-runtime/components/input/file-upload/fesm2022/index.mjs +6 -32
  104. app-ng-runtime/components/input/file-upload/fesm2022/index.mjs.map +1 -1
  105. app-ng-runtime/components/input/file-upload/file-upload.component.d.ts +2 -6
  106. app-ng-runtime/components/input/rating/bundles/index.umd.js +26 -35
  107. app-ng-runtime/components/input/rating/esm2022/rating.component.mjs +26 -37
  108. app-ng-runtime/components/input/rating/esm2022/rating.props.mjs +3 -1
  109. app-ng-runtime/components/input/rating/fesm2022/index.mjs +27 -36
  110. app-ng-runtime/components/input/rating/fesm2022/index.mjs.map +1 -1
  111. app-ng-runtime/components/input/rating/rating.component.d.ts +3 -1
  112. app-ng-runtime/components/navigation/menu/bundles/index.umd.js +2 -2
  113. app-ng-runtime/components/navigation/menu/esm2022/menu.component.mjs +2 -2
  114. app-ng-runtime/components/navigation/menu/esm2022/nav/nav.component.mjs +2 -2
  115. app-ng-runtime/components/navigation/menu/fesm2022/index.mjs +2 -2
  116. app-ng-runtime/components/navigation/menu/fesm2022/index.mjs.map +1 -1
  117. app-ng-runtime/components/page/left-panel/bundles/index.umd.js +6 -2
  118. app-ng-runtime/components/page/left-panel/esm2022/left-panel.directive.mjs +9 -5
  119. app-ng-runtime/components/page/left-panel/fesm2022/index.mjs +8 -4
  120. app-ng-runtime/components/page/left-panel/fesm2022/index.mjs.map +1 -1
  121. app-ng-runtime/components/page/left-panel/left-panel.directive.d.ts +2 -2
  122. app-ng-runtime/components/page/right-panel/bundles/index.umd.js +6 -2
  123. app-ng-runtime/components/page/right-panel/esm2022/right-panel.directive.mjs +9 -5
  124. app-ng-runtime/components/page/right-panel/fesm2022/index.mjs +8 -4
  125. app-ng-runtime/components/page/right-panel/fesm2022/index.mjs.map +1 -1
  126. app-ng-runtime/components/page/right-panel/right-panel.directive.d.ts +2 -2
  127. app-ng-runtime/core/bundles/index.umd.js +28 -6
  128. app-ng-runtime/core/enums/enums.d.ts +2 -1
  129. app-ng-runtime/core/esm2022/enums/enums.mjs +2 -1
  130. app-ng-runtime/core/esm2022/public_api.mjs +2 -2
  131. app-ng-runtime/core/esm2022/types/types.mjs +4 -1
  132. app-ng-runtime/core/esm2022/utils/build-utils.mjs +6 -1
  133. app-ng-runtime/core/esm2022/utils/utils.mjs +11 -4
  134. app-ng-runtime/core/fesm2022/index.mjs +22 -4
  135. app-ng-runtime/core/fesm2022/index.mjs.map +1 -1
  136. app-ng-runtime/core/public_api.d.ts +1 -1
  137. app-ng-runtime/core/types/types.d.ts +5 -1
  138. app-ng-runtime/core/utils/utils.d.ts +2 -1
  139. app-ng-runtime/mobile/core/bundles/index.umd.js +2 -18
  140. app-ng-runtime/mobile/core/esm2022/native.xhr.mjs +3 -19
  141. app-ng-runtime/mobile/core/fesm2022/index.mjs +2 -18
  142. app-ng-runtime/mobile/core/fesm2022/index.mjs.map +1 -1
  143. app-ng-runtime/package.json +1 -1
  144. app-ng-runtime/runtime/base/bundles/index.umd.js +296 -5
  145. app-ng-runtime/runtime/base/components/base-custom-widget.component.d.ts +73 -0
  146. app-ng-runtime/runtime/base/esm2022/components/base-custom-widget.component.mjs +294 -0
  147. app-ng-runtime/runtime/base/esm2022/public_api.mjs +2 -1
  148. app-ng-runtime/runtime/base/esm2022/runtime-base.module.mjs +6 -1
  149. app-ng-runtime/runtime/base/esm2022/services/i18n.service.mjs +2 -2
  150. app-ng-runtime/runtime/base/esm2022/types/types.mjs +4 -1
  151. app-ng-runtime/runtime/base/fesm2022/index.mjs +294 -4
  152. app-ng-runtime/runtime/base/fesm2022/index.mjs.map +1 -1
  153. app-ng-runtime/runtime/base/public_api.d.ts +1 -0
  154. app-ng-runtime/runtime/base/runtime-base.module.d.ts +9 -8
  155. app-ng-runtime/runtime/base/types/types.d.ts +5 -1
  156. app-ng-runtime/runtime/dynamic/app/services/customwidget-config-provider.service.d.ts +8 -0
  157. app-ng-runtime/runtime/dynamic/bundles/index.umd.js +49 -13
  158. app-ng-runtime/runtime/dynamic/esm2022/app/app.module.mjs +8 -3
  159. app-ng-runtime/runtime/dynamic/esm2022/app/services/component-ref-provider.service.mjs +23 -7
  160. app-ng-runtime/runtime/dynamic/esm2022/app/services/customwidget-config-provider.service.mjs +22 -0
  161. app-ng-runtime/runtime/dynamic/fesm2022/index.mjs +50 -11
  162. app-ng-runtime/runtime/dynamic/fesm2022/index.mjs.map +1 -1
  163. app-ng-runtime/scripts/@wavemaker/nvd3/build/nv.d3.min.js +1 -1
  164. app-ng-runtime/scripts/datatable/datatable.js +4 -7
  165. app-ng-runtime/scripts/summernote/dist/summernote-lite.min.js +3 -2
  166. app-ng-runtime/transpiler/bundles/index.umd.js +5 -0
  167. app-ng-runtime/transpiler/esm2022/build.mjs +4 -1
  168. app-ng-runtime/transpiler/esm2022/imports.mjs +3 -1
  169. app-ng-runtime/transpiler/fesm2022/index.mjs +5 -0
  170. app-ng-runtime/transpiler/fesm2022/index.mjs.map +1 -1
@@ -7,6 +7,7 @@ export { BaseComponent } from './widgets/common/base/base.component';
7
7
  export * from './widgets/common/base/base-container.component';
8
8
  export { DatasetAwareNavComponent, NavNode } from './widgets/common/base/dataset-aware-nav.component';
9
9
  export * from './widgets/common/base/partial-container.directive';
10
+ export * from './widgets/common/base/custom-widget-container.directive';
10
11
  export * from './widgets/common/base/base-field-validations';
11
12
  export * from './widgets/common/item-template/item-template.directive';
12
13
  export * from './widgets/common/repeat-template/repeat-template.directive';
@@ -3,6 +3,10 @@ import { EventManager } from '@angular/platform-browser';
3
3
  import { App } from '@wm/core';
4
4
  import { ChangeListener, IWidgetConfig } from '../../framework/types';
5
5
  import * as i0 from "@angular/core";
6
+ interface Child {
7
+ widget: any;
8
+ nativeElement: any;
9
+ }
6
10
  export declare abstract class BaseComponent implements OnDestroy, OnInit, AfterViewInit, AfterContentInit {
7
11
  protected inj: Injector;
8
12
  /**
@@ -101,7 +105,7 @@ export declare abstract class BaseComponent implements OnDestroy, OnInit, AfterV
101
105
  * (for List, Dynamic Tabs, Accordion, Nav, Carousel)
102
106
  */
103
107
  trackId: string;
104
- protected constructor(inj: Injector, config: IWidgetConfig, explicitContext: any, initPromise?: Promise<any>);
108
+ protected constructor(inj: Injector, config: IWidgetConfig, explicitContext?: any, initPromise?: Promise<any>);
105
109
  getNativeElement(): HTMLElement;
106
110
  getWidgetType(): string;
107
111
  getWidgetSubType(): string;
@@ -172,12 +176,12 @@ export declare abstract class BaseComponent implements OnDestroy, OnInit, AfterV
172
176
  * @param {string} eventName
173
177
  * @param {string} expr
174
178
  */
175
- protected processEventAttr(eventName: string, expr: string, meta?: string): void;
179
+ protected processEventAttr(eventName: string, expr: string, meta?: string, child?: Child): void;
176
180
  /**
177
181
  * Process the bound property
178
182
  * Register a watch on the bound expression
179
183
  */
180
- protected processBindAttr(propName: string, expr: string): void;
184
+ protected processBindAttr(propName: string, expr: string, child?: any): void;
181
185
  /**
182
186
  * Remove watch on the bound property
183
187
  */
@@ -194,7 +198,7 @@ export declare abstract class BaseComponent implements OnDestroy, OnInit, AfterV
194
198
  * and keep in eventHandlers
195
199
  * If the attribute is a bound expression, register a watch on the expression
196
200
  */
197
- protected processAttr(attrName: string, attrValue: string): void;
201
+ protected processAttr(attrName: string, attrValue: string, child?: Child): void;
198
202
  /**
199
203
  * This is required as the native element attributes are case insensitive(camelcase) like customExpressions becomes customexpression
200
204
  * and our logic to check like these changes will fail. Before IVY changes, angular maintains a separate object with these attributes
@@ -202,7 +206,7 @@ export declare abstract class BaseComponent implements OnDestroy, OnInit, AfterV
202
206
  * @private
203
207
  * _tNode.attrs attributes are stored in array(even index: key, odd index: value)
204
208
  */
205
- private getAttributes;
209
+ protected getAttributes(): string[];
206
210
  /**
207
211
  * Process the attributes
208
212
  */
@@ -268,3 +272,4 @@ export declare abstract class BaseComponent implements OnDestroy, OnInit, AfterV
268
272
  static ɵfac: i0.ɵɵFactoryDeclaration<BaseComponent, [null, null, { optional: true; }, null]>;
269
273
  static ɵprov: i0.ɵɵInjectableDeclaration<BaseComponent>;
270
274
  }
275
+ export {};
@@ -0,0 +1,14 @@
1
+ import { ElementRef, Injector, ViewContainerRef } from '@angular/core';
2
+ import { App, CustomWidgetRefProvider } from '@wm/core';
3
+ import * as i0 from "@angular/core";
4
+ export declare class CustomWidgetContainerDirective {
5
+ componentInstance: any;
6
+ vcRef: ViewContainerRef;
7
+ elRef: ElementRef;
8
+ inj: Injector;
9
+ private app;
10
+ private customWidgetRefProvider;
11
+ constructor(componentInstance: any, vcRef: ViewContainerRef, elRef: ElementRef, inj: Injector, app: App, widgetname: string, customWidgetRefProvider: CustomWidgetRefProvider);
12
+ static ɵfac: i0.ɵɵFactoryDeclaration<CustomWidgetContainerDirective, [{ self: true; }, null, null, null, null, { attribute: "widgetname"; }, null]>;
13
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CustomWidgetContainerDirective, "[customWidgetContainer][widgetname]", never, {}, {}, never, never, false, never>;
14
+ }
@@ -69,7 +69,10 @@
69
69
  ['tabindex', { value: 0, ...i4.PROP_NUMBER }],
70
70
  ['type', { value: 'search', ...i4.PROP_STRING }],
71
71
  ['debouncetime', { value: 250, ...i4.PROP_NUMBER }],
72
- ['width', i4.PROP_STRING]
72
+ ['width', i4.PROP_STRING],
73
+ ['clearsearchiconclass', { value: 'wi wi-close', ...i4.PROP_STRING }],
74
+ ['backsearchiconclass', { value: 'wi wi-arrow-left', ...i4.PROP_STRING }],
75
+ ['searchiconclass', { value: 'wm-sl-l sl-search', ...i4.PROP_STRING }],
73
76
  ]);
74
77
  const registerProps = () => {
75
78
  i4.register('wm-search', searchProps);
@@ -436,54 +439,63 @@
436
439
  i0__namespace.ɵɵadvance();
437
440
  i0__namespace.ɵɵproperty("hidden", !ctx_r1.showClosebtn);
438
441
  } }
439
- function SearchComponent_ng_template_5_span_5_Template(rf, ctx) { if (rf & 1) {
442
+ function SearchComponent_ng_template_5_span_6_Template(rf, ctx) { if (rf & 1) {
440
443
  i0__namespace.ɵɵelement(0, "span", 32);
441
444
  } }
442
- function SearchComponent_ng_template_5_span_9_Template(rf, ctx) { if (rf & 1) {
445
+ function SearchComponent_ng_template_5_span_11_Template(rf, ctx) { if (rf & 1) {
443
446
  const _r18 = i0__namespace.ɵɵgetCurrentView();
444
447
  i0__namespace.ɵɵelementStart(0, "span", 33)(1, "form")(2, "button", 34);
445
- i0__namespace.ɵɵlistener("click", function SearchComponent_ng_template_5_span_9_Template_button_click_2_listener($event) { i0__namespace.ɵɵrestoreView(_r18); const ctx_r1 = i0__namespace.ɵɵnextContext(2); return i0__namespace.ɵɵresetView(ctx_r1.onSearchSelect($event)); });
448
+ i0__namespace.ɵɵlistener("click", function SearchComponent_ng_template_5_span_11_Template_button_click_2_listener($event) { i0__namespace.ɵɵrestoreView(_r18); const ctx_r1 = i0__namespace.ɵɵnextContext(2); return i0__namespace.ɵɵresetView(ctx_r1.onSearchSelect($event)); });
449
+ i0__namespace.ɵɵelement(3, "i");
446
450
  i0__namespace.ɵɵelementEnd()()();
447
451
  } if (rf & 2) {
448
452
  const ctx_r1 = i0__namespace.ɵɵnextContext(2);
449
- i0__namespace.ɵɵproperty("ngClass", i0__namespace.ɵɵpureFunction1(2, _c8, ctx_r1.disabled));
453
+ i0__namespace.ɵɵproperty("ngClass", i0__namespace.ɵɵpureFunction1(5, _c8, ctx_r1.disabled));
450
454
  i0__namespace.ɵɵadvance(2);
451
455
  i0__namespace.ɵɵproperty("disabled", ctx_r1.disabled);
456
+ i0__namespace.ɵɵadvance();
457
+ i0__namespace.ɵɵclassMapInterpolate1("app-icon ", ctx_r1.searchiconclass, "");
452
458
  } }
453
459
  function SearchComponent_ng_template_5_Template(rf, ctx) { if (rf & 1) {
454
460
  const _r17 = i0__namespace.ɵɵgetCurrentView();
455
- i0__namespace.ɵɵelementStart(0, "span", 25);
456
- i0__namespace.ɵɵlistener("click", function SearchComponent_ng_template_5_Template_span_click_0_listener() { i0__namespace.ɵɵrestoreView(_r17); const ctx_r1 = i0__namespace.ɵɵnextContext(); return i0__namespace.ɵɵresetView(ctx_r1.closeSearch()); });
461
+ i0__namespace.ɵɵelementStart(0, "button", 25);
462
+ i0__namespace.ɵɵlistener("click", function SearchComponent_ng_template_5_Template_button_click_0_listener() { i0__namespace.ɵɵrestoreView(_r17); const ctx_r1 = i0__namespace.ɵɵnextContext(); return i0__namespace.ɵɵresetView(ctx_r1.closeSearch()); });
463
+ i0__namespace.ɵɵelement(1, "i");
457
464
  i0__namespace.ɵɵelementEnd();
458
- i0__namespace.ɵɵelementStart(1, "span", 26);
459
- i0__namespace.ɵɵtext(2, "Back button");
465
+ i0__namespace.ɵɵelementStart(2, "span", 26);
466
+ i0__namespace.ɵɵtext(3, "Back button");
460
467
  i0__namespace.ɵɵelementEnd();
461
- i0__namespace.ɵɵelementStart(3, "input", 27);
462
- i0__namespace.ɵɵtwoWayListener("ngModelChange", function SearchComponent_ng_template_5_Template_input_ngModelChange_3_listener($event) { i0__namespace.ɵɵrestoreView(_r17); const ctx_r1 = i0__namespace.ɵɵnextContext(); i0__namespace.ɵɵtwoWayBindingSet(ctx_r1.query, $event) || (ctx_r1.query = $event); return i0__namespace.ɵɵresetView($event); });
463
- i0__namespace.ɵɵlistener("input", function SearchComponent_ng_template_5_Template_input_input_3_listener($event) { i0__namespace.ɵɵrestoreView(_r17); const ctx_r1 = i0__namespace.ɵɵnextContext(); return i0__namespace.ɵɵresetView(ctx_r1.onInputChange($event)); })("keydown", function SearchComponent_ng_template_5_Template_input_keydown_3_listener() { i0__namespace.ɵɵrestoreView(_r17); const ctx_r1 = i0__namespace.ɵɵnextContext(); return i0__namespace.ɵɵresetView(ctx_r1.listenQuery = true); })("keydown.enter", function SearchComponent_ng_template_5_Template_input_keydown_enter_3_listener($event) { i0__namespace.ɵɵrestoreView(_r17); const ctx_r1 = i0__namespace.ɵɵnextContext(); ctx_r1.$typeaheadEvent = $event; return i0__namespace.ɵɵresetView(ctx_r1.handleEnterEvent($event)); })("keydown.arrowdown", function SearchComponent_ng_template_5_Template_input_keydown_arrowdown_3_listener($event) { i0__namespace.ɵɵrestoreView(_r17); const ctx_r1 = i0__namespace.ɵɵnextContext(); return i0__namespace.ɵɵresetView(ctx_r1.selectNext($event)); })("blur", function SearchComponent_ng_template_5_Template_input_blur_3_listener($event) { i0__namespace.ɵɵrestoreView(_r17); const ctx_r1 = i0__namespace.ɵɵnextContext(); ctx_r1.invokeOnTouched($event); return i0__namespace.ɵɵresetView(ctx_r1.onFocusOut()); })("click", function SearchComponent_ng_template_5_Template_input_click_3_listener($event) { i0__namespace.ɵɵrestoreView(_r17); const ctx_r1 = i0__namespace.ɵɵnextContext(); return i0__namespace.ɵɵresetView(ctx_r1.handleFocus($event)); })("focus", function SearchComponent_ng_template_5_Template_input_focus_3_listener($event) { i0__namespace.ɵɵrestoreView(_r17); const ctx_r1 = i0__namespace.ɵɵnextContext(); ctx_r1._unsubscribeDv = false; ctx_r1.listenQuery = true; ctx_r1.handleFocus($event); return i0__namespace.ɵɵresetView(ctx_r1.invokeOnFocus($event)); })("typeaheadLoading", function SearchComponent_ng_template_5_Template_input_typeaheadLoading_3_listener() { i0__namespace.ɵɵrestoreView(_r17); const ctx_r1 = i0__namespace.ɵɵnextContext(); return i0__namespace.ɵɵresetView(ctx_r1._loadingItems); })("typeaheadOnSelect", function SearchComponent_ng_template_5_Template_input_typeaheadOnSelect_3_listener($event) { i0__namespace.ɵɵrestoreView(_r17); const ctx_r1 = i0__namespace.ɵɵnextContext(); return i0__namespace.ɵɵresetView(ctx_r1.typeaheadOnSelect($event)); });
468
+ i0__namespace.ɵɵelementStart(4, "input", 27);
469
+ i0__namespace.ɵɵtwoWayListener("ngModelChange", function SearchComponent_ng_template_5_Template_input_ngModelChange_4_listener($event) { i0__namespace.ɵɵrestoreView(_r17); const ctx_r1 = i0__namespace.ɵɵnextContext(); i0__namespace.ɵɵtwoWayBindingSet(ctx_r1.query, $event) || (ctx_r1.query = $event); return i0__namespace.ɵɵresetView($event); });
470
+ i0__namespace.ɵɵlistener("input", function SearchComponent_ng_template_5_Template_input_input_4_listener($event) { i0__namespace.ɵɵrestoreView(_r17); const ctx_r1 = i0__namespace.ɵɵnextContext(); return i0__namespace.ɵɵresetView(ctx_r1.onInputChange($event)); })("keydown", function SearchComponent_ng_template_5_Template_input_keydown_4_listener() { i0__namespace.ɵɵrestoreView(_r17); const ctx_r1 = i0__namespace.ɵɵnextContext(); return i0__namespace.ɵɵresetView(ctx_r1.listenQuery = true); })("keydown.enter", function SearchComponent_ng_template_5_Template_input_keydown_enter_4_listener($event) { i0__namespace.ɵɵrestoreView(_r17); const ctx_r1 = i0__namespace.ɵɵnextContext(); ctx_r1.$typeaheadEvent = $event; return i0__namespace.ɵɵresetView(ctx_r1.handleEnterEvent($event)); })("keydown.arrowdown", function SearchComponent_ng_template_5_Template_input_keydown_arrowdown_4_listener($event) { i0__namespace.ɵɵrestoreView(_r17); const ctx_r1 = i0__namespace.ɵɵnextContext(); return i0__namespace.ɵɵresetView(ctx_r1.selectNext($event)); })("blur", function SearchComponent_ng_template_5_Template_input_blur_4_listener($event) { i0__namespace.ɵɵrestoreView(_r17); const ctx_r1 = i0__namespace.ɵɵnextContext(); ctx_r1.invokeOnTouched($event); return i0__namespace.ɵɵresetView(ctx_r1.onFocusOut()); })("click", function SearchComponent_ng_template_5_Template_input_click_4_listener($event) { i0__namespace.ɵɵrestoreView(_r17); const ctx_r1 = i0__namespace.ɵɵnextContext(); return i0__namespace.ɵɵresetView(ctx_r1.handleFocus($event)); })("focus", function SearchComponent_ng_template_5_Template_input_focus_4_listener($event) { i0__namespace.ɵɵrestoreView(_r17); const ctx_r1 = i0__namespace.ɵɵnextContext(); ctx_r1._unsubscribeDv = false; ctx_r1.listenQuery = true; ctx_r1.handleFocus($event); return i0__namespace.ɵɵresetView(ctx_r1.invokeOnFocus($event)); })("typeaheadLoading", function SearchComponent_ng_template_5_Template_input_typeaheadLoading_4_listener() { i0__namespace.ɵɵrestoreView(_r17); const ctx_r1 = i0__namespace.ɵɵnextContext(); return i0__namespace.ɵɵresetView(ctx_r1._loadingItems); })("typeaheadOnSelect", function SearchComponent_ng_template_5_Template_input_typeaheadOnSelect_4_listener($event) { i0__namespace.ɵɵrestoreView(_r17); const ctx_r1 = i0__namespace.ɵɵnextContext(); return i0__namespace.ɵɵresetView(ctx_r1.typeaheadOnSelect($event)); });
464
471
  i0__namespace.ɵɵelementEnd();
465
- i0__namespace.ɵɵelement(4, "input", 28);
466
- i0__namespace.ɵɵtemplate(5, SearchComponent_ng_template_5_span_5_Template, 1, 0, "span", 29);
467
- i0__namespace.ɵɵelementStart(6, "span", 30);
468
- i0__namespace.ɵɵlistener("click", function SearchComponent_ng_template_5_Template_span_click_6_listener($event) { i0__namespace.ɵɵrestoreView(_r17); const ctx_r1 = i0__namespace.ɵɵnextContext(); return i0__namespace.ɵɵresetView(ctx_r1.clearSearch($event, true)); });
472
+ i0__namespace.ɵɵelement(5, "input", 28);
473
+ i0__namespace.ɵɵtemplate(6, SearchComponent_ng_template_5_span_6_Template, 1, 0, "span", 29);
474
+ i0__namespace.ɵɵelementStart(7, "button", 30);
475
+ i0__namespace.ɵɵlistener("click", function SearchComponent_ng_template_5_Template_button_click_7_listener($event) { i0__namespace.ɵɵrestoreView(_r17); const ctx_r1 = i0__namespace.ɵɵnextContext(); return i0__namespace.ɵɵresetView(ctx_r1.clearSearch($event, true)); });
476
+ i0__namespace.ɵɵelement(8, "i");
469
477
  i0__namespace.ɵɵelementEnd();
470
- i0__namespace.ɵɵelementStart(7, "span", 26);
471
- i0__namespace.ɵɵtext(8, "Clear button");
478
+ i0__namespace.ɵɵelementStart(9, "span", 26);
479
+ i0__namespace.ɵɵtext(10, "Clear button");
472
480
  i0__namespace.ɵɵelementEnd();
473
- i0__namespace.ɵɵtemplate(9, SearchComponent_ng_template_5_span_9_Template, 3, 4, "span", 31);
481
+ i0__namespace.ɵɵtemplate(11, SearchComponent_ng_template_5_span_11_Template, 4, 7, "span", 31);
474
482
  } if (rf & 2) {
475
483
  const ctx_r1 = i0__namespace.ɵɵnextContext();
476
484
  const customItemTemplate_r15 = i0__namespace.ɵɵreference(1);
477
485
  const customListTemplate_r16 = i0__namespace.ɵɵreference(3);
486
+ i0__namespace.ɵɵadvance();
487
+ i0__namespace.ɵɵclassMapInterpolate1("app-icon ", ctx_r1.backsearchiconclass, "");
478
488
  i0__namespace.ɵɵadvance(3);
479
489
  i0__namespace.ɵɵproperty("title", ctx_r1.query || "")("placeholder", ctx_r1.placeholder || "")("container", ctx_r1.containerTarget || ".wm-app")("disabled", ctx_r1.disabled);
480
490
  i0__namespace.ɵɵtwoWayProperty("ngModel", ctx_r1.query);
481
- i0__namespace.ɵɵproperty("ngModelOptions", i0__namespace.ɵɵpureFunction0(25, _c6))("readonly", ctx_r1.readonly)("typeahead", ctx_r1.typeaheadDataSource)("typeaheadWaitMs", ctx_r1.debouncetime)("typeaheadItemTemplate", customItemTemplate_r15)("optionsListTemplate", customListTemplate_r16)("typeaheadMinLength", ctx_r1.minchars)("typeaheadOptionsLimit", ctx_r1.limit)("typeaheadGroupField", ctx_r1.groupby ? "groupby" : null)("typeaheadAsync", true)("typeaheadScrollable", true)("adaptivePosition", true)("typeaheadOptionsInScrollableView", ctx_r1.optionslimitinscrollableview)("tabindex", ctx_r1.tabindex)("dropup", ctx_r1.dropup);
491
+ i0__namespace.ɵɵproperty("ngModelOptions", i0__namespace.ɵɵpureFunction0(31, _c6))("readonly", ctx_r1.readonly)("typeahead", ctx_r1.typeaheadDataSource)("typeaheadWaitMs", ctx_r1.debouncetime)("typeaheadItemTemplate", customItemTemplate_r15)("optionsListTemplate", customListTemplate_r16)("typeaheadMinLength", ctx_r1.minchars)("typeaheadOptionsLimit", ctx_r1.limit)("typeaheadGroupField", ctx_r1.groupby ? "groupby" : null)("typeaheadAsync", true)("typeaheadScrollable", true)("adaptivePosition", true)("typeaheadOptionsInScrollableView", ctx_r1.optionslimitinscrollableview)("tabindex", ctx_r1.tabindex)("dropup", ctx_r1.dropup);
482
492
  i0__namespace.ɵɵattribute("name", ctx_r1.name)("aria-label", ctx_r1.hint || "Search field");
483
493
  i0__namespace.ɵɵadvance(2);
484
494
  i0__namespace.ɵɵproperty("ngIf", ctx_r1._loadingItems);
485
495
  i0__namespace.ɵɵadvance();
486
- i0__namespace.ɵɵproperty("ngClass", i0__namespace.ɵɵpureFunction1(26, _c7, ctx_r1.isQueryEntered()));
496
+ i0__namespace.ɵɵproperty("ngClass", i0__namespace.ɵɵpureFunction1(32, _c7, ctx_r1.isQueryEntered()));
497
+ i0__namespace.ɵɵadvance();
498
+ i0__namespace.ɵɵclassMapInterpolate1("app-icon ", ctx_r1.clearsearchiconclass, "");
487
499
  i0__namespace.ɵɵadvance(3);
488
500
  i0__namespace.ɵɵproperty("ngIf", ctx_r1.showsearchicon);
489
501
  } }
@@ -1176,8 +1188,8 @@
1176
1188
  i4.provideAs(SearchComponent, i2.NG_VALUE_ACCESSOR, true),
1177
1189
  i4.provideAs(SearchComponent, i2.NG_VALIDATORS, true),
1178
1190
  i4.provideAsWidgetRef(SearchComponent)
1179
- ]), i0__namespace.ɵɵInheritDefinitionFeature], attrs: _c2, decls: 7, vars: 2, consts: [["customItemTemplate", ""], ["customListTemplate", ""], ["searchTemplate", ""], ["ulElement", ""], ["liElements", ""], [4, "ngIf", "ngIfElse"], [4, "ngIf"], ["partialContainer", "", 3, "ngClass", "wmItemTemplate", "userComponentParams", 4, "ngIf"], ["alt", "Search", 3, "src", "width", 4, "ngIf"], [3, "title", "innerHtml"], ["alt", "Search", 3, "src"], ["partialContainer", "", 3, "ngClass", "wmItemTemplate", "userComponentParams"], ["partial-container-target", ""], ["scrollable", "", 1, "app-search", "dropdown-menu"], [3, "ngClass", "mouseenter", "click", 4, "ngFor", "ngForOf"], [1, "status", 3, "hidden"], [3, "textContent"], [1, "fa", "fa-circle-o-notch", "fa-spin"], [3, "mouseenter", "click", "ngClass"], ["class", "group-title", 4, "ngIf"], [3, "ngTemplateOutlet", "ngTemplateOutletContext", 4, "ngIf"], [1, "group-title"], [3, "ngTemplateOutlet", "ngTemplateOutletContext"], ["type", "text", "focus-target", "", "container", "body", "autocomplete", "off", "typeaheadOptionField", "label", 1, "app-textbox", "form-control", "list-of-objs", "app-search-input", 3, "ngModelChange", "input", "keydown", "keydown.enter", "keydown.arrowdown", "blur", "click", "focus", "focusout", "typeaheadLoading", "typeaheadOnSelect", "title", "placeholder", "disabled", "ngModel", "ngModelOptions", "readonly", "typeahead", "typeaheadWaitMs", "typeaheadItemTemplate", "optionsListTemplate", "typeaheadMinLength", "typeaheadOptionsLimit", "typeaheadGroupField", "typeaheadAsync", "typeaheadScrollable", "adaptivePosition", "typeaheadOptionsInScrollableView", "dropup", "tabindex"], [1, "btn-close", "wi", "wi-cancel", 3, "click", "hidden"], ["aria-hidden", "true", 1, "wi", "wi-arrow-left", "form-control-feedback", "back-btn", 3, "click"], [1, "sr-only"], ["type", "text", "focus-target", "", "autocomplete", "off", "typeaheadOptionField", "label", 1, "app-textbox", "form-control", "list-of-objs", "app-search-input", 3, "ngModelChange", "input", "keydown", "keydown.enter", "keydown.arrowdown", "blur", "click", "focus", "typeaheadLoading", "typeaheadOnSelect", "title", "placeholder", "container", "disabled", "ngModel", "ngModelOptions", "readonly", "typeahead", "typeaheadWaitMs", "typeaheadItemTemplate", "optionsListTemplate", "typeaheadMinLength", "typeaheadOptionsLimit", "typeaheadGroupField", "typeaheadAsync", "typeaheadScrollable", "adaptivePosition", "typeaheadOptionsInScrollableView", "tabindex", "dropup"], ["ng-model", "proxyModel", "ng-required", "required", "tabindex", "-1", "aria-hidden", "true", 1, "model-holder"], ["aria-hidden", "true", "class", "fa fa-circle-o-notch fa-spin form-control-feedback", 4, "ngIf"], [1, "wi", "wi-close", "form-control-feedback", "clear-btn", 3, "click", "ngClass"], ["class", "input-group-addon", "aria-label", "search icon", 3, "ngClass", 4, "ngIf"], ["aria-hidden", "true", 1, "fa", "fa-circle-o-notch", "fa-spin", "form-control-feedback"], ["aria-label", "search icon", 1, "input-group-addon", 3, "ngClass"], ["title", "Search", "type", "submit", 1, "app-search-button", "wm-sl-l", "sl-search", 3, "click", "disabled"]], template: function SearchComponent_Template(rf, ctx) { if (rf & 1) {
1180
- i0__namespace.ɵɵtemplate(0, SearchComponent_ng_template_0_Template, 2, 2, "ng-template", null, 0, i0__namespace.ɵɵtemplateRefExtractor)(2, SearchComponent_ng_template_2_Template, 8, 5, "ng-template", null, 1, i0__namespace.ɵɵtemplateRefExtractor)(4, SearchComponent_ng_container_4_Template, 3, 24, "ng-container", 5)(5, SearchComponent_ng_template_5_Template, 10, 28, "ng-template", null, 2, i0__namespace.ɵɵtemplateRefExtractor);
1191
+ ]), i0__namespace.ɵɵInheritDefinitionFeature], attrs: _c2, decls: 7, vars: 2, consts: [["customItemTemplate", ""], ["customListTemplate", ""], ["searchTemplate", ""], ["ulElement", ""], ["liElements", ""], [4, "ngIf", "ngIfElse"], [4, "ngIf"], ["partialContainer", "", 3, "ngClass", "wmItemTemplate", "userComponentParams", 4, "ngIf"], ["alt", "Search", 3, "src", "width", 4, "ngIf"], [3, "title", "innerHtml"], ["alt", "Search", 3, "src"], ["partialContainer", "", 3, "ngClass", "wmItemTemplate", "userComponentParams"], ["partial-container-target", ""], ["scrollable", "", 1, "app-search", "dropdown-menu"], [3, "ngClass", "mouseenter", "click", 4, "ngFor", "ngForOf"], [1, "status", 3, "hidden"], [3, "textContent"], [1, "fa", "fa-circle-o-notch", "fa-spin"], [3, "mouseenter", "click", "ngClass"], ["class", "group-title", 4, "ngIf"], [3, "ngTemplateOutlet", "ngTemplateOutletContext", 4, "ngIf"], [1, "group-title"], [3, "ngTemplateOutlet", "ngTemplateOutletContext"], ["type", "text", "focus-target", "", "container", "body", "autocomplete", "off", "typeaheadOptionField", "label", 1, "app-textbox", "form-control", "list-of-objs", "app-search-input", 3, "ngModelChange", "input", "keydown", "keydown.enter", "keydown.arrowdown", "blur", "click", "focus", "focusout", "typeaheadLoading", "typeaheadOnSelect", "title", "placeholder", "disabled", "ngModel", "ngModelOptions", "readonly", "typeahead", "typeaheadWaitMs", "typeaheadItemTemplate", "optionsListTemplate", "typeaheadMinLength", "typeaheadOptionsLimit", "typeaheadGroupField", "typeaheadAsync", "typeaheadScrollable", "adaptivePosition", "typeaheadOptionsInScrollableView", "dropup", "tabindex"], [1, "btn-close", "wi", "wi-cancel", 3, "click", "hidden"], ["aria-hidden", "true", 1, "btn", "btn-icon", "form-control-feedback", "back-btn", 3, "click"], [1, "sr-only"], ["type", "text", "focus-target", "", "autocomplete", "off", "typeaheadOptionField", "label", 1, "app-textbox", "form-control", "list-of-objs", "app-search-input", 3, "ngModelChange", "input", "keydown", "keydown.enter", "keydown.arrowdown", "blur", "click", "focus", "typeaheadLoading", "typeaheadOnSelect", "title", "placeholder", "container", "disabled", "ngModel", "ngModelOptions", "readonly", "typeahead", "typeaheadWaitMs", "typeaheadItemTemplate", "optionsListTemplate", "typeaheadMinLength", "typeaheadOptionsLimit", "typeaheadGroupField", "typeaheadAsync", "typeaheadScrollable", "adaptivePosition", "typeaheadOptionsInScrollableView", "tabindex", "dropup"], ["ng-model", "proxyModel", "ng-required", "required", "tabindex", "-1", "aria-hidden", "true", 1, "model-holder"], ["aria-hidden", "true", "class", "fa fa-circle-o-notch fa-spin form-control-feedback", 4, "ngIf"], [1, "btn", "btn-icon", "form-control-feedback", "clear-btn", 3, "click", "ngClass"], ["class", "input-group-addon", "aria-label", "search icon", 3, "ngClass", 4, "ngIf"], ["aria-hidden", "true", 1, "fa", "fa-circle-o-notch", "fa-spin", "form-control-feedback"], ["aria-label", "search icon", 1, "input-group-addon", 3, "ngClass"], ["title", "Search", "type", "submit", 1, "app-search-button", "btn", "btn-icon", 3, "click", "disabled"]], template: function SearchComponent_Template(rf, ctx) { if (rf & 1) {
1192
+ i0__namespace.ɵɵtemplate(0, SearchComponent_ng_template_0_Template, 2, 2, "ng-template", null, 0, i0__namespace.ɵɵtemplateRefExtractor)(2, SearchComponent_ng_template_2_Template, 8, 5, "ng-template", null, 1, i0__namespace.ɵɵtemplateRefExtractor)(4, SearchComponent_ng_container_4_Template, 3, 24, "ng-container", 5)(5, SearchComponent_ng_template_5_Template, 12, 34, "ng-template", null, 2, i0__namespace.ɵɵtemplateRefExtractor);
1181
1193
  } if (rf & 2) {
1182
1194
  const searchTemplate_r19 = i0__namespace.ɵɵreference(6);
1183
1195
  i0__namespace.ɵɵadvance(4);
@@ -1190,7 +1202,7 @@
1190
1202
  i4.provideAs(SearchComponent, i2.NG_VALUE_ACCESSOR, true),
1191
1203
  i4.provideAs(SearchComponent, i2.NG_VALIDATORS, true),
1192
1204
  i4.provideAsWidgetRef(SearchComponent)
1193
- ], template: "<ng-template #customItemTemplate let-model=\"item\" let-index=\"index\" let-query=\"query\" let-match=\"match\">\n <!-- Default item template -->\n <a *ngIf=\"!content\">\n <img *ngIf=\"model.imgSrc\" [src]=\"model.imgSrc\" alt=\"Search\" [style.width]=\"imagewidth\">\n <span [title]=\"model.label\" [innerHtml]=\"highlight(match, query) || model.label\"></span>\n </a>\n <!-- Custom partial template -->\n <a *ngIf=\"content\" [ngClass]=\"{customTemplate: content}\" partialContainer [wmItemTemplate]=\"content\" [userComponentParams]=\"match.item\">\n <div partial-container-target></div>\n </a>\n</ng-template>\n\n<ng-template #customListTemplate let-matches=\"matches\" let-itemTemplate=\"itemTemplate\" let-query=\"query\">\n <ul #ulElement class=\"app-search dropdown-menu\" scrollable>\n <li #liElements *ngFor=\"let match of matches; let i = index;\" [ngClass]=\"{active: typeaheadContainer && typeaheadContainer.isActive(match), 'list-group-header': match && match.isHeader()}\"\n (mouseenter)=\"typeaheadContainer.selectActive(match);\"\n (click)=\"match && !match.isHeader() && typeaheadContainer.selectMatch(match, $event); $typeaheadEvent = $event; notifySubscriber();\">\n <!-- itemTemplate comes from the <input> -->\n <h4 *ngIf=\"match.isHeader()\" class=\"group-title\">{{match.value}}</h4>\n <ng-container *ngIf=\"!match.isHeader()\" [ngTemplateOutlet]=\"itemTemplate\"\n [ngTemplateOutletContext]=\"{item: match.item, index: i, match: match, query: query}\">\n </ng-container>\n </li>\n <div class=\"status\" [hidden]=\"_loadingItems || !(datacompletemsg && dataProvider.isLastPage)\">\n <span [textContent]=\"datacompletemsg\"></span>\n </div>\n <div class=\"status\" [hidden]=\"!_loadingItems\">\n <i class=\"fa fa-circle-o-notch fa-spin\"></i>\n <span [textContent]=\"loadingdatamsg\"></span>\n </div>\n </ul>\n</ng-template>\n\n<!--This template is for search inside mobile navbar.-->\n<ng-container *ngIf=\"navsearchbar; else searchTemplate\">\n <input [title]=\"query || ''\" type=\"text\" class=\"app-textbox form-control list-of-objs app-search-input\" [placeholder]=\"placeholder || ''\"\n focus-target\n container=\"body\"\n [disabled]=\"disabled\"\n autocomplete=\"off\"\n [(ngModel)]=\"query\"\n [ngModelOptions]=\"{standalone: true}\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [typeahead]=\"typeaheadDataSource\"\n [typeaheadWaitMs]=\"debouncetime\"\n [typeaheadItemTemplate]=\"customItemTemplate\"\n [optionsListTemplate]=\"customListTemplate\"\n (input)=\"onInputChange($event)\"\n (keydown)=\"listenQuery = true\"\n (keydown.enter)=\"$typeaheadEvent = $event;handleEnterEvent($event)\"\n (keydown.arrowdown)=\"selectNext($event)\"\n (blur)=\"invokeOnTouched($event)\"\n (click)=\"handleFocus($event);\"\n (focus)=\"_unsubscribeDv = false; listenQuery = true; handleFocus($event); invokeOnFocus($event);\"\n (focusout)=\"onFocusOut()\"\n [typeaheadMinLength]=\"minchars\"\n [typeaheadOptionsLimit]=\"limit\"\n (typeaheadLoading)=\"_loadingItems\"\n (typeaheadOnSelect)=\"typeaheadOnSelect($event)\"\n typeaheadOptionField=\"label\"\n [typeaheadGroupField]=\"groupby ? 'groupby' : null\"\n [typeaheadAsync]=\"true\"\n [typeaheadScrollable]=\"true\"\n [adaptivePosition]=\"true\"\n [typeaheadOptionsInScrollableView]=\"optionslimitinscrollableview\"\n [dropup]=\"dropup\"\n [tabindex]=\"tabindex\"\n [attr.name]=\"name\"\n [attr.aria-label]=\"hint || 'Search field'\"/>\n <i class=\"btn-close wi wi-cancel\" [hidden]=\"!showClosebtn\" (click)=\"clearSearch($event);\"></i>\n</ng-container>\n<!--This template is for both web and fullscreen mode in mobile.-->\n<ng-template #searchTemplate>\n <span class=\"wi wi-arrow-left form-control-feedback back-btn\" aria-hidden=\"true\" (click)=\"closeSearch()\"></span>\n <span class=\"sr-only\">Back button</span>\n <input [title]=\"query || ''\" type=\"text\" class=\"app-textbox form-control list-of-objs app-search-input\" [placeholder]=\"placeholder || ''\"\n focus-target\n [container]=\"containerTarget || '.wm-app'\"\n [disabled]=\"disabled\"\n autocomplete=\"off\"\n [(ngModel)]=\"query\"\n [ngModelOptions]=\"{standalone: true}\"\n [readonly]=\"readonly\"\n [typeahead]=\"typeaheadDataSource\"\n [typeaheadWaitMs]=\"debouncetime\"\n [typeaheadItemTemplate]=\"customItemTemplate\"\n [optionsListTemplate]=\"customListTemplate\"\n (input)=\"onInputChange($event)\"\n (keydown)=\"listenQuery = true\"\n (keydown.enter)=\"$typeaheadEvent = $event;handleEnterEvent($event)\"\n (keydown.arrowdown)=\"selectNext($event)\"\n (blur)=\"invokeOnTouched($event); onFocusOut()\"\n (click)=\"handleFocus($event);\"\n (focus)=\"_unsubscribeDv = false; listenQuery = true; handleFocus($event); invokeOnFocus($event)\"\n [typeaheadMinLength]=\"minchars\"\n [typeaheadOptionsLimit]=\"limit\"\n (typeaheadLoading)=\"_loadingItems\"\n (typeaheadOnSelect)=\"typeaheadOnSelect($event)\"\n typeaheadOptionField=\"label\"\n [typeaheadGroupField]=\"groupby ? 'groupby' : null\"\n [typeaheadAsync]=\"true\"\n [typeaheadScrollable]=\"true\"\n [adaptivePosition]=\"true\"\n [typeaheadOptionsInScrollableView]=\"optionslimitinscrollableview\"\n [tabindex]=\"tabindex\"\n [dropup]=\"dropup\"\n [attr.name]=\"name\"\n [attr.aria-label]=\"hint || 'Search field'\">\n <input class=\"model-holder\" ng-model=\"proxyModel\" ng-required=\"required\" tabindex=\"-1\" aria-hidden=\"true\">\n <span *ngIf=\"_loadingItems\" aria-hidden=\"true\" class=\"fa fa-circle-o-notch fa-spin form-control-feedback\"></span>\n <span class=\"wi wi-close form-control-feedback clear-btn\" [ngClass]=\"{'show-btn': isQueryEntered()}\" (click)=\"clearSearch($event, true)\"></span>\n <span class=\"sr-only\">Clear button</span>\n <span *ngIf=\"showsearchicon\" class=\"input-group-addon\" aria-label=\"search icon\" [ngClass]=\"{'disabled': disabled}\">\n <form>\n <button title=\"Search\" [disabled]=\"disabled\" class=\"app-search-button wm-sl-l sl-search\" type=\"submit\"\n (click)=\"onSearchSelect($event)\"></button>\n </form>\n </span>\n</ng-template>\n" }]
1205
+ ], template: "<ng-template #customItemTemplate let-model=\"item\" let-index=\"index\" let-query=\"query\" let-match=\"match\">\n <!-- Default item template -->\n <a *ngIf=\"!content\">\n <img *ngIf=\"model.imgSrc\" [src]=\"model.imgSrc\" alt=\"Search\" [style.width]=\"imagewidth\">\n <span [title]=\"model.label\" [innerHtml]=\"highlight(match, query) || model.label\"></span>\n </a>\n <!-- Custom partial template -->\n <a *ngIf=\"content\" [ngClass]=\"{customTemplate: content}\" partialContainer [wmItemTemplate]=\"content\" [userComponentParams]=\"match.item\">\n <div partial-container-target></div>\n </a>\n</ng-template>\n\n<ng-template #customListTemplate let-matches=\"matches\" let-itemTemplate=\"itemTemplate\" let-query=\"query\">\n <ul #ulElement class=\"app-search dropdown-menu\" scrollable>\n <li #liElements *ngFor=\"let match of matches; let i = index;\" [ngClass]=\"{active: typeaheadContainer && typeaheadContainer.isActive(match), 'list-group-header': match && match.isHeader()}\"\n (mouseenter)=\"typeaheadContainer.selectActive(match);\"\n (click)=\"match && !match.isHeader() && typeaheadContainer.selectMatch(match, $event); $typeaheadEvent = $event; notifySubscriber();\">\n <!-- itemTemplate comes from the <input> -->\n <h4 *ngIf=\"match.isHeader()\" class=\"group-title\">{{match.value}}</h4>\n <ng-container *ngIf=\"!match.isHeader()\" [ngTemplateOutlet]=\"itemTemplate\"\n [ngTemplateOutletContext]=\"{item: match.item, index: i, match: match, query: query}\">\n </ng-container>\n </li>\n <div class=\"status\" [hidden]=\"_loadingItems || !(datacompletemsg && dataProvider.isLastPage)\">\n <span [textContent]=\"datacompletemsg\"></span>\n </div>\n <div class=\"status\" [hidden]=\"!_loadingItems\">\n <i class=\"fa fa-circle-o-notch fa-spin\"></i>\n <span [textContent]=\"loadingdatamsg\"></span>\n </div>\n </ul>\n</ng-template>\n\n<!--This template is for search inside mobile navbar.-->\n<ng-container *ngIf=\"navsearchbar; else searchTemplate\">\n <input [title]=\"query || ''\" type=\"text\" class=\"app-textbox form-control list-of-objs app-search-input\" [placeholder]=\"placeholder || ''\"\n focus-target\n container=\"body\"\n [disabled]=\"disabled\"\n autocomplete=\"off\"\n [(ngModel)]=\"query\"\n [ngModelOptions]=\"{standalone: true}\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [typeahead]=\"typeaheadDataSource\"\n [typeaheadWaitMs]=\"debouncetime\"\n [typeaheadItemTemplate]=\"customItemTemplate\"\n [optionsListTemplate]=\"customListTemplate\"\n (input)=\"onInputChange($event)\"\n (keydown)=\"listenQuery = true\"\n (keydown.enter)=\"$typeaheadEvent = $event;handleEnterEvent($event)\"\n (keydown.arrowdown)=\"selectNext($event)\"\n (blur)=\"invokeOnTouched($event)\"\n (click)=\"handleFocus($event);\"\n (focus)=\"_unsubscribeDv = false; listenQuery = true; handleFocus($event); invokeOnFocus($event);\"\n (focusout)=\"onFocusOut()\"\n [typeaheadMinLength]=\"minchars\"\n [typeaheadOptionsLimit]=\"limit\"\n (typeaheadLoading)=\"_loadingItems\"\n (typeaheadOnSelect)=\"typeaheadOnSelect($event)\"\n typeaheadOptionField=\"label\"\n [typeaheadGroupField]=\"groupby ? 'groupby' : null\"\n [typeaheadAsync]=\"true\"\n [typeaheadScrollable]=\"true\"\n [adaptivePosition]=\"true\"\n [typeaheadOptionsInScrollableView]=\"optionslimitinscrollableview\"\n [dropup]=\"dropup\"\n [tabindex]=\"tabindex\"\n [attr.name]=\"name\"\n [attr.aria-label]=\"hint || 'Search field'\"/>\n <i class=\"btn-close wi wi-cancel\" [hidden]=\"!showClosebtn\" (click)=\"clearSearch($event);\"></i>\n</ng-container>\n<!--This template is for both web and fullscreen mode in mobile.-->\n<ng-template #searchTemplate>\n <button class=\"btn btn-icon form-control-feedback back-btn\" aria-hidden=\"true\" (click)=\"closeSearch()\"><i class=\"app-icon {{backsearchiconclass}}\"></i></button>\n <span class=\"sr-only\">Back button</span>\n <input [title]=\"query || ''\" type=\"text\" class=\"app-textbox form-control list-of-objs app-search-input\" [placeholder]=\"placeholder || ''\"\n focus-target\n [container]=\"containerTarget || '.wm-app'\"\n [disabled]=\"disabled\"\n autocomplete=\"off\"\n [(ngModel)]=\"query\"\n [ngModelOptions]=\"{standalone: true}\"\n [readonly]=\"readonly\"\n [typeahead]=\"typeaheadDataSource\"\n [typeaheadWaitMs]=\"debouncetime\"\n [typeaheadItemTemplate]=\"customItemTemplate\"\n [optionsListTemplate]=\"customListTemplate\"\n (input)=\"onInputChange($event)\"\n (keydown)=\"listenQuery = true\"\n (keydown.enter)=\"$typeaheadEvent = $event;handleEnterEvent($event)\"\n (keydown.arrowdown)=\"selectNext($event)\"\n (blur)=\"invokeOnTouched($event); onFocusOut()\"\n (click)=\"handleFocus($event);\"\n (focus)=\"_unsubscribeDv = false; listenQuery = true; handleFocus($event); invokeOnFocus($event)\"\n [typeaheadMinLength]=\"minchars\"\n [typeaheadOptionsLimit]=\"limit\"\n (typeaheadLoading)=\"_loadingItems\"\n (typeaheadOnSelect)=\"typeaheadOnSelect($event)\"\n typeaheadOptionField=\"label\"\n [typeaheadGroupField]=\"groupby ? 'groupby' : null\"\n [typeaheadAsync]=\"true\"\n [typeaheadScrollable]=\"true\"\n [adaptivePosition]=\"true\"\n [typeaheadOptionsInScrollableView]=\"optionslimitinscrollableview\"\n [tabindex]=\"tabindex\"\n [dropup]=\"dropup\"\n [attr.name]=\"name\"\n [attr.aria-label]=\"hint || 'Search field'\">\n <input class=\"model-holder\" ng-model=\"proxyModel\" ng-required=\"required\" tabindex=\"-1\" aria-hidden=\"true\">\n <span *ngIf=\"_loadingItems\" aria-hidden=\"true\" class=\"fa fa-circle-o-notch fa-spin form-control-feedback\"></span>\n <button class=\"btn btn-icon form-control-feedback clear-btn\" [ngClass]=\"{'show-btn': isQueryEntered()}\" (click)=\"clearSearch($event, true)\"><i class=\"app-icon {{clearsearchiconclass}}\"></i></button>\n <span class=\"sr-only\">Clear button</span>\n <span *ngIf=\"showsearchicon\" class=\"input-group-addon\" aria-label=\"search icon\" [ngClass]=\"{'disabled': disabled}\">\n <form>\n <button title=\"Search\" [disabled]=\"disabled\" class=\"app-search-button btn btn-icon\" type=\"submit\"\n (click)=\"onSearchSelect($event)\">\n <i class=\"app-icon {{searchiconclass}}\"></i></button>\n </form>\n </span>\n</ng-template>\n" }]
1194
1206
  }], () => [{ type: i0__namespace.Injector }, { type: i1__namespace.App }, { type: undefined, decorators: [{
1195
1207
  type: i0.Attribute,
1196
1208
  args: ['datavalue.bind']