@simpleangularcontrols/sac-common 13.0.0-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1054) hide show
  1. package/README.md +16 -0
  2. package/common/basedatetimecontrol.d.ts +87 -0
  3. package/common/basedatetimecontrol.d.ts.map +1 -0
  4. package/common/basedatetimecontrol.ngfactory.d.ts +4 -0
  5. package/common/basedatetimecontrol.ngfactory.d.ts.map +1 -0
  6. package/common/basedatetimecontrol.ngsummary.d.ts +2 -0
  7. package/common/basedatetimecontrol.ngsummary.d.ts.map +1 -0
  8. package/common/baseinputcontrol.d.ts +46 -0
  9. package/common/baseinputcontrol.d.ts.map +1 -0
  10. package/common/baseinputcontrol.ngfactory.d.ts +4 -0
  11. package/common/baseinputcontrol.ngfactory.d.ts.map +1 -0
  12. package/common/baseinputcontrol.ngsummary.d.ts +2 -0
  13. package/common/baseinputcontrol.ngsummary.d.ts.map +1 -0
  14. package/common/baselistcontrol.d.ts +47 -0
  15. package/common/baselistcontrol.d.ts.map +1 -0
  16. package/common/baselistcontrol.ngfactory.d.ts +4 -0
  17. package/common/baselistcontrol.ngfactory.d.ts.map +1 -0
  18. package/common/baselistcontrol.ngsummary.d.ts +2 -0
  19. package/common/baselistcontrol.ngsummary.d.ts.map +1 -0
  20. package/common/basemodelcontrol.d.ts +201 -0
  21. package/common/basemodelcontrol.d.ts.map +1 -0
  22. package/common/basemodelcontrol.ngfactory.d.ts +4 -0
  23. package/common/basemodelcontrol.ngfactory.d.ts.map +1 -0
  24. package/common/basemodelcontrol.ngsummary.d.ts +2 -0
  25. package/common/basemodelcontrol.ngsummary.d.ts.map +1 -0
  26. package/common/baseselectcontrol.d.ts +18 -0
  27. package/common/baseselectcontrol.d.ts.map +1 -0
  28. package/common/baseselectcontrol.ngfactory.d.ts +4 -0
  29. package/common/baseselectcontrol.ngfactory.d.ts.map +1 -0
  30. package/common/baseselectcontrol.ngsummary.d.ts +2 -0
  31. package/common/baseselectcontrol.ngsummary.d.ts.map +1 -0
  32. package/common/baseuploadcontrol.d.ts +288 -0
  33. package/common/baseuploadcontrol.d.ts.map +1 -0
  34. package/common/baseuploadcontrol.ngfactory.d.ts +4 -0
  35. package/common/baseuploadcontrol.ngfactory.d.ts.map +1 -0
  36. package/common/baseuploadcontrol.ngsummary.d.ts +2 -0
  37. package/common/baseuploadcontrol.ngsummary.d.ts.map +1 -0
  38. package/components/browser/browser.d.ts +266 -0
  39. package/components/browser/browser.d.ts.map +1 -0
  40. package/components/browser/browser.ngfactory.d.ts +4 -0
  41. package/components/browser/browser.ngfactory.d.ts.map +1 -0
  42. package/components/browser/browser.ngsummary.d.ts +2 -0
  43. package/components/browser/browser.ngsummary.d.ts.map +1 -0
  44. package/components/browser/models/browserfile.d.ts +18 -0
  45. package/components/browser/models/browserfile.d.ts.map +1 -0
  46. package/components/browser/models/browserfile.ngfactory.d.ts +2 -0
  47. package/components/browser/models/browserfile.ngfactory.d.ts.map +1 -0
  48. package/components/browser/models/browserfile.ngsummary.d.ts +2 -0
  49. package/components/browser/models/browserfile.ngsummary.d.ts.map +1 -0
  50. package/components/browser/models/browserfiledeleterequest.d.ts +19 -0
  51. package/components/browser/models/browserfiledeleterequest.d.ts.map +1 -0
  52. package/components/browser/models/browserfiledeleterequest.ngfactory.d.ts +2 -0
  53. package/components/browser/models/browserfiledeleterequest.ngfactory.d.ts.map +1 -0
  54. package/components/browser/models/browserfiledeleterequest.ngsummary.d.ts +2 -0
  55. package/components/browser/models/browserfiledeleterequest.ngsummary.d.ts.map +1 -0
  56. package/components/browser/models/browserfilerenamerequest.d.ts +23 -0
  57. package/components/browser/models/browserfilerenamerequest.d.ts.map +1 -0
  58. package/components/browser/models/browserfilerenamerequest.ngfactory.d.ts +2 -0
  59. package/components/browser/models/browserfilerenamerequest.ngfactory.d.ts.map +1 -0
  60. package/components/browser/models/browserfilerenamerequest.ngsummary.d.ts +2 -0
  61. package/components/browser/models/browserfilerenamerequest.ngsummary.d.ts.map +1 -0
  62. package/components/browser/models/browserfileresponse.d.ts +11 -0
  63. package/components/browser/models/browserfileresponse.d.ts.map +1 -0
  64. package/components/browser/models/browserfileresponse.ngfactory.d.ts +2 -0
  65. package/components/browser/models/browserfileresponse.ngfactory.d.ts.map +1 -0
  66. package/components/browser/models/browserfileresponse.ngsummary.d.ts +2 -0
  67. package/components/browser/models/browserfileresponse.ngsummary.d.ts.map +1 -0
  68. package/components/browser/models/browserfilesaverequest.d.ts +23 -0
  69. package/components/browser/models/browserfilesaverequest.d.ts.map +1 -0
  70. package/components/browser/models/browserfilesaverequest.ngfactory.d.ts +2 -0
  71. package/components/browser/models/browserfilesaverequest.ngfactory.d.ts.map +1 -0
  72. package/components/browser/models/browserfilesaverequest.ngsummary.d.ts +2 -0
  73. package/components/browser/models/browserfilesaverequest.ngsummary.d.ts.map +1 -0
  74. package/components/browser/models/browsernode.d.ts +35 -0
  75. package/components/browser/models/browsernode.d.ts.map +1 -0
  76. package/components/browser/models/browsernode.ngfactory.d.ts +2 -0
  77. package/components/browser/models/browsernode.ngfactory.d.ts.map +1 -0
  78. package/components/browser/models/browsernode.ngsummary.d.ts +2 -0
  79. package/components/browser/models/browsernode.ngsummary.d.ts.map +1 -0
  80. package/components/browser/models/browsernodedeleterequest.d.ts +15 -0
  81. package/components/browser/models/browsernodedeleterequest.d.ts.map +1 -0
  82. package/components/browser/models/browsernodedeleterequest.ngfactory.d.ts +2 -0
  83. package/components/browser/models/browsernodedeleterequest.ngfactory.d.ts.map +1 -0
  84. package/components/browser/models/browsernodedeleterequest.ngsummary.d.ts +2 -0
  85. package/components/browser/models/browsernodedeleterequest.ngsummary.d.ts.map +1 -0
  86. package/components/browser/models/browsernodenewrequest.d.ts +19 -0
  87. package/components/browser/models/browsernodenewrequest.d.ts.map +1 -0
  88. package/components/browser/models/browsernodenewrequest.ngfactory.d.ts +2 -0
  89. package/components/browser/models/browsernodenewrequest.ngfactory.d.ts.map +1 -0
  90. package/components/browser/models/browsernodenewrequest.ngsummary.d.ts +2 -0
  91. package/components/browser/models/browsernodenewrequest.ngsummary.d.ts.map +1 -0
  92. package/components/browser/models/browsernoderenamerequest.d.ts +19 -0
  93. package/components/browser/models/browsernoderenamerequest.d.ts.map +1 -0
  94. package/components/browser/models/browsernoderenamerequest.ngfactory.d.ts +2 -0
  95. package/components/browser/models/browsernoderenamerequest.ngfactory.d.ts.map +1 -0
  96. package/components/browser/models/browsernoderenamerequest.ngsummary.d.ts +2 -0
  97. package/components/browser/models/browsernoderenamerequest.ngsummary.d.ts.map +1 -0
  98. package/components/browser/models/browsernoderequest.d.ts +19 -0
  99. package/components/browser/models/browsernoderequest.d.ts.map +1 -0
  100. package/components/browser/models/browsernoderequest.ngfactory.d.ts +2 -0
  101. package/components/browser/models/browsernoderequest.ngfactory.d.ts.map +1 -0
  102. package/components/browser/models/browsernoderequest.ngsummary.d.ts +2 -0
  103. package/components/browser/models/browsernoderequest.ngsummary.d.ts.map +1 -0
  104. package/components/browser/models/browsernoderesponse.d.ts +11 -0
  105. package/components/browser/models/browsernoderesponse.d.ts.map +1 -0
  106. package/components/browser/models/browsernoderesponse.ngfactory.d.ts +2 -0
  107. package/components/browser/models/browsernoderesponse.ngfactory.d.ts.map +1 -0
  108. package/components/browser/models/browsernoderesponse.ngsummary.d.ts +2 -0
  109. package/components/browser/models/browsernoderesponse.ngsummary.d.ts.map +1 -0
  110. package/controls/buttons/button.d.ts +73 -0
  111. package/controls/buttons/button.d.ts.map +1 -0
  112. package/controls/buttons/button.ngfactory.d.ts +4 -0
  113. package/controls/buttons/button.ngfactory.d.ts.map +1 -0
  114. package/controls/buttons/button.ngsummary.d.ts +2 -0
  115. package/controls/buttons/button.ngsummary.d.ts.map +1 -0
  116. package/controls/checkbox/checkbox.d.ts +23 -0
  117. package/controls/checkbox/checkbox.d.ts.map +1 -0
  118. package/controls/checkbox/checkbox.ngfactory.d.ts +4 -0
  119. package/controls/checkbox/checkbox.ngfactory.d.ts.map +1 -0
  120. package/controls/checkbox/checkbox.ngsummary.d.ts +2 -0
  121. package/controls/checkbox/checkbox.ngsummary.d.ts.map +1 -0
  122. package/controls/checkbox/radiobutton.d.ts +74 -0
  123. package/controls/checkbox/radiobutton.d.ts.map +1 -0
  124. package/controls/checkbox/radiobutton.ngfactory.d.ts +4 -0
  125. package/controls/checkbox/radiobutton.ngfactory.d.ts.map +1 -0
  126. package/controls/checkbox/radiobutton.ngsummary.d.ts +2 -0
  127. package/controls/checkbox/radiobutton.ngsummary.d.ts.map +1 -0
  128. package/controls/checkbox/radiobuttons.d.ts +63 -0
  129. package/controls/checkbox/radiobuttons.d.ts.map +1 -0
  130. package/controls/checkbox/radiobuttons.ngfactory.d.ts +4 -0
  131. package/controls/checkbox/radiobuttons.ngfactory.d.ts.map +1 -0
  132. package/controls/checkbox/radiobuttons.ngsummary.d.ts +2 -0
  133. package/controls/checkbox/radiobuttons.ngsummary.d.ts.map +1 -0
  134. package/controls/confirm/confirm.button.d.ts +20 -0
  135. package/controls/confirm/confirm.button.d.ts.map +1 -0
  136. package/controls/confirm/confirm.button.ngfactory.d.ts +2 -0
  137. package/controls/confirm/confirm.button.ngfactory.d.ts.map +1 -0
  138. package/controls/confirm/confirm.button.ngsummary.d.ts +2 -0
  139. package/controls/confirm/confirm.button.ngsummary.d.ts.map +1 -0
  140. package/controls/confirm/confirm.d.ts +53 -0
  141. package/controls/confirm/confirm.d.ts.map +1 -0
  142. package/controls/confirm/confirm.ngfactory.d.ts +4 -0
  143. package/controls/confirm/confirm.ngfactory.d.ts.map +1 -0
  144. package/controls/confirm/confirm.ngsummary.d.ts +2 -0
  145. package/controls/confirm/confirm.ngsummary.d.ts.map +1 -0
  146. package/controls/confirm/confirm.service.d.ts +59 -0
  147. package/controls/confirm/confirm.service.d.ts.map +1 -0
  148. package/controls/confirm/confirm.service.ngfactory.d.ts +2 -0
  149. package/controls/confirm/confirm.service.ngfactory.d.ts.map +1 -0
  150. package/controls/confirm/confirm.service.ngsummary.d.ts +2 -0
  151. package/controls/confirm/confirm.service.ngsummary.d.ts.map +1 -0
  152. package/controls/contextmenu/contextmenu.d.ts +117 -0
  153. package/controls/contextmenu/contextmenu.d.ts.map +1 -0
  154. package/controls/contextmenu/contextmenu.ngfactory.d.ts +4 -0
  155. package/controls/contextmenu/contextmenu.ngfactory.d.ts.map +1 -0
  156. package/controls/contextmenu/contextmenu.ngsummary.d.ts +2 -0
  157. package/controls/contextmenu/contextmenu.ngsummary.d.ts.map +1 -0
  158. package/controls/contextmenu/contextmenuanchor.d.ts +19 -0
  159. package/controls/contextmenu/contextmenuanchor.d.ts.map +1 -0
  160. package/controls/contextmenu/contextmenuanchor.ngfactory.d.ts +4 -0
  161. package/controls/contextmenu/contextmenuanchor.ngfactory.d.ts.map +1 -0
  162. package/controls/contextmenu/contextmenuanchor.ngsummary.d.ts +2 -0
  163. package/controls/contextmenu/contextmenuanchor.ngsummary.d.ts.map +1 -0
  164. package/controls/contextmenu/contextmenucontainer.d.ts +19 -0
  165. package/controls/contextmenu/contextmenucontainer.d.ts.map +1 -0
  166. package/controls/contextmenu/contextmenucontainer.ngfactory.d.ts +4 -0
  167. package/controls/contextmenu/contextmenucontainer.ngfactory.d.ts.map +1 -0
  168. package/controls/contextmenu/contextmenucontainer.ngsummary.d.ts +2 -0
  169. package/controls/contextmenu/contextmenucontainer.ngsummary.d.ts.map +1 -0
  170. package/controls/contextmenu/contextmenuitem.d.ts +9 -0
  171. package/controls/contextmenu/contextmenuitem.d.ts.map +1 -0
  172. package/controls/contextmenu/contextmenuitem.ngfactory.d.ts +4 -0
  173. package/controls/contextmenu/contextmenuitem.ngfactory.d.ts.map +1 -0
  174. package/controls/contextmenu/contextmenuitem.ngsummary.d.ts +2 -0
  175. package/controls/contextmenu/contextmenuitem.ngsummary.d.ts.map +1 -0
  176. package/controls/contextmenu/contextmenuitembutton.d.ts +70 -0
  177. package/controls/contextmenu/contextmenuitembutton.d.ts.map +1 -0
  178. package/controls/contextmenu/contextmenuitembutton.ngfactory.d.ts +4 -0
  179. package/controls/contextmenu/contextmenuitembutton.ngfactory.d.ts.map +1 -0
  180. package/controls/contextmenu/contextmenuitembutton.ngsummary.d.ts +2 -0
  181. package/controls/contextmenu/contextmenuitembutton.ngsummary.d.ts.map +1 -0
  182. package/controls/datetime/date.d.ts +124 -0
  183. package/controls/datetime/date.d.ts.map +1 -0
  184. package/controls/datetime/date.ngfactory.d.ts +4 -0
  185. package/controls/datetime/date.ngfactory.d.ts.map +1 -0
  186. package/controls/datetime/date.ngsummary.d.ts +2 -0
  187. package/controls/datetime/date.ngsummary.d.ts.map +1 -0
  188. package/controls/datetime/dateselector.d.ts +165 -0
  189. package/controls/datetime/dateselector.d.ts.map +1 -0
  190. package/controls/datetime/dateselector.ngfactory.d.ts +4 -0
  191. package/controls/datetime/dateselector.ngfactory.d.ts.map +1 -0
  192. package/controls/datetime/dateselector.ngsummary.d.ts +2 -0
  193. package/controls/datetime/dateselector.ngsummary.d.ts.map +1 -0
  194. package/controls/datetime/datetime.d.ts +139 -0
  195. package/controls/datetime/datetime.d.ts.map +1 -0
  196. package/controls/datetime/datetime.ngfactory.d.ts +4 -0
  197. package/controls/datetime/datetime.ngfactory.d.ts.map +1 -0
  198. package/controls/datetime/datetime.ngsummary.d.ts +2 -0
  199. package/controls/datetime/datetime.ngsummary.d.ts.map +1 -0
  200. package/controls/datetime/time.d.ts +119 -0
  201. package/controls/datetime/time.d.ts.map +1 -0
  202. package/controls/datetime/time.ngfactory.d.ts +4 -0
  203. package/controls/datetime/time.ngfactory.d.ts.map +1 -0
  204. package/controls/datetime/time.ngsummary.d.ts +2 -0
  205. package/controls/datetime/time.ngsummary.d.ts.map +1 -0
  206. package/controls/dialog/dialog.d.ts +109 -0
  207. package/controls/dialog/dialog.d.ts.map +1 -0
  208. package/controls/dialog/dialog.ngfactory.d.ts +4 -0
  209. package/controls/dialog/dialog.ngfactory.d.ts.map +1 -0
  210. package/controls/dialog/dialog.ngsummary.d.ts +2 -0
  211. package/controls/dialog/dialog.ngsummary.d.ts.map +1 -0
  212. package/controls/form/form.d.ts +87 -0
  213. package/controls/form/form.d.ts.map +1 -0
  214. package/controls/form/form.ngfactory.d.ts +4 -0
  215. package/controls/form/form.ngfactory.d.ts.map +1 -0
  216. package/controls/form/form.ngsummary.d.ts +2 -0
  217. package/controls/form/form.ngsummary.d.ts.map +1 -0
  218. package/controls/grid/grid.d.ts +126 -0
  219. package/controls/grid/grid.d.ts.map +1 -0
  220. package/controls/grid/grid.ngfactory.d.ts +4 -0
  221. package/controls/grid/grid.ngfactory.d.ts.map +1 -0
  222. package/controls/grid/grid.ngsummary.d.ts +2 -0
  223. package/controls/grid/grid.ngsummary.d.ts.map +1 -0
  224. package/controls/grid/gridbutton.d.ts +37 -0
  225. package/controls/grid/gridbutton.d.ts.map +1 -0
  226. package/controls/grid/gridbutton.ngfactory.d.ts +4 -0
  227. package/controls/grid/gridbutton.ngfactory.d.ts.map +1 -0
  228. package/controls/grid/gridbutton.ngsummary.d.ts +2 -0
  229. package/controls/grid/gridbutton.ngsummary.d.ts.map +1 -0
  230. package/controls/grid/gridcolumn.d.ts +32 -0
  231. package/controls/grid/gridcolumn.d.ts.map +1 -0
  232. package/controls/grid/gridcolumn.ngfactory.d.ts +4 -0
  233. package/controls/grid/gridcolumn.ngfactory.d.ts.map +1 -0
  234. package/controls/grid/gridcolumn.ngsummary.d.ts +2 -0
  235. package/controls/grid/gridcolumn.ngsummary.d.ts.map +1 -0
  236. package/controls/grid/gridcolumnaction.d.ts +19 -0
  237. package/controls/grid/gridcolumnaction.d.ts.map +1 -0
  238. package/controls/grid/gridcolumnaction.ngfactory.d.ts +4 -0
  239. package/controls/grid/gridcolumnaction.ngfactory.d.ts.map +1 -0
  240. package/controls/grid/gridcolumnaction.ngsummary.d.ts +2 -0
  241. package/controls/grid/gridcolumnaction.ngsummary.d.ts.map +1 -0
  242. package/controls/grid/gridcolumnbase.d.ts +90 -0
  243. package/controls/grid/gridcolumnbase.d.ts.map +1 -0
  244. package/controls/grid/gridcolumnbase.ngfactory.d.ts +4 -0
  245. package/controls/grid/gridcolumnbase.ngfactory.d.ts.map +1 -0
  246. package/controls/grid/gridcolumnbase.ngsummary.d.ts +2 -0
  247. package/controls/grid/gridcolumnbase.ngsummary.d.ts.map +1 -0
  248. package/controls/grid/gridimage.d.ts +13 -0
  249. package/controls/grid/gridimage.d.ts.map +1 -0
  250. package/controls/grid/gridimage.ngfactory.d.ts +4 -0
  251. package/controls/grid/gridimage.ngfactory.d.ts.map +1 -0
  252. package/controls/grid/gridimage.ngsummary.d.ts +2 -0
  253. package/controls/grid/gridimage.ngsummary.d.ts.map +1 -0
  254. package/controls/grid/model.d.ts +84 -0
  255. package/controls/grid/model.d.ts.map +1 -0
  256. package/controls/grid/model.ngfactory.d.ts +2 -0
  257. package/controls/grid/model.ngfactory.d.ts.map +1 -0
  258. package/controls/grid/model.ngsummary.d.ts +2 -0
  259. package/controls/grid/model.ngsummary.d.ts.map +1 -0
  260. package/controls/grid/paging.d.ts +148 -0
  261. package/controls/grid/paging.d.ts.map +1 -0
  262. package/controls/grid/paging.ngfactory.d.ts +4 -0
  263. package/controls/grid/paging.ngfactory.d.ts.map +1 -0
  264. package/controls/grid/paging.ngsummary.d.ts +2 -0
  265. package/controls/grid/paging.ngsummary.d.ts.map +1 -0
  266. package/controls/input/input.d.ts +39 -0
  267. package/controls/input/input.d.ts.map +1 -0
  268. package/controls/input/input.ngfactory.d.ts +4 -0
  269. package/controls/input/input.ngfactory.d.ts.map +1 -0
  270. package/controls/input/input.ngsummary.d.ts +2 -0
  271. package/controls/input/input.ngsummary.d.ts.map +1 -0
  272. package/controls/input/inputarea.d.ts +30 -0
  273. package/controls/input/inputarea.d.ts.map +1 -0
  274. package/controls/input/inputarea.ngfactory.d.ts +4 -0
  275. package/controls/input/inputarea.ngfactory.d.ts.map +1 -0
  276. package/controls/input/inputarea.ngsummary.d.ts +2 -0
  277. package/controls/input/inputarea.ngsummary.d.ts.map +1 -0
  278. package/controls/input/inputcurrency.d.ts +10 -0
  279. package/controls/input/inputcurrency.d.ts.map +1 -0
  280. package/controls/input/inputcurrency.ngfactory.d.ts +4 -0
  281. package/controls/input/inputcurrency.ngfactory.d.ts.map +1 -0
  282. package/controls/input/inputcurrency.ngsummary.d.ts +2 -0
  283. package/controls/input/inputcurrency.ngsummary.d.ts.map +1 -0
  284. package/controls/input/inputdecimal.d.ts +63 -0
  285. package/controls/input/inputdecimal.d.ts.map +1 -0
  286. package/controls/input/inputdecimal.ngfactory.d.ts +4 -0
  287. package/controls/input/inputdecimal.ngfactory.d.ts.map +1 -0
  288. package/controls/input/inputdecimal.ngsummary.d.ts +2 -0
  289. package/controls/input/inputdecimal.ngsummary.d.ts.map +1 -0
  290. package/controls/input/inputemail.d.ts +23 -0
  291. package/controls/input/inputemail.d.ts.map +1 -0
  292. package/controls/input/inputemail.ngfactory.d.ts +4 -0
  293. package/controls/input/inputemail.ngfactory.d.ts.map +1 -0
  294. package/controls/input/inputemail.ngsummary.d.ts +2 -0
  295. package/controls/input/inputemail.ngsummary.d.ts.map +1 -0
  296. package/controls/input/inputinteger.d.ts +63 -0
  297. package/controls/input/inputinteger.d.ts.map +1 -0
  298. package/controls/input/inputinteger.ngfactory.d.ts +4 -0
  299. package/controls/input/inputinteger.ngfactory.d.ts.map +1 -0
  300. package/controls/input/inputinteger.ngsummary.d.ts +2 -0
  301. package/controls/input/inputinteger.ngsummary.d.ts.map +1 -0
  302. package/controls/input/inputpassword.d.ts +27 -0
  303. package/controls/input/inputpassword.d.ts.map +1 -0
  304. package/controls/input/inputpassword.ngfactory.d.ts +4 -0
  305. package/controls/input/inputpassword.ngfactory.d.ts.map +1 -0
  306. package/controls/input/inputpassword.ngsummary.d.ts +2 -0
  307. package/controls/input/inputpassword.ngsummary.d.ts.map +1 -0
  308. package/controls/input/inputsearch.d.ts +27 -0
  309. package/controls/input/inputsearch.d.ts.map +1 -0
  310. package/controls/input/inputsearch.ngfactory.d.ts +4 -0
  311. package/controls/input/inputsearch.ngfactory.d.ts.map +1 -0
  312. package/controls/input/inputsearch.ngsummary.d.ts +2 -0
  313. package/controls/input/inputsearch.ngsummary.d.ts.map +1 -0
  314. package/controls/list/dropdown.d.ts +144 -0
  315. package/controls/list/dropdown.d.ts.map +1 -0
  316. package/controls/list/dropdown.ngfactory.d.ts +5 -0
  317. package/controls/list/dropdown.ngfactory.d.ts.map +1 -0
  318. package/controls/list/dropdown.ngsummary.d.ts +3 -0
  319. package/controls/list/dropdown.ngsummary.d.ts.map +1 -0
  320. package/controls/list/list.module.d.ts +7 -0
  321. package/controls/list/list.module.d.ts.map +1 -0
  322. package/controls/list/list.module.ngfactory.d.ts +4 -0
  323. package/controls/list/list.module.ngfactory.d.ts.map +1 -0
  324. package/controls/list/list.module.ngsummary.d.ts +2 -0
  325. package/controls/list/list.module.ngsummary.d.ts.map +1 -0
  326. package/controls/list/listbox.d.ts +92 -0
  327. package/controls/list/listbox.d.ts.map +1 -0
  328. package/controls/list/listbox.ngfactory.d.ts +5 -0
  329. package/controls/list/listbox.ngfactory.d.ts.map +1 -0
  330. package/controls/list/listbox.ngsummary.d.ts +3 -0
  331. package/controls/list/listbox.ngsummary.d.ts.map +1 -0
  332. package/controls/multilanguage/multilanguageinput.d.ts +105 -0
  333. package/controls/multilanguage/multilanguageinput.d.ts.map +1 -0
  334. package/controls/multilanguage/multilanguageinput.ngfactory.d.ts +4 -0
  335. package/controls/multilanguage/multilanguageinput.ngfactory.d.ts.map +1 -0
  336. package/controls/multilanguage/multilanguageinput.ngsummary.d.ts +2 -0
  337. package/controls/multilanguage/multilanguageinput.ngsummary.d.ts.map +1 -0
  338. package/controls/multilanguage/multilanguageinputarea.d.ts +110 -0
  339. package/controls/multilanguage/multilanguageinputarea.d.ts.map +1 -0
  340. package/controls/multilanguage/multilanguageinputarea.ngfactory.d.ts +4 -0
  341. package/controls/multilanguage/multilanguageinputarea.ngfactory.d.ts.map +1 -0
  342. package/controls/multilanguage/multilanguageinputarea.ngsummary.d.ts +2 -0
  343. package/controls/multilanguage/multilanguageinputarea.ngsummary.d.ts.map +1 -0
  344. package/controls/static/formcontainer.d.ts +35 -0
  345. package/controls/static/formcontainer.d.ts.map +1 -0
  346. package/controls/static/formcontainer.ngfactory.d.ts +4 -0
  347. package/controls/static/formcontainer.ngfactory.d.ts.map +1 -0
  348. package/controls/static/formcontainer.ngsummary.d.ts +2 -0
  349. package/controls/static/formcontainer.ngsummary.d.ts.map +1 -0
  350. package/controls/static/staticlabel.d.ts +22 -0
  351. package/controls/static/staticlabel.d.ts.map +1 -0
  352. package/controls/static/staticlabel.ngfactory.d.ts +4 -0
  353. package/controls/static/staticlabel.ngfactory.d.ts.map +1 -0
  354. package/controls/static/staticlabel.ngsummary.d.ts +2 -0
  355. package/controls/static/staticlabel.ngsummary.d.ts.map +1 -0
  356. package/controls/tabs/tab.d.ts +49 -0
  357. package/controls/tabs/tab.d.ts.map +1 -0
  358. package/controls/tabs/tab.ngfactory.d.ts +4 -0
  359. package/controls/tabs/tab.ngfactory.d.ts.map +1 -0
  360. package/controls/tabs/tab.ngsummary.d.ts +2 -0
  361. package/controls/tabs/tab.ngsummary.d.ts.map +1 -0
  362. package/controls/tabs/tabitem.d.ts +34 -0
  363. package/controls/tabs/tabitem.d.ts.map +1 -0
  364. package/controls/tabs/tabitem.ngfactory.d.ts +4 -0
  365. package/controls/tabs/tabitem.ngfactory.d.ts.map +1 -0
  366. package/controls/tabs/tabitem.ngsummary.d.ts +2 -0
  367. package/controls/tabs/tabitem.ngsummary.d.ts.map +1 -0
  368. package/controls/tinymce/tinymce.d.ts +153 -0
  369. package/controls/tinymce/tinymce.d.ts.map +1 -0
  370. package/controls/tinymce/tinymce.ngfactory.d.ts +4 -0
  371. package/controls/tinymce/tinymce.ngfactory.d.ts.map +1 -0
  372. package/controls/tinymce/tinymce.ngsummary.d.ts +2 -0
  373. package/controls/tinymce/tinymce.ngsummary.d.ts.map +1 -0
  374. package/controls/tinymce/tinymcedialogsettings.d.ts +28 -0
  375. package/controls/tinymce/tinymcedialogsettings.d.ts.map +1 -0
  376. package/controls/tinymce/tinymcedialogsettings.ngfactory.d.ts +2 -0
  377. package/controls/tinymce/tinymcedialogsettings.ngfactory.d.ts.map +1 -0
  378. package/controls/tinymce/tinymcedialogsettings.ngsummary.d.ts +2 -0
  379. package/controls/tinymce/tinymcedialogsettings.ngsummary.d.ts.map +1 -0
  380. package/controls/tinymce/tinymcedialogsettingsmeta.d.ts +10 -0
  381. package/controls/tinymce/tinymcedialogsettingsmeta.d.ts.map +1 -0
  382. package/controls/tinymce/tinymcedialogsettingsmeta.ngfactory.d.ts +2 -0
  383. package/controls/tinymce/tinymcedialogsettingsmeta.ngfactory.d.ts.map +1 -0
  384. package/controls/tinymce/tinymcedialogsettingsmeta.ngsummary.d.ts +2 -0
  385. package/controls/tinymce/tinymcedialogsettingsmeta.ngsummary.d.ts.map +1 -0
  386. package/controls/tinymce/tinymceinstance.d.ts +11 -0
  387. package/controls/tinymce/tinymceinstance.d.ts.map +1 -0
  388. package/controls/tinymce/tinymceinstance.ngfactory.d.ts +2 -0
  389. package/controls/tinymce/tinymceinstance.ngfactory.d.ts.map +1 -0
  390. package/controls/tinymce/tinymceinstance.ngsummary.d.ts +2 -0
  391. package/controls/tinymce/tinymceinstance.ngsummary.d.ts.map +1 -0
  392. package/controls/tooltip/tooltip.d.ts +142 -0
  393. package/controls/tooltip/tooltip.d.ts.map +1 -0
  394. package/controls/tooltip/tooltip.ngfactory.d.ts +4 -0
  395. package/controls/tooltip/tooltip.ngfactory.d.ts.map +1 -0
  396. package/controls/tooltip/tooltip.ngsummary.d.ts +2 -0
  397. package/controls/tooltip/tooltip.ngsummary.d.ts.map +1 -0
  398. package/controls/treeview/ngtreeitemaction.d.ts +44 -0
  399. package/controls/treeview/ngtreeitemaction.d.ts.map +1 -0
  400. package/controls/treeview/ngtreeitemaction.ngfactory.d.ts +4 -0
  401. package/controls/treeview/ngtreeitemaction.ngfactory.d.ts.map +1 -0
  402. package/controls/treeview/ngtreeitemaction.ngsummary.d.ts +2 -0
  403. package/controls/treeview/ngtreeitemaction.ngsummary.d.ts.map +1 -0
  404. package/controls/treeview/treeview.d.ts +189 -0
  405. package/controls/treeview/treeview.d.ts.map +1 -0
  406. package/controls/treeview/treeview.ngfactory.d.ts +4 -0
  407. package/controls/treeview/treeview.ngfactory.d.ts.map +1 -0
  408. package/controls/treeview/treeview.ngsummary.d.ts +2 -0
  409. package/controls/treeview/treeview.ngsummary.d.ts.map +1 -0
  410. package/controls/treeview/treeviewchild.d.ts +16 -0
  411. package/controls/treeview/treeviewchild.d.ts.map +1 -0
  412. package/controls/treeview/treeviewchild.ngfactory.d.ts +4 -0
  413. package/controls/treeview/treeviewchild.ngfactory.d.ts.map +1 -0
  414. package/controls/treeview/treeviewchild.ngsummary.d.ts +2 -0
  415. package/controls/treeview/treeviewchild.ngsummary.d.ts.map +1 -0
  416. package/controls/upload/dropzonemultiple.d.ts +74 -0
  417. package/controls/upload/dropzonemultiple.d.ts.map +1 -0
  418. package/controls/upload/dropzonemultiple.ngfactory.d.ts +4 -0
  419. package/controls/upload/dropzonemultiple.ngfactory.d.ts.map +1 -0
  420. package/controls/upload/dropzonemultiple.ngsummary.d.ts +2 -0
  421. package/controls/upload/dropzonemultiple.ngsummary.d.ts.map +1 -0
  422. package/controls/upload/dropzonesingle.d.ts +51 -0
  423. package/controls/upload/dropzonesingle.d.ts.map +1 -0
  424. package/controls/upload/dropzonesingle.ngfactory.d.ts +4 -0
  425. package/controls/upload/dropzonesingle.ngfactory.d.ts.map +1 -0
  426. package/controls/upload/dropzonesingle.ngsummary.d.ts +2 -0
  427. package/controls/upload/dropzonesingle.ngsummary.d.ts.map +1 -0
  428. package/controls/upload/uploadmultiple.d.ts +54 -0
  429. package/controls/upload/uploadmultiple.d.ts.map +1 -0
  430. package/controls/upload/uploadmultiple.ngfactory.d.ts +4 -0
  431. package/controls/upload/uploadmultiple.ngfactory.d.ts.map +1 -0
  432. package/controls/upload/uploadmultiple.ngsummary.d.ts +2 -0
  433. package/controls/upload/uploadmultiple.ngsummary.d.ts.map +1 -0
  434. package/controls/upload/uploadsingle.d.ts +31 -0
  435. package/controls/upload/uploadsingle.d.ts.map +1 -0
  436. package/controls/upload/uploadsingle.ngfactory.d.ts +4 -0
  437. package/controls/upload/uploadsingle.ngfactory.d.ts.map +1 -0
  438. package/controls/upload/uploadsingle.ngsummary.d.ts +2 -0
  439. package/controls/upload/uploadsingle.ngsummary.d.ts.map +1 -0
  440. package/controls/validation/validationsummary.d.ts +59 -0
  441. package/controls/validation/validationsummary.d.ts.map +1 -0
  442. package/controls/validation/validationsummary.ngfactory.d.ts +4 -0
  443. package/controls/validation/validationsummary.ngfactory.d.ts.map +1 -0
  444. package/controls/validation/validationsummary.ngsummary.d.ts +2 -0
  445. package/controls/validation/validationsummary.ngsummary.d.ts.map +1 -0
  446. package/controls/wizard/wizard.d.ts +77 -0
  447. package/controls/wizard/wizard.d.ts.map +1 -0
  448. package/controls/wizard/wizard.ngfactory.d.ts +4 -0
  449. package/controls/wizard/wizard.ngfactory.d.ts.map +1 -0
  450. package/controls/wizard/wizard.ngsummary.d.ts +2 -0
  451. package/controls/wizard/wizard.ngsummary.d.ts.map +1 -0
  452. package/controls/wizard/wizarditem.d.ts +29 -0
  453. package/controls/wizard/wizarditem.d.ts.map +1 -0
  454. package/controls/wizard/wizarditem.ngfactory.d.ts +4 -0
  455. package/controls/wizard/wizarditem.ngfactory.d.ts.map +1 -0
  456. package/controls/wizard/wizarditem.ngsummary.d.ts +2 -0
  457. package/controls/wizard/wizarditem.ngsummary.d.ts.map +1 -0
  458. package/enums/IconType.d.ts +8 -0
  459. package/enums/IconType.d.ts.map +1 -0
  460. package/enums/IconType.ngfactory.d.ts +2 -0
  461. package/enums/IconType.ngfactory.d.ts.map +1 -0
  462. package/enums/IconType.ngsummary.d.ts +2 -0
  463. package/enums/IconType.ngsummary.d.ts.map +1 -0
  464. package/esm2020/common/basedatetimecontrol.mjs +173 -0
  465. package/esm2020/common/basedatetimecontrol.ngfactory.mjs +4 -0
  466. package/esm2020/common/basedatetimecontrol.ngsummary.mjs +2 -0
  467. package/esm2020/common/baseinputcontrol.mjs +85 -0
  468. package/esm2020/common/baseinputcontrol.ngfactory.mjs +4 -0
  469. package/esm2020/common/baseinputcontrol.ngsummary.mjs +2 -0
  470. package/esm2020/common/baselistcontrol.mjs +63 -0
  471. package/esm2020/common/baselistcontrol.ngfactory.mjs +4 -0
  472. package/esm2020/common/baselistcontrol.ngsummary.mjs +2 -0
  473. package/esm2020/common/basemodelcontrol.mjs +367 -0
  474. package/esm2020/common/basemodelcontrol.ngfactory.mjs +4 -0
  475. package/esm2020/common/basemodelcontrol.ngsummary.mjs +2 -0
  476. package/esm2020/common/baseselectcontrol.mjs +29 -0
  477. package/esm2020/common/baseselectcontrol.ngfactory.mjs +4 -0
  478. package/esm2020/common/baseselectcontrol.ngsummary.mjs +2 -0
  479. package/esm2020/common/baseuploadcontrol.mjs +460 -0
  480. package/esm2020/common/baseuploadcontrol.ngfactory.mjs +4 -0
  481. package/esm2020/common/baseuploadcontrol.ngsummary.mjs +2 -0
  482. package/esm2020/components/browser/browser.mjs +553 -0
  483. package/esm2020/components/browser/browser.ngfactory.mjs +4 -0
  484. package/esm2020/components/browser/browser.ngsummary.mjs +2 -0
  485. package/esm2020/components/browser/models/browserfile.mjs +2 -0
  486. package/esm2020/components/browser/models/browserfile.ngfactory.mjs +2 -0
  487. package/esm2020/components/browser/models/browserfile.ngsummary.mjs +2 -0
  488. package/esm2020/components/browser/models/browserfiledeleterequest.mjs +13 -0
  489. package/esm2020/components/browser/models/browserfiledeleterequest.ngfactory.mjs +2 -0
  490. package/esm2020/components/browser/models/browserfiledeleterequest.ngsummary.mjs +2 -0
  491. package/esm2020/components/browser/models/browserfilerenamerequest.mjs +13 -0
  492. package/esm2020/components/browser/models/browserfilerenamerequest.ngfactory.mjs +2 -0
  493. package/esm2020/components/browser/models/browserfilerenamerequest.ngsummary.mjs +2 -0
  494. package/esm2020/components/browser/models/browserfileresponse.mjs +2 -0
  495. package/esm2020/components/browser/models/browserfileresponse.ngfactory.mjs +2 -0
  496. package/esm2020/components/browser/models/browserfileresponse.ngsummary.mjs +2 -0
  497. package/esm2020/components/browser/models/browserfilesaverequest.mjs +13 -0
  498. package/esm2020/components/browser/models/browserfilesaverequest.ngfactory.mjs +2 -0
  499. package/esm2020/components/browser/models/browserfilesaverequest.ngsummary.mjs +2 -0
  500. package/esm2020/components/browser/models/browsernode.mjs +2 -0
  501. package/esm2020/components/browser/models/browsernode.ngfactory.mjs +2 -0
  502. package/esm2020/components/browser/models/browsernode.ngsummary.mjs +2 -0
  503. package/esm2020/components/browser/models/browsernodedeleterequest.mjs +13 -0
  504. package/esm2020/components/browser/models/browsernodedeleterequest.ngfactory.mjs +2 -0
  505. package/esm2020/components/browser/models/browsernodedeleterequest.ngsummary.mjs +2 -0
  506. package/esm2020/components/browser/models/browsernodenewrequest.mjs +13 -0
  507. package/esm2020/components/browser/models/browsernodenewrequest.ngfactory.mjs +2 -0
  508. package/esm2020/components/browser/models/browsernodenewrequest.ngsummary.mjs +2 -0
  509. package/esm2020/components/browser/models/browsernoderenamerequest.mjs +13 -0
  510. package/esm2020/components/browser/models/browsernoderenamerequest.ngfactory.mjs +2 -0
  511. package/esm2020/components/browser/models/browsernoderenamerequest.ngsummary.mjs +2 -0
  512. package/esm2020/components/browser/models/browsernoderequest.mjs +13 -0
  513. package/esm2020/components/browser/models/browsernoderequest.ngfactory.mjs +2 -0
  514. package/esm2020/components/browser/models/browsernoderequest.ngsummary.mjs +2 -0
  515. package/esm2020/components/browser/models/browsernoderesponse.mjs +2 -0
  516. package/esm2020/components/browser/models/browsernoderesponse.ngfactory.mjs +2 -0
  517. package/esm2020/components/browser/models/browsernoderesponse.ngsummary.mjs +2 -0
  518. package/esm2020/controls/buttons/button.mjs +143 -0
  519. package/esm2020/controls/buttons/button.ngfactory.mjs +4 -0
  520. package/esm2020/controls/buttons/button.ngsummary.mjs +2 -0
  521. package/esm2020/controls/checkbox/checkbox.mjs +31 -0
  522. package/esm2020/controls/checkbox/checkbox.ngfactory.mjs +4 -0
  523. package/esm2020/controls/checkbox/checkbox.ngsummary.mjs +2 -0
  524. package/esm2020/controls/checkbox/radiobutton.mjs +109 -0
  525. package/esm2020/controls/checkbox/radiobutton.ngfactory.mjs +4 -0
  526. package/esm2020/controls/checkbox/radiobutton.ngsummary.mjs +2 -0
  527. package/esm2020/controls/checkbox/radiobuttons.mjs +112 -0
  528. package/esm2020/controls/checkbox/radiobuttons.ngfactory.mjs +4 -0
  529. package/esm2020/controls/checkbox/radiobuttons.ngsummary.mjs +2 -0
  530. package/esm2020/controls/confirm/confirm.button.mjs +23 -0
  531. package/esm2020/controls/confirm/confirm.button.ngfactory.mjs +2 -0
  532. package/esm2020/controls/confirm/confirm.button.ngsummary.mjs +2 -0
  533. package/esm2020/controls/confirm/confirm.mjs +80 -0
  534. package/esm2020/controls/confirm/confirm.ngfactory.mjs +4 -0
  535. package/esm2020/controls/confirm/confirm.ngsummary.mjs +2 -0
  536. package/esm2020/controls/confirm/confirm.service.mjs +82 -0
  537. package/esm2020/controls/confirm/confirm.service.ngfactory.mjs +2 -0
  538. package/esm2020/controls/confirm/confirm.service.ngsummary.mjs +2 -0
  539. package/esm2020/controls/contextmenu/contextmenu.mjs +191 -0
  540. package/esm2020/controls/contextmenu/contextmenu.ngfactory.mjs +4 -0
  541. package/esm2020/controls/contextmenu/contextmenu.ngsummary.mjs +2 -0
  542. package/esm2020/controls/contextmenu/contextmenuanchor.mjs +20 -0
  543. package/esm2020/controls/contextmenu/contextmenuanchor.ngfactory.mjs +4 -0
  544. package/esm2020/controls/contextmenu/contextmenuanchor.ngsummary.mjs +2 -0
  545. package/esm2020/controls/contextmenu/contextmenucontainer.mjs +20 -0
  546. package/esm2020/controls/contextmenu/contextmenucontainer.ngfactory.mjs +4 -0
  547. package/esm2020/controls/contextmenu/contextmenucontainer.ngsummary.mjs +2 -0
  548. package/esm2020/controls/contextmenu/contextmenuitem.mjs +13 -0
  549. package/esm2020/controls/contextmenu/contextmenuitem.ngfactory.mjs +4 -0
  550. package/esm2020/controls/contextmenu/contextmenuitem.ngsummary.mjs +2 -0
  551. package/esm2020/controls/contextmenu/contextmenuitembutton.mjs +103 -0
  552. package/esm2020/controls/contextmenu/contextmenuitembutton.ngfactory.mjs +4 -0
  553. package/esm2020/controls/contextmenu/contextmenuitembutton.ngsummary.mjs +2 -0
  554. package/esm2020/controls/datetime/date.mjs +218 -0
  555. package/esm2020/controls/datetime/date.ngfactory.mjs +4 -0
  556. package/esm2020/controls/datetime/date.ngsummary.mjs +2 -0
  557. package/esm2020/controls/datetime/dateselector.mjs +462 -0
  558. package/esm2020/controls/datetime/dateselector.ngfactory.mjs +4 -0
  559. package/esm2020/controls/datetime/dateselector.ngsummary.mjs +2 -0
  560. package/esm2020/controls/datetime/datetime.mjs +236 -0
  561. package/esm2020/controls/datetime/datetime.ngfactory.mjs +4 -0
  562. package/esm2020/controls/datetime/datetime.ngsummary.mjs +2 -0
  563. package/esm2020/controls/datetime/time.mjs +217 -0
  564. package/esm2020/controls/datetime/time.ngfactory.mjs +4 -0
  565. package/esm2020/controls/datetime/time.ngsummary.mjs +2 -0
  566. package/esm2020/controls/dialog/dialog.mjs +221 -0
  567. package/esm2020/controls/dialog/dialog.ngfactory.mjs +4 -0
  568. package/esm2020/controls/dialog/dialog.ngsummary.mjs +2 -0
  569. package/esm2020/controls/form/form.mjs +163 -0
  570. package/esm2020/controls/form/form.ngfactory.mjs +4 -0
  571. package/esm2020/controls/form/form.ngsummary.mjs +2 -0
  572. package/esm2020/controls/grid/grid.mjs +156 -0
  573. package/esm2020/controls/grid/grid.ngfactory.mjs +4 -0
  574. package/esm2020/controls/grid/grid.ngsummary.mjs +2 -0
  575. package/esm2020/controls/grid/gridbutton.mjs +59 -0
  576. package/esm2020/controls/grid/gridbutton.ngfactory.mjs +4 -0
  577. package/esm2020/controls/grid/gridbutton.ngsummary.mjs +2 -0
  578. package/esm2020/controls/grid/gridcolumn.mjs +46 -0
  579. package/esm2020/controls/grid/gridcolumn.ngfactory.mjs +4 -0
  580. package/esm2020/controls/grid/gridcolumn.ngsummary.mjs +2 -0
  581. package/esm2020/controls/grid/gridcolumnaction.mjs +24 -0
  582. package/esm2020/controls/grid/gridcolumnaction.ngfactory.mjs +4 -0
  583. package/esm2020/controls/grid/gridcolumnaction.ngsummary.mjs +2 -0
  584. package/esm2020/controls/grid/gridcolumnbase.mjs +128 -0
  585. package/esm2020/controls/grid/gridcolumnbase.ngfactory.mjs +4 -0
  586. package/esm2020/controls/grid/gridcolumnbase.ngsummary.mjs +2 -0
  587. package/esm2020/controls/grid/gridimage.mjs +15 -0
  588. package/esm2020/controls/grid/gridimage.ngfactory.mjs +4 -0
  589. package/esm2020/controls/grid/gridimage.ngsummary.mjs +2 -0
  590. package/esm2020/controls/grid/model.mjs +79 -0
  591. package/esm2020/controls/grid/model.ngfactory.mjs +2 -0
  592. package/esm2020/controls/grid/model.ngsummary.mjs +2 -0
  593. package/esm2020/controls/grid/paging.mjs +253 -0
  594. package/esm2020/controls/grid/paging.ngfactory.mjs +4 -0
  595. package/esm2020/controls/grid/paging.ngsummary.mjs +2 -0
  596. package/esm2020/controls/input/input.mjs +69 -0
  597. package/esm2020/controls/input/input.ngfactory.mjs +4 -0
  598. package/esm2020/controls/input/input.ngsummary.mjs +2 -0
  599. package/esm2020/controls/input/inputarea.mjs +58 -0
  600. package/esm2020/controls/input/inputarea.ngfactory.mjs +4 -0
  601. package/esm2020/controls/input/inputarea.ngsummary.mjs +2 -0
  602. package/esm2020/controls/input/inputcurrency.mjs +14 -0
  603. package/esm2020/controls/input/inputcurrency.ngfactory.mjs +4 -0
  604. package/esm2020/controls/input/inputcurrency.ngsummary.mjs +2 -0
  605. package/esm2020/controls/input/inputdecimal.mjs +150 -0
  606. package/esm2020/controls/input/inputdecimal.ngfactory.mjs +4 -0
  607. package/esm2020/controls/input/inputdecimal.ngsummary.mjs +2 -0
  608. package/esm2020/controls/input/inputemail.mjs +40 -0
  609. package/esm2020/controls/input/inputemail.ngfactory.mjs +4 -0
  610. package/esm2020/controls/input/inputemail.ngsummary.mjs +2 -0
  611. package/esm2020/controls/input/inputinteger.mjs +134 -0
  612. package/esm2020/controls/input/inputinteger.ngfactory.mjs +4 -0
  613. package/esm2020/controls/input/inputinteger.ngsummary.mjs +2 -0
  614. package/esm2020/controls/input/inputpassword.mjs +46 -0
  615. package/esm2020/controls/input/inputpassword.ngfactory.mjs +4 -0
  616. package/esm2020/controls/input/inputpassword.ngsummary.mjs +2 -0
  617. package/esm2020/controls/input/inputsearch.mjs +41 -0
  618. package/esm2020/controls/input/inputsearch.ngfactory.mjs +4 -0
  619. package/esm2020/controls/input/inputsearch.ngsummary.mjs +2 -0
  620. package/esm2020/controls/list/dropdown.mjs +249 -0
  621. package/esm2020/controls/list/dropdown.ngfactory.mjs +4 -0
  622. package/esm2020/controls/list/dropdown.ngsummary.mjs +3 -0
  623. package/esm2020/controls/list/list.module.mjs +16 -0
  624. package/esm2020/controls/list/list.module.ngfactory.mjs +4 -0
  625. package/esm2020/controls/list/list.module.ngsummary.mjs +2 -0
  626. package/esm2020/controls/list/listbox.mjs +175 -0
  627. package/esm2020/controls/list/listbox.ngfactory.mjs +4 -0
  628. package/esm2020/controls/list/listbox.ngsummary.mjs +3 -0
  629. package/esm2020/controls/multilanguage/multilanguageinput.mjs +228 -0
  630. package/esm2020/controls/multilanguage/multilanguageinput.ngfactory.mjs +4 -0
  631. package/esm2020/controls/multilanguage/multilanguageinput.ngsummary.mjs +2 -0
  632. package/esm2020/controls/multilanguage/multilanguageinputarea.mjs +230 -0
  633. package/esm2020/controls/multilanguage/multilanguageinputarea.ngfactory.mjs +4 -0
  634. package/esm2020/controls/multilanguage/multilanguageinputarea.ngsummary.mjs +2 -0
  635. package/esm2020/controls/static/formcontainer.mjs +53 -0
  636. package/esm2020/controls/static/formcontainer.ngfactory.mjs +4 -0
  637. package/esm2020/controls/static/formcontainer.ngsummary.mjs +2 -0
  638. package/esm2020/controls/static/staticlabel.mjs +33 -0
  639. package/esm2020/controls/static/staticlabel.ngfactory.mjs +4 -0
  640. package/esm2020/controls/static/staticlabel.ngsummary.mjs +2 -0
  641. package/esm2020/controls/tabs/tab.mjs +77 -0
  642. package/esm2020/controls/tabs/tab.ngfactory.mjs +4 -0
  643. package/esm2020/controls/tabs/tab.ngsummary.mjs +2 -0
  644. package/esm2020/controls/tabs/tabitem.mjs +40 -0
  645. package/esm2020/controls/tabs/tabitem.ngfactory.mjs +4 -0
  646. package/esm2020/controls/tabs/tabitem.ngsummary.mjs +2 -0
  647. package/esm2020/controls/tinymce/tinymce.mjs +249 -0
  648. package/esm2020/controls/tinymce/tinymce.ngfactory.mjs +4 -0
  649. package/esm2020/controls/tinymce/tinymce.ngsummary.mjs +2 -0
  650. package/esm2020/controls/tinymce/tinymcedialogsettings.mjs +13 -0
  651. package/esm2020/controls/tinymce/tinymcedialogsettings.ngfactory.mjs +2 -0
  652. package/esm2020/controls/tinymce/tinymcedialogsettings.ngsummary.mjs +2 -0
  653. package/esm2020/controls/tinymce/tinymcedialogsettingsmeta.mjs +5 -0
  654. package/esm2020/controls/tinymce/tinymcedialogsettingsmeta.ngfactory.mjs +2 -0
  655. package/esm2020/controls/tinymce/tinymcedialogsettingsmeta.ngsummary.mjs +2 -0
  656. package/esm2020/controls/tinymce/tinymceinstance.mjs +2 -0
  657. package/esm2020/controls/tinymce/tinymceinstance.ngfactory.mjs +2 -0
  658. package/esm2020/controls/tinymce/tinymceinstance.ngsummary.mjs +2 -0
  659. package/esm2020/controls/tooltip/tooltip.mjs +365 -0
  660. package/esm2020/controls/tooltip/tooltip.ngfactory.mjs +4 -0
  661. package/esm2020/controls/tooltip/tooltip.ngsummary.mjs +2 -0
  662. package/esm2020/controls/treeview/ngtreeitemaction.mjs +62 -0
  663. package/esm2020/controls/treeview/ngtreeitemaction.ngfactory.mjs +4 -0
  664. package/esm2020/controls/treeview/ngtreeitemaction.ngsummary.mjs +2 -0
  665. package/esm2020/controls/treeview/treeview.mjs +343 -0
  666. package/esm2020/controls/treeview/treeview.ngfactory.mjs +4 -0
  667. package/esm2020/controls/treeview/treeview.ngsummary.mjs +2 -0
  668. package/esm2020/controls/treeview/treeviewchild.mjs +21 -0
  669. package/esm2020/controls/treeview/treeviewchild.ngfactory.mjs +4 -0
  670. package/esm2020/controls/treeview/treeviewchild.ngsummary.mjs +2 -0
  671. package/esm2020/controls/upload/dropzonemultiple.mjs +165 -0
  672. package/esm2020/controls/upload/dropzonemultiple.ngfactory.mjs +4 -0
  673. package/esm2020/controls/upload/dropzonemultiple.ngsummary.mjs +2 -0
  674. package/esm2020/controls/upload/dropzonesingle.mjs +106 -0
  675. package/esm2020/controls/upload/dropzonesingle.ngfactory.mjs +4 -0
  676. package/esm2020/controls/upload/dropzonesingle.ngsummary.mjs +2 -0
  677. package/esm2020/controls/upload/uploadmultiple.mjs +124 -0
  678. package/esm2020/controls/upload/uploadmultiple.ngfactory.mjs +4 -0
  679. package/esm2020/controls/upload/uploadmultiple.ngsummary.mjs +2 -0
  680. package/esm2020/controls/upload/uploadsingle.mjs +58 -0
  681. package/esm2020/controls/upload/uploadsingle.ngfactory.mjs +4 -0
  682. package/esm2020/controls/upload/uploadsingle.ngsummary.mjs +2 -0
  683. package/esm2020/controls/validation/validationsummary.mjs +127 -0
  684. package/esm2020/controls/validation/validationsummary.ngfactory.mjs +4 -0
  685. package/esm2020/controls/validation/validationsummary.ngsummary.mjs +2 -0
  686. package/esm2020/controls/wizard/wizard.mjs +144 -0
  687. package/esm2020/controls/wizard/wizard.ngfactory.mjs +4 -0
  688. package/esm2020/controls/wizard/wizard.ngsummary.mjs +2 -0
  689. package/esm2020/controls/wizard/wizarditem.mjs +33 -0
  690. package/esm2020/controls/wizard/wizarditem.ngfactory.mjs +4 -0
  691. package/esm2020/controls/wizard/wizarditem.ngsummary.mjs +2 -0
  692. package/esm2020/enums/IconType.mjs +9 -0
  693. package/esm2020/enums/IconType.ngfactory.mjs +2 -0
  694. package/esm2020/enums/IconType.ngsummary.mjs +2 -0
  695. package/esm2020/interfaces/ISacFileBrowserService.mjs +2 -0
  696. package/esm2020/interfaces/ISacFileBrowserService.ngfactory.mjs +2 -0
  697. package/esm2020/interfaces/ISacFileBrowserService.ngsummary.mjs +2 -0
  698. package/esm2020/interfaces/ISacIconService.mjs +2 -0
  699. package/esm2020/interfaces/ISacIconService.ngfactory.mjs +2 -0
  700. package/esm2020/interfaces/ISacIconService.ngsummary.mjs +2 -0
  701. package/esm2020/interfaces/ISacLanguageService.mjs +2 -0
  702. package/esm2020/interfaces/ISacLanguageService.ngfactory.mjs +2 -0
  703. package/esm2020/interfaces/ISacLanguageService.ngsummary.mjs +2 -0
  704. package/esm2020/interfaces/ISacLocalisationService.mjs +2 -0
  705. package/esm2020/interfaces/ISacLocalisationService.ngfactory.mjs +2 -0
  706. package/esm2020/interfaces/ISacLocalisationService.ngsummary.mjs +2 -0
  707. package/esm2020/interfaces/iabstractcontrollabel.mjs +2 -0
  708. package/esm2020/interfaces/iabstractcontrollabel.ngfactory.mjs +2 -0
  709. package/esm2020/interfaces/iabstractcontrollabel.ngsummary.mjs +2 -0
  710. package/esm2020/interfaces/iconfirmcomponent.mjs +2 -0
  711. package/esm2020/interfaces/iconfirmcomponent.ngfactory.mjs +2 -0
  712. package/esm2020/interfaces/iconfirmcomponent.ngsummary.mjs +2 -0
  713. package/esm2020/interfaces/idatetimecontrol.mjs +2 -0
  714. package/esm2020/interfaces/idatetimecontrol.ngfactory.mjs +2 -0
  715. package/esm2020/interfaces/idatetimecontrol.ngsummary.mjs +2 -0
  716. package/esm2020/interfaces/iuploadcontrol.mjs +2 -0
  717. package/esm2020/interfaces/iuploadcontrol.ngfactory.mjs +2 -0
  718. package/esm2020/interfaces/iuploadcontrol.ngsummary.mjs +2 -0
  719. package/esm2020/models/languagemodel.mjs +13 -0
  720. package/esm2020/models/languagemodel.ngfactory.mjs +2 -0
  721. package/esm2020/models/languagemodel.ngsummary.mjs +2 -0
  722. package/esm2020/public_api.mjs +96 -0
  723. package/esm2020/public_api.ngfactory.mjs +2 -0
  724. package/esm2020/public_api.ngsummary.mjs +2 -0
  725. package/esm2020/services/index.mjs +5 -0
  726. package/esm2020/services/index.ngfactory.mjs +2 -0
  727. package/esm2020/services/index.ngsummary.mjs +2 -0
  728. package/esm2020/services/sac-filebrowser.service.mjs +203 -0
  729. package/esm2020/services/sac-filebrowser.service.ngfactory.mjs +4 -0
  730. package/esm2020/services/sac-filebrowser.service.ngsummary.mjs +3 -0
  731. package/esm2020/services/sac-icon.service.mjs +159 -0
  732. package/esm2020/services/sac-icon.service.ngfactory.mjs +4 -0
  733. package/esm2020/services/sac-icon.service.ngsummary.mjs +3 -0
  734. package/esm2020/services/sac-language.service.mjs +47 -0
  735. package/esm2020/services/sac-language.service.ngfactory.mjs +4 -0
  736. package/esm2020/services/sac-language.service.ngsummary.mjs +3 -0
  737. package/esm2020/services/sac-localisation.service.mjs +433 -0
  738. package/esm2020/services/sac-localisation.service.ngfactory.mjs +4 -0
  739. package/esm2020/services/sac-localisation.service.ngsummary.mjs +3 -0
  740. package/esm2020/simpleangularcontrols-sac-common.mjs +5 -0
  741. package/esm2020/utilities/convertion.mjs +32 -0
  742. package/esm2020/utilities/convertion.ngfactory.mjs +2 -0
  743. package/esm2020/utilities/convertion.ngsummary.mjs +2 -0
  744. package/esm2020/utilities/datatypes.mjs +9 -0
  745. package/esm2020/utilities/datatypes.ngfactory.mjs +2 -0
  746. package/esm2020/utilities/datatypes.ngsummary.mjs +2 -0
  747. package/esm2020/utilities/enums.mjs +16 -0
  748. package/esm2020/utilities/enums.ngfactory.mjs +2 -0
  749. package/esm2020/utilities/enums.ngsummary.mjs +2 -0
  750. package/esm2020/utilities/interpolation.mjs +50 -0
  751. package/esm2020/utilities/interpolation.ngfactory.mjs +2 -0
  752. package/esm2020/utilities/interpolation.ngsummary.mjs +2 -0
  753. package/esm2020/utilities/positioning.mjs +301 -0
  754. package/esm2020/utilities/positioning.ngfactory.mjs +2 -0
  755. package/esm2020/utilities/positioning.ngsummary.mjs +2 -0
  756. package/esm2020/validation/email.validator.mjs +13 -0
  757. package/esm2020/validation/email.validator.ngfactory.mjs +2 -0
  758. package/esm2020/validation/email.validator.ngsummary.mjs +2 -0
  759. package/esm2020/validation/index.mjs +3 -0
  760. package/esm2020/validation/index.ngfactory.mjs +2 -0
  761. package/esm2020/validation/index.ngsummary.mjs +2 -0
  762. package/esm2020/validation/invaliddate.validator.mjs +14 -0
  763. package/esm2020/validation/invaliddate.validator.ngfactory.mjs +2 -0
  764. package/esm2020/validation/invaliddate.validator.ngsummary.mjs +2 -0
  765. package/esm2020/validation/isDateValid.mjs +15 -0
  766. package/esm2020/validation/isDateValid.ngfactory.mjs +2 -0
  767. package/esm2020/validation/isDateValid.ngsummary.mjs +2 -0
  768. package/esm2020/validation/maxdate.validator.mjs +21 -0
  769. package/esm2020/validation/maxdate.validator.ngfactory.mjs +2 -0
  770. package/esm2020/validation/maxdate.validator.ngsummary.mjs +2 -0
  771. package/esm2020/validation/maxtime.validator.mjs +21 -0
  772. package/esm2020/validation/maxtime.validator.ngfactory.mjs +2 -0
  773. package/esm2020/validation/maxtime.validator.ngsummary.mjs +2 -0
  774. package/esm2020/validation/maxvalue.validator.mjs +16 -0
  775. package/esm2020/validation/maxvalue.validator.ngfactory.mjs +2 -0
  776. package/esm2020/validation/maxvalue.validator.ngsummary.mjs +2 -0
  777. package/esm2020/validation/mindate.validator.mjs +21 -0
  778. package/esm2020/validation/mindate.validator.ngfactory.mjs +2 -0
  779. package/esm2020/validation/mindate.validator.ngsummary.mjs +2 -0
  780. package/esm2020/validation/minfiles.validator.mjs +19 -0
  781. package/esm2020/validation/minfiles.validator.ngfactory.mjs +2 -0
  782. package/esm2020/validation/minfiles.validator.ngsummary.mjs +2 -0
  783. package/esm2020/validation/minlength.validator.mjs +21 -0
  784. package/esm2020/validation/minlength.validator.ngfactory.mjs +2 -0
  785. package/esm2020/validation/minlength.validator.ngsummary.mjs +2 -0
  786. package/esm2020/validation/mintime.validator.mjs +21 -0
  787. package/esm2020/validation/mintime.validator.ngfactory.mjs +2 -0
  788. package/esm2020/validation/mintime.validator.ngsummary.mjs +2 -0
  789. package/esm2020/validation/minvalue.validator.mjs +16 -0
  790. package/esm2020/validation/minvalue.validator.ngfactory.mjs +2 -0
  791. package/esm2020/validation/minvalue.validator.ngsummary.mjs +2 -0
  792. package/esm2020/validation/multilanguagerequired.validator.mjs +22 -0
  793. package/esm2020/validation/multilanguagerequired.validator.ngfactory.mjs +2 -0
  794. package/esm2020/validation/multilanguagerequired.validator.ngsummary.mjs +2 -0
  795. package/esm2020/validation/multilanguagerequiredany.validator.mjs +22 -0
  796. package/esm2020/validation/multilanguagerequiredany.validator.ngfactory.mjs +2 -0
  797. package/esm2020/validation/multilanguagerequiredany.validator.ngsummary.mjs +2 -0
  798. package/esm2020/validation/pattern.validator.mjs +16 -0
  799. package/esm2020/validation/pattern.validator.ngfactory.mjs +2 -0
  800. package/esm2020/validation/pattern.validator.ngsummary.mjs +2 -0
  801. package/esm2020/validation/required.validator.mjs +13 -0
  802. package/esm2020/validation/required.validator.ngfactory.mjs +2 -0
  803. package/esm2020/validation/required.validator.ngsummary.mjs +2 -0
  804. package/esm2020/validation/validation.mjs +188 -0
  805. package/esm2020/validation/validation.ngfactory.mjs +2 -0
  806. package/esm2020/validation/validation.ngsummary.mjs +2 -0
  807. package/esm2020/validation/validationerrorcreator.mjs +11 -0
  808. package/esm2020/validation/validationerrorcreator.ngfactory.mjs +2 -0
  809. package/esm2020/validation/validationerrorcreator.ngsummary.mjs +2 -0
  810. package/esm2020/validation/validationerroritem.mjs +27 -0
  811. package/esm2020/validation/validationerroritem.ngfactory.mjs +2 -0
  812. package/esm2020/validation/validationerroritem.ngsummary.mjs +2 -0
  813. package/fesm2015/simpleangularcontrols-sac-common.mjs +9983 -0
  814. package/fesm2015/simpleangularcontrols-sac-common.mjs.map +1 -0
  815. package/fesm2020/simpleangularcontrols-sac-common.mjs +9972 -0
  816. package/fesm2020/simpleangularcontrols-sac-common.mjs.map +1 -0
  817. package/interfaces/ISacFileBrowserService.d.ts +66 -0
  818. package/interfaces/ISacFileBrowserService.d.ts.map +1 -0
  819. package/interfaces/ISacFileBrowserService.ngfactory.d.ts +2 -0
  820. package/interfaces/ISacFileBrowserService.ngfactory.d.ts.map +1 -0
  821. package/interfaces/ISacFileBrowserService.ngsummary.d.ts +2 -0
  822. package/interfaces/ISacFileBrowserService.ngsummary.d.ts.map +1 -0
  823. package/interfaces/ISacIconService.d.ts +90 -0
  824. package/interfaces/ISacIconService.d.ts.map +1 -0
  825. package/interfaces/ISacIconService.ngfactory.d.ts +2 -0
  826. package/interfaces/ISacIconService.ngfactory.d.ts.map +1 -0
  827. package/interfaces/ISacIconService.ngsummary.d.ts +2 -0
  828. package/interfaces/ISacIconService.ngsummary.d.ts.map +1 -0
  829. package/interfaces/ISacLanguageService.d.ts +13 -0
  830. package/interfaces/ISacLanguageService.d.ts.map +1 -0
  831. package/interfaces/ISacLanguageService.ngfactory.d.ts +2 -0
  832. package/interfaces/ISacLanguageService.ngfactory.d.ts.map +1 -0
  833. package/interfaces/ISacLanguageService.ngsummary.d.ts +2 -0
  834. package/interfaces/ISacLanguageService.ngsummary.d.ts.map +1 -0
  835. package/interfaces/ISacLocalisationService.d.ts +11 -0
  836. package/interfaces/ISacLocalisationService.d.ts.map +1 -0
  837. package/interfaces/ISacLocalisationService.ngfactory.d.ts +2 -0
  838. package/interfaces/ISacLocalisationService.ngfactory.d.ts.map +1 -0
  839. package/interfaces/ISacLocalisationService.ngsummary.d.ts +2 -0
  840. package/interfaces/ISacLocalisationService.ngsummary.d.ts.map +1 -0
  841. package/interfaces/iabstractcontrollabel.d.ts +7 -0
  842. package/interfaces/iabstractcontrollabel.d.ts.map +1 -0
  843. package/interfaces/iabstractcontrollabel.ngfactory.d.ts +2 -0
  844. package/interfaces/iabstractcontrollabel.ngfactory.d.ts.map +1 -0
  845. package/interfaces/iabstractcontrollabel.ngsummary.d.ts +2 -0
  846. package/interfaces/iabstractcontrollabel.ngsummary.d.ts.map +1 -0
  847. package/interfaces/iconfirmcomponent.d.ts +19 -0
  848. package/interfaces/iconfirmcomponent.d.ts.map +1 -0
  849. package/interfaces/iconfirmcomponent.ngfactory.d.ts +2 -0
  850. package/interfaces/iconfirmcomponent.ngfactory.d.ts.map +1 -0
  851. package/interfaces/iconfirmcomponent.ngsummary.d.ts +2 -0
  852. package/interfaces/iconfirmcomponent.ngsummary.d.ts.map +1 -0
  853. package/interfaces/idatetimecontrol.d.ts +8 -0
  854. package/interfaces/idatetimecontrol.d.ts.map +1 -0
  855. package/interfaces/idatetimecontrol.ngfactory.d.ts +2 -0
  856. package/interfaces/idatetimecontrol.ngfactory.d.ts.map +1 -0
  857. package/interfaces/idatetimecontrol.ngsummary.d.ts +2 -0
  858. package/interfaces/idatetimecontrol.ngsummary.d.ts.map +1 -0
  859. package/interfaces/iuploadcontrol.d.ts +10 -0
  860. package/interfaces/iuploadcontrol.d.ts.map +1 -0
  861. package/interfaces/iuploadcontrol.ngfactory.d.ts +2 -0
  862. package/interfaces/iuploadcontrol.ngfactory.d.ts.map +1 -0
  863. package/interfaces/iuploadcontrol.ngsummary.d.ts +2 -0
  864. package/interfaces/iuploadcontrol.ngsummary.d.ts.map +1 -0
  865. package/models/languagemodel.d.ts +23 -0
  866. package/models/languagemodel.d.ts.map +1 -0
  867. package/models/languagemodel.ngfactory.d.ts +2 -0
  868. package/models/languagemodel.ngfactory.d.ts.map +1 -0
  869. package/models/languagemodel.ngsummary.d.ts +2 -0
  870. package/models/languagemodel.ngsummary.d.ts.map +1 -0
  871. package/package.json +45 -0
  872. package/public_api.d.ts +75 -0
  873. package/public_api.d.ts.map +1 -0
  874. package/public_api.ngfactory.d.ts +2 -0
  875. package/public_api.ngfactory.d.ts.map +1 -0
  876. package/public_api.ngsummary.d.ts +2 -0
  877. package/public_api.ngsummary.d.ts.map +1 -0
  878. package/services/index.d.ts +5 -0
  879. package/services/index.d.ts.map +1 -0
  880. package/services/index.ngfactory.d.ts +2 -0
  881. package/services/index.ngfactory.d.ts.map +1 -0
  882. package/services/index.ngsummary.d.ts +2 -0
  883. package/services/index.ngsummary.d.ts.map +1 -0
  884. package/services/sac-filebrowser.service.d.ts +146 -0
  885. package/services/sac-filebrowser.service.d.ts.map +1 -0
  886. package/services/sac-filebrowser.service.ngfactory.d.ts +5 -0
  887. package/services/sac-filebrowser.service.ngfactory.d.ts.map +1 -0
  888. package/services/sac-filebrowser.service.ngsummary.d.ts +3 -0
  889. package/services/sac-filebrowser.service.ngsummary.d.ts.map +1 -0
  890. package/services/sac-icon.service.d.ts +190 -0
  891. package/services/sac-icon.service.d.ts.map +1 -0
  892. package/services/sac-icon.service.ngfactory.d.ts +5 -0
  893. package/services/sac-icon.service.ngfactory.d.ts.map +1 -0
  894. package/services/sac-icon.service.ngsummary.d.ts +3 -0
  895. package/services/sac-icon.service.ngsummary.d.ts.map +1 -0
  896. package/services/sac-language.service.d.ts +32 -0
  897. package/services/sac-language.service.d.ts.map +1 -0
  898. package/services/sac-language.service.ngfactory.d.ts +5 -0
  899. package/services/sac-language.service.ngfactory.d.ts.map +1 -0
  900. package/services/sac-language.service.ngsummary.d.ts +3 -0
  901. package/services/sac-language.service.ngsummary.d.ts.map +1 -0
  902. package/services/sac-localisation.service.d.ts +137 -0
  903. package/services/sac-localisation.service.d.ts.map +1 -0
  904. package/services/sac-localisation.service.ngfactory.d.ts +5 -0
  905. package/services/sac-localisation.service.ngfactory.d.ts.map +1 -0
  906. package/services/sac-localisation.service.ngsummary.d.ts +3 -0
  907. package/services/sac-localisation.service.ngsummary.d.ts.map +1 -0
  908. package/simpleangularcontrols-sac-common-13.0.0-rc.2.tgz +0 -0
  909. package/simpleangularcontrols-sac-common.d.ts +6 -0
  910. package/simpleangularcontrols-sac-common.d.ts.map +1 -0
  911. package/utilities/convertion.d.ts +16 -0
  912. package/utilities/convertion.d.ts.map +1 -0
  913. package/utilities/convertion.ngfactory.d.ts +2 -0
  914. package/utilities/convertion.ngfactory.d.ts.map +1 -0
  915. package/utilities/convertion.ngsummary.d.ts +2 -0
  916. package/utilities/convertion.ngsummary.d.ts.map +1 -0
  917. package/utilities/datatypes.d.ts +7 -0
  918. package/utilities/datatypes.d.ts.map +1 -0
  919. package/utilities/datatypes.ngfactory.d.ts +2 -0
  920. package/utilities/datatypes.ngfactory.d.ts.map +1 -0
  921. package/utilities/datatypes.ngsummary.d.ts +2 -0
  922. package/utilities/datatypes.ngsummary.d.ts.map +1 -0
  923. package/utilities/enums.d.ts +11 -0
  924. package/utilities/enums.d.ts.map +1 -0
  925. package/utilities/enums.ngfactory.d.ts +2 -0
  926. package/utilities/enums.ngfactory.d.ts.map +1 -0
  927. package/utilities/enums.ngsummary.d.ts +2 -0
  928. package/utilities/enums.ngsummary.d.ts.map +1 -0
  929. package/utilities/interpolation.d.ts +22 -0
  930. package/utilities/interpolation.d.ts.map +1 -0
  931. package/utilities/interpolation.ngfactory.d.ts +2 -0
  932. package/utilities/interpolation.ngfactory.d.ts.map +1 -0
  933. package/utilities/interpolation.ngsummary.d.ts +2 -0
  934. package/utilities/interpolation.ngsummary.d.ts.map +1 -0
  935. package/utilities/positioning.d.ts +83 -0
  936. package/utilities/positioning.d.ts.map +1 -0
  937. package/utilities/positioning.ngfactory.d.ts +2 -0
  938. package/utilities/positioning.ngfactory.d.ts.map +1 -0
  939. package/utilities/positioning.ngsummary.d.ts +2 -0
  940. package/utilities/positioning.ngsummary.d.ts.map +1 -0
  941. package/validation/email.validator.d.ts +3 -0
  942. package/validation/email.validator.d.ts.map +1 -0
  943. package/validation/email.validator.ngfactory.d.ts +2 -0
  944. package/validation/email.validator.ngfactory.d.ts.map +1 -0
  945. package/validation/email.validator.ngsummary.d.ts +2 -0
  946. package/validation/email.validator.ngsummary.d.ts.map +1 -0
  947. package/validation/index.d.ts +3 -0
  948. package/validation/index.d.ts.map +1 -0
  949. package/validation/index.ngfactory.d.ts +2 -0
  950. package/validation/index.ngfactory.d.ts.map +1 -0
  951. package/validation/index.ngsummary.d.ts +2 -0
  952. package/validation/index.ngsummary.d.ts.map +1 -0
  953. package/validation/invaliddate.validator.d.ts +3 -0
  954. package/validation/invaliddate.validator.d.ts.map +1 -0
  955. package/validation/invaliddate.validator.ngfactory.d.ts +2 -0
  956. package/validation/invaliddate.validator.ngfactory.d.ts.map +1 -0
  957. package/validation/invaliddate.validator.ngsummary.d.ts +2 -0
  958. package/validation/invaliddate.validator.ngsummary.d.ts.map +1 -0
  959. package/validation/isDateValid.d.ts +6 -0
  960. package/validation/isDateValid.d.ts.map +1 -0
  961. package/validation/isDateValid.ngfactory.d.ts +2 -0
  962. package/validation/isDateValid.ngfactory.d.ts.map +1 -0
  963. package/validation/isDateValid.ngsummary.d.ts +2 -0
  964. package/validation/isDateValid.ngsummary.d.ts.map +1 -0
  965. package/validation/maxdate.validator.d.ts +3 -0
  966. package/validation/maxdate.validator.d.ts.map +1 -0
  967. package/validation/maxdate.validator.ngfactory.d.ts +2 -0
  968. package/validation/maxdate.validator.ngfactory.d.ts.map +1 -0
  969. package/validation/maxdate.validator.ngsummary.d.ts +2 -0
  970. package/validation/maxdate.validator.ngsummary.d.ts.map +1 -0
  971. package/validation/maxtime.validator.d.ts +3 -0
  972. package/validation/maxtime.validator.d.ts.map +1 -0
  973. package/validation/maxtime.validator.ngfactory.d.ts +2 -0
  974. package/validation/maxtime.validator.ngfactory.d.ts.map +1 -0
  975. package/validation/maxtime.validator.ngsummary.d.ts +2 -0
  976. package/validation/maxtime.validator.ngsummary.d.ts.map +1 -0
  977. package/validation/maxvalue.validator.d.ts +3 -0
  978. package/validation/maxvalue.validator.d.ts.map +1 -0
  979. package/validation/maxvalue.validator.ngfactory.d.ts +2 -0
  980. package/validation/maxvalue.validator.ngfactory.d.ts.map +1 -0
  981. package/validation/maxvalue.validator.ngsummary.d.ts +2 -0
  982. package/validation/maxvalue.validator.ngsummary.d.ts.map +1 -0
  983. package/validation/mindate.validator.d.ts +3 -0
  984. package/validation/mindate.validator.d.ts.map +1 -0
  985. package/validation/mindate.validator.ngfactory.d.ts +2 -0
  986. package/validation/mindate.validator.ngfactory.d.ts.map +1 -0
  987. package/validation/mindate.validator.ngsummary.d.ts +2 -0
  988. package/validation/mindate.validator.ngsummary.d.ts.map +1 -0
  989. package/validation/minfiles.validator.d.ts +3 -0
  990. package/validation/minfiles.validator.d.ts.map +1 -0
  991. package/validation/minfiles.validator.ngfactory.d.ts +2 -0
  992. package/validation/minfiles.validator.ngfactory.d.ts.map +1 -0
  993. package/validation/minfiles.validator.ngsummary.d.ts +2 -0
  994. package/validation/minfiles.validator.ngsummary.d.ts.map +1 -0
  995. package/validation/minlength.validator.d.ts +3 -0
  996. package/validation/minlength.validator.d.ts.map +1 -0
  997. package/validation/minlength.validator.ngfactory.d.ts +2 -0
  998. package/validation/minlength.validator.ngfactory.d.ts.map +1 -0
  999. package/validation/minlength.validator.ngsummary.d.ts +2 -0
  1000. package/validation/minlength.validator.ngsummary.d.ts.map +1 -0
  1001. package/validation/mintime.validator.d.ts +3 -0
  1002. package/validation/mintime.validator.d.ts.map +1 -0
  1003. package/validation/mintime.validator.ngfactory.d.ts +2 -0
  1004. package/validation/mintime.validator.ngfactory.d.ts.map +1 -0
  1005. package/validation/mintime.validator.ngsummary.d.ts +2 -0
  1006. package/validation/mintime.validator.ngsummary.d.ts.map +1 -0
  1007. package/validation/minvalue.validator.d.ts +3 -0
  1008. package/validation/minvalue.validator.d.ts.map +1 -0
  1009. package/validation/minvalue.validator.ngfactory.d.ts +2 -0
  1010. package/validation/minvalue.validator.ngfactory.d.ts.map +1 -0
  1011. package/validation/minvalue.validator.ngsummary.d.ts +2 -0
  1012. package/validation/minvalue.validator.ngsummary.d.ts.map +1 -0
  1013. package/validation/multilanguagerequired.validator.d.ts +4 -0
  1014. package/validation/multilanguagerequired.validator.d.ts.map +1 -0
  1015. package/validation/multilanguagerequired.validator.ngfactory.d.ts +2 -0
  1016. package/validation/multilanguagerequired.validator.ngfactory.d.ts.map +1 -0
  1017. package/validation/multilanguagerequired.validator.ngsummary.d.ts +2 -0
  1018. package/validation/multilanguagerequired.validator.ngsummary.d.ts.map +1 -0
  1019. package/validation/multilanguagerequiredany.validator.d.ts +4 -0
  1020. package/validation/multilanguagerequiredany.validator.d.ts.map +1 -0
  1021. package/validation/multilanguagerequiredany.validator.ngfactory.d.ts +2 -0
  1022. package/validation/multilanguagerequiredany.validator.ngfactory.d.ts.map +1 -0
  1023. package/validation/multilanguagerequiredany.validator.ngsummary.d.ts +2 -0
  1024. package/validation/multilanguagerequiredany.validator.ngsummary.d.ts.map +1 -0
  1025. package/validation/pattern.validator.d.ts +3 -0
  1026. package/validation/pattern.validator.d.ts.map +1 -0
  1027. package/validation/pattern.validator.ngfactory.d.ts +2 -0
  1028. package/validation/pattern.validator.ngfactory.d.ts.map +1 -0
  1029. package/validation/pattern.validator.ngsummary.d.ts +2 -0
  1030. package/validation/pattern.validator.ngsummary.d.ts.map +1 -0
  1031. package/validation/required.validator.d.ts +3 -0
  1032. package/validation/required.validator.d.ts.map +1 -0
  1033. package/validation/required.validator.ngfactory.d.ts +2 -0
  1034. package/validation/required.validator.ngfactory.d.ts.map +1 -0
  1035. package/validation/required.validator.ngsummary.d.ts +2 -0
  1036. package/validation/required.validator.ngsummary.d.ts.map +1 -0
  1037. package/validation/validation.d.ts +140 -0
  1038. package/validation/validation.d.ts.map +1 -0
  1039. package/validation/validation.ngfactory.d.ts +2 -0
  1040. package/validation/validation.ngfactory.d.ts.map +1 -0
  1041. package/validation/validation.ngsummary.d.ts +2 -0
  1042. package/validation/validation.ngsummary.d.ts.map +1 -0
  1043. package/validation/validationerrorcreator.d.ts +2 -0
  1044. package/validation/validationerrorcreator.d.ts.map +1 -0
  1045. package/validation/validationerrorcreator.ngfactory.d.ts +2 -0
  1046. package/validation/validationerrorcreator.ngfactory.d.ts.map +1 -0
  1047. package/validation/validationerrorcreator.ngsummary.d.ts +2 -0
  1048. package/validation/validationerrorcreator.ngsummary.d.ts.map +1 -0
  1049. package/validation/validationerroritem.d.ts +34 -0
  1050. package/validation/validationerroritem.d.ts.map +1 -0
  1051. package/validation/validationerroritem.ngfactory.d.ts +2 -0
  1052. package/validation/validationerroritem.ngfactory.d.ts.map +1 -0
  1053. package/validation/validationerroritem.ngsummary.d.ts +2 -0
  1054. package/validation/validationerroritem.ngsummary.d.ts.map +1 -0
@@ -0,0 +1,553 @@
1
+ import { Directive, EventEmitter, HostListener, Input, Output, } from '@angular/core';
2
+ import { SACICON_SERVICE, SACLOCALISATION_SERVICE, SacDefaultIconService, } from '../../services';
3
+ import { SACFILEBROWSER_SERVICE, SacDefaultFileBrowserService, } from '../../services/sac-filebrowser.service';
4
+ import { SacDefaultLocalisationService } from '../../services/sac-localisation.service';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/common/http";
7
+ /**
8
+ * Base Component für File Browser
9
+ */
10
+ export class SacFileBrowserCommon {
11
+ // #endregion Properties
12
+ // #region Constructors
13
+ /**
14
+ * Konstruktor
15
+ * @param httpclient Angular HTTP Client
16
+ * @param injector Service Injector
17
+ */
18
+ constructor(httpclient, injector) {
19
+ /**
20
+ * File welches beim starten des Browsers bereits selektiert ist
21
+ */
22
+ this.preselecedfile = null;
23
+ /**
24
+ * Erlaubte Dateierweiterungen für Fileauswahl und Upload. Dateierweiterung mit Punkt und
25
+ * getrennt durch Komma für mehr als eine Erweiterung (Example: ".jpg,.gif")
26
+ */
27
+ this.allowedtypes = '';
28
+ /**
29
+ * Erlaubt das löschen einer Datei
30
+ */
31
+ this.allowfiledelete = true;
32
+ /**
33
+ * Erlaubt das umbenennen einer Datei
34
+ */
35
+ this.allowfilerename = true;
36
+ /**
37
+ * Erlaubt den Upload von Dateien
38
+ */
39
+ this.allowfileupload = true;
40
+ /**
41
+ * Erlaubt das erstellen eines neuen Ordners
42
+ */
43
+ this.allowfoldercreate = true;
44
+ /**
45
+ * Erlaubt das löschen eines Ordners
46
+ */
47
+ this.allowfolderdelete = true;
48
+ /**
49
+ * Erlaubt das Umbenennen eines Ordners
50
+ */
51
+ this.allowfolderrename = true;
52
+ /**
53
+ * Output Emitter wenn File selektiert wird.
54
+ */
55
+ this.file = new EventEmitter();
56
+ /**
57
+ * Root Node Item für Tree
58
+ */
59
+ this.rootNode = {
60
+ Name: '',
61
+ ChildNodes: [],
62
+ Files: [],
63
+ IsExpanded: true,
64
+ IsEditMode: false,
65
+ IsNewNode: false,
66
+ Path: '',
67
+ };
68
+ /**
69
+ * Selected File Item
70
+ */
71
+ this.selectedFileItem = null;
72
+ /**
73
+ * Selected Node Item
74
+ */
75
+ this.selectedNode = null;
76
+ /**
77
+ * Liste von Uploads
78
+ */
79
+ this.uploads = [];
80
+ this.browserService = injector.get(SACFILEBROWSER_SERVICE, new SacDefaultFileBrowserService(httpclient));
81
+ this.lngResourceService = injector.get(SACLOCALISATION_SERVICE, new SacDefaultLocalisationService());
82
+ this.iconService = injector.get(SACICON_SERVICE, new SacDefaultIconService());
83
+ }
84
+ // #endregion Constructors
85
+ // #region Public Getters And Setters
86
+ /**
87
+ * CSS icon class for delete icon
88
+ * @returns css class with icon
89
+ */
90
+ get iconDelete() {
91
+ return this.iconService.BrowserComponentDeleteIcon;
92
+ }
93
+ /**
94
+ * CSS icon class for edit icon
95
+ * @returns css class with icon
96
+ */
97
+ get iconEdit() {
98
+ return this.iconService.BrowserComponentEditIcon;
99
+ }
100
+ /**
101
+ * CSS icon for folders in tree there are collabsed
102
+ * @returns css class with icon
103
+ */
104
+ get iconFolderCollabsed() {
105
+ return this.iconService.BrowserComponentFolderClosedIcon;
106
+ }
107
+ /**
108
+ * CSS icon class for folders without subfolders
109
+ * @returns css class with icon
110
+ */
111
+ get iconFolderEmpty() {
112
+ return this.iconService.BrowserComponentFolderEmptyIcon;
113
+ }
114
+ /**
115
+ * CSS icon for new folders action
116
+ * @returns css class with icon
117
+ */
118
+ get iconFolderNew() {
119
+ return this.iconService.BrowserComponentFolderNewIcon;
120
+ }
121
+ /**
122
+ * CSS icon for folders in tree there are expanded
123
+ * @returns css class with icon
124
+ */
125
+ get iconFolderOpen() {
126
+ return this.iconService.BrowserComponentFolderOpenIcon;
127
+ }
128
+ /**
129
+ * CSS icon class for refresh icon
130
+ * @returns css class with icon
131
+ */
132
+ get iconRefresh() {
133
+ return this.iconService.BrowserComponentRefreshIcon;
134
+ }
135
+ /**
136
+ * Getter für Selected File. Ist an Input Property gebunden
137
+ */
138
+ get selectedfile() {
139
+ if (this.selectFile && this.selectFile.length > 0) {
140
+ return this.selectedFile;
141
+ }
142
+ else {
143
+ return null;
144
+ }
145
+ }
146
+ /**
147
+ * Setzt den Seleced Node über den Pfad
148
+ */
149
+ set selectedfile(v) {
150
+ const selectednode = this.findSelectedNodeByPath(this.rootNode, v);
151
+ if (selectednode !== null) {
152
+ this.selectNode(selectednode);
153
+ }
154
+ this.preselecedfile = v;
155
+ }
156
+ // #endregion Public Getters And Setters
157
+ // #region Public Methods
158
+ /**
159
+ * Löscht ein File
160
+ * @param file File welches gelöscht werden soll
161
+ */
162
+ deleteFile(file) {
163
+ this.confirmDeleteFile(file).subscribe((confirm) => {
164
+ if (confirm) {
165
+ this.browserService
166
+ .DeleteFile(this.apiurl, this.selectedNode.Path + '/' + file.Filename, this.allowedtypes)
167
+ .subscribe((result) => {
168
+ this.selectedNode.Files = result.Files;
169
+ });
170
+ }
171
+ });
172
+ }
173
+ /**
174
+ * Löscht einen Node
175
+ * @param node Node welcher gelöscht werden soll
176
+ */
177
+ deleteNode(node) {
178
+ this.confirmDeleteNode(node).subscribe((confirm) => {
179
+ if (confirm) {
180
+ this.browserService
181
+ .DeleteNode(this.apiurl, node.Path)
182
+ .subscribe((result) => {
183
+ const parentNode = this.findParentNode(this.rootNode, node);
184
+ parentNode.ChildNodes = result.Node.ChildNodes;
185
+ this.rootNode.ChildNodes.forEach((itm) => {
186
+ this.fillPath(itm, '');
187
+ });
188
+ this.selectNode(parentNode);
189
+ });
190
+ }
191
+ });
192
+ }
193
+ /**
194
+ * Setzt ein File in den Edit Mode
195
+ * @param file File welches in den Edit Mode gesetzt werden soll
196
+ */
197
+ editFile(file) {
198
+ file.IsEditMode = true;
199
+ }
200
+ /**
201
+ * Setzt einen Node in den Edit Mode
202
+ * @param node Node welcher bearbeitet werden soll
203
+ */
204
+ editNode(node) {
205
+ node.IsEditMode = true;
206
+ }
207
+ /**
208
+ * HostListener welcher den Edit Mode bei allen Files und Nodes beendet.
209
+ */
210
+ exitEditMode(targetElement) {
211
+ if (this.selectedNode) {
212
+ this.selectedNode.Files.forEach((itm) => (itm.IsEditMode = false));
213
+ if (!this.selectedNode ||
214
+ this.selectedNode.Name === null ||
215
+ this.selectedNode.Name.length === 0) {
216
+ this.clearNewChildNodes(this.rootNode);
217
+ }
218
+ }
219
+ this.resetNodeEditMode(null);
220
+ }
221
+ /**
222
+ * Erzeugt einen neuen Node im Tree
223
+ * @param node Node unter welchem ein neuer Node erstellt werden soll
224
+ */
225
+ newNode(node) {
226
+ const item = {
227
+ ChildNodes: [],
228
+ Files: [],
229
+ IsEditMode: false,
230
+ IsExpanded: false,
231
+ Name: '',
232
+ Path: node.Path,
233
+ IsNewNode: true,
234
+ };
235
+ node.ChildNodes.push(item);
236
+ this.selectNode(item);
237
+ this.editNode(item);
238
+ }
239
+ /**
240
+ * Init Event der Komponente
241
+ */
242
+ ngOnInit() {
243
+ this.browserService
244
+ .GetNode(this.apiurl, '', this.allowedtypes)
245
+ .subscribe((result) => {
246
+ this.rootNode = {
247
+ Name: result.Node.Name,
248
+ Files: result.Node.Files,
249
+ ChildNodes: result.Node.ChildNodes,
250
+ IsExpanded: true,
251
+ IsEditMode: false,
252
+ IsNewNode: false,
253
+ Path: '/',
254
+ };
255
+ this.setPathToAllNodes();
256
+ this.selectedNode = this.rootNode;
257
+ // Selected File erneut setzen, wenn Property gesetzt wurde bevor Daten vom Service geladen wurden.
258
+ if (this.preselecedfile !== null && this.preselecedfile.length > 0) {
259
+ this.selectedfile = this.preselecedfile;
260
+ }
261
+ });
262
+ }
263
+ /**
264
+ * Aktualisiert den Node
265
+ */
266
+ refreshNode(node) {
267
+ if (!node.IsExpanded) {
268
+ this.switchExpandNode(node);
269
+ }
270
+ this.browserService
271
+ .GetNode(this.apiurl, node.Path, this.allowedtypes)
272
+ .subscribe((result) => {
273
+ node.ChildNodes = result.Node.ChildNodes;
274
+ node.Files = result.Node.Files;
275
+ this.setPathToAllNodes();
276
+ });
277
+ }
278
+ /**
279
+ * Methode wenn eine Datei umbenannt werden soll
280
+ * @param file File welches umbenannt werden soll
281
+ * @param newFilename Neuer Dateiname
282
+ */
283
+ renameFile(file, newFilename) {
284
+ file.IsEditMode = false;
285
+ if (!newFilename || newFilename === null || newFilename.length === 0) {
286
+ // Cancel, Invalid Filename
287
+ return;
288
+ }
289
+ if (file.Filename !== newFilename) {
290
+ this.browserService
291
+ .RenameFile(this.apiurl, this.selectedNode.Path + '/' + file.Filename, newFilename, this.allowedtypes)
292
+ .subscribe((result) => {
293
+ this.selectedNode.Files = result.Files;
294
+ });
295
+ }
296
+ }
297
+ /**
298
+ * Methode wenn ein Node umbenannt werden soll
299
+ * @param node Node welcher umbenannt werden soll
300
+ * @param newFoldername Neuer Ordnername
301
+ */
302
+ renameNode(node, newFoldername) {
303
+ node.IsEditMode = false;
304
+ if (!node.IsNewNode) {
305
+ if (!newFoldername ||
306
+ newFoldername === null ||
307
+ newFoldername.length === 0) {
308
+ // Cancel Rename. Invalid Foldername
309
+ return;
310
+ }
311
+ if (node.Name !== newFoldername) {
312
+ this.browserService
313
+ .RenameNode(this.apiurl, node.Path, newFoldername)
314
+ .subscribe((result) => {
315
+ node.Name = result.Node.Name;
316
+ this.setPathToAllNodes();
317
+ });
318
+ }
319
+ }
320
+ else {
321
+ if (!newFoldername ||
322
+ newFoldername === null ||
323
+ newFoldername.length === 0) {
324
+ this.clearNewChildNodes(this.rootNode);
325
+ return;
326
+ }
327
+ node.Name = newFoldername;
328
+ node.IsNewNode = false;
329
+ this.browserService
330
+ .SaveNode(this.apiurl, node.Path, newFoldername)
331
+ .subscribe((result) => {
332
+ node.Name = result.Node.Name;
333
+ node.Files = result.Node.Files;
334
+ this.setPathToAllNodes();
335
+ });
336
+ }
337
+ }
338
+ /**
339
+ * Methode wenn ein File selektiert wird
340
+ * @param file File welches selektiert wird
341
+ */
342
+ selectFile(file) {
343
+ if (!file.IsEditMode) {
344
+ this.selectedNode.Files.forEach((itm) => (itm.IsEditMode = false));
345
+ }
346
+ if (!this.selectedNode.Path.endsWith('/')) {
347
+ this.selectedFile = this.selectedNode.Path + '/' + file.Filename;
348
+ }
349
+ else {
350
+ this.selectedFile = '/' + file.Filename;
351
+ }
352
+ this.selectedFileItem = file;
353
+ this.file.emit(this.selectedFile);
354
+ }
355
+ /**
356
+ * Methode wenn ein Node selektiert wird
357
+ * @param node Node welcher selektiert werden soll
358
+ */
359
+ selectNode(node) {
360
+ if (!node.IsExpanded) {
361
+ this.switchExpandNode(node);
362
+ }
363
+ // Reset the Edit Mode in all Nodes
364
+ this.resetNodeEditMode(null);
365
+ if (!node.Files) {
366
+ this.browserService
367
+ .GetFiles(this.apiurl, node.Path, this.allowedtypes)
368
+ .subscribe((result) => {
369
+ node.Files = result.Files;
370
+ this.selectedNode = node;
371
+ if (this.preselecedfile !== null && this.preselecedfile.length > 0) {
372
+ const filename = this.preselecedfile.substring(this.preselecedfile.lastIndexOf('/') + 1);
373
+ const file = node.Files.find((itm) => itm.Filename === filename);
374
+ if (file) {
375
+ this.selectFile(file);
376
+ }
377
+ }
378
+ });
379
+ }
380
+ else {
381
+ this.selectedNode = node;
382
+ }
383
+ }
384
+ /**
385
+ * Expand/Collabse Methode für Nodes
386
+ * @param node Node welcher geöffnet oder geschlossen werden soll
387
+ */
388
+ switchExpandNode(node) {
389
+ if (node.IsExpanded) {
390
+ node.IsExpanded = false;
391
+ }
392
+ else {
393
+ node.IsExpanded = true;
394
+ }
395
+ }
396
+ /**
397
+ * Methode die Aufgerufen werden muss, wenn ein Upload beendet ist.
398
+ * @param param Parameter des hochgeladenen Files
399
+ */
400
+ uploadComplete(node, uploadIdList) {
401
+ if (uploadIdList !== null) {
402
+ uploadIdList.forEach((element) => {
403
+ if (this.uploads.indexOf(element) < 0) {
404
+ this.uploads.push(element);
405
+ }
406
+ });
407
+ }
408
+ const id = this.uploads.pop();
409
+ if (id) {
410
+ this.browserService
411
+ .SaveFile(this.apiurl, node.Path, id, this.allowedtypes)
412
+ .subscribe((result) => {
413
+ this.selectedNode.Files = result.Files;
414
+ this.uploadedFileMoved(id);
415
+ });
416
+ }
417
+ }
418
+ // #endregion Public Abstract Methods
419
+ // #region Private Methods
420
+ /**
421
+ * Rekursive Methode welche beim Node und all seinen Childs neue Nodes entfernt
422
+ * @param node Node bei welchem alle neuen Nodes entfernt werden soll.
423
+ */
424
+ clearNewChildNodes(node) {
425
+ node.ChildNodes.forEach((itm) => {
426
+ if (itm.IsNewNode) {
427
+ node.ChildNodes.splice(node.ChildNodes.indexOf(itm));
428
+ }
429
+ });
430
+ node.ChildNodes.forEach((itm) => this.clearNewChildNodes(itm));
431
+ }
432
+ /**
433
+ * Methode welche den Pfad für einen Node erzeugt
434
+ * @param node Node für welchen der Pfad erzeugt werden soll
435
+ * @param parentPath Übergeordneter Pfad
436
+ */
437
+ fillPath(node, parentPath) {
438
+ node.Path = parentPath + '/' + node.Name;
439
+ node.ChildNodes.forEach((itm) => {
440
+ this.fillPath(itm, node.Path);
441
+ });
442
+ }
443
+ /**
444
+ * Sucht den übergeordneten Node im Tree
445
+ * @param node Aktueller Node
446
+ * @param nodeToFind Node welcher gefunden werden soll
447
+ * @returns Node wenn er gefunden wurde, ansonsten wird NULL zurückgegeben
448
+ */
449
+ findParentNode(node, nodeToFind) {
450
+ if (node.ChildNodes.indexOf(nodeToFind) >= 0) {
451
+ return node;
452
+ }
453
+ for (const child of node.ChildNodes) {
454
+ const result = this.findParentNode(child, nodeToFind);
455
+ if (result !== null) {
456
+ return result;
457
+ }
458
+ }
459
+ return null;
460
+ }
461
+ /**
462
+ * Sucht einen Node gem. einem URL Pfad
463
+ * @param node Node in welchem gesucht werden soll
464
+ * @param path Pfad nach welchem gesucht wird
465
+ * @returns Node welcher zum gesuchten Pfad passt. Wenn kein Node gefunden wird, wird NULL zurückgegeben
466
+ */
467
+ findSelectedNodeByPath(node, path) {
468
+ // Cancel wenn Pfad nicht definiert
469
+ if (path === undefined || path === null) {
470
+ return null;
471
+ }
472
+ // Pfad in Array splitten und Root Foldername setzen
473
+ const pathArray = path.split('/');
474
+ pathArray[0] = this.rootNode.Name;
475
+ return this.findSelectedNodeByPathArray(node, pathArray, 0);
476
+ }
477
+ /**
478
+ * Sucht einen Node gem. einem Array von Node Namen
479
+ * @param node Node in welchem gesucht werden soll
480
+ * @param path Array von Node Namen, welche die Hirarchy des Pfades abbilden
481
+ * @param index Aktueller Index im PATH Array
482
+ * @returns Node wenn einer gefunden wurde, ansonsten NULL
483
+ */
484
+ findSelectedNodeByPathArray(node, path, index) {
485
+ // Check ob Ordner korrekt. Letzer Ordner zurückgeben. Path Last Index ist der Filename
486
+ if (node.Name === path[index] && path.length - 2 === index) {
487
+ return node;
488
+ }
489
+ else if (node.Name === path[index]) {
490
+ // Expand Node
491
+ node.IsExpanded = true;
492
+ for (const item of node.ChildNodes) {
493
+ const result = this.findSelectedNodeByPathArray(item, path, index + 1);
494
+ if (result !== null) {
495
+ return result;
496
+ }
497
+ }
498
+ }
499
+ return null;
500
+ }
501
+ /**
502
+ * Rekursive Methode welche beim Node und all seinen Childs den Edit Mode beendet.
503
+ * @param node Node bei welchem der Edit Mode beendet werden soll
504
+ */
505
+ resetNodeEditMode(node) {
506
+ if (node === null) {
507
+ this.resetNodeEditMode(this.rootNode);
508
+ }
509
+ else {
510
+ node.IsEditMode = false;
511
+ if (node.ChildNodes) {
512
+ node.ChildNodes.forEach((itm) => this.resetNodeEditMode(itm));
513
+ }
514
+ }
515
+ }
516
+ /**
517
+ * Setzt den Pfad in allen Nodes
518
+ */
519
+ setPathToAllNodes() {
520
+ this.rootNode.ChildNodes.forEach((itm) => {
521
+ this.fillPath(itm, '');
522
+ });
523
+ }
524
+ }
525
+ SacFileBrowserCommon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacFileBrowserCommon, deps: [{ token: i1.HttpClient }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive });
526
+ SacFileBrowserCommon.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: SacFileBrowserCommon, inputs: { allowedtypes: "allowedtypes", allowfiledelete: "allowfiledelete", allowfilerename: "allowfilerename", allowfileupload: "allowfileupload", allowfoldercreate: "allowfoldercreate", allowfolderdelete: "allowfolderdelete", allowfolderrename: "allowfolderrename", apiurl: "apiurl", selectedfile: "selectedfile" }, outputs: { file: "file" }, host: { listeners: { "document:click": "exitEditMode($event.target)" } }, ngImport: i0 });
527
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacFileBrowserCommon, decorators: [{
528
+ type: Directive
529
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i0.Injector }]; }, propDecorators: { allowedtypes: [{
530
+ type: Input
531
+ }], allowfiledelete: [{
532
+ type: Input
533
+ }], allowfilerename: [{
534
+ type: Input
535
+ }], allowfileupload: [{
536
+ type: Input
537
+ }], allowfoldercreate: [{
538
+ type: Input
539
+ }], allowfolderdelete: [{
540
+ type: Input
541
+ }], allowfolderrename: [{
542
+ type: Input
543
+ }], apiurl: [{
544
+ type: Input
545
+ }], file: [{
546
+ type: Output
547
+ }], selectedfile: [{
548
+ type: Input
549
+ }], exitEditMode: [{
550
+ type: HostListener,
551
+ args: ['document:click', ['$event.target']]
552
+ }] } });
553
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJvd3Nlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1jb21tb24vc3JjL2NvbXBvbmVudHMvYnJvd3Nlci9icm93c2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFlBQVksRUFFWixLQUFLLEVBRUwsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBS3ZCLE9BQU8sRUFDTCxlQUFlLEVBQ2YsdUJBQXVCLEVBQ3ZCLHFCQUFxQixHQUN0QixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFDTCxzQkFBc0IsRUFDdEIsNEJBQTRCLEdBQzdCLE1BQU0sd0NBQXdDLENBQUM7QUFDaEQsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0seUNBQXlDLENBQUM7OztBQU14Rjs7R0FFRztBQUVILE1BQU0sT0FBZ0Isb0JBQW9CO0lBK0Z4Qyx3QkFBd0I7SUFFeEIsdUJBQXVCO0lBRXZCOzs7O09BSUc7SUFDSCxZQUFZLFVBQXNCLEVBQUUsUUFBa0I7UUE3RnREOztXQUVHO1FBQ0ssbUJBQWMsR0FBa0IsSUFBSSxDQUFDO1FBRTdDOzs7V0FHRztRQUVJLGlCQUFZLEdBQVcsRUFBRSxDQUFDO1FBQ2pDOztXQUVHO1FBRUksb0JBQWUsR0FBWSxJQUFJLENBQUM7UUFDdkM7O1dBRUc7UUFFSSxvQkFBZSxHQUFZLElBQUksQ0FBQztRQUN2Qzs7V0FFRztRQUVJLG9CQUFlLEdBQVksSUFBSSxDQUFDO1FBQ3ZDOztXQUVHO1FBRUksc0JBQWlCLEdBQVksSUFBSSxDQUFDO1FBQ3pDOztXQUVHO1FBRUksc0JBQWlCLEdBQVksSUFBSSxDQUFDO1FBQ3pDOztXQUVHO1FBRUksc0JBQWlCLEdBQVksSUFBSSxDQUFDO1FBTXpDOztXQUVHO1FBRUksU0FBSSxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBSy9EOztXQUVHO1FBQ0ksYUFBUSxHQUFpQjtZ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QjtrQkFEekMsU0FBUzt3SEFzQkQsWUFBWTtzQkFEbEIsS0FBSztnQkFNQyxlQUFlO3NCQURyQixLQUFLO2dCQU1DLGVBQWU7c0JBRHJCLEtBQUs7Z0JBTUMsZUFBZTtzQkFEckIsS0FBSztnQkFNQyxpQkFBaUI7c0JBRHZCLEtBQUs7Z0JBTUMsaUJBQWlCO3NCQUR2QixLQUFLO2dCQU1DLGlCQUFpQjtzQkFEdkIsS0FBSztnQkFNQyxNQUFNO3NCQURaLEtBQUs7Z0JBTUMsSUFBSTtzQkFEVixNQUFNO2dCQXdJSSxZQUFZO3NCQUR0QixLQUFLO2dCQWlGQyxZQUFZO3NCQUpsQixZQUFZO3VCQUFDLGdCQUFnQixFQUFFLENBQUMsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHtcclxuICBEaXJlY3RpdmUsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEhvc3RMaXN0ZW5lcixcclxuICBJbmplY3RvcixcclxuICBJbnB1dCxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IElTYWNGaWxlQnJvd3NlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lTYWNGaWxlQnJvd3NlclNlcnZpY2UnO1xyXG5pbXBvcnQgeyBJU2FjSWNvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lTYWNJY29uU2VydmljZSc7XHJcbmltcG9ydCB7IElTYWNMb2NhbGlzYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9JU2FjTG9jYWxpc2F0aW9uU2VydmljZSc7XHJcbmltcG9ydCB7XHJcbiAgU0FDSUNPTl9TRVJWSUNFLFxyXG4gIFNBQ0xPQ0FMSVNBVElPTl9TRVJWSUNFLFxyXG4gIFNhY0RlZmF1bHRJY29uU2VydmljZSxcclxufSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XHJcbmltcG9ydCB7XHJcbiAgU0FDRklMRUJST1dTRVJfU0VSVklDRSxcclxuICBTYWNEZWZhdWx0RmlsZUJyb3dzZXJTZXJ2aWNlLFxyXG59IGZyb20gJy4uLy4uL3NlcnZpY2VzL3NhYy1maWxlYnJvd3Nlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU2FjRGVmYXVsdExvY2FsaXNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9zYWMtbG9jYWxpc2F0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBJQnJvd3NlckZpbGUgfSBmcm9tICcuL21vZGVscy9icm93c2VyZmlsZSc7XHJcbmltcG9ydCB7IElCcm93c2VyRmlsZVJlc3BvbnNlIH0gZnJvbSAnLi9tb2RlbHMvYnJvd3NlcmZpbGVyZXNwb25zZSc7XHJcbmltcG9ydCB7IElCcm93c2VyTm9kZSB9IGZyb20gJy4vbW9kZWxzL2Jyb3dzZXJub2RlJztcclxuaW1wb3J0IHsgSUJyb3dzZXJOb2RlUmVzcG9uc2UgfSBmcm9tICcuL21vZGVscy9icm93c2Vybm9kZXJlc3BvbnNlJztcclxuXHJcbi8qKlxyXG4gKiBCYXNlIENvbXBvbmVudCBmw7xyIEZpbGUgQnJvd3NlclxyXG4gKi9cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTYWNGaWxlQnJvd3NlckNvbW1vbiBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgLy8gI3JlZ2lvbiBQcm9wZXJ0aWVzXHJcblxyXG4gIC8qKlxyXG4gICAqIFNlcnZpY2UgZsO8ciBGaWxlIEJyb3dzZXIgWnVncmlmZiAoQmFja2VuZClcclxuICAgKi9cclxuICBwcml2YXRlIGJyb3dzZXJTZXJ2aWNlOiBJU2FjRmlsZUJyb3dzZXJTZXJ2aWNlO1xyXG4gIC8qKlxyXG4gICAqIEljb24gc2VydmljZSB0byByZWNlaXZlIGljb24gY2xhc3NlcyBmb3IgdWlcclxuICAgKi9cclxuICBwcml2YXRlIGljb25TZXJ2aWNlOiBJU2FjSWNvblNlcnZpY2U7XHJcbiAgLyoqXHJcbiAgICogRmlsZSB3ZWxjaGVzIGJlaW0gc3RhcnRlbiBkZXMgQnJvd3NlcnMgYmVyZWl0cyBzZWxla3RpZXJ0IGlzdFxyXG4gICAqL1xyXG4gIHByaXZhdGUgcHJlc2VsZWNlZGZpbGU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG5cclxuICAvKipcclxuICAgKiBFcmxhdWJ0ZSBEYXRlaWVyd2VpdGVydW5nZW4gZsO8ciBGaWxlYXVzd2FobCB1bmQgVXBsb2FkLiBEYXRlaWVyd2VpdGVydW5nIG1pdCBQdW5rdCB1bmRcclxuICAgKiBnZXRyZW5udCBkdXJjaCBLb21tYSBmw7xyIG1laHIgYWxzIGVpbmUgRXJ3ZWl0ZXJ1bmcgKEV4YW1wbGU6IFwiLmpwZywuZ2lmXCIpXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYWxsb3dlZHR5cGVzOiBzdHJpbmcgPSAnJztcclxuICAvKipcclxuICAgKiBFcmxhdWJ0IGRhcyBsw7ZzY2hlbiBlaW5lciBEYXRlaVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGFsbG93ZmlsZWRlbGV0ZTogYm9vbGVhbiA9IHRydWU7XHJcbiAgLyoqXHJcbiAgICogRXJsYXVidCBkYXMgdW1iZW5lbm5lbiBlaW5lciBEYXRlaVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGFsbG93ZmlsZXJlbmFtZTogYm9vbGVhbiA9IHRydWU7XHJcbiAgLyoqXHJcbiAgICogRXJsYXVidCBkZW4gVXBsb2FkIHZvbiBEYXRlaWVuXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYWxsb3dmaWxldXBsb2FkOiBib29sZWFuID0gdHJ1ZTtcclxuICAvKipcclxuICAgKiBFcmxhdWJ0IGRhcyBlcnN0ZWxsZW4gZWluZXMgbmV1ZW4gT3JkbmVyc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGFsbG93Zm9sZGVyY3JlYXRlOiBib29sZWFuID0gdHJ1ZTtcclxuICAvKipcclxuICAgKiBFcmxhdWJ0IGRhcyBsw7ZzY2hlbiBlaW5lcyBPcmRuZXJzXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYWxsb3dmb2xkZXJkZWxldGU6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIC8qKlxyXG4gICAqIEVybGF1YnQgZGFzIFVtYmVuZW5uZW4gZWluZXMgT3JkbmVyc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGFsbG93Zm9sZGVycmVuYW1lOiBib29sZWFuID0gdHJ1ZTtcclxuICAvKipcclxuICAgKiBVUkwgZsO8ciBCYWNrZW5kIEFQSVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGFwaXVybDogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIE91dHB1dCBFbWl0dGVyIHdlbm4gRmlsZSBzZWxla3RpZXJ0IHdpcmQuXHJcbiAgICovXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGZpbGU6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcbiAgLyoqXHJcbiAgICogU2VydmljZSBmw7xyIEVycm9yIExvY2FsaXNhdGlvblxyXG4gICAqL1xyXG4gIHB1YmxpYyBsbmdSZXNvdXJjZVNlcnZpY2U6IElTYWNMb2NhbGlzYXRpb25TZXJ2aWNlO1xyXG4gIC8qKlxyXG4gICAqIFJvb3QgTm9kZSBJdGVtIGbDvHIgVHJlZVxyXG4gICAqL1xyXG4gIHB1YmxpYyByb290Tm9kZTogSUJyb3dzZXJOb2RlID0ge1xyXG4gICAgTmFtZTogJycsXHJcbiAgICBDaGlsZE5vZGVzOiBbXSxcclxuICAgIEZpbGVzOiBbXSxcclxuICAgIElzRXhwYW5kZWQ6IHRydWUsXHJcbiAgICBJc0VkaXRNb2RlOiBmYWxzZSxcclxuICAgIElzTmV3Tm9kZTogZmFsc2UsXHJcbiAgICBQYXRoOiAnJyxcclxuICB9O1xyXG4gIC8qKlxyXG4gICAqIFNlbGVjdGVkIEZpbGUgTmFtZVxyXG4gICAqL1xyXG4gIHB1YmxpYyBzZWxlY3RlZEZpbGU6IHN0cmluZztcclxuICAvKipcclxuICAgKiBTZWxlY3RlZCBGaWxlIEl0ZW1cclxuICAgKi9cclxuICBwdWJsaWMgc2VsZWN0ZWRGaWxlSXRlbTogSUJyb3dzZXJGaWxlID0gbnVsbDtcclxuICAvKipcclxuICAgKiBTZWxlY3RlZCBOb2RlIEl0ZW1cclxuICAgKi9cclxuICBwdWJsaWMgc2VsZWN0ZWROb2RlOiBJQnJvd3Nlck5vZGUgPSBudWxsO1xyXG4gIC8qKlxyXG4gICAqIExpc3RlIHZvbiBVcGxvYWRzXHJcbiAgICovXHJcbiAgcHVibGljIHVwbG9hZHM6IHN0cmluZ1tdID0gW107XHJcblxyXG4gIC8vICNlbmRyZWdpb24gUHJvcGVydGllc1xyXG5cclxuICAvLyAjcmVnaW9uIENvbnN0cnVjdG9yc1xyXG5cclxuICAvKipcclxuICAgKiBLb25zdHJ1a3RvclxyXG4gICAqIEBwYXJhbSBodHRwY2xpZW50IEFuZ3VsYXIgSFRUUCBDbGllbnRcclxuICAgKiBAcGFyYW0gaW5qZWN0b3IgU2VydmljZSBJbmplY3RvclxyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKGh0dHBjbGllbnQ6IEh0dHBDbGllbnQsIGluamVjdG9yOiBJbmplY3Rvcikge1xyXG4gICAgdGhpcy5icm93c2VyU2VydmljZSA9IGluamVjdG9yLmdldChcclxuICAgICAgU0FDRklMRUJST1dTRVJfU0VSVklDRSxcclxuICAgICAgbmV3IFNhY0RlZmF1bHRGaWxlQnJvd3NlclNlcnZpY2UoaHR0cGNsaWVudClcclxuICAgICk7XHJcblxyXG4gICAgdGhpcy5sbmdSZXNvdXJjZVNlcnZpY2UgPSBpbmplY3Rvci5nZXQoXHJcbiAgICAgIFNBQ0xPQ0FMSVNBVElPTl9TRVJWSUNFLFxyXG4gICAgICBuZXcgU2FjRGVmYXVsdExvY2FsaXNhdGlvblNlcnZpY2UoKVxyXG4gICAgKTtcclxuXHJcbiAgICB0aGlzLmljb25TZXJ2aWNlID0gaW5qZWN0b3IuZ2V0KFxyXG4gICAgICBTQUNJQ09OX1NFUlZJQ0UsXHJcbiAgICAgIG5ldyBTYWNEZWZhdWx0SWNvblNlcnZpY2UoKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8vICNlbmRyZWdpb24gQ29uc3RydWN0b3JzXHJcblxyXG4gIC8vICNyZWdpb24gUHVibGljIEdldHRlcnMgQW5kIFNldHRlcnNcclxuXHJcbiAgLyoqXHJcbiAgICogQ1NTIGljb24gY2xhc3MgZm9yIGRlbGV0ZSBpY29uXHJcbiAgICogQHJldHVybnMgY3NzIGNsYXNzIHdpdGggaWNvblxyXG4gICAqL1xyXG4gIHB1YmxpYyBnZXQgaWNvbkRlbGV0ZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuaWNvblNlcnZpY2UuQnJvd3NlckNvbXBvbmVudERlbGV0ZUljb247XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDU1MgaWNvbiBjbGFzcyBmb3IgZWRpdCBpY29uXHJcbiAgICogQHJldHVybnMgY3NzIGNsYXNzIHdpdGggaWNvblxyXG4gICAqL1xyXG4gIHB1YmxpYyBnZXQgaWNvbkVkaXQoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLmljb25TZXJ2aWNlLkJyb3dzZXJDb21wb25lbnRFZGl0SWNvbjtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENTUyBpY29uIGZvciBmb2xkZXJzIGluIHRyZWUgdGhlcmUgYXJlIGNvbGxhYnNlZFxyXG4gICAqIEByZXR1cm5zIGNzcyBjbGFzcyB3aXRoIGljb25cclxuICAgKi9cclxuICBwdWJsaWMgZ2V0IGljb25Gb2xkZXJDb2xsYWJzZWQoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLmljb25TZXJ2aWNlLkJyb3dzZXJDb21wb25lbnRGb2xkZXJDbG9zZWRJY29uO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ1NTIGljb24gY2xhc3MgZm9yIGZvbGRlcnMgd2l0aG91dCBzdWJmb2xkZXJzXHJcbiAgICogQHJldHVybnMgY3NzIGNsYXNzIHdpdGggaWNvblxyXG4gICAqL1xyXG4gIHB1YmxpYyBnZXQgaWNvbkZvbGRlckVtcHR5KCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5pY29uU2VydmljZS5Ccm93c2VyQ29tcG9uZW50Rm9sZGVyRW1wdHlJY29uO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ1NTIGljb24gZm9yIG5ldyBmb2xkZXJzIGFjdGlvblxyXG4gICAqIEByZXR1cm5zIGNzcyBjbGFzcyB3aXRoIGljb25cclxuICAgKi9cclxuICBwdWJsaWMgZ2V0IGljb25Gb2xkZXJOZXcoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLmljb25TZXJ2aWNlLkJyb3dzZXJDb21wb25lbnRGb2xkZXJOZXdJY29uO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ1NTIGljb24gZm9yIGZvbGRlcnMgaW4gdHJlZSB0aGVyZSBhcmUgZXhwYW5kZWRcclxuICAgKiBAcmV0dXJucyBjc3MgY2xhc3Mgd2l0aCBpY29uXHJcbiAgICovXHJcbiAgcHVibGljIGdldCBpY29uRm9sZGVyT3BlbigpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuaWNvblNlcnZpY2UuQnJvd3NlckNvbXBvbmVudEZvbGRlck9wZW5JY29uO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ1NTIGljb24gY2xhc3MgZm9yIHJlZnJlc2ggaWNvblxyXG4gICAqIEByZXR1cm5zIGNzcyBjbGFzcyB3aXRoIGljb25cclxuICAgKi9cclxuICBwdWJsaWMgZ2V0IGljb25SZWZyZXNoKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5pY29uU2VydmljZS5Ccm93c2VyQ29tcG9uZW50UmVmcmVzaEljb247XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXR0ZXIgZsO8ciBTZWxlY3RlZCBGaWxlLiBJc3QgYW4gSW5wdXQgUHJvcGVydHkgZ2VidW5kZW5cclxuICAgKi9cclxuICBwdWJsaWMgZ2V0IHNlbGVjdGVkZmlsZSgpOiBzdHJpbmcgfCBudWxsIHtcclxuICAgIGlmICh0aGlzLnNlbGVjdEZpbGUgJiYgdGhpcy5zZWxlY3RGaWxlLmxlbmd0aCA+IDApIHtcclxuICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRGaWxlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXR6dCBkZW4gU2VsZWNlZCBOb2RlIMO8YmVyIGRlbiBQZmFkXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IHNlbGVjdGVkZmlsZSh2OiBzdHJpbmcgfCBudWxsKSB7XHJcbiAgICBjb25zdCBzZWxlY3RlZG5vZGUgPSB0aGlzLmZpbmRTZWxlY3RlZE5vZGVCeVBhdGgodGhpcy5yb290Tm9kZSwgdik7XHJcblxyXG4gICAgaWYgKHNlbGVjdGVkbm9kZSAhPT0gbnVsbCkge1xyXG4gICAgICB0aGlzLnNlbGVjdE5vZGUoc2VsZWN0ZWRub2RlKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnByZXNlbGVjZWRmaWxlID0gdjtcclxuICB9XHJcblxyXG4gIC8vICNlbmRyZWdpb24gUHVibGljIEdldHRlcnMgQW5kIFNldHRlcnNcclxuXHJcbiAgLy8gI3JlZ2lvbiBQdWJsaWMgTWV0aG9kc1xyXG5cclxuICAvKipcclxuICAgKiBMw7ZzY2h0IGVpbiBGaWxlXHJcbiAgICogQHBhcmFtIGZpbGUgRmlsZSB3ZWxjaGVzIGdlbMO2c2NodCB3ZXJkZW4gc29sbFxyXG4gICAqL1xyXG4gIHB1YmxpYyBkZWxldGVGaWxlKGZpbGU6IElCcm93c2VyRmlsZSk6IHZvaWQge1xyXG4gICAgdGhpcy5jb25maXJtRGVsZXRlRmlsZShmaWxlKS5zdWJzY3JpYmUoKGNvbmZpcm0pID0+IHtcclxuICAgICAgaWYgKGNvbmZpcm0pIHtcclxuICAgICAgICB0aGlzLmJyb3dzZXJTZXJ2aWNlXHJcbiAgICAgICAgICAuRGVsZXRlRmlsZShcclxuICAgICAgICAgICAgdGhpcy5hcGl1cmwsXHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWROb2RlLlBhdGggKyAnLycgKyBmaWxlLkZpbGVuYW1lLFxyXG4gICAgICAgICAgICB0aGlzLmFsbG93ZWR0eXBlc1xyXG4gICAgICAgICAgKVxyXG4gICAgICAgICAgLnN1YnNjcmliZSgocmVzdWx0OiBJQnJvd3NlckZpbGVSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkTm9kZS5GaWxlcyA9IHJlc3VsdC5GaWxlcztcclxuICAgICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEzDtnNjaHQgZWluZW4gTm9kZVxyXG4gICAqIEBwYXJhbSBub2RlIE5vZGUgd2VsY2hlciBnZWzDtnNjaHQgd2VyZGVuIHNvbGxcclxuICAgKi9cclxuICBwdWJsaWMgZGVsZXRlTm9kZShub2RlOiBJQnJvd3Nlck5vZGUpOiB2b2lkIHtcclxuICAgIHRoaXMuY29uZmlybURlbGV0ZU5vZGUobm9kZSkuc3Vic2NyaWJlKChjb25maXJtKSA9PiB7XHJcbiAgICAgIGlmIChjb25maXJtKSB7XHJcbiAgICAgICAgdGhpcy5icm93c2VyU2VydmljZVxyXG4gICAgICAgICAgLkRlbGV0ZU5vZGUodGhpcy5hcGl1cmwsIG5vZGUuUGF0aClcclxuICAgICAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdDogSUJyb3dzZXJOb2RlUmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgcGFyZW50Tm9kZSA9IHRoaXMuZmluZFBhcmVudE5vZGUodGhpcy5yb290Tm9kZSwgbm9kZSk7XHJcbiAgICAgICAgICAgIHBhcmVudE5vZGUuQ2hpbGROb2RlcyA9IHJlc3VsdC5Ob2RlLkNoaWxkTm9kZXM7XHJcblxyXG4gICAgICAgICAgICB0aGlzLnJvb3ROb2RlLkNoaWxkTm9kZXMuZm9yRWFjaCgoaXRtKSA9PiB7XHJcbiAgICAgICAgICAgICAgdGhpcy5maWxsUGF0aChpdG0sICcnKTtcclxuICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdE5vZGUocGFyZW50Tm9kZSk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXR6dCBlaW4gRmlsZSBpbiBkZW4gRWRpdCBNb2RlXHJcbiAgICogQHBhcmFtIGZpbGUgRmlsZSB3ZWxjaGVzIGluIGRlbiBFZGl0IE1vZGUgZ2VzZXR6dCB3ZXJkZW4gc29sbFxyXG4gICAqL1xyXG4gIHB1YmxpYyBlZGl0RmlsZShmaWxlOiBJQnJvd3NlckZpbGUpOiB2b2lkIHtcclxuICAgIGZpbGUuSXNFZGl0TW9kZSA9IHRydWU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXR6dCBlaW5lbiBOb2RlIGluIGRlbiBFZGl0IE1vZGVcclxuICAgKiBAcGFyYW0gbm9kZSBOb2RlIHdlbGNoZXIgYmVhcmJlaXRldCB3ZXJkZW4gc29sbFxyXG4gICAqL1xyXG4gIHB1YmxpYyBlZGl0Tm9kZShub2RlOiBJQnJvd3Nlck5vZGUpOiB2b2lkIHtcclxuICAgIG5vZGUuSXNFZGl0TW9kZSA9IHRydWU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBIb3N0TGlzdGVuZXIgd2VsY2hlciBkZW4gRWRpdCBNb2RlIGJlaSBhbGxlbiBGaWxlcyB1bmQgTm9kZXMgYmVlbmRldC5cclxuICAgKi9cclxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycsIFsnJGV2ZW50LnRhcmdldCddKVxyXG4gIC8qKlxyXG4gICAqIENsaWNrIEV2ZW50XHJcbiAgICovXHJcbiAgcHVibGljIGV4aXRFZGl0TW9kZSh0YXJnZXRFbGVtZW50KTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5zZWxlY3RlZE5vZGUpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZE5vZGUuRmlsZXMuZm9yRWFjaCgoaXRtKSA9PiAoaXRtLklzRWRpdE1vZGUgPSBmYWxzZSkpO1xyXG5cclxuICAgICAgaWYgKFxyXG4gICAgICAgICF0aGlzLnNlbGVjdGVkTm9kZSB8fFxyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWROb2RlLk5hbWUgPT09IG51bGwgfHxcclxuICAgICAgICB0aGlzLnNlbGVjdGVkTm9kZS5OYW1lLmxlbmd0aCA9PT0gMFxyXG4gICAgICApIHtcclxuICAgICAgICB0aGlzLmNsZWFyTmV3Q2hpbGROb2Rlcyh0aGlzLnJvb3ROb2RlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMucmVzZXROb2RlRWRpdE1vZGUobnVsbCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBFcnpldWd0IGVpbmVuIG5ldWVuIE5vZGUgaW0gVHJlZVxyXG4gICAqIEBwYXJhbSBub2RlIE5vZGUgdW50ZXIgd2VsY2hlbSBlaW4gbmV1ZXIgTm9kZSBlcnN0ZWxsdCB3ZXJkZW4gc29sbFxyXG4gICAqL1xyXG4gIHB1YmxpYyBuZXdOb2RlKG5vZGU6IElCcm93c2VyTm9kZSkge1xyXG4gICAgY29uc3QgaXRlbTogSUJyb3dzZXJOb2RlID0ge1xyXG4gICAgICBDaGlsZE5vZGVzOiBbXSxcclxuICAgICAgRmlsZXM6IFtdLFxyXG4gICAgICBJc0VkaXRNb2RlOiBmYWxzZSxcclxuICAgICAgSXNFeHBhbmRlZDogZmFsc2UsXHJcbiAgICAgIE5hbWU6ICcnLFxyXG4gICAgICBQYXRoOiBub2RlLlBhdGgsXHJcbiAgICAgIElzTmV3Tm9kZTogdHJ1ZSxcclxuICAgIH07XHJcblxyXG4gICAgbm9kZS5DaGlsZE5vZGVzLnB1c2goaXRlbSk7XHJcbiAgICB0aGlzLnNlbGVjdE5vZGUoaXRlbSk7XHJcbiAgICB0aGlzLmVkaXROb2RlKGl0ZW0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSW5pdCBFdmVudCBkZXIgS29tcG9uZW50ZVxyXG4gICAqL1xyXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuYnJvd3NlclNlcnZpY2VcclxuICAgICAgLkdldE5vZGUodGhpcy5hcGl1cmwsICcnLCB0aGlzLmFsbG93ZWR0eXBlcylcclxuICAgICAgLnN1YnNjcmliZSgocmVzdWx0OiBJQnJvd3Nlck5vZGVSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgIHRoaXMucm9vdE5vZGUgPSB7XHJcbiAgICAgICAgICBOYW1lOiByZXN1bHQuTm9kZS5OYW1lLFxyXG4gICAgICAgICAgRmlsZXM6IHJlc3VsdC5Ob2RlLkZpbGVzLFxyXG4gICAgICAgICAgQ2hpbGROb2RlczogcmVzdWx0Lk5vZGUuQ2hpbGROb2RlcyxcclxuICAgICAgICAgIElzRXhwYW5kZWQ6IHRydWUsXHJcbiAgICAgICAgICBJc0VkaXRNb2RlOiBmYWxzZSxcclxuICAgICAgICAgIElzTmV3Tm9kZTogZmFsc2UsXHJcbiAgICAgICAgICBQYXRoOiAnLycsXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgdGhpcy5zZXRQYXRoVG9BbGxOb2RlcygpO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWROb2RlID0gdGhpcy5yb290Tm9kZTtcclxuXHJcbiAgICAgICAgLy8gU2VsZWN0ZWQgRmlsZSBlcm5ldXQgc2V0emVuLCB3ZW5uIFByb3BlcnR5IGdlc2V0enQgd3VyZGUgYmV2b3IgRGF0ZW4gdm9tIFNlcnZpY2UgZ2VsYWRlbiB3dXJkZW4uXHJcbiAgICAgICAgaWYgKHRoaXMucHJlc2VsZWNlZGZpbGUgIT09IG51bGwgJiYgdGhpcy5wcmVzZWxlY2VkZmlsZS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkZmlsZSA9IHRoaXMucHJlc2VsZWNlZGZpbGU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFrdHVhbGlzaWVydCBkZW4gTm9kZVxyXG4gICAqL1xyXG4gIHB1YmxpYyByZWZyZXNoTm9kZShub2RlOiBJQnJvd3Nlck5vZGUpOiB2b2lkIHtcclxuICAgIGlmICghbm9kZS5Jc0V4cGFuZGVkKSB7XHJcbiAgICAgIHRoaXMuc3dpdGNoRXhwYW5kTm9kZShub2RlKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmJyb3dzZXJTZXJ2aWNlXHJcbiAgICAgIC5HZXROb2RlKHRoaXMuYXBpdXJsLCBub2RlLlBhdGgsIHRoaXMuYWxsb3dlZHR5cGVzKVxyXG4gICAgICAuc3Vic2NyaWJlKChyZXN1bHQ6IElCcm93c2VyTm9kZVJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgbm9kZS5DaGlsZE5vZGVzID0gcmVzdWx0Lk5vZGUuQ2hpbGROb2RlcztcclxuICAgICAgICBub2RlLkZpbGVzID0gcmVzdWx0Lk5vZGUuRmlsZXM7XHJcblxyXG4gICAgICAgIHRoaXMuc2V0UGF0aFRvQWxsTm9kZXMoKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRob2RlIHdlbm4gZWluZSBEYXRlaSB1bWJlbmFubnQgd2VyZGVuIHNvbGxcclxuICAgKiBAcGFyYW0gZmlsZSBGaWxlIHdlbGNoZXMgdW1iZW5hbm50IHdlcmRlbiBzb2xsXHJcbiAgICogQHBhcmFtIG5ld0ZpbGVuYW1lIE5ldWVyIERhdGVpbmFtZVxyXG4gICAqL1xyXG4gIHB1YmxpYyByZW5hbWVGaWxlKGZpbGU6IElCcm93c2VyRmlsZSwgbmV3RmlsZW5hbWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgZmlsZS5Jc0VkaXRNb2RlID0gZmFsc2U7XHJcblxyXG4gICAgaWYgKCFuZXdGaWxlbmFtZSB8fCBuZXdGaWxlbmFtZSA9PT0gbnVsbCB8fCBuZXdGaWxlbmFtZS5sZW5ndGggPT09IDApIHtcclxuICAgICAgLy8gQ2FuY2VsLCBJbnZhbGlkIEZpbGVuYW1lXHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoZmlsZS5GaWxlbmFtZSAhPT0gbmV3RmlsZW5hbWUpIHtcclxuICAgICAgdGhpcy5icm93c2VyU2VydmljZVxyXG4gICAgICAgIC5SZW5hbWVGaWxlKFxyXG4gICAgICAgICAgdGhpcy5hcGl1cmwsXHJcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkTm9kZS5QYXRoICsgJy8nICsgZmlsZS5GaWxlbmFtZSxcclxuICAgICAgICAgIG5ld0ZpbGVuYW1lLFxyXG4gICAgICAgICAgdGhpcy5hbGxvd2VkdHlwZXNcclxuICAgICAgICApXHJcbiAgICAgICAgLnN1YnNjcmliZSgocmVzdWx0OiBJQnJvd3NlckZpbGVSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5zZWxlY3RlZE5vZGUuRmlsZXMgPSByZXN1bHQuRmlsZXM7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRob2RlIHdlbm4gZWluIE5vZGUgdW1iZW5hbm50IHdlcmRlbiBzb2xsXHJcbiAgICogQHBhcmFtIG5vZGUgTm9kZSB3ZWxjaGVyIHVtYmVuYW5udCB3ZXJkZW4gc29sbFxyXG4gICAqIEBwYXJhbSBuZXdGb2xkZXJuYW1lIE5ldWVyIE9yZG5lcm5hbWVcclxuICAgKi9cclxuICBwdWJsaWMgcmVuYW1lTm9kZShub2RlOiBJQnJvd3Nlck5vZGUsIG5ld0ZvbGRlcm5hbWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgbm9kZS5Jc0VkaXRNb2RlID0gZmFsc2U7XHJcblxyXG4gICAgaWYgKCFub2RlLklzTmV3Tm9kZSkge1xyXG4gICAgICBpZiAoXHJcbiAgICAgICAgIW5ld0ZvbGRlcm5hbWUgfHxcclxuICAgICAgICBuZXdGb2xkZXJuYW1lID09PSBudWxsIHx8XHJcbiAgICAgICAgbmV3Rm9sZGVybmFtZS5sZW5ndGggPT09IDBcclxuICAgICAgKSB7XHJcbiAgICAgICAgLy8gQ2FuY2VsIFJlbmFtZS4gSW52YWxpZCBGb2xkZXJuYW1lXHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAobm9kZS5OYW1lICE9PSBuZXdGb2xkZXJuYW1lKSB7XHJcbiAgICAgICAgdGhpcy5icm93c2VyU2VydmljZVxyXG4gICAgICAgICAgLlJlbmFtZU5vZGUodGhpcy5hcGl1cmwsIG5vZGUuUGF0aCwgbmV3Rm9sZGVybmFtZSlcclxuICAgICAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdDogSUJyb3dzZXJOb2RlUmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgICAgbm9kZS5OYW1lID0gcmVzdWx0Lk5vZGUuTmFtZTtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuc2V0UGF0aFRvQWxsTm9kZXMoKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAoXHJcbiAgICAgICAgIW5ld0ZvbGRlcm5hbWUgfHxcclxuICAgICAgICBuZXdGb2xkZXJuYW1lID09PSBudWxsIHx8XHJcbiAgICAgICAgbmV3Rm9sZGVybmFtZS5sZW5ndGggPT09IDBcclxuICAgICAgKSB7XHJcbiAgICAgICAgdGhpcy5jbGVhck5ld0NoaWxkTm9kZXModGhpcy5yb290Tm9kZSk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBub2RlLk5hbWUgPSBuZXdGb2xkZXJuYW1lO1xyXG4gICAgICBub2RlLklzTmV3Tm9kZSA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmJyb3dzZXJTZXJ2aWNlXHJcbiAgICAgICAgLlNhdmVOb2RlKHRoaXMuYXBpdXJsLCBub2RlLlBhdGgsIG5ld0ZvbGRlcm5hbWUpXHJcbiAgICAgICAgLnN1YnNjcmliZSgocmVzdWx0OiBJQnJvd3Nlck5vZGVSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgbm9kZS5OYW1lID0gcmVzdWx0Lk5vZGUuTmFtZTtcclxuICAgICAgICAgIG5vZGUuRmlsZXMgPSByZXN1bHQuTm9kZS5GaWxlcztcclxuXHJcbiAgICAgICAgICB0aGlzLnNldFBhdGhUb0FsbE5vZGVzKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRob2RlIHdlbm4gZWluIEZpbGUgc2VsZWt0aWVydCB3aXJkXHJcbiAgICogQHBhcmFtIGZpbGUgRmlsZSB3ZWxjaGVzIHNlbGVrdGllcnQgd2lyZFxyXG4gICAqL1xyXG4gIHB1YmxpYyBzZWxlY3RGaWxlKGZpbGU6IElCcm93c2VyRmlsZSkge1xyXG4gICAgaWYgKCFmaWxlLklzRWRpdE1vZGUpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZE5vZGUuRmlsZXMuZm9yRWFjaCgoaXRtKSA9PiAoaXRtLklzRWRpdE1vZGUgPSBmYWxzZSkpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICghdGhpcy5zZWxlY3RlZE5vZGUuUGF0aC5lbmRzV2l0aCgnLycpKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRGaWxlID0gdGhpcy5zZWxlY3RlZE5vZGUuUGF0aCArICcvJyArIGZpbGUuRmlsZW5hbWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkRmlsZSA9ICcvJyArIGZpbGUuRmlsZW5hbWU7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zZWxlY3RlZEZpbGVJdGVtID0gZmlsZTtcclxuICAgIHRoaXMuZmlsZS5lbWl0KHRoaXMuc2VsZWN0ZWRGaWxlKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldGhvZGUgd2VubiBlaW4gTm9kZSBzZWxla3RpZXJ0IHdpcmRcclxuICAgKiBAcGFyYW0gbm9kZSBOb2RlIHdlbGNoZXIgc2VsZWt0aWVydCB3ZXJkZW4gc29sbFxyXG4gICAqL1xyXG4gIHB1YmxpYyBzZWxlY3ROb2RlKG5vZGU6IElCcm93c2VyTm9kZSk6IHZvaWQge1xyXG4gICAgaWYgKCFub2RlLklzRXhwYW5kZWQpIHtcclxuICAgICAgdGhpcy5zd2l0Y2hFeHBhbmROb2RlKG5vZGUpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFJlc2V0IHRoZSBFZGl0IE1vZGUgaW4gYWxsIE5vZGVzXHJcbiAgICB0aGlzLnJlc2V0Tm9kZUVkaXRNb2RlKG51bGwpO1xyXG5cclxuICAgIGlmICghbm9kZS5GaWxlcykge1xyXG4gICAgICB0aGlzLmJyb3dzZXJTZXJ2aWNlXHJcbiAgICAgICAgLkdldEZpbGVzKHRoaXMuYXBpdXJsLCBub2RlLlBhdGgsIHRoaXMuYWxsb3dlZHR5cGVzKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdDogSUJyb3dzZXJGaWxlUmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgIG5vZGUuRmlsZXMgPSByZXN1bHQuRmlsZXM7XHJcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkTm9kZSA9IG5vZGU7XHJcblxyXG4gICAgICAgICAgaWYgKHRoaXMucHJlc2VsZWNlZGZpbGUgIT09IG51bGwgJiYgdGhpcy5wcmVzZWxlY2VkZmlsZS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGZpbGVuYW1lID0gdGhpcy5wcmVzZWxlY2VkZmlsZS5zdWJzdHJpbmcoXHJcbiAgICAgICAgICAgICAgdGhpcy5wcmVzZWxlY2VkZmlsZS5sYXN0SW5kZXhPZignLycpICsgMVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgICBjb25zdCBmaWxlID0gbm9kZS5GaWxlcy5maW5kKChpdG0pID0+IGl0bS5GaWxlbmFtZSA9PT0gZmlsZW5hbWUpO1xyXG4gICAgICAgICAgICBpZiAoZmlsZSkge1xyXG4gICAgICAgICAgICAgIHRoaXMuc2VsZWN0RmlsZShmaWxlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZE5vZGUgPSBub2RlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRXhwYW5kL0NvbGxhYnNlIE1ldGhvZGUgZsO8ciBOb2Rlc1xyXG4gICAqIEBwYXJhbSBub2RlIE5vZGUgd2VsY2hlciBnZcO2ZmZuZXQgb2RlciBnZXNjaGxvc3NlbiB3ZXJkZW4gc29sbFxyXG4gICAqL1xyXG4gIHB1YmxpYyBzd2l0Y2hFeHBhbmROb2RlKG5vZGU6IElCcm93c2VyTm9kZSk6IHZvaWQge1xyXG4gICAgaWYgKG5vZGUuSXNFeHBhbmRlZCkge1xyXG4gICAgICBub2RlLklzRXhwYW5kZWQgPSBmYWxzZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIG5vZGUuSXNFeHBhbmRlZCA9IHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRob2RlIGRpZSBBdWZnZXJ1ZmVuIHdlcmRlbiBtdXNzLCB3ZW5uIGVpbiBVcGxvYWQgYmVlbmRldCBpc3QuXHJcbiAgICogQHBhcmFtIHBhcmFtIFBhcmFtZXRlciBkZXMgaG9jaGdlbGFkZW5lbiBGaWxlc1xyXG4gICAqL1xyXG4gIHB1YmxpYyB1cGxvYWRDb21wbGV0ZShub2RlOiBJQnJvd3Nlck5vZGUsIHVwbG9hZElkTGlzdDogc3RyaW5nW10pOiB2b2lkIHtcclxuICAgIGlmICh1cGxvYWRJZExpc3QgIT09IG51bGwpIHtcclxuICAgICAgdXBsb2FkSWRMaXN0LmZvckVhY2goKGVsZW1lbnQpID0+IHtcclxuICAgICAgICBpZiAodGhpcy51cGxvYWRzLmluZGV4T2YoZWxlbWVudCkgPCAwKSB7XHJcbiAgICAgICAgICB0aGlzLnVwbG9hZHMucHVzaChlbGVtZW50KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGlkID0gdGhpcy51cGxvYWRzLnBvcCgpO1xyXG4gICAgaWYgKGlkKSB7XHJcbiAgICAgIHRoaXMuYnJvd3NlclNlcnZpY2VcclxuICAgICAgICAuU2F2ZUZpbGUodGhpcy5hcGl1cmwsIG5vZGUuUGF0aCwgaWQsIHRoaXMuYWxsb3dlZHR5cGVzKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdDogSUJyb3dzZXJGaWxlUmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWROb2RlLkZpbGVzID0gcmVzdWx0LkZpbGVzO1xyXG4gICAgICAgICAgdGhpcy51cGxvYWRlZEZpbGVNb3ZlZChpZCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyAjZW5kcmVnaW9uIFB1YmxpYyBNZXRob2RzXHJcblxyXG4gIC8vICNyZWdpb24gUHVibGljIEFic3RyYWN0IE1ldGhvZHNcclxuXHJcbiAgLyoqXHJcbiAgICogQWJzdHJha3RlIENvbmZpcm0gTWV0aG9kZSB3ZWxjaGUgaW1wbGVtZW50aWVydCB3ZXJkZW4gbXVzcy4gTWV0aG9kZSB3aXJkIGF1ZmdlcnVmZW4sIHdlbm4gZWluZVxyXG4gICAqIERhdGVpIGdlbMO2c2NodCB3ZXJkZW4gc29sbC5cclxuICAgKiBAcGFyYW0gZmlsZSBGaWxlIGbDvHIgd2VsY2hlcyBlaW4gRGVsZXRlIENvbmZpcm0gZWluZ2Vmb3JkZXJ0IHdlcmRlbiBzb2xsXHJcbiAgICovXHJcbiAgcHVibGljIGFic3RyYWN0IGNvbmZpcm1EZWxldGVGaWxlKGZpbGU6IElCcm93c2VyRmlsZSk6IE9ic2VydmFibGU8Ym9vbGVhbj47XHJcbiAgLyoqXHJcbiAgICogQWJzdHJha3RlIENvbmZpcm0gTWV0aG9kZSB3ZWxjaGUgaW1wbGVtZW50aWVydCB3ZXJkZW4gbXVzcy4gTWV0aG9kZSB3aXJkIGF1ZmdlcnVmZW4sIHdlbm4gZWluXHJcbiAgICogT3JkbmVyIGdlbMO2c2NodCB3ZXJkZW4gc29sbC5cclxuICAgKiBAcGFyYW0gZm9sZGVyIE9yZGVybiBmw7xyIHdlbGNoZW4gZWluIERlbGV0ZSBDb25maXJtIGVpbmdlZm9yZGVydCB3ZXJkZW4gc29sbC5cclxuICAgKi9cclxuICBwdWJsaWMgYWJzdHJhY3QgY29uZmlybURlbGV0ZU5vZGUoZm9sZGVyOiBJQnJvd3Nlck5vZGUpOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xyXG4gIC8qKlxyXG4gICAqIEFic3RyYWt0ZSBNZXRob2RlIGRpZSBBdWZnZXJ1ZmVuIHdpcmQsIHdlbm4gZGFzIEhvY2hnZWxhZGVuZSBGaWxlIGF1cyBkZW0gVGVtcCBGb2xkZXIgaW4gZGllXHJcbiAgICogU3RydWt0dXIgdmVyc2Nob2JlbiB3dXJkZS5cclxuICAgKiBAcGFyYW0gdXBsb2FkaWQgSUQgZGVzIFVwbG9hZHNcclxuICAgKi9cclxuICBwdWJsaWMgYWJzdHJhY3QgdXBsb2FkZWRGaWxlTW92ZWQodXBsb2FkaWQ6IHN0cmluZyk6IHZvaWQ7XHJcblxyXG4gIC8vICNlbmRyZWdpb24gUHVibGljIEFic3RyYWN0IE1ldGhvZHNcclxuXHJcbiAgLy8gI3JlZ2lvbiBQcml2YXRlIE1ldGhvZHNcclxuXHJcbiAgLyoqXHJcbiAgICogUmVrdXJzaXZlIE1ldGhvZGUgd2VsY2hlIGJlaW0gTm9kZSB1bmQgYWxsIHNlaW5lbiBDaGlsZHMgbmV1ZSBOb2RlcyBlbnRmZXJudFxyXG4gICAqIEBwYXJhbSBub2RlIE5vZGUgYmVpIHdlbGNoZW0gYWxsZSBuZXVlbiBOb2RlcyBlbnRmZXJudCB3ZXJkZW4gc29sbC5cclxuICAgKi9cclxuICBwcml2YXRlIGNsZWFyTmV3Q2hpbGROb2Rlcyhub2RlOiBJQnJvd3Nlck5vZGUpIHtcclxuICAgIG5vZGUuQ2hpbGROb2Rlcy5mb3JFYWNoKChpdG0pID0+IHtcclxuICAgICAgaWYgKGl0bS5Jc05ld05vZGUpIHtcclxuICAgICAgICBub2RlLkNoaWxkTm9kZXMuc3BsaWNlKG5vZGUuQ2hpbGROb2Rlcy5pbmRleE9mKGl0bSkpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICBub2RlLkNoaWxkTm9kZXMuZm9yRWFjaCgoaXRtKSA9PiB0aGlzLmNsZWFyTmV3Q2hpbGROb2RlcyhpdG0pKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldGhvZGUgd2VsY2hlIGRlbiBQZmFkIGbDvHIgZWluZW4gTm9kZSBlcnpldWd0XHJcbiAgICogQHBhcmFtIG5vZGUgTm9kZSBmw7xyIHdlbGNoZW4gZGVyIFBmYWQgZXJ6ZXVndCB3ZXJkZW4gc29sbFxyXG4gICAqIEBwYXJhbSBwYXJlbnRQYXRoIMOcYmVyZ2VvcmRuZXRlciBQZmFkXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBmaWxsUGF0aChub2RlOiBJQnJvd3Nlck5vZGUsIHBhcmVudFBhdGg6IHN0cmluZykge1xyXG4gICAgbm9kZS5QYXRoID0gcGFyZW50UGF0aCArICcvJyArIG5vZGUuTmFtZTtcclxuICAgIG5vZGUuQ2hpbGROb2Rlcy5mb3JFYWNoKChpdG0pID0+IHtcclxuICAgICAgdGhpcy5maWxsUGF0aChpdG0sIG5vZGUuUGF0aCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFN1Y2h0IGRlbiDDvGJlcmdlb3JkbmV0ZW4gTm9kZSBpbSBUcmVlXHJcbiAgICogQHBhcmFtIG5vZGUgQWt0dWVsbGVyIE5vZGVcclxuICAgKiBAcGFyYW0gbm9kZVRvRmluZCBOb2RlIHdlbGNoZXIgZ2VmdW5kZW4gd2VyZGVuIHNvbGxcclxuICAgKiBAcmV0dXJucyBOb2RlIHdlbm4gZXIgZ2VmdW5kZW4gd3VyZGUsIGFuc29uc3RlbiB3aXJkIE5VTEwgenVyw7xja2dlZ2ViZW5cclxuICAgKi9cclxuICBwcml2YXRlIGZpbmRQYXJlbnROb2RlKFxyXG4gICAgbm9kZTogSUJyb3dzZXJOb2RlLFxyXG4gICAgbm9kZVRvRmluZDogSUJyb3dzZXJOb2RlXHJcbiAgKTogSUJyb3dzZXJOb2RlIHtcclxuICAgIGlmIChub2RlLkNoaWxkTm9kZXMuaW5kZXhPZihub2RlVG9GaW5kKSA+PSAwKSB7XHJcbiAgICAgIHJldHVybiBub2RlO1xyXG4gICAgfVxyXG5cclxuICAgIGZvciAoY29uc3QgY2hpbGQgb2Ygbm9kZS5DaGlsZE5vZGVzKSB7XHJcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuZmluZFBhcmVudE5vZGUoY2hpbGQsIG5vZGVUb0ZpbmQpO1xyXG4gICAgICBpZiAocmVzdWx0ICE9PSBudWxsKSB7XHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU3VjaHQgZWluZW4gTm9kZSBnZW0uIGVpbmVtIFVSTCBQZmFkXHJcbiAgICogQHBhcmFtIG5vZGUgTm9kZSBpbiB3ZWxjaGVtIGdlc3VjaHQgd2VyZGVuIHNvbGxcclxuICAgKiBAcGFyYW0gcGF0aCBQZmFkIG5hY2ggd2VsY2hlbSBnZXN1Y2h0IHdpcmRcclxuICAgKiBAcmV0dXJucyBOb2RlIHdlbGNoZXIgenVtIGdlc3VjaHRlbiBQZmFkIHBhc3N0LiBXZW5uIGtlaW4gTm9kZSBnZWZ1bmRlbiB3aXJkLCB3aXJkIE5VTEwgenVyw7xja2dlZ2ViZW5cclxuICAgKi9cclxuICBwcml2YXRlIGZpbmRTZWxlY3RlZE5vZGVCeVBhdGgoXHJcbiAgICBub2RlOiBJQnJvd3Nlck5vZGUsXHJcbiAgICBwYXRoOiBzdHJpbmdcclxuICApOiBJQnJvd3Nlck5vZGUge1xyXG4gICAgLy8gQ2FuY2VsIHdlbm4gUGZhZCBuaWNodCBkZWZpbmllcnRcclxuICAgIGlmIChwYXRoID09PSB1bmRlZmluZWQgfHwgcGF0aCA9PT0gbnVsbCkge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICAvLyBQZmFkIGluIEFycmF5IHNwbGl0dGVuIHVuZCBSb290IEZvbGRlcm5hbWUgc2V0emVuXHJcbiAgICBjb25zdCBwYXRoQXJyYXkgPSBwYXRoLnNwbGl0KCcvJyk7XHJcbiAgICBwYXRoQXJyYXlbMF0gPSB0aGlzLnJvb3ROb2RlLk5hbWU7XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuZmluZFNlbGVjdGVkTm9kZUJ5UGF0aEFycmF5KG5vZGUsIHBhdGhBcnJheSwgMCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTdWNodCBlaW5lbiBOb2RlIGdlbS4gZWluZW0gQXJyYXkgdm9uIE5vZGUgTmFtZW5cclxuICAgKiBAcGFyYW0gbm9kZSBOb2RlIGluIHdlbGNoZW0gZ2VzdWNodCB3ZXJkZW4gc29sbFxyXG4gICAqIEBwYXJhbSBwYXRoIEFycmF5IHZvbiBOb2RlIE5hbWVuLCB3ZWxjaGUgZGllIEhpcmFyY2h5IGRlcyBQZmFkZXMgYWJiaWxkZW5cclxuICAgKiBAcGFyYW0gaW5kZXggQWt0dWVsbGVyIEluZGV4IGltIFBBVEggQXJyYXlcclxuICAgKiBAcmV0dXJucyBOb2RlIHdlbm4gZWluZXIgZ2VmdW5kZW4gd3VyZGUsIGFuc29uc3RlbiBOVUxMXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBmaW5kU2VsZWN0ZWROb2RlQnlQYXRoQXJyYXkoXHJcbiAgICBub2RlOiBJQnJvd3Nlck5vZGUsXHJcbiAgICBwYXRoOiBzdHJpbmdbXSxcclxuICAgIGluZGV4OiBudW1iZXJcclxuICApOiBJQnJvd3Nlck5vZGUge1xyXG4gICAgLy8gQ2hlY2sgb2IgT3JkbmVyIGtvcnJla3QuIExldHplciBPcmRuZXIgenVyw7xja2dlYmVuLiBQYXRoIExhc3QgSW5kZXggaXN0IGRlciBGaWxlbmFtZVxyXG4gICAgaWYgKG5vZGUuTmFtZSA9PT0gcGF0aFtpbmRleF0gJiYgcGF0aC5sZW5ndGggLSAyID09PSBpbmRleCkge1xyXG4gICAgICByZXR1cm4gbm9kZTtcclxuICAgIH0gZWxzZSBpZiAobm9kZS5OYW1lID09PSBwYXRoW2luZGV4XSkge1xyXG4gICAgICAvLyBFeHBhbmQgTm9kZVxyXG4gICAgICBub2RlLklzRXhwYW5kZWQgPSB0cnVlO1xyXG4gICAgICBmb3IgKGNvbnN0IGl0ZW0gb2Ygbm9kZS5DaGlsZE5vZGVzKSB7XHJcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gdGhpcy5maW5kU2VsZWN0ZWROb2RlQnlQYXRoQXJyYXkoaXRlbSwgcGF0aCwgaW5kZXggKyAxKTtcclxuXHJcbiAgICAgICAgaWYgKHJlc3VsdCAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmVrdXJzaXZlIE1ldGhvZGUgd2VsY2hlIGJlaW0gTm9kZSB1bmQgYWxsIHNlaW5lbiBDaGlsZHMgZGVuIEVkaXQgTW9kZSBiZWVuZGV0LlxyXG4gICAqIEBwYXJhbSBub2RlIE5vZGUgYmVpIHdlbGNoZW0gZGVyIEVkaXQgTW9kZSBiZWVuZGV0IHdlcmRlbiBzb2xsXHJcbiAgICovXHJcbiAgcHJpdmF0ZSByZXNldE5vZGVFZGl0TW9kZShub2RlOiBJQnJvd3Nlck5vZGUpOiB2b2lkIHtcclxuICAgIGlmIChub2RlID09PSBudWxsKSB7XHJcbiAgICAgIHRoaXMucmVzZXROb2RlRWRpdE1vZGUodGhpcy5yb290Tm9kZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBub2RlLklzRWRpdE1vZGUgPSBmYWxzZTtcclxuXHJcbiAgICAgIGlmIChub2RlLkNoaWxkTm9kZXMpIHtcclxuICAgICAgICBub2RlLkNoaWxkTm9kZXMuZm9yRWFjaCgoaXRtKSA9PiB0aGlzLnJlc2V0Tm9kZUVkaXRNb2RlKGl0bSkpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXR6dCBkZW4gUGZhZCBpbiBhbGxlbiBOb2Rlc1xyXG4gICAqL1xyXG4gIHByaXZhdGUgc2V0UGF0aFRvQWxsTm9kZXMoKSB7XHJcbiAgICB0aGlzLnJvb3ROb2RlLkNoaWxkTm9kZXMuZm9yRWFjaCgoaXRtKSA9PiB7XHJcbiAgICAgIHRoaXMuZmlsbFBhdGgoaXRtLCAnJyk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8vICNlbmRyZWdpb24gUHJpdmF0ZSBNZXRob2RzXHJcbn1cclxuIl19
@@ -0,0 +1,4 @@
1
+ import * as i0 from '@angular/core';
2
+ import { SacFileBrowserCommon } from './browser';
3
+ export const ɵNonEmptyModule = true;
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJvd3Nlci5uZ2ZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtY29tbW9uL3NyYy9jb21wb25lbnRzL2Jyb3dzZXIvYnJvd3Nlci5uZ2ZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEMsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sV0FBVyxDQUFDO0FBRS9DLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBpMCBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7U2FjRmlsZUJyb3dzZXJDb21tb259IGZyb20gJy4vYnJvd3Nlcic7XG5leHBvcnQgY29uc3QgU2FjRmlsZUJyb3dzZXJDb21tb25OZ0ZhY3Rvcnk6IGkwLsm1TmdNb2R1bGVGYWN0b3J5PGFueT4gPSBuZXcgaTAuybVOZ01vZHVsZUZhY3RvcnkoU2FjRmlsZUJyb3dzZXJDb21tb24pO1xuZXhwb3J0IGNvbnN0IMm1Tm9uRW1wdHlNb2R1bGUgPSB0cnVlOyJdfQ==
@@ -0,0 +1,2 @@
1
+ export const SacFileBrowserCommonNgSummary = null;
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJvd3Nlci5uZ3N1bW1hcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtY29tbW9uL3NyYy9jb21wb25lbnRzL2Jyb3dzZXIvYnJvd3Nlci5uZ3N1bW1hcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBQVEsSUFBSSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IFNhY0ZpbGVCcm93c2VyQ29tbW9uTmdTdW1tYXJ5OiBhbnkgPSBudWxsOyJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJvd3NlcmZpbGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtY29tbW9uL3NyYy9jb21wb25lbnRzL2Jyb3dzZXIvbW9kZWxzL2Jyb3dzZXJmaWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogSW50ZXJmYWNlIGbDvHIgRGF0ZWkgSXRlbXMgaW4gRmlsZSBCcm93c2VyIENvbXBvbmVudFxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBJQnJvd3NlckZpbGUge1xyXG4gIC8qKlxyXG4gICAqIERhdGVpbmFtZVxyXG4gICAqL1xyXG4gIEZpbGVuYW1lOiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogR3LDtnNzZSBkZXIgRGF0ZWlcclxuICAgKi9cclxuICBTaXplOiBudW1iZXI7XHJcbiAgLyoqXHJcbiAgICogSXRlbSB3aXJkIGJlYXJiZWl0ZXRcclxuICAgKi9cclxuICBJc0VkaXRNb2RlOiBib29sZWFuO1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export const ɵNonEmptyModule = true;
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJvd3NlcmZpbGUubmdmYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FjLWNvbW1vbi9zcmMvY29tcG9uZW50cy9icm93c2VyL21vZGVscy9icm93c2VyZmlsZS5uZ2ZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIlxuZXhwb3J0IGNvbnN0IMm1Tm9uRW1wdHlNb2R1bGUgPSB0cnVlOyJdfQ==
@@ -0,0 +1,2 @@
1
+ export const ɵempty = null;
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJvd3NlcmZpbGUubmdzdW1tYXJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FjLWNvbW1vbi9zcmMvY29tcG9uZW50cy9icm93c2VyL21vZGVscy9icm93c2VyZmlsZS5uZ3N1bW1hcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCDJtWVtcHR5ID0gbnVsbDsiXX0=