ngx-ode-ui 4.6.0-dev-produit.3 → 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,141 @@
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * Generated from: lib/components/lightbox/lightbox.component.ts
4
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
+ */
6
+ import * as tslib_1 from "tslib";
7
+ import { OdeComponent } from 'ngx-ode-core';
8
+ import { Component, ElementRef, EventEmitter, Input, Output, Renderer2, ViewChild, Injector } from '@angular/core';
9
+ var LightBoxComponent = /** @class */ (function (_super) {
10
+ tslib_1.__extends(LightBoxComponent, _super);
11
+ function LightBoxComponent(injector, renderer, host) {
12
+ var _this = _super.call(this, injector) || this;
13
+ _this.renderer = renderer;
14
+ _this.host = host;
15
+ _this._show = false;
16
+ _this.showCloseButton = true;
17
+ _this.onClose = new EventEmitter();
18
+ return _this;
19
+ }
20
+ Object.defineProperty(LightBoxComponent.prototype, "show", {
21
+ get: /**
22
+ * @return {?}
23
+ */
24
+ function () {
25
+ return this._show;
26
+ },
27
+ set: /**
28
+ * @param {?} s
29
+ * @return {?}
30
+ */
31
+ function (s) {
32
+ var _this = this;
33
+ if (this.timer) {
34
+ clearTimeout(this.timer);
35
+ }
36
+ if (s) {
37
+ this._show = true;
38
+ this.timer = window.setTimeout((/**
39
+ * @return {?}
40
+ */
41
+ function () {
42
+ _this.renderer.addClass(_this.host.nativeElement, 'shown');
43
+ _this.timer = null;
44
+ _this.changeDetector.markForCheck();
45
+ }), 100);
46
+ }
47
+ else {
48
+ /** @type {?} */
49
+ var wait = parseFloat(this.section &&
50
+ window.getComputedStyle(this.section.nativeElement)['transition-duration']);
51
+ this.renderer.removeClass(this.host.nativeElement, 'shown');
52
+ this.timer = window.setTimeout((/**
53
+ * @return {?}
54
+ */
55
+ function () {
56
+ _this._show = false;
57
+ _this.timer = null;
58
+ _this.changeDetector.markForCheck();
59
+ }), wait * 1000);
60
+ }
61
+ },
62
+ enumerable: true,
63
+ configurable: true
64
+ });
65
+ /**
66
+ * @param {?} event
67
+ * @return {?}
68
+ */
69
+ LightBoxComponent.prototype.onClick = /**
70
+ * @param {?} event
71
+ * @return {?}
72
+ */
73
+ function (event) {
74
+ if (this.overlay.nativeElement.contains(event.target)) {
75
+ this.close();
76
+ }
77
+ };
78
+ /**
79
+ * @return {?}
80
+ */
81
+ LightBoxComponent.prototype.close = /**
82
+ * @return {?}
83
+ */
84
+ function () {
85
+ this.show = false;
86
+ this.onClose.emit();
87
+ };
88
+ LightBoxComponent.decorators = [
89
+ { type: Component, args: [{
90
+ selector: 'ode-lightbox',
91
+ template: "<section *ngIf=\"_show\" #section>\n <div overlay #overlay></div>\n <div content>\n <i (click)=\"close()\" *ngIf=\"showCloseButton == true\"></i>\n <ng-content></ng-content>\n </div>\n</section>\n",
92
+ host: {
93
+ '(click)': 'onClick($event)'
94
+ },
95
+ styles: ["section{position:fixed;display:flex;align-items:center;justify-content:center;height:100%;width:100%;z-index:100;top:0;left:0;opacity:0;transition:opacity .35s}section[hidden]{display:none!important}:host.shown>section{opacity:1}div[overlay]{position:absolute;top:0;left:0;opacity:.7;width:100%;height:100%;background-color:#000}div[content]{flex:0 0 auto;max-width:75%;max-height:75%;overflow:auto;background-color:#fff;z-index:2;position:relative}"]
96
+ }] }
97
+ ];
98
+ /** @nocollapse */
99
+ LightBoxComponent.ctorParameters = function () { return [
100
+ { type: Injector },
101
+ { type: Renderer2 },
102
+ { type: ElementRef }
103
+ ]; };
104
+ LightBoxComponent.propDecorators = {
105
+ show: [{ type: Input }],
106
+ showCloseButton: [{ type: Input }],
107
+ onClose: [{ type: Output }],
108
+ section: [{ type: ViewChild, args: ['section', { static: false },] }],
109
+ overlay: [{ type: ViewChild, args: ['overlay', { static: false },] }]
110
+ };
111
+ return LightBoxComponent;
112
+ }(OdeComponent));
113
+ export { LightBoxComponent };
114
+ if (false) {
115
+ /** @type {?} */
116
+ LightBoxComponent.prototype._show;
117
+ /** @type {?} */
118
+ LightBoxComponent.prototype.showCloseButton;
119
+ /** @type {?} */
120
+ LightBoxComponent.prototype.onClose;
121
+ /** @type {?} */
122
+ LightBoxComponent.prototype.section;
123
+ /** @type {?} */
124
+ LightBoxComponent.prototype.overlay;
125
+ /**
126
+ * @type {?}
127
+ * @private
128
+ */
129
+ LightBoxComponent.prototype.timer;
130
+ /**
131
+ * @type {?}
132
+ * @private
133
+ */
134
+ LightBoxComponent.prototype.renderer;
135
+ /**
136
+ * @type {?}
137
+ * @private
138
+ */
139
+ LightBoxComponent.prototype.host;
140
+ }
141
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlnaHRib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LW9kZS11aS8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2xpZ2h0Ym94L2xpZ2h0Ym94LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzVDLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5IO0lBU3VDLDZDQUFZO0lBRS9DLDJCQUNJLFFBQWtCLEVBQ1YsUUFBbUIsRUFDbkIsSUFBZ0I7UUFINUIsWUFJUSxrQkFBTSxRQUFRLENBQUMsU0FDdEI7UUFIVyxjQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLFVBQUksR0FBSixJQUFJLENBQVk7UUFnQzVCLFdBQUssR0FBRyxLQUFLLENBQUM7UUFFTCxxQkFBZSxHQUFHLElBQUksQ0FBQztRQUV0QixhQUFPLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQzs7SUFsQzVDLENBQUM7SUFFRCxzQkFDSSxtQ0FBSTs7OztRQXVCUjtZQUNJLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztRQUN0QixDQUFDOzs7OztRQTFCRCxVQUNTLENBQVU7WUFEbkIsaUJBc0JDO1lBcEJHLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtnQkFDWixZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQzVCO1lBQ0QsSUFBSSxDQUFDLEVBQUU7Z0JBQ0gsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7Z0JBQ2xCLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLFVBQVU7OztnQkFBQztvQkFDM0IsS0FBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsS0FBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDLENBQUM7b0JBQ3pELEtBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO29CQUNsQixLQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUN2QyxDQUFDLEdBQUUsR0FBRyxDQUFDLENBQUM7YUFDWDtpQkFBTTs7b0JBQ0csSUFBSSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTztvQkFDaEMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUMscUJBQXFCLENBQUMsQ0FBQztnQkFDL0UsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDLENBQUM7Z0JBQzVELElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLFVBQVU7OztnQkFBQztvQkFDM0IsS0FBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7b0JBQ25CLEtBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO29CQUNsQixLQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUN2QyxDQUFDLEdBQUUsSUFBSSxHQUFHLElBQUksQ0FBQyxDQUFDO2FBQ25CO1FBQ0wsQ0FBQzs7O09BQUE7Ozs7O0lBaUJELG1DQUFPOzs7O0lBQVAsVUFBUSxLQUFpQjtRQUNyQixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDbkQsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQ2hCO0lBQ0wsQ0FBQzs7OztJQUVNLGlDQUFLOzs7SUFBWjtRQUNJLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDeEIsQ0FBQzs7Z0JBbEVKLFNBQVMsU0FBQztvQkFDUCxRQUFRLEVBQUUsY0FBYztvQkFDeEIseU5BQXdDO29CQUV4QyxJQUFJLEVBQUU7d0JBQ0YsU0FBUyxFQUFFLGlCQUFpQjtxQkFDL0I7O2lCQUVKOzs7O2dCQVZrRixRQUFRO2dCQUE5QixTQUFTO2dCQUFsRCxVQUFVOzs7dUJBb0J6QixLQUFLO2tDQThCTCxLQUFLOzBCQUVMLE1BQU07MEJBRU4sU0FBUyxTQUFDLFNBQVMsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7MEJBQ3RDLFNBQVMsU0FBQyxTQUFTLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFOztJQWMzQyx3QkFBQztDQUFBLEFBbkVELENBU3VDLFlBQVksR0EwRGxEO1NBMURZLGlCQUFpQjs7O0lBcUMxQixrQ0FBYzs7SUFFZCw0Q0FBZ0M7O0lBRWhDLG9DQUE0Qzs7SUFFNUMsb0NBQTZEOztJQUM3RCxvQ0FBNkQ7Ozs7O0lBRTdELGtDQUFzQjs7Ozs7SUExQ2xCLHFDQUEyQjs7Ozs7SUFDM0IsaUNBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2RlQ29tcG9uZW50IH0gZnJvbSAnbmd4LW9kZS1jb3JlJztcbmltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBSZW5kZXJlcjIsIFZpZXdDaGlsZCwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdvZGUtbGlnaHRib3gnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9saWdodGJveC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbGlnaHRib3guY29tcG9uZW50LnNjc3MnXSxcbiAgICBob3N0OiB7XG4gICAgICAgICcoY2xpY2spJzogJ29uQ2xpY2soJGV2ZW50KSdcbiAgICB9XG5cbn0pXG5leHBvcnQgY2xhc3MgTGlnaHRCb3hDb21wb25lbnQgZXh0ZW5kcyBPZGVDb21wb25lbnQge1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIGluamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICBwcml2YXRlIGhvc3Q6IEVsZW1lbnRSZWYpIHtcbiAgICAgICAgICAgIHN1cGVyKGluamVjdG9yKTtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCBzaG93KHM6IGJvb2xlYW4pIHtcbiAgICAgICAgaWYgKHRoaXMudGltZXIpIHtcbiAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLnRpbWVyKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAocykge1xuICAgICAgICAgICAgdGhpcy5fc2hvdyA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLnRpbWVyID0gd2luZG93LnNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5ob3N0Lm5hdGl2ZUVsZW1lbnQsICdzaG93bicpO1xuICAgICAgICAgICAgICAgIHRoaXMudGltZXIgPSBudWxsO1xuICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICB9LCAxMDApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3Qgd2FpdCA9IHBhcnNlRmxvYXQodGhpcy5zZWN0aW9uICYmXG4gICAgICAgICAgICAgICAgd2luZG93LmdldENvbXB1dGVkU3R5bGUodGhpcy5zZWN0aW9uLm5hdGl2ZUVsZW1lbnQpWyd0cmFuc2l0aW9uLWR1cmF0aW9uJ10pO1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLmhvc3QubmF0aXZlRWxlbWVudCwgJ3Nob3duJyk7XG4gICAgICAgICAgICB0aGlzLnRpbWVyID0gd2luZG93LnNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX3Nob3cgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB0aGlzLnRpbWVyID0gbnVsbDtcbiAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgICAgfSwgd2FpdCAqIDEwMDApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0IHNob3coKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zaG93O1xuICAgIH1cblxuICAgIF9zaG93ID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKSBzaG93Q2xvc2VCdXR0b24gPSB0cnVlO1xuXG4gICAgQE91dHB1dCgpIG9uQ2xvc2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICAgIEBWaWV3Q2hpbGQoJ3NlY3Rpb24nLCB7IHN0YXRpYzogZmFsc2UgfSkgc2VjdGlvbjogRWxlbWVudFJlZjtcbiAgICBAVmlld0NoaWxkKCdvdmVybGF5JywgeyBzdGF0aWM6IGZhbHNlIH0pIG92ZXJsYXk6IEVsZW1lbnRSZWY7XG5cbiAgICBwcml2YXRlIHRpbWVyOiBudW1iZXI7XG5cbiAgICBvbkNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgICAgIGlmICh0aGlzLm92ZXJsYXkubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQpKSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgY2xvc2UoKSB7XG4gICAgICAgIHRoaXMuc2hvdyA9IGZhbHNlO1xuICAgICAgICB0aGlzLm9uQ2xvc2UuZW1pdCgpO1xuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,67 @@
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * Generated from: lib/components/lightbox-confirm/lightbox-confirm.component.ts
4
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
+ */
6
+ import * as tslib_1 from "tslib";
7
+ import { OdeComponent } from 'ngx-ode-core';
8
+ import { Component, EventEmitter, Input, Output, Injector } from '@angular/core';
9
+ var LightboxConfirmComponent = /** @class */ (function (_super) {
10
+ tslib_1.__extends(LightboxConfirmComponent, _super);
11
+ function LightboxConfirmComponent(injector) {
12
+ var _this = _super.call(this, injector) || this;
13
+ _this.cancelText = "cancel";
14
+ _this.confirmText = "confirm";
15
+ _this.extraButtons = [];
16
+ _this.disableConfirm = false;
17
+ _this.onConfirm = new EventEmitter();
18
+ _this.onCancel = new EventEmitter();
19
+ _this.onExtra = new EventEmitter();
20
+ return _this;
21
+ }
22
+ LightboxConfirmComponent.decorators = [
23
+ { type: Component, args: [{
24
+ selector: 'ode-lightbox-confirm',
25
+ template: "<ode-lightbox [show]=\"show\" (onClose)=\"onCancel.emit()\">\n <h2 class=\"lightbox-confirm__header\">{{ lightboxTitle | translate }}</h2>\n <div class=\"lightbox-confirm-content\">\n <ng-content></ng-content>\n </div>\n <div class=\"lightbox-confirm-action\">\n <button (click)=\"onConfirm.emit()\" [disabled]=\"disableConfirm\" class=\"confirm\">{{ confirmText | translate }}</button>\n <button\n *ngFor=\"let extraBtn of extraButtons.slice().reverse(); index as i;\"\n (click)=\"onExtra.emit(extraButtons.length - 1 - i)\" class=\"confirm\">{{ extraBtn | translate }}</button>\n <button (click)=\"onCancel.emit()\" class=\"cancel\">{{ cancelText | translate }}</button>\n </div>\n</ode-lightbox>\n",
26
+ styles: [".lightbox-confirm__header{margin-bottom:0}.lightbox-confirm-content{font-size:16px;padding:20px 0}.lightbox-confirm-action button{float:right;text-align:center;margin-left:5px;margin-bottom:20px}"]
27
+ }] }
28
+ ];
29
+ /** @nocollapse */
30
+ LightboxConfirmComponent.ctorParameters = function () { return [
31
+ { type: Injector }
32
+ ]; };
33
+ LightboxConfirmComponent.propDecorators = {
34
+ lightboxTitle: [{ type: Input }],
35
+ show: [{ type: Input }],
36
+ cancelText: [{ type: Input }],
37
+ confirmText: [{ type: Input }],
38
+ extraButtons: [{ type: Input }],
39
+ disableConfirm: [{ type: Input }],
40
+ onConfirm: [{ type: Output }],
41
+ onCancel: [{ type: Output }],
42
+ onExtra: [{ type: Output }]
43
+ };
44
+ return LightboxConfirmComponent;
45
+ }(OdeComponent));
46
+ export { LightboxConfirmComponent };
47
+ if (false) {
48
+ /** @type {?} */
49
+ LightboxConfirmComponent.prototype.lightboxTitle;
50
+ /** @type {?} */
51
+ LightboxConfirmComponent.prototype.show;
52
+ /** @type {?} */
53
+ LightboxConfirmComponent.prototype.cancelText;
54
+ /** @type {?} */
55
+ LightboxConfirmComponent.prototype.confirmText;
56
+ /** @type {?} */
57
+ LightboxConfirmComponent.prototype.extraButtons;
58
+ /** @type {?} */
59
+ LightboxConfirmComponent.prototype.disableConfirm;
60
+ /** @type {?} */
61
+ LightboxConfirmComponent.prototype.onConfirm;
62
+ /** @type {?} */
63
+ LightboxConfirmComponent.prototype.onCancel;
64
+ /** @type {?} */
65
+ LightboxConfirmComponent.prototype.onExtra;
66
+ }
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlnaHRib3gtY29uZmlybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtb2RlLXVpLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvbGlnaHRib3gtY29uZmlybS9saWdodGJveC1jb25maXJtLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzVDLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpGO0lBSzhDLG9EQUFZO0lBYXRELGtDQUFZLFFBQWtCO1FBQTlCLFlBQ0ksa0JBQU0sUUFBUSxDQUFDLFNBQ2xCO1FBWFEsZ0JBQVUsR0FBVyxRQUFRLENBQUM7UUFDOUIsaUJBQVcsR0FBVyxTQUFTLENBQUM7UUFDaEMsa0JBQVksR0FBa0IsRUFBRSxDQUFDO1FBQ2pDLG9CQUFjLEdBQVksS0FBSyxDQUFDO1FBRS9CLGVBQVMsR0FBd0IsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUMxRCxjQUFRLEdBQXdCLElBQUksWUFBWSxFQUFRLENBQUM7UUFDekQsYUFBTyxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDOztJQUlyRSxDQUFDOztnQkFwQkosU0FBUyxTQUFDO29CQUNQLFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLG11QkFBZ0Q7O2lCQUVuRDs7OztnQkFOZ0QsUUFBUTs7O2dDQVNwRCxLQUFLO3VCQUNMLEtBQUs7NkJBQ0wsS0FBSzs4QkFDTCxLQUFLOytCQUNMLEtBQUs7aUNBQ0wsS0FBSzs0QkFFTCxNQUFNOzJCQUNOLE1BQU07MEJBQ04sTUFBTTs7SUFLWCwrQkFBQztDQUFBLEFBckJELENBSzhDLFlBQVksR0FnQnpEO1NBaEJZLHdCQUF3Qjs7O0lBRWpDLGlEQUErQjs7SUFDL0Isd0NBQXVCOztJQUN2Qiw4Q0FBdUM7O0lBQ3ZDLCtDQUF5Qzs7SUFDekMsZ0RBQTBDOztJQUMxQyxrREFBeUM7O0lBRXpDLDZDQUFvRTs7SUFDcEUsNENBQW1FOztJQUNuRSwyQ0FBcUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPZGVDb21wb25lbnQgfSBmcm9tICduZ3gtb2RlLWNvcmUnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnb2RlLWxpZ2h0Ym94LWNvbmZpcm0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9saWdodGJveC1jb25maXJtLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9saWdodGJveC1jb25maXJtLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgTGlnaHRib3hDb25maXJtQ29tcG9uZW50IGV4dGVuZHMgT2RlQ29tcG9uZW50IHtcblxuICAgIEBJbnB1dCgpIGxpZ2h0Ym94VGl0bGU6IHN0cmluZztcbiAgICBASW5wdXQoKSBzaG93OiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGNhbmNlbFRleHQ6IHN0cmluZyA9IFwiY2FuY2VsXCI7XG4gICAgQElucHV0KCkgY29uZmlybVRleHQ6IHN0cmluZyA9IFwiY29uZmlybVwiO1xuICAgIEBJbnB1dCgpIGV4dHJhQnV0dG9uczogQXJyYXk8U3RyaW5nPiA9IFtdO1xuICAgIEBJbnB1dCgpIGRpc2FibGVDb25maXJtOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBAT3V0cHV0KCkgb25Db25maXJtOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSAgbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICAgIEBPdXRwdXQoKSBvbkNhbmNlbDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gIG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgICBAT3V0cHV0KCkgb25FeHRyYTogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICAgIGNvbnN0cnVjdG9yKGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgICAgICBzdXBlcihpbmplY3Rvcik7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,146 @@
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * Generated from: lib/components/list/list.component.ts
4
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
+ */
6
+ import * as tslib_1 from "tslib";
7
+ import { OdeComponent } from 'ngx-ode-core';
8
+ import { Component, ContentChild, EventEmitter, Input, Output, TemplateRef, Injector } from '@angular/core';
9
+ var ListComponent = /** @class */ (function (_super) {
10
+ tslib_1.__extends(ListComponent, _super);
11
+ function ListComponent(injector) {
12
+ var _this = _super.call(this, injector) || this;
13
+ /* Store pipe */
14
+ _this.self = _this;
15
+ _this._storedElements = [];
16
+ _this.searchPlaceholder = 'search';
17
+ _this.noResultsLabel = 'list.results.no.items';
18
+ _this.placeholder = 'list.placeholder';
19
+ _this.isSearchActive = true;
20
+ _this.isSearchButtonDisabled = false;
21
+ _this.searchInput = false;
22
+ _this.inputChange = new EventEmitter();
23
+ _this.onSelect = new EventEmitter();
24
+ _this.listChange = new EventEmitter();
25
+ _this.scrolledDown = new EventEmitter();
26
+ _this.isSelected = (/**
27
+ * @param {?=} arg
28
+ * @return {?}
29
+ */
30
+ function (arg) { return false; });
31
+ _this.isDisabled = (/**
32
+ * @param {?=} arg
33
+ * @return {?}
34
+ */
35
+ function (arg) { return false; });
36
+ _this.ngClass = (/**
37
+ * @param {?=} arg
38
+ * @return {?}
39
+ */
40
+ function (arg) { return ({}); });
41
+ return _this;
42
+ }
43
+ Object.defineProperty(ListComponent.prototype, "storedElements", {
44
+ get: /**
45
+ * @return {?}
46
+ */
47
+ function () {
48
+ return this._storedElements;
49
+ },
50
+ set: /**
51
+ * @param {?} list
52
+ * @return {?}
53
+ */
54
+ function (list) {
55
+ this._storedElements = list;
56
+ this.listChange.emit(list);
57
+ },
58
+ enumerable: true,
59
+ configurable: true
60
+ });
61
+ ListComponent.decorators = [
62
+ { type: Component, args: [{
63
+ selector: 'ode-list',
64
+ template: "<ode-search-input\n *ngIf=\"isSearchActive\"\n [isSearchButtonDisabled]=\"isSearchButtonDisabled\"\n [searchInput]=\"searchInput\"\n [searchSubmit]=\"searchSubmit\"\n [delay]=\"searchDelay\"\n [attr.placeholder]=\"searchPlaceholder | translate\"\n (onChange)=\"inputChange.emit($event)\"\n>\n</ode-search-input>\n\n<div class=\"toolbar\">\n <ng-content select=\"[toolbar]\"></ng-content>\n</div>\n\n<div\n class=\"list-wrapper\"\n infiniteScroll\n [scrollWindow]=\"false\"\n (scrolled)=\"scrolledDown.emit()\"\n [infiniteScrollThrottle]=\"50\"\n>\n <ul>\n <li\n *ngFor=\"let item of model | filter: filters | filter: inputFilter | store:self:'storedElements' | orderBy: sort | slice: 0:limit\"\n (click)=\"onSelect.emit(item)\"\n [class.selected]=\"isSelected(item)\"\n [class.disabled]=\"isDisabled(item)\"\n [ngClass]=\"ngClass(item)\"\n class=\"lct-list-item\"\n >\n <ng-template [ngTemplateOutlet]=\"templateRef\" [ngTemplateOutletContext]=\"{$implicit: item}\">\n </ng-template>\n </li>\n </ul>\n\n <ul *ngIf=\"storedElements && storedElements.length === 0\">\n <li class=\"no-results\">{{ noResultsLabel | translate }}</li>\n </ul>\n\n <ul *ngIf=\"!model\">\n <li class=\"placeholder\">{{ placeholder | translate }}</li>\n </ul>\n</div>\n",
65
+ styles: ["ul{margin:0;padding:0;font-size:.9em}ul li{cursor:pointer;border-top:1px solid #ddd;padding:10px}ul li.no-results{padding:50px;text-align:center;font-style:italic}ul li.no-results:hover{cursor:default!important;background-color:inherit!important}ul li.placeholder{color:#aaa;padding:2rem;text-align:left}ul li.placeholder:hover{cursor:default!important;background-color:inherit!important}ul li.disabled{pointer-events:none}"]
66
+ }] }
67
+ ];
68
+ /** @nocollapse */
69
+ ListComponent.ctorParameters = function () { return [
70
+ { type: Injector }
71
+ ]; };
72
+ ListComponent.propDecorators = {
73
+ model: [{ type: Input }],
74
+ filters: [{ type: Input }],
75
+ inputFilter: [{ type: Input }],
76
+ sort: [{ type: Input }],
77
+ limit: [{ type: Input }],
78
+ searchPlaceholder: [{ type: Input }],
79
+ noResultsLabel: [{ type: Input }],
80
+ placeholder: [{ type: Input }],
81
+ isSearchActive: [{ type: Input }],
82
+ isSearchButtonDisabled: [{ type: Input }],
83
+ searchInput: [{ type: Input }],
84
+ searchDelay: [{ type: Input }],
85
+ searchSubmit: [{ type: Input }],
86
+ inputChange: [{ type: Output }],
87
+ onSelect: [{ type: Output }],
88
+ listChange: [{ type: Output }],
89
+ scrolledDown: [{ type: Output }],
90
+ templateRef: [{ type: ContentChild, args: [TemplateRef, { static: false },] }],
91
+ isSelected: [{ type: Input }],
92
+ isDisabled: [{ type: Input }],
93
+ ngClass: [{ type: Input }]
94
+ };
95
+ return ListComponent;
96
+ }(OdeComponent));
97
+ export { ListComponent };
98
+ if (false) {
99
+ /** @type {?} */
100
+ ListComponent.prototype.self;
101
+ /** @type {?} */
102
+ ListComponent.prototype._storedElements;
103
+ /** @type {?} */
104
+ ListComponent.prototype.model;
105
+ /** @type {?} */
106
+ ListComponent.prototype.filters;
107
+ /** @type {?} */
108
+ ListComponent.prototype.inputFilter;
109
+ /** @type {?} */
110
+ ListComponent.prototype.sort;
111
+ /** @type {?} */
112
+ ListComponent.prototype.limit;
113
+ /** @type {?} */
114
+ ListComponent.prototype.searchPlaceholder;
115
+ /** @type {?} */
116
+ ListComponent.prototype.noResultsLabel;
117
+ /** @type {?} */
118
+ ListComponent.prototype.placeholder;
119
+ /** @type {?} */
120
+ ListComponent.prototype.isSearchActive;
121
+ /** @type {?} */
122
+ ListComponent.prototype.isSearchButtonDisabled;
123
+ /** @type {?} */
124
+ ListComponent.prototype.searchInput;
125
+ /** @type {?} */
126
+ ListComponent.prototype.searchDelay;
127
+ /** @type {?} */
128
+ ListComponent.prototype.searchSubmit;
129
+ /** @type {?} */
130
+ ListComponent.prototype.inputChange;
131
+ /** @type {?} */
132
+ ListComponent.prototype.onSelect;
133
+ /** @type {?} */
134
+ ListComponent.prototype.listChange;
135
+ /** @type {?} */
136
+ ListComponent.prototype.scrolledDown;
137
+ /** @type {?} */
138
+ ListComponent.prototype.templateRef;
139
+ /** @type {?} */
140
+ ListComponent.prototype.isSelected;
141
+ /** @type {?} */
142
+ ListComponent.prototype.isDisabled;
143
+ /** @type {?} */
144
+ ListComponent.prototype.ngClass;
145
+ }
146
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtb2RlLXVpLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvbGlzdC9saXN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzVDLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFNUc7SUFLbUMseUNBQVk7SUF1QzNDLHVCQUFZLFFBQWtCO1FBQTlCLFlBQ0ksa0JBQU0sUUFBUSxDQUFDLFNBQ2xCOztRQTdCRCxVQUFJLEdBQUcsS0FBSSxDQUFDO1FBQ1oscUJBQWUsR0FBRyxFQUFFLENBQUM7UUFPWix1QkFBaUIsR0FBRyxRQUFRLENBQUM7UUFDN0Isb0JBQWMsR0FBRyx1QkFBdUIsQ0FBQztRQUN6QyxpQkFBVyxHQUFHLGtCQUFrQixDQUFDO1FBQ2pDLG9CQUFjLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLDRCQUFzQixHQUFZLEtBQUssQ0FBQztRQUN4QyxpQkFBVyxHQUFZLEtBQUssQ0FBQztRQUk1QixpQkFBVyxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBQy9ELGNBQVEsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNqRCxnQkFBVSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ25ELGtCQUFZLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFHdEQsZ0JBQVU7Ozs7UUFBRyxVQUFDLEdBQVMsSUFBSyxPQUFBLEtBQUssRUFBTCxDQUFLLEVBQUM7UUFDbEMsZ0JBQVU7Ozs7UUFBRyxVQUFDLEdBQVMsSUFBSyxPQUFBLEtBQUssRUFBTCxDQUFLLEVBQUM7UUFDbEMsYUFBTzs7OztRQUFHLFVBQUMsR0FBUyxJQUFLLE9BQUEsQ0FBQyxFQUFFLENBQUMsRUFBSixDQUFJLEVBQUM7O0lBSXZDLENBQUM7SUF2Q0Qsc0JBQUkseUNBQWM7Ozs7UUFLbEI7WUFDSSxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7UUFDaEMsQ0FBQzs7Ozs7UUFQRCxVQUFtQixJQUFJO1lBQ25CLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDO1lBQzVCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9CLENBQUM7OztPQUFBOztnQkFWSixTQUFTLFNBQUM7b0JBQ1AsUUFBUSxFQUFFLFVBQVU7b0JBQ3BCLGt6Q0FBb0M7O2lCQUV2Qzs7OztnQkFOMkUsUUFBUTs7O3dCQXNCL0UsS0FBSzswQkFDTCxLQUFLOzhCQUNMLEtBQUs7dUJBQ0wsS0FBSzt3QkFDTCxLQUFLO29DQUNMLEtBQUs7aUNBQ0wsS0FBSzs4QkFDTCxLQUFLO2lDQUNMLEtBQUs7eUNBQ0wsS0FBSzs4QkFDTCxLQUFLOzhCQUNMLEtBQUs7K0JBQ0wsS0FBSzs4QkFFTCxNQUFNOzJCQUNOLE1BQU07NkJBQ04sTUFBTTsrQkFDTixNQUFNOzhCQUVOLFlBQVksU0FBQyxXQUFXLEVBQUUsRUFBQyxNQUFNLEVBQUUsS0FBSyxFQUFDOzZCQUN6QyxLQUFLOzZCQUNMLEtBQUs7MEJBQ0wsS0FBSzs7SUFLVixvQkFBQztDQUFBLEFBL0NELENBS21DLFlBQVksR0EwQzlDO1NBMUNZLGFBQWE7OztJQVl0Qiw2QkFBWTs7SUFDWix3Q0FBcUI7O0lBRXJCLDhCQUFlOztJQUNmLGdDQUFpQjs7SUFDakIsb0NBQXFCOztJQUNyQiw2QkFBYzs7SUFDZCw4QkFBdUI7O0lBQ3ZCLDBDQUFzQzs7SUFDdEMsdUNBQWtEOztJQUNsRCxvQ0FBMEM7O0lBQzFDLHVDQUErQjs7SUFDL0IsK0NBQWlEOztJQUNqRCxvQ0FBc0M7O0lBQ3RDLG9DQUE2Qjs7SUFDN0IscUNBQWtDOztJQUVsQyxvQ0FBeUU7O0lBQ3pFLGlDQUEyRDs7SUFDM0QsbUNBQTZEOztJQUM3RCxxQ0FBK0Q7O0lBRS9ELG9DQUEwRTs7SUFDMUUsbUNBQTJDOztJQUMzQyxtQ0FBMkM7O0lBQzNDLGdDQUF1QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9kZUNvbXBvbmVudCB9IGZyb20gJ25neC1vZGUtY29yZSc7XG5pbXBvcnQgeyBDb21wb25lbnQsIENvbnRlbnRDaGlsZCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBUZW1wbGF0ZVJlZiwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdvZGUtbGlzdCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2xpc3QuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2xpc3QuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBMaXN0Q29tcG9uZW50IGV4dGVuZHMgT2RlQ29tcG9uZW50IHtcblxuICAgIHNldCBzdG9yZWRFbGVtZW50cyhsaXN0KSB7XG4gICAgICAgIHRoaXMuX3N0b3JlZEVsZW1lbnRzID0gbGlzdDtcbiAgICAgICAgdGhpcy5saXN0Q2hhbmdlLmVtaXQobGlzdCk7XG4gICAgfVxuXG4gICAgZ2V0IHN0b3JlZEVsZW1lbnRzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fc3RvcmVkRWxlbWVudHM7XG4gICAgfVxuXG4gICAgLyogU3RvcmUgcGlwZSAqL1xuICAgIHNlbGYgPSB0aGlzO1xuICAgIF9zdG9yZWRFbGVtZW50cyA9IFtdO1xuXG4gICAgQElucHV0KCkgbW9kZWw7XG4gICAgQElucHV0KCkgZmlsdGVycztcbiAgICBASW5wdXQoKSBpbnB1dEZpbHRlcjtcbiAgICBASW5wdXQoKSBzb3J0O1xuICAgIEBJbnB1dCgpIGxpbWl0OiBudW1iZXI7XG4gICAgQElucHV0KCkgc2VhcmNoUGxhY2Vob2xkZXIgPSAnc2VhcmNoJztcbiAgICBASW5wdXQoKSBub1Jlc3VsdHNMYWJlbCA9ICdsaXN0LnJlc3VsdHMubm8uaXRlbXMnO1xuICAgIEBJbnB1dCgpIHBsYWNlaG9sZGVyID0gJ2xpc3QucGxhY2Vob2xkZXInO1xuICAgIEBJbnB1dCgpIGlzU2VhcmNoQWN0aXZlID0gdHJ1ZTtcbiAgICBASW5wdXQoKSBpc1NlYXJjaEJ1dHRvbkRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KCkgc2VhcmNoSW5wdXQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBASW5wdXQoKSBzZWFyY2hEZWxheTogbnVtYmVyO1xuICAgIEBJbnB1dCgpIHNlYXJjaFN1Ym1pdDogKCkgPT4gdm9pZDtcblxuICAgIEBPdXRwdXQoKSBpbnB1dENoYW5nZTogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgICBAT3V0cHV0KCkgb25TZWxlY3Q6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIEBPdXRwdXQoKSBsaXN0Q2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KCkgc2Nyb2xsZWREb3duOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEBDb250ZW50Q2hpbGQoVGVtcGxhdGVSZWYsIHtzdGF0aWM6IGZhbHNlfSkgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT47XG4gICAgQElucHV0KCkgaXNTZWxlY3RlZCA9IChhcmc/OiBhbnkpID0+IGZhbHNlO1xuICAgIEBJbnB1dCgpIGlzRGlzYWJsZWQgPSAoYXJnPzogYW55KSA9PiBmYWxzZTtcbiAgICBASW5wdXQoKSBuZ0NsYXNzID0gKGFyZz86IGFueSkgPT4gKHt9KTtcblxuICAgIGNvbnN0cnVjdG9yKGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgICAgICBzdXBlcihpbmplY3Rvcik7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,148 @@
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * Generated from: lib/components/list-checkable/list-checkable.component.ts
4
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
+ */
6
+ import * as tslib_1 from "tslib";
7
+ import { OdeComponent } from 'ngx-ode-core';
8
+ import { Component, ContentChild, EventEmitter, Input, Output, TemplateRef, Injector } from '@angular/core';
9
+ var ListCheckableComponent = /** @class */ (function (_super) {
10
+ tslib_1.__extends(ListCheckableComponent, _super);
11
+ function ListCheckableComponent(injector) {
12
+ var _this = _super.call(this, injector) || this;
13
+ _this.model = [];
14
+ _this.noResultsLabel = 'list.results.no.items';
15
+ _this.readOnly = false;
16
+ _this.onCheck = new EventEmitter();
17
+ _this.listChange = new EventEmitter();
18
+ _this.scrolledDown = new EventEmitter();
19
+ _this.areAllChecked = (/**
20
+ * @return {?}
21
+ */
22
+ function () { return false; });
23
+ _this.isChecked = (/**
24
+ * @param {?=} arg
25
+ * @return {?}
26
+ */
27
+ function (arg) { return false; });
28
+ _this.isDisabled = (/**
29
+ * @param {?=} arg
30
+ * @return {?}
31
+ */
32
+ function (arg) { return false; });
33
+ _this.ngClass = (/**
34
+ * @param {?=} arg
35
+ * @return {?}
36
+ */
37
+ function (arg) { return ({}); });
38
+ /* Store pipe */
39
+ _this.self = _this;
40
+ _this._storedElements = [];
41
+ return _this;
42
+ }
43
+ Object.defineProperty(ListCheckableComponent.prototype, "storedElements", {
44
+ get: /**
45
+ * @return {?}
46
+ */
47
+ function () {
48
+ return this._storedElements;
49
+ },
50
+ set: /**
51
+ * @param {?} list
52
+ * @return {?}
53
+ */
54
+ function (list) {
55
+ this._storedElements = list;
56
+ this.listChange.emit(list);
57
+ },
58
+ enumerable: true,
59
+ configurable: true
60
+ });
61
+ /**
62
+ * @param {?} checkAll
63
+ * @return {?}
64
+ */
65
+ ListCheckableComponent.prototype.toggleAll = /**
66
+ * @param {?} checkAll
67
+ * @return {?}
68
+ */
69
+ function (checkAll) {
70
+ var _this = this;
71
+ this.model.forEach((/**
72
+ * @param {?} item
73
+ * @return {?}
74
+ */
75
+ function (item) {
76
+ /** @type {?} */
77
+ var isChecked = _this.isChecked(item);
78
+ if (!_this.isDisabled(item)
79
+ && ((isChecked && !checkAll) || (!isChecked && checkAll))) {
80
+ _this.onCheck.emit({ item: item, checked: checkAll });
81
+ }
82
+ }));
83
+ };
84
+ ListCheckableComponent.decorators = [
85
+ { type: Component, args: [{
86
+ selector: 'ode-list-checkable',
87
+ template: "<div class=\"list-checkable-wrapper\"\n infiniteScroll\n [scrollWindow]=\"false\"\n (scrolled)=\"scrolledDown.emit()\"\n [infiniteScrollThrottle]=\"50\">\n\n <ul *ngIf=\"storedElements && storedElements.length === 0\">\n <li class=\"no-results\"><span>{{ noResultsLabel | translate }}</span></li>\n </ul>\n \n <ul>\n <li class=\"select-all\" \n [class.checked]=\"areAllChecked()\"\n *ngIf=\"!readOnly\">\n <label>\n <span>{{(areAllChecked() ? 'ux.multiselect.deselect-all' : 'ux.multiselect.select-all') | translate}}</span>\n <input type=\"checkbox\" [checked]=\"areAllChecked()\" (change)=\"toggleAll($event.target.checked)\" />\n </label>\n </li>\n\n <li class=\"lct-list-checkable-item\" \n [class.checked]=\"isChecked(item)\"\n [class.disabled]=\"isDisabled(item)\"\n [ngClass]=\"ngClass(item)\"\n *ngFor=\"let item of model | filter: filters | store:self:'storedElements' | orderBy: sort | slice: 0:limit\">\n <label>\n <span>\n <ng-template [ngTemplateOutlet]=\"templateRef\" [ngTemplateOutletContext]=\"{$implicit: item}\"></ng-template> \n </span>\n <input *ngIf=\"!readOnly\" type=\"checkbox\" \n [disabled]=\"isDisabled(item)\"\n [checked]=\"isChecked(item)\"\n (change)=\"onCheck.emit({item:item, checked:$event.target.checked})\"/>\n </label>\n </li>\n </ul>\n\n</div>\n",
88
+ styles: ["ul{margin:0;padding:0;font-size:.9em}ul li{border-top:1px solid #ddd;width:-webkit-fill-available;width:-moz-available;display:flex}ul li:not(.checked){color:#939393}ul li.disabled{pointer-events:none}ul li.select-all{background-color:#ff83520a;color:#5b6472}ul li.select-all span{text-align:right}ul li label{cursor:pointer;width:100%;display:flex}ul li label:hover{background-color:#eaedf2}ul li label span{padding:7px 15px;width:100%}ul li label input[type=checkbox]{margin-right:15px;-ms-grid-row-align:center;align-self:center}"]
89
+ }] }
90
+ ];
91
+ /** @nocollapse */
92
+ ListCheckableComponent.ctorParameters = function () { return [
93
+ { type: Injector }
94
+ ]; };
95
+ ListCheckableComponent.propDecorators = {
96
+ model: [{ type: Input }],
97
+ filters: [{ type: Input }],
98
+ sort: [{ type: Input }],
99
+ limit: [{ type: Input }],
100
+ noResultsLabel: [{ type: Input }],
101
+ readOnly: [{ type: Input }],
102
+ onCheck: [{ type: Output }],
103
+ listChange: [{ type: Output }],
104
+ scrolledDown: [{ type: Output }],
105
+ templateRef: [{ type: ContentChild, args: [TemplateRef, { static: false },] }],
106
+ areAllChecked: [{ type: Input }],
107
+ isChecked: [{ type: Input }],
108
+ isDisabled: [{ type: Input }],
109
+ ngClass: [{ type: Input }]
110
+ };
111
+ return ListCheckableComponent;
112
+ }(OdeComponent));
113
+ export { ListCheckableComponent };
114
+ if (false) {
115
+ /** @type {?} */
116
+ ListCheckableComponent.prototype.model;
117
+ /** @type {?} */
118
+ ListCheckableComponent.prototype.filters;
119
+ /** @type {?} */
120
+ ListCheckableComponent.prototype.sort;
121
+ /** @type {?} */
122
+ ListCheckableComponent.prototype.limit;
123
+ /** @type {?} */
124
+ ListCheckableComponent.prototype.noResultsLabel;
125
+ /** @type {?} */
126
+ ListCheckableComponent.prototype.readOnly;
127
+ /** @type {?} */
128
+ ListCheckableComponent.prototype.onCheck;
129
+ /** @type {?} */
130
+ ListCheckableComponent.prototype.listChange;
131
+ /** @type {?} */
132
+ ListCheckableComponent.prototype.scrolledDown;
133
+ /** @type {?} */
134
+ ListCheckableComponent.prototype.templateRef;
135
+ /** @type {?} */
136
+ ListCheckableComponent.prototype.areAllChecked;
137
+ /** @type {?} */
138
+ ListCheckableComponent.prototype.isChecked;
139
+ /** @type {?} */
140
+ ListCheckableComponent.prototype.isDisabled;
141
+ /** @type {?} */
142
+ ListCheckableComponent.prototype.ngClass;
143
+ /** @type {?} */
144
+ ListCheckableComponent.prototype.self;
145
+ /** @type {?} */
146
+ ListCheckableComponent.prototype._storedElements;
147
+ }
148
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1jaGVja2FibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LW9kZS11aS8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2xpc3QtY2hlY2thYmxlL2xpc3QtY2hlY2thYmxlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzVDLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFnQzVHO0lBSzRDLGtEQUFZO0lBOEJwRCxnQ0FBWSxRQUFrQjtRQUE5QixZQUNJLGtCQUFNLFFBQVEsQ0FBQyxTQUNsQjtRQS9CUSxXQUFLLEdBQUcsRUFBRSxDQUFDO1FBSVgsb0JBQWMsR0FBRyx1QkFBdUIsQ0FBQztRQUN6QyxjQUFRLEdBQVksS0FBSyxDQUFDO1FBRXpCLGFBQU8sR0FBOEIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN4RCxnQkFBVSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ25ELGtCQUFZLEdBQXVCLElBQUksWUFBWSxFQUFFLENBQUM7UUFJdkQsbUJBQWE7OztRQUFHLGNBQU0sT0FBQSxLQUFLLEVBQUwsQ0FBSyxFQUFDO1FBQzVCLGVBQVM7Ozs7UUFBRyxVQUFDLEdBQVMsSUFBSyxPQUFBLEtBQUssRUFBTCxDQUFLLEVBQUM7UUFDakMsZ0JBQVU7Ozs7UUFBRyxVQUFDLEdBQVMsSUFBSyxPQUFBLEtBQUssRUFBTCxDQUFLLEVBQUM7UUFDbEMsYUFBTzs7OztRQUFHLFVBQUMsR0FBUyxJQUFLLE9BQUEsQ0FBQyxFQUFFLENBQUMsRUFBSixDQUFJLEVBQUM7O1FBR3ZDLFVBQUksR0FBRyxLQUFJLENBQUM7UUFDWixxQkFBZSxHQUFHLEVBQUUsQ0FBQzs7SUFXckIsQ0FBQztJQVZELHNCQUFJLGtEQUFjOzs7O1FBSWxCO1lBQ0ksT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO1FBQ2hDLENBQUM7Ozs7O1FBTkQsVUFBbUIsSUFBSTtZQUNuQixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztZQUM1QixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMvQixDQUFDOzs7T0FBQTs7Ozs7SUFTTSwwQ0FBUzs7OztJQUFoQixVQUFrQixRQUFnQjtRQUFsQyxpQkFRQztRQVBHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTzs7OztRQUFFLFVBQUEsSUFBSTs7Z0JBQ2QsU0FBUyxHQUFHLEtBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO1lBQ3RDLElBQUksQ0FBQyxLQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQzttQkFDbEIsQ0FBQyxDQUFDLFNBQVMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLElBQUksUUFBUSxDQUFDLENBQUMsRUFBRztnQkFDN0QsS0FBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUUsRUFBQyxJQUFJLEVBQUMsSUFBSSxFQUFFLE9BQU8sRUFBQyxRQUFRLEVBQUMsQ0FBRSxDQUFDO2FBQ3REO1FBQ0wsQ0FBQyxFQUFDLENBQUE7SUFDTixDQUFDOztnQkEvQ0osU0FBUyxTQUFDO29CQUNQLFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLDI4Q0FBOEM7O2lCQUVqRDs7OztnQkFwQzJFLFFBQVE7Ozt3QkFzQy9FLEtBQUs7MEJBQ0wsS0FBSzt1QkFDTCxLQUFLO3dCQUNMLEtBQUs7aUNBQ0wsS0FBSzsyQkFDTCxLQUFLOzBCQUVMLE1BQU07NkJBQ04sTUFBTTsrQkFDTixNQUFNOzhCQUVOLFlBQVksU0FBQyxXQUFXLEVBQUUsRUFBQyxNQUFNLEVBQUUsS0FBSyxFQUFDO2dDQUV6QyxLQUFLOzRCQUNMLEtBQUs7NkJBQ0wsS0FBSzswQkFDTCxLQUFLOztJQTJCViw2QkFBQztDQUFBLEFBakRELENBSzRDLFlBQVksR0E0Q3ZEO1NBNUNZLHNCQUFzQjs7O0lBQy9CLHVDQUFvQjs7SUFDcEIseUNBQWlCOztJQUNqQixzQ0FBYzs7SUFDZCx1Q0FBdUI7O0lBQ3ZCLGdEQUFrRDs7SUFDbEQsMENBQW1DOztJQUVuQyx5Q0FBa0U7O0lBQ2xFLDRDQUE2RDs7SUFDN0QsOENBQWdFOztJQUVoRSw2Q0FBMEU7O0lBRTFFLCtDQUFxQzs7SUFDckMsMkNBQTBDOztJQUMxQyw0Q0FBMkM7O0lBQzNDLHlDQUF1Qzs7SUFHdkMsc0NBQVk7O0lBQ1osaURBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2RlQ29tcG9uZW50IH0gZnJvbSAnbmd4LW9kZS1jb3JlJztcbmltcG9ydCB7IENvbXBvbmVudCwgQ29udGVudENoaWxkLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIFRlbXBsYXRlUmVmLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIExpc3RDaGVja2FibGVDb21wb25lbnQgaXMgYW4gYWx0ZXJuYXRpdmUgdG8gdGhlIExpc3RDb21wb25lbnQgdG8gZWFzaWx5IHNlbGVjdCByb3dzIGJ5IHVzaW5nIGEgY2hlY2tib3guXG4gKiBcbiAqIFxuYGBgXG48b2RlLWxpc3QtY2hlY2thYmxlXG4gICAgICBbcmVhZE9ubHldPVwiYV9ib29sZWFuXCJcbiAgICAgIFttb2RlbF09XCJhbl9hcnJheV9vZl9pdGVtc1wiXG4gICAgICBbZmlsdGVyc109XCJcIlxuICAgICAgW3NvcnRdPVwiJytkaXNwbGF5TmFtZSdcIlxuICAgICAgW2xpbWl0XT1cImFfbnVtYmVyXCJcbiAgICAgIFtub1Jlc3VsdHNMYWJlbF09XCJ0ZXh0X3RvX2Rpc3BsYXlfd2hlbl9ub19pdGVtX2luX21vZGVsXCJcbiAgICAgIFtpc0NoZWNrZWRdPVwiYV9sYW1iZGFfd2hpY2hfdGFrZXNfMV9pdGVtX2FyZ3VtZW50X2FuZF9yZXR1cm5zX2FfYm9vbGVhblwiXG4gICAgICBbYXJlQWxsQ2hlY2tlZF09XCJhX2xhbWJkYV93aXRoX25vX2FyZ3VtZW50X3doaWNoX3JldHVybnNfYV9ib29sZWFuXCJcbiAgICAgIFtuZ0NsYXNzXT1cImFfbGFtYmRhX3doaWNoX3Rha2VzXzFfaXRlbV9hcmd1bWVudF9hbmRfcmV0dXJuc19hbl9vYmplY3RcIlxuICAgICAgKG9uQ2hlY2spPVwiZW1pdHNfYW5fJGV2ZW50X2xpa2Vfe2l0ZW06YW55OyBjaGVja2VkOmJvb2xlYW59XCJcbiAgICAgIChsaXN0Q2hhbmdlKT1cIlwiXG4gICAgICAoc2Nyb2xsZWREb3duKT1cIlwiXG4gICAgICA+XG5cbiAgICA8bmctdGVtcGxhdGUgbGV0LWl0ZW0+XG4gICAgICA8c3Bhbj57e2l0ZW0uZGlzcGxheU5hbWV8dHJhbnNsYXRlfX08L3NwYW4+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICBcbjwvb2RlLWxpc3QtY2hlY2thYmxlPlxuYMyAYGBcbiAqL1xuXG50eXBlIE9uQ2hlY2tEYXRhID0ge2l0ZW06YW55LCBjaGVja2VkOmJvb2xlYW59O1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ29kZS1saXN0LWNoZWNrYWJsZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2xpc3QtY2hlY2thYmxlLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9saXN0LWNoZWNrYWJsZS5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIExpc3RDaGVja2FibGVDb21wb25lbnQgZXh0ZW5kcyBPZGVDb21wb25lbnQge1xuICAgIEBJbnB1dCgpIG1vZGVsID0gW107XG4gICAgQElucHV0KCkgZmlsdGVycztcbiAgICBASW5wdXQoKSBzb3J0O1xuICAgIEBJbnB1dCgpIGxpbWl0OiBudW1iZXI7XG4gICAgQElucHV0KCkgbm9SZXN1bHRzTGFiZWwgPSAnbGlzdC5yZXN1bHRzLm5vLml0ZW1zJztcbiAgICBASW5wdXQoKSByZWFkT25seTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgQE91dHB1dCgpIG9uQ2hlY2s6IEV2ZW50RW1pdHRlcjxPbkNoZWNrRGF0YT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgQE91dHB1dCgpIGxpc3RDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIEBPdXRwdXQoKSBzY3JvbGxlZERvd246IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEBDb250ZW50Q2hpbGQoVGVtcGxhdGVSZWYsIHtzdGF0aWM6IGZhbHNlfSkgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBASW5wdXQoKSBhcmVBbGxDaGVja2VkID0gKCkgPT4gZmFsc2U7XG4gICAgQElucHV0KCkgaXNDaGVja2VkID0gKGFyZz86IGFueSkgPT4gZmFsc2U7XG4gICAgQElucHV0KCkgaXNEaXNhYmxlZCA9IChhcmc/OiBhbnkpID0+IGZhbHNlO1xuICAgIEBJbnB1dCgpIG5nQ2xhc3MgPSAoYXJnPzogYW55KSA9PiAoe30pO1xuXG4gICAgLyogU3RvcmUgcGlwZSAqL1xuICAgIHNlbGYgPSB0aGlzO1xuICAgIF9zdG9yZWRFbGVtZW50cyA9IFtdO1xuICAgIHNldCBzdG9yZWRFbGVtZW50cyhsaXN0KSB7XG4gICAgICAgIHRoaXMuX3N0b3JlZEVsZW1lbnRzID0gbGlzdDtcbiAgICAgICAgdGhpcy5saXN0Q2hhbmdlLmVtaXQobGlzdCk7XG4gICAgfVxuICAgIGdldCBzdG9yZWRFbGVtZW50cygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3N0b3JlZEVsZW1lbnRzO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgICAgICBzdXBlcihpbmplY3Rvcik7XG4gICAgfVxuXG4gICAgcHVibGljIHRvZ2dsZUFsbCggY2hlY2tBbGw6Ym9vbGVhbiApIHtcbiAgICAgICAgdGhpcy5tb2RlbC5mb3JFYWNoKCBpdGVtID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGlzQ2hlY2tlZCA9IHRoaXMuaXNDaGVja2VkKGl0ZW0pO1xuICAgICAgICAgICAgaWYoICF0aGlzLmlzRGlzYWJsZWQoaXRlbSlcbiAgICAgICAgICAgICAgICAgJiYgKChpc0NoZWNrZWQgJiYgIWNoZWNrQWxsKSB8fCAoIWlzQ2hlY2tlZCAmJiBjaGVja0FsbCkpICkge1xuICAgICAgICAgICAgICAgIHRoaXMub25DaGVjay5lbWl0KCB7aXRlbTppdGVtLCBjaGVja2VkOmNoZWNrQWxsfSApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KVxuICAgIH1cblxufVxuIl19