ngx-ode-ui 4.6.0-dev-produit.2 → 4.6.0-dev-integration.2

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 (226) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/bundles/ngx-ode-ui.umd.js +5804 -0
  3. package/bundles/ngx-ode-ui.umd.js.map +1 -0
  4. package/bundles/ngx-ode-ui.umd.min.js +17 -0
  5. package/bundles/ngx-ode-ui.umd.min.js.map +1 -0
  6. package/esm2015/lib/components/datepicker/datepicker.component.js +261 -0
  7. package/esm2015/lib/components/dropdown/dropdown.component.js +76 -0
  8. package/esm2015/lib/components/ellipsis/ellipsis.component.js +98 -0
  9. package/esm2015/lib/components/form-errors/form-errors.component.js +65 -0
  10. package/esm2015/lib/components/form-field/form-field.component.js +40 -0
  11. package/esm2015/lib/components/item-tree/item-tree.component.js +289 -0
  12. package/esm2015/lib/components/lightbox/lightbox.component.js +129 -0
  13. package/esm2015/lib/components/lightbox-confirm/lightbox-confirm.component.js +65 -0
  14. package/esm2015/lib/components/list/list.component.js +140 -0
  15. package/esm2015/lib/components/list-checkable/list-checkable.component.js +137 -0
  16. package/esm2015/lib/components/message-box/message-box.component.js +153 -0
  17. package/esm2015/lib/components/message-sticker/message-sticker.component.js +81 -0
  18. package/esm2015/lib/components/mono-select/mono-select.component.js +164 -0
  19. package/esm2015/lib/components/multi-combo/multi-combo.component.js +255 -0
  20. package/esm2015/lib/components/multi-select/multi-select.component.js +214 -0
  21. package/esm2015/lib/components/panel-section/panel-section.component.js +38 -0
  22. package/esm2015/lib/components/portal/portal.component.js +27 -0
  23. package/esm2015/lib/components/push-panel/push-panel.component.js +81 -0
  24. package/esm2015/lib/components/search-input/search-input.component.js +176 -0
  25. package/esm2015/lib/components/search-toolbar/search-toolbar.component.js +84 -0
  26. package/esm2015/lib/components/side-layout/side-layout.component.js +39 -0
  27. package/esm2015/lib/components/side-panel/side-panel.component.js +76 -0
  28. package/esm2015/lib/components/spinner-cube/spinner-cube.component.js +67 -0
  29. package/esm2015/lib/components/table/pager.component.js +95 -0
  30. package/esm2015/lib/components/tooltip/tooltip.component.js +172 -0
  31. package/esm2015/lib/components/upload-files/upload-files.component.js +112 -0
  32. package/esm2015/lib/components/value-editable/simple-select.component.js +57 -0
  33. package/esm2015/lib/components/wizard/wizard.component.js +225 -0
  34. package/esm2015/lib/directives/anchor.directive.js +34 -0
  35. package/esm2015/lib/directives/drag-and-drop-files.directive.js +126 -0
  36. package/esm2015/lib/directives/dynamic-component/component-descriptor.model.js +34 -0
  37. package/esm2015/lib/directives/dynamic-component/dynamic-component.directive.js +100 -0
  38. package/esm2015/lib/directives/dynamictemplate.directive.js +159 -0
  39. package/esm2015/lib/directives/object-url.directive.js +53 -0
  40. package/esm2015/lib/ngx-ode-ui.module.js +188 -0
  41. package/esm2015/lib/pipes/bytes.pipe.js +27 -0
  42. package/esm2015/lib/pipes/filter.pipe.js +141 -0
  43. package/esm2015/lib/pipes/flattenObjArray.pipe.js +52 -0
  44. package/esm2015/lib/pipes/keys.pipe.js +27 -0
  45. package/esm2015/lib/pipes/length.pipe.js +22 -0
  46. package/esm2015/lib/pipes/limit.pipe.js +24 -0
  47. package/esm2015/lib/pipes/localizedDate.pipe.js +44 -0
  48. package/esm2015/lib/pipes/orderBy.pipe.js +269 -0
  49. package/esm2015/lib/pipes/store.pipe.js +24 -0
  50. package/esm2015/lib/services/dynamicModuleImports.service.js +19 -0
  51. package/esm2015/lib/services/inputFile.service.js +80 -0
  52. package/esm2015/lib/services/labels.service.js +54 -0
  53. package/esm2015/lib/services/spinner.service.js +163 -0
  54. package/esm2015/lib/utils/math.js +49 -0
  55. package/esm2015/lib/utils/string.js +29 -0
  56. package/esm2015/lib/utils/testing.js +20 -0
  57. package/esm2015/ngx-ode-ui.js +12 -0
  58. package/esm2015/public-api.js +59 -0
  59. package/esm5/lib/components/datepicker/datepicker.component.js +292 -0
  60. package/esm5/lib/components/dropdown/dropdown.component.js +81 -0
  61. package/esm5/lib/components/ellipsis/ellipsis.component.js +106 -0
  62. package/esm5/lib/components/form-errors/form-errors.component.js +73 -0
  63. package/esm5/lib/components/form-field/form-field.component.js +41 -0
  64. package/esm5/lib/components/item-tree/item-tree.component.js +345 -0
  65. package/esm5/lib/components/lightbox/lightbox.component.js +141 -0
  66. package/esm5/lib/components/lightbox-confirm/lightbox-confirm.component.js +67 -0
  67. package/esm5/lib/components/list/list.component.js +146 -0
  68. package/esm5/lib/components/list-checkable/list-checkable.component.js +148 -0
  69. package/esm5/lib/components/message-box/message-box.component.js +190 -0
  70. package/esm5/lib/components/message-sticker/message-sticker.component.js +92 -0
  71. package/esm5/lib/components/mono-select/mono-select.component.js +192 -0
  72. package/esm5/lib/components/multi-combo/multi-combo.component.js +294 -0
  73. package/esm5/lib/components/multi-select/multi-select.component.js +258 -0
  74. package/esm5/lib/components/panel-section/panel-section.component.js +40 -0
  75. package/esm5/lib/components/portal/portal.component.js +28 -0
  76. package/esm5/lib/components/push-panel/push-panel.component.js +91 -0
  77. package/esm5/lib/components/search-input/search-input.component.js +199 -0
  78. package/esm5/lib/components/search-toolbar/search-toolbar.component.js +93 -0
  79. package/esm5/lib/components/side-layout/side-layout.component.js +41 -0
  80. package/esm5/lib/components/side-panel/side-panel.component.js +85 -0
  81. package/esm5/lib/components/spinner-cube/spinner-cube.component.js +76 -0
  82. package/esm5/lib/components/table/pager.component.js +113 -0
  83. package/esm5/lib/components/tooltip/tooltip.component.js +188 -0
  84. package/esm5/lib/components/upload-files/upload-files.component.js +133 -0
  85. package/esm5/lib/components/value-editable/simple-select.component.js +59 -0
  86. package/esm5/lib/components/wizard/wizard.component.js +161 -0
  87. package/esm5/lib/directives/anchor.directive.js +39 -0
  88. package/esm5/lib/directives/drag-and-drop-files.directive.js +146 -0
  89. package/esm5/lib/directives/dynamic-component/component-descriptor.model.js +44 -0
  90. package/esm5/lib/directives/dynamic-component/dynamic-component.directive.js +109 -0
  91. package/esm5/lib/directives/dynamictemplate.directive.js +175 -0
  92. package/esm5/lib/directives/object-url.directive.js +62 -0
  93. package/esm5/lib/ngx-ode-ui.module.js +199 -0
  94. package/esm5/lib/pipes/bytes.pipe.js +37 -0
  95. package/esm5/lib/pipes/filter.pipe.js +179 -0
  96. package/esm5/lib/pipes/flattenObjArray.pipe.js +62 -0
  97. package/esm5/lib/pipes/keys.pipe.js +36 -0
  98. package/esm5/lib/pipes/length.pipe.js +30 -0
  99. package/esm5/lib/pipes/limit.pipe.js +35 -0
  100. package/esm5/lib/pipes/localizedDate.pipe.js +49 -0
  101. package/esm5/lib/pipes/orderBy.pipe.js +280 -0
  102. package/esm5/lib/pipes/store.pipe.js +35 -0
  103. package/esm5/lib/services/dynamicModuleImports.service.js +21 -0
  104. package/esm5/lib/services/inputFile.service.js +98 -0
  105. package/esm5/lib/services/labels.service.js +68 -0
  106. package/esm5/lib/services/spinner.service.js +195 -0
  107. package/esm5/lib/utils/math.js +49 -0
  108. package/esm5/lib/utils/string.js +29 -0
  109. package/esm5/lib/utils/testing.js +20 -0
  110. package/esm5/ngx-ode-ui.js +12 -0
  111. package/esm5/public-api.js +59 -0
  112. package/fesm2015/ngx-ode-ui.js +5027 -0
  113. package/fesm2015/ngx-ode-ui.js.map +1 -0
  114. package/fesm5/ngx-ode-ui.js +5560 -0
  115. package/fesm5/ngx-ode-ui.js.map +1 -0
  116. package/lib/components/datepicker/datepicker.component.d.ts +2 -7
  117. package/lib/components/dropdown/dropdown.component.d.ts +0 -3
  118. package/lib/components/ellipsis/ellipsis.component.d.ts +1 -4
  119. package/lib/components/form-errors/form-errors.component.d.ts +0 -3
  120. package/lib/components/form-field/form-field.component.d.ts +0 -3
  121. package/lib/components/item-tree/item-tree.component.d.ts +1 -5
  122. package/lib/components/lightbox/lightbox.component.d.ts +1 -5
  123. package/lib/components/lightbox-confirm/lightbox-confirm.component.d.ts +0 -3
  124. package/lib/components/list/list.component.d.ts +1 -5
  125. package/lib/components/list-checkable/list-checkable.component.d.ts +1 -5
  126. package/lib/components/message-box/message-box.component.d.ts +4 -8
  127. package/lib/components/message-sticker/message-sticker.component.d.ts +0 -3
  128. package/lib/components/mono-select/mono-select.component.d.ts +0 -3
  129. package/lib/components/multi-combo/multi-combo.component.d.ts +1 -4
  130. package/lib/components/multi-select/multi-select.component.d.ts +0 -3
  131. package/lib/components/panel-section/panel-section.component.d.ts +0 -3
  132. package/lib/components/portal/portal.component.d.ts +0 -3
  133. package/lib/components/push-panel/push-panel.component.d.ts +1 -4
  134. package/lib/components/search-input/search-input.component.d.ts +1 -5
  135. package/lib/components/search-toolbar/search-toolbar.component.d.ts +0 -3
  136. package/lib/components/side-layout/side-layout.component.d.ts +0 -3
  137. package/lib/components/side-panel/side-panel.component.d.ts +1 -4
  138. package/lib/components/spinner-cube/spinner-cube.component.d.ts +1 -5
  139. package/lib/components/table/pager.component.d.ts +0 -3
  140. package/lib/components/tooltip/tooltip.component.d.ts +0 -3
  141. package/lib/components/upload-files/upload-files.component.d.ts +0 -3
  142. package/lib/components/value-editable/simple-select.component.d.ts +0 -3
  143. package/lib/components/wizard/wizard.component.d.ts +0 -5
  144. package/lib/directives/anchor.directive.d.ts +0 -3
  145. package/lib/directives/drag-and-drop-files.directive.d.ts +0 -3
  146. package/lib/directives/dynamic-component/dynamic-component.directive.d.ts +0 -3
  147. package/lib/directives/dynamictemplate.directive.d.ts +1 -4
  148. package/lib/directives/object-url.directive.d.ts +0 -3
  149. package/lib/ngx-ode-ui.module.d.ts +2 -53
  150. package/lib/pipes/bytes.pipe.d.ts +0 -3
  151. package/lib/pipes/filter.pipe.d.ts +0 -3
  152. package/lib/pipes/flattenObjArray.pipe.d.ts +0 -3
  153. package/lib/pipes/keys.pipe.d.ts +0 -3
  154. package/lib/pipes/length.pipe.d.ts +0 -3
  155. package/lib/pipes/limit.pipe.d.ts +0 -3
  156. package/lib/pipes/localizedDate.pipe.d.ts +0 -3
  157. package/lib/pipes/orderBy.pipe.d.ts +0 -3
  158. package/lib/pipes/store.pipe.d.ts +0 -3
  159. package/lib/services/dynamicModuleImports.service.d.ts +0 -3
  160. package/lib/services/inputFile.service.d.ts +0 -3
  161. package/lib/services/labels.service.d.ts +0 -3
  162. package/lib/services/spinner.service.d.ts +1 -4
  163. package/ngx-ode-ui.d.ts +6 -0
  164. package/ngx-ode-ui.metadata.json +1 -0
  165. package/package.json +17 -29
  166. package/public-api.d.ts +0 -3
  167. package/esm2020/lib/components/datepicker/datepicker.component.mjs +0 -148
  168. package/esm2020/lib/components/dropdown/dropdown.component.mjs +0 -55
  169. package/esm2020/lib/components/ellipsis/ellipsis.component.mjs +0 -53
  170. package/esm2020/lib/components/form-errors/form-errors.component.mjs +0 -35
  171. package/esm2020/lib/components/form-field/form-field.component.mjs +0 -24
  172. package/esm2020/lib/components/item-tree/item-tree.component.mjs +0 -170
  173. package/esm2020/lib/components/lightbox/lightbox.component.mjs +0 -70
  174. package/esm2020/lib/components/lightbox-confirm/lightbox-confirm.component.mjs +0 -43
  175. package/esm2020/lib/components/list/list.component.mjs +0 -88
  176. package/esm2020/lib/components/list-checkable/list-checkable.component.mjs +0 -79
  177. package/esm2020/lib/components/message-box/message-box.component.mjs +0 -92
  178. package/esm2020/lib/components/message-sticker/message-sticker.component.mjs +0 -51
  179. package/esm2020/lib/components/mono-select/mono-select.component.mjs +0 -83
  180. package/esm2020/lib/components/multi-combo/multi-combo.component.mjs +0 -166
  181. package/esm2020/lib/components/multi-select/multi-select.component.mjs +0 -104
  182. package/esm2020/lib/components/panel-section/panel-section.component.mjs +0 -23
  183. package/esm2020/lib/components/portal/portal.component.mjs +0 -15
  184. package/esm2020/lib/components/push-panel/push-panel.component.mjs +0 -43
  185. package/esm2020/lib/components/search-input/search-input.component.mjs +0 -87
  186. package/esm2020/lib/components/search-toolbar/search-toolbar.component.mjs +0 -56
  187. package/esm2020/lib/components/side-layout/side-layout.component.mjs +0 -23
  188. package/esm2020/lib/components/side-panel/side-panel.component.mjs +0 -41
  189. package/esm2020/lib/components/spinner-cube/spinner-cube.component.mjs +0 -31
  190. package/esm2020/lib/components/table/pager.component.mjs +0 -48
  191. package/esm2020/lib/components/tooltip/tooltip.component.mjs +0 -104
  192. package/esm2020/lib/components/upload-files/upload-files.component.mjs +0 -59
  193. package/esm2020/lib/components/value-editable/simple-select.component.mjs +0 -29
  194. package/esm2020/lib/components/wizard/wizard.component.mjs +0 -152
  195. package/esm2020/lib/directives/anchor.directive.mjs +0 -27
  196. package/esm2020/lib/directives/drag-and-drop-files.directive.mjs +0 -82
  197. package/esm2020/lib/directives/dynamic-component/component-descriptor.model.mjs +0 -15
  198. package/esm2020/lib/directives/dynamic-component/dynamic-component.directive.mjs +0 -58
  199. package/esm2020/lib/directives/dynamictemplate.directive.mjs +0 -83
  200. package/esm2020/lib/directives/object-url.directive.mjs +0 -28
  201. package/esm2020/lib/ngx-ode-ui.module.mjs +0 -282
  202. package/esm2020/lib/pipes/bytes.pipe.mjs +0 -20
  203. package/esm2020/lib/pipes/filter.pipe.mjs +0 -97
  204. package/esm2020/lib/pipes/flattenObjArray.pipe.mjs +0 -35
  205. package/esm2020/lib/pipes/keys.pipe.mjs +0 -20
  206. package/esm2020/lib/pipes/length.pipe.mjs +0 -17
  207. package/esm2020/lib/pipes/limit.pipe.mjs +0 -17
  208. package/esm2020/lib/pipes/localizedDate.pipe.mjs +0 -23
  209. package/esm2020/lib/pipes/orderBy.pipe.mjs +0 -161
  210. package/esm2020/lib/pipes/replace.pipe.mjs +0 -20
  211. package/esm2020/lib/pipes/store.pipe.mjs +0 -17
  212. package/esm2020/lib/services/dynamicModuleImports.service.mjs +0 -13
  213. package/esm2020/lib/services/inputFile.service.mjs +0 -56
  214. package/esm2020/lib/services/labels.service.mjs +0 -32
  215. package/esm2020/lib/services/spinner.service.mjs +0 -76
  216. package/esm2020/lib/utils/math.mjs +0 -19
  217. package/esm2020/lib/utils/string.mjs +0 -11
  218. package/esm2020/lib/utils/testing.mjs +0 -7
  219. package/esm2020/ngx-ode-ui.mjs +0 -5
  220. package/esm2020/public-api.mjs +0 -57
  221. package/fesm2015/ngx-ode-ui.mjs +0 -2954
  222. package/fesm2015/ngx-ode-ui.mjs.map +0 -1
  223. package/fesm2020/ngx-ode-ui.mjs +0 -2952
  224. package/fesm2020/ngx-ode-ui.mjs.map +0 -1
  225. package/index.d.ts +0 -5
  226. package/lib/pipes/replace.pipe.d.ts +0 -8
@@ -0,0 +1,261 @@
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * Generated from: lib/components/datepicker/datepicker.component.ts
4
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
+ */
6
+ import { OdeComponent } from 'ngx-ode-core';
7
+ import { Component, ElementRef, EventEmitter, forwardRef, Input, Output, Renderer2, ViewChild, Injector } from '@angular/core';
8
+ import { NG_VALUE_ACCESSOR, NgModel } from '@angular/forms';
9
+ import { LabelsService } from '../../services/labels.service';
10
+ import Flatpickr from 'flatpickr';
11
+ import French from 'flatpickr/dist/l10n/fr.js';
12
+ // access ngmodel
13
+ /** @type {?} */
14
+ const NOOP = (/**
15
+ * @return {?}
16
+ */
17
+ () => {
18
+ });
19
+ const ɵ0 = NOOP;
20
+ /** @type {?} */
21
+ export const CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR = {
22
+ provide: NG_VALUE_ACCESSOR,
23
+ useExisting: forwardRef((/**
24
+ * @return {?}
25
+ */
26
+ () => DatepickerComponent)),
27
+ multi: true
28
+ };
29
+ export class DatepickerComponent extends OdeComponent {
30
+ /**
31
+ * @param {?} renderer
32
+ * @param {?} labelsService
33
+ * @param {?} injector
34
+ */
35
+ constructor(renderer, labelsService, injector) {
36
+ super(injector);
37
+ this.renderer = renderer;
38
+ this.labelsService = labelsService;
39
+ this.innerValue = '';
40
+ this.disabled = false;
41
+ this._readonly = false;
42
+ this.enableTime = false;
43
+ this.placeholder = '';
44
+ this.changeDate = new EventEmitter();
45
+ this.onChangeCallback = NOOP;
46
+ this.onTouchedCallback = NOOP;
47
+ }
48
+ /**
49
+ * @return {?}
50
+ */
51
+ get value() {
52
+ return this.innerValue;
53
+ }
54
+ /**
55
+ * @param {?} v
56
+ * @return {?}
57
+ */
58
+ set value(v) {
59
+ /** @type {?} */
60
+ let init = false;
61
+ if (this.innerValue === undefined) {
62
+ init = true;
63
+ }
64
+ if (v !== this.innerValue) {
65
+ this.innerValue = v;
66
+ this.onChangeCallback(v);
67
+ if (!init) {
68
+ this.changeDate.emit(v);
69
+ }
70
+ }
71
+ }
72
+ /**
73
+ * @param {?} val
74
+ * @return {?}
75
+ */
76
+ set readonly(val) {
77
+ this._readonly = val;
78
+ if (this.datePickerInst && this.datePickerInst.altInput) {
79
+ // Apply the readonly attribute addition/removal to the visible input (wrapped)
80
+ if (val)
81
+ this.datePickerInst.altInput.setAttribute('readonly', "");
82
+ else
83
+ this.datePickerInst.altInput.removeAttribute('readonly');
84
+ }
85
+ }
86
+ /**
87
+ * @return {?}
88
+ */
89
+ get readonly() {
90
+ return this._readonly;
91
+ }
92
+ /**
93
+ * @return {?}
94
+ */
95
+ ngAfterViewInit() {
96
+ super.ngAfterViewInit();
97
+ // add attr data-input, mandatory for the picker to work in wrap mode
98
+ this.renderer.setAttribute(this.inputElement.nativeElement, 'data-input', '');
99
+ // disabled case
100
+ if (this.disabled === true) {
101
+ this.model.control.disable();
102
+ }
103
+ /** @type {?} */
104
+ const navigatorLanguage = navigator.language.split('-')[0];
105
+ /** @type {?} */
106
+ let datePickerLocale = {};
107
+ if (navigatorLanguage === 'fr') {
108
+ datePickerLocale = French.fr;
109
+ }
110
+ // options for the flatpickr instance
111
+ /** @type {?} */
112
+ const options = {
113
+ altInput: !this.disabled,
114
+ altFormat: 'd/m/Y',
115
+ // date format displayed to user
116
+ dateFormat: 'Y-m-d',
117
+ // date format sent to server
118
+ allowInput: false,
119
+ enableTime: this.enableTime,
120
+ minDate: this.minDate,
121
+ maxDate: this.maxDate,
122
+ clickOpens: false,
123
+ wrap: true,
124
+ // to add input decoration (calendar icon and delete icon)
125
+ locale: datePickerLocale
126
+ };
127
+ this.datePickerInst = new Flatpickr(this.datePickerElement.nativeElement, options);
128
+ if (!this.disabled) {
129
+ this.datePickerInst.altInput.addEventListener('click', (/**
130
+ * @param {?} e
131
+ * @return {?}
132
+ */
133
+ e => {
134
+ if (!this.readonly) {
135
+ this.datePickerInst.toggle();
136
+ }
137
+ }));
138
+ }
139
+ // Force updating the date input readonly attribute :
140
+ this.readonly = this._readonly;
141
+ }
142
+ /**
143
+ * @return {?}
144
+ */
145
+ ngOnDestroy() {
146
+ super.ngOnDestroy();
147
+ this.datePickerInst.destroy();
148
+ }
149
+ /**
150
+ * @param {?} value
151
+ * @return {?}
152
+ */
153
+ writeValue(value) {
154
+ if (value !== this.innerValue && this.datePickerInst) {
155
+ this.innerValue = value;
156
+ this.datePickerInst.setDate(value);
157
+ this.onChangeCallback(value);
158
+ }
159
+ }
160
+ /**
161
+ * @param {?} fn
162
+ * @return {?}
163
+ */
164
+ registerOnChange(fn) {
165
+ this.onChangeCallback = fn;
166
+ }
167
+ /**
168
+ * @param {?} fn
169
+ * @return {?}
170
+ */
171
+ registerOnTouched(fn) {
172
+ this.onTouchedCallback = fn;
173
+ }
174
+ /**
175
+ * @param {?} label
176
+ * @return {?}
177
+ */
178
+ labels(label) {
179
+ return this.labelsService.getLabel(label);
180
+ }
181
+ }
182
+ DatepickerComponent.decorators = [
183
+ { type: Component, args: [{
184
+ selector: 'ode-date-picker',
185
+ template: "<div class=\"flatpickr\" #datePickerElement>\n <input type=\"date\" [(ngModel)]=\"value\" [disabled]=\"disabled\" [ngClass]=\"{ 'cursor-default': disabled }\" placeholder=\"{{ placeholder }}\" #inputRef>\n <a *ngIf=\"!disabled\" [class.hidden]=\"readonly\" data-toggle [title]=\"labels('datepicker.open')\"><i class=\"fa fa-calendar open\" aria-hidden=\"true\"></i></a>\n <a *ngIf=\"!disabled\" [class.hidden]=\"readonly\" data-clear [title]=\"labels('datepicker.delete')\"><i class=\"fa fa-times delete\" aria-hidden=\"true\"></i></a>\n</div>\n",
186
+ providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR],
187
+ styles: [".hidden{visibility:hidden}"]
188
+ }] }
189
+ ];
190
+ /** @nocollapse */
191
+ DatepickerComponent.ctorParameters = () => [
192
+ { type: Renderer2 },
193
+ { type: LabelsService },
194
+ { type: Injector }
195
+ ];
196
+ DatepickerComponent.propDecorators = {
197
+ datePickerElement: [{ type: ViewChild, args: ['datePickerElement', { static: false },] }],
198
+ inputElement: [{ type: ViewChild, args: ['inputRef', { static: false },] }],
199
+ model: [{ type: ViewChild, args: [NgModel, { static: false },] }],
200
+ disabled: [{ type: Input }],
201
+ readonly: [{ type: Input }],
202
+ enableTime: [{ type: Input }],
203
+ placeholder: [{ type: Input }],
204
+ minDate: [{ type: Input }],
205
+ maxDate: [{ type: Input }],
206
+ changeDate: [{ type: Output }]
207
+ };
208
+ if (false) {
209
+ /**
210
+ * @type {?}
211
+ * @private
212
+ */
213
+ DatepickerComponent.prototype.innerValue;
214
+ /** @type {?} */
215
+ DatepickerComponent.prototype.datePickerElement;
216
+ /** @type {?} */
217
+ DatepickerComponent.prototype.inputElement;
218
+ /**
219
+ * @type {?}
220
+ * @private
221
+ */
222
+ DatepickerComponent.prototype.datePickerInst;
223
+ /** @type {?} */
224
+ DatepickerComponent.prototype.model;
225
+ /** @type {?} */
226
+ DatepickerComponent.prototype.disabled;
227
+ /** @type {?} */
228
+ DatepickerComponent.prototype._readonly;
229
+ /** @type {?} */
230
+ DatepickerComponent.prototype.enableTime;
231
+ /** @type {?} */
232
+ DatepickerComponent.prototype.placeholder;
233
+ /** @type {?} */
234
+ DatepickerComponent.prototype.minDate;
235
+ /** @type {?} */
236
+ DatepickerComponent.prototype.maxDate;
237
+ /** @type {?} */
238
+ DatepickerComponent.prototype.changeDate;
239
+ /**
240
+ * @type {?}
241
+ * @private
242
+ */
243
+ DatepickerComponent.prototype.onChangeCallback;
244
+ /**
245
+ * @type {?}
246
+ * @private
247
+ */
248
+ DatepickerComponent.prototype.onTouchedCallback;
249
+ /**
250
+ * @type {?}
251
+ * @private
252
+ */
253
+ DatepickerComponent.prototype.renderer;
254
+ /**
255
+ * @type {?}
256
+ * @private
257
+ */
258
+ DatepickerComponent.prototype.labelsService;
259
+ }
260
+ export { ɵ0 };
261
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtb2RlLXVpLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvZGF0ZXBpY2tlci9kYXRlcGlja2VyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDNUMsT0FBTyxFQUFpQixTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQ3JFLEtBQUssRUFBYSxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbEYsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxPQUFPLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVsRixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDNUQsT0FBTyxTQUFTLE1BQU0sV0FBVyxDQUFDO0FBQ2xDLE9BQU8sTUFBTSxNQUFNLDJCQUEyQixDQUFDOzs7TUFHekMsSUFBSTs7O0FBQUcsR0FBRyxFQUFFO0FBQ2xCLENBQUMsQ0FBQTs7O0FBQ0QsTUFBTSxPQUFPLG1DQUFtQyxHQUFRO0lBQ3BELE9BQU8sRUFBRSxpQkFBaUI7SUFDMUIsV0FBVyxFQUFFLFVBQVU7OztJQUFDLEdBQUcsRUFBRSxDQUFDLG1CQUFtQixFQUFDO0lBQ2xELEtBQUssRUFBRSxJQUFJO0NBQ2Q7QUFRRCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsWUFBWTs7Ozs7O0lBRWpELFlBQW9CLFFBQW1CLEVBQ25CLGFBQTRCLEVBQ3BDLFFBQWtCO1FBQ2QsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBSFosYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQXdCeEMsZUFBVSxHQUFRLEVBQUUsQ0FBQztRQWU3QixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBY2pCLGNBQVMs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MkIsU0FBUztZQUk3QixhQUFhO1lBSjZCLFFBQVE7OztnQ0FvRHJELFNBQVMsU0FBQyxtQkFBbUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7MkJBR2hELFNBQVMsU0FBQyxVQUFVLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO29CQU12QyxTQUFTLFNBQUMsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTt1QkFHcEMsS0FBSzt1QkFHTCxLQUFLO3lCQWNMLEtBQUs7MEJBR0wsS0FBSztzQkFHTCxLQUFLO3NCQUdMLEtBQUs7eUJBR0wsTUFBTTs7Ozs7OztJQTNDUCx5Q0FBNkI7O0lBRTdCLGdEQUM4Qjs7SUFFOUIsMkNBQ3lCOzs7OztJQUd6Qiw2Q0FBa0M7O0lBRWxDLG9DQUNlOztJQUVmLHVDQUNpQjs7SUFjakIsd0NBQWtCOztJQUVsQix5Q0FDbUI7O0lBRW5CLDBDQUNpQjs7SUFFakIsc0NBQ1E7O0lBRVIsc0NBQ1E7O0lBRVIseUNBQzhEOzs7OztJQUU5RCwrQ0FBa0Q7Ozs7O0lBQ2xELGdEQUE2Qzs7Ozs7SUF4RWpDLHVDQUEyQjs7Ozs7SUFDM0IsNENBQW9DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2RlQ29tcG9uZW50IH0gZnJvbSAnbmd4LW9kZS1jb3JlJztcbmltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBmb3J3YXJkUmVmLFxuICBJbnB1dCwgT25EZXN0cm95LCBPdXRwdXQsIFJlbmRlcmVyMiwgVmlld0NoaWxkLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IsIE5nTW9kZWwgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7TGFiZWxzU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMvbGFiZWxzLnNlcnZpY2UnO1xuaW1wb3J0IEZsYXRwaWNrciBmcm9tICdmbGF0cGlja3InO1xuaW1wb3J0IEZyZW5jaCBmcm9tICdmbGF0cGlja3IvZGlzdC9sMTBuL2ZyLmpzJztcblxuLy8gYWNjZXNzIG5nbW9kZWxcbmNvbnN0IE5PT1AgPSAoKSA9PiB7XG59O1xuZXhwb3J0IGNvbnN0IENVU1RPTV9JTlBVVF9DT05UUk9MX1ZBTFVFX0FDQ0VTU09SOiBhbnkgPSB7XG4gICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRGF0ZXBpY2tlckNvbXBvbmVudCksXG4gICAgbXVsdGk6IHRydWVcbn07XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnb2RlLWRhdGUtcGlja2VyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZGF0ZXBpY2tlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZGF0ZXBpY2tlci5jb21wb25lbnQuc2NzcyddLFxuICAgIHByb3ZpZGVyczogWyBDVVNUT01fSU5QVVRfQ09OVFJPTF9WQUxVRV9BQ0NFU1NPUiBdXG59KVxuZXhwb3J0IGNsYXNzIERhdGVwaWNrZXJDb21wb25lbnQgZXh0ZW5kcyBPZGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICAgICAgICAgICAgICBwcml2YXRlIGxhYmVsc1NlcnZpY2U6IExhYmVsc1NlcnZpY2UsXG4gICAgICAgICAgICAgICAgaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgICAgICAgICAgICAgICAgIHN1cGVyKGluamVjdG9yKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICBnZXQgdmFsdWUoKTogYW55IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW5uZXJWYWx1ZTtcbiAgICB9XG5cbiAgICBzZXQgdmFsdWUodjogYW55KSB7XG4gICAgICAgIGxldCBpbml0ID0gZmFsc2U7XG4gICAgICAgIGlmICh0aGlzLmlubmVyVmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgaW5pdCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHYgIT09IHRoaXMuaW5uZXJWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5pbm5lclZhbHVlID0gdjtcbiAgICAgICAgICAgIHRoaXMub25DaGFuZ2VDYWxsYmFjayh2KTtcbiAgICAgICAgICAgIGlmICghaW5pdCkge1xuICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlRGF0ZS5lbWl0KHYpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGlubmVyVmFsdWU6IGFueSA9ICcnO1xuXG4gICAgQFZpZXdDaGlsZCgnZGF0ZVBpY2tlckVsZW1lbnQnLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgICBkYXRlUGlja2VyRWxlbWVudDogRWxlbWVudFJlZjtcblxuICAgIEBWaWV3Q2hpbGQoJ2lucHV0UmVmJywgeyBzdGF0aWM6IGZhbHNlIH0pXG4gICAgaW5wdXRFbGVtZW50OiBFbGVtZW50UmVmO1xuXG4gICAgLy8gaW5zdGFuY2UgZmxhdHBpY2tyXG4gICAgcHJpdmF0ZSBkYXRlUGlja2VySW5zdDogRmxhdHBpY2tyO1xuXG4gICAgQFZpZXdDaGlsZChOZ01vZGVsLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgICBtb2RlbDogTmdNb2RlbDtcblxuICAgIEBJbnB1dCgpXG4gICAgZGlzYWJsZWQgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IHJlYWRvbmx5KCB2YWw6Ym9vbGVhbiApIHtcbiAgICAgICAgdGhpcy5fcmVhZG9ubHkgPSB2YWw7XG4gICAgICAgIGlmKCB0aGlzLmRhdGVQaWNrZXJJbnN0ICYmIHRoaXMuZGF0ZVBpY2tlckluc3QuYWx0SW5wdXQgKSB7XG4gICAgICAgICAgICAvLyBBcHBseSB0aGUgcmVhZG9ubHkgYXR0cmlidXRlIGFkZGl0aW9uL3JlbW92YWwgdG8gdGhlIHZpc2libGUgaW5wdXQgKHdyYXBwZWQpXG4gICAgICAgICAgICBpZiggdmFsICkgdGhpcy5kYXRlUGlja2VySW5zdC5hbHRJbnB1dC5zZXRBdHRyaWJ1dGUoJ3JlYWRvbmx5JywgXCJcIik7XG4gICAgICAgICAgICBlbHNlICAgICAgdGhpcy5kYXRlUGlja2VySW5zdC5hbHRJbnB1dC5yZW1vdmVBdHRyaWJ1dGUoJ3JlYWRvbmx5Jyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZ2V0IHJlYWRvbmx5KCk6Ym9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9yZWFkb25seTtcbiAgICB9XG4gICAgX3JlYWRvbmx5ID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIGVuYWJsZVRpbWUgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgcGxhY2Vob2xkZXIgPSAnJztcblxuICAgIEBJbnB1dCgpXG4gICAgbWluRGF0ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgbWF4RGF0ZTtcblxuICAgIEBPdXRwdXQoKVxuICAgIGNoYW5nZURhdGU6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgICBwcml2YXRlIG9uQ2hhbmdlQ2FsbGJhY2s6IChfOiBhbnkpID0+IHZvaWQgPSBOT09QO1xuICAgIHByaXZhdGUgb25Ub3VjaGVkQ2FsbGJhY2s6ICgpID0+IHZvaWQgPSBOT09QO1xuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ0FmdGVyVmlld0luaXQoKTtcbiAgICAgICAgLy8gYWRkIGF0dHIgZGF0YS1pbnB1dCwgbWFuZGF0b3J5IGZvciB0aGUgcGlja2VyIHRvIHdvcmsgaW4gd3JhcCBtb2RlXG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQsICdkYXRhLWlucHV0JywgJycpO1xuXG4gICAgICAgIC8vIGRpc2FibGVkIGNhc2VcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQgPT09IHRydWUpIHtcbiAgICAgICAgICAgIHRoaXMubW9kZWwuY29udHJvbC5kaXNhYmxlKCk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBuYXZpZ2F0b3JMYW5ndWFnZSA9IG5hdmlnYXRvci5sYW5ndWFnZS5zcGxpdCgnLScpWzBdO1xuICAgICAgICBsZXQgZGF0ZVBpY2tlckxvY2FsZSA9IHt9O1xuICAgICAgICBpZiAobmF2aWdhdG9yTGFuZ3VhZ2UgPT09ICdmcicpIHtcbiAgICAgICAgICAgIGRhdGVQaWNrZXJMb2NhbGUgPSBGcmVuY2guZnI7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBvcHRpb25zIGZvciB0aGUgZmxhdHBpY2tyIGluc3RhbmNlXG4gICAgICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICAgICAgICBhbHRJbnB1dDogIXRoaXMuZGlzYWJsZWQsXG4gICAgICAgICAgICBhbHRGb3JtYXQ6ICdkL20vWScsIC8vIGRhdGUgZm9ybWF0IGRpc3BsYXllZCB0byB1c2VyXG4gICAgICAgICAgICBkYXRlRm9ybWF0OiAnWS1tLWQnLCAvLyBkYXRlIGZvcm1hdCBzZW50IHRvIHNlcnZlclxuICAgICAgICAgICAgYWxsb3dJbnB1dDogZmFsc2UsXG4gICAgICAgICAgICBlbmFibGVUaW1lOiB0aGlzLmVuYWJsZVRpbWUsXG4gICAgICAgICAgICBtaW5EYXRlOiB0aGlzLm1pbkRhdGUsXG4gICAgICAgICAgICBtYXhEYXRlOiB0aGlzLm1heERhdGUsXG4gICAgICAgICAgICBjbGlja09wZW5zOiBmYWxzZSxcbiAgICAgICAgICAgIHdyYXA6IHRydWUsIC8vIHRvIGFkZCBpbnB1dCBkZWNvcmF0aW9uIChjYWxlbmRhciBpY29uIGFuZCBkZWxldGUgaWNvbilcbiAgICAgICAgICAgIGxvY2FsZTogZGF0ZVBpY2tlckxvY2FsZVxuICAgICAgICB9O1xuXG4gICAgICAgIHRoaXMuZGF0ZVBpY2tlckluc3QgPSBuZXcgRmxhdHBpY2tyKHRoaXMuZGF0ZVBpY2tlckVsZW1lbnQubmF0aXZlRWxlbWVudCwgb3B0aW9ucyk7XG4gICAgICAgIGlmKCAhdGhpcy5kaXNhYmxlZCApIHtcbiAgICAgICAgICAgIHRoaXMuZGF0ZVBpY2tlckluc3QuYWx0SW5wdXQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBlID0+IHtcbiAgICAgICAgICAgICAgICBpZiggIXRoaXMucmVhZG9ubHkgKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGF0ZVBpY2tlckluc3QudG9nZ2xlKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBGb3JjZSB1cGRhdGluZyB0aGUgZGF0ZSBpbnB1dCByZWFkb25seSBhdHRyaWJ1dGUgOlxuICAgICAgICB0aGlzLnJlYWRvbmx5ID0gdGhpcy5fcmVhZG9ubHk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgICAgIHRoaXMuZGF0ZVBpY2tlckluc3QuZGVzdHJveSgpO1xuICAgIH1cblxuICAgIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgICAgICBpZiAodmFsdWUgIT09IHRoaXMuaW5uZXJWYWx1ZSAmJiB0aGlzLmRhdGVQaWNrZXJJbnN0KSB7XG4gICAgICAgICAgICB0aGlzLmlubmVyVmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgICAgIHRoaXMuZGF0ZVBpY2tlckluc3Quc2V0RGF0ZSh2YWx1ZSk7XG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlQ2FsbGJhY2sodmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMub25DaGFuZ2VDYWxsYmFjayA9IGZuO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWRDYWxsYmFjayA9IGZuO1xuICAgIH1cblxuICAgIGxhYmVscyhsYWJlbCkge1xuICAgICAgICByZXR1cm4gdGhpcy5sYWJlbHNTZXJ2aWNlLmdldExhYmVsKGxhYmVsKTtcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,76 @@
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * Generated from: lib/components/dropdown/dropdown.component.ts
4
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
+ */
6
+ import { Component, Input, Output, EventEmitter, Injector } from '@angular/core';
7
+ import { OdeComponent } from 'ngx-ode-core';
8
+ /**
9
+ * DropdownComponent is an alternative to the MonoSelectComponent.
10
+ * Accept everything inside <ng-content> but should work with <ode-list> component
11
+ *
12
+ * Simple Dropdown Component without search:
13
+ * [isSearchActive] can be set to false to disable search input in <ode-list>
14
+ * ```
15
+ * <ode-dropdown
16
+ * [name]="option_name"
17
+ * [isDropdownOpened]="a_boolean"
18
+ * (onDropdown)="toggle_func"
19
+ * >
20
+ * <ode-list
21
+ * [model]="model"
22
+ * [filters]="filters"
23
+ * (onSelect)="func_to_select_elem($event)"
24
+ * (inputChange)="a_string_for_input_value = $event"
25
+ * noResultsLabel="text_to_display"
26
+ * searchPlaceholder="default_placeholder_text"
27
+ * >
28
+ * <ng-template let-item>
29
+ * <div>{{ item.name }}</div>
30
+ * </ng-template>
31
+ * </ode-list>
32
+ * </ode-dropdown>
33
+ * `̀``
34
+ */
35
+ export class DropdownComponent extends OdeComponent {
36
+ /**
37
+ * @param {?} injector
38
+ */
39
+ constructor(injector) {
40
+ super(injector);
41
+ this.name = '';
42
+ this.isDropdownOpened = false;
43
+ this.onDropdown = new EventEmitter();
44
+ }
45
+ /**
46
+ * @return {?}
47
+ */
48
+ ngOnInit() {
49
+ super.ngOnInit();
50
+ }
51
+ }
52
+ DropdownComponent.decorators = [
53
+ { type: Component, args: [{
54
+ selector: 'ode-dropdown',
55
+ template: "<div class=\"dropdown\" [ngClass]=\"isDropdownOpened ? 'open' : ''\">\n <button (click)=\"onDropdown.emit()\" class=\"dropdown-trigger\">\n <span class=\"cell-ellipsis\">{{ name }}</span> <i class=\"fonticon arrow-select\"></i>\n </button>\n <div class=\"dropdown-list\">\n <ng-content></ng-content>\n </div>\n</div>\n",
56
+ styles: [".dropdown{position:relative;width:230px;box-sizing:border-box}.dropdown *{box-sizing:border-box}.dropdown-trigger{cursor:pointer;display:inline-flex;align-items:center;justify-content:space-between;padding:12px 16px;font-size:14px;color:#4a4a4a;text-transform:uppercase;text-align:left;width:100%;border-radius:8px;border:1px solid #7a7a7a;background-color:#fff}.dropdown-trigger>span{display:inline-block;max-width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dropdown-trigger i.arrow-select{display:inline-block;float:none!important;padding-left:0;transform:rotate(180deg);transform-origin:center center}.dropdown-trigger:hover{color:#4a4a4a;border-color:#7a7a7a;background-color:#fff}.dropdown-trigger:hover i.arrow-select{color:#4a4a4a!important}.dropdown-list{display:none;position:absolute;overflow:hidden;z-index:2;top:100%;left:0;right:0;width:316px;box-shadow:0 4px 12px 0 rgba(0,0,0,.15);border-radius:8px;background-color:#fff}.dropdown::ng-deep ode-list li{justify-content:flex-start}.dropdown::ng-deep ode-list input[type=search]{padding:12px 16px}.dropdown.open .dropdown-list{display:block}.dropdown.open i.arrow-select{transform:rotate(0)}"]
57
+ }] }
58
+ ];
59
+ /** @nocollapse */
60
+ DropdownComponent.ctorParameters = () => [
61
+ { type: Injector }
62
+ ];
63
+ DropdownComponent.propDecorators = {
64
+ name: [{ type: Input }],
65
+ isDropdownOpened: [{ type: Input }],
66
+ onDropdown: [{ type: Output }]
67
+ };
68
+ if (false) {
69
+ /** @type {?} */
70
+ DropdownComponent.prototype.name;
71
+ /** @type {?} */
72
+ DropdownComponent.prototype.isDropdownOpened;
73
+ /** @type {?} */
74
+ DropdownComponent.prototype.onDropdown;
75
+ }
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LW9kZS11aS8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFtQzVDLE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxZQUFZOzs7O0lBRWpELFlBQVksUUFBa0I7UUFDNUIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBR1QsU0FBSSxHQUFXLEVBQUUsQ0FBQztRQUNsQixxQkFBZ0IsR0FBWSxLQUFLLENBQUM7UUFFakMsZUFBVSxHQUF3QixJQUFJLFlBQVksRUFBUSxDQUFDO0lBTHJFLENBQUM7Ozs7SUFPRCxRQUFRO1FBQ04sS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ25CLENBQUM7OztZQWxCRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGNBQWM7Z0JBQ3hCLG9WQUF3Qzs7YUFFekM7Ozs7WUFuQ3dELFFBQVE7OzttQkEwQzlELEtBQUs7K0JBQ0wsS0FBSzt5QkFFTCxNQUFNOzs7O0lBSFAsaUNBQTJCOztJQUMzQiw2Q0FBMkM7O0lBRTNDLHVDQUFxRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPZGVDb21wb25lbnQgfSBmcm9tICduZ3gtb2RlLWNvcmUnO1xuXG4vKipcbiAqIERyb3Bkb3duQ29tcG9uZW50IGlzIGFuIGFsdGVybmF0aXZlIHRvIHRoZSBNb25vU2VsZWN0Q29tcG9uZW50LlxuICogQWNjZXB0IGV2ZXJ5dGhpbmcgaW5zaWRlIDxuZy1jb250ZW50PiBidXQgc2hvdWxkIHdvcmsgd2l0aCA8b2RlLWxpc3Q+IGNvbXBvbmVudFxuICogXG4gKiBTaW1wbGUgRHJvcGRvd24gQ29tcG9uZW50IHdpdGhvdXQgc2VhcmNoOlxuICogW2lzU2VhcmNoQWN0aXZlXSBjYW4gYmUgc2V0IHRvIGZhbHNlIHRvIGRpc2FibGUgc2VhcmNoIGlucHV0IGluIDxvZGUtbGlzdD5cbmBgYFxuPG9kZS1kcm9wZG93blxuICAgIFtuYW1lXT1cIm9wdGlvbl9uYW1lXCJcbiAgICBbaXNEcm9wZG93bk9wZW5lZF09XCJhX2Jvb2xlYW5cIlxuICAgIChvbkRyb3Bkb3duKT1cInRvZ2dsZV9mdW5jXCJcbiAgPlxuICA8b2RlLWxpc3RcbiAgICBbbW9kZWxdPVwibW9kZWxcIlxuICAgIFtmaWx0ZXJzXT1cImZpbHRlcnNcIlxuICAgIChvblNlbGVjdCk9XCJmdW5jX3RvX3NlbGVjdF9lbGVtKCRldmVudClcIlxuICAgIChpbnB1dENoYW5nZSk9XCJhX3N0cmluZ19mb3JfaW5wdXRfdmFsdWUgPSAkZXZlbnRcIlxuICAgIG5vUmVzdWx0c0xhYmVsPVwidGV4dF90b19kaXNwbGF5XCJcbiAgICBzZWFyY2hQbGFjZWhvbGRlcj1cImRlZmF1bHRfcGxhY2Vob2xkZXJfdGV4dFwiXG4gICAgPlxuICAgICAgPG5nLXRlbXBsYXRlIGxldC1pdGVtPlxuICAgICAgICA8ZGl2Pnt7IGl0ZW0ubmFtZSB9fTwvZGl2PlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L29kZS1saXN0PlxuICA8L29kZS1kcm9wZG93bj5cbmDMgGBgXG4gKi9cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnb2RlLWRyb3Bkb3duJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Ryb3Bkb3duLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZHJvcGRvd24uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBEcm9wZG93bkNvbXBvbmVudCBleHRlbmRzIE9kZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgY29uc3RydWN0b3IoaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgc3VwZXIoaW5qZWN0b3IpO1xuICB9XG5cbiAgQElucHV0KCkgbmFtZTogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGlzRHJvcGRvd25PcGVuZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBAT3V0cHV0KCkgb25Ecm9wZG93bjogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gIG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xuICB9XG5cbn1cbiJdfQ==
@@ -0,0 +1,98 @@
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * Generated from: lib/components/ellipsis/ellipsis.component.ts
4
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
+ */
6
+ import { OdeComponent } from 'ngx-ode-core';
7
+ import { Component, ElementRef, Input, Injector } from '@angular/core';
8
+ /**
9
+ * A simple ellipsis component that switches text-overflow on click.
10
+ * Add an ellipsis={'hide'| 'expand'} attirubute on your element.
11
+ * Default behavior is 'hide', so that it's the same than the raw CSS
12
+ */
13
+ export class EllipsisComponent extends OdeComponent {
14
+ /**
15
+ * @param {?} eltRef
16
+ * @param {?} injector
17
+ */
18
+ constructor(eltRef, injector) {
19
+ super(injector);
20
+ this.eltRef = eltRef;
21
+ this._ellipsis = 'hide';
22
+ this.isExpanded = false;
23
+ this.initialStyle = Object.assign({}, this.eltRef.nativeElement.style);
24
+ }
25
+ /**
26
+ * @param {?} value
27
+ * @return {?}
28
+ */
29
+ set ellipsis(value) {
30
+ if (!!value) {
31
+ this._ellipsis = value;
32
+ if (this._ellipsis == 'expand') {
33
+ this.eltRef.nativeElement.className = 'expand';
34
+ }
35
+ }
36
+ }
37
+ /**
38
+ * @return {?}
39
+ */
40
+ onClick() {
41
+ if (this._ellipsis == 'hide') {
42
+ return;
43
+ }
44
+ if (!this.isExpanded) {
45
+ this.isExpanded = true;
46
+ Object.assign(this.eltRef.nativeElement.style, {
47
+ textOverflow: 'clip',
48
+ overflow: 'auto',
49
+ whiteSpace: 'normal',
50
+ });
51
+ }
52
+ else {
53
+ this.isExpanded = false;
54
+ this.eltRef.nativeElement.style = this.initialStyle;
55
+ }
56
+ }
57
+ }
58
+ EllipsisComponent.decorators = [
59
+ { type: Component, args: [{
60
+ selector: '[ellipsis]',
61
+ template: `<ng-content></ng-content>`,
62
+ host: {
63
+ '(click)': 'onClick()',
64
+ },
65
+ styles: [":host{display:block;width:8em;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}:host.expand{cursor:pointer}"]
66
+ }] }
67
+ ];
68
+ /** @nocollapse */
69
+ EllipsisComponent.ctorParameters = () => [
70
+ { type: ElementRef },
71
+ { type: Injector }
72
+ ];
73
+ EllipsisComponent.propDecorators = {
74
+ ellipsis: [{ type: Input }]
75
+ };
76
+ if (false) {
77
+ /**
78
+ * @type {?}
79
+ * @private
80
+ */
81
+ EllipsisComponent.prototype._ellipsis;
82
+ /**
83
+ * @type {?}
84
+ * @private
85
+ */
86
+ EllipsisComponent.prototype.isExpanded;
87
+ /**
88
+ * @type {?}
89
+ * @private
90
+ */
91
+ EllipsisComponent.prototype.initialStyle;
92
+ /**
93
+ * @type {?}
94
+ * @private
95
+ */
96
+ EllipsisComponent.prototype.eltRef;
97
+ }
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxsaXBzaXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LW9kZS11aS8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2VsbGlwc2lzL2VsbGlwc2lzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDNUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBaUJ2RSxNQUFNLE9BQU8saUJBQWtCLFNBQVEsWUFBWTs7Ozs7SUFDL0MsWUFBb0IsTUFBa0IsRUFBRSxRQUFrQjtRQUN0RCxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFEQSxXQUFNLEdBQU4sTUFBTSxDQUFZO1FBSTlCLGNBQVMsR0FBc0IsTUFBTSxDQUFDO1FBV3RDLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFFbkIsaUJBQVksR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQWYxRSxDQUFDOzs7OztJQUdELElBQ0ksUUFBUSxDQUFDLEtBQXVCO1FBQ2hDLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRTtZQUNULElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1lBQ3ZCLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxRQUFRLEVBQUU7Z0JBQzVCLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7YUFDbEQ7U0FDSjtJQUNMLENBQUM7Ozs7SUFLRCxPQUFPO1FBQ0gsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLE1BQU0sRUFBRTtZQUMxQixPQUFPO1NBQ1Y7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNsQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztZQUN2QixNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRTtnQkFDM0MsWUFBWSxFQUFFLE1BQU07Z0JBQ3BCLFFBQVEsRUFBRSxNQUFNO2dCQUNoQixVQUFVLEVBQUUsUUFBUTthQUN2QixDQUFDLENBQUM7U0FDTjthQUFNO1lBQ0gsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7WUFDeEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7U0FDdkQ7SUFFTCxDQUFDOzs7WUEzQ0osU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxZQUFZO2dCQUN0QixRQUFRLEVBQUUsMkJBQTJCO2dCQUVyQyxJQUFJLEVBQUU7b0JBQ0YsU0FBUyxFQUFFLFdBQVc7aUJBQ3pCOzthQUNKOzs7O1lBaEJtQixVQUFVO1lBQVMsUUFBUTs7O3VCQXVCMUMsS0FBSzs7Ozs7OztJQUROLHNDQUE4Qzs7Ozs7SUFXOUMsdUNBQTJCOzs7OztJQUUzQix5Q0FBMEU7Ozs7O0lBakI5RCxtQ0FBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPZGVDb21wb25lbnQgfSBmcm9tICduZ3gtb2RlLWNvcmUnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxudHlwZSBFbGxpcHNpc0JlaGF2aW9yID0gJ2V4cGFuZCcgfCAnaGlkZSc7XG5cbi8qKlxuICogQSBzaW1wbGUgZWxsaXBzaXMgY29tcG9uZW50IHRoYXQgc3dpdGNoZXMgdGV4dC1vdmVyZmxvdyBvbiBjbGljay5cbiAqIEFkZCBhbiBlbGxpcHNpcz17J2hpZGUnfCAnZXhwYW5kJ30gYXR0aXJ1YnV0ZSBvbiB5b3VyIGVsZW1lbnQuXG4gKiBEZWZhdWx0IGJlaGF2aW9yIGlzICdoaWRlJywgc28gdGhhdCBpdCdzIHRoZSBzYW1lIHRoYW4gdGhlIHJhdyBDU1NcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdbZWxsaXBzaXNdJyxcbiAgICB0ZW1wbGF0ZTogYDxuZy1jb250ZW50PjwvbmctY29udGVudD5gLFxuICAgIHN0eWxlVXJsczogWycuL2VsbGlwc2lzLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgaG9zdDoge1xuICAgICAgICAnKGNsaWNrKSc6ICdvbkNsaWNrKCknLFxuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgRWxsaXBzaXNDb21wb25lbnQgZXh0ZW5kcyBPZGVDb21wb25lbnQge1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZWx0UmVmOiBFbGVtZW50UmVmLCBpbmplY3RvcjogSW5qZWN0b3IgKSB7XG4gICAgICAgIHN1cGVyKGluamVjdG9yKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9lbGxpcHNpczogRWxsaXBzaXNCZWhhdmlvciAgPSAnaGlkZSc7XG4gICAgQElucHV0KClcbiAgICBzZXQgZWxsaXBzaXModmFsdWU6IEVsbGlwc2lzQmVoYXZpb3IpIHtcbiAgICAgICAgaWYgKCEhdmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuX2VsbGlwc2lzID0gdmFsdWU7XG4gICAgICAgICAgICBpZiAodGhpcy5fZWxsaXBzaXMgPT0gJ2V4cGFuZCcpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmVsdFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTmFtZSA9ICdleHBhbmQnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc0V4cGFuZGVkID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIGluaXRpYWxTdHlsZSA9IE9iamVjdC5hc3NpZ24oe30sIHRoaXMuZWx0UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUpO1xuICAgIG9uQ2xpY2soKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9lbGxpcHNpcyA9PSAnaGlkZScpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXRoaXMuaXNFeHBhbmRlZCkge1xuICAgICAgICAgICAgdGhpcy5pc0V4cGFuZGVkID0gdHJ1ZTtcbiAgICAgICAgICAgIE9iamVjdC5hc3NpZ24odGhpcy5lbHRSZWYubmF0aXZlRWxlbWVudC5zdHlsZSwge1xuICAgICAgICAgICAgICAgIHRleHRPdmVyZmxvdzogJ2NsaXAnLFxuICAgICAgICAgICAgICAgIG92ZXJmbG93OiAnYXV0bycsXG4gICAgICAgICAgICAgICAgd2hpdGVTcGFjZTogJ25vcm1hbCcsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuaXNFeHBhbmRlZCA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5lbHRSZWYubmF0aXZlRWxlbWVudC5zdHlsZSA9IHRoaXMuaW5pdGlhbFN0eWxlO1xuICAgICAgICB9XG5cbiAgICB9XG5cbn1cbiJdfQ==
@@ -0,0 +1,65 @@
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * Generated from: lib/components/form-errors/form-errors.component.ts
4
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
+ */
6
+ import { OdeComponent } from 'ngx-ode-core';
7
+ import { Component, Input, Injector } from '@angular/core';
8
+ import { AbstractControl } from '@angular/forms';
9
+ import { LabelsService } from '../../services/labels.service';
10
+ export class FormErrorsComponent extends OdeComponent {
11
+ /**
12
+ * @param {?} labelsService
13
+ * @param {?} injector
14
+ */
15
+ constructor(labelsService, injector) {
16
+ super(injector);
17
+ this.labelsService = labelsService;
18
+ }
19
+ /**
20
+ * @return {?}
21
+ */
22
+ getErrorsArray() {
23
+ /** @type {?} */
24
+ const errorsArray = [];
25
+ for (const prop in this.ref.errors) {
26
+ errorsArray.push({ name: prop, value: this.ref.errors[prop] });
27
+ }
28
+ return errorsArray;
29
+ }
30
+ /**
31
+ * @param {?} label
32
+ * @return {?}
33
+ */
34
+ labels(label) {
35
+ return this.labelsService.getLabel(label);
36
+ }
37
+ }
38
+ FormErrorsComponent.decorators = [
39
+ { type: Component, args: [{
40
+ selector: 'ode-form-errors',
41
+ template: "<div *ngIf=\"ref && ref.errors && (ref.dirty || ref.touched)\" class=\"form-errors\">\n <div *ngFor=\"let error of getErrorsArray()\">\n <span>{{ 'form.error.' + error.name | translate: error.value }}</span>\n <span *ngIf=\"error.name == 'pattern'\">{{expectedPatternMsg}}</span>\n </div>\n</div>\n",
42
+ styles: [".form-errors{font-size:.8em;color:#dc143c;font-style:italic}"]
43
+ }] }
44
+ ];
45
+ /** @nocollapse */
46
+ FormErrorsComponent.ctorParameters = () => [
47
+ { type: LabelsService },
48
+ { type: Injector }
49
+ ];
50
+ FormErrorsComponent.propDecorators = {
51
+ ref: [{ type: Input, args: ['control',] }],
52
+ expectedPatternMsg: [{ type: Input, args: ['expectedPatternMsg',] }]
53
+ };
54
+ if (false) {
55
+ /** @type {?} */
56
+ FormErrorsComponent.prototype.ref;
57
+ /** @type {?} */
58
+ FormErrorsComponent.prototype.expectedPatternMsg;
59
+ /**
60
+ * @type {?}
61
+ * @private
62
+ */
63
+ FormErrorsComponent.prototype.labelsService;
64
+ }
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1lcnJvcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LW9kZS11aS8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2Zvcm0tZXJyb3JzL2Zvcm0tZXJyb3JzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDNUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUUvQyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFPNUQsTUFBTSxPQUFPLG1CQUFvQixTQUFRLFlBQVk7Ozs7O0lBQ2pELFlBQW9CLGFBQTRCLEVBQUUsUUFBa0I7UUFDaEUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBREEsa0JBQWEsR0FBYixhQUFhLENBQWU7SUFFaEQsQ0FBQzs7OztJQVNELGNBQWM7O2NBQ0osV0FBVyxHQUFHLEVBQUU7UUFDdEIsS0FBSyxNQUFNLElBQUksSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRTtZQUNoQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUMsQ0FBQyxDQUFDO1NBQ2pFO1FBQ0QsT0FBTyxXQUFXLENBQUM7SUFDdkIsQ0FBQzs7Ozs7SUFFRCxNQUFNLENBQUMsS0FBSztRQUNSLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUMsQ0FBQzs7O1lBM0JKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsaUJBQWlCO2dCQUMzQiw4VEFBMkM7O2FBRTlDOzs7O1lBTk8sYUFBYTtZQUhNLFFBQVE7OztrQkFlOUIsS0FBSyxTQUFDLFNBQVM7aUNBR2YsS0FBSyxTQUFDLG9CQUFvQjs7OztJQUgzQixrQ0FDcUI7O0lBRXJCLGlEQUMyQjs7Ozs7SUFSZiw0Q0FBb0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPZGVDb21wb25lbnQgfSBmcm9tICduZ3gtb2RlLWNvcmUnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QWJzdHJhY3RDb250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7TGFiZWxzU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMvbGFiZWxzLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ29kZS1mb3JtLWVycm9ycycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0tZXJyb3JzLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9mb3JtLWVycm9ycy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1FcnJvcnNDb21wb25lbnQgZXh0ZW5kcyBPZGVDb21wb25lbnQge1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgbGFiZWxzU2VydmljZTogTGFiZWxzU2VydmljZSwgaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgICAgIHN1cGVyKGluamVjdG9yKTtcbiAgICB9XG5cbiAgICBASW5wdXQoJ2NvbnRyb2wnKVxuICAgIHJlZjogQWJzdHJhY3RDb250cm9sO1xuXG4gICAgQElucHV0KCdleHBlY3RlZFBhdHRlcm5Nc2cnKVxuICAgIGV4cGVjdGVkUGF0dGVybk1zZzogc3RyaW5nO1xuXG5cbiAgICBnZXRFcnJvcnNBcnJheSgpIHtcbiAgICAgICAgY29uc3QgZXJyb3JzQXJyYXkgPSBbXTtcbiAgICAgICAgZm9yIChjb25zdCBwcm9wIGluIHRoaXMucmVmLmVycm9ycykge1xuICAgICAgICAgICAgZXJyb3JzQXJyYXkucHVzaCh7IG5hbWU6IHByb3AsIHZhbHVlOiB0aGlzLnJlZi5lcnJvcnNbcHJvcF19KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZXJyb3JzQXJyYXk7XG4gICAgfVxuXG4gICAgbGFiZWxzKGxhYmVsKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmxhYmVsc1NlcnZpY2UuZ2V0TGFiZWwobGFiZWwpO1xuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,40 @@
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * Generated from: lib/components/form-field/form-field.component.ts
4
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
+ */
6
+ import { Component, Input, Injector } from '@angular/core';
7
+ import { OdeComponent } from 'ngx-ode-core';
8
+ export class FormFieldComponent extends OdeComponent {
9
+ /**
10
+ * @param {?} injector
11
+ */
12
+ constructor(injector) {
13
+ super(injector);
14
+ }
15
+ }
16
+ FormFieldComponent.decorators = [
17
+ { type: Component, args: [{
18
+ selector: 'ode-form-field',
19
+ template: "<div class=\"form-field\">\n <label>\n {{ label | translate }}\n <span *ngIf=\"required\" class=\"asterisque\">*</span>\n <ode-message-sticker *ngIf=\"help\"\n [type]=\"'info'\"\n [messages]=\"[help]\">\n </ode-message-sticker>\n </label>\n <ng-content></ng-content>\n</div>\n",
20
+ styles: ["div.form-field{display:flex;align-items:center}div.form-field>>>>*{flex:1;margin-left:5px}div.form-field>:first-child{flex:0 0 200px;margin-left:0}div.form-field message-sticker{font-size:1.3em}div.form-field .asterisque{color:#dc143c}"]
21
+ }] }
22
+ ];
23
+ /** @nocollapse */
24
+ FormFieldComponent.ctorParameters = () => [
25
+ { type: Injector }
26
+ ];
27
+ FormFieldComponent.propDecorators = {
28
+ label: [{ type: Input }],
29
+ help: [{ type: Input }],
30
+ required: [{ type: Input }]
31
+ };
32
+ if (false) {
33
+ /** @type {?} */
34
+ FormFieldComponent.prototype.label;
35
+ /** @type {?} */
36
+ FormFieldComponent.prototype.help;
37
+ /** @type {?} */
38
+ FormFieldComponent.prototype.required;
39
+ }
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtb2RlLXVpLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvZm9ybS1maWVsZC9mb3JtLWZpZWxkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBTzVDLE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxZQUFZOzs7O0lBS2xELFlBQVksUUFBa0I7UUFDNUIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7OztZQVpGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO2dCQUMxQix1VkFBMEM7O2FBRTNDOzs7O1lBUDBCLFFBQVE7OztvQkFTaEMsS0FBSzttQkFDTCxLQUFLO3VCQUNMLEtBQUs7Ozs7SUFGTixtQ0FBdUI7O0lBQ3ZCLGtDQUFzQjs7SUFDdEIsc0NBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9kZUNvbXBvbmVudCB9IGZyb20gJ25neC1vZGUtY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ29kZS1mb3JtLWZpZWxkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0tZmllbGQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9mb3JtLWZpZWxkLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRm9ybUZpZWxkQ29tcG9uZW50IGV4dGVuZHMgT2RlQ29tcG9uZW50IHtcbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZztcbiAgQElucHV0KCkgaGVscDogc3RyaW5nO1xuICBASW5wdXQoKSByZXF1aXJlZDogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3RvcihpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICBzdXBlcihpbmplY3Rvcik7XG4gIH1cbn1cbiJdfQ==