@simpleangularcontrols/sac-common 10.0.0-rc.21 → 10.0.0-rc.22

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 (539) hide show
  1. package/README.md +16 -16
  2. package/bundles/simpleangularcontrols-sac-common.umd.js +12390 -12358
  3. package/bundles/simpleangularcontrols-sac-common.umd.js.map +1 -1
  4. package/bundles/simpleangularcontrols-sac-common.umd.min.js +1 -1
  5. package/bundles/simpleangularcontrols-sac-common.umd.min.js.map +1 -1
  6. package/common/basedatetimecontrol.d.ts +169 -169
  7. package/common/basedatetimecontrol.ngfactory.d.ts +1 -1
  8. package/common/baseinputcontrol.d.ts +38 -38
  9. package/common/baseinputcontrol.ngfactory.d.ts +1 -1
  10. package/common/baselistcontrol.d.ts +43 -43
  11. package/common/baselistcontrol.ngfactory.d.ts +1 -1
  12. package/common/basemodelcontrol.d.ts +280 -280
  13. package/common/basemodelcontrol.ngfactory.d.ts +1 -1
  14. package/common/baseselectcontrol.d.ts +14 -14
  15. package/common/baseselectcontrol.ngfactory.d.ts +1 -1
  16. package/common/baseuploadcontrol.d.ts +300 -300
  17. package/common/baseuploadcontrol.ngfactory.d.ts +1 -1
  18. package/components/browser/browser.d.ts +267 -267
  19. package/components/browser/browser.ngfactory.d.ts +1 -1
  20. package/components/browser/models/browserfile.d.ts +17 -17
  21. package/components/browser/models/browserfile.ngfactory.d.ts +1 -1
  22. package/components/browser/models/browserfiledeleterequest.d.ts +18 -18
  23. package/components/browser/models/browserfiledeleterequest.ngfactory.d.ts +1 -1
  24. package/components/browser/models/browserfilerenamerequest.d.ts +22 -22
  25. package/components/browser/models/browserfilerenamerequest.ngfactory.d.ts +1 -1
  26. package/components/browser/models/browserfileresponse.d.ts +10 -10
  27. package/components/browser/models/browserfileresponse.ngfactory.d.ts +1 -1
  28. package/components/browser/models/browserfilesaverequest.d.ts +22 -22
  29. package/components/browser/models/browserfilesaverequest.ngfactory.d.ts +1 -1
  30. package/components/browser/models/browsernode.d.ts +34 -34
  31. package/components/browser/models/browsernode.ngfactory.d.ts +1 -1
  32. package/components/browser/models/browsernodedeleterequest.d.ts +14 -14
  33. package/components/browser/models/browsernodedeleterequest.ngfactory.d.ts +1 -1
  34. package/components/browser/models/browsernodenewrequest.d.ts +18 -18
  35. package/components/browser/models/browsernodenewrequest.ngfactory.d.ts +1 -1
  36. package/components/browser/models/browsernoderenamerequest.d.ts +18 -18
  37. package/components/browser/models/browsernoderenamerequest.ngfactory.d.ts +1 -1
  38. package/components/browser/models/browsernoderequest.d.ts +18 -18
  39. package/components/browser/models/browsernoderequest.ngfactory.d.ts +1 -1
  40. package/components/browser/models/browsernoderesponse.d.ts +10 -10
  41. package/components/browser/models/browsernoderesponse.ngfactory.d.ts +1 -1
  42. package/controls/buttons/button.d.ts +70 -70
  43. package/controls/buttons/button.ngfactory.d.ts +1 -1
  44. package/controls/checkbox/checkbox.d.ts +32 -32
  45. package/controls/checkbox/checkbox.ngfactory.d.ts +1 -1
  46. package/controls/checkbox/radiobutton.d.ts +114 -114
  47. package/controls/checkbox/radiobutton.ngfactory.d.ts +1 -1
  48. package/controls/checkbox/radiobuttons.d.ts +60 -60
  49. package/controls/checkbox/radiobuttons.ngfactory.d.ts +1 -1
  50. package/controls/confirm/confirm.button.d.ts +25 -25
  51. package/controls/confirm/confirm.button.ngfactory.d.ts +1 -1
  52. package/controls/confirm/confirm.d.ts +49 -49
  53. package/controls/confirm/confirm.ngfactory.d.ts +1 -1
  54. package/controls/confirm/confirm.service.d.ts +63 -63
  55. package/controls/confirm/confirm.service.ngfactory.d.ts +1 -1
  56. package/controls/contextmenu/contextmenu.d.ts +120 -120
  57. package/controls/contextmenu/contextmenu.interface.d.ts +3 -3
  58. package/controls/contextmenu/contextmenu.interface.ngfactory.d.ts +1 -1
  59. package/controls/contextmenu/contextmenu.ngfactory.d.ts +1 -1
  60. package/controls/contextmenu/contextmenuanchor.d.ts +15 -15
  61. package/controls/contextmenu/contextmenuanchor.ngfactory.d.ts +1 -1
  62. package/controls/contextmenu/contextmenucontainer.d.ts +15 -15
  63. package/controls/contextmenu/contextmenucontainer.ngfactory.d.ts +1 -1
  64. package/controls/contextmenu/contextmenuitem.d.ts +10 -10
  65. package/controls/contextmenu/contextmenuitem.ngfactory.d.ts +1 -1
  66. package/controls/contextmenu/contextmenuitembutton.d.ts +67 -67
  67. package/controls/contextmenu/contextmenuitembutton.ngfactory.d.ts +1 -1
  68. package/controls/datetime/date.d.ts +117 -117
  69. package/controls/datetime/date.ngfactory.d.ts +1 -1
  70. package/controls/datetime/dateselector.d.ts +161 -161
  71. package/controls/datetime/dateselector.ngfactory.d.ts +1 -1
  72. package/controls/datetime/datetime.d.ts +131 -131
  73. package/controls/datetime/datetime.ngfactory.d.ts +1 -1
  74. package/controls/datetime/time.d.ts +111 -111
  75. package/controls/datetime/time.ngfactory.d.ts +1 -1
  76. package/controls/dialog/dialog.d.ts +93 -93
  77. package/controls/dialog/dialog.ngfactory.d.ts +1 -1
  78. package/controls/form/form.d.ts +47 -47
  79. package/controls/form/form.ngfactory.d.ts +1 -1
  80. package/controls/grid/grid.d.ts +127 -127
  81. package/controls/grid/grid.ngfactory.d.ts +1 -1
  82. package/controls/grid/gridbutton.d.ts +33 -33
  83. package/controls/grid/gridbutton.ngfactory.d.ts +1 -1
  84. package/controls/grid/gridcolumn.d.ts +28 -28
  85. package/controls/grid/gridcolumn.ngfactory.d.ts +1 -1
  86. package/controls/grid/gridcolumnaction.d.ts +15 -15
  87. package/controls/grid/gridcolumnaction.ngfactory.d.ts +1 -1
  88. package/controls/grid/gridcolumnbase.d.ts +94 -94
  89. package/controls/grid/gridcolumnbase.ngfactory.d.ts +1 -1
  90. package/controls/grid/gridimage.d.ts +9 -9
  91. package/controls/grid/gridimage.ngfactory.d.ts +1 -1
  92. package/controls/grid/model.d.ts +92 -92
  93. package/controls/grid/model.ngfactory.d.ts +1 -1
  94. package/controls/grid/paging.d.ts +145 -145
  95. package/controls/grid/paging.ngfactory.d.ts +1 -1
  96. package/controls/input/input.d.ts +35 -35
  97. package/controls/input/input.ngfactory.d.ts +1 -1
  98. package/controls/input/inputarea.d.ts +26 -26
  99. package/controls/input/inputarea.ngfactory.d.ts +1 -1
  100. package/controls/input/inputcurrency.d.ts +11 -11
  101. package/controls/input/inputcurrency.ngfactory.d.ts +1 -1
  102. package/controls/input/inputdecimal.d.ts +59 -59
  103. package/controls/input/inputdecimal.ngfactory.d.ts +1 -1
  104. package/controls/input/inputemail.d.ts +19 -19
  105. package/controls/input/inputemail.ngfactory.d.ts +1 -1
  106. package/controls/input/inputinteger.d.ts +59 -59
  107. package/controls/input/inputinteger.ngfactory.d.ts +1 -1
  108. package/controls/input/inputpassword.d.ts +23 -23
  109. package/controls/input/inputpassword.ngfactory.d.ts +1 -1
  110. package/controls/input/inputsearch.d.ts +32 -32
  111. package/controls/input/inputsearch.ngfactory.d.ts +1 -1
  112. package/controls/layout/formlayout.d.ts +62 -62
  113. package/controls/layout/formlayout.ngfactory.d.ts +1 -1
  114. package/controls/list/buildvaluestring.d.ts +6 -6
  115. package/controls/list/buildvaluestring.ngfactory.d.ts +1 -1
  116. package/controls/list/dropdown.d.ts +96 -96
  117. package/controls/list/dropdown.ngfactory.d.ts +1 -1
  118. package/controls/list/dropdownoptions.d.ts +38 -38
  119. package/controls/list/dropdownoptions.ngfactory.d.ts +1 -1
  120. package/controls/list/list.module.d.ts +2 -2
  121. package/controls/list/list.module.ngfactory.d.ts +3 -3
  122. package/controls/list/listbox.d.ts +86 -86
  123. package/controls/list/listbox.ngfactory.d.ts +1 -1
  124. package/controls/multilanguage/multilanguageinput.d.ts +102 -102
  125. package/controls/multilanguage/multilanguageinput.ngfactory.d.ts +1 -1
  126. package/controls/multilanguage/multilanguageinputarea.d.ts +107 -107
  127. package/controls/multilanguage/multilanguageinputarea.ngfactory.d.ts +1 -1
  128. package/controls/static/formcontainer.d.ts +35 -35
  129. package/controls/static/formcontainer.ngfactory.d.ts +1 -1
  130. package/controls/static/staticlabel.d.ts +18 -18
  131. package/controls/static/staticlabel.ngfactory.d.ts +1 -1
  132. package/controls/tabs/tab.d.ts +45 -45
  133. package/controls/tabs/tab.ngfactory.d.ts +1 -1
  134. package/controls/tabs/tabitem.d.ts +30 -30
  135. package/controls/tabs/tabitem.ngfactory.d.ts +1 -1
  136. package/controls/tinymce/tinymce.d.ts +149 -149
  137. package/controls/tinymce/tinymce.ngfactory.d.ts +1 -1
  138. package/controls/tinymce/tinymcedialogsettings.d.ts +27 -27
  139. package/controls/tinymce/tinymcedialogsettings.ngfactory.d.ts +1 -1
  140. package/controls/tinymce/tinymcedialogsettingsmeta.d.ts +9 -9
  141. package/controls/tinymce/tinymcedialogsettingsmeta.ngfactory.d.ts +1 -1
  142. package/controls/tinymce/tinymceinstance.d.ts +10 -10
  143. package/controls/tinymce/tinymceinstance.ngfactory.d.ts +1 -1
  144. package/controls/tooltip/tooltip.d.ts +145 -145
  145. package/controls/tooltip/tooltip.ngfactory.d.ts +1 -1
  146. package/controls/treeview/treeview.d.ts +185 -185
  147. package/controls/treeview/treeview.ngfactory.d.ts +1 -1
  148. package/controls/upload/dropzonemultiple.d.ts +70 -70
  149. package/controls/upload/dropzonemultiple.ngfactory.d.ts +1 -1
  150. package/controls/upload/dropzonesingle.d.ts +47 -47
  151. package/controls/upload/dropzonesingle.ngfactory.d.ts +1 -1
  152. package/controls/upload/uploadmultiple.d.ts +50 -50
  153. package/controls/upload/uploadmultiple.ngfactory.d.ts +1 -1
  154. package/controls/upload/uploadsingle.d.ts +27 -27
  155. package/controls/upload/uploadsingle.ngfactory.d.ts +1 -1
  156. package/controls/validation/validationsummary.d.ts +60 -60
  157. package/controls/validation/validationsummary.ngfactory.d.ts +1 -1
  158. package/controls/wizard/wizard.d.ts +73 -73
  159. package/controls/wizard/wizard.ngfactory.d.ts +1 -1
  160. package/controls/wizard/wizarditem.d.ts +25 -25
  161. package/controls/wizard/wizarditem.ngfactory.d.ts +1 -1
  162. package/enums/ButtonRoleType.d.ts +1 -1
  163. package/enums/ButtonRoleType.ngfactory.d.ts +1 -1
  164. package/enums/ControlHeight.d.ts +17 -17
  165. package/enums/ControlHeight.ngfactory.d.ts +1 -1
  166. package/enums/IconType.d.ts +7 -7
  167. package/enums/IconType.ngfactory.d.ts +1 -1
  168. package/esm2015/common/basedatetimecontrol.js +319 -319
  169. package/esm2015/common/basedatetimecontrol.ngfactory.js +7 -7
  170. package/esm2015/common/baseinputcontrol.js +73 -73
  171. package/esm2015/common/baseinputcontrol.ngfactory.js +7 -7
  172. package/esm2015/common/baselistcontrol.js +55 -55
  173. package/esm2015/common/baselistcontrol.ngfactory.js +7 -7
  174. package/esm2015/common/basemodelcontrol.js +535 -535
  175. package/esm2015/common/basemodelcontrol.ngfactory.js +7 -7
  176. package/esm2015/common/baseselectcontrol.js +26 -26
  177. package/esm2015/common/baseselectcontrol.ngfactory.js +7 -7
  178. package/esm2015/common/baseuploadcontrol.js +490 -490
  179. package/esm2015/common/baseuploadcontrol.ngfactory.js +7 -7
  180. package/esm2015/components/browser/browser.js +545 -545
  181. package/esm2015/components/browser/browser.ngfactory.js +7 -7
  182. package/esm2015/components/browser/models/browserfile.js +1 -1
  183. package/esm2015/components/browser/models/browserfile.ngfactory.js +7 -7
  184. package/esm2015/components/browser/models/browserfiledeleterequest.js +13 -13
  185. package/esm2015/components/browser/models/browserfiledeleterequest.ngfactory.js +7 -7
  186. package/esm2015/components/browser/models/browserfilerenamerequest.js +13 -13
  187. package/esm2015/components/browser/models/browserfilerenamerequest.ngfactory.js +7 -7
  188. package/esm2015/components/browser/models/browserfileresponse.js +1 -1
  189. package/esm2015/components/browser/models/browserfileresponse.ngfactory.js +7 -7
  190. package/esm2015/components/browser/models/browserfilesaverequest.js +13 -13
  191. package/esm2015/components/browser/models/browserfilesaverequest.ngfactory.js +7 -7
  192. package/esm2015/components/browser/models/browsernode.js +1 -1
  193. package/esm2015/components/browser/models/browsernode.ngfactory.js +7 -7
  194. package/esm2015/components/browser/models/browsernodedeleterequest.js +13 -13
  195. package/esm2015/components/browser/models/browsernodedeleterequest.ngfactory.js +7 -7
  196. package/esm2015/components/browser/models/browsernodenewrequest.js +13 -13
  197. package/esm2015/components/browser/models/browsernodenewrequest.ngfactory.js +7 -7
  198. package/esm2015/components/browser/models/browsernoderenamerequest.js +13 -13
  199. package/esm2015/components/browser/models/browsernoderenamerequest.ngfactory.js +7 -7
  200. package/esm2015/components/browser/models/browsernoderequest.js +13 -13
  201. package/esm2015/components/browser/models/browsernoderequest.ngfactory.js +7 -7
  202. package/esm2015/components/browser/models/browsernoderesponse.js +1 -1
  203. package/esm2015/components/browser/models/browsernoderesponse.ngfactory.js +7 -7
  204. package/esm2015/controls/buttons/button.js +141 -141
  205. package/esm2015/controls/buttons/button.ngfactory.js +7 -7
  206. package/esm2015/controls/checkbox/checkbox.js +56 -56
  207. package/esm2015/controls/checkbox/checkbox.ngfactory.js +7 -7
  208. package/esm2015/controls/checkbox/radiobutton.js +164 -164
  209. package/esm2015/controls/checkbox/radiobutton.ngfactory.js +7 -7
  210. package/esm2015/controls/checkbox/radiobuttons.js +113 -113
  211. package/esm2015/controls/checkbox/radiobuttons.ngfactory.js +7 -7
  212. package/esm2015/controls/confirm/confirm.button.js +32 -32
  213. package/esm2015/controls/confirm/confirm.button.ngfactory.js +7 -7
  214. package/esm2015/controls/confirm/confirm.js +75 -75
  215. package/esm2015/controls/confirm/confirm.ngfactory.js +7 -7
  216. package/esm2015/controls/confirm/confirm.service.js +87 -87
  217. package/esm2015/controls/confirm/confirm.service.ngfactory.js +7 -7
  218. package/esm2015/controls/contextmenu/contextmenu.interface.js +1 -1
  219. package/esm2015/controls/contextmenu/contextmenu.interface.ngfactory.js +7 -7
  220. package/esm2015/controls/contextmenu/contextmenu.js +193 -193
  221. package/esm2015/controls/contextmenu/contextmenu.ngfactory.js +7 -7
  222. package/esm2015/controls/contextmenu/contextmenuanchor.js +22 -22
  223. package/esm2015/controls/contextmenu/contextmenuanchor.ngfactory.js +7 -7
  224. package/esm2015/controls/contextmenu/contextmenucontainer.js +22 -22
  225. package/esm2015/controls/contextmenu/contextmenucontainer.ngfactory.js +7 -7
  226. package/esm2015/controls/contextmenu/contextmenuitem.js +21 -21
  227. package/esm2015/controls/contextmenu/contextmenuitem.ngfactory.js +7 -7
  228. package/esm2015/controls/contextmenu/contextmenuitembutton.js +106 -106
  229. package/esm2015/controls/contextmenu/contextmenuitembutton.ngfactory.js +7 -7
  230. package/esm2015/controls/datetime/date.js +213 -213
  231. package/esm2015/controls/datetime/date.ngfactory.js +7 -7
  232. package/esm2015/controls/datetime/dateselector.js +458 -458
  233. package/esm2015/controls/datetime/dateselector.ngfactory.js +7 -7
  234. package/esm2015/controls/datetime/datetime.js +229 -229
  235. package/esm2015/controls/datetime/datetime.ngfactory.js +7 -7
  236. package/esm2015/controls/datetime/time.js +212 -212
  237. package/esm2015/controls/datetime/time.ngfactory.js +7 -7
  238. package/esm2015/controls/dialog/dialog.js +165 -165
  239. package/esm2015/controls/dialog/dialog.ngfactory.js +7 -7
  240. package/esm2015/controls/form/form.js +110 -110
  241. package/esm2015/controls/form/form.ngfactory.js +7 -7
  242. package/esm2015/controls/grid/grid.js +144 -144
  243. package/esm2015/controls/grid/grid.ngfactory.js +7 -7
  244. package/esm2015/controls/grid/gridbutton.js +60 -60
  245. package/esm2015/controls/grid/gridbutton.ngfactory.js +7 -7
  246. package/esm2015/controls/grid/gridcolumn.js +56 -56
  247. package/esm2015/controls/grid/gridcolumn.ngfactory.js +7 -7
  248. package/esm2015/controls/grid/gridcolumnaction.js +27 -27
  249. package/esm2015/controls/grid/gridcolumnaction.ngfactory.js +7 -7
  250. package/esm2015/controls/grid/gridcolumnbase.js +138 -138
  251. package/esm2015/controls/grid/gridcolumnbase.ngfactory.js +7 -7
  252. package/esm2015/controls/grid/gridimage.js +13 -13
  253. package/esm2015/controls/grid/gridimage.ngfactory.js +7 -7
  254. package/esm2015/controls/grid/model.js +100 -100
  255. package/esm2015/controls/grid/model.ngfactory.js +7 -7
  256. package/esm2015/controls/grid/paging.js +252 -252
  257. package/esm2015/controls/grid/paging.ngfactory.js +7 -7
  258. package/esm2015/controls/input/input.js +64 -64
  259. package/esm2015/controls/input/input.ngfactory.js +7 -7
  260. package/esm2015/controls/input/inputarea.js +61 -61
  261. package/esm2015/controls/input/inputarea.ngfactory.js +7 -7
  262. package/esm2015/controls/input/inputcurrency.js +31 -31
  263. package/esm2015/controls/input/inputcurrency.ngfactory.js +7 -7
  264. package/esm2015/controls/input/inputdecimal.js +146 -146
  265. package/esm2015/controls/input/inputdecimal.ngfactory.js +7 -7
  266. package/esm2015/controls/input/inputemail.js +41 -41
  267. package/esm2015/controls/input/inputemail.ngfactory.js +7 -7
  268. package/esm2015/controls/input/inputinteger.js +130 -130
  269. package/esm2015/controls/input/inputinteger.ngfactory.js +7 -7
  270. package/esm2015/controls/input/inputpassword.js +46 -46
  271. package/esm2015/controls/input/inputpassword.ngfactory.js +7 -7
  272. package/esm2015/controls/input/inputsearch.js +66 -66
  273. package/esm2015/controls/input/inputsearch.ngfactory.js +7 -7
  274. package/esm2015/controls/layout/formlayout.js +82 -82
  275. package/esm2015/controls/layout/formlayout.ngfactory.js +7 -7
  276. package/esm2015/controls/list/buildvaluestring.js +18 -18
  277. package/esm2015/controls/list/buildvaluestring.ngfactory.js +7 -7
  278. package/esm2015/controls/list/dropdown.js +172 -172
  279. package/esm2015/controls/list/dropdown.ngfactory.js +7 -7
  280. package/esm2015/controls/list/dropdownoptions.js +72 -72
  281. package/esm2015/controls/list/dropdownoptions.ngfactory.js +7 -7
  282. package/esm2015/controls/list/list.module.js +11 -11
  283. package/esm2015/controls/list/list.module.ngfactory.js +7 -7
  284. package/esm2015/controls/list/listbox.js +187 -187
  285. package/esm2015/controls/list/listbox.ngfactory.js +7 -7
  286. package/esm2015/controls/multilanguage/multilanguageinput.js +224 -224
  287. package/esm2015/controls/multilanguage/multilanguageinput.ngfactory.js +7 -7
  288. package/esm2015/controls/multilanguage/multilanguageinputarea.js +225 -225
  289. package/esm2015/controls/multilanguage/multilanguageinputarea.ngfactory.js +7 -7
  290. package/esm2015/controls/static/formcontainer.js +61 -61
  291. package/esm2015/controls/static/formcontainer.ngfactory.js +7 -7
  292. package/esm2015/controls/static/staticlabel.js +31 -31
  293. package/esm2015/controls/static/staticlabel.ngfactory.js +7 -7
  294. package/esm2015/controls/tabs/tab.js +72 -72
  295. package/esm2015/controls/tabs/tab.ngfactory.js +7 -7
  296. package/esm2015/controls/tabs/tabitem.js +32 -32
  297. package/esm2015/controls/tabs/tabitem.ngfactory.js +7 -7
  298. package/esm2015/controls/tinymce/tinymce.js +238 -238
  299. package/esm2015/controls/tinymce/tinymce.ngfactory.js +7 -7
  300. package/esm2015/controls/tinymce/tinymcedialogsettings.js +13 -13
  301. package/esm2015/controls/tinymce/tinymcedialogsettings.ngfactory.js +7 -7
  302. package/esm2015/controls/tinymce/tinymcedialogsettingsmeta.js +4 -4
  303. package/esm2015/controls/tinymce/tinymcedialogsettingsmeta.ngfactory.js +7 -7
  304. package/esm2015/controls/tinymce/tinymceinstance.js +1 -1
  305. package/esm2015/controls/tinymce/tinymceinstance.ngfactory.js +7 -7
  306. package/esm2015/controls/tooltip/tooltip.js +242 -242
  307. package/esm2015/controls/tooltip/tooltip.ngfactory.js +7 -7
  308. package/esm2015/controls/treeview/treeview.js +367 -367
  309. package/esm2015/controls/treeview/treeview.ngfactory.js +7 -7
  310. package/esm2015/controls/upload/dropzonemultiple.js +161 -163
  311. package/esm2015/controls/upload/dropzonemultiple.ngfactory.js +7 -7
  312. package/esm2015/controls/upload/dropzonesingle.js +108 -108
  313. package/esm2015/controls/upload/dropzonesingle.ngfactory.js +7 -7
  314. package/esm2015/controls/upload/uploadmultiple.js +121 -121
  315. package/esm2015/controls/upload/uploadmultiple.ngfactory.js +7 -7
  316. package/esm2015/controls/upload/uploadsingle.js +59 -55
  317. package/esm2015/controls/upload/uploadsingle.ngfactory.js +7 -7
  318. package/esm2015/controls/validation/validationsummary.js +133 -133
  319. package/esm2015/controls/validation/validationsummary.ngfactory.js +7 -7
  320. package/esm2015/controls/wizard/wizard.js +139 -139
  321. package/esm2015/controls/wizard/wizard.ngfactory.js +7 -7
  322. package/esm2015/controls/wizard/wizarditem.js +27 -27
  323. package/esm2015/controls/wizard/wizarditem.ngfactory.js +7 -7
  324. package/esm2015/enums/ButtonRoleType.js +1 -1
  325. package/esm2015/enums/ButtonRoleType.ngfactory.js +7 -7
  326. package/esm2015/enums/ControlHeight.js +19 -19
  327. package/esm2015/enums/ControlHeight.ngfactory.js +7 -7
  328. package/esm2015/enums/IconType.js +9 -9
  329. package/esm2015/enums/IconType.ngfactory.js +7 -7
  330. package/esm2015/interfaces/ISacConfigurationService.js +1 -1
  331. package/esm2015/interfaces/ISacConfigurationService.ngfactory.js +7 -7
  332. package/esm2015/interfaces/ISacFileBrowserService.js +1 -1
  333. package/esm2015/interfaces/ISacFileBrowserService.ngfactory.js +7 -7
  334. package/esm2015/interfaces/ISacIconService.js +1 -1
  335. package/esm2015/interfaces/ISacIconService.ngfactory.js +7 -7
  336. package/esm2015/interfaces/ISacLabelSizes.js +1 -1
  337. package/esm2015/interfaces/ISacLabelSizes.ngfactory.js +7 -7
  338. package/esm2015/interfaces/ISacLanguageService.js +1 -1
  339. package/esm2015/interfaces/ISacLanguageService.ngfactory.js +7 -7
  340. package/esm2015/interfaces/ISacLocalisationService.js +1 -1
  341. package/esm2015/interfaces/ISacLocalisationService.ngfactory.js +7 -7
  342. package/esm2015/interfaces/ISacUploadEventCompleteState.js +1 -1
  343. package/esm2015/interfaces/ISacUploadEventCompleteState.ngfactory.js +7 -7
  344. package/esm2015/interfaces/ISacValidationKeyService.js +1 -1
  345. package/esm2015/interfaces/ISacValidationKeyService.ngfactory.js +7 -7
  346. package/esm2015/interfaces/iabstractcontrollabel.js +1 -1
  347. package/esm2015/interfaces/iabstractcontrollabel.ngfactory.js +7 -7
  348. package/esm2015/interfaces/iconfirmcomponent.js +1 -1
  349. package/esm2015/interfaces/iconfirmcomponent.ngfactory.js +7 -7
  350. package/esm2015/interfaces/idatetimecontrol.js +1 -1
  351. package/esm2015/interfaces/idatetimecontrol.ngfactory.js +7 -7
  352. package/esm2015/interfaces/iuploadcontrol.js +1 -1
  353. package/esm2015/interfaces/iuploadcontrol.ngfactory.js +7 -7
  354. package/esm2015/interfaces/treeviewaction.interface.js +1 -1
  355. package/esm2015/interfaces/treeviewaction.interface.ngfactory.js +7 -7
  356. package/esm2015/models/languagemodel.js +13 -13
  357. package/esm2015/models/languagemodel.ngfactory.js +7 -7
  358. package/esm2015/public_api.js +108 -108
  359. package/esm2015/public_api.ngfactory.js +7 -7
  360. package/esm2015/services/index.js +7 -7
  361. package/esm2015/services/index.ngfactory.js +7 -7
  362. package/esm2015/services/sac-configuration.service.js +103 -103
  363. package/esm2015/services/sac-configuration.service.ngfactory.js +7 -7
  364. package/esm2015/services/sac-filebrowser.service.js +203 -203
  365. package/esm2015/services/sac-filebrowser.service.ngfactory.js +7 -7
  366. package/esm2015/services/sac-icon.service.js +191 -191
  367. package/esm2015/services/sac-icon.service.ngfactory.js +7 -7
  368. package/esm2015/services/sac-language.service.js +43 -43
  369. package/esm2015/services/sac-language.service.ngfactory.js +7 -7
  370. package/esm2015/services/sac-localisation.service.js +349 -349
  371. package/esm2015/services/sac-localisation.service.ngfactory.js +7 -7
  372. package/esm2015/services/sac-validationkey.service.js +159 -159
  373. package/esm2015/services/sac-validationkey.service.ngfactory.js +7 -7
  374. package/esm2015/simpleangularcontrols-sac-common.js +5 -5
  375. package/esm2015/simpleangularcontrols-sac-common.ngfactory.js +7 -7
  376. package/esm2015/utilities/convertion.js +32 -32
  377. package/esm2015/utilities/convertion.ngfactory.js +7 -7
  378. package/esm2015/utilities/datatypes.js +9 -9
  379. package/esm2015/utilities/datatypes.ngfactory.js +7 -7
  380. package/esm2015/utilities/enums.js +20 -20
  381. package/esm2015/utilities/enums.ngfactory.js +7 -7
  382. package/esm2015/utilities/guid.js +18 -18
  383. package/esm2015/utilities/guid.ngfactory.js +7 -7
  384. package/esm2015/utilities/interpolation.js +50 -50
  385. package/esm2015/utilities/interpolation.ngfactory.js +7 -7
  386. package/esm2015/utilities/popuphelper.js +343 -343
  387. package/esm2015/utilities/popuphelper.ngfactory.js +7 -7
  388. package/esm2015/utilities/positioning.js +301 -301
  389. package/esm2015/utilities/positioning.ngfactory.js +7 -7
  390. package/esm2015/validation/email.validator.js +13 -13
  391. package/esm2015/validation/email.validator.ngfactory.js +7 -7
  392. package/esm2015/validation/equals.validator.js +14 -14
  393. package/esm2015/validation/equals.validator.ngfactory.js +7 -7
  394. package/esm2015/validation/index.js +3 -3
  395. package/esm2015/validation/index.ngfactory.js +7 -7
  396. package/esm2015/validation/invaliddate.validator.js +14 -14
  397. package/esm2015/validation/invaliddate.validator.ngfactory.js +7 -7
  398. package/esm2015/validation/isDateValid.js +23 -23
  399. package/esm2015/validation/isDateValid.ngfactory.js +7 -7
  400. package/esm2015/validation/maxdate.validator.js +21 -21
  401. package/esm2015/validation/maxdate.validator.ngfactory.js +7 -7
  402. package/esm2015/validation/maxtime.validator.js +21 -21
  403. package/esm2015/validation/maxtime.validator.ngfactory.js +7 -7
  404. package/esm2015/validation/maxvalue.validator.js +16 -16
  405. package/esm2015/validation/maxvalue.validator.ngfactory.js +7 -7
  406. package/esm2015/validation/mindate.validator.js +21 -21
  407. package/esm2015/validation/mindate.validator.ngfactory.js +7 -7
  408. package/esm2015/validation/minfiles.validator.js +19 -19
  409. package/esm2015/validation/minfiles.validator.ngfactory.js +7 -7
  410. package/esm2015/validation/mintextlength.validator.js +23 -23
  411. package/esm2015/validation/mintextlength.validator.ngfactory.js +7 -7
  412. package/esm2015/validation/mintime.validator.js +21 -21
  413. package/esm2015/validation/mintime.validator.ngfactory.js +7 -7
  414. package/esm2015/validation/minvalue.validator.js +16 -16
  415. package/esm2015/validation/minvalue.validator.ngfactory.js +7 -7
  416. package/esm2015/validation/multilanguagerequired.validator.js +22 -22
  417. package/esm2015/validation/multilanguagerequired.validator.ngfactory.js +7 -7
  418. package/esm2015/validation/multilanguagerequiredany.validator.js +22 -22
  419. package/esm2015/validation/multilanguagerequiredany.validator.ngfactory.js +7 -7
  420. package/esm2015/validation/notequals.validator.js +14 -14
  421. package/esm2015/validation/notequals.validator.ngfactory.js +7 -7
  422. package/esm2015/validation/pattern.validator.js +16 -16
  423. package/esm2015/validation/pattern.validator.ngfactory.js +7 -7
  424. package/esm2015/validation/required.validator.js +13 -13
  425. package/esm2015/validation/required.validator.ngfactory.js +7 -7
  426. package/esm2015/validation/validation.class.js +218 -218
  427. package/esm2015/validation/validation.class.ngfactory.js +7 -7
  428. package/esm2015/validation/validationerrorcreator.js +11 -11
  429. package/esm2015/validation/validationerrorcreator.ngfactory.js +7 -7
  430. package/esm2015/validation/validationerroritem.js +27 -27
  431. package/esm2015/validation/validationerroritem.ngfactory.js +7 -7
  432. package/fesm2015/simpleangularcontrols-sac-common.js +10664 -10662
  433. package/fesm2015/simpleangularcontrols-sac-common.js.map +1 -1
  434. package/interfaces/ISacConfigurationService.d.ts +58 -58
  435. package/interfaces/ISacConfigurationService.ngfactory.d.ts +1 -1
  436. package/interfaces/ISacFileBrowserService.d.ts +65 -65
  437. package/interfaces/ISacFileBrowserService.ngfactory.d.ts +1 -1
  438. package/interfaces/ISacIconService.d.ts +113 -113
  439. package/interfaces/ISacIconService.ngfactory.d.ts +1 -1
  440. package/interfaces/ISacLabelSizes.d.ts +26 -26
  441. package/interfaces/ISacLabelSizes.ngfactory.d.ts +1 -1
  442. package/interfaces/ISacLanguageService.d.ts +12 -12
  443. package/interfaces/ISacLanguageService.ngfactory.d.ts +1 -1
  444. package/interfaces/ISacLocalisationService.d.ts +10 -10
  445. package/interfaces/ISacLocalisationService.ngfactory.d.ts +1 -1
  446. package/interfaces/ISacUploadEventCompleteState.d.ts +5 -5
  447. package/interfaces/ISacUploadEventCompleteState.ngfactory.d.ts +1 -1
  448. package/interfaces/ISacValidationKeyService.d.ts +52 -52
  449. package/interfaces/ISacValidationKeyService.ngfactory.d.ts +1 -1
  450. package/interfaces/iabstractcontrollabel.d.ts +6 -6
  451. package/interfaces/iabstractcontrollabel.ngfactory.d.ts +1 -1
  452. package/interfaces/iconfirmcomponent.d.ts +18 -18
  453. package/interfaces/iconfirmcomponent.ngfactory.d.ts +1 -1
  454. package/interfaces/idatetimecontrol.d.ts +7 -7
  455. package/interfaces/idatetimecontrol.ngfactory.d.ts +1 -1
  456. package/interfaces/iuploadcontrol.d.ts +9 -9
  457. package/interfaces/iuploadcontrol.ngfactory.d.ts +1 -1
  458. package/interfaces/treeviewaction.interface.d.ts +4 -4
  459. package/interfaces/treeviewaction.interface.ngfactory.d.ts +1 -1
  460. package/models/languagemodel.d.ts +22 -22
  461. package/models/languagemodel.ngfactory.d.ts +1 -1
  462. package/package.json +1 -1
  463. package/public_api.d.ts +86 -86
  464. package/public_api.ngfactory.d.ts +1 -1
  465. package/services/index.d.ts +6 -6
  466. package/services/index.ngfactory.d.ts +1 -1
  467. package/services/sac-configuration.service.d.ts +121 -121
  468. package/services/sac-configuration.service.ngfactory.d.ts +1 -1
  469. package/services/sac-filebrowser.service.d.ts +140 -140
  470. package/services/sac-filebrowser.service.ngfactory.d.ts +1 -1
  471. package/services/sac-icon.service.d.ts +232 -232
  472. package/services/sac-icon.service.ngfactory.d.ts +1 -1
  473. package/services/sac-language.service.d.ts +26 -26
  474. package/services/sac-language.service.ngfactory.d.ts +1 -1
  475. package/services/sac-localisation.service.d.ts +137 -137
  476. package/services/sac-localisation.service.ngfactory.d.ts +1 -1
  477. package/services/sac-validationkey.service.d.ts +55 -55
  478. package/services/sac-validationkey.service.ngfactory.d.ts +1 -1
  479. package/simpleangularcontrols-sac-common-10.0.0-rc.22.tgz +0 -0
  480. package/simpleangularcontrols-sac-common.d.ts +4 -4
  481. package/simpleangularcontrols-sac-common.metadata.json +1 -1
  482. package/simpleangularcontrols-sac-common.ngfactory.d.ts +1 -1
  483. package/utilities/convertion.d.ts +15 -15
  484. package/utilities/convertion.ngfactory.d.ts +1 -1
  485. package/utilities/datatypes.d.ts +6 -6
  486. package/utilities/datatypes.ngfactory.d.ts +1 -1
  487. package/utilities/enums.d.ts +12 -12
  488. package/utilities/enums.ngfactory.d.ts +1 -1
  489. package/utilities/guid.d.ts +4 -4
  490. package/utilities/guid.ngfactory.d.ts +1 -1
  491. package/utilities/interpolation.d.ts +21 -21
  492. package/utilities/interpolation.ngfactory.d.ts +1 -1
  493. package/utilities/popuphelper.d.ts +83 -83
  494. package/utilities/popuphelper.ngfactory.d.ts +1 -1
  495. package/utilities/positioning.d.ts +82 -82
  496. package/utilities/positioning.ngfactory.d.ts +1 -1
  497. package/validation/email.validator.d.ts +2 -2
  498. package/validation/email.validator.ngfactory.d.ts +1 -1
  499. package/validation/equals.validator.d.ts +2 -2
  500. package/validation/equals.validator.ngfactory.d.ts +1 -1
  501. package/validation/index.d.ts +2 -2
  502. package/validation/index.ngfactory.d.ts +1 -1
  503. package/validation/invaliddate.validator.d.ts +2 -2
  504. package/validation/invaliddate.validator.ngfactory.d.ts +1 -1
  505. package/validation/isDateValid.d.ts +5 -5
  506. package/validation/isDateValid.ngfactory.d.ts +1 -1
  507. package/validation/maxdate.validator.d.ts +2 -2
  508. package/validation/maxdate.validator.ngfactory.d.ts +1 -1
  509. package/validation/maxtime.validator.d.ts +2 -2
  510. package/validation/maxtime.validator.ngfactory.d.ts +1 -1
  511. package/validation/maxvalue.validator.d.ts +2 -2
  512. package/validation/maxvalue.validator.ngfactory.d.ts +1 -1
  513. package/validation/mindate.validator.d.ts +2 -2
  514. package/validation/mindate.validator.ngfactory.d.ts +1 -1
  515. package/validation/minfiles.validator.d.ts +2 -2
  516. package/validation/minfiles.validator.ngfactory.d.ts +1 -1
  517. package/validation/mintextlength.validator.d.ts +2 -2
  518. package/validation/mintextlength.validator.ngfactory.d.ts +1 -1
  519. package/validation/mintime.validator.d.ts +2 -2
  520. package/validation/mintime.validator.ngfactory.d.ts +1 -1
  521. package/validation/minvalue.validator.d.ts +2 -2
  522. package/validation/minvalue.validator.ngfactory.d.ts +1 -1
  523. package/validation/multilanguagerequired.validator.d.ts +3 -3
  524. package/validation/multilanguagerequired.validator.ngfactory.d.ts +1 -1
  525. package/validation/multilanguagerequiredany.validator.d.ts +3 -3
  526. package/validation/multilanguagerequiredany.validator.ngfactory.d.ts +1 -1
  527. package/validation/notequals.validator.d.ts +2 -2
  528. package/validation/notequals.validator.ngfactory.d.ts +1 -1
  529. package/validation/pattern.validator.d.ts +2 -2
  530. package/validation/pattern.validator.ngfactory.d.ts +1 -1
  531. package/validation/required.validator.d.ts +2 -2
  532. package/validation/required.validator.ngfactory.d.ts +1 -1
  533. package/validation/validation.class.d.ts +158 -158
  534. package/validation/validation.class.ngfactory.d.ts +1 -1
  535. package/validation/validationerrorcreator.d.ts +1 -1
  536. package/validation/validationerrorcreator.ngfactory.d.ts +1 -1
  537. package/validation/validationerroritem.d.ts +33 -33
  538. package/validation/validationerroritem.ngfactory.d.ts +1 -1
  539. package/simpleangularcontrols-sac-common-10.0.0-rc.21.tgz +0 -0
@@ -1,225 +1,225 @@
1
- import { SacInputBase } from '../../common/baseinputcontrol';
2
- import { IconType } from '../../enums/IconType';
3
- import { SACLANGUAGE_SERVICE, SacDefaultLanguageService } from '../../services/sac-language.service';
4
- import { Validation } from '../../validation';
5
- import { SacFormLayoutCommon } from '../layout/formlayout';
6
- import { Directive, Host, Injector, Input } from '@angular/core';
7
- /**
8
- * Base Klasse für Multi Language Textarea Control
9
- */
10
- export class SacMultilanguageInputAreaCommon extends SacInputBase {
11
- // #endregion Properties
12
- // #region Constructors
13
- /**
14
- * Constructor
15
- * @param formlayout SacFormLayoutCommon to define scoped layout settings
16
- * @param injector Injector for injecting services
17
- */
18
- constructor(formlayout, injector) {
19
- super(formlayout, injector);
20
- // #region Properties
21
- /**
22
- * Sprache für das Control
23
- */
24
- this.languages = [];
25
- /**
26
- * Selektierte Sprace des Controls
27
- */
28
- this.selectedLanguage = null;
29
- /**
30
- * Fix breite für das Control definieren.
31
- */
32
- this.controlwidth = null;
33
- /**
34
- * Max length of characters for input field
35
- */
36
- this.maxtextlength = null;
37
- /**
38
- * Aktiviert den Validator, das min. eine Sprache erfasst sein muss
39
- */
40
- this.requiredany = false;
41
- /**
42
- * Anzahl Rows für TextArea
43
- */
44
- this.rows = 7;
45
- /**
46
- * Resource Key für Validation Message Required bei Control
47
- */
48
- this.validationmessagerequired = this.validationKeyService.ValidationErrorSummaryRequired;
49
- /**
50
- * Resource Key für Validation Message Pattern bei Control
51
- */
52
- this.validationmessagerequiredany = this.validationKeyService.ValidationErrorMultilanguageRequiredAny;
53
- /**
54
- * Resource Key für Validation Message Required in Validation Summary
55
- */
56
- this.validationmessagesummaryrequired = this.validationKeyService.ValidationErrorSummaryMultilanguageRequired;
57
- /**
58
- * Resource Key für Validation Message Pattern in Validation Summary
59
- */
60
- this.validationmessagesummaryrequiredany = this.validationKeyService.ValidationErrorSummaryMultilanguageRequiredAny;
61
- this.lngLanguageService = injector.get(SACLANGUAGE_SERVICE, new SacDefaultLanguageService());
62
- this.lngLanguageService.GetLanguages().subscribe((result) => {
63
- this.languages = result;
64
- if (this.languages.length > 0) {
65
- this.selectedLanguage = this.languages[0];
66
- }
67
- // Control Validierung ausführen, da Wert potentiell bereits gesetzt sein kann
68
- this.UpdateValueAndValidity();
69
- });
70
- }
71
- // #endregion Constructors
72
- // #region Public Getters And Setters
73
- /**
74
- * Getter welcher den Wert der Component in der gewählten Sprache zurückgibt. Wenn keine Sprache selektiert ist, wird ein leerer Wert zurückgegeben.
75
- * Ist in der Component kein Wert gespeichert wird ein leerer Wert zurückgegeben
76
- */
77
- get LanguageValue() {
78
- if (this.value) {
79
- const currentIsoCode = this.selectedLanguage ? this.selectedLanguage.IsoCode : null;
80
- // Fallback falls keine Selektierte Sprache
81
- if (currentIsoCode === null) {
82
- return '';
83
- }
84
- return this.value[currentIsoCode];
85
- }
86
- else {
87
- return '';
88
- }
89
- }
90
- /**
91
- * Collection der Sprachen
92
- */
93
- get Languages() {
94
- return this.languages;
95
- }
96
- /**
97
- * Gibt das Icon der selektierten Sprache zurück
98
- */
99
- get SelectedIcon() {
100
- if (this.selectedLanguage) {
101
- return this.selectedLanguage.Icon;
102
- }
103
- else {
104
- return '';
105
- }
106
- }
107
- /**
108
- * Gibt den Type des Icons für die selektierte Sprache zurück
109
- */
110
- get SelectedIconType() {
111
- if (this.selectedLanguage) {
112
- return this.selectedLanguage.IconType;
113
- }
114
- else {
115
- return IconType.Image;
116
- }
117
- }
118
- // #endregion Public Getters And Setters
119
- // #region Public Methods
120
- /**
121
- * Prüft, ob in einer beliebigen Sprache der Kompontente kein Wert definiert ist.
122
- * @returns Gibt an ob ein Leeres Element vorhanden ist
123
- */
124
- IsAnyEmpty() {
125
- let found = false;
126
- if (this.value) {
127
- this.languages.forEach((itm) => {
128
- if (itm === null) {
129
- found = true;
130
- return;
131
- }
132
- if (this.value[itm.IsoCode] === undefined ||
133
- this.value[itm.IsoCode] === '' ||
134
- this.value[itm.IsoCode] === null) {
135
- found = true;
136
- return;
137
- }
138
- });
139
- }
140
- return found;
141
- }
142
- /**
143
- * Gibt an, ob in einer bestimmten Sprache ein Wert definiert ist
144
- * @param sprache Sprache in welcher der Wert geprüft werden soll
145
- * @returns Wert ist vorhanden
146
- */
147
- IsEmpty(sprache) {
148
- if (this.value) {
149
- // Fallback falls keine Selektierte Sprache
150
- if (sprache === null) {
151
- return true;
152
- }
153
- return (this.value[sprache.IsoCode] === undefined ||
154
- this.value[sprache.IsoCode] === '' ||
155
- this.value[sprache.IsoCode] === null);
156
- }
157
- else {
158
- return true;
159
- }
160
- }
161
- /**
162
- * Selektiert die Sprache der Komponente
163
- * @param language Sprache die selektiert werden soll
164
- */
165
- SelectLanguage(language) {
166
- this.selectedLanguage = language;
167
- }
168
- /**
169
- * Speichert einen Wert zur aktuell gewählten Sprache
170
- * @param value Wert welcher gespeichert werden soll
171
- */
172
- SetLanguageValue(value) {
173
- if (this.value) {
174
- const currentIsoCode = this.selectedLanguage ? this.selectedLanguage.IsoCode : null;
175
- // Fallback falls keine Selektierte Sprache
176
- if (currentIsoCode === null) {
177
- return;
178
- }
179
- this.value[currentIsoCode] = value;
180
- this.propagateChange(this._value);
181
- }
182
- }
183
- /**
184
- * Methode validiert, ob der Wert den gegebenen Kriterien entspricht
185
- * @param c Controls das validiert wird
186
- */
187
- validateData(c) {
188
- let error = null;
189
- if (error === null &&
190
- c.value !== null &&
191
- c.value !== undefined &&
192
- c.value !== '' &&
193
- this.isrequired !== undefined &&
194
- this.isrequired === true) {
195
- error = Validation.multilanguageRequired(this.languages, this.validationmessagerequired, this.validationmessagesummaryrequired)(c);
196
- }
197
- if (error === null &&
198
- c.value !== null &&
199
- c.value !== undefined &&
200
- c.value !== '' &&
201
- this.requiredany !== undefined &&
202
- this.requiredany === true) {
203
- error = Validation.multilanguageRequiredAny(this.languages, this.validationmessagerequiredany, this.validationmessagesummaryrequiredany)(c);
204
- }
205
- return error;
206
- }
207
- }
208
- SacMultilanguageInputAreaCommon.decorators = [
209
- { type: Directive }
210
- ];
211
- SacMultilanguageInputAreaCommon.ctorParameters = () => [
212
- { type: SacFormLayoutCommon, decorators: [{ type: Host }] },
213
- { type: Injector }
214
- ];
215
- SacMultilanguageInputAreaCommon.propDecorators = {
216
- controlwidth: [{ type: Input }],
217
- maxtextlength: [{ type: Input }],
218
- requiredany: [{ type: Input }],
219
- rows: [{ type: Input }],
220
- validationmessagerequired: [{ type: Input }],
221
- validationmessagerequiredany: [{ type: Input }],
222
- validationmessagesummaryrequired: [{ type: Input }],
223
- validationmessagesummaryrequiredany: [{ type: Input }]
224
- };
225
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlsYW5ndWFnZWlucHV0YXJlYS5qcyIsInNvdXJjZVJvb3QiOiJDOi9Qcm9qZWt0ZS9zaW1wbGVhbmd1bGFyY29udHJvbHMtbmcxMC9jaC5qbmV0d29yay5zYWMtY29udHJvbHMvcHJvamVjdHMvc2FjLWNvbW1vbi9zcmMvIiwic291cmNlcyI6WyJjb250cm9scy9tdWx0aWxhbmd1YWdlL211bHRpbGFuZ3VhZ2VpbnB1dGFyZWEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzdELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUdoRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNyRyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDOUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdqRTs7R0FFRztBQUVILE1BQU0sT0FBTywrQkFBZ0MsU0FBUSxZQUFpQjtJQTZEbEUsd0JBQXdCO0lBRXhCLHVCQUF1QjtJQUV2Qjs7OztPQUlHO0lBQ0gsWUFBb0IsVUFBK0IsRUFBRSxRQUFrQjtRQUNuRSxLQUFLLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBdEVoQyxxQkFBcUI7UUFFckI7O1dBRUc7UUFDSyxjQUFTLEdBQW9CLEVBQUUsQ0FBQztRQUV4Qzs7V0FFRztRQUNLLHFCQUFnQixHQUFrQixJQUFJLENBQUM7UUFPL0M7O1dBRUc7UUFDYSxpQkFBWSxHQUFXLElBQUksQ0FBQztRQUU1Qzs7V0FFRztRQUNhLGtCQUFhLEdBQVcsSUFBSSxDQUFDO1FBRTdDOztXQUVHO1FBQ2EsZ0JBQVcsR0FBWSxLQUFLLENBQUM7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b3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTYWNJbnB1dEJhc2UgfSBmcm9tICcuLi8uLi9jb21tb24vYmFzZWlucHV0Y29udHJvbCc7XHJcbmltcG9ydCB7IEljb25UeXBlIH0gZnJvbSAnLi4vLi4vZW51bXMvSWNvblR5cGUnO1xyXG5pbXBvcnQgeyBJU2FjTGFuZ3VhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9JU2FjTGFuZ3VhZ2VTZXJ2aWNlJztcclxuaW1wb3J0IHsgTGFuZ3VhZ2VNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9sYW5ndWFnZW1vZGVsJztcclxuaW1wb3J0IHsgU0FDTEFOR1VBR0VfU0VSVklDRSwgU2FjRGVmYXVsdExhbmd1YWdlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3NhYy1sYW5ndWFnZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVmFsaWRhdGlvbiB9IGZyb20gJy4uLy4uL3ZhbGlkYXRpb24nO1xyXG5pbXBvcnQgeyBTYWNGb3JtTGF5b3V0Q29tbW9uIH0gZnJvbSAnLi4vbGF5b3V0L2Zvcm1sYXlvdXQnO1xyXG5pbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3QsIEluamVjdG9yLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRpb25FcnJvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG4vKipcclxuICogQmFzZSBLbGFzc2UgZsO8ciBNdWx0aSBMYW5ndWFnZSBUZXh0YXJlYSBDb250cm9sXHJcbiAqL1xyXG5ARGlyZWN0aXZlKClcclxuZXhwb3J0IGNsYXNzIFNhY011bHRpbGFuZ3VhZ2VJbnB1dEFyZWFDb21tb24gZXh0ZW5kcyBTYWNJbnB1dEJhc2U8YW55PiB7XHJcbiAgICAvLyAjcmVnaW9uIFByb3BlcnRpZXNcclxuXHJcbiAgICAvKipcclxuICAgICAqIFNwcmFjaGUgZsO8ciBkYXMgQ29udHJvbFxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIGxhbmd1YWdlczogTGFuZ3VhZ2VNb2RlbFtdID0gW107XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTZWxla3RpZXJ0ZSBTcHJhY2UgZGVzIENvbnRyb2xzXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgc2VsZWN0ZWRMYW5ndWFnZTogTGFuZ3VhZ2VNb2RlbCA9IG51bGw7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTZXJ2aWNlIGbDvHIgRXJyb3IgTG9jYWxpc2F0aW9uXHJcbiAgICAgKi9cclxuICAgIHByb3RlY3RlZCBsbmdMYW5ndWFnZVNlcnZpY2U6IElTYWNMYW5ndWFnZVNlcnZpY2U7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBGaXggYnJlaXRlIGbDvHIgZGFzIENvbnRyb2wgZGVmaW5pZXJlbi5cclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgcHVibGljIGNvbnRyb2x3aWR0aDogc3RyaW5nID0gbnVsbDtcclxuXHJcbiAgICAvKipcclxuICAgICAqIE1heCBsZW5ndGggb2YgY2hhcmFjdGVycyBmb3IgaW5wdXQgZmllbGRcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgcHVibGljIG1heHRleHRsZW5ndGg6IG51bWJlciA9IG51bGw7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBBa3RpdmllcnQgZGVuIFZhbGlkYXRvciwgZGFzIG1pbi4gZWluZSBTcHJhY2hlIGVyZmFzc3Qgc2VpbiBtdXNzXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIHB1YmxpYyByZXF1aXJlZGFueTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQW56YWhsIFJvd3MgZsO8ciBUZXh0QXJlYVxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBwdWJsaWMgcm93czogbnVtYmVyID0gNztcclxuXHJcbiAgICAvKipcclxuICAgICAqIFJlc291cmNlIEtleSBmw7xyIFZhbGlkYXRpb24gTWVzc2FnZSBSZXF1aXJlZCBiZWkgQ29udHJvbFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBwdWJsaWMgdmFsaWRhdGlvbm1lc3NhZ2VyZXF1aXJlZDogc3RyaW5nID0gdGhpcy52YWxpZGF0aW9uS2V5U2VydmljZS5WYWxpZGF0aW9uRXJyb3JTdW1tYXJ5UmVxdWlyZWQ7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXNvdXJjZSBLZXkgZsO8ciBWYWxpZGF0aW9uIE1lc3NhZ2UgUGF0dGVybiBiZWkgQ29udHJvbFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBwdWJsaWMgdmFsaWRhdGlvbm1lc3NhZ2VyZXF1aXJlZGFueTogc3RyaW5nID1cclxuICAgICAgICB0aGlzLnZhbGlkYXRpb25LZXlTZXJ2aWNlLlZhbGlkYXRpb25FcnJvck11bHRpbGFuZ3VhZ2VSZXF1aXJlZEFueTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFJlc291cmNlIEtleSBmw7xyIFZhbGlkYXRpb24gTWVzc2FnZSBSZXF1aXJlZCBpbiBWYWxpZGF0aW9uIFN1bW1hcnlcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgcHVibGljIHZhbGlkYXRpb25tZXNzYWdlc3VtbWFyeXJlcXVpcmVkOiBzdHJpbmcgPVxyXG4gICAgICAgIHRoaXMudmFsaWRhdGlvbktleVNlcnZpY2UuVmFsaWRhdGlvbkVycm9yU3VtbWFyeU11bHRpbGFuZ3VhZ2VSZXF1aXJlZDtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFJlc291cmNlIEtleSBmw7xyIFZhbGlkYXRpb24gTWVzc2FnZSBQYXR0ZXJuIGluIFZhbGlkYXRpb24gU3VtbWFyeVxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBwdWJsaWMgdmFsaWRhdGlvbm1lc3NhZ2VzdW1tYXJ5cmVxdWlyZWRhbnk6IHN0cmluZyA9XHJcbiAgICAgICAgdGhpcy52YWxpZGF0aW9uS2V5U2VydmljZS5WYWxpZGF0aW9uRXJyb3JTdW1tYXJ5TXVsdGlsYW5ndWFnZVJlcXVpcmVkQW55O1xyXG5cclxuICAgIC8vICNlbmRyZWdpb24gUHJvcGVydGllc1xyXG5cclxuICAgIC8vICNyZWdpb24gQ29uc3RydWN0b3JzXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDb25zdHJ1Y3RvclxyXG4gICAgICogQHBhcmFtIGZvcm1sYXlvdXQgU2FjRm9ybUxheW91dENvbW1vbiB0byBkZWZpbmUgc2NvcGVkIGxheW91dCBzZXR0aW5nc1xyXG4gICAgICogQHBhcmFtIGluamVjdG9yIEluamVjdG9yIGZvciBpbmplY3Rpbmcgc2VydmljZXNcclxuICAgICAqL1xyXG4gICAgY29uc3RydWN0b3IoQEhvc3QoKSBmb3JtbGF5b3V0OiBTYWNGb3JtTGF5b3V0Q29tbW9uLCBpbmplY3RvcjogSW5qZWN0b3IpIHtcclxuICAgICAgICBzdXBlcihmb3JtbGF5b3V0LCBpbmplY3Rvcik7XHJcblxyXG4gICAgICAgIHRoaXMubG5nTGFuZ3VhZ2VTZXJ2aWNlID0gaW5qZWN0b3IuZ2V0KFNBQ0xBTkdVQUdFX1NFUlZJQ0UsIG5ldyBTYWNEZWZhdWx0TGFuZ3VhZ2VTZXJ2aWNlKCkpO1xyXG5cclxuICAgICAgICB0aGlzLmxuZ0xhbmd1YWdlU2VydmljZS5HZXRMYW5ndWFnZXMoKS5zdWJzY3JpYmUoKHJlc3VsdDogTGFuZ3VhZ2VNb2RlbFtdKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMubGFuZ3VhZ2VzID0gcmVzdWx0O1xyXG5cclxuICAgICAgICAgICAgaWYgKHRoaXMubGFuZ3VhZ2VzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRMYW5ndWFnZSA9IHRoaXMubGFuZ3VhZ2VzWzBdO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vIENvbnRyb2wgVmFsaWRpZXJ1bmcgYXVzZsO8aHJlbiwgZGEgV2VydCBwb3RlbnRpZWxsIGJlcmVpdHMgZ2VzZXR6dCBzZWluIGthbm5cclxuICAgICAgICAgICAgdGhpcy5VcGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gI2VuZHJlZ2lvbiBDb25zdHJ1Y3RvcnNcclxuXHJcbiAgICAvLyAjcmVnaW9uIFB1YmxpYyBHZXR0ZXJzIEFuZCBTZXR0ZXJzXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBHZXR0ZXIgd2VsY2hlciBkZW4gV2VydCBkZXIgQ29tcG9uZW50IGluIGRlciBnZXfDpGhsdGVuIFNwcmFjaGUgenVyw7xja2dpYnQuIFdlbm4ga2VpbmUgU3ByYWNoZSBzZWxla3RpZXJ0IGlzdCwgd2lyZCBlaW4gbGVlcmVyIFdlcnQgenVyw7xja2dlZ2ViZW4uXHJcbiAgICAgKiBJc3QgaW4gZGVyIENvbXBvbmVudCBrZWluIFdlcnQgZ2VzcGVpY2hlcnQgd2lyZCBlaW4gbGVlcmVyIFdlcnQgenVyw7xja2dlZ2ViZW5cclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldCBMYW5ndWFnZVZhbHVlKCk6IHN0cmluZyB7XHJcbiAgICAgICAgaWYgKHRoaXMudmFsdWUpIHtcclxuICAgICAgICAgICAgY29uc3QgY3VycmVudElzb0NvZGU6IHN0cmluZyA9IHRoaXMuc2VsZWN0ZWRMYW5ndWFnZSA/IHRoaXMuc2VsZWN0ZWRMYW5ndWFnZS5Jc29Db2RlIDogbnVsbDtcclxuXHJcbiAgICAgICAgICAgIC8vIEZhbGxiYWNrIGZhbGxzIGtlaW5lIFNlbGVrdGllcnRlIFNwcmFjaGVcclxuICAgICAgICAgICAgaWYgKGN1cnJlbnRJc29Db2RlID09PSBudWxsKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gJyc7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlW2N1cnJlbnRJc29Db2RlXTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gJyc7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ29sbGVjdGlvbiBkZXIgU3ByYWNoZW5cclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldCBMYW5ndWFnZXMoKTogTGFuZ3VhZ2VNb2RlbFtdIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5sYW5ndWFnZXM7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBHaWJ0IGRhcyBJY29uIGRlciBzZWxla3RpZXJ0ZW4gU3ByYWNoZSB6dXLDvGNrXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXQgU2VsZWN0ZWRJY29uKCk6IHN0cmluZyB7XHJcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRMYW5ndWFnZSkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3RlZExhbmd1YWdlLkljb247XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuICcnO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEdpYnQgZGVuIFR5cGUgZGVzIEljb25zIGbDvHIgZGllIHNlbGVrdGllcnRlIFNwcmFjaGUgenVyw7xja1xyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0IFNlbGVjdGVkSWNvblR5cGUoKTogSWNvblR5cGUge1xyXG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkTGFuZ3VhZ2UpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRMYW5ndWFnZS5JY29uVHlwZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gSWNvblR5cGUuSW1hZ2U7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vICNlbmRyZWdpb24gUHVibGljIEdldHRlcnMgQW5kIFNldHRlcnNcclxuXHJcbiAgICAvLyAjcmVnaW9uIFB1YmxpYyBNZXRob2RzXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBQcsO8ZnQsIG9iIGluIGVpbmVyIGJlbGllYmlnZW4gU3ByYWNoZSBkZXIgS29tcG9udGVudGUga2VpbiBXZXJ0IGRlZmluaWVydCBpc3QuXHJcbiAgICAgKiBAcmV0dXJucyBHaWJ0IGFuIG9iIGVpbiBMZWVyZXMgRWxlbWVudCB2b3JoYW5kZW4gaXN0XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBJc0FueUVtcHR5KCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGxldCBmb3VuZCA9IGZhbHNlO1xyXG5cclxuICAgICAgICBpZiAodGhpcy52YWx1ZSkge1xyXG4gICAgICAgICAgICB0aGlzLmxhbmd1YWdlcy5mb3JFYWNoKChpdG06IExhbmd1YWdlTW9kZWwpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChpdG0gPT09IG51bGwpIHtcclxuICAgICAgICAgICAgICAgICAgICBmb3VuZCA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIGlmIChcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnZhbHVlW2l0bS5Jc29Db2RlXSA9PT0gdW5kZWZpbmVkIHx8XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy52YWx1ZVtpdG0uSXNvQ29kZV0gPT09ICcnIHx8XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy52YWx1ZVtpdG0uSXNvQ29kZV0gPT09IG51bGxcclxuICAgICAgICAgICAgICAgICkge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvdW5kID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gZm91bmQ7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBHaWJ0IGFuLCBvYiBpbiBlaW5lciBiZXN0aW1tdGVuIFNwcmFjaGUgZWluIFdlcnQgZGVmaW5pZXJ0IGlzdFxyXG4gICAgICogQHBhcmFtIHNwcmFjaGUgU3ByYWNoZSBpbiB3ZWxjaGVyIGRlciBXZXJ0IGdlcHLDvGZ0IHdlcmRlbiBzb2xsXHJcbiAgICAgKiBAcmV0dXJucyBXZXJ0IGlzdCB2b3JoYW5kZW5cclxuICAgICAqL1xyXG4gICAgcHVibGljIElzRW1wdHkoc3ByYWNoZTogTGFuZ3VhZ2VNb2RlbCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGlmICh0aGlzLnZhbHVlKSB7XHJcbiAgICAgICAgICAgIC8vIEZhbGxiYWNrIGZhbGxzIGtlaW5lIFNlbGVrdGllcnRlIFNwcmFjaGVcclxuICAgICAgICAgICAgaWYgKHNwcmFjaGUgPT09IG51bGwpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZVtzcHJhY2hlLklzb0NvZGVdID09PSB1bmRlZmluZWQgfHxcclxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWVbc3ByYWNoZS5Jc29Db2RlXSA9PT0gJycgfHxcclxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWVbc3ByYWNoZS5Jc29Db2RlXSA9PT0gbnVsbFxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFNlbGVrdGllcnQgZGllIFNwcmFjaGUgZGVyIEtvbXBvbmVudGVcclxuICAgICAqIEBwYXJhbSBsYW5ndWFnZSBTcHJhY2hlIGRpZSBzZWxla3RpZXJ0IHdlcmRlbiBzb2xsXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBTZWxlY3RMYW5ndWFnZShsYW5ndWFnZTogTGFuZ3VhZ2VNb2RlbCkge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRMYW5ndWFnZSA9IGxhbmd1YWdlO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogU3BlaWNoZXJ0IGVpbmVuIFdlcnQgenVyIGFrdHVlbGwgZ2V3w6RobHRlbiBTcHJhY2hlXHJcbiAgICAgKiBAcGFyYW0gdmFsdWUgV2VydCB3ZWxjaGVyIGdlc3BlaWNoZXJ0IHdlcmRlbiBzb2xsXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBTZXRMYW5ndWFnZVZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgICAgICBpZiAodGhpcy52YWx1ZSkge1xyXG4gICAgICAgICAgICBjb25zdCBjdXJyZW50SXNvQ29kZTogc3RyaW5nID0gdGhpcy5zZWxlY3RlZExhbmd1YWdlID8gdGhpcy5zZWxlY3RlZExhbmd1YWdlLklzb0NvZGUgOiBudWxsO1xyXG5cclxuICAgICAgICAgICAgLy8gRmFsbGJhY2sgZmFsbHMga2VpbmUgU2VsZWt0aWVydGUgU3ByYWNoZVxyXG4gICAgICAgICAgICBpZiAoY3VycmVudElzb0NvZGUgPT09IG51bGwpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgdGhpcy52YWx1ZVtjdXJyZW50SXNvQ29kZV0gPSB2YWx1ZTtcclxuICAgICAgICAgICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodGhpcy5fdmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIE1ldGhvZGUgdmFsaWRpZXJ0LCBvYiBkZXIgV2VydCBkZW4gZ2VnZWJlbmVuIEtyaXRlcmllbiBlbnRzcHJpY2h0XHJcbiAgICAgKiBAcGFyYW0gYyBDb250cm9scyBkYXMgdmFsaWRpZXJ0IHdpcmRcclxuICAgICAqL1xyXG4gICAgcHVibGljIHZhbGlkYXRlRGF0YShjOiBBYnN0cmFjdENvbnRyb2wpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9IHtcclxuICAgICAgICBsZXQgZXJyb3I6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICBlcnJvciA9PT0gbnVsbCAmJlxyXG4gICAgICAgICAgICBjLnZhbHVlICE9PSBudWxsICYmXHJcbiAgICAgICAgICAgIGMudmFsdWUgIT09IHVuZGVmaW5lZCAmJlxyXG4gICAgICAgICAgICBjLnZhbHVlICE9PSAnJyAmJlxyXG4gICAgICAgICAgICB0aGlzLmlzcmVxdWlyZWQgIT09IHVuZGVmaW5lZCAmJlxyXG4gICAgICAgICAgICB0aGlzLmlzcmVxdWlyZWQgPT09IHRydWVcclxuICAgICAgICApIHtcclxuICAgICAgICAgICAgZXJyb3IgPSBWYWxpZGF0aW9uLm11bHRpbGFuZ3VhZ2VSZXF1aXJlZChcclxuICAgICAgICAgICAgICAgIHRoaXMubGFuZ3VhZ2VzLFxyXG4gICAgICAgICAgICAgICAgdGhpcy52YWxpZGF0aW9ubWVzc2FnZXJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgICAgdGhpcy52YWxpZGF0aW9ubWVzc2FnZXN1bW1hcnlyZXF1aXJlZFxyXG4gICAgICAgICAgICApKGMpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICBlcnJvciA9PT0gbnVsbCAmJlxyXG4gICAgICAgICAgICBjLnZhbHVlICE9PSBudWxsICYmXHJcbiAgICAgICAgICAgIGMudmFsdWUgIT09IHVuZGVmaW5lZCAmJlxyXG4gICAgICAgICAgICBjLnZhbHVlICE9PSAnJyAmJlxyXG4gICAgICAgICAgICB0aGlzLnJlcXVpcmVkYW55ICE9PSB1bmRlZmluZWQgJiZcclxuICAgICAgICAgICAgdGhpcy5yZXF1aXJlZGFueSA9PT0gdHJ1ZVxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgICBlcnJvciA9IFZhbGlkYXRpb24ubXVsdGlsYW5ndWFnZVJlcXVpcmVkQW55KFxyXG4gICAgICAgICAgICAgICAgdGhpcy5sYW5ndWFnZXMsXHJcbiAgICAgICAgICAgICAgICB0aGlzLnZhbGlkYXRpb25tZXNzYWdlcmVxdWlyZWRhbnksXHJcbiAgICAgICAgICAgICAgICB0aGlzLnZhbGlkYXRpb25tZXNzYWdlc3VtbWFyeXJlcXVpcmVkYW55XHJcbiAgICAgICAgICAgICkoYyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gZXJyb3I7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gI2VuZHJlZ2lvbiBQdWJsaWMgTWV0aG9kc1xyXG59XHJcbiJdfQ==
1
+ import { SacInputBase } from '../../common/baseinputcontrol';
2
+ import { IconType } from '../../enums/IconType';
3
+ import { SACLANGUAGE_SERVICE, SacDefaultLanguageService } from '../../services/sac-language.service';
4
+ import { Validation } from '../../validation';
5
+ import { SacFormLayoutCommon } from '../layout/formlayout';
6
+ import { Directive, Host, Injector, Input } from '@angular/core';
7
+ /**
8
+ * Base Klasse für Multi Language Textarea Control
9
+ */
10
+ export class SacMultilanguageInputAreaCommon extends SacInputBase {
11
+ // #endregion Properties
12
+ // #region Constructors
13
+ /**
14
+ * Constructor
15
+ * @param formlayout SacFormLayoutCommon to define scoped layout settings
16
+ * @param injector Injector for injecting services
17
+ */
18
+ constructor(formlayout, injector) {
19
+ super(formlayout, injector);
20
+ // #region Properties
21
+ /**
22
+ * Sprache für das Control
23
+ */
24
+ this.languages = [];
25
+ /**
26
+ * Selektierte Sprace des Controls
27
+ */
28
+ this.selectedLanguage = null;
29
+ /**
30
+ * Fix breite für das Control definieren.
31
+ */
32
+ this.controlwidth = null;
33
+ /**
34
+ * Max length of characters for input field
35
+ */
36
+ this.maxtextlength = null;
37
+ /**
38
+ * Aktiviert den Validator, das min. eine Sprache erfasst sein muss
39
+ */
40
+ this.requiredany = false;
41
+ /**
42
+ * Anzahl Rows für TextArea
43
+ */
44
+ this.rows = 7;
45
+ /**
46
+ * Resource Key für Validation Message Required bei Control
47
+ */
48
+ this.validationmessagerequired = this.validationKeyService.ValidationErrorSummaryRequired;
49
+ /**
50
+ * Resource Key für Validation Message Pattern bei Control
51
+ */
52
+ this.validationmessagerequiredany = this.validationKeyService.ValidationErrorMultilanguageRequiredAny;
53
+ /**
54
+ * Resource Key für Validation Message Required in Validation Summary
55
+ */
56
+ this.validationmessagesummaryrequired = this.validationKeyService.ValidationErrorSummaryMultilanguageRequired;
57
+ /**
58
+ * Resource Key für Validation Message Pattern in Validation Summary
59
+ */
60
+ this.validationmessagesummaryrequiredany = this.validationKeyService.ValidationErrorSummaryMultilanguageRequiredAny;
61
+ this.lngLanguageService = injector.get(SACLANGUAGE_SERVICE, new SacDefaultLanguageService());
62
+ this.lngLanguageService.GetLanguages().subscribe((result) => {
63
+ this.languages = result;
64
+ if (this.languages.length > 0) {
65
+ this.selectedLanguage = this.languages[0];
66
+ }
67
+ // Control Validierung ausführen, da Wert potentiell bereits gesetzt sein kann
68
+ this.UpdateValueAndValidity();
69
+ });
70
+ }
71
+ // #endregion Constructors
72
+ // #region Public Getters And Setters
73
+ /**
74
+ * Getter welcher den Wert der Component in der gewählten Sprache zurückgibt. Wenn keine Sprache selektiert ist, wird ein leerer Wert zurückgegeben.
75
+ * Ist in der Component kein Wert gespeichert wird ein leerer Wert zurückgegeben
76
+ */
77
+ get LanguageValue() {
78
+ if (this.value) {
79
+ const currentIsoCode = this.selectedLanguage ? this.selectedLanguage.IsoCode : null;
80
+ // Fallback falls keine Selektierte Sprache
81
+ if (currentIsoCode === null) {
82
+ return '';
83
+ }
84
+ return this.value[currentIsoCode];
85
+ }
86
+ else {
87
+ return '';
88
+ }
89
+ }
90
+ /**
91
+ * Collection der Sprachen
92
+ */
93
+ get Languages() {
94
+ return this.languages;
95
+ }
96
+ /**
97
+ * Gibt das Icon der selektierten Sprache zurück
98
+ */
99
+ get SelectedIcon() {
100
+ if (this.selectedLanguage) {
101
+ return this.selectedLanguage.Icon;
102
+ }
103
+ else {
104
+ return '';
105
+ }
106
+ }
107
+ /**
108
+ * Gibt den Type des Icons für die selektierte Sprache zurück
109
+ */
110
+ get SelectedIconType() {
111
+ if (this.selectedLanguage) {
112
+ return this.selectedLanguage.IconType;
113
+ }
114
+ else {
115
+ return IconType.Image;
116
+ }
117
+ }
118
+ // #endregion Public Getters And Setters
119
+ // #region Public Methods
120
+ /**
121
+ * Prüft, ob in einer beliebigen Sprache der Kompontente kein Wert definiert ist.
122
+ * @returns Gibt an ob ein Leeres Element vorhanden ist
123
+ */
124
+ IsAnyEmpty() {
125
+ let found = false;
126
+ if (this.value) {
127
+ this.languages.forEach((itm) => {
128
+ if (itm === null) {
129
+ found = true;
130
+ return;
131
+ }
132
+ if (this.value[itm.IsoCode] === undefined ||
133
+ this.value[itm.IsoCode] === '' ||
134
+ this.value[itm.IsoCode] === null) {
135
+ found = true;
136
+ return;
137
+ }
138
+ });
139
+ }
140
+ return found;
141
+ }
142
+ /**
143
+ * Gibt an, ob in einer bestimmten Sprache ein Wert definiert ist
144
+ * @param sprache Sprache in welcher der Wert geprüft werden soll
145
+ * @returns Wert ist vorhanden
146
+ */
147
+ IsEmpty(sprache) {
148
+ if (this.value) {
149
+ // Fallback falls keine Selektierte Sprache
150
+ if (sprache === null) {
151
+ return true;
152
+ }
153
+ return (this.value[sprache.IsoCode] === undefined ||
154
+ this.value[sprache.IsoCode] === '' ||
155
+ this.value[sprache.IsoCode] === null);
156
+ }
157
+ else {
158
+ return true;
159
+ }
160
+ }
161
+ /**
162
+ * Selektiert die Sprache der Komponente
163
+ * @param language Sprache die selektiert werden soll
164
+ */
165
+ SelectLanguage(language) {
166
+ this.selectedLanguage = language;
167
+ }
168
+ /**
169
+ * Speichert einen Wert zur aktuell gewählten Sprache
170
+ * @param value Wert welcher gespeichert werden soll
171
+ */
172
+ SetLanguageValue(value) {
173
+ if (this.value) {
174
+ const currentIsoCode = this.selectedLanguage ? this.selectedLanguage.IsoCode : null;
175
+ // Fallback falls keine Selektierte Sprache
176
+ if (currentIsoCode === null) {
177
+ return;
178
+ }
179
+ this.value[currentIsoCode] = value;
180
+ this.propagateChange(this._value);
181
+ }
182
+ }
183
+ /**
184
+ * Methode validiert, ob der Wert den gegebenen Kriterien entspricht
185
+ * @param c Controls das validiert wird
186
+ */
187
+ validateData(c) {
188
+ let error = null;
189
+ if (error === null &&
190
+ c.value !== null &&
191
+ c.value !== undefined &&
192
+ c.value !== '' &&
193
+ this.isrequired !== undefined &&
194
+ this.isrequired === true) {
195
+ error = Validation.multilanguageRequired(this.languages, this.validationmessagerequired, this.validationmessagesummaryrequired)(c);
196
+ }
197
+ if (error === null &&
198
+ c.value !== null &&
199
+ c.value !== undefined &&
200
+ c.value !== '' &&
201
+ this.requiredany !== undefined &&
202
+ this.requiredany === true) {
203
+ error = Validation.multilanguageRequiredAny(this.languages, this.validationmessagerequiredany, this.validationmessagesummaryrequiredany)(c);
204
+ }
205
+ return error;
206
+ }
207
+ }
208
+ SacMultilanguageInputAreaCommon.decorators = [
209
+ { type: Directive }
210
+ ];
211
+ SacMultilanguageInputAreaCommon.ctorParameters = () => [
212
+ { type: SacFormLayoutCommon, decorators: [{ type: Host }] },
213
+ { type: Injector }
214
+ ];
215
+ SacMultilanguageInputAreaCommon.propDecorators = {
216
+ controlwidth: [{ type: Input }],
217
+ maxtextlength: [{ type: Input }],
218
+ requiredany: [{ type: Input }],
219
+ rows: [{ type: Input }],
220
+ validationmessagerequired: [{ type: Input }],
221
+ validationmessagerequiredany: [{ type: Input }],
222
+ validationmessagesummaryrequired: [{ type: Input }],
223
+ validationmessagesummaryrequiredany: [{ type: Input }]
224
+ };
225
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlsYW5ndWFnZWlucHV0YXJlYS5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9ydW5uZXIvd29yay9zaW1wbGVhbmd1bGFyY29udHJvbHMvc2ltcGxlYW5ndWxhcmNvbnRyb2xzL2NoLmpuZXR3b3JrLnNhYy1jb250cm9scy9wcm9qZWN0cy9zYWMtY29tbW9uL3NyYy8iLCJzb3VyY2VzIjpbImNvbnRyb2xzL211bHRpbGFuZ3VhZ2UvbXVsdGlsYW5ndWFnZWlucHV0YXJlYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBR2hELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3JHLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR2pFOztHQUVHO0FBRUgsTUFBTSxPQUFPLCtCQUFnQyxTQUFRLFlBQWlCO0lBNkRsRSx3QkFBd0I7SUFFeEIsdUJBQXVCO0lBRXZCOzs7O09BSUc7SUFDSCxZQUFvQixVQUErQixFQUFFLFFBQWtCO1FBQ25FLEtBQUssQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUM7UUF0RWhDLHFCQUFxQjtRQUVyQjs7V0FFRztRQUNLLGNBQVMsR0FBb0IsRUFBRSxDQUFDO1FBRXhDOztXQUVHO1FBQ0sscUJBQWdCLEdBQWtCLElBQUksQ0FBQztRQU8vQzs7V0FFRztRQUNhLGlCQUFZLEdBQVcsSUFBSSxDQUFDO1FBRTVDOztXQUVHO1FBQ2Esa0JBQWEsR0FBVyxJQUFJLENBQUM7UUFFN0M7O1dBRUc7UUFD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QU1MLEtBQUs7a0RBTUwsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNhY0lucHV0QmFzZSB9IGZyb20gJy4uLy4uL2NvbW1vbi9iYXNlaW5wdXRjb250cm9sJztcbmltcG9ydCB7IEljb25UeXBlIH0gZnJvbSAnLi4vLi4vZW51bXMvSWNvblR5cGUnO1xuaW1wb3J0IHsgSVNhY0xhbmd1YWdlU2VydmljZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSVNhY0xhbmd1YWdlU2VydmljZSc7XG5pbXBvcnQgeyBMYW5ndWFnZU1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2xhbmd1YWdlbW9kZWwnO1xuaW1wb3J0IHsgU0FDTEFOR1VBR0VfU0VSVklDRSwgU2FjRGVmYXVsdExhbmd1YWdlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3NhYy1sYW5ndWFnZS5zZXJ2aWNlJztcbmltcG9ydCB7IFZhbGlkYXRpb24gfSBmcm9tICcuLi8uLi92YWxpZGF0aW9uJztcbmltcG9ydCB7IFNhY0Zvcm1MYXlvdXRDb21tb24gfSBmcm9tICcuLi9sYXlvdXQvZm9ybWxheW91dCc7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3QsIEluamVjdG9yLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBWYWxpZGF0aW9uRXJyb3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG4vKipcbiAqIEJhc2UgS2xhc3NlIGbDvHIgTXVsdGkgTGFuZ3VhZ2UgVGV4dGFyZWEgQ29udHJvbFxuICovXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBjbGFzcyBTYWNNdWx0aWxhbmd1YWdlSW5wdXRBcmVhQ29tbW9uIGV4dGVuZHMgU2FjSW5wdXRCYXNlPGFueT4ge1xuICAgIC8vICNyZWdpb24gUHJvcGVydGllc1xuXG4gICAgLyoqXG4gICAgICogU3ByYWNoZSBmw7xyIGRhcyBDb250cm9sXG4gICAgICovXG4gICAgcHJpdmF0ZSBsYW5ndWFnZXM6IExhbmd1YWdlTW9kZWxbXSA9IFtdO1xuXG4gICAgLyoqXG4gICAgICogU2VsZWt0aWVydGUgU3ByYWNlIGRlcyBDb250cm9sc1xuICAgICAqL1xuICAgIHByaXZhdGUgc2VsZWN0ZWRMYW5ndWFnZTogTGFuZ3VhZ2VNb2RlbCA9IG51bGw7XG5cbiAgICAvKipcbiAgICAgKiBTZXJ2aWNlIGbDvHIgRXJyb3IgTG9jYWxpc2F0aW9uXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGxuZ0xhbmd1YWdlU2VydmljZTogSVNhY0xhbmd1YWdlU2VydmljZTtcblxuICAgIC8qKlxuICAgICAqIEZpeCBicmVpdGUgZsO8ciBkYXMgQ29udHJvbCBkZWZpbmllcmVuLlxuICAgICAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyBjb250cm9sd2lkdGg6IHN0cmluZyA9IG51bGw7XG5cbiAgICAvKipcbiAgICAgKiBNYXggbGVuZ3RoIG9mIGNoYXJhY3RlcnMgZm9yIGlucHV0IGZpZWxkXG4gICAgICovXG4gICAgQElucHV0KCkgcHVibGljIG1heHRleHRsZW5ndGg6IG51bWJlciA9IG51bGw7XG5cbiAgICAvKipcbiAgICAgKiBBa3RpdmllcnQgZGVuIFZhbGlkYXRvciwgZGFzIG1pbi4gZWluZSBTcHJhY2hlIGVyZmFzc3Qgc2VpbiBtdXNzXG4gICAgICovXG4gICAgQElucHV0KCkgcHVibGljIHJlcXVpcmVkYW55OiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBBbnphaGwgUm93cyBmw7xyIFRleHRBcmVhXG4gICAgICovXG4gICAgQElucHV0KCkgcHVibGljIHJvd3M6IG51bWJlciA9IDc7XG5cbiAgICAvKipcbiAgICAgKiBSZXNvdXJjZSBLZXkgZsO8ciBWYWxpZGF0aW9uIE1lc3NhZ2UgUmVxdWlyZWQgYmVpIENvbnRyb2xcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgdmFsaWRhdGlvbm1lc3NhZ2VyZXF1aXJlZDogc3RyaW5nID0gdGhpcy52YWxpZGF0aW9uS2V5U2VydmljZS5WYWxpZGF0aW9uRXJyb3JTdW1tYXJ5UmVxdWlyZWQ7XG5cbiAgICAvKipcbiAgICAgKiBSZXNvdXJjZSBLZXkgZsO8ciBWYWxpZGF0aW9uIE1lc3NhZ2UgUGF0dGVybiBiZWkgQ29udHJvbFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyB2YWxpZGF0aW9ubWVzc2FnZXJlcXVpcmVkYW55OiBzdHJpbmcgPVxuICAgICAgICB0aGlzLnZhbGlkYXRpb25LZXlTZXJ2aWNlLlZhbGlkYXRpb25FcnJvck11bHRpbGFuZ3VhZ2VSZXF1aXJlZEFueTtcblxuICAgIC8qKlxuICAgICAqIFJlc291cmNlIEtleSBmw7xyIFZhbGlkYXRpb24gTWVzc2FnZSBSZXF1aXJlZCBpbiBWYWxpZGF0aW9uIFN1bW1hcnlcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgdmFsaWRhdGlvbm1lc3NhZ2VzdW1tYXJ5cmVxdWlyZWQ6IHN0cmluZyA9XG4gICAgICAgIHRoaXMudmFsaWRhdGlvbktleVNlcnZpY2UuVmFsaWRhdGlvbkVycm9yU3VtbWFyeU11bHRpbGFuZ3VhZ2VSZXF1aXJlZDtcblxuICAgIC8qKlxuICAgICAqIFJlc291cmNlIEtleSBmw7xyIFZhbGlkYXRpb24gTWVzc2FnZSBQYXR0ZXJuIGluIFZhbGlkYXRpb24gU3VtbWFyeVxuICAgICAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyB2YWxpZGF0aW9ubWVzc2FnZXN1bW1hcnlyZXF1aXJlZGFueTogc3RyaW5nID1cbiAgICAgICAgdGhpcy52YWxpZGF0aW9uS2V5U2VydmljZS5WYWxpZGF0aW9uRXJyb3JTdW1tYXJ5TXVsdGlsYW5ndWFnZVJlcXVpcmVkQW55O1xuXG4gICAgLy8gI2VuZHJlZ2lvbiBQcm9wZXJ0aWVzXG5cbiAgICAvLyAjcmVnaW9uIENvbnN0cnVjdG9yc1xuXG4gICAgLyoqXG4gICAgICogQ29uc3RydWN0b3JcbiAgICAgKiBAcGFyYW0gZm9ybWxheW91dCBTYWNGb3JtTGF5b3V0Q29tbW9uIHRvIGRlZmluZSBzY29wZWQgbGF5b3V0IHNldHRpbmdzXG4gICAgICogQHBhcmFtIGluamVjdG9yIEluamVjdG9yIGZvciBpbmplY3Rpbmcgc2VydmljZXNcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihASG9zdCgpIGZvcm1sYXlvdXQ6IFNhY0Zvcm1MYXlvdXRDb21tb24sIGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgICAgICBzdXBlcihmb3JtbGF5b3V0LCBpbmplY3Rvcik7XG5cbiAgICAgICAgdGhpcy5sbmdMYW5ndWFnZVNlcnZpY2UgPSBpbmplY3Rvci5nZXQoU0FDTEFOR1VBR0VfU0VSVklDRSwgbmV3IFNhY0RlZmF1bHRMYW5ndWFnZVNlcnZpY2UoKSk7XG5cbiAgICAgICAgdGhpcy5sbmdMYW5ndWFnZVNlcnZpY2UuR2V0TGFuZ3VhZ2VzKCkuc3Vic2NyaWJlKChyZXN1bHQ6IExhbmd1YWdlTW9kZWxbXSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5sYW5ndWFnZXMgPSByZXN1bHQ7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmxhbmd1YWdlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZExhbmd1YWdlID0gdGhpcy5sYW5ndWFnZXNbMF07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBDb250cm9sIFZhbGlkaWVydW5nIGF1c2bDvGhyZW4sIGRhIFdlcnQgcG90ZW50aWVsbCBiZXJlaXRzIGdlc2V0enQgc2VpbiBrYW5uXG4gICAgICAgICAgICB0aGlzLlVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gI2VuZHJlZ2lvbiBDb25zdHJ1Y3RvcnNcblxuICAgIC8vICNyZWdpb24gUHVibGljIEdldHRlcnMgQW5kIFNldHRlcnNcblxuICAgIC8qKlxuICAgICAqIEdldHRlciB3ZWxjaGVyIGRlbiBXZXJ0IGRlciBDb21wb25lbnQgaW4gZGVyIGdld8OkaGx0ZW4gU3ByYWNoZSB6dXLDvGNrZ2lidC4gV2VubiBrZWluZSBTcHJhY2hlIHNlbGVrdGllcnQgaXN0LCB3aXJkIGVpbiBsZWVyZXIgV2VydCB6dXLDvGNrZ2VnZWJlbi5cbiAgICAgKiBJc3QgaW4gZGVyIENvbXBvbmVudCBrZWluIFdlcnQgZ2VzcGVpY2hlcnQgd2lyZCBlaW4gbGVlcmVyIFdlcnQgenVyw7xja2dlZ2ViZW5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IExhbmd1YWdlVmFsdWUoKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKHRoaXMudmFsdWUpIHtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRJc29Db2RlOiBzdHJpbmcgPSB0aGlzLnNlbGVjdGVkTGFuZ3VhZ2UgPyB0aGlzLnNlbGVjdGVkTGFuZ3VhZ2UuSXNvQ29kZSA6IG51bGw7XG5cbiAgICAgICAgICAgIC8vIEZhbGxiYWNrIGZhbGxzIGtlaW5lIFNlbGVrdGllcnRlIFNwcmFjaGVcbiAgICAgICAgICAgIGlmIChjdXJyZW50SXNvQ29kZSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHRoaXMudmFsdWVbY3VycmVudElzb0NvZGVdO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29sbGVjdGlvbiBkZXIgU3ByYWNoZW5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IExhbmd1YWdlcygpOiBMYW5ndWFnZU1vZGVsW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5sYW5ndWFnZXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2lidCBkYXMgSWNvbiBkZXIgc2VsZWt0aWVydGVuIFNwcmFjaGUgenVyw7xja1xuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgU2VsZWN0ZWRJY29uKCk6IHN0cmluZyB7XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkTGFuZ3VhZ2UpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnNlbGVjdGVkTGFuZ3VhZ2UuSWNvbjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdpYnQgZGVuIFR5cGUgZGVzIEljb25zIGbDvHIgZGllIHNlbGVrdGllcnRlIFNwcmFjaGUgenVyw7xja1xuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgU2VsZWN0ZWRJY29uVHlwZSgpOiBJY29uVHlwZSB7XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkTGFuZ3VhZ2UpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnNlbGVjdGVkTGFuZ3VhZ2UuSWNvblR5cGU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gSWNvblR5cGUuSW1hZ2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAjZW5kcmVnaW9uIFB1YmxpYyBHZXR0ZXJzIEFuZCBTZXR0ZXJzXG5cbiAgICAvLyAjcmVnaW9uIFB1YmxpYyBNZXRob2RzXG5cbiAgICAvKipcbiAgICAgKiBQcsO8ZnQsIG9iIGluIGVpbmVyIGJlbGllYmlnZW4gU3ByYWNoZSBkZXIgS29tcG9udGVudGUga2VpbiBXZXJ0IGRlZmluaWVydCBpc3QuXG4gICAgICogQHJldHVybnMgR2lidCBhbiBvYiBlaW4gTGVlcmVzIEVsZW1lbnQgdm9yaGFuZGVuIGlzdFxuICAgICAqL1xuICAgIHB1YmxpYyBJc0FueUVtcHR5KCk6IGJvb2xlYW4ge1xuICAgICAgICBsZXQgZm91bmQgPSBmYWxzZTtcblxuICAgICAgICBpZiAodGhpcy52YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5sYW5ndWFnZXMuZm9yRWFjaCgoaXRtOiBMYW5ndWFnZU1vZGVsKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGl0bSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICBmb3VuZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudmFsdWVbaXRtLklzb0NvZGVdID09PSB1bmRlZmluZWQgfHxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy52YWx1ZVtpdG0uSXNvQ29kZV0gPT09ICcnIHx8XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudmFsdWVbaXRtLklzb0NvZGVdID09PSBudWxsXG4gICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvdW5kID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmb3VuZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHaWJ0IGFuLCBvYiBpbiBlaW5lciBiZXN0aW1tdGVuIFNwcmFjaGUgZWluIFdlcnQgZGVmaW5pZXJ0IGlzdFxuICAgICAqIEBwYXJhbSBzcHJhY2hlIFNwcmFjaGUgaW4gd2VsY2hlciBkZXIgV2VydCBnZXByw7xmdCB3ZXJkZW4gc29sbFxuICAgICAqIEByZXR1cm5zIFdlcnQgaXN0IHZvcmhhbmRlblxuICAgICAqL1xuICAgIHB1YmxpYyBJc0VtcHR5KHNwcmFjaGU6IExhbmd1YWdlTW9kZWwpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKHRoaXMudmFsdWUpIHtcbiAgICAgICAgICAgIC8vIEZhbGxiYWNrIGZhbGxzIGtlaW5lIFNlbGVrdGllcnRlIFNwcmFjaGVcbiAgICAgICAgICAgIGlmIChzcHJhY2hlID09PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZVtzcHJhY2hlLklzb0NvZGVdID09PSB1bmRlZmluZWQgfHxcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlW3NwcmFjaGUuSXNvQ29kZV0gPT09ICcnIHx8XG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZVtzcHJhY2hlLklzb0NvZGVdID09PSBudWxsXG4gICAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZWxla3RpZXJ0IGRpZSBTcHJhY2hlIGRlciBLb21wb25lbnRlXG4gICAgICogQHBhcmFtIGxhbmd1YWdlIFNwcmFjaGUgZGllIHNlbGVrdGllcnQgd2VyZGVuIHNvbGxcbiAgICAgKi9cbiAgICBwdWJsaWMgU2VsZWN0TGFuZ3VhZ2UobGFuZ3VhZ2U6IExhbmd1YWdlTW9kZWwpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZExhbmd1YWdlID0gbGFuZ3VhZ2U7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU3BlaWNoZXJ0IGVpbmVuIFdlcnQgenVyIGFrdHVlbGwgZ2V3w6RobHRlbiBTcHJhY2hlXG4gICAgICogQHBhcmFtIHZhbHVlIFdlcnQgd2VsY2hlciBnZXNwZWljaGVydCB3ZXJkZW4gc29sbFxuICAgICAqL1xuICAgIHB1YmxpYyBTZXRMYW5ndWFnZVZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKHRoaXMudmFsdWUpIHtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRJc29Db2RlOiBzdHJpbmcgPSB0aGlzLnNlbGVjdGVkTGFuZ3VhZ2UgPyB0aGlzLnNlbGVjdGVkTGFuZ3VhZ2UuSXNvQ29kZSA6IG51bGw7XG5cbiAgICAgICAgICAgIC8vIEZhbGxiYWNrIGZhbGxzIGtlaW5lIFNlbGVrdGllcnRlIFNwcmFjaGVcbiAgICAgICAgICAgIGlmIChjdXJyZW50SXNvQ29kZSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy52YWx1ZVtjdXJyZW50SXNvQ29kZV0gPSB2YWx1ZTtcbiAgICAgICAgICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlKHRoaXMuX3ZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE1ldGhvZGUgdmFsaWRpZXJ0LCBvYiBkZXIgV2VydCBkZW4gZ2VnZWJlbmVuIEtyaXRlcmllbiBlbnRzcHJpY2h0XG4gICAgICogQHBhcmFtIGMgQ29udHJvbHMgZGFzIHZhbGlkaWVydCB3aXJkXG4gICAgICovXG4gICAgcHVibGljIHZhbGlkYXRlRGF0YShjOiBBYnN0cmFjdENvbnRyb2wpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9IHtcbiAgICAgICAgbGV0IGVycm9yOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9IG51bGw7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgZXJyb3IgPT09IG51bGwgJiZcbiAgICAgICAgICAgIGMudmFsdWUgIT09IG51bGwgJiZcbiAgICAgICAgICAgIGMudmFsdWUgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgICAgYy52YWx1ZSAhPT0gJycgJiZcbiAgICAgICAgICAgIHRoaXMuaXNyZXF1aXJlZCAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgICB0aGlzLmlzcmVxdWlyZWQgPT09IHRydWVcbiAgICAgICAgKSB7XG4gICAgICAgICAgICBlcnJvciA9IFZhbGlkYXRpb24ubXVsdGlsYW5ndWFnZVJlcXVpcmVkKFxuICAgICAgICAgICAgICAgIHRoaXMubGFuZ3VhZ2VzLFxuICAgICAgICAgICAgICAgIHRoaXMudmFsaWRhdGlvbm1lc3NhZ2VyZXF1aXJlZCxcbiAgICAgICAgICAgICAgICB0aGlzLnZhbGlkYXRpb25tZXNzYWdlc3VtbWFyeXJlcXVpcmVkXG4gICAgICAgICAgICApKGMpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgZXJyb3IgPT09IG51bGwgJiZcbiAgICAgICAgICAgIGMudmFsdWUgIT09IG51bGwgJiZcbiAgICAgICAgICAgIGMudmFsdWUgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgICAgYy52YWx1ZSAhPT0gJycgJiZcbiAgICAgICAgICAgIHRoaXMucmVxdWlyZWRhbnkgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgICAgdGhpcy5yZXF1aXJlZGFueSA9PT0gdHJ1ZVxuICAgICAgICApIHtcbiAgICAgICAgICAgIGVycm9yID0gVmFsaWRhdGlvbi5tdWx0aWxhbmd1YWdlUmVxdWlyZWRBbnkoXG4gICAgICAgICAgICAgICAgdGhpcy5sYW5ndWFnZXMsXG4gICAgICAgICAgICAgICAgdGhpcy52YWxpZGF0aW9ubWVzc2FnZXJlcXVpcmVkYW55LFxuICAgICAgICAgICAgICAgIHRoaXMudmFsaWRhdGlvbm1lc3NhZ2VzdW1tYXJ5cmVxdWlyZWRhbnlcbiAgICAgICAgICAgICkoYyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZXJyb3I7XG4gICAgfVxuXG4gICAgLy8gI2VuZHJlZ2lvbiBQdWJsaWMgTWV0aG9kc1xufVxuIl19
@@ -1,7 +1,7 @@
1
- /**
2
- * @fileoverview This file was generated by the Angular template compiler. Do not edit.
3
- *
4
- * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes,extraRequire}
5
- * tslint:disable
6
- */
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlsYW5ndWFnZWlucHV0YXJlYS5uZ2ZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiQzovUHJvamVrdGUvc2ltcGxlYW5ndWxhcmNvbnRyb2xzLW5nMTAvY2guam5ldHdvcmsuc2FjLWNvbnRyb2xzL3Byb2plY3RzL3NhYy1jb21tb24vc3JjLyIsInNvdXJjZXMiOlsiY29udHJvbHMvbXVsdGlsYW5ndWFnZS9tdWx0aWxhbmd1YWdlaW5wdXRhcmVhLm5nZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgaTAgZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pMC5Db21wb25lbnRGYWN0b3J5O1xuIl19
1
+ /**
2
+ * @fileoverview This file was generated by the Angular template compiler. Do not edit.
3
+ *
4
+ * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes,extraRequire}
5
+ * tslint:disable
6
+ */
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlsYW5ndWFnZWlucHV0YXJlYS5uZ2ZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvc2ltcGxlYW5ndWxhcmNvbnRyb2xzL3NpbXBsZWFuZ3VsYXJjb250cm9scy9jaC5qbmV0d29yay5zYWMtY29udHJvbHMvcHJvamVjdHMvc2FjLWNvbW1vbi9zcmMvIiwic291cmNlcyI6WyJjb250cm9scy9tdWx0aWxhbmd1YWdlL211bHRpbGFuZ3VhZ2VpbnB1dGFyZWEubmdmYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBpMCBmcm9tICdAYW5ndWxhci9jb3JlJztcbmkwLkNvbXBvbmVudEZhY3Rvcnk7XG4iXX0=