@acorex/components 5.0.2 → 5.0.4

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 (316) hide show
  1. package/README.md +24 -24
  2. package/acorex-components.d.ts +5 -5
  3. package/bundles/acorex-components.umd.js +6719 -6658
  4. package/bundles/acorex-components.umd.js.map +1 -1
  5. package/esm2015/acorex-components.js +4 -4
  6. package/esm2015/lib/alert/alert-button.component.js +52 -52
  7. package/esm2015/lib/alert/alert-contnet.component.js +21 -21
  8. package/esm2015/lib/alert/alert-footer.component.js +27 -27
  9. package/esm2015/lib/alert/alert-suffix.component.js +27 -27
  10. package/esm2015/lib/alert/alert-title.component.js +23 -23
  11. package/esm2015/lib/alert/alert.component.js +131 -130
  12. package/esm2015/lib/alert/alert.module.js +43 -43
  13. package/esm2015/lib/alert/index.js +8 -8
  14. package/esm2015/lib/avatar/avatar.component.js +55 -55
  15. package/esm2015/lib/avatar/avatar.module.js +21 -21
  16. package/esm2015/lib/avatar/index.js +3 -3
  17. package/esm2015/lib/base/common.module.js +18 -18
  18. package/esm2015/lib/base/custom-cdk-overlay.service.js +47 -47
  19. package/esm2015/lib/base/drawing.class.js +11 -11
  20. package/esm2015/lib/base/events.class.js +53 -47
  21. package/esm2015/lib/base/index.js +7 -7
  22. package/esm2015/lib/base/mixin/base-components.class.js +83 -83
  23. package/esm2015/lib/base/mixin/button-mixin.class.js +129 -129
  24. package/esm2015/lib/base/mixin/clickable-mixin.class.js +24 -24
  25. package/esm2015/lib/base/mixin/constratctor.js +2 -2
  26. package/esm2015/lib/base/mixin/datalist-component.class.js +97 -97
  27. package/esm2015/lib/base/mixin/dropdown-mixin.class.js +36 -36
  28. package/esm2015/lib/base/mixin/index.js +3 -3
  29. package/esm2015/lib/base/mixin/interactive-mixin.class.js +72 -72
  30. package/esm2015/lib/base/mixin/loading-mixin.class.js +18 -18
  31. package/esm2015/lib/base/mixin/mixin.class.js +23 -23
  32. package/esm2015/lib/base/mixin/selection-component.class.js +158 -158
  33. package/esm2015/lib/base/mixin/sizable-mixin.class.js +18 -18
  34. package/esm2015/lib/base/mixin/textbox-mixin.class.js +38 -38
  35. package/esm2015/lib/base/mixin/value-mixin.class.js +190 -190
  36. package/esm2015/lib/base/overlay.service.js +91 -91
  37. package/esm2015/lib/base/responsive.directive.js +34 -34
  38. package/esm2015/lib/base/styles.class.js +4 -4
  39. package/esm2015/lib/button/button-group.component.js +131 -131
  40. package/esm2015/lib/button/button-item.class.js +2 -2
  41. package/esm2015/lib/button/button-item.component.js +81 -81
  42. package/esm2015/lib/button/button.component.js +51 -52
  43. package/esm2015/lib/button/button.module.js +37 -37
  44. package/esm2015/lib/button/dropdown-button.component.js +200 -200
  45. package/esm2015/lib/button/index.js +7 -7
  46. package/esm2015/lib/calendar/calendar.component.js +59 -59
  47. package/esm2015/lib/calendar/calendar.module.js +24 -24
  48. package/esm2015/lib/calendar/index.js +3 -3
  49. package/esm2015/lib/carousel/carousel-arrows.component.js +53 -53
  50. package/esm2015/lib/carousel/carousel-item.component.js +21 -21
  51. package/esm2015/lib/carousel/carousel-pager.component.js +74 -74
  52. package/esm2015/lib/carousel/carousel-splidejs.class.js +82 -82
  53. package/esm2015/lib/carousel/carousel.class.js +10 -10
  54. package/esm2015/lib/carousel/carousel.component.js +246 -246
  55. package/esm2015/lib/carousel/carousel.module.js +24 -24
  56. package/esm2015/lib/carousel/index.js +7 -7
  57. package/esm2015/lib/checkbox/checkbox.component.js +40 -40
  58. package/esm2015/lib/checkbox/checkbox.module.js +20 -20
  59. package/esm2015/lib/checkbox/index.js +3 -3
  60. package/esm2015/lib/datalist/datalist.component.js +81 -81
  61. package/esm2015/lib/datalist/datalist.module.js +22 -22
  62. package/esm2015/lib/datalist/index.js +3 -3
  63. package/esm2015/lib/datepicker/datepicker.component.js +64 -64
  64. package/esm2015/lib/datepicker/datepicker.module.js +23 -23
  65. package/esm2015/lib/datepicker/index.js +3 -3
  66. package/esm2015/lib/decorators/decorators.module.js +22 -22
  67. package/esm2015/lib/decorators/index.js +4 -4
  68. package/esm2015/lib/decorators/prefix.component.js +27 -27
  69. package/esm2015/lib/decorators/suffix.component.js +35 -35
  70. package/esm2015/lib/dialog/dialog.class.js +2 -2
  71. package/esm2015/lib/dialog/dialog.component.js +45 -45
  72. package/esm2015/lib/dialog/dialog.module.js +26 -26
  73. package/esm2015/lib/dialog/dialog.service.js +127 -127
  74. package/esm2015/lib/dialog/index.js +5 -5
  75. package/esm2015/lib/drawer/drawer-container.component.js +73 -73
  76. package/esm2015/lib/drawer/drawer-content.component.js +27 -27
  77. package/esm2015/lib/drawer/drawer.component.js +145 -145
  78. package/esm2015/lib/drawer/drawer.module.js +23 -23
  79. package/esm2015/lib/drawer/index.js +5 -5
  80. package/esm2015/lib/dropdown/dropdown-panel.component.js +194 -191
  81. package/esm2015/lib/dropdown/dropdown.component.js +139 -139
  82. package/esm2015/lib/dropdown/dropdown.module.js +24 -24
  83. package/esm2015/lib/dropdown/index.js +4 -4
  84. package/esm2015/lib/form/form-field.component.js +20 -20
  85. package/esm2015/lib/form/form-field.module.js +21 -21
  86. package/esm2015/lib/form/form-hint.component.js +20 -20
  87. package/esm2015/lib/form/form.component.js +51 -51
  88. package/esm2015/lib/form/index.js +5 -5
  89. package/esm2015/lib/icon/icon.component.js +28 -28
  90. package/esm2015/lib/icon/icon.module.js +21 -21
  91. package/esm2015/lib/icon/index.js +3 -3
  92. package/esm2015/lib/input-mask/index.js +3 -3
  93. package/esm2015/lib/input-mask/input-mask.component.js +42 -42
  94. package/esm2015/lib/input-mask/input-mask.module.js +23 -23
  95. package/esm2015/lib/label/index.js +3 -3
  96. package/esm2015/lib/label/label.component.js +20 -20
  97. package/esm2015/lib/label/label.module.js +21 -21
  98. package/esm2015/lib/loading/index.js +6 -6
  99. package/esm2015/lib/loading/loading-spinner.component.js +32 -32
  100. package/esm2015/lib/loading/loading.component.js +54 -54
  101. package/esm2015/lib/loading/loading.directive.js +67 -67
  102. package/esm2015/lib/loading/loading.module.js +35 -35
  103. package/esm2015/lib/loading/loading.service.js +155 -155
  104. package/esm2015/lib/number-box/index.js +3 -3
  105. package/esm2015/lib/number-box/number-box.component.js +289 -289
  106. package/esm2015/lib/number-box/number-box.module.js +32 -32
  107. package/esm2015/lib/page/base-page.class.js +66 -66
  108. package/esm2015/lib/page/index.js +5 -5
  109. package/esm2015/lib/page/page-footer.component.js +32 -32
  110. package/esm2015/lib/page/page.component.js +33 -33
  111. package/esm2015/lib/page/page.module.js +18 -18
  112. package/esm2015/lib/popover/index.js +3 -3
  113. package/esm2015/lib/popover/popover.component.js +119 -119
  114. package/esm2015/lib/popover/popover.module.js +19 -19
  115. package/esm2015/lib/popup/index.js +4 -4
  116. package/esm2015/lib/popup/popup.component.js +97 -97
  117. package/esm2015/lib/popup/popup.module.js +26 -26
  118. package/esm2015/lib/popup/popup.service.js +94 -94
  119. package/esm2015/lib/range-slider/index.js +3 -0
  120. package/esm2015/lib/range-slider/range-slider.component.js +22 -0
  121. package/esm2015/lib/range-slider/range-slider.module.js +21 -0
  122. package/esm2015/lib/selectbox/index.js +3 -3
  123. package/esm2015/lib/selectbox/selectbox.component.js +193 -193
  124. package/esm2015/lib/selectbox/selectbox.module.js +21 -21
  125. package/esm2015/lib/selection-list/index.js +3 -3
  126. package/esm2015/lib/selection-list/selection-list.component.js +46 -46
  127. package/esm2015/lib/selection-list/selection-list.module.js +21 -21
  128. package/esm2015/lib/side-menu/index.js +3 -3
  129. package/esm2015/lib/side-menu/side-menu.component.js +21 -21
  130. package/esm2015/lib/side-menu/side-menu.module.js +21 -21
  131. package/esm2015/lib/switch/index.js +3 -3
  132. package/esm2015/lib/switch/switch.component.js +30 -30
  133. package/esm2015/lib/switch/switch.module.js +21 -21
  134. package/esm2015/lib/tabs/index.js +6 -6
  135. package/esm2015/lib/tabs/tab-strip.component.js +61 -61
  136. package/esm2015/lib/tabs/tab-view.component.js +46 -46
  137. package/esm2015/lib/tabs/tab.component.js +59 -59
  138. package/esm2015/lib/tabs/tabs.class.js +4 -4
  139. package/esm2015/lib/tabs/tabs.module.js +23 -23
  140. package/esm2015/lib/textbox/index.js +3 -3
  141. package/esm2015/lib/textbox/textbox.component.js +62 -60
  142. package/esm2015/lib/textbox/textbox.module.js +43 -39
  143. package/esm2015/lib/time-box/index.js +3 -3
  144. package/esm2015/lib/time-box/time-box.component.js +134 -134
  145. package/esm2015/lib/time-box/time-box.module.js +32 -32
  146. package/esm2015/lib/toast/index.js +5 -5
  147. package/esm2015/lib/toast/toast.class.js +2 -2
  148. package/esm2015/lib/toast/toast.component.js +50 -50
  149. package/esm2015/lib/toast/toast.module.js +22 -22
  150. package/esm2015/lib/toast/toast.service.js +114 -114
  151. package/esm2015/lib/tooltip/index.js +4 -4
  152. package/esm2015/lib/tooltip/tooltip.component.js +45 -45
  153. package/esm2015/lib/tooltip/tooltip.directive.js +86 -86
  154. package/esm2015/lib/tooltip/tooltip.module.js +23 -23
  155. package/esm2015/lib/validation/index.js +3 -3
  156. package/esm2015/lib/validation/validation-rule.widget.js +113 -113
  157. package/esm2015/lib/validation/validation.class.js +2 -2
  158. package/esm2015/lib/validation/validation.module.js +32 -32
  159. package/esm2015/public-api.js +39 -38
  160. package/fesm2015/acorex-components.js +5811 -5763
  161. package/fesm2015/acorex-components.js.map +1 -1
  162. package/lib/alert/alert-button.component.d.ts +13 -13
  163. package/lib/alert/alert-contnet.component.d.ts +5 -5
  164. package/lib/alert/alert-footer.component.d.ts +5 -5
  165. package/lib/alert/alert-suffix.component.d.ts +5 -5
  166. package/lib/alert/alert-title.component.d.ts +5 -5
  167. package/lib/alert/alert.component.d.ts +46 -46
  168. package/lib/alert/alert.module.d.ts +13 -13
  169. package/lib/alert/index.d.ts +7 -7
  170. package/lib/avatar/avatar.component.d.ts +20 -20
  171. package/lib/avatar/avatar.module.d.ts +8 -8
  172. package/lib/avatar/index.d.ts +2 -2
  173. package/lib/base/common.module.d.ts +7 -7
  174. package/lib/base/custom-cdk-overlay.service.d.ts +19 -19
  175. package/lib/base/drawing.class.d.ts +9 -9
  176. package/lib/base/events.class.d.ts +72 -65
  177. package/lib/base/index.d.ts +6 -6
  178. package/lib/base/mixin/base-components.class.d.ts +84 -84
  179. package/lib/base/mixin/button-mixin.class.d.ts +79 -79
  180. package/lib/base/mixin/clickable-mixin.class.d.ts +42 -42
  181. package/lib/base/mixin/constratctor.d.ts +4 -4
  182. package/lib/base/mixin/datalist-component.class.d.ts +54 -54
  183. package/lib/base/mixin/dropdown-mixin.class.d.ts +47 -47
  184. package/lib/base/mixin/index.d.ts +2 -2
  185. package/lib/base/mixin/interactive-mixin.class.d.ts +60 -63
  186. package/lib/base/mixin/loading-mixin.class.d.ts +46 -48
  187. package/lib/base/mixin/mixin.class.d.ts +814 -814
  188. package/lib/base/mixin/selection-component.class.d.ts +55 -55
  189. package/lib/base/mixin/sizable-mixin.class.d.ts +40 -40
  190. package/lib/base/mixin/textbox-mixin.class.d.ts +59 -61
  191. package/lib/base/mixin/value-mixin.class.d.ts +68 -71
  192. package/lib/base/overlay.service.d.ts +31 -31
  193. package/lib/base/responsive.directive.d.ts +10 -10
  194. package/lib/base/styles.class.d.ts +17 -17
  195. package/lib/button/button-group.component.d.ts +36 -35
  196. package/lib/button/button-item.class.d.ts +22 -22
  197. package/lib/button/button-item.component.d.ts +92 -92
  198. package/lib/button/button.component.d.ts +18 -18
  199. package/lib/button/button.module.d.ts +13 -13
  200. package/lib/button/dropdown-button.component.d.ts +234 -234
  201. package/lib/button/index.d.ts +6 -6
  202. package/lib/calendar/calendar.component.d.ts +16 -16
  203. package/lib/calendar/calendar.module.d.ts +11 -11
  204. package/lib/calendar/index.d.ts +2 -2
  205. package/lib/carousel/carousel-arrows.component.d.ts +14 -14
  206. package/lib/carousel/carousel-item.component.d.ts +8 -8
  207. package/lib/carousel/carousel-pager.component.d.ts +22 -22
  208. package/lib/carousel/carousel-splidejs.class.d.ts +18 -18
  209. package/lib/carousel/carousel.class.d.ts +48 -48
  210. package/lib/carousel/carousel.component.d.ts +62 -62
  211. package/lib/carousel/carousel.module.d.ts +11 -11
  212. package/lib/carousel/index.d.ts +6 -6
  213. package/lib/checkbox/checkbox.component.d.ts +12 -12
  214. package/lib/checkbox/checkbox.module.d.ts +9 -9
  215. package/lib/checkbox/index.d.ts +2 -2
  216. package/lib/datalist/datalist.component.d.ts +25 -25
  217. package/lib/datalist/datalist.module.d.ts +9 -9
  218. package/lib/datalist/index.d.ts +2 -2
  219. package/lib/datepicker/datepicker.component.d.ts +18 -18
  220. package/lib/datepicker/datepicker.module.d.ts +10 -10
  221. package/lib/datepicker/index.d.ts +2 -2
  222. package/lib/decorators/decorators.module.d.ts +9 -9
  223. package/lib/decorators/index.d.ts +3 -3
  224. package/lib/decorators/prefix.component.d.ts +8 -8
  225. package/lib/decorators/suffix.component.d.ts +8 -8
  226. package/lib/dialog/dialog.class.d.ts +12 -12
  227. package/lib/dialog/dialog.component.d.ts +15 -15
  228. package/lib/dialog/dialog.module.d.ts +13 -13
  229. package/lib/dialog/dialog.service.d.ts +18 -18
  230. package/lib/dialog/index.d.ts +4 -4
  231. package/lib/drawer/drawer-container.component.d.ts +13 -13
  232. package/lib/drawer/drawer-content.component.d.ts +8 -8
  233. package/lib/drawer/drawer.component.d.ts +30 -30
  234. package/lib/drawer/drawer.module.d.ts +10 -10
  235. package/lib/drawer/index.d.ts +4 -4
  236. package/lib/dropdown/dropdown-panel.component.d.ts +117 -116
  237. package/lib/dropdown/dropdown.component.d.ts +31 -31
  238. package/lib/dropdown/dropdown.module.d.ts +13 -13
  239. package/lib/dropdown/index.d.ts +3 -3
  240. package/lib/form/form-field.component.d.ts +8 -8
  241. package/lib/form/form-field.module.d.ts +10 -10
  242. package/lib/form/form-hint.component.d.ts +8 -8
  243. package/lib/form/form.component.d.ts +13 -13
  244. package/lib/form/index.d.ts +4 -4
  245. package/lib/icon/icon.component.d.ts +10 -10
  246. package/lib/icon/icon.module.d.ts +8 -8
  247. package/lib/icon/index.d.ts +2 -2
  248. package/lib/input-mask/index.d.ts +2 -2
  249. package/lib/input-mask/input-mask.component.d.ts +14 -14
  250. package/lib/input-mask/input-mask.module.d.ts +9 -9
  251. package/lib/label/index.d.ts +2 -2
  252. package/lib/label/label.component.d.ts +8 -8
  253. package/lib/label/label.module.d.ts +8 -8
  254. package/lib/loading/index.d.ts +5 -5
  255. package/lib/loading/loading-spinner.component.d.ts +5 -5
  256. package/lib/loading/loading.component.d.ts +19 -19
  257. package/lib/loading/loading.directive.d.ts +22 -22
  258. package/lib/loading/loading.module.d.ts +13 -13
  259. package/lib/loading/loading.service.d.ts +48 -48
  260. package/lib/number-box/index.d.ts +2 -2
  261. package/lib/number-box/number-box.component.d.ts +69 -69
  262. package/lib/number-box/number-box.module.d.ts +11 -11
  263. package/lib/page/base-page.class.d.ts +37 -37
  264. package/lib/page/index.d.ts +4 -4
  265. package/lib/page/page-footer.component.d.ts +7 -7
  266. package/lib/page/page.component.d.ts +13 -13
  267. package/lib/page/page.module.d.ts +7 -7
  268. package/lib/popover/index.d.ts +2 -2
  269. package/lib/popover/popover.component.d.ts +30 -30
  270. package/lib/popover/popover.module.d.ts +8 -8
  271. package/lib/popup/index.d.ts +3 -3
  272. package/lib/popup/popup.component.d.ts +33 -33
  273. package/lib/popup/popup.module.d.ts +12 -12
  274. package/lib/popup/popup.service.d.ts +37 -37
  275. package/lib/range-slider/index.d.ts +2 -0
  276. package/lib/range-slider/range-slider.component.d.ts +8 -0
  277. package/lib/range-slider/range-slider.module.d.ts +8 -0
  278. package/lib/selectbox/index.d.ts +2 -2
  279. package/lib/selectbox/selectbox.component.d.ts +28 -28
  280. package/lib/selectbox/selectbox.module.d.ts +10 -10
  281. package/lib/selection-list/index.d.ts +2 -2
  282. package/lib/selection-list/selection-list.component.d.ts +10 -10
  283. package/lib/selection-list/selection-list.module.d.ts +10 -10
  284. package/lib/side-menu/index.d.ts +2 -2
  285. package/lib/side-menu/side-menu.component.d.ts +8 -8
  286. package/lib/side-menu/side-menu.module.d.ts +8 -8
  287. package/lib/switch/index.d.ts +2 -2
  288. package/lib/switch/switch.component.d.ts +9 -9
  289. package/lib/switch/switch.module.d.ts +9 -9
  290. package/lib/tabs/index.d.ts +5 -5
  291. package/lib/tabs/tab-strip.component.d.ts +17 -17
  292. package/lib/tabs/tab-view.component.d.ts +14 -14
  293. package/lib/tabs/tab.component.d.ts +18 -18
  294. package/lib/tabs/tabs.class.d.ts +18 -18
  295. package/lib/tabs/tabs.module.d.ts +10 -10
  296. package/lib/textbox/index.d.ts +2 -2
  297. package/lib/textbox/textbox.component.d.ts +19 -19
  298. package/lib/textbox/textbox.module.d.ts +13 -12
  299. package/lib/time-box/index.d.ts +2 -2
  300. package/lib/time-box/time-box.component.d.ts +29 -29
  301. package/lib/time-box/time-box.module.d.ts +11 -11
  302. package/lib/toast/index.d.ts +4 -4
  303. package/lib/toast/toast.class.d.ts +14 -14
  304. package/lib/toast/toast.component.d.ts +16 -16
  305. package/lib/toast/toast.module.d.ts +9 -9
  306. package/lib/toast/toast.service.d.ts +18 -18
  307. package/lib/tooltip/index.d.ts +3 -3
  308. package/lib/tooltip/tooltip.component.d.ts +10 -10
  309. package/lib/tooltip/tooltip.directive.d.ts +18 -18
  310. package/lib/tooltip/tooltip.module.d.ts +10 -10
  311. package/lib/validation/index.d.ts +2 -2
  312. package/lib/validation/validation-rule.widget.d.ts +25 -25
  313. package/lib/validation/validation.class.d.ts +17 -17
  314. package/lib/validation/validation.module.d.ts +9 -9
  315. package/package.json +18 -18
  316. package/public-api.d.ts +37 -36
@@ -1,158 +1,158 @@
1
- import { AXObjectUtil } from '@acorex/core';
2
- import { EventEmitter } from '@angular/core';
3
- export function _SelectionComponenetMixin(Base) {
4
- return class extends Base {
5
- constructor(...args) {
6
- super(...args);
7
- this.valueField = 'id';
8
- this.textField = 'text';
9
- this.multiple = false;
10
- this.selectionMode = 'value';
11
- this.valueChange = new EventEmitter();
12
- this.onValueChanged = new EventEmitter();
13
- }
14
- // for data-list
15
- get items() {
16
- return [];
17
- }
18
- get displayItems() {
19
- return [];
20
- }
21
- _onInternalInit() {
22
- super._onInternalInit();
23
- }
24
- get value() {
25
- return this._value;
26
- }
27
- set value(v) {
28
- if (v !== this._value) {
29
- const oldValue = AXObjectUtil.deepJSONClone(this._value);
30
- if (this.multiple) {
31
- this._value = Array.isArray(v) ? v : (v ? [v] : []);
32
- }
33
- else {
34
- this._value = Array.isArray(v) ? v[0] : v;
35
- }
36
- this.valueChange.emit(this._value);
37
- this.onValueChanged.emit({
38
- component: this,
39
- htmlElement: this._getHostElement(),
40
- isUserInput: false,
41
- oldValue,
42
- value: this._value,
43
- selectedKeys: this.selectedItems.map(c => c[this.valueField]),
44
- selectedItems: this.selectedItems.slice()
45
- });
46
- if (v == null || v == undefined || v == "") {
47
- this._setErrorState('clear');
48
- }
49
- else {
50
- if (this._isInited) {
51
- this.validate();
52
- }
53
- }
54
- this._renderSelection();
55
- }
56
- }
57
- get selectedItems() {
58
- return this._selectedItems || [];
59
- }
60
- _renderSelection() {
61
- const func = () => {
62
- if (this.value == null || this.value == undefined) {
63
- return [];
64
- }
65
- if (this.displayItems.length > 0) {
66
- return this.displayItems.filter(i => {
67
- if (Array.isArray(this.value)) {
68
- return this.value.some(ii => {
69
- if (typeof ii === 'object') {
70
- return i[this.valueField] === ii[this.valueField];
71
- }
72
- else {
73
- return i[this.valueField] === ii;
74
- }
75
- });
76
- }
77
- else {
78
- if (typeof this.value === 'object') {
79
- return i[this.valueField] === this.value[this.valueField];
80
- }
81
- else {
82
- return i[this.valueField] === this.value;
83
- }
84
- }
85
- });
86
- }
87
- if (Array.isArray(this.value)) {
88
- return this.value.map(ii => () => {
89
- //&& ii[this.textField]
90
- if (typeof ii === 'object') {
91
- return ii;
92
- }
93
- else {
94
- const fake = {};
95
- fake[this.valueField] = this.value;
96
- return fake;
97
- }
98
- });
99
- }
100
- else {
101
- //&& this.value[this.textField]
102
- if (typeof this.value === 'object') {
103
- return [this.value];
104
- }
105
- else {
106
- const fake = {};
107
- fake[this.valueField] = this.value;
108
- return [fake];
109
- }
110
- }
111
- };
112
- this._selectedItems = func();
113
- }
114
- _getItemByDataMode(item) {
115
- return this.selectionMode === 'item' ? item : item[this.valueField];
116
- }
117
- _getItemValue(item) {
118
- return typeof item === 'object' ? item[this.valueField] : item;
119
- }
120
- unselectItems(...items) {
121
- if (!items || items.length === 0) {
122
- this.value = null;
123
- }
124
- else if (Array.isArray(this.value)) {
125
- this.value = this.value.filter(c => !items.some(d => this._getItemValue(c) === this._getItemValue(d)));
126
- }
127
- else {
128
- this.value = null;
129
- }
130
- }
131
- selectItems(...items) {
132
- if (items && items.length) {
133
- if (this.multiple) {
134
- this.value = (this.value || []).concat(items.map(c => this._getItemByDataMode(c)));
135
- }
136
- else {
137
- this.value = this._getItemByDataMode(items[0]);
138
- }
139
- }
140
- }
141
- toggleSelect(...items) {
142
- if (items && items.length) {
143
- items.forEach(item => {
144
- if (this.multiple) {
145
- this.selectedItems.includes(item) ? this.unselectItems(item) : this.selectItems(item);
146
- }
147
- else {
148
- this.selectItems(item);
149
- }
150
- });
151
- }
152
- }
153
- isItemSelected(item) {
154
- return this.selectedItems.some(c => c[this.valueField] === item[this.valueField]);
155
- }
156
- };
157
- }
158
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLWNvbXBvbmVudC5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL3NyYy9saWIvYmFzZS9taXhpbi9zZWxlY3Rpb24tY29tcG9uZW50LmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDNUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUs3QyxNQUFNLFVBQVUseUJBQXlCLENBQTZDLElBQVc7SUFDN0YsT0FBTyxLQUFNLFNBQVEsSUFBSTtRQXFCckIsWUFBWSxHQUFHLElBQVc7WUFDdEIsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUE7WUFwQmxCLGVBQVUsR0FBVyxJQUFJLENBQUM7WUFDMUIsY0FBUyxHQUFzQixNQUFNLENBQUM7WUFDdEMsYUFBUSxHQUFZLEtBQUssQ0FBQztZQUMxQixrQkFBYSxHQUFxQixPQUFPLENBQUM7WUFZbkMsZ0JBQVcsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztZQUN6RCxtQkFBYyxHQUErQyxJQUFJLFlBQVksRUFBZ0MsQ0FBQztRQUtySCxDQUFDO1FBaEJELGdCQUFnQjtRQUNoQixJQUFJLEtBQUs7WUFDTCxPQUFPLEVBQUUsQ0FBQztRQUNkLENBQUM7UUFFRCxJQUFJLFlBQVk7WUFDWixPQUFPLEVBQUUsQ0FBQztRQUNkLENBQUM7UUFXRCxlQUFlO1lBQ1gsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQzVCLENBQUM7UUFJRCxJQUFJLEtBQUs7WUFDTCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDdkIsQ0FBQztRQUNELElBQUksS0FBSyxDQUFDLENBQWM7WUFDcEIsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLE1BQU0sRUFBRTtnQkFDbkIsTUFBTSxRQUFRLEdBQUcsWUFBWSxD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Q0QsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQ2xEO2FBQ0o7UUFDTCxDQUFDO1FBRUQsWUFBWSxDQUFDLEdBQUcsS0FBWTtZQUN4QixJQUFJLEtBQUssSUFBSSxLQUFLLENBQUMsTUFBTSxFQUFFO2dCQUN2QixLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO29CQUNqQixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7d0JBQ2YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7cUJBQ3pGO3lCQUNJO3dCQUNELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUE7cUJBQ3pCO2dCQUNMLENBQUMsQ0FBQyxDQUFDO2FBQ047UUFDTCxDQUFDO1FBRUQsY0FBYyxDQUFDLElBQVM7WUFDcEIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBQ3RGLENBQUM7S0FDSixDQUFBO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYT2JqZWN0VXRpbCB9IGZyb20gJ0BhY29yZXgvY29yZSc7XHJcbmltcG9ydCB7IEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBWFNlbGVjdGlvblZhbHVlQ2hhbmdlZEV2ZW50IH0gZnJvbSAnLi4vZXZlbnRzLmNsYXNzJztcclxuaW1wb3J0IHsgQVhCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi9iYXNlLWNvbXBvbmVudHMuY2xhc3MnO1xyXG5pbXBvcnQgeyBDb25zdHJ1Y3RvciB9IGZyb20gJy4vY29uc3RyYXRjdG9yJztcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfU2VsZWN0aW9uQ29tcG9uZW5ldE1peGluPFRCYXNlIGV4dGVuZHMgQ29uc3RydWN0b3I8QVhCYXNlQ29tcG9uZW50Pj4oQmFzZTogVEJhc2UpIHtcclxuICAgIHJldHVybiBjbGFzcyBleHRlbmRzIEJhc2Uge1xyXG5cclxuICAgICAgICB2YWx1ZUZpZWxkOiBzdHJpbmcgPSAnaWQnO1xyXG4gICAgICAgIHRleHRGaWVsZDogc3RyaW5nIHwgc3RyaW5nW10gPSAndGV4dCc7XHJcbiAgICAgICAgbXVsdGlwbGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgICAgICBzZWxlY3Rpb25Nb2RlOiAndmFsdWUnIHwgJ2l0ZW0nID0gJ3ZhbHVlJztcclxuXHJcbiAgICAgICAgLy8gZm9yIGRhdGEtbGlzdFxyXG4gICAgICAgIGdldCBpdGVtcygpOiBhbnlbXSB7XHJcbiAgICAgICAgICAgIHJldHVybiBbXTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGdldCBkaXNwbGF5SXRlbXMoKTogYW55W10ge1xyXG4gICAgICAgICAgICByZXR1cm4gW107XHJcbiAgICAgICAgfVxyXG5cclxuXHJcbiAgICAgICAgcHVibGljIHZhbHVlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gICAgICAgIHB1YmxpYyBvblZhbHVlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEFYU2VsZWN0aW9uVmFsdWVDaGFuZ2VkRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxBWFNlbGVjdGlvblZhbHVlQ2hhbmdlZEV2ZW50PigpO1xyXG5cclxuXHJcbiAgICAgICAgY29uc3RydWN0b3IoLi4uYXJnczogYW55W10pIHtcclxuICAgICAgICAgICAgc3VwZXIoLi4uYXJncylcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIF9vbkludGVybmFsSW5pdCgpIHtcclxuICAgICAgICAgICAgc3VwZXIuX29uSW50ZXJuYWxJbml0KCk7XHJcbiAgICAgICAgfVxyXG5cclxuXHJcbiAgICAgICAgX3ZhbHVlOiBhbnkgfCBhbnlbXTtcclxuICAgICAgICBnZXQgdmFsdWUoKTogYW55IHwgYW55W10ge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fdmFsdWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHNldCB2YWx1ZSh2OiBhbnkgfCBhbnlbXSkge1xyXG4gICAgICAgICAgICBpZiAodiAhPT0gdGhpcy5fdmFsdWUpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IG9sZFZhbHVlID0gQVhPYmplY3RVdGlsLmRlZXBKU09OQ2xvbmUodGhpcy5fdmFsdWUpO1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl92YWx1ZSA9IEFycmF5LmlzQXJyYXkodikgPyB2IDogKHYgPyBbdl0gOiBbXSk7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3ZhbHVlID0gQXJyYXkuaXNBcnJheSh2KSA/IHZbMF0gOiB2O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHRoaXMuX3ZhbHVlKTtcclxuICAgICAgICAgICAgICAgIHRoaXMub25WYWx1ZUNoYW5nZWQuZW1pdCh7XHJcbiAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50OiB0aGlzLFxyXG4gICAgICAgICAgICAgICAgICAgIGh0bWxFbGVtZW50OiB0aGlzLl9nZXRIb3N0RWxlbWVudCgpLFxyXG4gICAgICAgICAgICAgICAgICAgIGlzVXNlcklucHV0OiBmYWxzZSxcclxuICAgICAgICAgICAgICAgICAgICBvbGRWYWx1ZSxcclxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogdGhpcy5fdmFsdWUsXHJcbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRLZXlzOiB0aGlzLnNlbGVjdGVkSXRlbXMubWFwKGMgPT4gY1t0aGlzLnZhbHVlRmllbGRdKSxcclxuICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZEl0ZW1zOiB0aGlzLnNlbGVjdGVkSXRlbXMuc2xpY2UoKVxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICBpZiAodiA9PSBudWxsIHx8IHYgPT0gdW5kZWZpbmVkIHx8IHYgPT0gXCJcIikge1xyXG4gICAgICAgICAgICAgICAgICAgICh0aGlzIGFzIGFueSkuX3NldEVycm9yU3RhdGUoJ2NsZWFyJyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5faXNJbml0ZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgKHRoaXMgYXMgYW55KS52YWxpZGF0ZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRoaXMuX3JlbmRlclNlbGVjdGlvbigpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBfc2VsZWN0ZWRJdGVtczogYW55W107XHJcbiAgICAgICAgZ2V0IHNlbGVjdGVkSXRlbXMoKTogYW55W10ge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fc2VsZWN0ZWRJdGVtcyB8fCBbXTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIF9yZW5kZXJTZWxlY3Rpb24oKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGZ1bmMgPSAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy52YWx1ZSA9PSBudWxsIHx8IHRoaXMudmFsdWUgPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFtdO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZGlzcGxheUl0ZW1zLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5kaXNwbGF5SXRlbXMuZmlsdGVyKGkgPT4ge1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy52YWx1ZSkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlLnNvbWUoaWkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgaWkgPT09ICdvYmplY3QnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBpW3RoaXMudmFsdWVGaWVsZF0gPT09IGlpW3RoaXMudmFsdWVGaWVsZF07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gaVt0aGlzLnZhbHVlRmllbGRdID09PSBpaTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgdGhpcy52YWx1ZSA9PT0gJ29iamVjdCcpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gaVt0aGlzLnZhbHVlRmllbGRdID09PSB0aGlzLnZhbHVlW3RoaXMudmFsdWVGaWVsZF07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gaVt0aGlzLnZhbHVlRmllbGRdID09PSB0aGlzLnZhbHVlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLnZhbHVlKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlLm1hcChpaSA9PiAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vJiYgaWlbdGhpcy50ZXh0RmllbGRdXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgaWkgPT09ICdvYmplY3QnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gaWk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBmYWtlOiBhbnkgPSB7fTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZha2VbdGhpcy52YWx1ZUZpZWxkXSA9IHRoaXMudmFsdWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFrZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8mJiB0aGlzLnZhbHVlW3RoaXMudGV4dEZpZWxkXVxyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgdGhpcy52YWx1ZSA9PT0gJ29iamVjdCcpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFt0aGlzLnZhbHVlXTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGZha2U6IGFueSA9IHt9O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmYWtlW3RoaXMudmFsdWVGaWVsZF0gPSB0aGlzLnZhbHVlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gW2Zha2VdO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWRJdGVtcyA9IGZ1bmMoKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIF9nZXRJdGVtQnlEYXRhTW9kZShpdGVtOiBhbnkpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0aW9uTW9kZSA9PT0gJ2l0ZW0nID8gaXRlbSA6IGl0ZW1bdGhpcy52YWx1ZUZpZWxkXTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIF9nZXRJdGVtVmFsdWUoaXRlbTogYW55KSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0eXBlb2YgaXRlbSA9PT0gJ29iamVjdCcgPyBpdGVtW3RoaXMudmFsdWVGaWVsZF0gOiBpdGVtO1xyXG4gICAgICAgIH1cclxuXHJcblxyXG5cclxuICAgICAgICB1bnNlbGVjdEl0ZW1zKC4uLml0ZW1zOiBhbnlbXSkge1xyXG4gICAgICAgICAgICBpZiAoIWl0ZW1zIHx8IGl0ZW1zLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZSA9IG51bGw7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLnZhbHVlKSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHRoaXMudmFsdWUuZmlsdGVyKGMgPT4gIWl0ZW1zLnNvbWUoZCA9PlxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2dldEl0ZW1WYWx1ZShjKSA9PT0gdGhpcy5fZ2V0SXRlbVZhbHVlKGQpKVxyXG4gICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWUgPSBudWxsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBzZWxlY3RJdGVtcyguLi5pdGVtczogYW55W10pIHtcclxuICAgICAgICAgICAgaWYgKGl0ZW1zICYmIGl0ZW1zLmxlbmd0aCkge1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnZhbHVlID0gKHRoaXMudmFsdWUgfHwgW10pLmNvbmNhdChpdGVtcy5tYXAoYyA9PiB0aGlzLl9nZXRJdGVtQnlEYXRhTW9kZShjKSkpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHRoaXMuX2dldEl0ZW1CeURhdGFNb2RlKGl0ZW1zWzBdKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdG9nZ2xlU2VsZWN0KC4uLml0ZW1zOiBhbnlbXSkge1xyXG4gICAgICAgICAgICBpZiAoaXRlbXMgJiYgaXRlbXMubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgICAgICBpdGVtcy5mb3JFYWNoKGl0ZW0gPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcy5pbmNsdWRlcyhpdGVtKSA/IHRoaXMudW5zZWxlY3RJdGVtcyhpdGVtKSA6IHRoaXMuc2VsZWN0SXRlbXMoaXRlbSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdEl0ZW1zKGl0ZW0pXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlzSXRlbVNlbGVjdGVkKGl0ZW06IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3RlZEl0ZW1zLnNvbWUoYyA9PiBjW3RoaXMudmFsdWVGaWVsZF0gPT09IGl0ZW1bdGhpcy52YWx1ZUZpZWxkXSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59Il19
1
+ import { AXObjectUtil } from '@acorex/core';
2
+ import { EventEmitter } from '@angular/core';
3
+ export function _SelectionComponenetMixin(Base) {
4
+ return class extends Base {
5
+ constructor(...args) {
6
+ super(...args);
7
+ this.valueField = 'id';
8
+ this.textField = 'text';
9
+ this.multiple = false;
10
+ this.selectionMode = 'value';
11
+ this.valueChange = new EventEmitter();
12
+ this.onValueChanged = new EventEmitter();
13
+ }
14
+ // for data-list
15
+ get items() {
16
+ return [];
17
+ }
18
+ get displayItems() {
19
+ return [];
20
+ }
21
+ _onInternalInit() {
22
+ super._onInternalInit();
23
+ }
24
+ get value() {
25
+ return this._value;
26
+ }
27
+ set value(v) {
28
+ if (v !== this._value) {
29
+ const oldValue = AXObjectUtil.deepJSONClone(this._value);
30
+ if (this.multiple) {
31
+ this._value = Array.isArray(v) ? v : (v ? [v] : []);
32
+ }
33
+ else {
34
+ this._value = Array.isArray(v) ? v[0] : v;
35
+ }
36
+ this.valueChange.emit(this._value);
37
+ this.onValueChanged.emit({
38
+ component: this,
39
+ htmlElement: this._getHostElement(),
40
+ isUserInput: false,
41
+ oldValue,
42
+ value: this._value,
43
+ selectedKeys: this.selectedItems.map(c => c[this.valueField]),
44
+ selectedItems: this.selectedItems.slice()
45
+ });
46
+ if (v == null || v == undefined || v == "") {
47
+ this._setErrorState('clear');
48
+ }
49
+ else {
50
+ if (this._isInited) {
51
+ this.validate();
52
+ }
53
+ }
54
+ this._renderSelection();
55
+ }
56
+ }
57
+ get selectedItems() {
58
+ return this._selectedItems || [];
59
+ }
60
+ _renderSelection() {
61
+ const func = () => {
62
+ if (this.value == null || this.value == undefined) {
63
+ return [];
64
+ }
65
+ if (this.displayItems.length > 0) {
66
+ return this.displayItems.filter(i => {
67
+ if (Array.isArray(this.value)) {
68
+ return this.value.some(ii => {
69
+ if (typeof ii === 'object') {
70
+ return i[this.valueField] === ii[this.valueField];
71
+ }
72
+ else {
73
+ return i[this.valueField] === ii;
74
+ }
75
+ });
76
+ }
77
+ else {
78
+ if (typeof this.value === 'object') {
79
+ return i[this.valueField] === this.value[this.valueField];
80
+ }
81
+ else {
82
+ return i[this.valueField] === this.value;
83
+ }
84
+ }
85
+ });
86
+ }
87
+ if (Array.isArray(this.value)) {
88
+ return this.value.map(ii => () => {
89
+ //&& ii[this.textField]
90
+ if (typeof ii === 'object') {
91
+ return ii;
92
+ }
93
+ else {
94
+ const fake = {};
95
+ fake[this.valueField] = this.value;
96
+ return fake;
97
+ }
98
+ });
99
+ }
100
+ else {
101
+ //&& this.value[this.textField]
102
+ if (typeof this.value === 'object') {
103
+ return [this.value];
104
+ }
105
+ else {
106
+ const fake = {};
107
+ fake[this.valueField] = this.value;
108
+ return [fake];
109
+ }
110
+ }
111
+ };
112
+ this._selectedItems = func();
113
+ }
114
+ _getItemByDataMode(item) {
115
+ return this.selectionMode === 'item' ? item : item[this.valueField];
116
+ }
117
+ _getItemValue(item) {
118
+ return typeof item === 'object' ? item[this.valueField] : item;
119
+ }
120
+ unselectItems(...items) {
121
+ if (!items || items.length === 0) {
122
+ this.value = null;
123
+ }
124
+ else if (Array.isArray(this.value)) {
125
+ this.value = this.value.filter(c => !items.some(d => this._getItemValue(c) === this._getItemValue(d)));
126
+ }
127
+ else {
128
+ this.value = null;
129
+ }
130
+ }
131
+ selectItems(...items) {
132
+ if (items && items.length) {
133
+ if (this.multiple) {
134
+ this.value = (this.value || []).concat(items.map(c => this._getItemByDataMode(c)));
135
+ }
136
+ else {
137
+ this.value = this._getItemByDataMode(items[0]);
138
+ }
139
+ }
140
+ }
141
+ toggleSelect(...items) {
142
+ if (items && items.length) {
143
+ items.forEach(item => {
144
+ if (this.multiple) {
145
+ this.selectedItems.includes(item) ? this.unselectItems(item) : this.selectItems(item);
146
+ }
147
+ else {
148
+ this.selectItems(item);
149
+ }
150
+ });
151
+ }
152
+ }
153
+ isItemSelected(item) {
154
+ return this.selectedItems.some(c => c[this.valueField] === item[this.valueField]);
155
+ }
156
+ };
157
+ }
158
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLWNvbXBvbmVudC5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL3NyYy9saWIvYmFzZS9taXhpbi9zZWxlY3Rpb24tY29tcG9uZW50LmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDNUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUs3QyxNQUFNLFVBQVUseUJBQXlCLENBQTZDLElBQVc7SUFDN0YsT0FBTyxLQUFNLFNBQVEsSUFBSTtRQXFCckIsWUFBWSxHQUFHLElBQVc7WUFDdEIsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUE7WUFwQmxCLGVBQVUsR0FBVyxJQUFJLENBQUM7WUFDMUIsY0FBUyxHQUFzQixNQUFNLENBQUM7WUFDdEMsYUFBUSxHQUFZLEtBQUssQ0FBQztZQUMxQixrQkFBYSxHQUFxQixPQUFPLENBQUM7WUFZbkMsZ0JBQVcsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztZQUN6RCxtQkFBYyxHQUErQyxJQUFJLFlBQVksRUFBZ0MsQ0FBQztRQUtySCxDQUFDO1FBaEJELGdCQUFnQjtRQUNoQixJQUFJLEtBQUs7WUFDTCxPQUFPLEVBQUUsQ0FBQztRQUNkLENBQUM7UUFFRCxJQUFJLFlBQVk7WUFDWixPQUFPLEVBQUUsQ0FBQztRQUNkLENBQUM7UUFXRCxlQUFlO1lBQ1gsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQzVCLENBQUM7UUFJRCxJQUFJLEtBQUs7WUFDTCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDdkIsQ0FBQztRQUNELElBQUksS0FBSyxDQUFDLENBQWM7WUFDcEIsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLE1BQU0sRUFBRTtnQkFDbkIsTUFBTSxRQUFRLEdBQUcsWUFBWSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ3pELElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtvQkFDZixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2lCQUN2RDtxQkFBTTtvQkFDSCxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2lCQUM3QztnQkFDRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ25DLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDO29CQUNyQixTQUFTLEVBQUUsSUFBSTtvQkFDZixXQUFXLEVBQUUsSUFBSSxDQUFDLGVBQWUsRUFBRTtvQkFDbkMsV0FBVyxFQUFFLEtBQUs7b0JBQ2xCLFFBQVE7b0JBQ1IsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNO29CQUNsQixZQUFZLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO29CQUM3RCxhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUU7aUJBQzVDLENBQUMsQ0FBQztnQkFDSCxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLFNBQVMsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFO29CQUN2QyxJQUFZLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2lCQUN6QztxQkFDSTtvQkFDRCxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7d0JBQ2YsSUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDO3FCQUM1QjtpQkFDSjtnQkFDRCxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQzthQUMzQjtRQUNMLENBQUM7UUFHRCxJQUFJLGFBQWE7WUFDYixPQUFPLElBQUksQ0FBQyxjQUFjLElBQUksRUFBRSxDQUFDO1FBQ3JDLENBQUM7UUFFRCxnQkFBZ0I7WUFDWixNQUFNLElBQUksR0FBRyxHQUFHLEVBQUU7Z0JBQ2QsSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLFNBQVMsRUFBRTtvQkFDL0MsT0FBTyxFQUFFLENBQUM7aUJBQ2I7Z0JBQ0QsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7b0JBQzlCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUU7d0JBRWhDLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7NEJBQzNCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUU7Z0NBQ3hCLElBQUksT0FBTyxFQUFFLEtBQUssUUFBUSxFQUFFO29DQUN4QixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztpQ0FDckQ7cUNBQ0k7b0NBQ0QsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztpQ0FDcEM7NEJBQ0wsQ0FBQyxDQUFDLENBQUM7eUJBQ047NkJBQ0k7NEJBQ0QsSUFBSSxPQUFPLElBQUksQ0FBQyxLQUFLLEtBQUssUUFBUSxFQUFFO2dDQUNoQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7NkJBQzdEO2lDQUNJO2dDQUNELE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDOzZCQUM1Qzt5QkFDSjtvQkFDTCxDQUFDLENBQUMsQ0FBQztpQkFDTjtnQkFDRCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFO29CQUMzQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFO3dCQUM3Qix1QkFBdUI7d0JBQ3ZCLElBQUksT0FBTyxFQUFFLEtBQUssUUFBUSxFQUFFOzRCQUN4QixPQUFPLEVBQUUsQ0FBQzt5QkFDYjs2QkFDSTs0QkFDRCxNQUFNLElBQUksR0FBUSxFQUFFLENBQUM7NEJBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQzs0QkFDbkMsT0FBTyxJQUFJLENBQUM7eUJBQ2Y7b0JBQ0wsQ0FBQyxDQUFDLENBQUM7aUJBQ047cUJBQ0k7b0JBQ0QsK0JBQStCO29CQUMvQixJQUFJLE9BQU8sSUFBSSxDQUFDLEtBQUssS0FBSyxRQUFRLEVBQUU7d0JBQ2hDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7cUJBQ3ZCO3lCQUNJO3dCQUNELE1BQU0sSUFBSSxHQUFRLEVBQUUsQ0FBQzt3QkFDckIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO3dCQUNuQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7cUJBQ2pCO2lCQUNKO1lBQ0wsQ0FBQyxDQUFDO1lBQ0YsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLEVBQUUsQ0FBQztRQUNqQyxDQUFDO1FBRUQsa0JBQWtCLENBQUMsSUFBUztZQUN4QixPQUFPLElBQUksQ0FBQyxhQUFhLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDeEUsQ0FBQztRQUVELGFBQWEsQ0FBQyxJQUFTO1lBQ25CLE9BQU8sT0FBTyxJQUFJLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDbkUsQ0FBQztRQUlELGFBQWEsQ0FBQyxHQUFHLEtBQVk7WUFDekIsSUFBSSxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtnQkFDOUIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7YUFDckI7aUJBQ0ksSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDaEMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUNoRCxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDbkQsQ0FBQzthQUNMO2lCQUNJO2dCQUNELElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO2FBQ3JCO1FBQ0wsQ0FBQztRQUVELFdBQVcsQ0FBQyxHQUFHLEtBQVk7WUFDdkIsSUFBSSxLQUFLLElBQUksS0FBSyxDQUFDLE1BQU0sRUFBRTtnQkFDdkIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO29CQUNmLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztpQkFDdEY7cUJBQ0k7b0JBQ0QsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQ2xEO2FBQ0o7UUFDTCxDQUFDO1FBRUQsWUFBWSxDQUFDLEdBQUcsS0FBWTtZQUN4QixJQUFJLEtBQUssSUFBSSxLQUFLLENBQUMsTUFBTSxFQUFFO2dCQUN2QixLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO29CQUNqQixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7d0JBQ2YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7cUJBQ3pGO3lCQUNJO3dCQUNELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUE7cUJBQ3pCO2dCQUNMLENBQUMsQ0FBQyxDQUFDO2FBQ047UUFDTCxDQUFDO1FBRUQsY0FBYyxDQUFDLElBQVM7WUFDcEIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBQ3RGLENBQUM7S0FDSixDQUFBO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYT2JqZWN0VXRpbCB9IGZyb20gJ0BhY29yZXgvY29yZSc7XG5pbXBvcnQgeyBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYU2VsZWN0aW9uVmFsdWVDaGFuZ2VkRXZlbnQgfSBmcm9tICcuLi9ldmVudHMuY2xhc3MnO1xuaW1wb3J0IHsgQVhCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi9iYXNlLWNvbXBvbmVudHMuY2xhc3MnO1xuaW1wb3J0IHsgQ29uc3RydWN0b3IgfSBmcm9tICcuL2NvbnN0cmF0Y3Rvcic7XG5cbmV4cG9ydCBmdW5jdGlvbiBfU2VsZWN0aW9uQ29tcG9uZW5ldE1peGluPFRCYXNlIGV4dGVuZHMgQ29uc3RydWN0b3I8QVhCYXNlQ29tcG9uZW50Pj4oQmFzZTogVEJhc2UpIHtcbiAgICByZXR1cm4gY2xhc3MgZXh0ZW5kcyBCYXNlIHtcblxuICAgICAgICB2YWx1ZUZpZWxkOiBzdHJpbmcgPSAnaWQnO1xuICAgICAgICB0ZXh0RmllbGQ6IHN0cmluZyB8IHN0cmluZ1tdID0gJ3RleHQnO1xuICAgICAgICBtdWx0aXBsZTogYm9vbGVhbiA9IGZhbHNlO1xuICAgICAgICBzZWxlY3Rpb25Nb2RlOiAndmFsdWUnIHwgJ2l0ZW0nID0gJ3ZhbHVlJztcblxuICAgICAgICAvLyBmb3IgZGF0YS1saXN0XG4gICAgICAgIGdldCBpdGVtcygpOiBhbnlbXSB7XG4gICAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgIH1cblxuICAgICAgICBnZXQgZGlzcGxheUl0ZW1zKCk6IGFueVtdIHtcbiAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgcHVibGljIHZhbHVlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgICAgICBwdWJsaWMgb25WYWx1ZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxBWFNlbGVjdGlvblZhbHVlQ2hhbmdlZEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhTZWxlY3Rpb25WYWx1ZUNoYW5nZWRFdmVudD4oKTtcblxuXG4gICAgICAgIGNvbnN0cnVjdG9yKC4uLmFyZ3M6IGFueVtdKSB7XG4gICAgICAgICAgICBzdXBlciguLi5hcmdzKVxuICAgICAgICB9XG5cbiAgICAgICAgX29uSW50ZXJuYWxJbml0KCkge1xuICAgICAgICAgICAgc3VwZXIuX29uSW50ZXJuYWxJbml0KCk7XG4gICAgICAgIH1cblxuXG4gICAgICAgIF92YWx1ZTogYW55IHwgYW55W107XG4gICAgICAgIGdldCB2YWx1ZSgpOiBhbnkgfCBhbnlbXSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gICAgICAgIH1cbiAgICAgICAgc2V0IHZhbHVlKHY6IGFueSB8IGFueVtdKSB7XG4gICAgICAgICAgICBpZiAodiAhPT0gdGhpcy5fdmFsdWUpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBvbGRWYWx1ZSA9IEFYT2JqZWN0VXRpbC5kZWVwSlNPTkNsb25lKHRoaXMuX3ZhbHVlKTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl92YWx1ZSA9IEFycmF5LmlzQXJyYXkodikgPyB2IDogKHYgPyBbdl0gOiBbXSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fdmFsdWUgPSBBcnJheS5pc0FycmF5KHYpID8gdlswXSA6IHY7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh0aGlzLl92YWx1ZSk7XG4gICAgICAgICAgICAgICAgdGhpcy5vblZhbHVlQ2hhbmdlZC5lbWl0KHtcbiAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50OiB0aGlzLFxuICAgICAgICAgICAgICAgICAgICBodG1sRWxlbWVudDogdGhpcy5fZ2V0SG9zdEVsZW1lbnQoKSxcbiAgICAgICAgICAgICAgICAgICAgaXNVc2VySW5wdXQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICBvbGRWYWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHRoaXMuX3ZhbHVlLFxuICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZEtleXM6IHRoaXMuc2VsZWN0ZWRJdGVtcy5tYXAoYyA9PiBjW3RoaXMudmFsdWVGaWVsZF0pLFxuICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZEl0ZW1zOiB0aGlzLnNlbGVjdGVkSXRlbXMuc2xpY2UoKVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGlmICh2ID09IG51bGwgfHwgdiA9PSB1bmRlZmluZWQgfHwgdiA9PSBcIlwiKSB7XG4gICAgICAgICAgICAgICAgICAgICh0aGlzIGFzIGFueSkuX3NldEVycm9yU3RhdGUoJ2NsZWFyJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5faXNJbml0ZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICh0aGlzIGFzIGFueSkudmFsaWRhdGUoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLl9yZW5kZXJTZWxlY3Rpb24oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIF9zZWxlY3RlZEl0ZW1zOiBhbnlbXTtcbiAgICAgICAgZ2V0IHNlbGVjdGVkSXRlbXMoKTogYW55W10ge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX3NlbGVjdGVkSXRlbXMgfHwgW107XG4gICAgICAgIH1cblxuICAgICAgICBfcmVuZGVyU2VsZWN0aW9uKCkge1xuICAgICAgICAgICAgY29uc3QgZnVuYyA9ICgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy52YWx1ZSA9PSBudWxsIHx8IHRoaXMudmFsdWUgPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZGlzcGxheUl0ZW1zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZGlzcGxheUl0ZW1zLmZpbHRlcihpID0+IHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy52YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy52YWx1ZS5zb21lKGlpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBpaSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBpW3RoaXMudmFsdWVGaWVsZF0gPT09IGlpW3RoaXMudmFsdWVGaWVsZF07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gaVt0aGlzLnZhbHVlRmllbGRdID09PSBpaTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnZhbHVlID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gaVt0aGlzLnZhbHVlRmllbGRdID09PSB0aGlzLnZhbHVlW3RoaXMudmFsdWVGaWVsZF07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gaVt0aGlzLnZhbHVlRmllbGRdID09PSB0aGlzLnZhbHVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMudmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlLm1hcChpaSA9PiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyYmIGlpW3RoaXMudGV4dEZpZWxkXVxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBpaSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gaWk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBmYWtlOiBhbnkgPSB7fTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWtlW3RoaXMudmFsdWVGaWVsZF0gPSB0aGlzLnZhbHVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWtlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIC8vJiYgdGhpcy52YWx1ZVt0aGlzLnRleHRGaWVsZF1cbiAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnZhbHVlID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFt0aGlzLnZhbHVlXTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGZha2U6IGFueSA9IHt9O1xuICAgICAgICAgICAgICAgICAgICAgICAgZmFrZVt0aGlzLnZhbHVlRmllbGRdID0gdGhpcy52YWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBbZmFrZV07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWRJdGVtcyA9IGZ1bmMoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIF9nZXRJdGVtQnlEYXRhTW9kZShpdGVtOiBhbnkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnNlbGVjdGlvbk1vZGUgPT09ICdpdGVtJyA/IGl0ZW0gOiBpdGVtW3RoaXMudmFsdWVGaWVsZF07XG4gICAgICAgIH1cblxuICAgICAgICBfZ2V0SXRlbVZhbHVlKGl0ZW06IGFueSkge1xuICAgICAgICAgICAgcmV0dXJuIHR5cGVvZiBpdGVtID09PSAnb2JqZWN0JyA/IGl0ZW1bdGhpcy52YWx1ZUZpZWxkXSA6IGl0ZW07XG4gICAgICAgIH1cblxuXG5cbiAgICAgICAgdW5zZWxlY3RJdGVtcyguLi5pdGVtczogYW55W10pIHtcbiAgICAgICAgICAgIGlmICghaXRlbXMgfHwgaXRlbXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZSA9IG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChBcnJheS5pc0FycmF5KHRoaXMudmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHRoaXMudmFsdWUuZmlsdGVyKGMgPT4gIWl0ZW1zLnNvbWUoZCA9PlxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9nZXRJdGVtVmFsdWUoYykgPT09IHRoaXMuX2dldEl0ZW1WYWx1ZShkKSlcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZSA9IG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBzZWxlY3RJdGVtcyguLi5pdGVtczogYW55W10pIHtcbiAgICAgICAgICAgIGlmIChpdGVtcyAmJiBpdGVtcy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnZhbHVlID0gKHRoaXMudmFsdWUgfHwgW10pLmNvbmNhdChpdGVtcy5tYXAoYyA9PiB0aGlzLl9nZXRJdGVtQnlEYXRhTW9kZShjKSkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHRoaXMuX2dldEl0ZW1CeURhdGFNb2RlKGl0ZW1zWzBdKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0b2dnbGVTZWxlY3QoLi4uaXRlbXM6IGFueVtdKSB7XG4gICAgICAgICAgICBpZiAoaXRlbXMgJiYgaXRlbXMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgaXRlbXMuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcy5pbmNsdWRlcyhpdGVtKSA/IHRoaXMudW5zZWxlY3RJdGVtcyhpdGVtKSA6IHRoaXMuc2VsZWN0SXRlbXMoaXRlbSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdEl0ZW1zKGl0ZW0pXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlzSXRlbVNlbGVjdGVkKGl0ZW06IGFueSk6IGJvb2xlYW4ge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRJdGVtcy5zb21lKGMgPT4gY1t0aGlzLnZhbHVlRmllbGRdID09PSBpdGVtW3RoaXMudmFsdWVGaWVsZF0pO1xuICAgICAgICB9XG4gICAgfVxufSJdfQ==
@@ -1,18 +1,18 @@
1
- export function _SizableComponenetMixin(Base) {
2
- return class extends Base {
3
- /**
4
- * @ignore
5
- */
6
- constructor(...args) {
7
- super(...args.slice(0, 2));
8
- }
9
- _onInternalInit() {
10
- super._onInternalInit();
11
- }
12
- };
13
- }
14
- export const SIZABLE_INPUTS = [
15
- 'size',
16
- ];
17
- export const SIZABLE_OUTPUT = [];
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2l6YWJsZS1taXhpbi5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL3NyYy9saWIvYmFzZS9taXhpbi9zaXphYmxlLW1peGluLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE1BQU0sVUFBVSx1QkFBdUIsQ0FBNkMsSUFBVztJQUMzRixPQUFPLEtBQU0sU0FBUSxJQUFJO1FBT3JCOztVQUVFO1FBQ0YsWUFBWSxHQUFHLElBQVc7WUFDdEIsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUM5QixDQUFDO1FBRUQsZUFBZTtZQUNYLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUM1QixDQUFDO0tBQ0osQ0FBQTtBQUNMLENBQUM7QUFHRCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUc7SUFDMUIsTUFBTTtDQUNULENBQUM7QUFDRixNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhDb25maWcgfSBmcm9tICdAYWNvcmV4L2NvcmUnO1xyXG5pbXBvcnQgeyBBWEJhc2VDb21wb25lbnQsIEFYRWxlbWVudFNpemUgfSBmcm9tICcuL2Jhc2UtY29tcG9uZW50cy5jbGFzcyc7XHJcbmltcG9ydCB7IENvbnN0cnVjdG9yIH0gZnJvbSAnLi9jb25zdHJhdGN0b3InO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9TaXphYmxlQ29tcG9uZW5ldE1peGluPFRCYXNlIGV4dGVuZHMgQ29uc3RydWN0b3I8QVhCYXNlQ29tcG9uZW50Pj4oQmFzZTogVEJhc2UpIHtcclxuICAgIHJldHVybiBjbGFzcyBleHRlbmRzIEJhc2Uge1xyXG5cclxuICAgICAgICAvKipcclxuICAgICAgICAqICBBIHRva2VuIHRoYXQgc3BlY2lmaWVzIHRoZSBzaXplIG9mIGNvbXBvbmVudC5cclxuICAgICAgICAqL1xyXG4gICAgICAgIHNpemU6IEFYRWxlbWVudFNpemU7XHJcblxyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICogIEBpZ25vcmVcclxuICAgICAgICAqL1xyXG4gICAgICAgIGNvbnN0cnVjdG9yKC4uLmFyZ3M6IGFueVtdKSB7XHJcbiAgICAgICAgICAgIHN1cGVyKC4uLmFyZ3Muc2xpY2UoMCwgMikpXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBfb25JbnRlcm5hbEluaXQoKSB7XHJcbiAgICAgICAgICAgIHN1cGVyLl9vbkludGVybmFsSW5pdCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbmV4cG9ydCBjb25zdCBTSVpBQkxFX0lOUFVUUyA9IFtcclxuICAgICdzaXplJyxcclxuXTtcclxuZXhwb3J0IGNvbnN0IFNJWkFCTEVfT1VUUFVUID0gW107Il19
1
+ export function _SizableComponenetMixin(Base) {
2
+ return class extends Base {
3
+ /**
4
+ * @ignore
5
+ */
6
+ constructor(...args) {
7
+ super(...args.slice(0, 2));
8
+ }
9
+ _onInternalInit() {
10
+ super._onInternalInit();
11
+ }
12
+ };
13
+ }
14
+ export const SIZABLE_INPUTS = [
15
+ 'size',
16
+ ];
17
+ export const SIZABLE_OUTPUT = [];
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2l6YWJsZS1taXhpbi5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL3NyYy9saWIvYmFzZS9taXhpbi9zaXphYmxlLW1peGluLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE1BQU0sVUFBVSx1QkFBdUIsQ0FBNkMsSUFBVztJQUMzRixPQUFPLEtBQU0sU0FBUSxJQUFJO1FBT3JCOztVQUVFO1FBQ0YsWUFBWSxHQUFHLElBQVc7WUFDdEIsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUM5QixDQUFDO1FBRUQsZUFBZTtZQUNYLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUM1QixDQUFDO0tBQ0osQ0FBQTtBQUNMLENBQUM7QUFHRCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUc7SUFDMUIsTUFBTTtDQUNULENBQUM7QUFDRixNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhDb25maWcgfSBmcm9tICdAYWNvcmV4L2NvcmUnO1xuaW1wb3J0IHsgQVhCYXNlQ29tcG9uZW50LCBBWEVsZW1lbnRTaXplIH0gZnJvbSAnLi9iYXNlLWNvbXBvbmVudHMuY2xhc3MnO1xuaW1wb3J0IHsgQ29uc3RydWN0b3IgfSBmcm9tICcuL2NvbnN0cmF0Y3Rvcic7XG5cbmV4cG9ydCBmdW5jdGlvbiBfU2l6YWJsZUNvbXBvbmVuZXRNaXhpbjxUQmFzZSBleHRlbmRzIENvbnN0cnVjdG9yPEFYQmFzZUNvbXBvbmVudD4+KEJhc2U6IFRCYXNlKSB7XG4gICAgcmV0dXJuIGNsYXNzIGV4dGVuZHMgQmFzZSB7XG5cbiAgICAgICAgLyoqXG4gICAgICAgICogIEEgdG9rZW4gdGhhdCBzcGVjaWZpZXMgdGhlIHNpemUgb2YgY29tcG9uZW50LlxuICAgICAgICAqL1xuICAgICAgICBzaXplOiBBWEVsZW1lbnRTaXplO1xuXG4gICAgICAgIC8qKlxuICAgICAgICAqICBAaWdub3JlXG4gICAgICAgICovXG4gICAgICAgIGNvbnN0cnVjdG9yKC4uLmFyZ3M6IGFueVtdKSB7XG4gICAgICAgICAgICBzdXBlciguLi5hcmdzLnNsaWNlKDAsIDIpKVxuICAgICAgICB9XG5cbiAgICAgICAgX29uSW50ZXJuYWxJbml0KCkge1xuICAgICAgICAgICAgc3VwZXIuX29uSW50ZXJuYWxJbml0KCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuZXhwb3J0IGNvbnN0IFNJWkFCTEVfSU5QVVRTID0gW1xuICAgICdzaXplJyxcbl07XG5leHBvcnQgY29uc3QgU0laQUJMRV9PVVRQVVQgPSBbXTsiXX0=
@@ -1,38 +1,38 @@
1
- import { EventEmitter } from '@angular/core';
2
- import { VALUE_INPUTS, VALUE_OUTPUT } from './value-mixin.class';
3
- export function _TextboxComponenetMixin(Base) {
4
- return class extends Base {
5
- /**
6
- * @ignore
7
- */
8
- constructor(...args) {
9
- super(...args.slice(0, 2));
10
- /**
11
- * A string value that specifies the placeholder of text box.
12
- */
13
- this.placeholder = null;
14
- /**
15
- * A number value that specifies the maximum characters of text box.
16
- */
17
- this.maxLength = 100;
18
- /**
19
- * Specifies that autocomplete is on or off.
20
- */
21
- this.autoComplete = false;
22
- /**
23
- * Fires each time the user press a key.
24
- * @event
25
- */
26
- this.onKeyDown = new EventEmitter();
27
- }
28
- _emitOnKeydownEvent(e) {
29
- this.onKeyDown.emit({
30
- component: this,
31
- nativeEvent: e
32
- });
33
- }
34
- };
35
- }
36
- export const TEXTBOX_INPUTS = ['placeholder', 'maxLength', 'allowNull', 'debounceTime', ...VALUE_INPUTS];
37
- export const TEXTBOX_OUTPUT = [...VALUE_OUTPUT];
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGJveC1taXhpbi5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL3NyYy9saWIvYmFzZS9taXhpbi90ZXh0Ym94LW1peGluLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJN0MsT0FBTyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVqRSxNQUFNLFVBQVUsdUJBQXVCLENBQTZDLElBQVc7SUFDM0YsT0FBTyxLQUFNLFNBQVEsSUFBSTtRQWlDckI7O1VBRUU7UUFDRixZQUFZLEdBQUcsSUFBVztZQUN0QixLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFBO1lBbkM5Qjs7Y0FFRTtZQUNGLGdCQUFXLEdBQVcsSUFBSSxDQUFDO1lBRTNCOztjQUVFO1lBQ0YsY0FBUyxHQUFXLEdBQUcsQ0FBQztZQUV4Qjs7Y0FFRTtZQUNGLGlCQUFZLEdBQVksS0FBSyxDQUFDO1lBRzlCOzs7Y0FHRTtZQUNGLGNBQVMsR0FBNkMsSUFBSSxZQUFZLEVBQThCLENBQUM7UUFnQnJHLENBQUM7UUFiRCxtQkFBbUIsQ0FBQyxDQUFnQjtZQUNoQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQztnQkFDaEIsU0FBUyxFQUFFLElBQUk7Z0JBQ2YsV0FBVyxFQUFFLENBQUM7YUFDakIsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztLQVNKLENBQUE7QUFDTCxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQUMsYUFBYSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLEdBQUcsWUFBWSxDQUFDLENBQUE7QUFDeEcsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQUMsR0FBRyxZQUFZLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBWEh0bWxFdmVudCB9IGZyb20gJy4uL2V2ZW50cy5jbGFzcyc7XHJcbmltcG9ydCB7IEFYQmFzZUNvbXBvbmVudCB9IGZyb20gJy4vYmFzZS1jb21wb25lbnRzLmNsYXNzJztcclxuaW1wb3J0IHsgQ29uc3RydWN0b3IgfSBmcm9tICcuL2NvbnN0cmF0Y3Rvcic7XHJcbmltcG9ydCB7IFZBTFVFX0lOUFVUUywgVkFMVUVfT1VUUFVUIH0gZnJvbSAnLi92YWx1ZS1taXhpbi5jbGFzcyc7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX1RleHRib3hDb21wb25lbmV0TWl4aW48VEJhc2UgZXh0ZW5kcyBDb25zdHJ1Y3RvcjxBWEJhc2VDb21wb25lbnQ+PihCYXNlOiBUQmFzZSkge1xyXG4gICAgcmV0dXJuIGNsYXNzIGV4dGVuZHMgQmFzZSB7XHJcblxyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICogIEEgc3RyaW5nIHZhbHVlIHRoYXQgc3BlY2lmaWVzIHRoZSBwbGFjZWhvbGRlciBvZiB0ZXh0IGJveC5cclxuICAgICAgICAqL1xyXG4gICAgICAgIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSBudWxsO1xyXG5cclxuICAgICAgICAvKipcclxuICAgICAgICAqICBBIG51bWJlciB2YWx1ZSB0aGF0IHNwZWNpZmllcyB0aGUgbWF4aW11bSBjaGFyYWN0ZXJzIG9mIHRleHQgYm94LlxyXG4gICAgICAgICovXHJcbiAgICAgICAgbWF4TGVuZ3RoOiBudW1iZXIgPSAxMDA7XHJcblxyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICogIFNwZWNpZmllcyB0aGF0IGF1dG9jb21wbGV0ZSBpcyBvbiBvciBvZmYuXHJcbiAgICAgICAgKi9cclxuICAgICAgICBhdXRvQ29tcGxldGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcblxyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICogIEZpcmVzIGVhY2ggdGltZSB0aGUgdXNlciBwcmVzcyBhIGtleS5cclxuICAgICAgICAqICBAZXZlbnRcclxuICAgICAgICAqL1xyXG4gICAgICAgIG9uS2V5RG93bjogRXZlbnRFbWl0dGVyPEFYSHRtbEV2ZW50PEtleWJvYXJkRXZlbnQ+PiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhIdG1sRXZlbnQ8S2V5Ym9hcmRFdmVudD4+KCk7XHJcblxyXG5cclxuICAgICAgICBfZW1pdE9uS2V5ZG93bkV2ZW50KGU6IEtleWJvYXJkRXZlbnQpIHtcclxuICAgICAgICAgICAgdGhpcy5vbktleURvd24uZW1pdCh7XHJcbiAgICAgICAgICAgICAgICBjb21wb25lbnQ6IHRoaXMsXHJcbiAgICAgICAgICAgICAgICBuYXRpdmVFdmVudDogZVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcblxyXG5cclxuICAgICAgICAvKipcclxuICAgICAgICAqICBAaWdub3JlXHJcbiAgICAgICAgKi9cclxuICAgICAgICBjb25zdHJ1Y3RvciguLi5hcmdzOiBhbnlbXSkge1xyXG4gICAgICAgICAgICBzdXBlciguLi5hcmdzLnNsaWNlKDAsIDIpKVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IFRFWFRCT1hfSU5QVVRTID0gWydwbGFjZWhvbGRlcicsICdtYXhMZW5ndGgnLCAnYWxsb3dOdWxsJywgJ2RlYm91bmNlVGltZScsIC4uLlZBTFVFX0lOUFVUU11cclxuZXhwb3J0IGNvbnN0IFRFWFRCT1hfT1VUUFVUID0gWy4uLlZBTFVFX09VVFBVVF0iXX0=
1
+ import { EventEmitter } from '@angular/core';
2
+ import { VALUE_INPUTS, VALUE_OUTPUT } from './value-mixin.class';
3
+ export function _TextboxComponenetMixin(Base) {
4
+ return class extends Base {
5
+ /**
6
+ * @ignore
7
+ */
8
+ constructor(...args) {
9
+ super(...args.slice(0, 2));
10
+ /**
11
+ * A string value that specifies the placeholder of text box.
12
+ */
13
+ this.placeholder = null;
14
+ /**
15
+ * A number value that specifies the maximum characters of text box.
16
+ */
17
+ this.maxLength = 100;
18
+ /**
19
+ * Specifies that autocomplete is on or off.
20
+ */
21
+ this.autoComplete = false;
22
+ /**
23
+ * Fires each time the user press a key.
24
+ * @event
25
+ */
26
+ this.onKeyDown = new EventEmitter();
27
+ }
28
+ _emitOnKeydownEvent(e) {
29
+ this.onKeyDown.emit({
30
+ component: this,
31
+ nativeEvent: e
32
+ });
33
+ }
34
+ };
35
+ }
36
+ export const TEXTBOX_INPUTS = ['placeholder', 'maxLength', 'allowNull', 'debounceTime', ...VALUE_INPUTS];
37
+ export const TEXTBOX_OUTPUT = [...VALUE_OUTPUT];
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGJveC1taXhpbi5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL3NyYy9saWIvYmFzZS9taXhpbi90ZXh0Ym94LW1peGluLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJN0MsT0FBTyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVqRSxNQUFNLFVBQVUsdUJBQXVCLENBQTZDLElBQVc7SUFDM0YsT0FBTyxLQUFNLFNBQVEsSUFBSTtRQWlDckI7O1VBRUU7UUFDRixZQUFZLEdBQUcsSUFBVztZQUN0QixLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFBO1lBbkM5Qjs7Y0FFRTtZQUNGLGdCQUFXLEdBQVcsSUFBSSxDQUFDO1lBRTNCOztjQUVFO1lBQ0YsY0FBUyxHQUFXLEdBQUcsQ0FBQztZQUV4Qjs7Y0FFRTtZQUNGLGlCQUFZLEdBQVksS0FBSyxDQUFDO1lBRzlCOzs7Y0FHRTtZQUNGLGNBQVMsR0FBNkMsSUFBSSxZQUFZLEVBQThCLENBQUM7UUFnQnJHLENBQUM7UUFiRCxtQkFBbUIsQ0FBQyxDQUFnQjtZQUNoQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQztnQkFDaEIsU0FBUyxFQUFFLElBQUk7Z0JBQ2YsV0FBVyxFQUFFLENBQUM7YUFDakIsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztLQVNKLENBQUE7QUFDTCxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQUMsYUFBYSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLEdBQUcsWUFBWSxDQUFDLENBQUE7QUFDeEcsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQUMsR0FBRyxZQUFZLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhIdG1sRXZlbnQgfSBmcm9tICcuLi9ldmVudHMuY2xhc3MnO1xuaW1wb3J0IHsgQVhCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi9iYXNlLWNvbXBvbmVudHMuY2xhc3MnO1xuaW1wb3J0IHsgQ29uc3RydWN0b3IgfSBmcm9tICcuL2NvbnN0cmF0Y3Rvcic7XG5pbXBvcnQgeyBWQUxVRV9JTlBVVFMsIFZBTFVFX09VVFBVVCB9IGZyb20gJy4vdmFsdWUtbWl4aW4uY2xhc3MnO1xuXG5leHBvcnQgZnVuY3Rpb24gX1RleHRib3hDb21wb25lbmV0TWl4aW48VEJhc2UgZXh0ZW5kcyBDb25zdHJ1Y3RvcjxBWEJhc2VDb21wb25lbnQ+PihCYXNlOiBUQmFzZSkge1xuICAgIHJldHVybiBjbGFzcyBleHRlbmRzIEJhc2Uge1xuXG4gICAgICAgIC8qKlxuICAgICAgICAqICBBIHN0cmluZyB2YWx1ZSB0aGF0IHNwZWNpZmllcyB0aGUgcGxhY2Vob2xkZXIgb2YgdGV4dCBib3guXG4gICAgICAgICovXG4gICAgICAgIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSBudWxsO1xuXG4gICAgICAgIC8qKlxuICAgICAgICAqICBBIG51bWJlciB2YWx1ZSB0aGF0IHNwZWNpZmllcyB0aGUgbWF4aW11bSBjaGFyYWN0ZXJzIG9mIHRleHQgYm94LlxuICAgICAgICAqL1xuICAgICAgICBtYXhMZW5ndGg6IG51bWJlciA9IDEwMDtcblxuICAgICAgICAvKipcbiAgICAgICAgKiAgU3BlY2lmaWVzIHRoYXQgYXV0b2NvbXBsZXRlIGlzIG9uIG9yIG9mZi5cbiAgICAgICAgKi9cbiAgICAgICAgYXV0b0NvbXBsZXRlOiBib29sZWFuID0gZmFsc2U7XG5cblxuICAgICAgICAvKipcbiAgICAgICAgKiAgRmlyZXMgZWFjaCB0aW1lIHRoZSB1c2VyIHByZXNzIGEga2V5LlxuICAgICAgICAqICBAZXZlbnRcbiAgICAgICAgKi9cbiAgICAgICAgb25LZXlEb3duOiBFdmVudEVtaXR0ZXI8QVhIdG1sRXZlbnQ8S2V5Ym9hcmRFdmVudD4+ID0gbmV3IEV2ZW50RW1pdHRlcjxBWEh0bWxFdmVudDxLZXlib2FyZEV2ZW50Pj4oKTtcblxuXG4gICAgICAgIF9lbWl0T25LZXlkb3duRXZlbnQoZTogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICAgICAgdGhpcy5vbktleURvd24uZW1pdCh7XG4gICAgICAgICAgICAgICAgY29tcG9uZW50OiB0aGlzLFxuICAgICAgICAgICAgICAgIG5hdGl2ZUV2ZW50OiBlXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgLyoqXG4gICAgICAgICogIEBpZ25vcmVcbiAgICAgICAgKi9cbiAgICAgICAgY29uc3RydWN0b3IoLi4uYXJnczogYW55W10pIHtcbiAgICAgICAgICAgIHN1cGVyKC4uLmFyZ3Muc2xpY2UoMCwgMikpXG4gICAgICAgIH1cbiAgICB9XG59XG5cbmV4cG9ydCBjb25zdCBURVhUQk9YX0lOUFVUUyA9IFsncGxhY2Vob2xkZXInLCAnbWF4TGVuZ3RoJywgJ2FsbG93TnVsbCcsICdkZWJvdW5jZVRpbWUnLCAuLi5WQUxVRV9JTlBVVFNdXG5leHBvcnQgY29uc3QgVEVYVEJPWF9PVVRQVVQgPSBbLi4uVkFMVUVfT1VUUFVUXSJdfQ==