@simpleangularcontrols/sac-common 10.0.0-rc.1

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 (514) hide show
  1. package/README.md +16 -0
  2. package/bundles/simpleangularcontrols-sac-common.umd.js +12054 -0
  3. package/bundles/simpleangularcontrols-sac-common.umd.js.map +1 -0
  4. package/bundles/simpleangularcontrols-sac-common.umd.min.js +2 -0
  5. package/bundles/simpleangularcontrols-sac-common.umd.min.js.map +1 -0
  6. package/common/basedatetimecontrol.d.ts +83 -0
  7. package/common/basedatetimecontrol.ngfactory.d.ts +1 -0
  8. package/common/baseinputcontrol.d.ts +42 -0
  9. package/common/baseinputcontrol.ngfactory.d.ts +1 -0
  10. package/common/baselistcontrol.d.ts +43 -0
  11. package/common/baselistcontrol.ngfactory.d.ts +1 -0
  12. package/common/basemodelcontrol.d.ts +252 -0
  13. package/common/basemodelcontrol.ngfactory.d.ts +1 -0
  14. package/common/baseselectcontrol.d.ts +14 -0
  15. package/common/baseselectcontrol.ngfactory.d.ts +1 -0
  16. package/common/baseuploadcontrol.d.ts +284 -0
  17. package/common/baseuploadcontrol.ngfactory.d.ts +1 -0
  18. package/components/browser/browser.d.ts +267 -0
  19. package/components/browser/browser.ngfactory.d.ts +1 -0
  20. package/components/browser/models/browserfile.d.ts +17 -0
  21. package/components/browser/models/browserfile.ngfactory.d.ts +1 -0
  22. package/components/browser/models/browserfiledeleterequest.d.ts +18 -0
  23. package/components/browser/models/browserfiledeleterequest.ngfactory.d.ts +1 -0
  24. package/components/browser/models/browserfilerenamerequest.d.ts +22 -0
  25. package/components/browser/models/browserfilerenamerequest.ngfactory.d.ts +1 -0
  26. package/components/browser/models/browserfileresponse.d.ts +10 -0
  27. package/components/browser/models/browserfileresponse.ngfactory.d.ts +1 -0
  28. package/components/browser/models/browserfilesaverequest.d.ts +22 -0
  29. package/components/browser/models/browserfilesaverequest.ngfactory.d.ts +1 -0
  30. package/components/browser/models/browsernode.d.ts +34 -0
  31. package/components/browser/models/browsernode.ngfactory.d.ts +1 -0
  32. package/components/browser/models/browsernodedeleterequest.d.ts +14 -0
  33. package/components/browser/models/browsernodedeleterequest.ngfactory.d.ts +1 -0
  34. package/components/browser/models/browsernodenewrequest.d.ts +18 -0
  35. package/components/browser/models/browsernodenewrequest.ngfactory.d.ts +1 -0
  36. package/components/browser/models/browsernoderenamerequest.d.ts +18 -0
  37. package/components/browser/models/browsernoderenamerequest.ngfactory.d.ts +1 -0
  38. package/components/browser/models/browsernoderequest.d.ts +18 -0
  39. package/components/browser/models/browsernoderequest.ngfactory.d.ts +1 -0
  40. package/components/browser/models/browsernoderesponse.d.ts +10 -0
  41. package/components/browser/models/browsernoderesponse.ngfactory.d.ts +1 -0
  42. package/controls/buttons/button.d.ts +70 -0
  43. package/controls/buttons/button.ngfactory.d.ts +1 -0
  44. package/controls/checkbox/checkbox.d.ts +23 -0
  45. package/controls/checkbox/checkbox.ngfactory.d.ts +1 -0
  46. package/controls/checkbox/radiobutton.d.ts +79 -0
  47. package/controls/checkbox/radiobutton.ngfactory.d.ts +1 -0
  48. package/controls/checkbox/radiobuttons.d.ts +60 -0
  49. package/controls/checkbox/radiobuttons.ngfactory.d.ts +1 -0
  50. package/controls/confirm/confirm.button.d.ts +25 -0
  51. package/controls/confirm/confirm.button.ngfactory.d.ts +1 -0
  52. package/controls/confirm/confirm.d.ts +49 -0
  53. package/controls/confirm/confirm.ngfactory.d.ts +1 -0
  54. package/controls/confirm/confirm.service.d.ts +63 -0
  55. package/controls/confirm/confirm.service.ngfactory.d.ts +1 -0
  56. package/controls/contextmenu/contextmenu.d.ts +113 -0
  57. package/controls/contextmenu/contextmenu.ngfactory.d.ts +1 -0
  58. package/controls/contextmenu/contextmenuanchor.d.ts +15 -0
  59. package/controls/contextmenu/contextmenuanchor.ngfactory.d.ts +1 -0
  60. package/controls/contextmenu/contextmenucontainer.d.ts +15 -0
  61. package/controls/contextmenu/contextmenucontainer.ngfactory.d.ts +1 -0
  62. package/controls/contextmenu/contextmenuitem.d.ts +5 -0
  63. package/controls/contextmenu/contextmenuitem.ngfactory.d.ts +1 -0
  64. package/controls/contextmenu/contextmenuitembutton.d.ts +66 -0
  65. package/controls/contextmenu/contextmenuitembutton.ngfactory.d.ts +1 -0
  66. package/controls/datetime/date.d.ts +120 -0
  67. package/controls/datetime/date.ngfactory.d.ts +1 -0
  68. package/controls/datetime/dateselector.d.ts +161 -0
  69. package/controls/datetime/dateselector.ngfactory.d.ts +1 -0
  70. package/controls/datetime/datetime.d.ts +135 -0
  71. package/controls/datetime/datetime.ngfactory.d.ts +1 -0
  72. package/controls/datetime/time.d.ts +115 -0
  73. package/controls/datetime/time.ngfactory.d.ts +1 -0
  74. package/controls/dialog/dialog.d.ts +105 -0
  75. package/controls/dialog/dialog.ngfactory.d.ts +1 -0
  76. package/controls/form/form.d.ts +47 -0
  77. package/controls/form/form.ngfactory.d.ts +1 -0
  78. package/controls/grid/grid.d.ts +125 -0
  79. package/controls/grid/grid.ngfactory.d.ts +1 -0
  80. package/controls/grid/gridbutton.d.ts +33 -0
  81. package/controls/grid/gridbutton.ngfactory.d.ts +1 -0
  82. package/controls/grid/gridcolumn.d.ts +28 -0
  83. package/controls/grid/gridcolumn.ngfactory.d.ts +1 -0
  84. package/controls/grid/gridcolumnaction.d.ts +15 -0
  85. package/controls/grid/gridcolumnaction.ngfactory.d.ts +1 -0
  86. package/controls/grid/gridcolumnbase.d.ts +86 -0
  87. package/controls/grid/gridcolumnbase.ngfactory.d.ts +1 -0
  88. package/controls/grid/gridimage.d.ts +9 -0
  89. package/controls/grid/gridimage.ngfactory.d.ts +1 -0
  90. package/controls/grid/model.d.ts +83 -0
  91. package/controls/grid/model.ngfactory.d.ts +1 -0
  92. package/controls/grid/paging.d.ts +147 -0
  93. package/controls/grid/paging.ngfactory.d.ts +1 -0
  94. package/controls/input/input.d.ts +35 -0
  95. package/controls/input/input.ngfactory.d.ts +1 -0
  96. package/controls/input/inputarea.d.ts +26 -0
  97. package/controls/input/inputarea.ngfactory.d.ts +1 -0
  98. package/controls/input/inputcurrency.d.ts +11 -0
  99. package/controls/input/inputcurrency.ngfactory.d.ts +1 -0
  100. package/controls/input/inputdecimal.d.ts +59 -0
  101. package/controls/input/inputdecimal.ngfactory.d.ts +1 -0
  102. package/controls/input/inputemail.d.ts +19 -0
  103. package/controls/input/inputemail.ngfactory.d.ts +1 -0
  104. package/controls/input/inputinteger.d.ts +59 -0
  105. package/controls/input/inputinteger.ngfactory.d.ts +1 -0
  106. package/controls/input/inputpassword.d.ts +23 -0
  107. package/controls/input/inputpassword.ngfactory.d.ts +1 -0
  108. package/controls/input/inputsearch.d.ts +23 -0
  109. package/controls/input/inputsearch.ngfactory.d.ts +1 -0
  110. package/controls/layout/formlayout.d.ts +46 -0
  111. package/controls/layout/formlayout.ngfactory.d.ts +1 -0
  112. package/controls/list/dropdown.d.ts +138 -0
  113. package/controls/list/dropdown.ngfactory.d.ts +1 -0
  114. package/controls/list/list.module.d.ts +2 -0
  115. package/controls/list/list.module.ngfactory.d.ts +3 -0
  116. package/controls/list/listbox.d.ts +86 -0
  117. package/controls/list/listbox.ngfactory.d.ts +1 -0
  118. package/controls/multilanguage/multilanguageinput.d.ts +102 -0
  119. package/controls/multilanguage/multilanguageinput.ngfactory.d.ts +1 -0
  120. package/controls/multilanguage/multilanguageinputarea.d.ts +107 -0
  121. package/controls/multilanguage/multilanguageinputarea.ngfactory.d.ts +1 -0
  122. package/controls/static/formcontainer.d.ts +31 -0
  123. package/controls/static/formcontainer.ngfactory.d.ts +1 -0
  124. package/controls/static/staticlabel.d.ts +18 -0
  125. package/controls/static/staticlabel.ngfactory.d.ts +1 -0
  126. package/controls/tabs/tab.d.ts +45 -0
  127. package/controls/tabs/tab.ngfactory.d.ts +1 -0
  128. package/controls/tabs/tabitem.d.ts +30 -0
  129. package/controls/tabs/tabitem.ngfactory.d.ts +1 -0
  130. package/controls/tinymce/tinymce.d.ts +149 -0
  131. package/controls/tinymce/tinymce.ngfactory.d.ts +1 -0
  132. package/controls/tinymce/tinymcedialogsettings.d.ts +27 -0
  133. package/controls/tinymce/tinymcedialogsettings.ngfactory.d.ts +1 -0
  134. package/controls/tinymce/tinymcedialogsettingsmeta.d.ts +9 -0
  135. package/controls/tinymce/tinymcedialogsettingsmeta.ngfactory.d.ts +1 -0
  136. package/controls/tinymce/tinymceinstance.d.ts +10 -0
  137. package/controls/tinymce/tinymceinstance.ngfactory.d.ts +1 -0
  138. package/controls/tooltip/tooltip.d.ts +138 -0
  139. package/controls/tooltip/tooltip.ngfactory.d.ts +1 -0
  140. package/controls/treeview/ngtreeitemaction.d.ts +40 -0
  141. package/controls/treeview/ngtreeitemaction.ngfactory.d.ts +1 -0
  142. package/controls/treeview/treeview.d.ts +185 -0
  143. package/controls/treeview/treeview.ngfactory.d.ts +1 -0
  144. package/controls/treeview/treeviewchild.d.ts +12 -0
  145. package/controls/treeview/treeviewchild.ngfactory.d.ts +1 -0
  146. package/controls/upload/dropzonemultiple.d.ts +70 -0
  147. package/controls/upload/dropzonemultiple.ngfactory.d.ts +1 -0
  148. package/controls/upload/dropzonesingle.d.ts +47 -0
  149. package/controls/upload/dropzonesingle.ngfactory.d.ts +1 -0
  150. package/controls/upload/uploadmultiple.d.ts +50 -0
  151. package/controls/upload/uploadmultiple.ngfactory.d.ts +1 -0
  152. package/controls/upload/uploadsingle.d.ts +27 -0
  153. package/controls/upload/uploadsingle.ngfactory.d.ts +1 -0
  154. package/controls/validation/validationsummary.d.ts +60 -0
  155. package/controls/validation/validationsummary.ngfactory.d.ts +1 -0
  156. package/controls/wizard/wizard.d.ts +73 -0
  157. package/controls/wizard/wizard.ngfactory.d.ts +1 -0
  158. package/controls/wizard/wizarditem.d.ts +25 -0
  159. package/controls/wizard/wizarditem.ngfactory.d.ts +1 -0
  160. package/enums/ButtonRoleType.d.ts +1 -0
  161. package/enums/ButtonRoleType.ngfactory.d.ts +1 -0
  162. package/enums/ControlHeight.d.ts +17 -0
  163. package/enums/ControlHeight.ngfactory.d.ts +1 -0
  164. package/enums/IconType.d.ts +7 -0
  165. package/enums/IconType.ngfactory.d.ts +1 -0
  166. package/esm2015/common/basedatetimecontrol.js +164 -0
  167. package/esm2015/common/basedatetimecontrol.ngfactory.js +7 -0
  168. package/esm2015/common/baseinputcontrol.js +78 -0
  169. package/esm2015/common/baseinputcontrol.ngfactory.js +7 -0
  170. package/esm2015/common/baselistcontrol.js +55 -0
  171. package/esm2015/common/baselistcontrol.ngfactory.js +7 -0
  172. package/esm2015/common/basemodelcontrol.js +483 -0
  173. package/esm2015/common/basemodelcontrol.ngfactory.js +7 -0
  174. package/esm2015/common/baseselectcontrol.js +26 -0
  175. package/esm2015/common/baseselectcontrol.ngfactory.js +7 -0
  176. package/esm2015/common/baseuploadcontrol.js +457 -0
  177. package/esm2015/common/baseuploadcontrol.ngfactory.js +7 -0
  178. package/esm2015/components/browser/browser.js +545 -0
  179. package/esm2015/components/browser/browser.ngfactory.js +7 -0
  180. package/esm2015/components/browser/models/browserfile.js +1 -0
  181. package/esm2015/components/browser/models/browserfile.ngfactory.js +7 -0
  182. package/esm2015/components/browser/models/browserfiledeleterequest.js +13 -0
  183. package/esm2015/components/browser/models/browserfiledeleterequest.ngfactory.js +7 -0
  184. package/esm2015/components/browser/models/browserfilerenamerequest.js +13 -0
  185. package/esm2015/components/browser/models/browserfilerenamerequest.ngfactory.js +7 -0
  186. package/esm2015/components/browser/models/browserfileresponse.js +1 -0
  187. package/esm2015/components/browser/models/browserfileresponse.ngfactory.js +7 -0
  188. package/esm2015/components/browser/models/browserfilesaverequest.js +13 -0
  189. package/esm2015/components/browser/models/browserfilesaverequest.ngfactory.js +7 -0
  190. package/esm2015/components/browser/models/browsernode.js +1 -0
  191. package/esm2015/components/browser/models/browsernode.ngfactory.js +7 -0
  192. package/esm2015/components/browser/models/browsernodedeleterequest.js +13 -0
  193. package/esm2015/components/browser/models/browsernodedeleterequest.ngfactory.js +7 -0
  194. package/esm2015/components/browser/models/browsernodenewrequest.js +13 -0
  195. package/esm2015/components/browser/models/browsernodenewrequest.ngfactory.js +7 -0
  196. package/esm2015/components/browser/models/browsernoderenamerequest.js +13 -0
  197. package/esm2015/components/browser/models/browsernoderenamerequest.ngfactory.js +7 -0
  198. package/esm2015/components/browser/models/browsernoderequest.js +13 -0
  199. package/esm2015/components/browser/models/browsernoderequest.ngfactory.js +7 -0
  200. package/esm2015/components/browser/models/browsernoderesponse.js +1 -0
  201. package/esm2015/components/browser/models/browsernoderesponse.ngfactory.js +7 -0
  202. package/esm2015/controls/buttons/button.js +141 -0
  203. package/esm2015/controls/buttons/button.ngfactory.js +7 -0
  204. package/esm2015/controls/checkbox/checkbox.js +33 -0
  205. package/esm2015/controls/checkbox/checkbox.ngfactory.js +7 -0
  206. package/esm2015/controls/checkbox/radiobutton.js +115 -0
  207. package/esm2015/controls/checkbox/radiobutton.ngfactory.js +7 -0
  208. package/esm2015/controls/checkbox/radiobuttons.js +113 -0
  209. package/esm2015/controls/checkbox/radiobuttons.ngfactory.js +7 -0
  210. package/esm2015/controls/confirm/confirm.button.js +32 -0
  211. package/esm2015/controls/confirm/confirm.button.ngfactory.js +7 -0
  212. package/esm2015/controls/confirm/confirm.js +75 -0
  213. package/esm2015/controls/confirm/confirm.ngfactory.js +7 -0
  214. package/esm2015/controls/confirm/confirm.service.js +87 -0
  215. package/esm2015/controls/confirm/confirm.service.ngfactory.js +7 -0
  216. package/esm2015/controls/contextmenu/contextmenu.js +194 -0
  217. package/esm2015/controls/contextmenu/contextmenu.ngfactory.js +7 -0
  218. package/esm2015/controls/contextmenu/contextmenuanchor.js +22 -0
  219. package/esm2015/controls/contextmenu/contextmenuanchor.ngfactory.js +7 -0
  220. package/esm2015/controls/contextmenu/contextmenucontainer.js +22 -0
  221. package/esm2015/controls/contextmenu/contextmenucontainer.ngfactory.js +7 -0
  222. package/esm2015/controls/contextmenu/contextmenuitem.js +10 -0
  223. package/esm2015/controls/contextmenu/contextmenuitem.ngfactory.js +7 -0
  224. package/esm2015/controls/contextmenu/contextmenuitembutton.js +97 -0
  225. package/esm2015/controls/contextmenu/contextmenuitembutton.ngfactory.js +7 -0
  226. package/esm2015/controls/datetime/date.js +212 -0
  227. package/esm2015/controls/datetime/date.ngfactory.js +7 -0
  228. package/esm2015/controls/datetime/dateselector.js +458 -0
  229. package/esm2015/controls/datetime/dateselector.ngfactory.js +7 -0
  230. package/esm2015/controls/datetime/datetime.js +229 -0
  231. package/esm2015/controls/datetime/datetime.ngfactory.js +7 -0
  232. package/esm2015/controls/datetime/time.js +212 -0
  233. package/esm2015/controls/datetime/time.ngfactory.js +7 -0
  234. package/esm2015/controls/dialog/dialog.js +207 -0
  235. package/esm2015/controls/dialog/dialog.ngfactory.js +7 -0
  236. package/esm2015/controls/form/form.js +110 -0
  237. package/esm2015/controls/form/form.ngfactory.js +7 -0
  238. package/esm2015/controls/grid/grid.js +144 -0
  239. package/esm2015/controls/grid/grid.ngfactory.js +7 -0
  240. package/esm2015/controls/grid/gridbutton.js +54 -0
  241. package/esm2015/controls/grid/gridbutton.ngfactory.js +7 -0
  242. package/esm2015/controls/grid/gridcolumn.js +49 -0
  243. package/esm2015/controls/grid/gridcolumn.ngfactory.js +7 -0
  244. package/esm2015/controls/grid/gridcolumnaction.js +26 -0
  245. package/esm2015/controls/grid/gridcolumnaction.ngfactory.js +7 -0
  246. package/esm2015/controls/grid/gridcolumnbase.js +126 -0
  247. package/esm2015/controls/grid/gridcolumnbase.ngfactory.js +7 -0
  248. package/esm2015/controls/grid/gridimage.js +13 -0
  249. package/esm2015/controls/grid/gridimage.ngfactory.js +7 -0
  250. package/esm2015/controls/grid/model.js +79 -0
  251. package/esm2015/controls/grid/model.ngfactory.js +7 -0
  252. package/esm2015/controls/grid/paging.js +254 -0
  253. package/esm2015/controls/grid/paging.ngfactory.js +7 -0
  254. package/esm2015/controls/input/input.js +66 -0
  255. package/esm2015/controls/input/input.ngfactory.js +7 -0
  256. package/esm2015/controls/input/inputarea.js +54 -0
  257. package/esm2015/controls/input/inputarea.ngfactory.js +7 -0
  258. package/esm2015/controls/input/inputcurrency.js +31 -0
  259. package/esm2015/controls/input/inputcurrency.ngfactory.js +7 -0
  260. package/esm2015/controls/input/inputdecimal.js +146 -0
  261. package/esm2015/controls/input/inputdecimal.ngfactory.js +7 -0
  262. package/esm2015/controls/input/inputemail.js +41 -0
  263. package/esm2015/controls/input/inputemail.ngfactory.js +7 -0
  264. package/esm2015/controls/input/inputinteger.js +130 -0
  265. package/esm2015/controls/input/inputinteger.ngfactory.js +7 -0
  266. package/esm2015/controls/input/inputpassword.js +46 -0
  267. package/esm2015/controls/input/inputpassword.ngfactory.js +7 -0
  268. package/esm2015/controls/input/inputsearch.js +37 -0
  269. package/esm2015/controls/input/inputsearch.ngfactory.js +7 -0
  270. package/esm2015/controls/layout/formlayout.js +70 -0
  271. package/esm2015/controls/layout/formlayout.ngfactory.js +7 -0
  272. package/esm2015/controls/list/dropdown.js +270 -0
  273. package/esm2015/controls/list/dropdown.ngfactory.js +7 -0
  274. package/esm2015/controls/list/list.module.js +11 -0
  275. package/esm2015/controls/list/list.module.ngfactory.js +7 -0
  276. package/esm2015/controls/list/listbox.js +187 -0
  277. package/esm2015/controls/list/listbox.ngfactory.js +7 -0
  278. package/esm2015/controls/multilanguage/multilanguageinput.js +230 -0
  279. package/esm2015/controls/multilanguage/multilanguageinput.ngfactory.js +7 -0
  280. package/esm2015/controls/multilanguage/multilanguageinputarea.js +231 -0
  281. package/esm2015/controls/multilanguage/multilanguageinputarea.ngfactory.js +7 -0
  282. package/esm2015/controls/static/formcontainer.js +50 -0
  283. package/esm2015/controls/static/formcontainer.ngfactory.js +7 -0
  284. package/esm2015/controls/static/staticlabel.js +31 -0
  285. package/esm2015/controls/static/staticlabel.ngfactory.js +7 -0
  286. package/esm2015/controls/tabs/tab.js +72 -0
  287. package/esm2015/controls/tabs/tab.ngfactory.js +7 -0
  288. package/esm2015/controls/tabs/tabitem.js +32 -0
  289. package/esm2015/controls/tabs/tabitem.ngfactory.js +7 -0
  290. package/esm2015/controls/tinymce/tinymce.js +238 -0
  291. package/esm2015/controls/tinymce/tinymce.ngfactory.js +7 -0
  292. package/esm2015/controls/tinymce/tinymcedialogsettings.js +13 -0
  293. package/esm2015/controls/tinymce/tinymcedialogsettings.ngfactory.js +7 -0
  294. package/esm2015/controls/tinymce/tinymcedialogsettingsmeta.js +4 -0
  295. package/esm2015/controls/tinymce/tinymcedialogsettingsmeta.ngfactory.js +7 -0
  296. package/esm2015/controls/tinymce/tinymceinstance.js +1 -0
  297. package/esm2015/controls/tinymce/tinymceinstance.ngfactory.js +7 -0
  298. package/esm2015/controls/tooltip/tooltip.js +361 -0
  299. package/esm2015/controls/tooltip/tooltip.ngfactory.js +7 -0
  300. package/esm2015/controls/treeview/ngtreeitemaction.js +60 -0
  301. package/esm2015/controls/treeview/ngtreeitemaction.ngfactory.js +7 -0
  302. package/esm2015/controls/treeview/treeview.js +322 -0
  303. package/esm2015/controls/treeview/treeview.ngfactory.js +7 -0
  304. package/esm2015/controls/treeview/treeviewchild.js +18 -0
  305. package/esm2015/controls/treeview/treeviewchild.ngfactory.js +7 -0
  306. package/esm2015/controls/upload/dropzonemultiple.js +163 -0
  307. package/esm2015/controls/upload/dropzonemultiple.ngfactory.js +7 -0
  308. package/esm2015/controls/upload/dropzonesingle.js +108 -0
  309. package/esm2015/controls/upload/dropzonesingle.ngfactory.js +7 -0
  310. package/esm2015/controls/upload/uploadmultiple.js +121 -0
  311. package/esm2015/controls/upload/uploadmultiple.ngfactory.js +7 -0
  312. package/esm2015/controls/upload/uploadsingle.js +55 -0
  313. package/esm2015/controls/upload/uploadsingle.ngfactory.js +7 -0
  314. package/esm2015/controls/validation/validationsummary.js +133 -0
  315. package/esm2015/controls/validation/validationsummary.ngfactory.js +7 -0
  316. package/esm2015/controls/wizard/wizard.js +139 -0
  317. package/esm2015/controls/wizard/wizard.ngfactory.js +7 -0
  318. package/esm2015/controls/wizard/wizarditem.js +27 -0
  319. package/esm2015/controls/wizard/wizarditem.ngfactory.js +7 -0
  320. package/esm2015/enums/ButtonRoleType.js +1 -0
  321. package/esm2015/enums/ButtonRoleType.ngfactory.js +7 -0
  322. package/esm2015/enums/ControlHeight.js +19 -0
  323. package/esm2015/enums/ControlHeight.ngfactory.js +7 -0
  324. package/esm2015/enums/IconType.js +9 -0
  325. package/esm2015/enums/IconType.ngfactory.js +7 -0
  326. package/esm2015/interfaces/ISacConfigurationService.js +1 -0
  327. package/esm2015/interfaces/ISacConfigurationService.ngfactory.js +7 -0
  328. package/esm2015/interfaces/ISacFileBrowserService.js +1 -0
  329. package/esm2015/interfaces/ISacFileBrowserService.ngfactory.js +7 -0
  330. package/esm2015/interfaces/ISacIconService.js +1 -0
  331. package/esm2015/interfaces/ISacIconService.ngfactory.js +7 -0
  332. package/esm2015/interfaces/ISacLabelSizes.js +1 -0
  333. package/esm2015/interfaces/ISacLabelSizes.ngfactory.js +7 -0
  334. package/esm2015/interfaces/ISacLanguageService.js +1 -0
  335. package/esm2015/interfaces/ISacLanguageService.ngfactory.js +7 -0
  336. package/esm2015/interfaces/ISacLocalisationService.js +1 -0
  337. package/esm2015/interfaces/ISacLocalisationService.ngfactory.js +7 -0
  338. package/esm2015/interfaces/ISacValidationKeyService.js +1 -0
  339. package/esm2015/interfaces/ISacValidationKeyService.ngfactory.js +7 -0
  340. package/esm2015/interfaces/iabstractcontrollabel.js +1 -0
  341. package/esm2015/interfaces/iabstractcontrollabel.ngfactory.js +7 -0
  342. package/esm2015/interfaces/iconfirmcomponent.js +1 -0
  343. package/esm2015/interfaces/iconfirmcomponent.ngfactory.js +7 -0
  344. package/esm2015/interfaces/idatetimecontrol.js +1 -0
  345. package/esm2015/interfaces/idatetimecontrol.ngfactory.js +7 -0
  346. package/esm2015/interfaces/iuploadcontrol.js +1 -0
  347. package/esm2015/interfaces/iuploadcontrol.ngfactory.js +7 -0
  348. package/esm2015/models/languagemodel.js +13 -0
  349. package/esm2015/models/languagemodel.ngfactory.js +7 -0
  350. package/esm2015/public_api.js +101 -0
  351. package/esm2015/public_api.ngfactory.js +7 -0
  352. package/esm2015/services/index.js +7 -0
  353. package/esm2015/services/index.ngfactory.js +7 -0
  354. package/esm2015/services/sac-configuration.service.js +77 -0
  355. package/esm2015/services/sac-configuration.service.ngfactory.js +7 -0
  356. package/esm2015/services/sac-filebrowser.service.js +203 -0
  357. package/esm2015/services/sac-filebrowser.service.ngfactory.js +7 -0
  358. package/esm2015/services/sac-icon.service.js +155 -0
  359. package/esm2015/services/sac-icon.service.ngfactory.js +7 -0
  360. package/esm2015/services/sac-language.service.js +43 -0
  361. package/esm2015/services/sac-language.service.ngfactory.js +7 -0
  362. package/esm2015/services/sac-localisation.service.js +460 -0
  363. package/esm2015/services/sac-localisation.service.ngfactory.js +7 -0
  364. package/esm2015/services/sac-validationkey.service.js +156 -0
  365. package/esm2015/services/sac-validationkey.service.ngfactory.js +7 -0
  366. package/esm2015/simpleangularcontrols-sac-common.js +11 -0
  367. package/esm2015/simpleangularcontrols-sac-common.ngfactory.js +7 -0
  368. package/esm2015/utilities/convertion.js +32 -0
  369. package/esm2015/utilities/convertion.ngfactory.js +7 -0
  370. package/esm2015/utilities/datatypes.js +9 -0
  371. package/esm2015/utilities/datatypes.ngfactory.js +7 -0
  372. package/esm2015/utilities/enums.js +16 -0
  373. package/esm2015/utilities/enums.ngfactory.js +7 -0
  374. package/esm2015/utilities/guid.js +16 -0
  375. package/esm2015/utilities/guid.ngfactory.js +7 -0
  376. package/esm2015/utilities/interpolation.js +50 -0
  377. package/esm2015/utilities/interpolation.ngfactory.js +7 -0
  378. package/esm2015/utilities/positioning.js +301 -0
  379. package/esm2015/utilities/positioning.ngfactory.js +7 -0
  380. package/esm2015/validation/email.validator.js +13 -0
  381. package/esm2015/validation/email.validator.ngfactory.js +7 -0
  382. package/esm2015/validation/index.js +3 -0
  383. package/esm2015/validation/index.ngfactory.js +7 -0
  384. package/esm2015/validation/invaliddate.validator.js +14 -0
  385. package/esm2015/validation/invaliddate.validator.ngfactory.js +7 -0
  386. package/esm2015/validation/isDateValid.js +15 -0
  387. package/esm2015/validation/isDateValid.ngfactory.js +7 -0
  388. package/esm2015/validation/maxdate.validator.js +21 -0
  389. package/esm2015/validation/maxdate.validator.ngfactory.js +7 -0
  390. package/esm2015/validation/maxtime.validator.js +21 -0
  391. package/esm2015/validation/maxtime.validator.ngfactory.js +7 -0
  392. package/esm2015/validation/maxvalue.validator.js +16 -0
  393. package/esm2015/validation/maxvalue.validator.ngfactory.js +7 -0
  394. package/esm2015/validation/mindate.validator.js +21 -0
  395. package/esm2015/validation/mindate.validator.ngfactory.js +7 -0
  396. package/esm2015/validation/minfiles.validator.js +19 -0
  397. package/esm2015/validation/minfiles.validator.ngfactory.js +7 -0
  398. package/esm2015/validation/minlength.validator.js +21 -0
  399. package/esm2015/validation/minlength.validator.ngfactory.js +7 -0
  400. package/esm2015/validation/mintime.validator.js +21 -0
  401. package/esm2015/validation/mintime.validator.ngfactory.js +7 -0
  402. package/esm2015/validation/minvalue.validator.js +16 -0
  403. package/esm2015/validation/minvalue.validator.ngfactory.js +7 -0
  404. package/esm2015/validation/multilanguagerequired.validator.js +22 -0
  405. package/esm2015/validation/multilanguagerequired.validator.ngfactory.js +7 -0
  406. package/esm2015/validation/multilanguagerequiredany.validator.js +22 -0
  407. package/esm2015/validation/multilanguagerequiredany.validator.ngfactory.js +7 -0
  408. package/esm2015/validation/pattern.validator.js +16 -0
  409. package/esm2015/validation/pattern.validator.ngfactory.js +7 -0
  410. package/esm2015/validation/required.validator.js +13 -0
  411. package/esm2015/validation/required.validator.ngfactory.js +7 -0
  412. package/esm2015/validation/validation.class.js +189 -0
  413. package/esm2015/validation/validation.class.ngfactory.js +7 -0
  414. package/esm2015/validation/validationerrorcreator.js +11 -0
  415. package/esm2015/validation/validationerrorcreator.ngfactory.js +7 -0
  416. package/esm2015/validation/validationerroritem.js +27 -0
  417. package/esm2015/validation/validationerroritem.ngfactory.js +7 -0
  418. package/fesm2015/simpleangularcontrols-sac-common.js +10319 -0
  419. package/fesm2015/simpleangularcontrols-sac-common.js.map +1 -0
  420. package/interfaces/ISacConfigurationService.d.ts +38 -0
  421. package/interfaces/ISacConfigurationService.ngfactory.d.ts +1 -0
  422. package/interfaces/ISacFileBrowserService.d.ts +65 -0
  423. package/interfaces/ISacFileBrowserService.ngfactory.d.ts +1 -0
  424. package/interfaces/ISacIconService.d.ts +89 -0
  425. package/interfaces/ISacIconService.ngfactory.d.ts +1 -0
  426. package/interfaces/ISacLabelSizes.d.ts +26 -0
  427. package/interfaces/ISacLabelSizes.ngfactory.d.ts +1 -0
  428. package/interfaces/ISacLanguageService.d.ts +12 -0
  429. package/interfaces/ISacLanguageService.ngfactory.d.ts +1 -0
  430. package/interfaces/ISacLocalisationService.d.ts +10 -0
  431. package/interfaces/ISacLocalisationService.ngfactory.d.ts +1 -0
  432. package/interfaces/ISacValidationKeyService.d.ts +52 -0
  433. package/interfaces/ISacValidationKeyService.ngfactory.d.ts +1 -0
  434. package/interfaces/iabstractcontrollabel.d.ts +6 -0
  435. package/interfaces/iabstractcontrollabel.ngfactory.d.ts +1 -0
  436. package/interfaces/iconfirmcomponent.d.ts +18 -0
  437. package/interfaces/iconfirmcomponent.ngfactory.d.ts +1 -0
  438. package/interfaces/idatetimecontrol.d.ts +7 -0
  439. package/interfaces/idatetimecontrol.ngfactory.d.ts +1 -0
  440. package/interfaces/iuploadcontrol.d.ts +9 -0
  441. package/interfaces/iuploadcontrol.ngfactory.d.ts +1 -0
  442. package/models/languagemodel.d.ts +22 -0
  443. package/models/languagemodel.ngfactory.d.ts +1 -0
  444. package/package.json +28 -0
  445. package/public_api.d.ts +79 -0
  446. package/public_api.ngfactory.d.ts +1 -0
  447. package/services/index.d.ts +6 -0
  448. package/services/index.ngfactory.d.ts +1 -0
  449. package/services/sac-configuration.service.d.ts +81 -0
  450. package/services/sac-configuration.service.ngfactory.d.ts +1 -0
  451. package/services/sac-filebrowser.service.d.ts +140 -0
  452. package/services/sac-filebrowser.service.ngfactory.d.ts +1 -0
  453. package/services/sac-icon.service.d.ts +184 -0
  454. package/services/sac-icon.service.ngfactory.d.ts +1 -0
  455. package/services/sac-language.service.d.ts +26 -0
  456. package/services/sac-language.service.ngfactory.d.ts +1 -0
  457. package/services/sac-localisation.service.d.ts +137 -0
  458. package/services/sac-localisation.service.ngfactory.d.ts +1 -0
  459. package/services/sac-validationkey.service.d.ts +55 -0
  460. package/services/sac-validationkey.service.ngfactory.d.ts +1 -0
  461. package/simpleangularcontrols-sac-common-10.0.0-rc.1.tgz +0 -0
  462. package/simpleangularcontrols-sac-common.d.ts +10 -0
  463. package/simpleangularcontrols-sac-common.metadata.json +1 -0
  464. package/simpleangularcontrols-sac-common.ngfactory.d.ts +1 -0
  465. package/utilities/convertion.d.ts +15 -0
  466. package/utilities/convertion.ngfactory.d.ts +1 -0
  467. package/utilities/datatypes.d.ts +6 -0
  468. package/utilities/datatypes.ngfactory.d.ts +1 -0
  469. package/utilities/enums.d.ts +10 -0
  470. package/utilities/enums.ngfactory.d.ts +1 -0
  471. package/utilities/guid.d.ts +4 -0
  472. package/utilities/guid.ngfactory.d.ts +1 -0
  473. package/utilities/interpolation.d.ts +21 -0
  474. package/utilities/interpolation.ngfactory.d.ts +1 -0
  475. package/utilities/positioning.d.ts +82 -0
  476. package/utilities/positioning.ngfactory.d.ts +1 -0
  477. package/validation/email.validator.d.ts +2 -0
  478. package/validation/email.validator.ngfactory.d.ts +1 -0
  479. package/validation/index.d.ts +2 -0
  480. package/validation/index.ngfactory.d.ts +1 -0
  481. package/validation/invaliddate.validator.d.ts +2 -0
  482. package/validation/invaliddate.validator.ngfactory.d.ts +1 -0
  483. package/validation/isDateValid.d.ts +5 -0
  484. package/validation/isDateValid.ngfactory.d.ts +1 -0
  485. package/validation/maxdate.validator.d.ts +2 -0
  486. package/validation/maxdate.validator.ngfactory.d.ts +1 -0
  487. package/validation/maxtime.validator.d.ts +2 -0
  488. package/validation/maxtime.validator.ngfactory.d.ts +1 -0
  489. package/validation/maxvalue.validator.d.ts +2 -0
  490. package/validation/maxvalue.validator.ngfactory.d.ts +1 -0
  491. package/validation/mindate.validator.d.ts +2 -0
  492. package/validation/mindate.validator.ngfactory.d.ts +1 -0
  493. package/validation/minfiles.validator.d.ts +2 -0
  494. package/validation/minfiles.validator.ngfactory.d.ts +1 -0
  495. package/validation/minlength.validator.d.ts +2 -0
  496. package/validation/minlength.validator.ngfactory.d.ts +1 -0
  497. package/validation/mintime.validator.d.ts +2 -0
  498. package/validation/mintime.validator.ngfactory.d.ts +1 -0
  499. package/validation/minvalue.validator.d.ts +2 -0
  500. package/validation/minvalue.validator.ngfactory.d.ts +1 -0
  501. package/validation/multilanguagerequired.validator.d.ts +3 -0
  502. package/validation/multilanguagerequired.validator.ngfactory.d.ts +1 -0
  503. package/validation/multilanguagerequiredany.validator.d.ts +3 -0
  504. package/validation/multilanguagerequiredany.validator.ngfactory.d.ts +1 -0
  505. package/validation/pattern.validator.d.ts +2 -0
  506. package/validation/pattern.validator.ngfactory.d.ts +1 -0
  507. package/validation/required.validator.d.ts +2 -0
  508. package/validation/required.validator.ngfactory.d.ts +1 -0
  509. package/validation/validation.class.d.ts +139 -0
  510. package/validation/validation.class.ngfactory.d.ts +1 -0
  511. package/validation/validationerrorcreator.d.ts +1 -0
  512. package/validation/validationerrorcreator.ngfactory.d.ts +1 -0
  513. package/validation/validationerroritem.d.ts +33 -0
  514. package/validation/validationerroritem.ngfactory.d.ts +1 -0
@@ -0,0 +1,113 @@
1
+ import { Directive, Host, Injector, Input } from '@angular/core';
2
+ import { SacBaseModelControl } from '../../common/basemodelcontrol';
3
+ import { Validation } from '../../validation';
4
+ import { SacFormLayoutCommon } from '../layout/formlayout';
5
+ /**
6
+ * Basis Komponente für SacRadiobuttonsCommon. Extends SacBaseModelControl
7
+ */
8
+ export class SacRadiobuttonsCommon extends SacBaseModelControl {
9
+ // #endregion Properties
10
+ // #region Constructors
11
+ /**
12
+ * Constructor
13
+ * @param formlayout SacFormLayoutCommon to define scoped layout settings
14
+ * @param injector Injector for injecting services
15
+ */
16
+ constructor(formlayout, injector) {
17
+ super(formlayout, injector);
18
+ // #region Properties
19
+ /**
20
+ * Radio Buttons Content
21
+ */
22
+ this.contentRadiobuttons = [];
23
+ /**
24
+ * Radio Button Index
25
+ */
26
+ this.radioButtonIndex = 0;
27
+ /**
28
+ * Resource Key für Validation Message Required bei Control
29
+ */
30
+ this.validationmessagerequired = this.validationKeyService.ValidationErrorRequired;
31
+ /**
32
+ * Resource Key für Validation Message Required in Validation Summary
33
+ */
34
+ this.validationmessagesummaryrequired = this.validationKeyService.ValidationErrorSummaryRequired;
35
+ }
36
+ // #endregion Constructors
37
+ // #region Public Methods
38
+ /**
39
+ * GEtter für Radio Button Index
40
+ */
41
+ GetRadionButtonIndex() {
42
+ this.radioButtonIndex++;
43
+ return this.radioButtonIndex;
44
+ }
45
+ /**
46
+ * Methode prüft ob Item checked ist
47
+ */
48
+ HasCheckedItem() {
49
+ const radioButtons = this.contentRadiobuttons;
50
+ if (radioButtons === undefined || radioButtons === null) {
51
+ return false;
52
+ }
53
+ return this.contentRadiobuttons.some((itm) => itm.checked);
54
+ }
55
+ /**
56
+ * Erstellung des RadioButton
57
+ */
58
+ RegisterRadioButton(radioButton) {
59
+ this.contentRadiobuttons.push(radioButton);
60
+ }
61
+ /**
62
+ * Item selektieren
63
+ */
64
+ SelectItem(value) {
65
+ this.contentRadiobuttons.forEach((itm) => {
66
+ itm.checked = itm.value === value;
67
+ });
68
+ this.value = value;
69
+ }
70
+ /**
71
+ * Löschen des Radio Button
72
+ */
73
+ UnregisterRadioButton(radioButton) {
74
+ const index = this.contentRadiobuttons.indexOf(radioButton);
75
+ if (index >= 0) {
76
+ this.contentRadiobuttons.splice(index, 1);
77
+ }
78
+ }
79
+ /**
80
+ * Validator
81
+ */
82
+ validateData(c) {
83
+ if (!this.HasCheckedItem()) {
84
+ return Validation.GetValidationErrorItem('required', this.validationmessagerequired, this.validationmessagesummaryrequired, this.label);
85
+ }
86
+ else {
87
+ return null;
88
+ }
89
+ }
90
+ /**
91
+ * Wert schreiben
92
+ */
93
+ writeValue(value) {
94
+ super.writeValue(value);
95
+ if (value !== null && value !== undefined) {
96
+ this.contentRadiobuttons.forEach((itm) => {
97
+ itm.checked = itm.value === value;
98
+ });
99
+ }
100
+ }
101
+ }
102
+ SacRadiobuttonsCommon.decorators = [
103
+ { type: Directive }
104
+ ];
105
+ SacRadiobuttonsCommon.ctorParameters = () => [
106
+ { type: SacFormLayoutCommon, decorators: [{ type: Host }] },
107
+ { type: Injector }
108
+ ];
109
+ SacRadiobuttonsCommon.propDecorators = {
110
+ validationmessagerequired: [{ type: Input }],
111
+ validationmessagesummaryrequired: [{ type: Input }]
112
+ };
113
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW9idXR0b25zLmpzIiwic291cmNlUm9vdCI6IkM6L1Byb2pla3RlL3NpbXBsZWFuZ3VsYXJjb250cm9scy1uZzEwL2NoLmpuZXR3b3JrLnNhYy1jb250cm9scy9wcm9qZWN0cy9zYWMtY29tbW9uL3NyYy8iLCJzb3VyY2VzIjpbImNvbnRyb2xzL2NoZWNrYm94L3JhZGlvYnV0dG9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUczRDs7R0FFRztBQUVILE1BQU0sT0FBZ0IscUJBQ3BCLFNBQVEsbUJBQXdCO0lBeUJoQyx3QkFBd0I7SUFFeEIsdUJBQXVCO0lBRXZCOzs7O09BSUc7SUFDSCxZQUFvQixVQUErQixFQUFFLFFBQWtCO1FBQ3JFLEtBQUssQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFoQzlCLHFCQUFxQjtRQUVyQjs7V0FFRztRQUNLLHdCQUFtQixHQUEyQixFQUFFLENBQUM7UUFDekQ7O1dBRUc7UUFDSyxxQkFBZ0IsR0FBVyxDQUFDLENBQUM7UUFFckM7O1dBRUc7UUFDYSw4QkFBeUIsR0FDdkMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLHVCQUF1QixDQUFDO1FBQ3BEOztXQUVHO1FBQ2EscUNBQWdDLEdBQzlDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyw4QkFBOEIsQ0FBQztJQWEzRCxDQUFDO0lBRUQsMEJBQTBCO0lBRTFCLHlCQUF5QjtJQUV6Qjs7T0FFRztJQUNJLG9CQUFvQjtRQUN6QixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUN4QixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUMvQixDQUFDO0lBRUQ7O09BRUc7SUFDSSxjQUFjO1FBQ25CLE1BQU0sWUFBWSxHQUEyQixJQUFJLENBQUMsbUJBQW1CLENBQUM7UUFFdEUsSUFBSSxZQUFZLEtBQUssU0FBUyxJQUFJLFlBQVksS0FBSyxJQUFJLEVBQUU7WUFDdkQsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUVELE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRDs7T0FFRztJQUNJLG1CQUFtQixDQUFDLFdBQWlDO1FBQzFELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVEOztPQUVHO0lBQ0ksVUFBVSxDQUFDLEtBQVU7UUFDMUIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ3ZDLEdBQUcsQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDLEtBQUssS0FBSyxLQUFLLENBQUM7UUFDcEMsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0lBRUQ7O09BRUc7SUFDSSxxQkFBcUIsQ0FBQyxXQUFpQztRQUM1RCxNQUFNLEtBQUssR0FBVyxJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRXBFLElBQUksS0FBSyxJQUFJLENBQUMsRUFBRTtZQUNkLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQzNDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0ksWUFBWSxDQUFDLENBQWtCO1FBQ3BDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLEVBQUU7WUFDMUIsT0FBTyxVQUFVLENBQUMsc0JBQXNCLENBQ3RDLFVBQVUsRUFDVixJQUFJLENBQUMseUJBQXlCLEVBQzlCLElBQUksQ0FBQyxnQ0FBZ0MsRUFDckMsSUFBSSxDQUFDLEtBQUssQ0FDWCxDQUFDO1NBQ0g7YUFBTTtZQUNMLE9BQU8sSUFBSSxDQUFDO1NBQ2I7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxVQUFVLENBQUMsS0FBVTtRQUMxQixLQUFLLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hCLElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxLQUFLLEtBQUssU0FBUyxFQUFFO1lBQ3pDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDdkMsR0FBRyxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUMsS0FBSyxLQUFLLEtBQUssQ0FBQztZQUNwQyxDQUFDLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQzs7O1lBeEhGLFNBQVM7OztZQU5ELG1CQUFtQix1QkEwQ2IsSUFBSTtZQTlDTyxRQUFROzs7d0NBNkIvQixLQUFLOytDQUtMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3QsIEluamVjdG9yLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRpb25FcnJvcnMsIFZhbGlkYXRvciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU2FjQmFzZU1vZGVsQ29udHJvbCB9IGZyb20gJy4uLy4uL2NvbW1vbi9iYXNlbW9kZWxjb250cm9sJztcclxuaW1wb3J0IHsgVmFsaWRhdGlvbiB9IGZyb20gJy4uLy4uL3ZhbGlkYXRpb24nO1xyXG5pbXBvcnQgeyBTYWNGb3JtTGF5b3V0Q29tbW9uIH0gZnJvbSAnLi4vbGF5b3V0L2Zvcm1sYXlvdXQnO1xyXG5pbXBvcnQgeyBTYWNSYWRpb2J1dHRvbkNvbW1vbiB9IGZyb20gJy4vcmFkaW9idXR0b24nO1xyXG5cclxuLyoqXHJcbiAqIEJhc2lzIEtvbXBvbmVudGUgZsO8ciBTYWNSYWRpb2J1dHRvbnNDb21tb24uIEV4dGVuZHMgU2FjQmFzZU1vZGVsQ29udHJvbFxyXG4gKi9cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTYWNSYWRpb2J1dHRvbnNDb21tb25cclxuICBleHRlbmRzIFNhY0Jhc2VNb2RlbENvbnRyb2w8YW55PlxyXG4gIGltcGxlbWVudHMgVmFsaWRhdG9yXHJcbntcclxuICAvLyAjcmVnaW9uIFByb3BlcnRpZXNcclxuXHJcbiAgLyoqXHJcbiAgICogUmFkaW8gQnV0dG9ucyBDb250ZW50XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBjb250ZW50UmFkaW9idXR0b25zOiBTYWNSYWRpb2J1dHRvbkNvbW1vbltdID0gW107XHJcbiAgLyoqXHJcbiAgICogUmFkaW8gQnV0dG9uIEluZGV4XHJcbiAgICovXHJcbiAgcHJpdmF0ZSByYWRpb0J1dHRvbkluZGV4OiBudW1iZXIgPSAwO1xyXG5cclxuICAvKipcclxuICAgKiBSZXNvdXJjZSBLZXkgZsO8ciBWYWxpZGF0aW9uIE1lc3NhZ2UgUmVxdWlyZWQgYmVpIENvbnRyb2xcclxuICAgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgdmFsaWRhdGlvbm1lc3NhZ2VyZXF1aXJlZDogc3RyaW5nID1cclxuICAgIHRoaXMudmFsaWRhdGlvbktleVNlcnZpY2UuVmFsaWRhdGlvbkVycm9yUmVxdWlyZWQ7XHJcbiAgLyoqXHJcbiAgICogUmVzb3VyY2UgS2V5IGbDvHIgVmFsaWRhdGlvbiBNZXNzYWdlIFJlcXVpcmVkIGluIFZhbGlkYXRpb24gU3VtbWFyeVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyB2YWxpZGF0aW9ubWVzc2FnZXN1bW1hcnlyZXF1aXJlZDogc3RyaW5nID1cclxuICAgIHRoaXMudmFsaWRhdGlvbktleVNlcnZpY2UuVmFsaWRhdGlvbkVycm9yU3VtbWFyeVJlcXVpcmVkO1xyXG5cclxuICAvLyAjZW5kcmVnaW9uIFByb3BlcnRpZXNcclxuXHJcbiAgLy8gI3JlZ2lvbiBDb25zdHJ1Y3RvcnNcclxuXHJcbiAgLyoqXHJcbiAgICogQ29uc3RydWN0b3JcclxuICAgKiBAcGFyYW0gZm9ybWxheW91dCBTYWNGb3JtTGF5b3V0Q29tbW9uIHRvIGRlZmluZSBzY29wZWQgbGF5b3V0IHNldHRpbmdzXHJcbiAgICogQHBhcmFtIGluamVjdG9yIEluamVjdG9yIGZvciBpbmplY3Rpbmcgc2VydmljZXNcclxuICAgKi9cclxuICBjb25zdHJ1Y3RvcihASG9zdCgpIGZvcm1sYXlvdXQ6IFNhY0Zvcm1MYXlvdXRDb21tb24sIGluamVjdG9yOiBJbmplY3Rvcikge1xyXG4gICAgc3VwZXIoZm9ybWxheW91dCwgaW5qZWN0b3IpO1xyXG4gIH1cclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiBDb25zdHJ1Y3RvcnNcclxuXHJcbiAgLy8gI3JlZ2lvbiBQdWJsaWMgTWV0aG9kc1xyXG5cclxuICAvKipcclxuICAgKiBHRXR0ZXIgZsO8ciBSYWRpbyBCdXR0b24gSW5kZXhcclxuICAgKi9cclxuICBwdWJsaWMgR2V0UmFkaW9uQnV0dG9uSW5kZXgoKTogbnVtYmVyIHtcclxuICAgIHRoaXMucmFkaW9CdXR0b25JbmRleCsrO1xyXG4gICAgcmV0dXJuIHRoaXMucmFkaW9CdXR0b25JbmRleDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldGhvZGUgcHLDvGZ0IG9iIEl0ZW0gY2hlY2tlZCBpc3RcclxuICAgKi9cclxuICBwdWJsaWMgSGFzQ2hlY2tlZEl0ZW0oKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCByYWRpb0J1dHRvbnM6IFNhY1JhZGlvYnV0dG9uQ29tbW9uW10gPSB0aGlzLmNvbnRlbnRSYWRpb2J1dHRvbnM7XHJcblxyXG4gICAgaWYgKHJhZGlvQnV0dG9ucyA9PT0gdW5kZWZpbmVkIHx8IHJhZGlvQnV0dG9ucyA9PT0gbnVsbCkge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuY29udGVudFJhZGlvYnV0dG9ucy5zb21lKChpdG0pID0+IGl0bS5jaGVja2VkKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEVyc3RlbGx1bmcgZGVzIFJhZGlvQnV0dG9uXHJcbiAgICovXHJcbiAgcHVibGljIFJlZ2lzdGVyUmFkaW9CdXR0b24ocmFkaW9CdXR0b246IFNhY1JhZGlvYnV0dG9uQ29tbW9uKSB7XHJcbiAgICB0aGlzLmNvbnRlbnRSYWRpb2J1dHRvbnMucHVzaChyYWRpb0J1dHRvbik7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBJdGVtIHNlbGVrdGllcmVuXHJcbiAgICovXHJcbiAgcHVibGljIFNlbGVjdEl0ZW0odmFsdWU6IGFueSkge1xyXG4gICAgdGhpcy5jb250ZW50UmFkaW9idXR0b25zLmZvckVhY2goKGl0bSkgPT4ge1xyXG4gICAgICBpdG0uY2hlY2tlZCA9IGl0bS52YWx1ZSA9PT0gdmFsdWU7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBMw7ZzY2hlbiBkZXMgUmFkaW8gQnV0dG9uXHJcbiAgICovXHJcbiAgcHVibGljIFVucmVnaXN0ZXJSYWRpb0J1dHRvbihyYWRpb0J1dHRvbjogU2FjUmFkaW9idXR0b25Db21tb24pIHtcclxuICAgIGNvbnN0IGluZGV4OiBudW1iZXIgPSB0aGlzLmNvbnRlbnRSYWRpb2J1dHRvbnMuaW5kZXhPZihyYWRpb0J1dHRvbik7XHJcblxyXG4gICAgaWYgKGluZGV4ID49IDApIHtcclxuICAgICAgdGhpcy5jb250ZW50UmFkaW9idXR0b25zLnNwbGljZShpbmRleCwgMSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBWYWxpZGF0b3JcclxuICAgKi9cclxuICBwdWJsaWMgdmFsaWRhdGVEYXRhKGM6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMge1xyXG4gICAgaWYgKCF0aGlzLkhhc0NoZWNrZWRJdGVtKCkpIHtcclxuICAgICAgcmV0dXJuIFZhbGlkYXRpb24uR2V0VmFsaWRhdGlvbkVycm9ySXRlbShcclxuICAgICAgICAncmVxdWlyZWQnLFxyXG4gICAgICAgIHRoaXMudmFsaWRhdGlvbm1lc3NhZ2VyZXF1aXJlZCxcclxuICAgICAgICB0aGlzLnZhbGlkYXRpb25tZXNzYWdlc3VtbWFyeXJlcXVpcmVkLFxyXG4gICAgICAgIHRoaXMubGFiZWxcclxuICAgICAgKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogV2VydCBzY2hyZWliZW5cclxuICAgKi9cclxuICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KSB7XHJcbiAgICBzdXBlci53cml0ZVZhbHVlKHZhbHVlKTtcclxuICAgIGlmICh2YWx1ZSAhPT0gbnVsbCAmJiB2YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHRoaXMuY29udGVudFJhZGlvYnV0dG9ucy5mb3JFYWNoKChpdG0pID0+IHtcclxuICAgICAgICBpdG0uY2hlY2tlZCA9IGl0bS52YWx1ZSA9PT0gdmFsdWU7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiBQdWJsaWMgTWV0aG9kc1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @fileoverview This file was generated by the Angular template compiler. Do not edit.
3
+ *
4
+ * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes,extraRequire}
5
+ * tslint:disable
6
+ */
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW9idXR0b25zLm5nZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiJDOi9Qcm9qZWt0ZS9zaW1wbGVhbmd1bGFyY29udHJvbHMtbmcxMC9jaC5qbmV0d29yay5zYWMtY29udHJvbHMvcHJvamVjdHMvc2FjLWNvbW1vbi9zcmMvIiwic291cmNlcyI6WyJjb250cm9scy9jaGVja2JveC9yYWRpb2J1dHRvbnMubmdmYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBpMCBmcm9tICdAYW5ndWxhci9jb3JlJztcbmkwLkNvbXBvbmVudEZhY3Rvcnk7XG4iXX0=
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Class for button templates in Confirm Button
3
+ */
4
+ export class SacConfirmButton {
5
+ // #endregion Properties
6
+ // #region Constructors
7
+ /**
8
+ * Konstruktor
9
+ * @param key Key for button
10
+ * @param text Text for button
11
+ * @param role Role type for the button. Default is ‘secondary’
12
+ */
13
+ constructor(key = '', text = '', role = 'default') {
14
+ // #region Properties
15
+ /**
16
+ * Key of the button. Is returned as a result when confirming
17
+ */
18
+ this.key = '';
19
+ /**
20
+ * Layout of the button
21
+ */
22
+ this.role = 'secondary';
23
+ /**
24
+ * Display text of the buttonAnzeigetext des Buttons
25
+ */
26
+ this.text = '';
27
+ this.key = key;
28
+ this.text = text;
29
+ this.role = role;
30
+ }
31
+ }
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS5idXR0b24uanMiLCJzb3VyY2VSb290IjoiQzovUHJvamVrdGUvc2ltcGxlYW5ndWxhcmNvbnRyb2xzLW5nMTAvY2guam5ldHdvcmsuc2FjLWNvbnRyb2xzL3Byb2plY3RzL3NhYy1jb21tb24vc3JjLyIsInNvdXJjZXMiOlsiY29udHJvbHMvY29uZmlybS9jb25maXJtLmJ1dHRvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7R0FFRztBQUNILE1BQU0sT0FBTyxnQkFBZ0I7SUFnQjNCLHdCQUF3QjtJQUV4Qix1QkFBdUI7SUFFdkI7Ozs7O09BS0c7SUFDSCxZQUNFLE1BQWMsRUFBRSxFQUNoQixPQUFlLEVBQUUsRUFDakIsT0FBdUIsU0FBUztRQTVCbEMscUJBQXFCO1FBRXJCOztXQUVHO1FBQ0ksUUFBRyxHQUFXLEVBQUUsQ0FBQztRQUN4Qjs7V0FFRztRQUNJLFNBQUksR0FBMkIsV0FBVyxDQUFDO1FBQ2xEOztXQUVHO1FBQ0ksU0FBSSxHQUFXLEVBQUUsQ0FBQztRQWlCdkIsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDZixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUNuQixDQUFDO0NBR0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCVVRUT05ST0xFVFlQRSB9IGZyb20gJy4uLy4uL2VudW1zL0J1dHRvblJvbGVUeXBlJztcclxuXHJcbi8qKlxyXG4gKiBDbGFzcyBmb3IgYnV0dG9uIHRlbXBsYXRlcyBpbiBDb25maXJtIEJ1dHRvblxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIFNhY0NvbmZpcm1CdXR0b24ge1xyXG4gIC8vICNyZWdpb24gUHJvcGVydGllc1xyXG5cclxuICAvKipcclxuICAgKiBLZXkgb2YgdGhlIGJ1dHRvbi4gSXMgcmV0dXJuZWQgYXMgYSByZXN1bHQgd2hlbiBjb25maXJtaW5nXHJcbiAgICovXHJcbiAgcHVibGljIGtleTogc3RyaW5nID0gJyc7XHJcbiAgLyoqXHJcbiAgICogTGF5b3V0IG9mIHRoZSBidXR0b25cclxuICAgKi9cclxuICBwdWJsaWMgcm9sZT86IEJVVFRPTlJPTEVUWVBFIHwgbnVsbCA9ICdzZWNvbmRhcnknO1xyXG4gIC8qKlxyXG4gICAqIERpc3BsYXkgdGV4dCBvZiB0aGUgYnV0dG9uQW56ZWlnZXRleHQgZGVzIEJ1dHRvbnNcclxuICAgKi9cclxuICBwdWJsaWMgdGV4dDogc3RyaW5nID0gJyc7XHJcblxyXG4gIC8vICNlbmRyZWdpb24gUHJvcGVydGllc1xyXG5cclxuICAvLyAjcmVnaW9uIENvbnN0cnVjdG9yc1xyXG5cclxuICAvKipcclxuICAgKiBLb25zdHJ1a3RvclxyXG4gICAqIEBwYXJhbSBrZXkgS2V5IGZvciBidXR0b25cclxuICAgKiBAcGFyYW0gdGV4dCBUZXh0IGZvciBidXR0b25cclxuICAgKiBAcGFyYW0gcm9sZSBSb2xlIHR5cGUgZm9yIHRoZSBidXR0b24uIERlZmF1bHQgaXMg4oCYc2Vjb25kYXJ54oCZXHJcbiAgICovXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBrZXk6IHN0cmluZyA9ICcnLFxyXG4gICAgdGV4dDogc3RyaW5nID0gJycsXHJcbiAgICByb2xlOiBCVVRUT05ST0xFVFlQRSA9ICdkZWZhdWx0J1xyXG4gICkge1xyXG4gICAgdGhpcy5rZXkgPSBrZXk7XHJcbiAgICB0aGlzLnRleHQgPSB0ZXh0O1xyXG4gICAgdGhpcy5yb2xlID0gcm9sZTtcclxuICB9XHJcblxyXG4gIC8vICNlbmRyZWdpb24gQ29uc3RydWN0b3JzXHJcbn1cclxuIl19
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @fileoverview This file was generated by the Angular template compiler. Do not edit.
3
+ *
4
+ * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes,extraRequire}
5
+ * tslint:disable
6
+ */
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS5idXR0b24ubmdmYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IkM6L1Byb2pla3RlL3NpbXBsZWFuZ3VsYXJjb250cm9scy1uZzEwL2NoLmpuZXR3b3JrLnNhYy1jb250cm9scy9wcm9qZWN0cy9zYWMtY29tbW9uL3NyYy8iLCJzb3VyY2VzIjpbImNvbnRyb2xzL2NvbmZpcm0vY29uZmlybS5idXR0b24ubmdmYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBpMCBmcm9tICdAYW5ndWxhci9jb3JlJztcbmkwLkNvbXBvbmVudEZhY3Rvcnk7XG4iXX0=
@@ -0,0 +1,75 @@
1
+ import { EventEmitter, Input, Output, Directive } from '@angular/core';
2
+ /**
3
+ * Basis Klasse für Confirm Dialog
4
+ */
5
+ export class SacConfirmCommon {
6
+ constructor() {
7
+ //#region Input / Output Properties
8
+ /**
9
+ * Event wenn Dialog geschlossen wird
10
+ */
11
+ this.onconfirm = new EventEmitter();
12
+ /**
13
+ * Dialog Titel für Confirm Dialog
14
+ */
15
+ this.title = '';
16
+ /**
17
+ * Nachricht die auf dem Dialog angezeigt wird
18
+ */
19
+ this.message = '';
20
+ /**
21
+ * Icon welches auf dem Dialog angezeigt wird
22
+ */
23
+ this.image = '';
24
+ /**
25
+ * Map mit Buttons die in Dialog angezeigt werden.
26
+ */
27
+ this.buttons = [];
28
+ //#endregion
29
+ //#region Internal Properties and Methods
30
+ /**
31
+ * Definiert ob der Dialog sichtbar ist
32
+ */
33
+ this.isvisible = false;
34
+ //#endregion
35
+ }
36
+ /**
37
+ * Definiert, ob für den Dialog ein Image definiert wurde
38
+ */
39
+ hasImage() {
40
+ return this.image !== '';
41
+ }
42
+ //#endregion
43
+ //#region Public Methods
44
+ /**
45
+ * Action wenn Button auf Dialog geklickt wurde. Löst den EventEmitter aus und blendet den Dialog aus.
46
+ * @param action
47
+ */
48
+ confirm(action) {
49
+ this.onconfirm.emit(action);
50
+ this.isvisible = false;
51
+ }
52
+ /**
53
+ * Zeigt den Dialog an
54
+ */
55
+ show() {
56
+ this.isvisible = true;
57
+ }
58
+ /**
59
+ * Blendet den Dialog aus
60
+ */
61
+ hide() {
62
+ this.isvisible = false;
63
+ }
64
+ }
65
+ SacConfirmCommon.decorators = [
66
+ { type: Directive }
67
+ ];
68
+ SacConfirmCommon.propDecorators = {
69
+ onconfirm: [{ type: Output }],
70
+ title: [{ type: Input }],
71
+ message: [{ type: Input }],
72
+ image: [{ type: Input }],
73
+ buttons: [{ type: Input }]
74
+ };
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS5qcyIsInNvdXJjZVJvb3QiOiJDOi9Qcm9qZWt0ZS9zaW1wbGVhbmd1bGFyY29udHJvbHMtbmcxMC9jaC5qbmV0d29yay5zYWMtY29udHJvbHMvcHJvamVjdHMvc2FjLWNvbW1vbi9zcmMvIiwic291cmNlcyI6WyJjb250cm9scy9jb25maXJtL2NvbmZpcm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUl2RTs7R0FFRztBQUVILE1BQU0sT0FBTyxnQkFBZ0I7SUFEN0I7UUFHRSxtQ0FBbUM7UUFFbkM7O1dBRUc7UUFFSSxjQUFTLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFFcEU7O1NBRUM7UUFFTSxVQUFLLEdBQVcsRUFBRSxDQUFDO1FBRTFCOztXQUVHO1FBRUksWUFBTyxHQUFXLEVBQUUsQ0FBQztRQUU1Qjs7V0FFRztRQUVJLFVBQUssR0FBVyxFQUFFLENBQUM7UUFFMUI7O1dBRUc7UUFFSSxZQUFPLEdBQXVCLEVBQUUsQ0FBQztRQUV4QyxZQUFZO1FBRVoseUNBQXlDO1FBRXpDOztXQUVHO1FBQ0gsY0FBUyxHQUFZLEtBQUssQ0FBQztRQW9DM0IsWUFBWTtJQUVkLENBQUM7SUFwQ0M7O09BRUc7SUFDSCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxLQUFLLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsWUFBWTtJQUVaLHdCQUF3QjtJQUV4Qjs7O09BR0c7SUFDSSxPQUFPLENBQUMsTUFBYztRQUMzQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM1QixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUN6QixDQUFDO0lBRUQ7O09BRUc7SUFDSSxJQUFJO1FBQ1QsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7SUFDeEIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksSUFBSTtRQUNULElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQ3pCLENBQUM7OztZQTVFRixTQUFTOzs7d0JBUVAsTUFBTTtvQkFNTixLQUFLO3NCQU1MLEtBQUs7b0JBTUwsS0FBSztzQkFNTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBEaXJlY3RpdmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSUNvbmZpcm1Db21wb25lbnQgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2ljb25maXJtY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2FjQ29uZmlybUJ1dHRvbiB9IGZyb20gJy4vY29uZmlybS5idXR0b24nO1xyXG5cclxuLyoqXHJcbiAqIEJhc2lzIEtsYXNzZSBmw7xyIENvbmZpcm0gRGlhbG9nXHJcbiAqL1xyXG5ARGlyZWN0aXZlKClcclxuZXhwb3J0IGNsYXNzIFNhY0NvbmZpcm1Db21tb24gaW1wbGVtZW50cyBJQ29uZmlybUNvbXBvbmVudCB7XHJcblxyXG4gIC8vI3JlZ2lvbiBJbnB1dCAvIE91dHB1dCBQcm9wZXJ0aWVzXHJcblxyXG4gIC8qKlxyXG4gICAqIEV2ZW50IHdlbm4gRGlhbG9nIGdlc2NobG9zc2VuIHdpcmRcclxuICAgKi9cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgb25jb25maXJtOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG5cclxuICAvKipcclxuICogRGlhbG9nIFRpdGVsIGbDvHIgQ29uZmlybSBEaWFsb2dcclxuICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgdGl0bGU6IHN0cmluZyA9ICcnO1xyXG5cclxuICAvKipcclxuICAgKiBOYWNocmljaHQgZGllIGF1ZiBkZW0gRGlhbG9nIGFuZ2V6ZWlndCB3aXJkXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgbWVzc2FnZTogc3RyaW5nID0gJyc7XHJcblxyXG4gIC8qKlxyXG4gICAqIEljb24gd2VsY2hlcyBhdWYgZGVtIERpYWxvZyBhbmdlemVpZ3Qgd2lyZFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGltYWdlOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgLyoqXHJcbiAgICogTWFwIG1pdCBCdXR0b25zIGRpZSBpbiBEaWFsb2cgYW5nZXplaWd0IHdlcmRlbi5cclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBidXR0b25zOiBTYWNDb25maXJtQnV0dG9uW10gPSBbXTtcclxuXHJcbiAgLy8jZW5kcmVnaW9uXHJcblxyXG4gIC8vI3JlZ2lvbiBJbnRlcm5hbCBQcm9wZXJ0aWVzIGFuZCBNZXRob2RzXHJcblxyXG4gIC8qKlxyXG4gICAqIERlZmluaWVydCBvYiBkZXIgRGlhbG9nIHNpY2h0YmFyIGlzdFxyXG4gICAqL1xyXG4gIGlzdmlzaWJsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBEZWZpbmllcnQsIG9iIGbDvHIgZGVuIERpYWxvZyBlaW4gSW1hZ2UgZGVmaW5pZXJ0IHd1cmRlXHJcbiAgICovXHJcbiAgaGFzSW1hZ2UoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5pbWFnZSAhPT0gJyc7XHJcbiAgfVxyXG5cclxuICAvLyNlbmRyZWdpb25cclxuXHJcbiAgLy8jcmVnaW9uIFB1YmxpYyBNZXRob2RzXHJcblxyXG4gIC8qKlxyXG4gICAqIEFjdGlvbiB3ZW5uIEJ1dHRvbiBhdWYgRGlhbG9nIGdla2xpY2t0IHd1cmRlLiBMw7ZzdCBkZW4gRXZlbnRFbWl0dGVyIGF1cyB1bmQgYmxlbmRldCBkZW4gRGlhbG9nIGF1cy5cclxuICAgKiBAcGFyYW0gYWN0aW9uXHJcbiAgICovXHJcbiAgcHVibGljIGNvbmZpcm0oYWN0aW9uOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMub25jb25maXJtLmVtaXQoYWN0aW9uKTtcclxuICAgIHRoaXMuaXN2aXNpYmxlID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBaZWlndCBkZW4gRGlhbG9nIGFuXHJcbiAgICovXHJcbiAgcHVibGljIHNob3coKTogdm9pZCB7XHJcbiAgICB0aGlzLmlzdmlzaWJsZSA9IHRydWU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBCbGVuZGV0IGRlbiBEaWFsb2cgYXVzXHJcbiAgICovXHJcbiAgcHVibGljIGhpZGUoKTogdm9pZCB7XHJcbiAgICB0aGlzLmlzdmlzaWJsZSA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgLy8jZW5kcmVnaW9uXHJcblxyXG59XHJcbiJdfQ==
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @fileoverview This file was generated by the Angular template compiler. Do not edit.
3
+ *
4
+ * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes,extraRequire}
5
+ * tslint:disable
6
+ */
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS5uZ2ZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiQzovUHJvamVrdGUvc2ltcGxlYW5ndWxhcmNvbnRyb2xzLW5nMTAvY2guam5ldHdvcmsuc2FjLWNvbnRyb2xzL3Byb2plY3RzL3NhYy1jb21tb24vc3JjLyIsInNvdXJjZXMiOlsiY29udHJvbHMvY29uZmlybS9jb25maXJtLm5nZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgaTAgZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pMC5Db21wb25lbnRGYWN0b3J5O1xuIl19
@@ -0,0 +1,87 @@
1
+ import { EventEmitter, } from '@angular/core';
2
+ import { SACICON_SERVICE, SACLOCALISATION_SERVICE, SACVALIDATIONKEY_SERVICE, SacDefaultIconService, SacDefaultLocalisationService, SacDefaultValidationKeyService, } from '../../services';
3
+ /**
4
+ * Basis Klasse für Confirm Service implementation
5
+ */
6
+ export class ServiceConfirmCommon {
7
+ // #endregion Properties
8
+ // #region Constructors
9
+ /**
10
+ * Konstruktor
11
+ * @param appRef ApplicationRef zum Anhängen des Dialogs an den Content
12
+ * @param injector Injector um die Instanz zu erzeuge
13
+ */
14
+ constructor(appRef, injector) {
15
+ this.appRef = appRef;
16
+ this.injector = injector;
17
+ // #region Properties
18
+ /**
19
+ * Referenz auf IConfirm Instanz.
20
+ */
21
+ this.component = null;
22
+ this.validationKeyService = injector.get(SACVALIDATIONKEY_SERVICE, new SacDefaultValidationKeyService());
23
+ this.localisationService = injector.get(SACLOCALISATION_SERVICE, new SacDefaultLocalisationService(this.validationKeyService));
24
+ this.iconService = injector.get(SACICON_SERVICE, new SacDefaultIconService());
25
+ }
26
+ // #endregion Constructors
27
+ // #region Protected Methods
28
+ /**
29
+ * Blendet den Dialog aus
30
+ */
31
+ CloseDialog() {
32
+ const dialog = this.component.instance;
33
+ dialog.hide();
34
+ }
35
+ /**
36
+ * Interne Methode für die Implementation des Confirm Dialogs. Steuert die Feedbacks, die Erzeugung und Anzeige des Dialogs
37
+ */
38
+ Confirm() {
39
+ // Dialog erzeugen
40
+ this.CreateInstance();
41
+ const instance = this.OpenDialog();
42
+ // Konfiguration der Dialog Instanz durch Service Implementation zulassen
43
+ this.ConfigureDialog(instance);
44
+ // Event Emitter für Confirmation im Service. Event Emitter Asynchron initialiseren
45
+ const confirmTask = new EventEmitter(true);
46
+ // Callback wenn Dialog bestätigt wurde
47
+ instance.onconfirm.subscribe((value) => {
48
+ // Dialog entfernen
49
+ this.CloseDialog();
50
+ // Emit auf Service auslösen
51
+ confirmTask.emit(value);
52
+ }, (err) => {
53
+ // Do nothing on Error
54
+ }, () => {
55
+ this.DestroyInstance();
56
+ });
57
+ // Confirm Emitter für Result zurückgeben
58
+ return confirmTask;
59
+ }
60
+ /**
61
+ * Erzeugt eine Instanz für den Dialog
62
+ */
63
+ CreateInstance() {
64
+ // ComponentFactory aus Service laden
65
+ const factory = this.GetComponentFactory();
66
+ // Instanz der Komponente erzeugen und an die View anhängen
67
+ this.component = factory.create(this.injector);
68
+ this.appRef.attachView(this.component.hostView);
69
+ }
70
+ /**
71
+ * Entfernt die Instanz des Dialogs
72
+ */
73
+ DestroyInstance() {
74
+ // Dialog aus View entfernen und Komponenten löschen
75
+ this.appRef.detachView(this.component.hostView);
76
+ this.component.destroy();
77
+ }
78
+ /**
79
+ * Zeigt den Dialog an
80
+ */
81
+ OpenDialog() {
82
+ const dialog = this.component.instance;
83
+ dialog.show();
84
+ return dialog;
85
+ }
86
+ }
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IkM6L1Byb2pla3RlL3NpbXBsZWFuZ3VsYXJjb250cm9scy1uZzEwL2NoLmpuZXR3b3JrLnNhYy1jb250cm9scy9wcm9qZWN0cy9zYWMtY29tbW9uL3NyYy8iLCJzb3VyY2VzIjpbImNvbnRyb2xzL2NvbmZpcm0vY29uZmlybS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFJTCxZQUFZLEdBRWIsTUFBTSxlQUFlLENBQUM7QUFLdkIsT0FBTyxFQUNMLGVBQWUsRUFDZix1QkFBdUIsRUFDdkIsd0JBQXdCLEVBQ3hCLHFCQUFxQixFQUNyQiw2QkFBNkIsRUFDN0IsOEJBQThCLEdBQy9CLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEI7O0dBRUc7QUFDSCxNQUFNLE9BQWdCLG9CQUFvQjtJQW9CeEMsd0JBQXdCO0lBRXhCLHVCQUF1QjtJQUV2Qjs7OztPQUlHO0lBQ0gsWUFBb0IsTUFBc0IsRUFBVSxRQUFrQjtRQUFsRCxXQUFNLEdBQU4sTUFBTSxDQUFnQjtRQUFVLGFBQVEsR0FBUixRQUFRLENBQVU7UUE1QnRFLHFCQUFxQjtRQUVyQjs7V0FFRztRQUNPLGNBQVMsR0FBb0MsSUFBSSxDQUFDO1FBd0IxRCxJQUFJLENBQUMsb0JBQW9CLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FDdEMsd0JBQXdCLEVBQ3hCLElBQUksOEJBQThCLEVBQUUsQ0FDckMsQ0FBQztRQUNGLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUNyQyx1QkFBdUIsRUFDdkIsSUFBSSw2QkFBNkIsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FDN0QsQ0FBQztRQUVGLElBQUksQ0FBQyxXQUFXLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FDN0IsZUFBZSxFQUNmLElBQUkscUJBQXFCLEVBQUUsQ0FDNUIsQ0FBQztJQUNKLENBQUM7SUFFRCwwQkFBMEI7SUFFMUIsNEJBQTRCO0lBRTVCOztPQUVHO0lBQ08sV0FBVztRQUNuQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQztRQUN2QyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUVEOztPQUVHO0lBQ08sT0FBTztRQUNmLGtCQUFrQjtRQUNsQixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdEIsTUFBTSxRQUFRLEdBQXNCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUV0RCx5RUFBeUU7UUFDekUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUUvQixtRkFBbUY7UUFDbkYsTUFBTSxXQUFXLEdBQXlCLElBQUksWUFBWSxDQUFTLElBQUksQ0FBQyxDQUFDO1FBRXpFLHVDQUF1QztRQUN2QyxRQUFRLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FDMUIsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNSLG1CQUFtQjtZQUNuQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFFbkIsNEJBQTRCO1lBQzVCLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUIsQ0FBQyxFQUNELENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDTixzQkFBc0I7UUFDeEIsQ0FBQyxFQUNELEdBQUcsRUFBRTtZQUNILElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN6QixDQUFDLENBQ0YsQ0FBQztRQUVGLHlDQUF5QztRQUN6QyxPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDO0lBRUQ7O09BRUc7SUFDTyxjQUFjO1FBQ3RCLHFDQUFxQztRQUNyQyxNQUFNLE9BQU8sR0FDWCxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUU3QiwyREFBMkQ7UUFDM0QsSUFBSSxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMvQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRDs7T0FFRztJQUNPLGVBQWU7UUFDdkIsb0RBQW9EO1FBQ3BELElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQ7O09BRUc7SUFDTyxVQUFVO1FBQ2xCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDO1FBQ3ZDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNkLE9BQU8sTUFBMkIsQ0FBQztJQUNyQyxDQUFDO0NBaUJGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBBcHBsaWNhdGlvblJlZixcclxuICBDb21wb25lbnRGYWN0b3J5LFxyXG4gIENvbXBvbmVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5qZWN0b3IsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IElTYWNJY29uU2VydmljZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSVNhY0ljb25TZXJ2aWNlJztcclxuaW1wb3J0IHsgSVNhY0xvY2FsaXNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lTYWNMb2NhbGlzYXRpb25TZXJ2aWNlJztcclxuaW1wb3J0IHsgSVNhY1ZhbGlkYXRpb25LZXlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9JU2FjVmFsaWRhdGlvbktleVNlcnZpY2UnO1xyXG5pbXBvcnQgeyBJQ29uZmlybUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvaWNvbmZpcm1jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gIFNBQ0lDT05fU0VSVklDRSxcclxuICBTQUNMT0NBTElTQVRJT05fU0VSVklDRSxcclxuICBTQUNWQUxJREFUSU9OS0VZX1NFUlZJQ0UsXHJcbiAgU2FjRGVmYXVsdEljb25TZXJ2aWNlLFxyXG4gIFNhY0RlZmF1bHRMb2NhbGlzYXRpb25TZXJ2aWNlLFxyXG4gIFNhY0RlZmF1bHRWYWxpZGF0aW9uS2V5U2VydmljZSxcclxufSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XHJcblxyXG4vKipcclxuICogQmFzaXMgS2xhc3NlIGbDvHIgQ29uZmlybSBTZXJ2aWNlIGltcGxlbWVudGF0aW9uXHJcbiAqL1xyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgU2VydmljZUNvbmZpcm1Db21tb24ge1xyXG4gIC8vICNyZWdpb24gUHJvcGVydGllc1xyXG5cclxuICAvKipcclxuICAgKiBSZWZlcmVueiBhdWYgSUNvbmZpcm0gSW5zdGFuei5cclxuICAgKi9cclxuICBwcm90ZWN0ZWQgY29tcG9uZW50OiBDb21wb25lbnRSZWY8SUNvbmZpcm1Db21wb25lbnQ+ID0gbnVsbDtcclxuICAvKipcclxuICAgKiBzZXJ2aWNlIGZvciBkZWZhdWx0IGljb24gaW4gZGlhbG9nXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIGljb25TZXJ2aWNlOiBJU2FjSWNvblNlcnZpY2U7XHJcbiAgLyoqXHJcbiAgICogc2VydmljZSBmb3IgdHJhbmxzYXRlIGRlZmF1bHQgdGV4dFxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBsb2NhbGlzYXRpb25TZXJ2aWNlOiBJU2FjTG9jYWxpc2F0aW9uU2VydmljZTtcclxuICAvKipcclxuICAgKiBTZXJ2aWNlIHRvIHJlY2VpdmUgc3RhbmRhcmQgdmFsaWRhdGlvbiBtZXNzYWdlIGtleXMgYW5kIHRleHRzXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIHZhbGlkYXRpb25LZXlTZXJ2aWNlOiBJU2FjVmFsaWRhdGlvbktleVNlcnZpY2U7XHJcblxyXG4gIC8vICNlbmRyZWdpb24gUHJvcGVydGllc1xyXG5cclxuICAvLyAjcmVnaW9uIENvbnN0cnVjdG9yc1xyXG5cclxuICAvKipcclxuICAgKiBLb25zdHJ1a3RvclxyXG4gICAqIEBwYXJhbSBhcHBSZWYgQXBwbGljYXRpb25SZWYgenVtIEFuaMOkbmdlbiBkZXMgRGlhbG9ncyBhbiBkZW4gQ29udGVudFxyXG4gICAqIEBwYXJhbSBpbmplY3RvciBJbmplY3RvciB1bSBkaWUgSW5zdGFueiB6dSBlcnpldWdlXHJcbiAgICovXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBhcHBSZWY6IEFwcGxpY2F0aW9uUmVmLCBwcml2YXRlIGluamVjdG9yOiBJbmplY3Rvcikge1xyXG4gICAgdGhpcy52YWxpZGF0aW9uS2V5U2VydmljZSA9IGluamVjdG9yLmdldChcclxuICAgICAgU0FDVkFMSURBVElPTktFWV9TRVJWSUNFLFxyXG4gICAgICBuZXcgU2FjRGVmYXVsdFZhbGlkYXRpb25LZXlTZXJ2aWNlKClcclxuICAgICk7XHJcbiAgICB0aGlzLmxvY2FsaXNhdGlvblNlcnZpY2UgPSBpbmplY3Rvci5nZXQoXHJcbiAgICAgIFNBQ0xPQ0FMSVNBVElPTl9TRVJWSUNFLFxyXG4gICAgICBuZXcgU2FjRGVmYXVsdExvY2FsaXNhdGlvblNlcnZpY2UodGhpcy52YWxpZGF0aW9uS2V5U2VydmljZSlcclxuICAgICk7XHJcblxyXG4gICAgdGhpcy5pY29uU2VydmljZSA9IGluamVjdG9yLmdldChcclxuICAgICAgU0FDSUNPTl9TRVJWSUNFLFxyXG4gICAgICBuZXcgU2FjRGVmYXVsdEljb25TZXJ2aWNlKClcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvLyAjZW5kcmVnaW9uIENvbnN0cnVjdG9yc1xyXG5cclxuICAvLyAjcmVnaW9uIFByb3RlY3RlZCBNZXRob2RzXHJcblxyXG4gIC8qKlxyXG4gICAqIEJsZW5kZXQgZGVuIERpYWxvZyBhdXNcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgQ2xvc2VEaWFsb2coKTogdm9pZCB7XHJcbiAgICBjb25zdCBkaWFsb2cgPSB0aGlzLmNvbXBvbmVudC5pbnN0YW5jZTtcclxuICAgIGRpYWxvZy5oaWRlKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBJbnRlcm5lIE1ldGhvZGUgZsO8ciBkaWUgSW1wbGVtZW50YXRpb24gZGVzIENvbmZpcm0gRGlhbG9ncy4gU3RldWVydCBkaWUgRmVlZGJhY2tzLCBkaWUgRXJ6ZXVndW5nIHVuZCBBbnplaWdlIGRlcyBEaWFsb2dzXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIENvbmZpcm0oKTogRXZlbnRFbWl0dGVyPHN0cmluZz4ge1xyXG4gICAgLy8gRGlhbG9nIGVyemV1Z2VuXHJcbiAgICB0aGlzLkNyZWF0ZUluc3RhbmNlKCk7XHJcbiAgICBjb25zdCBpbnN0YW5jZTogSUNvbmZpcm1Db21wb25lbnQgPSB0aGlzLk9wZW5EaWFsb2coKTtcclxuXHJcbiAgICAvLyBLb25maWd1cmF0aW9uIGRlciBEaWFsb2cgSW5zdGFueiBkdXJjaCBTZXJ2aWNlIEltcGxlbWVudGF0aW9uIHp1bGFzc2VuXHJcbiAgICB0aGlzLkNvbmZpZ3VyZURpYWxvZyhpbnN0YW5jZSk7XHJcblxyXG4gICAgLy8gRXZlbnQgRW1pdHRlciBmw7xyIENvbmZpcm1hdGlvbiBpbSBTZXJ2aWNlLiBFdmVudCBFbWl0dGVyIEFzeW5jaHJvbiBpbml0aWFsaXNlcmVuXHJcbiAgICBjb25zdCBjb25maXJtVGFzazogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4odHJ1ZSk7XHJcblxyXG4gICAgLy8gQ2FsbGJhY2sgd2VubiBEaWFsb2cgYmVzdMOkdGlndCB3dXJkZVxyXG4gICAgaW5zdGFuY2Uub25jb25maXJtLnN1YnNjcmliZShcclxuICAgICAgKHZhbHVlKSA9PiB7XHJcbiAgICAgICAgLy8gRGlhbG9nIGVudGZlcm5lblxyXG4gICAgICAgIHRoaXMuQ2xvc2VEaWFsb2coKTtcclxuXHJcbiAgICAgICAgLy8gRW1pdCBhdWYgU2VydmljZSBhdXNsw7ZzZW5cclxuICAgICAgICBjb25maXJtVGFzay5lbWl0KHZhbHVlKTtcclxuICAgICAgfSxcclxuICAgICAgKGVycikgPT4ge1xyXG4gICAgICAgIC8vIERvIG5vdGhpbmcgb24gRXJyb3JcclxuICAgICAgfSxcclxuICAgICAgKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuRGVzdHJveUluc3RhbmNlKCk7XHJcbiAgICAgIH1cclxuICAgICk7XHJcblxyXG4gICAgLy8gQ29uZmlybSBFbWl0dGVyIGbDvHIgUmVzdWx0IHp1csO8Y2tnZWJlblxyXG4gICAgcmV0dXJuIGNvbmZpcm1UYXNrO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRXJ6ZXVndCBlaW5lIEluc3RhbnogZsO8ciBkZW4gRGlhbG9nXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIENyZWF0ZUluc3RhbmNlKCk6IHZvaWQge1xyXG4gICAgLy8gQ29tcG9uZW50RmFjdG9yeSBhdXMgU2VydmljZSBsYWRlblxyXG4gICAgY29uc3QgZmFjdG9yeTogQ29tcG9uZW50RmFjdG9yeTxJQ29uZmlybUNvbXBvbmVudD4gPVxyXG4gICAgICB0aGlzLkdldENvbXBvbmVudEZhY3RvcnkoKTtcclxuXHJcbiAgICAvLyBJbnN0YW56IGRlciBLb21wb25lbnRlIGVyemV1Z2VuIHVuZCBhbiBkaWUgVmlldyBhbmjDpG5nZW5cclxuICAgIHRoaXMuY29tcG9uZW50ID0gZmFjdG9yeS5jcmVhdGUodGhpcy5pbmplY3Rvcik7XHJcbiAgICB0aGlzLmFwcFJlZi5hdHRhY2hWaWV3KHRoaXMuY29tcG9uZW50Lmhvc3RWaWV3KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEVudGZlcm50IGRpZSBJbnN0YW56IGRlcyBEaWFsb2dzXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIERlc3Ryb3lJbnN0YW5jZSgpOiB2b2lkIHtcclxuICAgIC8vIERpYWxvZyBhdXMgVmlldyBlbnRmZXJuZW4gdW5kIEtvbXBvbmVudGVuIGzDtnNjaGVuXHJcbiAgICB0aGlzLmFwcFJlZi5kZXRhY2hWaWV3KHRoaXMuY29tcG9uZW50Lmhvc3RWaWV3KTtcclxuICAgIHRoaXMuY29tcG9uZW50LmRlc3Ryb3koKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFplaWd0IGRlbiBEaWFsb2cgYW5cclxuICAgKi9cclxuICBwcm90ZWN0ZWQgT3BlbkRpYWxvZygpOiBJQ29uZmlybUNvbXBvbmVudCB7XHJcbiAgICBjb25zdCBkaWFsb2cgPSB0aGlzLmNvbXBvbmVudC5pbnN0YW5jZTtcclxuICAgIGRpYWxvZy5zaG93KCk7XHJcbiAgICByZXR1cm4gZGlhbG9nIGFzIElDb25maXJtQ29tcG9uZW50O1xyXG4gIH1cclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiBQcm90ZWN0ZWQgTWV0aG9kc1xyXG5cclxuICAvLyAjcmVnaW9uIFByb3RlY3RlZCBBYnN0cmFjdCBNZXRob2RzXHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldGhvZGUgenVyIEtvbmZpZ3VyYXRpb24gZGVyIENvbmZpcm0gRGlhbG9nIEtvbXBvbmVudGVcclxuICAgKiBAcGFyYW0gaW5zdGFuY2UgSW5zdGFueiBhdWYgSUNvbmZpcm1Db21wb25lbnQgS29tcG9uZW50ZVxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBDb25maWd1cmVEaWFsb2coaW5zdGFuY2U6IElDb25maXJtQ29tcG9uZW50KTtcclxuICAvKipcclxuICAgKiBBYnN0cmFrdGUgTWV0aG9kZSB6dW0gZXJ6ZXVnZW4gZGVyIEtvbXBvbmVudCBGYWN0b3J5IGbDvHIgZGVuIERpYWxvZ1xyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBHZXRDb21wb25lbnRGYWN0b3J5KCk6IENvbXBvbmVudEZhY3Rvcnk8SUNvbmZpcm1Db21wb25lbnQ+O1xyXG5cclxuICAvLyAjZW5kcmVnaW9uIFByb3RlY3RlZCBBYnN0cmFjdCBNZXRob2RzXHJcbn1cclxuIl19
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @fileoverview This file was generated by the Angular template compiler. Do not edit.
3
+ *
4
+ * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes,extraRequire}
5
+ * tslint:disable
6
+ */
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS5zZXJ2aWNlLm5nZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiJDOi9Qcm9qZWt0ZS9zaW1wbGVhbmd1bGFyY29udHJvbHMtbmcxMC9jaC5qbmV0d29yay5zYWMtY29udHJvbHMvcHJvamVjdHMvc2FjLWNvbW1vbi9zcmMvIiwic291cmNlcyI6WyJjb250cm9scy9jb25maXJtL2NvbmZpcm0uc2VydmljZS5uZ2ZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGkwIGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaTAuQ29tcG9uZW50RmFjdG9yeTtcbiJdfQ==
@@ -0,0 +1,194 @@
1
+ import { DOCUMENT } from '@angular/common';
2
+ import { ContentChild, Directive, ElementRef, HostListener, Inject, Injector, Input, NgZone, Renderer2, TemplateRef, ViewChild, } from '@angular/core';
3
+ import { SACICON_SERVICE, SacDefaultIconService } from '../../services';
4
+ import { positionElements } from '../../utilities/positioning';
5
+ import { SacContextmenuAnchorCommon } from './contextmenuanchor';
6
+ import { SacContextMenuContrainerCommon } from './contextmenucontainer';
7
+ /**
8
+ * Base Context Menü Element. Die Logik wurde aus NG-BOOTSTRAP übernommen.
9
+ */
10
+ export class SacContextmenuCommon {
11
+ // #endregion Properties
12
+ // #region Constructors
13
+ /**
14
+ * Konstruktor
15
+ * @param document HTML Document Element
16
+ * @param ngZone Angular Zone Service
17
+ * @param elementRef HTML Element des aktuellen Controls
18
+ * @param renderer Angular Rendering Service
19
+ * @param injector injector to resolve the icon service
20
+ */
21
+ constructor(document, ngZone, elementRef, renderer, injector) {
22
+ this.document = document;
23
+ this.ngZone = ngZone;
24
+ this.elementRef = elementRef;
25
+ this.renderer = renderer;
26
+ /**
27
+ * Body HTML Element
28
+ */
29
+ this.bodyContainer = null;
30
+ /**
31
+ * Container an welchem die Position ausgerichtet wird. Aktuell wird nun Body Supported
32
+ */
33
+ this.container = 'body';
34
+ /**
35
+ * Extra CSS Klassen für das Control
36
+ */
37
+ this.cssclass = '';
38
+ /**
39
+ * Definiert ob das Dropdown offen ist.
40
+ */
41
+ this.isopen = false;
42
+ /**
43
+ * The preferred placement of the dropdown.
44
+ *
45
+ * Possible values are `"top"`, `"top-left"`, `"top-right"`, `"bottom"`, `"bottom-left"`,
46
+ * `"bottom-right"`, `"left"`, `"left-top"`, `"left-bottom"`, `"right"`, `"right-top"`,
47
+ * `"right-bottom"`
48
+ *
49
+ * Accepts an array of strings or a string with space separated possible values.
50
+ *
51
+ * The default order of preference is `"bottom-left bottom-right top-left top-right"`
52
+ *
53
+ * Please see the [positioning overview](#/positioning) for more details.
54
+ */
55
+ this.placement = [
56
+ 'bottom-left',
57
+ 'bottom-right',
58
+ 'top-left',
59
+ 'top-right',
60
+ ];
61
+ this.zoneSubscription = this.ngZone.onStable.subscribe(() => {
62
+ this._positionMenu();
63
+ });
64
+ this.iconService = injector.get(SACICON_SERVICE, new SacDefaultIconService());
65
+ }
66
+ // #endregion Constructors
67
+ // #region Public Getters And Setters
68
+ /**
69
+ * icon for default context menü button
70
+ */
71
+ get IconContextMenu() {
72
+ return this.iconService.ContextMenuOpenIcon;
73
+ }
74
+ // #endregion Public Getters And Setters
75
+ // #region Public Methods
76
+ /**
77
+ * HostListener um das Dropdown zu schliessen wenn nicht auf das Element geklickt wird.
78
+ */
79
+ onClick(targetElement) {
80
+ const anchor = this._anchor || this._anchorTemplate;
81
+ if (this._menu &&
82
+ !this._menu.nativeElement.contains(targetElement) &&
83
+ !anchor.nativeElement.contains(targetElement)) {
84
+ this.close();
85
+ }
86
+ }
87
+ /**
88
+ * Schliesst das Dropdown
89
+ */
90
+ close() {
91
+ this._resetContainer();
92
+ this.isopen = false;
93
+ }
94
+ /**
95
+ * Event wenn Component entfernt wird.
96
+ */
97
+ ngOnDestroy() {
98
+ if (this.isopen) {
99
+ this.close();
100
+ }
101
+ this.zoneSubscription.unsubscribe();
102
+ }
103
+ /**
104
+ * Öffnet das Dropdown / Zeigt das Menü an.
105
+ */
106
+ open() {
107
+ this._applyContainer(this.container);
108
+ this.isopen = true;
109
+ }
110
+ /**
111
+ * Toggle von Dropdown
112
+ */
113
+ toggle() {
114
+ if (this.isopen) {
115
+ this.close();
116
+ }
117
+ else {
118
+ this.open();
119
+ }
120
+ }
121
+ // #endregion Public Methods
122
+ // #region Protected Methods
123
+ /**
124
+ * Setzt die Position des Menüs im Markup
125
+ */
126
+ _positionMenu() {
127
+ const anchor = this._anchor || this._anchorTemplate;
128
+ if (anchor && this._menu) {
129
+ positionElements(anchor.nativeElement, this.bodyContainer || this._menu.nativeElement, this.placement, this.container === 'body');
130
+ }
131
+ }
132
+ // #endregion Protected Methods
133
+ // #region Private Methods
134
+ /**
135
+ * Setzt die Position des Menüs innerhalb der Seite. Die Ausrichtung passiert innerhalb der Seite
136
+ * damit das Menü innerhalb eines Dialogs sauber funktionioniert.
137
+ * @param container Definiert wo das Menü ausgerichtet wird. Im Moment nur BODY Supported
138
+ */
139
+ _applyContainer(container = null) {
140
+ // Reset Classes on Container
141
+ this._resetContainer();
142
+ if (container === 'body') {
143
+ const renderer = this.renderer;
144
+ const dropdownMenuElement = this._menu.nativeElement;
145
+ const bodyContainer = (this.bodyContainer =
146
+ this.bodyContainer || renderer.createElement('div'));
147
+ // Override some styles to have the positioning working
148
+ renderer.setStyle(bodyContainer, 'position', 'absolute');
149
+ renderer.setStyle(dropdownMenuElement, 'position', 'static');
150
+ renderer.setStyle(bodyContainer, 'z-index', '1050');
151
+ renderer.appendChild(bodyContainer, dropdownMenuElement);
152
+ renderer.appendChild(this.document.body, bodyContainer);
153
+ }
154
+ }
155
+ /**
156
+ * Setzt die CSS Klassen auf dem Menü Container auf den Standard zurück
157
+ */
158
+ _resetContainer() {
159
+ const renderer = this.renderer;
160
+ if (this._menu) {
161
+ const dropdownElement = this.elementRef.nativeElement;
162
+ const dropdownMenuElement = this._menu.nativeElement;
163
+ renderer.appendChild(dropdownElement, dropdownMenuElement);
164
+ renderer.removeStyle(dropdownMenuElement, 'position');
165
+ renderer.removeStyle(dropdownMenuElement, 'transform');
166
+ }
167
+ if (this.bodyContainer) {
168
+ renderer.removeChild(this.document.body, this.bodyContainer);
169
+ this.bodyContainer = null;
170
+ }
171
+ }
172
+ }
173
+ SacContextmenuCommon.decorators = [
174
+ { type: Directive }
175
+ ];
176
+ SacContextmenuCommon.ctorParameters = () => [
177
+ { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] },
178
+ { type: NgZone },
179
+ { type: ElementRef },
180
+ { type: Renderer2 },
181
+ { type: Injector }
182
+ ];
183
+ SacContextmenuCommon.propDecorators = {
184
+ _anchorTemplate: [{ type: ContentChild, args: [SacContextmenuAnchorCommon, { static: false },] }],
185
+ _anchor: [{ type: ViewChild, args: [SacContextmenuAnchorCommon, { static: false },] }],
186
+ _menu: [{ type: ViewChild, args: [SacContextMenuContrainerCommon, { static: false },] }],
187
+ buttontemplate: [{ type: Input }],
188
+ container: [{ type: Input }],
189
+ cssclass: [{ type: Input }],
190
+ isopen: [{ type: Input }],
191
+ placement: [{ type: Input }],
192
+ onClick: [{ type: HostListener, args: ['document:click', ['$event.target'],] }]
193
+ };
194
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dG1lbnUuanMiLCJzb3VyY2VSb290IjoiQzovUHJvamVrdGUvc2ltcGxlYW5ndWxhcmNvbnRyb2xzLW5nMTAvY2guam5ldHdvcmsuc2FjLWNvbnRyb2xzL3Byb2plY3RzL3NhYy1jb21tb24vc3JjLyIsInNvdXJjZXMiOlsiY29udHJvbHMvY29udGV4dG1lbnUvY29udGV4dG1lbnUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFDTCxZQUFZLEVBQ1osU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osTUFBTSxFQUNOLFFBQVEsRUFDUixLQUFLLEVBQ0wsTUFBTSxFQUVOLFNBQVMsRUFDVCxXQUFXLEVBQ1gsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RSxPQUFPLEVBQWtCLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDL0UsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFeEU7O0dBRUc7QUFFSCxNQUFNLE9BQU8sb0JBQW9CO0lBeUUvQix3QkFBd0I7SUFFeEIsdUJBQXVCO0lBRXZCOzs7Ozs7O09BT0c7SUFDSCxZQUM0QixRQUFhLEVBQy9CLE1BQWMsRUFDZCxVQUFtQyxFQUNuQyxRQUFtQixFQUMzQixRQUFrQjtRQUpRLGFBQVEsR0FBUixRQUFRLENBQUs7UUFDL0IsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLGVBQVUsR0FBVixVQUFVLENBQXlCO1FBQ25DLGFBQVEsR0FBUixRQUFRLENBQVc7UUF0RTdCOztXQUVHO1FBQ0ssa0JBQWEsR0FBdUIsSUFBSSxDQUFDO1FBZ0JqRDs7V0FFRztRQUVJLGNBQVMsR0FBa0IsTUFBTSxDQUFDO1FBQ3pDOztXQUVHO1FBRUksYUFBUSxHQUFXLEVBQUUsQ0FBQztRQUM3Qjs7V0FFRztRQUVJLFdBQU0sR0FBWSxLQUFLLENBQUM7UUFDL0I7Ozs7Ozs7Ozs7OztXQVlHO1FBQ2EsY0FBUyxHQUFtQjtZQUMxQyxhQUFhO1lBQ2IsY0FBYztZQUNkLFVBQVU7WUFDVixXQUFXO1NBQ1osQ0FBQztRQXFCQSxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUMxRCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDdkIsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsV0FBVyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQzdCLGVBQWUsRUFDZixJQUFJLHFCQUFxQixFQUFFLENBQzVCLENBQUM7SUFDSixDQUFDO0lBRUQsMEJBQTBCO0lBRTFCLHFDQUFxQztJQUVyQzs7T0FFRztJQUNILElBQVcsZUFBZTtRQUN4QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsbUJBQW1CLENBQUM7SUFDOUMsQ0FBQztJQUVELHdDQUF3QztJQUV4Qyx5QkFBeUI7SUFFekI7O09BRUc7SUFLSSxPQUFPLENBQUMsYUFBYTtRQUMxQixNQUFNLE1BQU0sR0FDVixJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUM7UUFFdkMsSUFDRSxJQUFJLENBQUMsS0FBSztZQUNWLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQztZQUNqRCxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxFQUM3QztZQUNBLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUNkO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSztRQUNWLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUN0QixDQUFDO0lBRUQ7O09BRUc7SUFDSSxXQUFXO1FBQ2hCLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNmLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUNkO1FBRUQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFRDs7T0FFRztJQUNJLElBQUk7UUFDVCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNyQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztJQUNyQixDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNO1FBQ1gsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2YsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQ2Q7YUFBTTtZQUNMLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNiO0lBQ0gsQ0FBQztJQUVELDRCQUE0QjtJQUU1Qiw0QkFBNEI7SUFFNUI7O09BRUc7SUFDTyxhQUFhO1FBQ3JCLE1BQU0sTUFBTSxHQUNWLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQztRQUV2QyxJQUFJLE1BQU0sSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ3hCLGdCQUFnQixDQUNkLE1BQU0sQ0FBQyxhQUFhLEVBQ3BCLElBQUksQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQzlDLElBQUksQ0FBQyxTQUFTLEVBQ2QsSUFBSSxDQUFDLFNBQVMsS0FBSyxNQUFNLENBQzFCLENBQUM7U0FDSDtJQUNILENBQUM7SUFFRCwrQkFBK0I7SUFFL0IsMEJBQTBCO0lBRTFCOzs7O09BSUc7SUFDSyxlQUFlLENBQUMsWUFBMkIsSUFBSTtRQUNyRCw2QkFBNkI7UUFDN0IsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBRXZCLElBQUksU0FBUyxLQUFLLE1BQU0sRUFBRTtZQUN4QixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQy9CLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUM7WUFDckQsTUFBTSxhQUFhLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYTtnQkFDdkMsSUFBSSxDQUFDLGFBQWEsSUFBSSxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFFdkQsdURBQXVEO1lBQ3ZELFFBQVEsQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztZQUN6RCxRQUFRLENBQUMsUUFBUSxDQUFDLG1CQUFtQixFQUFFLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztZQUM3RCxRQUFRLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFFcEQsUUFBUSxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztZQUN6RCxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1NBQ3pEO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0ssZUFBZTtRQUNyQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQy9CLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNkLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDO1lBQ3RELE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUM7WUFFckQsUUFBUSxDQUFDLFdBQVcsQ0FBQyxlQUFlLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztZQUMzRCxRQUFRLENBQUMsV0FBVyxDQUFDLG1CQUFtQixFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQ3RELFFBQVEsQ0FBQyxXQUFXLENBQUMsbUJBQW1CLEVBQUUsV0FBVyxDQUFDLENBQUM7U0FDeEQ7UUFDRCxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDdEIsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDN0QsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7U0FDM0I7SUFDSCxDQUFDOzs7WUFuUEYsU0FBUzs7OzRDQXVGTCxNQUFNLFNBQUMsUUFBUTtZQXZHbEIsTUFBTTtZQUxOLFVBQVU7WUFPVixTQUFTO1lBSlQsUUFBUTs7OzhCQXlCUCxZQUFZLFNBQUMsMEJBQTBCLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO3NCQUsxRCxTQUFTLFNBQUMsMEJBQTBCLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO29CQUt2RCxTQUFTLFNBQUMsOEJBQThCLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFOzZCQW9CM0QsS0FBSzt3QkFLTCxLQUFLO3VCQUtMLEtBQUs7cUJBS0wsS0FBSzt3QkFlTCxLQUFLO3NCQXNETCxZQUFZLFNBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxlQUFlLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7XHJcbiAgQ29udGVudENoaWxkLFxyXG4gIERpcmVjdGl2ZSxcclxuICBFbGVtZW50UmVmLFxyXG4gIEhvc3RMaXN0ZW5lcixcclxuICBJbmplY3QsXHJcbiAgSW5qZWN0b3IsXHJcbiAgSW5wdXQsXHJcbiAgTmdab25lLFxyXG4gIE9uRGVzdHJveSxcclxuICBSZW5kZXJlcjIsXHJcbiAgVGVtcGxhdGVSZWYsXHJcbiAgVmlld0NoaWxkLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgSVNhY0ljb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9JU2FjSWNvblNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTQUNJQ09OX1NFUlZJQ0UsIFNhY0RlZmF1bHRJY29uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcclxuaW1wb3J0IHsgUGxhY2VtZW50QXJyYXksIHBvc2l0aW9uRWxlbWVudHMgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvcG9zaXRpb25pbmcnO1xyXG5pbXBvcnQgeyBTYWNDb250ZXh0bWVudUFuY2hvckNvbW1vbiB9IGZyb20gJy4vY29udGV4dG1lbnVhbmNob3InO1xyXG5pbXBvcnQgeyBTYWNDb250ZXh0TWVudUNvbnRyYWluZXJDb21tb24gfSBmcm9tICcuL2NvbnRleHRtZW51Y29udGFpbmVyJztcclxuXHJcbi8qKlxyXG4gKiBCYXNlIENvbnRleHQgTWVuw7wgRWxlbWVudC4gRGllIExvZ2lrIHd1cmRlIGF1cyBORy1CT09UU1RSQVAgw7xiZXJub21tZW4uXHJcbiAqL1xyXG5ARGlyZWN0aXZlKClcclxuZXhwb3J0IGNsYXNzIFNhY0NvbnRleHRtZW51Q29tbW9uIGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuICAvLyAjcmVnaW9uIFByb3BlcnRpZXNcclxuXHJcbiAgLyoqXHJcbiAgICogQnV0dG9uIGbDvHIgT3Blbi9DbG9zZSBFdmVudCBhdXMgVGVtcGxhdGVcclxuICAgKi9cclxuICBAQ29udGVudENoaWxkKFNhY0NvbnRleHRtZW51QW5jaG9yQ29tbW9uLCB7IHN0YXRpYzogZmFsc2UgfSlcclxuICBwcml2YXRlIF9hbmNob3JUZW1wbGF0ZTogU2FjQ29udGV4dG1lbnVBbmNob3JDb21tb247XHJcbiAgLyoqXHJcbiAgICogQnV0dG9uIGbDvHIgT3Blbi9DbG9zZSBFdmVudFxyXG4gICAqL1xyXG4gIEBWaWV3Q2hpbGQoU2FjQ29udGV4dG1lbnVBbmNob3JDb21tb24sIHsgc3RhdGljOiBmYWxzZSB9KVxyXG4gIHByaXZhdGUgX2FuY2hvcjogU2FjQ29udGV4dG1lbnVBbmNob3JDb21tb247XHJcbiAgLyoqXHJcbiAgICogQ29udGFpbmVyIEVsZW1lbnQgZsO8ciBEcm9wZG93blxyXG4gICAqL1xyXG4gIEBWaWV3Q2hpbGQoU2FjQ29udGV4dE1lbnVDb250cmFpbmVyQ29tbW9uLCB7IHN0YXRpYzogZmFsc2UgfSlcclxuICBwcml2YXRlIF9tZW51OiBTYWNDb250ZXh0TWVudUNvbnRyYWluZXJDb21tb247XHJcblxyXG4gIC8qKlxyXG4gICAqIEJvZHkgSFRNTCBFbGVtZW50XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBib2R5Q29udGFpbmVyOiBIVE1MRWxlbWVudCB8IG51bGwgPSBudWxsO1xyXG4gIC8qKlxyXG4gICAqIFpvbmUgU3Vic2NyaXB0aW9uIGbDvHIgUG9zdGl0b25pZXJ1bmcgZGVzIEVsZW1lbnRzXHJcbiAgICovXHJcbiAgcHJpdmF0ZSB6b25lU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcblxyXG4gIC8qKlxyXG4gICAqIGljb24gc2VydmljZVxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBpY29uU2VydmljZTogSVNhY0ljb25TZXJ2aWNlO1xyXG5cclxuICAvKipcclxuICAgKiBDdXN0b20gSFRNTCBUZW1wbGF0ZSBmw7xyIERyb3Bkb3duIEJ1dHRvbi4gQnV0dG9uIG11c3MgZGVuIE1hcmtlciBcIm5nQ29udGV4dG1lbnVBbmNob3JcIiBiZWluaGFsdGVuLCBkYW1pdCBkYXMgQ29udHJvbCBrb3JyZWt0IGZ1bmt0aW9uaWVydC5cclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBidXR0b250ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuICAvKipcclxuICAgKiBDb250YWluZXIgYW4gd2VsY2hlbSBkaWUgUG9zaXRpb24gYXVzZ2VyaWNodGV0IHdpcmQuIEFrdHVlbGwgd2lyZCBudW4gQm9keSBTdXBwb3J0ZWRcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBjb250YWluZXI6IG51bGwgfCAnYm9keScgPSAnYm9keSc7XHJcbiAgLyoqXHJcbiAgICogRXh0cmEgQ1NTIEtsYXNzZW4gZsO8ciBkYXMgQ29udHJvbFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGNzc2NsYXNzOiBzdHJpbmcgPSAnJztcclxuICAvKipcclxuICAgKiBEZWZpbmllcnQgb2IgZGFzIERyb3Bkb3duIG9mZmVuIGlzdC5cclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBpc29wZW46IGJvb2xlYW4gPSBmYWxzZTtcclxuICAvKipcclxuICAgKiBUaGUgcHJlZmVycmVkIHBsYWNlbWVudCBvZiB0aGUgZHJvcGRvd24uXHJcbiAgICpcclxuICAgKiBQb3NzaWJsZSB2YWx1ZXMgYXJlIGBcInRvcFwiYCwgYFwidG9wLWxlZnRcImAsIGBcInRvcC1yaWdodFwiYCwgYFwiYm90dG9tXCJgLCBgXCJib3R0b20tbGVmdFwiYCxcclxuICAgKiBgXCJib3R0b20tcmlnaHRcImAsIGBcImxlZnRcImAsIGBcImxlZnQtdG9wXCJgLCBgXCJsZWZ0LWJvdHRvbVwiYCwgYFwicmlnaHRcImAsIGBcInJpZ2h0LXRvcFwiYCxcclxuICAgKiBgXCJyaWdodC1ib3R0b21cImBcclxuICAgKlxyXG4gICAqIEFjY2VwdHMgYW4gYXJyYXkgb2Ygc3RyaW5ncyBvciBhIHN0cmluZyB3aXRoIHNwYWNlIHNlcGFyYXRlZCBwb3NzaWJsZSB2YWx1ZXMuXHJcbiAgICpcclxuICAgKiBUaGUgZGVmYXVsdCBvcmRlciBvZiBwcmVmZXJlbmNlIGlzIGBcImJvdHRvbS1sZWZ0IGJvdHRvbS1yaWdodCB0b3AtbGVmdCB0b3AtcmlnaHRcImBcclxuICAgKlxyXG4gICAqIFBsZWFzZSBzZWUgdGhlIFtwb3NpdGlvbmluZyBvdmVydmlld10oIy9wb3NpdGlvbmluZykgZm9yIG1vcmUgZGV0YWlscy5cclxuICAgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgcGxhY2VtZW50OiBQbGFjZW1lbnRBcnJheSA9IFtcclxuICAgICdib3R0b20tbGVmdCcsXHJcbiAgICAnYm90dG9tLXJpZ2h0JyxcclxuICAgICd0b3AtbGVmdCcsXHJcbiAgICAndG9wLXJpZ2h0JyxcclxuICBdO1xyXG5cclxuICAvLyAjZW5kcmVnaW9uIFByb3BlcnRpZXNcclxuXHJcbiAgLy8gI3JlZ2lvbiBDb25zdHJ1Y3RvcnNcclxuXHJcbiAgLyoqXHJcbiAgICogS29uc3RydWt0b3JcclxuICAgKiBAcGFyYW0gZG9jdW1lbnQgSFRNTCBEb2N1bWVudCBFbGVtZW50XHJcbiAgICogQHBhcmFtIG5nWm9uZSBBbmd1bGFyIFpvbmUgU2VydmljZVxyXG4gICAqIEBwYXJhbSBlbGVtZW50UmVmIEhUTUwgRWxlbWVudCBkZXMgYWt0dWVsbGVuIENvbnRyb2xzXHJcbiAgICogQHBhcmFtIHJlbmRlcmVyIEFuZ3VsYXIgUmVuZGVyaW5nIFNlcnZpY2VcclxuICAgKiBAcGFyYW0gaW5qZWN0b3IgaW5qZWN0b3IgdG8gcmVzb2x2ZSB0aGUgaWNvbiBzZXJ2aWNlXHJcbiAgICovXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50OiBhbnksXHJcbiAgICBwcml2YXRlIG5nWm9uZTogTmdab25lLFxyXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcclxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICAgIGluamVjdG9yOiBJbmplY3RvclxyXG4gICkge1xyXG4gICAgdGhpcy56b25lU3Vic2NyaXB0aW9uID0gdGhpcy5uZ1pvbmUub25TdGFibGUuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgdGhpcy5fcG9zaXRpb25NZW51KCk7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLmljb25TZXJ2aWNlID0gaW5qZWN0b3IuZ2V0KFxyXG4gICAgICBTQUNJQ09OX1NFUlZJQ0UsXHJcbiAgICAgIG5ldyBTYWNEZWZhdWx0SWNvblNlcnZpY2UoKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8vICNlbmRyZWdpb24gQ29uc3RydWN0b3JzXHJcblxyXG4gIC8vICNyZWdpb24gUHVibGljIEdldHRlcnMgQW5kIFNldHRlcnNcclxuXHJcbiAgLyoqXHJcbiAgICogaWNvbiBmb3IgZGVmYXVsdCBjb250ZXh0IG1lbsO8IGJ1dHRvblxyXG4gICAqL1xyXG4gIHB1YmxpYyBnZXQgSWNvbkNvbnRleHRNZW51KCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5pY29uU2VydmljZS5Db250ZXh0TWVudU9wZW5JY29uO1xyXG4gIH1cclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiBQdWJsaWMgR2V0dGVycyBBbmQgU2V0dGVyc1xyXG5cclxuICAvLyAjcmVnaW9uIFB1YmxpYyBNZXRob2RzXHJcblxyXG4gIC8qKlxyXG4gICAqIEhvc3RMaXN0ZW5lciB1bSBkYXMgRHJvcGRvd24genUgc2NobGllc3NlbiB3ZW5uIG5pY2h0IGF1ZiBkYXMgRWxlbWVudCBnZWtsaWNrdCB3aXJkLlxyXG4gICAqL1xyXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJywgWyckZXZlbnQudGFyZ2V0J10pXHJcbiAgLyoqXHJcbiAgICogQ2xpY2sgRXZlbnRcclxuICAgKi9cclxuICBwdWJsaWMgb25DbGljayh0YXJnZXRFbGVtZW50KSB7XHJcbiAgICBjb25zdCBhbmNob3I6IFNhY0NvbnRleHRtZW51QW5jaG9yQ29tbW9uID1cclxuICAgICAgdGhpcy5fYW5jaG9yIHx8IHRoaXMuX2FuY2hvclRlbXBsYXRlO1xyXG5cclxuICAgIGlmIChcclxuICAgICAgdGhpcy5fbWVudSAmJlxyXG4gICAgICAhdGhpcy5fbWVudS5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKHRhcmdldEVsZW1lbnQpICYmXHJcbiAgICAgICFhbmNob3IubmF0aXZlRWxlbWVudC5jb250YWlucyh0YXJnZXRFbGVtZW50KVxyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMuY2xvc2UoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNjaGxpZXNzdCBkYXMgRHJvcGRvd25cclxuICAgKi9cclxuICBwdWJsaWMgY2xvc2UoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9yZXNldENvbnRhaW5lcigpO1xyXG4gICAgdGhpcy5pc29wZW4gPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEV2ZW50IHdlbm4gQ29tcG9uZW50IGVudGZlcm50IHdpcmQuXHJcbiAgICovXHJcbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuaXNvcGVuKSB7XHJcbiAgICAgIHRoaXMuY2xvc2UoKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnpvbmVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIMOWZmZuZXQgZGFzIERyb3Bkb3duIC8gWmVpZ3QgZGFzIE1lbsO8IGFuLlxyXG4gICAqL1xyXG4gIHB1YmxpYyBvcGVuKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fYXBwbHlDb250YWluZXIodGhpcy5jb250YWluZXIpO1xyXG4gICAgdGhpcy5pc29wZW4gPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVG9nZ2xlIHZvbiBEcm9wZG93blxyXG4gICAqL1xyXG4gIHB1YmxpYyB0b2dnbGUoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5pc29wZW4pIHtcclxuICAgICAgdGhpcy5jbG9zZSgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5vcGVuKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyAjZW5kcmVnaW9uIFB1YmxpYyBNZXRob2RzXHJcblxyXG4gIC8vICNyZWdpb24gUHJvdGVjdGVkIE1ldGhvZHNcclxuXHJcbiAgLyoqXHJcbiAgICogU2V0enQgZGllIFBvc2l0aW9uIGRlcyBNZW7DvHMgaW0gTWFya3VwXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIF9wb3NpdGlvbk1lbnUoKSB7XHJcbiAgICBjb25zdCBhbmNob3I6IFNhY0NvbnRleHRtZW51QW5jaG9yQ29tbW9uID1cclxuICAgICAgdGhpcy5fYW5jaG9yIHx8IHRoaXMuX2FuY2hvclRlbXBsYXRlO1xyXG5cclxuICAgIGlmIChhbmNob3IgJiYgdGhpcy5fbWVudSkge1xyXG4gICAgICBwb3NpdGlvbkVsZW1lbnRzKFxyXG4gICAgICAgIGFuY2hvci5uYXRpdmVFbGVtZW50LFxyXG4gICAgICAgIHRoaXMuYm9keUNvbnRhaW5lciB8fCB0aGlzLl9tZW51Lm5hdGl2ZUVsZW1lbnQsXHJcbiAgICAgICAgdGhpcy5wbGFjZW1lbnQsXHJcbiAgICAgICAgdGhpcy5jb250YWluZXIgPT09ICdib2R5J1xyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiBQcm90ZWN0ZWQgTWV0aG9kc1xyXG5cclxuICAvLyAjcmVnaW9uIFByaXZhdGUgTWV0aG9kc1xyXG5cclxuICAvKipcclxuICAgKiBTZXR6dCBkaWUgUG9zaXRpb24gZGVzIE1lbsO8cyBpbm5lcmhhbGIgZGVyIFNlaXRlLiBEaWUgQXVzcmljaHR1bmcgcGFzc2llcnQgaW5uZXJoYWxiIGRlciBTZWl0ZVxyXG4gICAqIGRhbWl0IGRhcyBNZW7DvCBpbm5lcmhhbGIgZWluZXMgRGlhbG9ncyBzYXViZXIgZnVua3Rpb25pb25pZXJ0LlxyXG4gICAqIEBwYXJhbSBjb250YWluZXIgRGVmaW5pZXJ0IHdvIGRhcyBNZW7DvCBhdXNnZXJpY2h0ZXQgd2lyZC4gSW0gTW9tZW50IG51ciBCT0RZIFN1cHBvcnRlZFxyXG4gICAqL1xyXG4gIHByaXZhdGUgX2FwcGx5Q29udGFpbmVyKGNvbnRhaW5lcjogbnVsbCB8ICdib2R5JyA9IG51bGwpIHtcclxuICAgIC8vIFJlc2V0IENsYXNzZXMgb24gQ29udGFpbmVyXHJcbiAgICB0aGlzLl9yZXNldENvbnRhaW5lcigpO1xyXG5cclxuICAgIGlmIChjb250YWluZXIgPT09ICdib2R5Jykge1xyXG4gICAgICBjb25zdCByZW5kZXJlciA9IHRoaXMucmVuZGVyZXI7XHJcbiAgICAgIGNvbnN0IGRyb3Bkb3duTWVudUVsZW1lbnQgPSB0aGlzLl9tZW51Lm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICAgIGNvbnN0IGJvZHlDb250YWluZXIgPSAodGhpcy5ib2R5Q29udGFpbmVyID1cclxuICAgICAgICB0aGlzLmJvZHlDb250YWluZXIgfHwgcmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnZGl2JykpO1xyXG5cclxuICAgICAgLy8gT3ZlcnJpZGUgc29tZSBzdHlsZXMgdG8gaGF2ZSB0aGUgcG9zaXRpb25pbmcgd29ya2luZ1xyXG4gICAgICByZW5kZXJlci5zZXRTdHlsZShib2R5Q29udGFpbmVyLCAncG9zaXRpb24nLCAnYWJzb2x1dGUnKTtcclxuICAgICAgcmVuZGVyZXIuc2V0U3R5bGUoZHJvcGRvd25NZW51RWxlbWVudCwgJ3Bvc2l0aW9uJywgJ3N0YXRpYycpO1xyXG4gICAgICByZW5kZXJlci5zZXRTdHlsZShib2R5Q29udGFpbmVyLCAnei1pbmRleCcsICcxMDUwJyk7XHJcblxyXG4gICAgICByZW5kZXJlci5hcHBlbmRDaGlsZChib2R5Q29udGFpbmVyLCBkcm9wZG93bk1lbnVFbGVtZW50KTtcclxuICAgICAgcmVuZGVyZXIuYXBwZW5kQ2hpbGQodGhpcy5kb2N1bWVudC5ib2R5LCBib2R5Q29udGFpbmVyKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldHp0IGRpZSBDU1MgS2xhc3NlbiBhdWYgZGVtIE1lbsO8IENvbnRhaW5lciBhdWYgZGVuIFN0YW5kYXJkIHp1csO8Y2tcclxuICAgKi9cclxuICBwcml2YXRlIF9yZXNldENvbnRhaW5lcigpIHtcclxuICAgIGNvbnN0IHJlbmRlcmVyID0gdGhpcy5yZW5kZXJlcjtcclxuICAgIGlmICh0aGlzLl9tZW51KSB7XHJcbiAgICAgIGNvbnN0IGRyb3Bkb3duRWxlbWVudCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xyXG4gICAgICBjb25zdCBkcm9wZG93bk1lbnVFbGVtZW50ID0gdGhpcy5fbWVudS5uYXRpdmVFbGVtZW50O1xyXG5cclxuICAgICAgcmVuZGVyZXIuYXBwZW5kQ2hpbGQoZHJvcGRvd25FbGVtZW50LCBkcm9wZG93bk1lbnVFbGVtZW50KTtcclxuICAgICAgcmVuZGVyZXIucmVtb3ZlU3R5bGUoZHJvcGRvd25NZW51RWxlbWVudCwgJ3Bvc2l0aW9uJyk7XHJcbiAgICAgIHJlbmRlcmVyLnJlbW92ZVN0eWxlKGRyb3Bkb3duTWVudUVsZW1lbnQsICd0cmFuc2Zvcm0nKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmJvZHlDb250YWluZXIpIHtcclxuICAgICAgcmVuZGVyZXIucmVtb3ZlQ2hpbGQodGhpcy5kb2N1bWVudC5ib2R5LCB0aGlzLmJvZHlDb250YWluZXIpO1xyXG4gICAgICB0aGlzLmJvZHlDb250YWluZXIgPSBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiBQcml2YXRlIE1ldGhvZHNcclxufVxyXG4iXX0=
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @fileoverview This file was generated by the Angular template compiler. Do not edit.
3
+ *
4
+ * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes,extraRequire}
5
+ * tslint:disable
6
+ */
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dG1lbnUubmdmYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IkM6L1Byb2pla3RlL3NpbXBsZWFuZ3VsYXJjb250cm9scy1uZzEwL2NoLmpuZXR3b3JrLnNhYy1jb250cm9scy9wcm9qZWN0cy9zYWMtY29tbW9uL3NyYy8iLCJzb3VyY2VzIjpbImNvbnRyb2xzL2NvbnRleHRtZW51L2NvbnRleHRtZW51Lm5nZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgaTAgZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pMC5Db21wb25lbnRGYWN0b3J5O1xuIl19
@@ -0,0 +1,22 @@
1
+ import { Directive, ElementRef } from '@angular/core';
2
+ /**
3
+ * Base Context Menu Anchor Component für Open/Close Event
4
+ */
5
+ export class SacContextmenuAnchorCommon {
6
+ // #endregion Properties
7
+ // #region Constructors
8
+ /**
9
+ * Konstruktor
10
+ * @param elementRef Refernz auf das HTML welcher als Anker für das Context Menü verwendet wird
11
+ */
12
+ constructor(elementRef) {
13
+ this.nativeElement = elementRef.nativeElement;
14
+ }
15
+ }
16
+ SacContextmenuAnchorCommon.decorators = [
17
+ { type: Directive }
18
+ ];
19
+ SacContextmenuAnchorCommon.ctorParameters = () => [
20
+ { type: ElementRef }
21
+ ];
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dG1lbnVhbmNob3IuanMiLCJzb3VyY2VSb290IjoiQzovUHJvamVrdGUvc2ltcGxlYW5ndWxhcmNvbnRyb2xzLW5nMTAvY2guam5ldHdvcmsuc2FjLWNvbnRyb2xzL3Byb2plY3RzL3NhYy1jb21tb24vc3JjLyIsInNvdXJjZXMiOlsiY29udHJvbHMvY29udGV4dG1lbnUvY29udGV4dG1lbnVhbmNob3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdEQ7O0dBRUc7QUFFSCxNQUFNLE9BQU8sMEJBQTBCO0lBUXJDLHdCQUF3QjtJQUV4Qix1QkFBdUI7SUFFdkI7OztPQUdHO0lBQ0gsWUFBWSxVQUFtQztRQUM3QyxJQUFJLENBQUMsYUFBYSxHQUFHLFVBQVUsQ0FBQyxhQUFhLENBQUM7SUFDaEQsQ0FBQzs7O1lBbkJGLFNBQVM7OztZQUxVLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbi8qKlxyXG4gKiBCYXNlIENvbnRleHQgTWVudSBBbmNob3IgQ29tcG9uZW50IGbDvHIgT3Blbi9DbG9zZSBFdmVudFxyXG4gKi9cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBjbGFzcyBTYWNDb250ZXh0bWVudUFuY2hvckNvbW1vbiB7XHJcbiAgLy8gI3JlZ2lvbiBQcm9wZXJ0aWVzXHJcblxyXG4gIC8qKlxyXG4gICAqIFJlZmVyZW56IGF1ZiBkYXMgTmF0aXZlIEhUTUwgRWxlbWVudFxyXG4gICAqL1xyXG4gIHB1YmxpYyBuYXRpdmVFbGVtZW50OiBIVE1MRWxlbWVudDtcclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiBQcm9wZXJ0aWVzXHJcblxyXG4gIC8vICNyZWdpb24gQ29uc3RydWN0b3JzXHJcblxyXG4gIC8qKlxyXG4gICAqIEtvbnN0cnVrdG9yXHJcbiAgICogQHBhcmFtIGVsZW1lbnRSZWYgUmVmZXJueiBhdWYgZGFzIEhUTUwgd2VsY2hlciBhbHMgQW5rZXIgZsO8ciBkYXMgQ29udGV4dCBNZW7DvCB2ZXJ3ZW5kZXQgd2lyZFxyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+KSB7XHJcbiAgICB0aGlzLm5hdGl2ZUVsZW1lbnQgPSBlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgfVxyXG5cclxuICAvLyAjZW5kcmVnaW9uIENvbnN0cnVjdG9yc1xyXG59XHJcbiJdfQ==