@simpleangularcontrols/sac-common 16.0.0-rc.1 → 16.0.0-rc.11

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 (283) hide show
  1. package/README.md +8 -16
  2. package/common/basedatetimecontrol.d.ts +116 -30
  3. package/common/basedatetimecontrol.d.ts.map +1 -1
  4. package/common/baseinputcontrol.d.ts +9 -13
  5. package/common/baseinputcontrol.d.ts.map +1 -1
  6. package/common/basemodelcontrol.d.ts +168 -85
  7. package/common/basemodelcontrol.d.ts.map +1 -1
  8. package/common/baseuploadcontrol.d.ts +136 -141
  9. package/common/baseuploadcontrol.d.ts.map +1 -1
  10. package/components/browser/browser.d.ts +11 -6
  11. package/components/browser/browser.d.ts.map +1 -1
  12. package/controls/buttons/button.d.ts +23 -22
  13. package/controls/buttons/button.d.ts.map +1 -1
  14. package/controls/checkbox/checkbox.d.ts +18 -5
  15. package/controls/checkbox/checkbox.d.ts.map +1 -1
  16. package/controls/checkbox/radiobutton.d.ts +68 -24
  17. package/controls/checkbox/radiobutton.d.ts.map +1 -1
  18. package/controls/checkbox/radiobuttons.d.ts +21 -20
  19. package/controls/checkbox/radiobuttons.d.ts.map +1 -1
  20. package/controls/confirm/confirm.button.d.ts +14 -8
  21. package/controls/confirm/confirm.button.d.ts.map +1 -1
  22. package/controls/confirm/confirm.service.d.ts +24 -19
  23. package/controls/confirm/confirm.service.d.ts.map +1 -1
  24. package/controls/contextmenu/contextmenu.d.ts +51 -44
  25. package/controls/contextmenu/contextmenu.d.ts.map +1 -1
  26. package/controls/contextmenu/contextmenu.interface.d.ts +4 -0
  27. package/controls/contextmenu/contextmenu.interface.d.ts.map +1 -0
  28. package/controls/contextmenu/contextmenuanchor.d.ts +2 -2
  29. package/controls/contextmenu/contextmenuanchor.d.ts.map +1 -1
  30. package/controls/contextmenu/contextmenucontainer.d.ts +2 -2
  31. package/controls/contextmenu/contextmenucontainer.d.ts.map +1 -1
  32. package/controls/contextmenu/contextmenuitem.d.ts +6 -1
  33. package/controls/contextmenu/contextmenuitem.d.ts.map +1 -1
  34. package/controls/contextmenu/contextmenuitembutton.d.ts +22 -21
  35. package/controls/contextmenu/contextmenuitembutton.d.ts.map +1 -1
  36. package/controls/datetime/date.d.ts +33 -36
  37. package/controls/datetime/date.d.ts.map +1 -1
  38. package/controls/datetime/datetime.d.ts +33 -37
  39. package/controls/datetime/datetime.d.ts.map +1 -1
  40. package/controls/datetime/time.d.ts +32 -36
  41. package/controls/datetime/time.d.ts.map +1 -1
  42. package/controls/dialog/dialog.d.ts +32 -44
  43. package/controls/dialog/dialog.d.ts.map +1 -1
  44. package/controls/form/form.d.ts +7 -43
  45. package/controls/form/form.d.ts.map +1 -1
  46. package/controls/grid/grid.d.ts +67 -62
  47. package/controls/grid/grid.d.ts.map +1 -1
  48. package/controls/grid/gridbutton.d.ts +14 -14
  49. package/controls/grid/gridbutton.d.ts.map +1 -1
  50. package/controls/grid/gridcolumn.d.ts +8 -8
  51. package/controls/grid/gridcolumn.d.ts.map +1 -1
  52. package/controls/grid/gridcolumnaction.d.ts +3 -3
  53. package/controls/grid/gridcolumnaction.d.ts.map +1 -1
  54. package/controls/grid/gridcolumnbase.d.ts +46 -38
  55. package/controls/grid/gridcolumnbase.d.ts.map +1 -1
  56. package/controls/grid/gridimage.d.ts +2 -2
  57. package/controls/grid/gridimage.d.ts.map +1 -1
  58. package/controls/grid/model.d.ts +51 -42
  59. package/controls/grid/model.d.ts.map +1 -1
  60. package/controls/grid/paging.d.ts +77 -76
  61. package/controls/grid/paging.d.ts.map +1 -1
  62. package/controls/input/input.d.ts +11 -11
  63. package/controls/input/input.d.ts.map +1 -1
  64. package/controls/input/inputcurrency.d.ts +6 -1
  65. package/controls/input/inputcurrency.d.ts.map +1 -1
  66. package/controls/input/inputdecimal.d.ts +21 -21
  67. package/controls/input/inputdecimal.d.ts.map +1 -1
  68. package/controls/input/inputemail.d.ts.map +1 -1
  69. package/controls/input/inputinteger.d.ts +21 -21
  70. package/controls/input/inputinteger.d.ts.map +1 -1
  71. package/controls/input/inputpassword.d.ts +5 -5
  72. package/controls/input/inputpassword.d.ts.map +1 -1
  73. package/controls/input/inputsearch.d.ts +14 -5
  74. package/controls/input/inputsearch.d.ts.map +1 -1
  75. package/controls/layout/formlayout.d.ts +66 -0
  76. package/controls/layout/formlayout.d.ts.map +1 -0
  77. package/controls/list/buildvaluestring.d.ts +7 -0
  78. package/controls/list/buildvaluestring.d.ts.map +1 -0
  79. package/controls/list/dropdown.d.ts +36 -80
  80. package/controls/list/dropdown.d.ts.map +1 -1
  81. package/controls/list/dropdownoptions.d.ts +42 -0
  82. package/controls/list/dropdownoptions.d.ts.map +1 -0
  83. package/controls/list/listbox.d.ts +20 -20
  84. package/controls/list/listbox.d.ts.map +1 -1
  85. package/controls/multilanguage/multilanguageinput.d.ts +36 -35
  86. package/controls/multilanguage/multilanguageinput.d.ts.map +1 -1
  87. package/controls/multilanguage/multilanguageinputarea.d.ts +39 -38
  88. package/controls/multilanguage/multilanguageinputarea.d.ts.map +1 -1
  89. package/controls/static/formcontainer.d.ts +8 -4
  90. package/controls/static/formcontainer.d.ts.map +1 -1
  91. package/controls/tinymce/tinymce.d.ts +63 -63
  92. package/controls/tinymce/tinymce.d.ts.map +1 -1
  93. package/controls/tooltip/tooltip.d.ts +76 -69
  94. package/controls/tooltip/tooltip.d.ts.map +1 -1
  95. package/controls/treeview/treeview.d.ts +89 -123
  96. package/controls/treeview/treeview.d.ts.map +1 -1
  97. package/controls/upload/dropzonemultiple.d.ts +24 -24
  98. package/controls/upload/dropzonemultiple.d.ts.map +1 -1
  99. package/controls/upload/uploadmultiple.d.ts +9 -9
  100. package/controls/upload/uploadmultiple.d.ts.map +1 -1
  101. package/controls/validation/validationsummary.d.ts +18 -13
  102. package/controls/validation/validationsummary.d.ts.map +1 -1
  103. package/enums/ButtonRoleType.d.ts +2 -0
  104. package/enums/ButtonRoleType.d.ts.map +1 -0
  105. package/enums/ControlHeight.d.ts +18 -0
  106. package/enums/ControlHeight.d.ts.map +1 -0
  107. package/esm2022/common/basedatetimecontrol.mjs +80 -164
  108. package/esm2022/common/baseinputcontrol.mjs +21 -80
  109. package/esm2022/common/baselistcontrol.mjs +11 -56
  110. package/esm2022/common/basemodelcontrol.mjs +134 -354
  111. package/esm2022/common/baseselectcontrol.mjs +6 -27
  112. package/esm2022/common/baseuploadcontrol.mjs +109 -433
  113. package/esm2022/components/browser/browser.mjs +66 -474
  114. package/esm2022/components/browser/models/browserfile.mjs +3 -2
  115. package/esm2022/components/browser/models/browserfiledeleterequest.mjs +5 -10
  116. package/esm2022/components/browser/models/browserfilerenamerequest.mjs +5 -10
  117. package/esm2022/components/browser/models/browserfileresponse.mjs +3 -2
  118. package/esm2022/components/browser/models/browserfilesaverequest.mjs +5 -10
  119. package/esm2022/components/browser/models/browsernode.mjs +3 -2
  120. package/esm2022/components/browser/models/browsernodedeleterequest.mjs +5 -10
  121. package/esm2022/components/browser/models/browsernodenewrequest.mjs +5 -10
  122. package/esm2022/components/browser/models/browsernoderenamerequest.mjs +5 -10
  123. package/esm2022/components/browser/models/browsernoderequest.mjs +5 -10
  124. package/esm2022/components/browser/models/browsernoderesponse.mjs +3 -2
  125. package/esm2022/controls/buttons/button.mjs +32 -131
  126. package/esm2022/controls/checkbox/checkbox.mjs +15 -30
  127. package/esm2022/controls/checkbox/radiobutton.mjs +45 -102
  128. package/esm2022/controls/checkbox/radiobuttons.mjs +29 -106
  129. package/esm2022/controls/confirm/confirm.button.mjs +17 -21
  130. package/esm2022/controls/confirm/confirm.mjs +19 -69
  131. package/esm2022/controls/confirm/confirm.service.mjs +29 -74
  132. package/esm2022/controls/contextmenu/contextmenu.interface.mjs +3 -0
  133. package/esm2022/controls/contextmenu/contextmenu.mjs +43 -171
  134. package/esm2022/controls/contextmenu/contextmenuanchor.mjs +8 -19
  135. package/esm2022/controls/contextmenu/contextmenucontainer.mjs +8 -19
  136. package/esm2022/controls/contextmenu/contextmenuitem.mjs +7 -13
  137. package/esm2022/controls/contextmenu/contextmenuitembutton.mjs +25 -93
  138. package/esm2022/controls/datetime/date.mjs +42 -206
  139. package/esm2022/controls/datetime/dateselector.mjs +65 -409
  140. package/esm2022/controls/datetime/datetime.mjs +43 -223
  141. package/esm2022/controls/datetime/time.mjs +40 -204
  142. package/esm2022/controls/dialog/dialog.mjs +35 -209
  143. package/esm2022/controls/form/form.mjs +27 -153
  144. package/esm2022/controls/grid/grid.mjs +48 -155
  145. package/esm2022/controls/grid/gridbutton.mjs +21 -59
  146. package/esm2022/controls/grid/gridcolumn.mjs +21 -46
  147. package/esm2022/controls/grid/gridcolumnaction.mjs +8 -22
  148. package/esm2022/controls/grid/gridcolumnbase.mjs +35 -124
  149. package/esm2022/controls/grid/gridimage.mjs +5 -16
  150. package/esm2022/controls/grid/model.mjs +49 -74
  151. package/esm2022/controls/grid/paging.mjs +82 -251
  152. package/esm2022/controls/input/input.mjs +17 -65
  153. package/esm2022/controls/input/inputarea.mjs +10 -53
  154. package/esm2022/controls/input/inputcurrency.mjs +9 -14
  155. package/esm2022/controls/input/inputdecimal.mjs +33 -143
  156. package/esm2022/controls/input/inputemail.mjs +10 -37
  157. package/esm2022/controls/input/inputinteger.mjs +32 -127
  158. package/esm2022/controls/input/inputpassword.mjs +12 -43
  159. package/esm2022/controls/input/inputsearch.mjs +16 -38
  160. package/esm2022/controls/layout/formlayout.mjs +31 -0
  161. package/esm2022/controls/list/buildvaluestring.mjs +10 -0
  162. package/esm2022/controls/list/dropdown.mjs +45 -236
  163. package/esm2022/controls/list/dropdownoptions.mjs +22 -0
  164. package/esm2022/controls/list/listbox.mjs +40 -159
  165. package/esm2022/controls/multilanguage/multilanguageinput.mjs +48 -215
  166. package/esm2022/controls/multilanguage/multilanguageinputarea.mjs +51 -217
  167. package/esm2022/controls/static/formcontainer.mjs +18 -45
  168. package/esm2022/controls/static/staticlabel.mjs +7 -28
  169. package/esm2022/controls/tabs/tab.mjs +14 -68
  170. package/esm2022/controls/tabs/tabitem.mjs +7 -37
  171. package/esm2022/controls/tinymce/tinymce.mjs +62 -232
  172. package/esm2022/controls/tinymce/tinymcedialogsettings.mjs +5 -10
  173. package/esm2022/controls/tinymce/tinymcedialogsettingsmeta.mjs +4 -4
  174. package/esm2022/controls/tinymce/tinymceinstance.mjs +3 -2
  175. package/esm2022/controls/tooltip/tooltip.mjs +74 -358
  176. package/esm2022/controls/treeview/treeview.mjs +79 -343
  177. package/esm2022/controls/upload/dropzonemultiple.mjs +32 -152
  178. package/esm2022/controls/upload/dropzonesingle.mjs +12 -91
  179. package/esm2022/controls/upload/uploadmultiple.mjs +21 -111
  180. package/esm2022/controls/upload/uploadsingle.mjs +8 -50
  181. package/esm2022/controls/validation/validationsummary.mjs +23 -120
  182. package/esm2022/controls/wizard/wizard.mjs +20 -128
  183. package/esm2022/controls/wizard/wizarditem.mjs +6 -31
  184. package/esm2022/enums/ButtonRoleType.mjs +3 -0
  185. package/esm2022/enums/ControlHeight.mjs +11 -0
  186. package/esm2022/enums/IconType.mjs +4 -8
  187. package/esm2022/interfaces/ISacConfigurationService.mjs +3 -0
  188. package/esm2022/interfaces/ISacFileBrowserService.mjs +3 -2
  189. package/esm2022/interfaces/ISacIconService.mjs +3 -2
  190. package/esm2022/interfaces/ISacLabelSizes.mjs +3 -0
  191. package/esm2022/interfaces/ISacLanguageService.mjs +3 -2
  192. package/esm2022/interfaces/ISacLocalisationService.mjs +3 -2
  193. package/esm2022/interfaces/ISacValidationKeyService.mjs +3 -0
  194. package/esm2022/interfaces/iabstractcontrollabel.mjs +3 -2
  195. package/esm2022/interfaces/iconfirmcomponent.mjs +3 -2
  196. package/esm2022/interfaces/idatetimecontrol.mjs +3 -2
  197. package/esm2022/interfaces/iuploadcontrol.mjs +3 -2
  198. package/esm2022/interfaces/treeviewaction.interface.mjs +3 -0
  199. package/esm2022/models/languagemodel.mjs +5 -11
  200. package/esm2022/public_api.mjs +25 -94
  201. package/esm2022/services/index.mjs +3 -5
  202. package/esm2022/services/sac-configuration.service.mjs +35 -0
  203. package/esm2022/services/sac-filebrowser.service.mjs +15 -167
  204. package/esm2022/services/sac-icon.service.mjs +61 -155
  205. package/esm2022/services/sac-language.service.mjs +7 -45
  206. package/esm2022/services/sac-localisation.service.mjs +33 -428
  207. package/esm2022/services/sac-validationkey.service.mjs +7 -0
  208. package/esm2022/simpleangularcontrols-sac-common.mjs +4 -4
  209. package/esm2022/utilities/convertion.mjs +6 -26
  210. package/esm2022/utilities/datatypes.mjs +4 -6
  211. package/esm2022/utilities/enums.mjs +10 -15
  212. package/esm2022/utilities/guid.mjs +8 -0
  213. package/esm2022/utilities/interpolation.mjs +7 -42
  214. package/esm2022/utilities/popuphelper.mjs +80 -0
  215. package/esm2022/utilities/positioning.mjs +23 -266
  216. package/esm2022/validation/email.validator.mjs +3 -13
  217. package/esm2022/validation/equals.validator.mjs +3 -0
  218. package/esm2022/validation/index.mjs +3 -3
  219. package/esm2022/validation/invaliddate.validator.mjs +3 -14
  220. package/esm2022/validation/isDateValid.mjs +9 -13
  221. package/esm2022/validation/maxdate.validator.mjs +4 -21
  222. package/esm2022/validation/maxtime.validator.mjs +4 -21
  223. package/esm2022/validation/maxvalue.validator.mjs +3 -16
  224. package/esm2022/validation/mindate.validator.mjs +4 -21
  225. package/esm2022/validation/minfiles.validator.mjs +4 -19
  226. package/esm2022/validation/minlength.validator.mjs +3 -21
  227. package/esm2022/validation/mintime.validator.mjs +4 -21
  228. package/esm2022/validation/minvalue.validator.mjs +3 -16
  229. package/esm2022/validation/multilanguagerequired.validator.mjs +3 -22
  230. package/esm2022/validation/multilanguagerequiredany.validator.mjs +3 -22
  231. package/esm2022/validation/notequals.validator.mjs +3 -0
  232. package/esm2022/validation/pattern.validator.mjs +3 -16
  233. package/esm2022/validation/required.validator.mjs +3 -13
  234. package/esm2022/validation/validation.mjs +41 -106
  235. package/esm2022/validation/validationerrorcreator.mjs +3 -11
  236. package/esm2022/validation/validationerroritem.mjs +7 -19
  237. package/fesm2022/simpleangularcontrols-sac-common.mjs +2276 -9240
  238. package/fesm2022/simpleangularcontrols-sac-common.mjs.map +1 -1
  239. package/interfaces/ISacConfigurationService.d.ts +59 -0
  240. package/interfaces/ISacConfigurationService.d.ts.map +1 -0
  241. package/interfaces/ISacIconService.d.ts +26 -2
  242. package/interfaces/ISacIconService.d.ts.map +1 -1
  243. package/interfaces/ISacLabelSizes.d.ts +27 -0
  244. package/interfaces/ISacLabelSizes.d.ts.map +1 -0
  245. package/interfaces/ISacValidationKeyService.d.ts +53 -0
  246. package/interfaces/ISacValidationKeyService.d.ts.map +1 -0
  247. package/interfaces/treeviewaction.interface.d.ts +5 -0
  248. package/interfaces/treeviewaction.interface.d.ts.map +1 -0
  249. package/package.json +2 -2
  250. package/public_api.d.ts +32 -21
  251. package/public_api.d.ts.map +1 -1
  252. package/services/index.d.ts +6 -4
  253. package/services/index.d.ts.map +1 -1
  254. package/services/sac-configuration.service.d.ts +127 -0
  255. package/services/sac-configuration.service.d.ts.map +1 -0
  256. package/services/sac-icon.service.d.ts +49 -1
  257. package/services/sac-icon.service.d.ts.map +1 -1
  258. package/services/sac-localisation.service.d.ts +103 -97
  259. package/services/sac-localisation.service.d.ts.map +1 -1
  260. package/services/sac-validationkey.service.d.ts +59 -0
  261. package/services/sac-validationkey.service.d.ts.map +1 -0
  262. package/simpleangularcontrols-sac-common-16.0.0-rc.11.tgz +0 -0
  263. package/utilities/enums.d.ts +3 -1
  264. package/utilities/enums.d.ts.map +1 -1
  265. package/utilities/guid.d.ts +5 -0
  266. package/utilities/guid.d.ts.map +1 -0
  267. package/utilities/popuphelper.d.ts +84 -0
  268. package/utilities/popuphelper.d.ts.map +1 -0
  269. package/validation/equals.validator.d.ts +3 -0
  270. package/validation/equals.validator.d.ts.map +1 -0
  271. package/validation/isDateValid.d.ts.map +1 -1
  272. package/validation/notequals.validator.d.ts +3 -0
  273. package/validation/notequals.validator.d.ts.map +1 -0
  274. package/validation/validation.d.ts +24 -6
  275. package/validation/validation.d.ts.map +1 -1
  276. package/controls/treeview/ngtreeitemaction.d.ts +0 -44
  277. package/controls/treeview/ngtreeitemaction.d.ts.map +0 -1
  278. package/controls/treeview/treeviewchild.d.ts +0 -16
  279. package/controls/treeview/treeviewchild.d.ts.map +0 -1
  280. package/esm2022/controls/treeview/ngtreeitemaction.mjs +0 -63
  281. package/esm2022/controls/treeview/treeviewchild.mjs +0 -22
  282. package/simpleangularcontrols-sac-common-13.0.0-rc.1.tgz +0 -0
  283. package/simpleangularcontrols-sac-common-16.0.0-rc.1.tgz +0 -0
@@ -1,55 +1,24 @@
1
- import { DOCUMENT } from '@angular/common';
2
- import { ContentChild, Directive, HostListener, Inject, Input, 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
- import * as i0 from "@angular/core";
8
- /**
1
+ function cov_1jr3zne1ii(){var path="C:\\Projekte\\simpleangularcontrols-ng16\\ch.jnetwork.sac-controls\\dist\\sac-common\\esm2022\\controls\\contextmenu\\contextmenu.mjs";var hash="5a706bd344f2678a71ed2c368a6bcc9195ac02f8";var global=new Function("return this")();var gcv="__coverage__";var coverageData={path:"C:\\Projekte\\simpleangularcontrols-ng16\\ch.jnetwork.sac-controls\\dist\\sac-common\\esm2022\\controls\\contextmenu\\contextmenu.mjs",statementMap:{"0":{start:{line:24,column:8},end:{line:24,column:33}},"1":{start:{line:25,column:8},end:{line:25,column:29}},"2":{start:{line:26,column:8},end:{line:26,column:37}},"3":{start:{line:27,column:8},end:{line:27,column:33}},"4":{start:{line:31,column:8},end:{line:31,column:34}},"5":{start:{line:35,column:8},end:{line:35,column:32}},"6":{start:{line:39,column:8},end:{line:39,column:27}},"7":{start:{line:43,column:8},end:{line:43,column:28}},"8":{start:{line:57,column:8},end:{line:57,column:82}},"9":{start:{line:58,column:8},end:{line:60,column:11}},"10":{start:{line:59,column:12},end:{line:59,column:33}},"11":{start:{line:61,column:8},end:{line:61,column:86}},"12":{start:{line:69,column:8},end:{line:69,column:52}},"13":{start:{line:77,column:8},end:{line:77,column:31}},"14":{start:{line:78,column:8},end:{line:78,column:28}},"15":{start:{line:81,column:8},end:{line:81,column:72}},"16":{start:{line:81,column:44},end:{line:81,column:69}},"17":{start:{line:87,column:8},end:{line:89,column:9}},"18":{start:{line:88,column:12},end:{line:88,column:25}},"19":{start:{line:90,column:8},end:{line:90,column:44}},"20":{start:{line:96,column:23},end:{line:96,column:59}},"21":{start:{line:97,column:8},end:{line:101,column:9}},"22":{start:{line:100,column:12},end:{line:100,column:25}},"23":{start:{line:107,column:8},end:{line:107,column:45}},"24":{start:{line:108,column:8},end:{line:108,column:27}},"25":{start:{line:114,column:8},end:{line:119,column:9}},"26":{start:{line:115,column:12},end:{line:115,column:25}},"27":{start:{line:118,column:12},end:{line:118,column:24}},"28":{start:{line:127,column:23},end:{line:127,column:59}},"29":{start:{line:128,column:8},end:{line:130,column:9}},"30":{start:{line:129,column:12},end:{line:129,column:142}},"31":{start:{line:141,column:8},end:{line:141,column:31}},"32":{start:{line:142,column:8},end:{line:152,column:9}},"33":{start:{line:143,column:29},end:{line:143,column:42}},"34":{start:{line:144,column:40},end:{line:144,column:64}},"35":{start:{line:145,column:35},end:{line:145,column:107}},"36":{start:{line:147,column:12},end:{line:147,column:69}},"37":{start:{line:148,column:12},end:{line:148,column:73}},"38":{start:{line:149,column:12},end:{line:149,column:64}},"39":{start:{line:150,column:12},end:{line:150,column:69}},"40":{start:{line:151,column:12},end:{line:151,column:68}},"41":{start:{line:158,column:25},end:{line:158,column:38}},"42":{start:{line:159,column:8},end:{line:165,column:9}},"43":{start:{line:160,column:36},end:{line:160,column:65}},"44":{start:{line:161,column:40},end:{line:161,column:64}},"45":{start:{line:162,column:12},end:{line:162,column:71}},"46":{start:{line:163,column:12},end:{line:163,column:66}},"47":{start:{line:164,column:12},end:{line:164,column:67}},"48":{start:{line:166,column:8},end:{line:169,column:9}},"49":{start:{line:167,column:12},end:{line:167,column:73}},"50":{start:{line:168,column:12},end:{line:168,column:38}},"51":{start:{line:171,column:13},end:{line:171,column:299}},"52":{start:{line:172,column:13},end:{line:172,column:744}},"53":{start:{line:175,column:0},end:{line:205,column:20}},"54":{start:{line:177,column:42},end:{line:180,column:115}}},fnMap:{"0":{name:"(anonymous_0)",decl:{start:{line:23,column:4},end:{line:23,column:5}},loc:{start:{line:23,column:66},end:{line:62,column:5}},line:23},"1":{name:"(anonymous_1)",decl:{start:{line:58,column:63},end:{line:58,column:64}},loc:{start:{line:58,column:69},end:{line:60,column:9}},line:58},"2":{name:"(anonymous_2)",decl:{start:{line:68,column:4},end:{line:68,column:5}},loc:{start:{line:68,column:26},end:{line:70,column:5}},line:68},"3":{name:"(anonymous_3)",decl:{start:{line:76,column:4},end:{line:76,column:5}},loc:{start:{line:76,column:12},end:{line:79,column:5}},line:76},"4":{name:"(anonymous_4)",decl:{start:{line:80,column:4},end:{line:80,column:5}},loc:{start:{line:80,column:25},end:{line:82,column:5}},line:80},"5":{name:"(anonymous_5)",decl:{start:{line:81,column:31},end:{line:81,column:32}},loc:{start:{line:81,column:44},end:{line:81,column:69}},line:81},"6":{name:"(anonymous_6)",decl:{start:{line:86,column:4},end:{line:86,column:5}},loc:{start:{line:86,column:18},end:{line:91,column:5}},line:86},"7":{name:"(anonymous_7)",decl:{start:{line:95,column:4},end:{line:95,column:5}},loc:{start:{line:95,column:27},end:{line:102,column:5}},line:95},"8":{name:"(anonymous_8)",decl:{start:{line:106,column:4},end:{line:106,column:5}},loc:{start:{line:106,column:11},end:{line:109,column:5}},line:106},"9":{name:"(anonymous_9)",decl:{start:{line:113,column:4},end:{line:113,column:5}},loc:{start:{line:113,column:13},end:{line:120,column:5}},line:113},"10":{name:"(anonymous_10)",decl:{start:{line:126,column:4},end:{line:126,column:5}},loc:{start:{line:126,column:20},end:{line:131,column:5}},line:126},"11":{name:"(anonymous_11)",decl:{start:{line:139,column:4},end:{line:139,column:5}},loc:{start:{line:139,column:38},end:{line:153,column:5}},line:139},"12":{name:"(anonymous_12)",decl:{start:{line:157,column:4},end:{line:157,column:5}},loc:{start:{line:157,column:22},end:{line:170,column:5}},line:157},"13":{name:"(anonymous_13)",decl:{start:{line:177,column:28},end:{line:177,column:29}},loc:{start:{line:177,column:40},end:{line:180,column:117}},line:177}},branchMap:{"0":{loc:{start:{line:87,column:8},end:{line:89,column:9}},type:"if",locations:[{start:{line:87,column:8},end:{line:89,column:9}},{start:{line:87,column:8},end:{line:89,column:9}}],line:87},"1":{loc:{start:{line:96,column:23},end:{line:96,column:59}},type:"binary-expr",locations:[{start:{line:96,column:23},end:{line:96,column:35}},{start:{line:96,column:39},end:{line:96,column:59}}],line:96},"2":{loc:{start:{line:97,column:8},end:{line:101,column:9}},type:"if",locations:[{start:{line:97,column:8},end:{line:101,column:9}},{start:{line:97,column:8},end:{line:101,column:9}}],line:97},"3":{loc:{start:{line:97,column:12},end:{line:99,column:57}},type:"binary-expr",locations:[{start:{line:97,column:12},end:{line:97,column:22}},{start:{line:98,column:12},end:{line:98,column:61}},{start:{line:99,column:12},end:{line:99,column:57}}],line:97},"4":{loc:{start:{line:114,column:8},end:{line:119,column:9}},type:"if",locations:[{start:{line:114,column:8},end:{line:119,column:9}},{start:{line:114,column:8},end:{line:119,column:9}}],line:114},"5":{loc:{start:{line:127,column:23},end:{line:127,column:59}},type:"binary-expr",locations:[{start:{line:127,column:23},end:{line:127,column:35}},{start:{line:127,column:39},end:{line:127,column:59}}],line:127},"6":{loc:{start:{line:128,column:8},end:{line:130,column:9}},type:"if",locations:[{start:{line:128,column:8},end:{line:130,column:9}},{start:{line:128,column:8},end:{line:130,column:9}}],line:128},"7":{loc:{start:{line:128,column:12},end:{line:128,column:32}},type:"binary-expr",locations:[{start:{line:128,column:12},end:{line:128,column:18}},{start:{line:128,column:22},end:{line:128,column:32}}],line:128},"8":{loc:{start:{line:129,column:51},end:{line:129,column:97}},type:"binary-expr",locations:[{start:{line:129,column:51},end:{line:129,column:69}},{start:{line:129,column:73},end:{line:129,column:97}}],line:129},"9":{loc:{start:{line:139,column:20},end:{line:139,column:36}},type:"default-arg",locations:[{start:{line:139,column:32},end:{line:139,column:36}}],line:139},"10":{loc:{start:{line:142,column:8},end:{line:152,column:9}},type:"if",locations:[{start:{line:142,column:8},end:{line:152,column:9}},{start:{line:142,column:8},end:{line:152,column:9}}],line:142},"11":{loc:{start:{line:145,column:56},end:{line:145,column:107}},type:"binary-expr",locations:[{start:{line:145,column:56},end:{line:145,column:74}},{start:{line:145,column:78},end:{line:145,column:107}}],line:145},"12":{loc:{start:{line:159,column:8},end:{line:165,column:9}},type:"if",locations:[{start:{line:159,column:8},end:{line:165,column:9}},{start:{line:159,column:8},end:{line:165,column:9}}],line:159},"13":{loc:{start:{line:166,column:8},end:{line:169,column:9}},type:"if",locations:[{start:{line:166,column:8},end:{line:169,column:9}},{start:{line:166,column:8},end:{line:169,column:9}}],line:166}},s:{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0},f:{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0},b:{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0]},inputSourceMap:{version:3,file:"contextmenu.js",sourceRoot:"",sources:["../../../../../projects/sac-common/src/controls/contextmenu/contextmenu.ts"],names:[],mappings:"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",sourcesContent:["import { ISacIconService } from '../../interfaces/ISacIconService';\r\nimport { SACICON_SERVICE, SacDefaultIconService } from '../../services';\r\nimport { PlacementArray, positionElements } from '../../utilities/positioning';\r\nimport { ISacContextmenuCommon } from './contextmenu.interface';\r\nimport { SacContextmenuAnchorCommon } from './contextmenuanchor';\r\nimport { SacContextMenuContrainerCommon } from './contextmenucontainer';\r\nimport { SacContextmenuItemCommon } from './contextmenuitem';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport {\r\n AfterContentInit,\r\n ContentChild,\r\n ContentChildren,\r\n Directive,\r\n ElementRef,\r\n HostListener,\r\n Inject,\r\n Injector,\r\n Input,\r\n NgZone,\r\n OnDestroy,\r\n QueryList,\r\n Renderer2,\r\n TemplateRef,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\n\r\n/**\r\n * Base Context Men\xFC Element. Die Logik wurde aus NG-BOOTSTRAP \xFCbernommen.\r\n */\r\n@Directive()\r\nexport class SacContextmenuCommon implements ISacContextmenuCommon, AfterContentInit, OnDestroy {\r\n // #region Properties\r\n\r\n /**\r\n * Button f\xFCr Open/Close Event\r\n */\r\n @ViewChild(SacContextmenuAnchorCommon, { static: false })\r\n private readonly _anchor: SacContextmenuAnchorCommon;\r\n\r\n /**\r\n * Button f\xFCr Open/Close Event aus Template\r\n */\r\n @ContentChild(SacContextmenuAnchorCommon, { static: false })\r\n private readonly _anchorTemplate: SacContextmenuAnchorCommon;\r\n\r\n /**\r\n * Container Element f\xFCr Dropdown\r\n */\r\n @ViewChild(SacContextMenuContrainerCommon, { static: false })\r\n private readonly _menu: SacContextMenuContrainerCommon;\r\n\r\n /**\r\n * Zone Subscription f\xFCr Postitonierung des Elements\r\n */\r\n private readonly zoneSubscription: Subscription;\r\n\r\n /**\r\n * Body HTML Element\r\n */\r\n private bodyContainer: HTMLElement | null = null;\r\n\r\n /**\r\n * icon service\r\n */\r\n protected iconService: ISacIconService;\r\n\r\n /**\r\n * Custom HTML Template f\xFCr Dropdown Button. Button muss den Marker \"ngContextmenuAnchor\" beinhalten, damit das Control korrekt funktioniert.\r\n */\r\n @Input()\r\n public buttontemplate: TemplateRef<any>;\r\n\r\n /**\r\n * Container an welchem die Position ausgerichtet wird. Aktuell wird nun Body Supported\r\n */\r\n @Input()\r\n public container: null | 'body' = 'body';\r\n\r\n /**\r\n * Extra CSS Klassen f\xFCr das Control\r\n */\r\n @Input()\r\n public cssclass: string = '';\r\n\r\n /**\r\n * Definiert ob das Dropdown offen ist.\r\n */\r\n @Input()\r\n public isopen: boolean = false;\r\n\r\n /**\r\n * All directly assigned context menu elements that are defined in the direct template for the context menu.\r\n */\r\n @ContentChildren(SacContextmenuItemCommon)\r\n public menuitems!: QueryList<SacContextmenuItemCommon>;\r\n\r\n /**\r\n * The preferred placement of the dropdown.\r\n *\r\n * Possible values are `\"top\"`, `\"top-left\"`, `\"top-right\"`, `\"bottom\"`, `\"bottom-left\"`,\r\n * `\"bottom-right\"`, `\"left\"`, `\"left-top\"`, `\"left-bottom\"`, `\"right\"`, `\"right-top\"`,\r\n * `\"right-bottom\"`\r\n *\r\n * Accepts an array of strings or a string with space separated possible values.\r\n *\r\n * The default order of preference is `\"bottom-left bottom-right top-left top-right\"`\r\n *\r\n * Please see the [positioning overview](#/positioning) for more details.\r\n */\r\n @Input() public placement: PlacementArray = ['bottom-left', 'bottom-right', 'top-left', 'top-right'];\r\n\r\n // #endregion Properties\r\n\r\n // #region Constructors\r\n\r\n /**\r\n * Konstruktor\r\n * @param document HTML Document Element\r\n * @param ngZone Angular Zone Service\r\n * @param elementRef HTML Element des aktuellen Controls\r\n * @param renderer Angular Rendering Service\r\n * @param injector injector to resolve the icon service\r\n */\r\n constructor(\r\n @Inject(DOCUMENT) private readonly document: any,\r\n private readonly ngZone: NgZone,\r\n private readonly elementRef: ElementRef<HTMLElement>,\r\n private readonly renderer: Renderer2,\r\n injector: Injector\r\n ) {\r\n this.zoneSubscription = this.ngZone.onStable.subscribe(() => {\r\n this._positionMenu();\r\n });\r\n\r\n this.iconService = injector.get(SACICON_SERVICE, new SacDefaultIconService());\r\n }\r\n\r\n // #endregion Constructors\r\n\r\n // #region Public Getters And Setters\r\n\r\n /**\r\n * icon for default context men\xFC button\r\n */\r\n public get IconContextMenu(): string {\r\n return this.iconService.ContextMenuOpenIcon;\r\n }\r\n\r\n // #endregion Public Getters And Setters\r\n\r\n // #region Public Methods\r\n\r\n /**\r\n * Schliesst das Dropdown\r\n */\r\n public close(): void {\r\n this._resetContainer();\r\n this.isopen = false;\r\n }\r\n\r\n public ngAfterContentInit(): void {\r\n this.menuitems.forEach((button) => (button.contextmenu = this));\r\n }\r\n\r\n /**\r\n * Event wenn Component entfernt wird.\r\n */\r\n public ngOnDestroy(): void {\r\n if (this.isopen) {\r\n this.close();\r\n }\r\n\r\n this.zoneSubscription.unsubscribe();\r\n }\r\n\r\n /**\r\n * HostListener um das Dropdown zu schliessen wenn nicht auf das Element geklickt wird.\r\n */\r\n @HostListener('document:click', ['$event.target'])\r\n /**\r\n * Click Event\r\n */\r\n public onClick(targetElement) {\r\n const anchor: SacContextmenuAnchorCommon = this._anchor || this._anchorTemplate;\r\n\r\n if (\r\n this._menu &&\r\n !this._menu.nativeElement.contains(targetElement) &&\r\n !anchor.nativeElement.contains(targetElement)\r\n ) {\r\n this.close();\r\n }\r\n }\r\n\r\n /**\r\n * \xD6ffnet das Dropdown / Zeigt das Men\xFC an.\r\n */\r\n public open(): void {\r\n this._applyContainer(this.container);\r\n this.isopen = true;\r\n }\r\n\r\n /**\r\n * Toggle von Dropdown\r\n */\r\n public toggle(): void {\r\n if (this.isopen) {\r\n this.close();\r\n } else {\r\n this.open();\r\n }\r\n }\r\n\r\n // #endregion Public Methods\r\n\r\n // #region Protected Methods\r\n\r\n /**\r\n * Setzt die Position des Men\xFCs im Markup\r\n */\r\n protected _positionMenu() {\r\n const anchor: SacContextmenuAnchorCommon = this._anchor || this._anchorTemplate;\r\n\r\n if (anchor && this._menu) {\r\n positionElements(\r\n anchor.nativeElement,\r\n this.bodyContainer || this._menu.nativeElement,\r\n this.placement,\r\n this.container === 'body'\r\n );\r\n }\r\n }\r\n\r\n // #endregion Protected Methods\r\n\r\n // #region Private Methods\r\n\r\n /**\r\n * Setzt die Position des Men\xFCs innerhalb der Seite. Die Ausrichtung passiert innerhalb der Seite\r\n * damit das Men\xFC innerhalb eines Dialogs sauber funktionioniert.\r\n * @param container Definiert wo das Men\xFC ausgerichtet wird. Im Moment nur BODY Supported\r\n */\r\n private _applyContainer(container: null | 'body' = null) {\r\n // Reset Classes on Container\r\n this._resetContainer();\r\n\r\n if (container === 'body') {\r\n const renderer = this.renderer;\r\n const dropdownMenuElement = this._menu.nativeElement;\r\n const bodyContainer = (this.bodyContainer = this.bodyContainer || renderer.createElement('div'));\r\n\r\n // Override some styles to have the positioning working\r\n renderer.setStyle(bodyContainer, 'position', 'absolute');\r\n renderer.setStyle(dropdownMenuElement, 'position', 'static');\r\n renderer.setStyle(bodyContainer, 'z-index', '1050');\r\n\r\n renderer.appendChild(bodyContainer, dropdownMenuElement);\r\n renderer.appendChild(this.document.body, bodyContainer);\r\n }\r\n }\r\n\r\n /**\r\n * Setzt die CSS Klassen auf dem Men\xFC Container auf den Standard zur\xFCck\r\n */\r\n private _resetContainer() {\r\n const renderer = this.renderer;\r\n if (this._menu) {\r\n const dropdownElement = this.elementRef.nativeElement;\r\n const dropdownMenuElement = this._menu.nativeElement;\r\n\r\n renderer.appendChild(dropdownElement, dropdownMenuElement);\r\n renderer.removeStyle(dropdownMenuElement, 'position');\r\n renderer.removeStyle(dropdownMenuElement, 'transform');\r\n }\r\n if (this.bodyContainer) {\r\n renderer.removeChild(this.document.body, this.bodyContainer);\r\n this.bodyContainer = null;\r\n }\r\n }\r\n\r\n // #endregion Private Methods\r\n}\r\n"]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"5a706bd344f2678a71ed2c368a6bcc9195ac02f8"};var coverage=global[gcv]||(global[gcv]={});if(!coverage[path]||coverage[path].hash!==hash){coverage[path]=coverageData;}var actualCoverage=coverage[path];{// @ts-ignore
2
+ cov_1jr3zne1ii=function(){return actualCoverage;};}return actualCoverage;}cov_1jr3zne1ii();import{SACICON_SERVICE,SacDefaultIconService}from'../../services';import{positionElements}from'../../utilities/positioning';import{SacContextmenuAnchorCommon}from'./contextmenuanchor';import{SacContextMenuContrainerCommon}from'./contextmenucontainer';import{SacContextmenuItemCommon}from'./contextmenuitem';import{DOCUMENT}from'@angular/common';import{ContentChild,ContentChildren,Directive,HostListener,Inject,Input,ViewChild}from'@angular/core';import*as i0 from"@angular/core";/**
9
3
  * Base Context Menü Element. Die Logik wurde aus NG-BOOTSTRAP übernommen.
10
- */
11
- class SacContextmenuCommon {
12
- /**
13
- * HostListener um das Dropdown zu schliessen wenn nicht auf das Element geklickt wird.
14
- */
15
- onClick(targetElement) {
16
- const anchor = this._anchor || this._anchorTemplate;
17
- if (this._menu &&
18
- !this._menu.nativeElement.contains(targetElement) &&
19
- !anchor.nativeElement.contains(targetElement)) {
20
- this.close();
21
- }
22
- }
23
- /**
4
+ */class SacContextmenuCommon{// #endregion Properties
5
+ // #region Constructors
6
+ /**
24
7
  * Konstruktor
25
- * @param _document HTML Document Element
26
- * @param _ngZone Angular Zone Service
27
- * @param _elementRef HTML Element des aktuellen Controls
28
- * @param _renderer Angular Rendering Service
29
- * @param _injector injector to resolve the icon service
30
- */
31
- constructor(_document, _ngZone, _elementRef, _renderer, _injector) {
32
- this._document = _document;
33
- this._ngZone = _ngZone;
34
- this._elementRef = _elementRef;
35
- this._renderer = _renderer;
36
- /**
8
+ * @param document HTML Document Element
9
+ * @param ngZone Angular Zone Service
10
+ * @param elementRef HTML Element des aktuellen Controls
11
+ * @param renderer Angular Rendering Service
12
+ * @param injector injector to resolve the icon service
13
+ */constructor(document,ngZone,elementRef,renderer,injector){cov_1jr3zne1ii().f[0]++;cov_1jr3zne1ii().s[0]++;this.document=document;cov_1jr3zne1ii().s[1]++;this.ngZone=ngZone;cov_1jr3zne1ii().s[2]++;this.elementRef=elementRef;cov_1jr3zne1ii().s[3]++;this.renderer=renderer;/**
37
14
  * Body HTML Element
38
- */
39
- this.bodyContainer = null;
40
- /**
41
- * Definiert ob das Dropdown offen ist.
42
- */
43
- this.isopen = false;
44
- /**
45
- * Extra CSS Klassen für das Control
46
- */
47
- this.cssclass = '';
48
- /**
15
+ */cov_1jr3zne1ii().s[4]++;this.bodyContainer=null;/**
49
16
  * Container an welchem die Position ausgerichtet wird. Aktuell wird nun Body Supported
50
- */
51
- this.container = 'body';
52
- /**
17
+ */cov_1jr3zne1ii().s[5]++;this.container='body';/**
18
+ * Extra CSS Klassen für das Control
19
+ */cov_1jr3zne1ii().s[6]++;this.cssclass='';/**
20
+ * Definiert ob das Dropdown offen ist.
21
+ */cov_1jr3zne1ii().s[7]++;this.isopen=false;/**
53
22
  * The preferred placement of the dropdown.
54
23
  *
55
24
  * Possible values are `"top"`, `"top-left"`, `"top-right"`, `"bottom"`, `"bottom-left"`,
@@ -61,132 +30,35 @@ class SacContextmenuCommon {
61
30
  * The default order of preference is `"bottom-left bottom-right top-left top-right"`
62
31
  *
63
32
  * Please see the [positioning overview](#/positioning) for more details.
64
- */
65
- this.placement = [
66
- 'bottom-left',
67
- 'bottom-right',
68
- 'top-left',
69
- 'top-right',
70
- ];
71
- this.zoneSubscription = this._ngZone.onStable.subscribe(() => {
72
- this._positionMenu();
73
- });
74
- this.iconService = _injector.get(SACICON_SERVICE, new SacDefaultIconService());
75
- }
76
- /**
33
+ */cov_1jr3zne1ii().s[8]++;this.placement=['bottom-left','bottom-right','top-left','top-right'];cov_1jr3zne1ii().s[9]++;this.zoneSubscription=this.ngZone.onStable.subscribe(()=>{cov_1jr3zne1ii().f[1]++;cov_1jr3zne1ii().s[10]++;this._positionMenu();});cov_1jr3zne1ii().s[11]++;this.iconService=injector.get(SACICON_SERVICE,new SacDefaultIconService());}// #endregion Constructors
34
+ // #region Public Getters And Setters
35
+ /**
36
+ * icon for default context menü button
37
+ */get IconContextMenu(){cov_1jr3zne1ii().f[2]++;cov_1jr3zne1ii().s[12]++;return this.iconService.ContextMenuOpenIcon;}// #endregion Public Getters And Setters
38
+ // #region Public Methods
39
+ /**
40
+ * Schliesst das Dropdown
41
+ */close(){cov_1jr3zne1ii().f[3]++;cov_1jr3zne1ii().s[13]++;this._resetContainer();cov_1jr3zne1ii().s[14]++;this.isopen=false;}ngAfterContentInit(){cov_1jr3zne1ii().f[4]++;cov_1jr3zne1ii().s[15]++;this.menuitems.forEach(button=>{cov_1jr3zne1ii().f[5]++;cov_1jr3zne1ii().s[16]++;return button.contextmenu=this;});}/**
77
42
  * Event wenn Component entfernt wird.
78
- */
79
- ngOnDestroy() {
80
- this.zoneSubscription.unsubscribe();
81
- }
82
- /**
83
- * Toggle von Dropdown
84
- */
85
- toggle() {
86
- if (this.isopen) {
87
- this.close();
88
- }
89
- else {
90
- this.open();
91
- }
92
- }
93
- /**
43
+ */ngOnDestroy(){cov_1jr3zne1ii().f[6]++;cov_1jr3zne1ii().s[17]++;if(this.isopen){cov_1jr3zne1ii().b[0][0]++;cov_1jr3zne1ii().s[18]++;this.close();}else{cov_1jr3zne1ii().b[0][1]++;}cov_1jr3zne1ii().s[19]++;this.zoneSubscription.unsubscribe();}/**
44
+ * HostListener um das Dropdown zu schliessen wenn nicht auf das Element geklickt wird.
45
+ */onClick(targetElement){cov_1jr3zne1ii().f[7]++;const anchor=(cov_1jr3zne1ii().s[20]++,(cov_1jr3zne1ii().b[1][0]++,this._anchor)||(cov_1jr3zne1ii().b[1][1]++,this._anchorTemplate));cov_1jr3zne1ii().s[21]++;if((cov_1jr3zne1ii().b[3][0]++,this._menu)&&(cov_1jr3zne1ii().b[3][1]++,!this._menu.nativeElement.contains(targetElement))&&(cov_1jr3zne1ii().b[3][2]++,!anchor.nativeElement.contains(targetElement))){cov_1jr3zne1ii().b[2][0]++;cov_1jr3zne1ii().s[22]++;this.close();}else{cov_1jr3zne1ii().b[2][1]++;}}/**
94
46
  * Öffnet das Dropdown / Zeigt das Menü an.
95
- */
96
- open() {
97
- this._applyContainer(this.container);
98
- this.isopen = true;
99
- }
100
- /**
101
- * Schliesst das Dropdown
102
- */
103
- close() {
104
- this._resetContainer();
105
- this.isopen = false;
106
- }
107
- /**
108
- * icon for default context menü button
109
- */
110
- get IconContextMenu() {
111
- return this.iconService.ContextMenuOpenIcon;
112
- }
113
- /**
47
+ */open(){cov_1jr3zne1ii().f[8]++;cov_1jr3zne1ii().s[23]++;this._applyContainer(this.container);cov_1jr3zne1ii().s[24]++;this.isopen=true;}/**
48
+ * Toggle von Dropdown
49
+ */toggle(){cov_1jr3zne1ii().f[9]++;cov_1jr3zne1ii().s[25]++;if(this.isopen){cov_1jr3zne1ii().b[4][0]++;cov_1jr3zne1ii().s[26]++;this.close();}else{cov_1jr3zne1ii().b[4][1]++;cov_1jr3zne1ii().s[27]++;this.open();}}// #endregion Public Methods
50
+ // #region Protected Methods
51
+ /**
114
52
  * Setzt die Position des Menüs im Markup
115
- */
116
- _positionMenu() {
117
- const anchor = this._anchor || this._anchorTemplate;
118
- if (anchor && this._menu) {
119
- positionElements(anchor.nativeElement, this.bodyContainer || this._menu.nativeElement, this.placement, this.container === 'body');
120
- }
121
- }
122
- /**
123
- * Setzt die CSS Klassen auf dem Menü Container auf den Standard zurück
124
- */
125
- _resetContainer() {
126
- const renderer = this._renderer;
127
- if (this._menu) {
128
- const dropdownElement = this._elementRef.nativeElement;
129
- const dropdownMenuElement = this._menu.nativeElement;
130
- renderer.appendChild(dropdownElement, dropdownMenuElement);
131
- renderer.removeStyle(dropdownMenuElement, 'position');
132
- renderer.removeStyle(dropdownMenuElement, 'transform');
133
- }
134
- if (this.bodyContainer) {
135
- renderer.removeChild(this._document.body, this.bodyContainer);
136
- this.bodyContainer = null;
137
- }
138
- }
139
- /**
53
+ */_positionMenu(){cov_1jr3zne1ii().f[10]++;const anchor=(cov_1jr3zne1ii().s[28]++,(cov_1jr3zne1ii().b[5][0]++,this._anchor)||(cov_1jr3zne1ii().b[5][1]++,this._anchorTemplate));cov_1jr3zne1ii().s[29]++;if((cov_1jr3zne1ii().b[7][0]++,anchor)&&(cov_1jr3zne1ii().b[7][1]++,this._menu)){cov_1jr3zne1ii().b[6][0]++;cov_1jr3zne1ii().s[30]++;positionElements(anchor.nativeElement,(cov_1jr3zne1ii().b[8][0]++,this.bodyContainer)||(cov_1jr3zne1ii().b[8][1]++,this._menu.nativeElement),this.placement,this.container==='body');}else{cov_1jr3zne1ii().b[6][1]++;}}// #endregion Protected Methods
54
+ // #region Private Methods
55
+ /**
140
56
  * Setzt die Position des Menüs innerhalb der Seite. Die Ausrichtung passiert innerhalb der Seite
141
57
  * damit das Menü innerhalb eines Dialogs sauber funktionioniert.
142
58
  * @param container Definiert wo das Menü ausgerichtet wird. Im Moment nur BODY Supported
143
- */
144
- _applyContainer(container = null) {
145
- // Reset Classes on Container
146
- this._resetContainer();
147
- if (container === 'body') {
148
- const renderer = this._renderer;
149
- const dropdownMenuElement = this._menu.nativeElement;
150
- const bodyContainer = (this.bodyContainer =
151
- this.bodyContainer || renderer.createElement('div'));
152
- // Override some styles to have the positioning working
153
- renderer.setStyle(bodyContainer, 'position', 'absolute');
154
- renderer.setStyle(dropdownMenuElement, 'position', 'static');
155
- renderer.setStyle(bodyContainer, 'z-index', '1050');
156
- renderer.appendChild(bodyContainer, dropdownMenuElement);
157
- renderer.appendChild(this._document.body, bodyContainer);
158
- }
159
- }
160
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacContextmenuCommon, deps: [{ token: DOCUMENT }, { token: i0.NgZone }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive }); }
161
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: SacContextmenuCommon, inputs: { isopen: "isopen", cssclass: "cssclass", buttontemplate: "buttontemplate", container: "container", placement: "placement" }, host: { listeners: { "document:click": "onClick($event.target)" } }, queries: [{ propertyName: "_anchorTemplate", first: true, predicate: SacContextmenuAnchorCommon, descendants: true }], viewQueries: [{ propertyName: "_anchor", first: true, predicate: SacContextmenuAnchorCommon, descendants: true }, { propertyName: "_menu", first: true, predicate: SacContextMenuContrainerCommon, descendants: true }], ngImport: i0 }); }
162
- }
163
- export { SacContextmenuCommon };
164
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacContextmenuCommon, decorators: [{
165
- type: Directive
166
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
167
- type: Inject,
168
- args: [DOCUMENT]
169
- }] }, { type: i0.NgZone }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.Injector }]; }, propDecorators: { _anchor: [{
170
- type: ViewChild,
171
- args: [SacContextmenuAnchorCommon, { static: false }]
172
- }], _anchorTemplate: [{
173
- type: ContentChild,
174
- args: [SacContextmenuAnchorCommon, { static: false }]
175
- }], _menu: [{
176
- type: ViewChild,
177
- args: [SacContextMenuContrainerCommon, { static: false }]
178
- }], isopen: [{
179
- type: Input
180
- }], cssclass: [{
181
- type: Input
182
- }], buttontemplate: [{
183
- type: Input
184
- }], container: [{
185
- type: Input
186
- }], placement: [{
187
- type: Input
188
- }], onClick: [{
189
- type: HostListener,
190
- args: ['document:click', ['$event.target']]
191
- }] } });
192
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dG1lbnUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtY29tbW9uL3NyYy9jb250cm9scy9jb250ZXh0bWVudS9jb250ZXh0bWVudS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUNMLFlBQVksRUFDWixTQUFTLEVBRVQsWUFBWSxFQUNaLE1BQU0sRUFFTixLQUFLLEVBS0wsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RSxPQUFPLEVBQWtCLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDL0UsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBRXhFOztHQUVHO0FBQ0gsTUFDYSxvQkFBb0I7SUE2RS9COztPQUVHO0lBS0ksT0FBTyxDQUFDLGFBQWE7UUFDMUIsTUFBTSxNQUFNLEdBQ1YsSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDO1FBRXZDLElBQ0UsSUFBSSxDQUFDLEtBQUs7WUFDVixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUM7WUFDakQsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsRUFDN0M7WUFDQSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDZDtJQUNILENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsWUFDNEIsU0FBYyxFQUNoQyxPQUFlLEVBQ2YsV0FBb0MsRUFDcEMsU0FBb0IsRUFDNUIsU0FBbUI7UUFKTyxjQUFTLEdBQVQsU0FBUyxDQUFLO1FBQ2hDLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFDZixnQkFBVyxHQUFYLFdBQVcsQ0FBeUI7UUFDcEMsY0FBUyxHQUFULFNBQVMsQ0FBVztRQXhHOUI7O1dBRUc7UUFDSyxrQkFBYSxHQUF1QixJQUFJLENBQUM7UUF5QmpEOztXQUVHO1FBRUksV0FBTSxHQUFZLEtBQUssQ0FBQztRQUUvQjs7V0FFRztRQUVJLGFBQVEsR0FBVyxFQUFFLENBQUM7UUFRN0I7O1dBRUc7UUFFSSxjQUFTLEdBQWtCLE1BQU0sQ0FBQztRQUV6Qzs7Ozs7Ozs7Ozs7O1dBWUc7UUFDTSxjQUFTLEdBQW1CO1lBQ25DLGFBQWE7WUFDYixjQUFjO1lBQ2QsVUFBVTtZQUNWLFdBQVc7U0FDWixDQUFDO1FBcUNBLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQzNELElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN2QixDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxXQUFXLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FDOUIsZUFBZSxFQUNmLElBQUkscUJBQXFCLEVBQUUsQ0FDNUIsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNILFdBQVc7UUFDVCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTTtRQUNYLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNmLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUNkO2FBQU07WUFDTCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDYjtJQUNILENBQUM7SUFFRDs7T0FFRztJQUNJLElBQUk7UUFDVCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNyQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztJQUNyQixDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLO1FBQ1YsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsZUFBZTtRQUN4QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsbUJBQW1CLENBQUM7SUFDOUMsQ0FBQztJQUVEOztPQUVHO0lBQ08sYUFBYTtRQUNyQixNQUFNLE1BQU0sR0FDVixJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUM7UUFFdkMsSUFBSSxNQUFNLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUN4QixnQkFBZ0IsQ0FDZCxNQUFNLENBQUMsYUFBYSxFQUNwQixJQUFJLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUM5QyxJQUFJLENBQUMsU0FBUyxFQUNkLElBQUksQ0FBQyxTQUFTLEtBQUssTUFBTSxDQUMxQixDQUFDO1NBQ0g7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSyxlQUFlO1FBQ3JCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDaEMsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2QsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUM7WUFDdkQsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQztZQUVyRCxRQUFRLENBQUMsV0FBVyxDQUFDLGVBQWUsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO1lBQzNELFFBQVEsQ0FBQyxXQUFXLENBQUMsbUJBQW1CLEVBQUUsVUFBVSxDQUFDLENBQUM7WUFDdEQsUUFBUSxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsRUFBRSxXQUFXLENBQUMsQ0FBQztTQUN4RDtRQUNELElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUN0QixRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUM5RCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztTQUMzQjtJQUNILENBQUM7SUFFRDs7OztPQUlHO0lBQ0ssZUFBZSxDQUFDLFlBQTJCLElBQUk7UUFDckQsNkJBQTZCO1FBQzdCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUV2QixJQUFJLFNBQVMsS0FBSyxNQUFNLEVBQUU7WUFDeEIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUNoQyxNQUFNLG1CQUFtQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDO1lBQ3JELE1BQU0sYUFBYSxHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWE7Z0JBQ3ZDLElBQUksQ0FBQyxhQUFhLElBQUksUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBRXZELHVEQUF1RDtZQUN2RCxRQUFRLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7WUFDekQsUUFBUSxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsRUFBRSxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDN0QsUUFBUSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBRXBELFFBQVEsQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLG1CQUFtQixDQUFDLENBQUM7WUFDekQsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxhQUFhLENBQUMsQ0FBQztTQUMxRDtJQUNILENBQUM7K0dBOU5VLG9CQUFvQixrQkEwR3JCLFFBQVE7bUdBMUdQLG9CQUFvQixrUkFtQmpCLDBCQUEwQix5RkFON0IsMEJBQTBCLHdFQVkxQiw4QkFBOEI7O1NBekI5QixvQkFBb0I7NEZBQXBCLG9CQUFvQjtrQkFEaEMsU0FBUzs7MEJBMkdMLE1BQU07MkJBQUMsUUFBUTt5SUE1RlYsT0FBTztzQkFEZCxTQUFTO3VCQUFDLDBCQUEwQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFPaEQsZUFBZTtzQkFEdEIsWUFBWTt1QkFBQywwQkFBMEIsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBT25ELEtBQUs7c0JBRFosU0FBUzt1QkFBQyw4QkFBOEIsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBWXJELE1BQU07c0JBRFosS0FBSztnQkFPQyxRQUFRO3NCQURkLEtBQUs7Z0JBT0MsY0FBYztzQkFEcEIsS0FBSztnQkFPQyxTQUFTO3NCQURmLEtBQUs7Z0JBZ0JHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBY0MsT0FBTztzQkFKYixZQUFZO3VCQUFDLGdCQUFnQixFQUFFLENBQUMsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQge1xyXG4gIENvbnRlbnRDaGlsZCxcclxuICBEaXJlY3RpdmUsXHJcbiAgRWxlbWVudFJlZixcclxuICBIb3N0TGlzdGVuZXIsXHJcbiAgSW5qZWN0LFxyXG4gIEluamVjdG9yLFxyXG4gIElucHV0LFxyXG4gIE5nWm9uZSxcclxuICBPbkRlc3Ryb3ksXHJcbiAgUmVuZGVyZXIyLFxyXG4gIFRlbXBsYXRlUmVmLFxyXG4gIFZpZXdDaGlsZCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IElTYWNJY29uU2VydmljZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSVNhY0ljb25TZXJ2aWNlJztcclxuaW1wb3J0IHsgU0FDSUNPTl9TRVJWSUNFLCBTYWNEZWZhdWx0SWNvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IFBsYWNlbWVudEFycmF5LCBwb3NpdGlvbkVsZW1lbnRzIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL3Bvc2l0aW9uaW5nJztcclxuaW1wb3J0IHsgU2FjQ29udGV4dG1lbnVBbmNob3JDb21tb24gfSBmcm9tICcuL2NvbnRleHRtZW51YW5jaG9yJztcclxuaW1wb3J0IHsgU2FjQ29udGV4dE1lbnVDb250cmFpbmVyQ29tbW9uIH0gZnJvbSAnLi9jb250ZXh0bWVudWNvbnRhaW5lcic7XHJcblxyXG4vKipcclxuICogQmFzZSBDb250ZXh0IE1lbsO8IEVsZW1lbnQuIERpZSBMb2dpayB3dXJkZSBhdXMgTkctQk9PVFNUUkFQIMO8YmVybm9tbWVuLlxyXG4gKi9cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBjbGFzcyBTYWNDb250ZXh0bWVudUNvbW1vbiBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcbiAgLyoqXHJcbiAgICogWm9uZSBTdWJzY3JpcHRpb24gZsO8ciBQb3N0aXRvbmllcnVuZyBkZXMgRWxlbWVudHNcclxuICAgKi9cclxuICBwcml2YXRlIHpvbmVTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcclxuICAvKipcclxuICAgKiBCb2R5IEhUTUwgRWxlbWVudFxyXG4gICAqL1xyXG4gIHByaXZhdGUgYm9keUNvbnRhaW5lcjogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgLyoqXHJcbiAgICogQnV0dG9uIGbDvHIgT3Blbi9DbG9zZSBFdmVudFxyXG4gICAqL1xyXG4gIEBWaWV3Q2hpbGQoU2FjQ29udGV4dG1lbnVBbmNob3JDb21tb24sIHsgc3RhdGljOiBmYWxzZSB9KVxyXG4gIHByaXZhdGUgX2FuY2hvcjogU2FjQ29udGV4dG1lbnVBbmNob3JDb21tb247XHJcblxyXG4gIC8qKlxyXG4gICAqIEJ1dHRvbiBmw7xyIE9wZW4vQ2xvc2UgRXZlbnQgYXVzIFRlbXBsYXRlXHJcbiAgICovXHJcbiAgQENvbnRlbnRDaGlsZChTYWNDb250ZXh0bWVudUFuY2hvckNvbW1vbiwgeyBzdGF0aWM6IGZhbHNlIH0pXHJcbiAgcHJpdmF0ZSBfYW5jaG9yVGVtcGxhdGU6IFNhY0NvbnRleHRtZW51QW5jaG9yQ29tbW9uO1xyXG5cclxuICAvKipcclxuICAgKiBDb250YWluZXIgRWxlbWVudCBmw7xyIERyb3Bkb3duXHJcbiAgICovXHJcbiAgQFZpZXdDaGlsZChTYWNDb250ZXh0TWVudUNvbnRyYWluZXJDb21tb24sIHsgc3RhdGljOiBmYWxzZSB9KVxyXG4gIHByaXZhdGUgX21lbnU6IFNhY0NvbnRleHRNZW51Q29udHJhaW5lckNvbW1vbjtcclxuXHJcbiAgLyoqXHJcbiAgICogaWNvbiBzZXJ2aWNlXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIGljb25TZXJ2aWNlOiBJU2FjSWNvblNlcnZpY2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIERlZmluaWVydCBvYiBkYXMgRHJvcGRvd24gb2ZmZW4gaXN0LlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGlzb3BlbjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBFeHRyYSBDU1MgS2xhc3NlbiBmw7xyIGRhcyBDb250cm9sXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgY3NzY2xhc3M6IHN0cmluZyA9ICcnO1xyXG5cclxuICAvKipcclxuICAgKiBDdXN0b20gSFRNTCBUZW1wbGF0ZSBmw7xyIERyb3Bkb3duIEJ1dHRvbi4gQnV0dG9uIG11c3MgZGVuIE1hcmtlciBcIm5nQ29udGV4dG1lbnVBbmNob3JcIiBiZWluaGFsdGVuLCBkYW1pdCBkYXMgQ29udHJvbCBrb3JyZWt0IGZ1bmt0aW9uaWVydC5cclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBidXR0b250ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgLyoqXHJcbiAgICogQ29udGFpbmVyIGFuIHdlbGNoZW0gZGllIFBvc2l0aW9uIGF1c2dlcmljaHRldCB3aXJkLiBBa3R1ZWxsIHdpcmQgbnVuIEJvZHkgU3VwcG9ydGVkXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgY29udGFpbmVyOiBudWxsIHwgJ2JvZHknID0gJ2JvZHknO1xyXG5cclxuICAvKipcclxuICAgKiBUaGUgcHJlZmVycmVkIHBsYWNlbWVudCBvZiB0aGUgZHJvcGRvd24uXHJcbiAgICpcclxuICAgKiBQb3NzaWJsZSB2YWx1ZXMgYXJlIGBcInRvcFwiYCwgYFwidG9wLWxlZnRcImAsIGBcInRvcC1yaWdodFwiYCwgYFwiYm90dG9tXCJgLCBgXCJib3R0b20tbGVmdFwiYCxcclxuICAgKiBgXCJib3R0b20tcmlnaHRcImAsIGBcImxlZnRcImAsIGBcImxlZnQtdG9wXCJgLCBgXCJsZWZ0LWJvdHRvbVwiYCwgYFwicmlnaHRcImAsIGBcInJpZ2h0LXRvcFwiYCxcclxuICAgKiBgXCJyaWdodC1ib3R0b21cImBcclxuICAgKlxyXG4gICAqIEFjY2VwdHMgYW4gYXJyYXkgb2Ygc3RyaW5ncyBvciBhIHN0cmluZyB3aXRoIHNwYWNlIHNlcGFyYXRlZCBwb3NzaWJsZSB2YWx1ZXMuXHJcbiAgICpcclxuICAgKiBUaGUgZGVmYXVsdCBvcmRlciBvZiBwcmVmZXJlbmNlIGlzIGBcImJvdHRvbS1sZWZ0IGJvdHRvbS1yaWdodCB0b3AtbGVmdCB0b3AtcmlnaHRcImBcclxuICAgKlxyXG4gICAqIFBsZWFzZSBzZWUgdGhlIFtwb3NpdGlvbmluZyBvdmVydmlld10oIy9wb3NpdGlvbmluZykgZm9yIG1vcmUgZGV0YWlscy5cclxuICAgKi9cclxuICBASW5wdXQoKSBwbGFjZW1lbnQ6IFBsYWNlbWVudEFycmF5ID0gW1xyXG4gICAgJ2JvdHRvbS1sZWZ0JyxcclxuICAgICdib3R0b20tcmlnaHQnLFxyXG4gICAgJ3RvcC1sZWZ0JyxcclxuICAgICd0b3AtcmlnaHQnLFxyXG4gIF07XHJcblxyXG4gIC8qKlxyXG4gICAqIEhvc3RMaXN0ZW5lciB1bSBkYXMgRHJvcGRvd24genUgc2NobGllc3NlbiB3ZW5uIG5pY2h0IGF1ZiBkYXMgRWxlbWVudCBnZWtsaWNrdCB3aXJkLlxyXG4gICAqL1xyXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJywgWyckZXZlbnQudGFyZ2V0J10pXHJcbiAgLyoqXHJcbiAgICogQ2xpY2sgRXZlbnRcclxuICAgKi9cclxuICBwdWJsaWMgb25DbGljayh0YXJnZXRFbGVtZW50KSB7XHJcbiAgICBjb25zdCBhbmNob3I6IFNhY0NvbnRleHRtZW51QW5jaG9yQ29tbW9uID1cclxuICAgICAgdGhpcy5fYW5jaG9yIHx8IHRoaXMuX2FuY2hvclRlbXBsYXRlO1xyXG5cclxuICAgIGlmIChcclxuICAgICAgdGhpcy5fbWVudSAmJlxyXG4gICAgICAhdGhpcy5fbWVudS5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKHRhcmdldEVsZW1lbnQpICYmXHJcbiAgICAgICFhbmNob3IubmF0aXZlRWxlbWVudC5jb250YWlucyh0YXJnZXRFbGVtZW50KVxyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMuY2xvc2UoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEtvbnN0cnVrdG9yXHJcbiAgICogQHBhcmFtIF9kb2N1bWVudCBIVE1MIERvY3VtZW50IEVsZW1lbnRcclxuICAgKiBAcGFyYW0gX25nWm9uZSBBbmd1bGFyIFpvbmUgU2VydmljZVxyXG4gICAqIEBwYXJhbSBfZWxlbWVudFJlZiBIVE1MIEVsZW1lbnQgZGVzIGFrdHVlbGxlbiBDb250cm9sc1xyXG4gICAqIEBwYXJhbSBfcmVuZGVyZXIgQW5ndWxhciBSZW5kZXJpbmcgU2VydmljZVxyXG4gICAqIEBwYXJhbSBfaW5qZWN0b3IgaW5qZWN0b3IgdG8gcmVzb2x2ZSB0aGUgaWNvbiBzZXJ2aWNlXHJcbiAgICovXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIF9kb2N1bWVudDogYW55LFxyXG4gICAgcHJpdmF0ZSBfbmdab25lOiBOZ1pvbmUsXHJcbiAgICBwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcclxuICAgIHByaXZhdGUgX3JlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICBfaW5qZWN0b3I6IEluamVjdG9yXHJcbiAgKSB7XHJcbiAgICB0aGlzLnpvbmVTdWJzY3JpcHRpb24gPSB0aGlzLl9uZ1pvbmUub25TdGFibGUuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgdGhpcy5fcG9zaXRpb25NZW51KCk7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLmljb25TZXJ2aWNlID0gX2luamVjdG9yLmdldChcclxuICAgICAgU0FDSUNPTl9TRVJWSUNFLFxyXG4gICAgICBuZXcgU2FjRGVmYXVsdEljb25TZXJ2aWNlKClcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBFdmVudCB3ZW5uIENvbXBvbmVudCBlbnRmZXJudCB3aXJkLlxyXG4gICAqL1xyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy56b25lU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBUb2dnbGUgdm9uIERyb3Bkb3duXHJcbiAgICovXHJcbiAgcHVibGljIHRvZ2dsZSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmlzb3Blbikge1xyXG4gICAgICB0aGlzLmNsb3NlKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLm9wZW4oKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIMOWZmZuZXQgZGFzIERyb3Bkb3duIC8gWmVpZ3QgZGFzIE1lbsO8IGFuLlxyXG4gICAqL1xyXG4gIHB1YmxpYyBvcGVuKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fYXBwbHlDb250YWluZXIodGhpcy5jb250YWluZXIpO1xyXG4gICAgdGhpcy5pc29wZW4gPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2NobGllc3N0IGRhcyBEcm9wZG93blxyXG4gICAqL1xyXG4gIHB1YmxpYyBjbG9zZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3Jlc2V0Q29udGFpbmVyKCk7XHJcbiAgICB0aGlzLmlzb3BlbiA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogaWNvbiBmb3IgZGVmYXVsdCBjb250ZXh0IG1lbsO8IGJ1dHRvblxyXG4gICAqL1xyXG4gIHB1YmxpYyBnZXQgSWNvbkNvbnRleHRNZW51KCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5pY29uU2VydmljZS5Db250ZXh0TWVudU9wZW5JY29uO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2V0enQgZGllIFBvc2l0aW9uIGRlcyBNZW7DvHMgaW0gTWFya3VwXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIF9wb3NpdGlvbk1lbnUoKSB7XHJcbiAgICBjb25zdCBhbmNob3I6IFNhY0NvbnRleHRtZW51QW5jaG9yQ29tbW9uID1cclxuICAgICAgdGhpcy5fYW5jaG9yIHx8IHRoaXMuX2FuY2hvclRlbXBsYXRlO1xyXG5cclxuICAgIGlmIChhbmNob3IgJiYgdGhpcy5fbWVudSkge1xyXG4gICAgICBwb3NpdGlvbkVsZW1lbnRzKFxyXG4gICAgICAgIGFuY2hvci5uYXRpdmVFbGVtZW50LFxyXG4gICAgICAgIHRoaXMuYm9keUNvbnRhaW5lciB8fCB0aGlzLl9tZW51Lm5hdGl2ZUVsZW1lbnQsXHJcbiAgICAgICAgdGhpcy5wbGFjZW1lbnQsXHJcbiAgICAgICAgdGhpcy5jb250YWluZXIgPT09ICdib2R5J1xyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2V0enQgZGllIENTUyBLbGFzc2VuIGF1ZiBkZW0gTWVuw7wgQ29udGFpbmVyIGF1ZiBkZW4gU3RhbmRhcmQgenVyw7xja1xyXG4gICAqL1xyXG4gIHByaXZhdGUgX3Jlc2V0Q29udGFpbmVyKCkge1xyXG4gICAgY29uc3QgcmVuZGVyZXIgPSB0aGlzLl9yZW5kZXJlcjtcclxuICAgIGlmICh0aGlzLl9tZW51KSB7XHJcbiAgICAgIGNvbnN0IGRyb3Bkb3duRWxlbWVudCA9IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcclxuICAgICAgY29uc3QgZHJvcGRvd25NZW51RWxlbWVudCA9IHRoaXMuX21lbnUubmF0aXZlRWxlbWVudDtcclxuXHJcbiAgICAgIHJlbmRlcmVyLmFwcGVuZENoaWxkKGRyb3Bkb3duRWxlbWVudCwgZHJvcGRvd25NZW51RWxlbWVudCk7XHJcbiAgICAgIHJlbmRlcmVyLnJlbW92ZVN0eWxlKGRyb3Bkb3duTWVudUVsZW1lbnQsICdwb3NpdGlvbicpO1xyXG4gICAgICByZW5kZXJlci5yZW1vdmVTdHlsZShkcm9wZG93bk1lbnVFbGVtZW50LCAndHJhbnNmb3JtJyk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5ib2R5Q29udGFpbmVyKSB7XHJcbiAgICAgIHJlbmRlcmVyLnJlbW92ZUNoaWxkKHRoaXMuX2RvY3VtZW50LmJvZHksIHRoaXMuYm9keUNvbnRhaW5lcik7XHJcbiAgICAgIHRoaXMuYm9keUNvbnRhaW5lciA9IG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXR6dCBkaWUgUG9zaXRpb24gZGVzIE1lbsO8cyBpbm5lcmhhbGIgZGVyIFNlaXRlLiBEaWUgQXVzcmljaHR1bmcgcGFzc2llcnQgaW5uZXJoYWxiIGRlciBTZWl0ZVxyXG4gICAqIGRhbWl0IGRhcyBNZW7DvCBpbm5lcmhhbGIgZWluZXMgRGlhbG9ncyBzYXViZXIgZnVua3Rpb25pb25pZXJ0LlxyXG4gICAqIEBwYXJhbSBjb250YWluZXIgRGVmaW5pZXJ0IHdvIGRhcyBNZW7DvCBhdXNnZXJpY2h0ZXQgd2lyZC4gSW0gTW9tZW50IG51ciBCT0RZIFN1cHBvcnRlZFxyXG4gICAqL1xyXG4gIHByaXZhdGUgX2FwcGx5Q29udGFpbmVyKGNvbnRhaW5lcjogbnVsbCB8ICdib2R5JyA9IG51bGwpIHtcclxuICAgIC8vIFJlc2V0IENsYXNzZXMgb24gQ29udGFpbmVyXHJcbiAgICB0aGlzLl9yZXNldENvbnRhaW5lcigpO1xyXG5cclxuICAgIGlmIChjb250YWluZXIgPT09ICdib2R5Jykge1xyXG4gICAgICBjb25zdCByZW5kZXJlciA9IHRoaXMuX3JlbmRlcmVyO1xyXG4gICAgICBjb25zdCBkcm9wZG93bk1lbnVFbGVtZW50ID0gdGhpcy5fbWVudS5uYXRpdmVFbGVtZW50O1xyXG4gICAgICBjb25zdCBib2R5Q29udGFpbmVyID0gKHRoaXMuYm9keUNvbnRhaW5lciA9XHJcbiAgICAgICAgdGhpcy5ib2R5Q29udGFpbmVyIHx8IHJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2RpdicpKTtcclxuXHJcbiAgICAgIC8vIE92ZXJyaWRlIHNvbWUgc3R5bGVzIHRvIGhhdmUgdGhlIHBvc2l0aW9uaW5nIHdvcmtpbmdcclxuICAgICAgcmVuZGVyZXIuc2V0U3R5bGUoYm9keUNvbnRhaW5lciwgJ3Bvc2l0aW9uJywgJ2Fic29sdXRlJyk7XHJcbiAgICAgIHJlbmRlcmVyLnNldFN0eWxlKGRyb3Bkb3duTWVudUVsZW1lbnQsICdwb3NpdGlvbicsICdzdGF0aWMnKTtcclxuICAgICAgcmVuZGVyZXIuc2V0U3R5bGUoYm9keUNvbnRhaW5lciwgJ3otaW5kZXgnLCAnMTA1MCcpO1xyXG5cclxuICAgICAgcmVuZGVyZXIuYXBwZW5kQ2hpbGQoYm9keUNvbnRhaW5lciwgZHJvcGRvd25NZW51RWxlbWVudCk7XHJcbiAgICAgIHJlbmRlcmVyLmFwcGVuZENoaWxkKHRoaXMuX2RvY3VtZW50LmJvZHksIGJvZHlDb250YWluZXIpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
59
+ */_applyContainer(container=(cov_1jr3zne1ii().b[9][0]++,null)){cov_1jr3zne1ii().f[11]++;cov_1jr3zne1ii().s[31]++;// Reset Classes on Container
60
+ this._resetContainer();cov_1jr3zne1ii().s[32]++;if(container==='body'){cov_1jr3zne1ii().b[10][0]++;const renderer=(cov_1jr3zne1ii().s[33]++,this.renderer);const dropdownMenuElement=(cov_1jr3zne1ii().s[34]++,this._menu.nativeElement);const bodyContainer=(cov_1jr3zne1ii().s[35]++,this.bodyContainer=(cov_1jr3zne1ii().b[11][0]++,this.bodyContainer)||(cov_1jr3zne1ii().b[11][1]++,renderer.createElement('div')));// Override some styles to have the positioning working
61
+ cov_1jr3zne1ii().s[36]++;renderer.setStyle(bodyContainer,'position','absolute');cov_1jr3zne1ii().s[37]++;renderer.setStyle(dropdownMenuElement,'position','static');cov_1jr3zne1ii().s[38]++;renderer.setStyle(bodyContainer,'z-index','1050');cov_1jr3zne1ii().s[39]++;renderer.appendChild(bodyContainer,dropdownMenuElement);cov_1jr3zne1ii().s[40]++;renderer.appendChild(this.document.body,bodyContainer);}else{cov_1jr3zne1ii().b[10][1]++;}}/**
62
+ * Setzt die CSS Klassen auf dem Menü Container auf den Standard zurück
63
+ */_resetContainer(){cov_1jr3zne1ii().f[12]++;const renderer=(cov_1jr3zne1ii().s[41]++,this.renderer);cov_1jr3zne1ii().s[42]++;if(this._menu){cov_1jr3zne1ii().b[12][0]++;const dropdownElement=(cov_1jr3zne1ii().s[43]++,this.elementRef.nativeElement);const dropdownMenuElement=(cov_1jr3zne1ii().s[44]++,this._menu.nativeElement);cov_1jr3zne1ii().s[45]++;renderer.appendChild(dropdownElement,dropdownMenuElement);cov_1jr3zne1ii().s[46]++;renderer.removeStyle(dropdownMenuElement,'position');cov_1jr3zne1ii().s[47]++;renderer.removeStyle(dropdownMenuElement,'transform');}else{cov_1jr3zne1ii().b[12][1]++;}cov_1jr3zne1ii().s[48]++;if(this.bodyContainer){cov_1jr3zne1ii().b[13][0]++;cov_1jr3zne1ii().s[49]++;renderer.removeChild(this.document.body,this.bodyContainer);cov_1jr3zne1ii().s[50]++;this.bodyContainer=null;}else{cov_1jr3zne1ii().b[13][1]++;}}static{cov_1jr3zne1ii().s[51]++;this.ɵfac=i0.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"16.2.12",ngImport:i0,type:SacContextmenuCommon,deps:[{token:DOCUMENT},{token:i0.NgZone},{token:i0.ElementRef},{token:i0.Renderer2},{token:i0.Injector}],target:i0.ɵɵFactoryTarget.Directive});}static{cov_1jr3zne1ii().s[52]++;this.ɵdir=i0.ɵɵngDeclareDirective({minVersion:"14.0.0",version:"16.2.12",type:SacContextmenuCommon,inputs:{buttontemplate:"buttontemplate",container:"container",cssclass:"cssclass",isopen:"isopen",placement:"placement"},host:{listeners:{"document:click":"onClick($event.target)"}},queries:[{propertyName:"_anchorTemplate",first:true,predicate:SacContextmenuAnchorCommon,descendants:true},{propertyName:"menuitems",predicate:SacContextmenuItemCommon}],viewQueries:[{propertyName:"_anchor",first:true,predicate:SacContextmenuAnchorCommon,descendants:true},{propertyName:"_menu",first:true,predicate:SacContextMenuContrainerCommon,descendants:true}],ngImport:i0});}}export{SacContextmenuCommon};cov_1jr3zne1ii().s[53]++;i0.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"16.2.12",ngImport:i0,type:SacContextmenuCommon,decorators:[{type:Directive}],ctorParameters:function(){cov_1jr3zne1ii().f[13]++;cov_1jr3zne1ii().s[54]++;return[{type:undefined,decorators:[{type:Inject,args:[DOCUMENT]}]},{type:i0.NgZone},{type:i0.ElementRef},{type:i0.Renderer2},{type:i0.Injector}];},propDecorators:{_anchor:[{type:ViewChild,args:[SacContextmenuAnchorCommon,{static:false}]}],_anchorTemplate:[{type:ContentChild,args:[SacContextmenuAnchorCommon,{static:false}]}],_menu:[{type:ViewChild,args:[SacContextMenuContrainerCommon,{static:false}]}],buttontemplate:[{type:Input}],container:[{type:Input}],cssclass:[{type:Input}],isopen:[{type:Input}],menuitems:[{type:ContentChildren,args:[SacContextmenuItemCommon]}],placement:[{type:Input}],onClick:[{type:HostListener,args:['document:click',['$event.target']]}]}});//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dG1lbnUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtY29tbW9uL3NyYy9jb250cm9scy9jb250ZXh0bWVudS9jb250ZXh0bWVudS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsZUFBZSxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEUsT0FBTyxFQUFrQixnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRS9FLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzdELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBRUgsWUFBWSxFQUNaLGVBQWUsRUFDZixTQUFTLEVBRVQsWUFBWSxFQUNaLE1BQU0sRUFFTixLQUFLLEVBTUwsU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDOztBQUd2Qjs7R0FFRztBQUNILE1BQ2Esb0JBQW9CO0lBaUY3Qix3QkFBd0I7SUFFeEIsdUJBQXVCO0lBRXZCOzs7Ozs7O09BT0c7SUFDSCxZQUN1QyxRQUFhLEVBQy9CLE1BQWMsRUFDZCxVQUFtQyxFQUNuQyxRQUFtQixFQUNwQyxRQUFrQjtRQUppQixhQUFRLEdBQVIsUUFBUSxDQUFLO1FBQy9CLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxlQUFVLEdBQVYsVUFBVSxDQUF5QjtRQUNuQyxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBdkV4Qzs7V0FFRztRQUNLLGtCQUFhLEdBQXVCLElBQUksQ0FBQztRQWFqRDs7V0FFRztRQUVJLGNBQVMsR0FBa0IsTUFBTSxDQUFDO1FBRXpDOztXQUVHO1FBRUksYUFBUSxHQUFXLEVBQUUsQ0FBQztR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LG1CQUFtQixFQUFFLFdBQVcsQ0FBQyxDQUFDO1NBQzFEO1FBQ0QsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3BCLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQzdELElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1NBQzdCO0lBQ0wsQ0FBQzsrR0F4UFEsb0JBQW9CLGtCQThGakIsUUFBUTttR0E5Rlgsb0JBQW9CLGtSQVlmLDBCQUEwQiwrREFtRHZCLHdCQUF3QixzRUF6RDlCLDBCQUEwQix3RUFZMUIsOEJBQThCOztTQWxCaEMsb0JBQW9COzRGQUFwQixvQkFBb0I7a0JBRGhDLFNBQVM7OzBCQStGRCxNQUFNOzJCQUFDLFFBQVE7eUlBdkZILE9BQU87c0JBRHZCLFNBQVM7dUJBQUMsMEJBQTBCLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQU92QyxlQUFlO3NCQUQvQixZQUFZO3VCQUFDLDBCQUEwQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFPMUMsS0FBSztzQkFEckIsU0FBUzt1QkFBQyw4QkFBOEIsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBc0JyRCxjQUFjO3NCQURwQixLQUFLO2dCQU9DLFNBQVM7c0JBRGYsS0FBSztnQkFPQyxRQUFRO3NCQURkLEtBQUs7Z0JBT0MsTUFBTTtzQkFEWixLQUFLO2dCQU9DLFNBQVM7c0JBRGYsZUFBZTt1QkFBQyx3QkFBd0I7Z0JBZ0J6QixTQUFTO3NCQUF4QixLQUFLO2dCQXlFQyxPQUFPO3NCQUpiLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxlQUFlLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJU2FjSWNvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lTYWNJY29uU2VydmljZSc7XHJcbmltcG9ydCB7IFNBQ0lDT05fU0VSVklDRSwgU2FjRGVmYXVsdEljb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xyXG5pbXBvcnQgeyBQbGFjZW1lbnRBcnJheSwgcG9zaXRpb25FbGVtZW50cyB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9wb3NpdGlvbmluZyc7XHJcbmltcG9ydCB7IElTYWNDb250ZXh0bWVudUNvbW1vbiB9IGZyb20gJy4vY29udGV4dG1lbnUuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgU2FjQ29udGV4dG1lbnVBbmNob3JDb21tb24gfSBmcm9tICcuL2NvbnRleHRtZW51YW5jaG9yJztcclxuaW1wb3J0IHsgU2FjQ29udGV4dE1lbnVDb250cmFpbmVyQ29tbW9uIH0gZnJvbSAnLi9jb250ZXh0bWVudWNvbnRhaW5lcic7XHJcbmltcG9ydCB7IFNhY0NvbnRleHRtZW51SXRlbUNvbW1vbiB9IGZyb20gJy4vY29udGV4dG1lbnVpdGVtJztcclxuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQge1xyXG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcclxuICAgIENvbnRlbnRDaGlsZCxcclxuICAgIENvbnRlbnRDaGlsZHJlbixcclxuICAgIERpcmVjdGl2ZSxcclxuICAgIEVsZW1lbnRSZWYsXHJcbiAgICBIb3N0TGlzdGVuZXIsXHJcbiAgICBJbmplY3QsXHJcbiAgICBJbmplY3RvcixcclxuICAgIElucHV0LFxyXG4gICAgTmdab25lLFxyXG4gICAgT25EZXN0cm95LFxyXG4gICAgUXVlcnlMaXN0LFxyXG4gICAgUmVuZGVyZXIyLFxyXG4gICAgVGVtcGxhdGVSZWYsXHJcbiAgICBWaWV3Q2hpbGQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5cclxuLyoqXHJcbiAqIEJhc2UgQ29udGV4dCBNZW7DvCBFbGVtZW50LiBEaWUgTG9naWsgd3VyZGUgYXVzIE5HLUJPT1RTVFJBUCDDvGJlcm5vbW1lbi5cclxuICovXHJcbkBEaXJlY3RpdmUoKVxyXG5leHBvcnQgY2xhc3MgU2FjQ29udGV4dG1lbnVDb21tb24gaW1wbGVtZW50cyBJU2FjQ29udGV4dG1lbnVDb21tb24sIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveSB7XHJcbiAgICAvLyAjcmVnaW9uIFByb3BlcnRpZXNcclxuXHJcbiAgICAvKipcclxuICAgICAqIEJ1dHRvbiBmw7xyIE9wZW4vQ2xvc2UgRXZlbnRcclxuICAgICAqL1xyXG4gICAgQFZpZXdDaGlsZChTYWNDb250ZXh0bWVudUFuY2hvckNvbW1vbiwgeyBzdGF0aWM6IGZhbHNlIH0pXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9hbmNob3I6IFNhY0NvbnRleHRtZW51QW5jaG9yQ29tbW9uO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQnV0dG9uIGbDvHIgT3Blbi9DbG9zZSBFdmVudCBhdXMgVGVtcGxhdGVcclxuICAgICAqL1xyXG4gICAgQENvbnRlbnRDaGlsZChTYWNDb250ZXh0bWVudUFuY2hvckNvbW1vbiwgeyBzdGF0aWM6IGZhbHNlIH0pXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9hbmNob3JUZW1wbGF0ZTogU2FjQ29udGV4dG1lbnVBbmNob3JDb21tb247XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDb250YWluZXIgRWxlbWVudCBmw7xyIERyb3Bkb3duXHJcbiAgICAgKi9cclxuICAgIEBWaWV3Q2hpbGQoU2FjQ29udGV4dE1lbnVDb250cmFpbmVyQ29tbW9uLCB7IHN0YXRpYzogZmFsc2UgfSlcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgX21lbnU6IFNhY0NvbnRleHRNZW51Q29udHJhaW5lckNvbW1vbjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFpvbmUgU3Vic2NyaXB0aW9uIGbDvHIgUG9zdGl0b25pZXJ1bmcgZGVzIEVsZW1lbnRzXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgcmVhZG9ubHkgem9uZVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQm9keSBIVE1MIEVsZW1lbnRcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBib2R5Q29udGFpbmVyOiBIVE1MRWxlbWVudCB8IG51bGwgPSBudWxsO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogaWNvbiBzZXJ2aWNlXHJcbiAgICAgKi9cclxuICAgIHByb3RlY3RlZCBpY29uU2VydmljZTogSVNhY0ljb25TZXJ2aWNlO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ3VzdG9tIEhUTUwgVGVtcGxhdGUgZsO8ciBEcm9wZG93biBCdXR0b24uIEJ1dHRvbiBtdXNzIGRlbiBNYXJrZXIgXCJuZ0NvbnRleHRtZW51QW5jaG9yXCIgYmVpbmhhbHRlbiwgZGFtaXQgZGFzIENvbnRyb2wga29ycmVrdCBmdW5rdGlvbmllcnQuXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgYnV0dG9udGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDb250YWluZXIgYW4gd2VsY2hlbSBkaWUgUG9zaXRpb24gYXVzZ2VyaWNodGV0IHdpcmQuIEFrdHVlbGwgd2lyZCBudW4gQm9keSBTdXBwb3J0ZWRcclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBjb250YWluZXI6IG51bGwgfCAnYm9keScgPSAnYm9keSc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBFeHRyYSBDU1MgS2xhc3NlbiBmw7xyIGRhcyBDb250cm9sXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgY3NzY2xhc3M6IHN0cmluZyA9ICcnO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogRGVmaW5pZXJ0IG9iIGRhcyBEcm9wZG93biBvZmZlbiBpc3QuXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgaXNvcGVuOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBBbGwgZGlyZWN0bHkgYXNzaWduZWQgY29udGV4dCBtZW51IGVsZW1lbnRzIHRoYXQgYXJlIGRlZmluZWQgaW4gdGhlIGRpcmVjdCB0ZW1wbGF0ZSBmb3IgdGhlIGNvbnRleHQgbWVudS5cclxuICAgICAqL1xyXG4gICAgQENvbnRlbnRDaGlsZHJlbihTYWNDb250ZXh0bWVudUl0ZW1Db21tb24pXHJcbiAgICBwdWJsaWMgbWVudWl0ZW1zITogUXVlcnlMaXN0PFNhY0NvbnRleHRtZW51SXRlbUNvbW1vbj47XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgcHJlZmVycmVkIHBsYWNlbWVudCBvZiB0aGUgZHJvcGRvd24uXHJcbiAgICAgKlxyXG4gICAgICogUG9zc2libGUgdmFsdWVzIGFyZSBgXCJ0b3BcImAsIGBcInRvcC1sZWZ0XCJgLCBgXCJ0b3AtcmlnaHRcImAsIGBcImJvdHRvbVwiYCwgYFwiYm90dG9tLWxlZnRcImAsXHJcbiAgICAgKiBgXCJib3R0b20tcmlnaHRcImAsIGBcImxlZnRcImAsIGBcImxlZnQtdG9wXCJgLCBgXCJsZWZ0LWJvdHRvbVwiYCwgYFwicmlnaHRcImAsIGBcInJpZ2h0LXRvcFwiYCxcclxuICAgICAqIGBcInJpZ2h0LWJvdHRvbVwiYFxyXG4gICAgICpcclxuICAgICAqIEFjY2VwdHMgYW4gYXJyYXkgb2Ygc3RyaW5ncyBvciBhIHN0cmluZyB3aXRoIHNwYWNlIHNlcGFyYXRlZCBwb3NzaWJsZSB2YWx1ZXMuXHJcbiAgICAgKlxyXG4gICAgICogVGhlIGRlZmF1bHQgb3JkZXIgb2YgcHJlZmVyZW5jZSBpcyBgXCJib3R0b20tbGVmdCBib3R0b20tcmlnaHQgdG9wLWxlZnQgdG9wLXJpZ2h0XCJgXHJcbiAgICAgKlxyXG4gICAgICogUGxlYXNlIHNlZSB0aGUgW3Bvc2l0aW9uaW5nIG92ZXJ2aWV3XSgjL3Bvc2l0aW9uaW5nKSBmb3IgbW9yZSBkZXRhaWxzLlxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBwdWJsaWMgcGxhY2VtZW50OiBQbGFjZW1lbnRBcnJheSA9IFsnYm90dG9tLWxlZnQnLCAnYm90dG9tLXJpZ2h0JywgJ3RvcC1sZWZ0JywgJ3RvcC1yaWdodCddO1xyXG5cclxuICAgIC8vICNlbmRyZWdpb24gUHJvcGVydGllc1xyXG5cclxuICAgIC8vICNyZWdpb24gQ29uc3RydWN0b3JzXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBLb25zdHJ1a3RvclxyXG4gICAgICogQHBhcmFtIGRvY3VtZW50IEhUTUwgRG9jdW1lbnQgRWxlbWVudFxyXG4gICAgICogQHBhcmFtIG5nWm9uZSBBbmd1bGFyIFpvbmUgU2VydmljZVxyXG4gICAgICogQHBhcmFtIGVsZW1lbnRSZWYgSFRNTCBFbGVtZW50IGRlcyBha3R1ZWxsZW4gQ29udHJvbHNcclxuICAgICAqIEBwYXJhbSByZW5kZXJlciBBbmd1bGFyIFJlbmRlcmluZyBTZXJ2aWNlXHJcbiAgICAgKiBAcGFyYW0gaW5qZWN0b3IgaW5qZWN0b3IgdG8gcmVzb2x2ZSB0aGUgaWNvbiBzZXJ2aWNlXHJcbiAgICAgKi9cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnQ6IGFueSxcclxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IG5nWm9uZTogTmdab25lLFxyXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXHJcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgICAgIGluamVjdG9yOiBJbmplY3RvclxyXG4gICAgKSB7XHJcbiAgICAgICAgdGhpcy56b25lU3Vic2NyaXB0aW9uID0gdGhpcy5uZ1pvbmUub25TdGFibGUuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5fcG9zaXRpb25NZW51KCk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRoaXMuaWNvblNlcnZpY2UgPSBpbmplY3Rvci5nZXQoU0FDSUNPTl9TRVJWSUNFLCBuZXcgU2FjRGVmYXVsdEljb25TZXJ2aWNlKCkpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vICNlbmRyZWdpb24gQ29uc3RydWN0b3JzXHJcblxyXG4gICAgLy8gI3JlZ2lvbiBQdWJsaWMgR2V0dGVycyBBbmQgU2V0dGVyc1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogaWNvbiBmb3IgZGVmYXVsdCBjb250ZXh0IG1lbsO8IGJ1dHRvblxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0IEljb25Db250ZXh0TWVudSgpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmljb25TZXJ2aWNlLkNvbnRleHRNZW51T3Blbkljb247XHJcbiAgICB9XHJcblxyXG4gICAgLy8gI2VuZHJlZ2lvbiBQdWJsaWMgR2V0dGVycyBBbmQgU2V0dGVyc1xyXG5cclxuICAgIC8vICNyZWdpb24gUHVibGljIE1ldGhvZHNcclxuXHJcbiAgICAvKipcclxuICAgICAqIFNjaGxpZXNzdCBkYXMgRHJvcGRvd25cclxuICAgICAqL1xyXG4gICAgcHVibGljIGNsb3NlKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3Jlc2V0Q29udGFpbmVyKCk7XHJcbiAgICAgICAgdGhpcy5pc29wZW4gPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMubWVudWl0ZW1zLmZvckVhY2goKGJ1dHRvbikgPT4gKGJ1dHRvbi5jb250ZXh0bWVudSA9IHRoaXMpKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEV2ZW50IHdlbm4gQ29tcG9uZW50IGVudGZlcm50IHdpcmQuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5pc29wZW4pIHtcclxuICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy56b25lU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBIb3N0TGlzdGVuZXIgdW0gZGFzIERyb3Bkb3duIHp1IHNjaGxpZXNzZW4gd2VubiBuaWNodCBhdWYgZGFzIEVsZW1lbnQgZ2VrbGlja3Qgd2lyZC5cclxuICAgICAqL1xyXG4gICAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6Y2xpY2snLCBbJyRldmVudC50YXJnZXQnXSlcclxuICAgIC8qKlxyXG4gICAgICogQ2xpY2sgRXZlbnRcclxuICAgICAqL1xyXG4gICAgcHVibGljIG9uQ2xpY2sodGFyZ2V0RWxlbWVudCkge1xyXG4gICAgICAgIGNvbnN0IGFuY2hvcjogU2FjQ29udGV4dG1lbnVBbmNob3JDb21tb24gPSB0aGlzLl9hbmNob3IgfHwgdGhpcy5fYW5jaG9yVGVtcGxhdGU7XHJcblxyXG4gICAgICAgIGlmIChcclxuICAgICAgICAgICAgdGhpcy5fbWVudSAmJlxyXG4gICAgICAgICAgICAhdGhpcy5fbWVudS5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKHRhcmdldEVsZW1lbnQpICYmXHJcbiAgICAgICAgICAgICFhbmNob3IubmF0aXZlRWxlbWVudC5jb250YWlucyh0YXJnZXRFbGVtZW50KVxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogw5ZmZm5ldCBkYXMgRHJvcGRvd24gLyBaZWlndCBkYXMgTWVuw7wgYW4uXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBvcGVuKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX2FwcGx5Q29udGFpbmVyKHRoaXMuY29udGFpbmVyKTtcclxuICAgICAgICB0aGlzLmlzb3BlbiA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUb2dnbGUgdm9uIERyb3Bkb3duXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyB0b2dnbGUoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuaXNvcGVuKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLm9wZW4oKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gI2VuZHJlZ2lvbiBQdWJsaWMgTWV0aG9kc1xyXG5cclxuICAgIC8vICNyZWdpb24gUHJvdGVjdGVkIE1ldGhvZHNcclxuXHJcbiAgICAvKipcclxuICAgICAqIFNldHp0IGRpZSBQb3NpdGlvbiBkZXMgTWVuw7xzIGltIE1hcmt1cFxyXG4gICAgICovXHJcbiAgICBwcm90ZWN0ZWQgX3Bvc2l0aW9uTWVudSgpIHtcclxuICAgICAgICBjb25zdCBhbmNob3I6IFNhY0NvbnRleHRtZW51QW5jaG9yQ29tbW9uID0gdGhpcy5fYW5jaG9yIHx8IHRoaXMuX2FuY2hvclRlbXBsYXRlO1xyXG5cclxuICAgICAgICBpZiAoYW5jaG9yICYmIHRoaXMuX21lbnUpIHtcclxuICAgICAgICAgICAgcG9zaXRpb25FbGVtZW50cyhcclxuICAgICAgICAgICAgICAgIGFuY2hvci5uYXRpdmVFbGVtZW50LFxyXG4gICAgICAgICAgICAgICAgdGhpcy5ib2R5Q29udGFpbmVyIHx8IHRoaXMuX21lbnUubmF0aXZlRWxlbWVudCxcclxuICAgICAgICAgICAgICAgIHRoaXMucGxhY2VtZW50LFxyXG4gICAgICAgICAgICAgICAgdGhpcy5jb250YWluZXIgPT09ICdib2R5J1xyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyAjZW5kcmVnaW9uIFByb3RlY3RlZCBNZXRob2RzXHJcblxyXG4gICAgLy8gI3JlZ2lvbiBQcml2YXRlIE1ldGhvZHNcclxuXHJcbiAgICAvKipcclxuICAgICAqIFNldHp0IGRpZSBQb3NpdGlvbiBkZXMgTWVuw7xzIGlubmVyaGFsYiBkZXIgU2VpdGUuIERpZSBBdXNyaWNodHVuZyBwYXNzaWVydCBpbm5lcmhhbGIgZGVyIFNlaXRlXHJcbiAgICAgKiBkYW1pdCBkYXMgTWVuw7wgaW5uZXJoYWxiIGVpbmVzIERpYWxvZ3Mgc2F1YmVyIGZ1bmt0aW9uaW9uaWVydC5cclxuICAgICAqIEBwYXJhbSBjb250YWluZXIgRGVmaW5pZXJ0IHdvIGRhcyBNZW7DvCBhdXNnZXJpY2h0ZXQgd2lyZC4gSW0gTW9tZW50IG51ciBCT0RZIFN1cHBvcnRlZFxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIF9hcHBseUNvbnRhaW5lcihjb250YWluZXI6IG51bGwgfCAnYm9keScgPSBudWxsKSB7XHJcbiAgICAgICAgLy8gUmVzZXQgQ2xhc3NlcyBvbiBDb250YWluZXJcclxuICAgICAgICB0aGlzLl9yZXNldENvbnRhaW5lcigpO1xyXG5cclxuICAgICAgICBpZiAoY29udGFpbmVyID09PSAnYm9keScpIHtcclxuICAgICAgICAgICAgY29uc3QgcmVuZGVyZXIgPSB0aGlzLnJlbmRlcmVyO1xyXG4gICAgICAgICAgICBjb25zdCBkcm9wZG93bk1lbnVFbGVtZW50ID0gdGhpcy5fbWVudS5uYXRpdmVFbGVtZW50O1xyXG4gICAgICAgICAgICBjb25zdCBib2R5Q29udGFpbmVyID0gKHRoaXMuYm9keUNvbnRhaW5lciA9IHRoaXMuYm9keUNvbnRhaW5lciB8fCByZW5kZXJlci5jcmVhdGVFbGVtZW50KCdkaXYnKSk7XHJcblxyXG4gICAgICAgICAgICAvLyBPdmVycmlkZSBzb21lIHN0eWxlcyB0byBoYXZlIHRoZSBwb3NpdGlvbmluZyB3b3JraW5nXHJcbiAgICAgICAgICAgIHJlbmRlcmVyLnNldFN0eWxlKGJvZHlDb250YWluZXIsICdwb3NpdGlvbicsICdhYnNvbHV0ZScpO1xyXG4gICAgICAgICAgICByZW5kZXJlci5zZXRTdHlsZShkcm9wZG93bk1lbnVFbGVtZW50LCAncG9zaXRpb24nLCAnc3RhdGljJyk7XHJcbiAgICAgICAgICAgIHJlbmRlcmVyLnNldFN0eWxlKGJvZHlDb250YWluZXIsICd6LWluZGV4JywgJzEwNTAnKTtcclxuXHJcbiAgICAgICAgICAgIHJlbmRlcmVyLmFwcGVuZENoaWxkKGJvZHlDb250YWluZXIsIGRyb3Bkb3duTWVudUVsZW1lbnQpO1xyXG4gICAgICAgICAgICByZW5kZXJlci5hcHBlbmRDaGlsZCh0aGlzLmRvY3VtZW50LmJvZHksIGJvZHlDb250YWluZXIpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFNldHp0IGRpZSBDU1MgS2xhc3NlbiBhdWYgZGVtIE1lbsO8IENvbnRhaW5lciBhdWYgZGVuIFN0YW5kYXJkIHp1csO8Y2tcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBfcmVzZXRDb250YWluZXIoKSB7XHJcbiAgICAgICAgY29uc3QgcmVuZGVyZXIgPSB0aGlzLnJlbmRlcmVyO1xyXG4gICAgICAgIGlmICh0aGlzLl9tZW51KSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGRyb3Bkb3duRWxlbWVudCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xyXG4gICAgICAgICAgICBjb25zdCBkcm9wZG93bk1lbnVFbGVtZW50ID0gdGhpcy5fbWVudS5uYXRpdmVFbGVtZW50O1xyXG5cclxuICAgICAgICAgICAgcmVuZGVyZXIuYXBwZW5kQ2hpbGQoZHJvcGRvd25FbGVtZW50LCBkcm9wZG93bk1lbnVFbGVtZW50KTtcclxuICAgICAgICAgICAgcmVuZGVyZXIucmVtb3ZlU3R5bGUoZHJvcGRvd25NZW51RWxlbWVudCwgJ3Bvc2l0aW9uJyk7XHJcbiAgICAgICAgICAgIHJlbmRlcmVyLnJlbW92ZVN0eWxlKGRyb3Bkb3duTWVudUVsZW1lbnQsICd0cmFuc2Zvcm0nKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuYm9keUNvbnRhaW5lcikge1xyXG4gICAgICAgICAgICByZW5kZXJlci5yZW1vdmVDaGlsZCh0aGlzLmRvY3VtZW50LmJvZHksIHRoaXMuYm9keUNvbnRhaW5lcik7XHJcbiAgICAgICAgICAgIHRoaXMuYm9keUNvbnRhaW5lciA9IG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vICNlbmRyZWdpb24gUHJpdmF0ZSBNZXRob2RzXHJcbn1cclxuIl19
64
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTQUNJQ09OX1NFUlZJQ0UiLCJTYWNEZWZhdWx0SWNvblNlcnZpY2UiLCJwb3NpdGlvbkVsZW1lbnRzIiwiU2FjQ29udGV4dG1lbnVBbmNob3JDb21tb24iLCJTYWNDb250ZXh0TWVudUNvbnRyYWluZXJDb21tb24iLCJTYWNDb250ZXh0bWVudUl0ZW1Db21tb24iLCJET0NVTUVOVCIsIkNvbnRlbnRDaGlsZCIsIkNvbnRlbnRDaGlsZHJlbiIsIkRpcmVjdGl2ZSIsIkhvc3RMaXN0ZW5lciIsIkluamVjdCIsIklucHV0IiwiVmlld0NoaWxkIiwiU2FjQ29udGV4dG1lbnVDb21tb24iLCJjb25zdHJ1Y3RvciIsImRvY3VtZW50Iiwibmdab25lIiwiZWxlbWVudFJlZiIsInJlbmRlcmVyIiwiaW5qZWN0b3IiLCJjb3ZfMWpyM3puZTFpaSIsImYiLCJzIiwiYm9keUNvbnRhaW5lciIsImNvbnRhaW5lciIsImNzc2NsYXNzIiwiaXNvcGVuIiwicGxhY2VtZW50Iiwiem9uZVN1YnNjcmlwdGlvbiIsIm9uU3RhYmxlIiwic3Vic2NyaWJlIiwiX3Bvc2l0aW9uTWVudSIsImljb25TZXJ2aWNlIiwiZ2V0IiwiSWNvbkNvbnRleHRNZW51IiwiQ29udGV4dE1lbnVPcGVuSWNvbiIsImNsb3NlIiwiX3Jlc2V0Q29udGFpbmVyIiwibmdBZnRlckNvbnRlbnRJbml0IiwibWVudWl0ZW1zIiwiZm9yRWFjaCIsImJ1dHRvbiIsImNvbnRleHRtZW51IiwibmdPbkRlc3Ryb3kiLCJiIiwidW5zdWJzY3JpYmUiLCJvbkNsaWNrIiwidGFyZ2V0RWxlbWVudCIsImFuY2hvciIsIl9hbmNob3IiLCJfYW5jaG9yVGVtcGxhdGUiLCJfbWVudSIsIm5hdGl2ZUVsZW1lbnQiLCJjb250YWlucyIsIm9wZW4iLCJfYXBwbHlDb250YWluZXIiLCJ0b2dnbGUiLCJkcm9wZG93bk1lbnVFbGVtZW50IiwiY3JlYXRlRWxlbWVudCIsInNldFN0eWxlIiwiYXBwZW5kQ2hpbGQiLCJib2R5IiwiZHJvcGRvd25FbGVtZW50IiwicmVtb3ZlU3R5bGUiLCJyZW1vdmVDaGlsZCIsImRlcHMiLCJ0b2tlbiIsImkwIiwiTmdab25lIiwiRWxlbWVudFJlZiIsIlJlbmRlcmVyMiIsIkluamVjdG9yIiwidGFyZ2V0IiwiybXJtUZhY3RvcnlUYXJnZXQiLCJpbnB1dHMiLCJidXR0b250ZW1wbGF0ZSIsImhvc3QiLCJsaXN0ZW5lcnMiLCJxdWVyaWVzIiwicHJvcGVydHlOYW1lIiwiZmlyc3QiLCJwcmVkaWNhdGUiLCJkZXNjZW5kYW50cyIsInZpZXdRdWVyaWVzIiwibmdJbXBvcnQiLCJkZWNvcmF0b3JzIiwic3RhdGljIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FjLWNvbW1vbi9zcmMvY29udHJvbHMvY29udGV4dG1lbnUvY29udGV4dG1lbnUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVNhY0ljb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9JU2FjSWNvblNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTQUNJQ09OX1NFUlZJQ0UsIFNhY0RlZmF1bHRJY29uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcclxuaW1wb3J0IHsgUGxhY2VtZW50QXJyYXksIHBvc2l0aW9uRWxlbWVudHMgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvcG9zaXRpb25pbmcnO1xyXG5pbXBvcnQgeyBJU2FjQ29udGV4dG1lbnVDb21tb24gfSBmcm9tICcuL2NvbnRleHRtZW51LmludGVyZmFjZSc7XHJcbmltcG9ydCB7IFNhY0NvbnRleHRtZW51QW5jaG9yQ29tbW9uIH0gZnJvbSAnLi9jb250ZXh0bWVudWFuY2hvcic7XHJcbmltcG9ydCB7IFNhY0NvbnRleHRNZW51Q29udHJhaW5lckNvbW1vbiB9IGZyb20gJy4vY29udGV4dG1lbnVjb250YWluZXInO1xyXG5pbXBvcnQgeyBTYWNDb250ZXh0bWVudUl0ZW1Db21tb24gfSBmcm9tICcuL2NvbnRleHRtZW51aXRlbSc7XHJcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtcclxuICAgIEFmdGVyQ29udGVudEluaXQsXHJcbiAgICBDb250ZW50Q2hpbGQsXHJcbiAgICBDb250ZW50Q2hpbGRyZW4sXHJcbiAgICBEaXJlY3RpdmUsXHJcbiAgICBFbGVtZW50UmVmLFxyXG4gICAgSG9zdExpc3RlbmVyLFxyXG4gICAgSW5qZWN0LFxyXG4gICAgSW5qZWN0b3IsXHJcbiAgICBJbnB1dCxcclxuICAgIE5nWm9uZSxcclxuICAgIE9uRGVzdHJveSxcclxuICAgIFF1ZXJ5TGlzdCxcclxuICAgIFJlbmRlcmVyMixcclxuICAgIFRlbXBsYXRlUmVmLFxyXG4gICAgVmlld0NoaWxkLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuXHJcbi8qKlxyXG4gKiBCYXNlIENvbnRleHQgTWVuw7wgRWxlbWVudC4gRGllIExvZ2lrIHd1cmRlIGF1cyBORy1CT09UU1RSQVAgw7xiZXJub21tZW4uXHJcbiAqL1xyXG5ARGlyZWN0aXZlKClcclxuZXhwb3J0IGNsYXNzIFNhY0NvbnRleHRtZW51Q29tbW9uIGltcGxlbWVudHMgSVNhY0NvbnRleHRtZW51Q29tbW9uLCBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3kge1xyXG4gICAgLy8gI3JlZ2lvbiBQcm9wZXJ0aWVzXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBCdXR0b24gZsO8ciBPcGVuL0Nsb3NlIEV2ZW50XHJcbiAgICAgKi9cclxuICAgIEBWaWV3Q2hpbGQoU2FjQ29udGV4dG1lbnVBbmNob3JDb21tb24sIHsgc3RhdGljOiBmYWxzZSB9KVxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBfYW5jaG9yOiBTYWNDb250ZXh0bWVudUFuY2hvckNvbW1vbjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEJ1dHRvbiBmw7xyIE9wZW4vQ2xvc2UgRXZlbnQgYXVzIFRlbXBsYXRlXHJcbiAgICAgKi9cclxuICAgIEBDb250ZW50Q2hpbGQoU2FjQ29udGV4dG1lbnVBbmNob3JDb21tb24sIHsgc3RhdGljOiBmYWxzZSB9KVxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBfYW5jaG9yVGVtcGxhdGU6IFNhY0NvbnRleHRtZW51QW5jaG9yQ29tbW9uO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ29udGFpbmVyIEVsZW1lbnQgZsO8ciBEcm9wZG93blxyXG4gICAgICovXHJcbiAgICBAVmlld0NoaWxkKFNhY0NvbnRleHRNZW51Q29udHJhaW5lckNvbW1vbiwgeyBzdGF0aWM6IGZhbHNlIH0pXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9tZW51OiBTYWNDb250ZXh0TWVudUNvbnRyYWluZXJDb21tb247XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBab25lIFN1YnNjcmlwdGlvbiBmw7xyIFBvc3RpdG9uaWVydW5nIGRlcyBFbGVtZW50c1xyXG4gICAgICovXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHpvbmVTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEJvZHkgSFRNTCBFbGVtZW50XHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgYm9keUNvbnRhaW5lcjogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgICAvKipcclxuICAgICAqIGljb24gc2VydmljZVxyXG4gICAgICovXHJcbiAgICBwcm90ZWN0ZWQgaWNvblNlcnZpY2U6IElTYWNJY29uU2VydmljZTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEN1c3RvbSBIVE1MIFRlbXBsYXRlIGbDvHIgRHJvcGRvd24gQnV0dG9uLiBCdXR0b24gbXVzcyBkZW4gTWFya2VyIFwibmdDb250ZXh0bWVudUFuY2hvclwiIGJlaW5oYWx0ZW4sIGRhbWl0IGRhcyBDb250cm9sIGtvcnJla3QgZnVua3Rpb25pZXJ0LlxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGJ1dHRvbnRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ29udGFpbmVyIGFuIHdlbGNoZW0gZGllIFBvc2l0aW9uIGF1c2dlcmljaHRldCB3aXJkLiBBa3R1ZWxsIHdpcmQgbnVuIEJvZHkgU3VwcG9ydGVkXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgY29udGFpbmVyOiBudWxsIHwgJ2JvZHknID0gJ2JvZHknO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogRXh0cmEgQ1NTIEtsYXNzZW4gZsO8ciBkYXMgQ29udHJvbFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGNzc2NsYXNzOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgICAvKipcclxuICAgICAqIERlZmluaWVydCBvYiBkYXMgRHJvcGRvd24gb2ZmZW4gaXN0LlxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGlzb3BlbjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQWxsIGRpcmVjdGx5IGFzc2lnbmVkIGNvbnRleHQgbWVudSBlbGVtZW50cyB0aGF0IGFyZSBkZWZpbmVkIGluIHRoZSBkaXJlY3QgdGVtcGxhdGUgZm9yIHRoZSBjb250ZXh0IG1lbnUuXHJcbiAgICAgKi9cclxuICAgIEBDb250ZW50Q2hpbGRyZW4oU2FjQ29udGV4dG1lbnVJdGVtQ29tbW9uKVxyXG4gICAgcHVibGljIG1lbnVpdGVtcyE6IFF1ZXJ5TGlzdDxTYWNDb250ZXh0bWVudUl0ZW1Db21tb24+O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIHByZWZlcnJlZCBwbGFjZW1lbnQgb2YgdGhlIGRyb3Bkb3duLlxyXG4gICAgICpcclxuICAgICAqIFBvc3NpYmxlIHZhbHVlcyBhcmUgYFwidG9wXCJgLCBgXCJ0b3AtbGVmdFwiYCwgYFwidG9wLXJpZ2h0XCJgLCBgXCJib3R0b21cImAsIGBcImJvdHRvbS1sZWZ0XCJgLFxyXG4gICAgICogYFwiYm90dG9tLXJpZ2h0XCJgLCBgXCJsZWZ0XCJgLCBgXCJsZWZ0LXRvcFwiYCwgYFwibGVmdC1ib3R0b21cImAsIGBcInJpZ2h0XCJgLCBgXCJyaWdodC10b3BcImAsXHJcbiAgICAgKiBgXCJyaWdodC1ib3R0b21cImBcclxuICAgICAqXHJcbiAgICAgKiBBY2NlcHRzIGFuIGFycmF5IG9mIHN0cmluZ3Mgb3IgYSBzdHJpbmcgd2l0aCBzcGFjZSBzZXBhcmF0ZWQgcG9zc2libGUgdmFsdWVzLlxyXG4gICAgICpcclxuICAgICAqIFRoZSBkZWZhdWx0IG9yZGVyIG9mIHByZWZlcmVuY2UgaXMgYFwiYm90dG9tLWxlZnQgYm90dG9tLXJpZ2h0IHRvcC1sZWZ0IHRvcC1yaWdodFwiYFxyXG4gICAgICpcclxuICAgICAqIFBsZWFzZSBzZWUgdGhlIFtwb3NpdGlvbmluZyBvdmVydmlld10oIy9wb3NpdGlvbmluZykgZm9yIG1vcmUgZGV0YWlscy5cclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgcHVibGljIHBsYWNlbWVudDogUGxhY2VtZW50QXJyYXkgPSBbJ2JvdHRvbS1sZWZ0JywgJ2JvdHRvbS1yaWdodCcsICd0b3AtbGVmdCcsICd0b3AtcmlnaHQnXTtcclxuXHJcbiAgICAvLyAjZW5kcmVnaW9uIFByb3BlcnRpZXNcclxuXHJcbiAgICAvLyAjcmVnaW9uIENvbnN0cnVjdG9yc1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogS29uc3RydWt0b3JcclxuICAgICAqIEBwYXJhbSBkb2N1bWVudCBIVE1MIERvY3VtZW50IEVsZW1lbnRcclxuICAgICAqIEBwYXJhbSBuZ1pvbmUgQW5ndWxhciBab25lIFNlcnZpY2VcclxuICAgICAqIEBwYXJhbSBlbGVtZW50UmVmIEhUTUwgRWxlbWVudCBkZXMgYWt0dWVsbGVuIENvbnRyb2xzXHJcbiAgICAgKiBAcGFyYW0gcmVuZGVyZXIgQW5ndWxhciBSZW5kZXJpbmcgU2VydmljZVxyXG4gICAgICogQHBhcmFtIGluamVjdG9yIGluamVjdG9yIHRvIHJlc29sdmUgdGhlIGljb24gc2VydmljZVxyXG4gICAgICovXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIHJlYWRvbmx5IGRvY3VtZW50OiBhbnksXHJcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBuZ1pvbmU6IE5nWm9uZSxcclxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxyXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICAgICAgICBpbmplY3RvcjogSW5qZWN0b3JcclxuICAgICkge1xyXG4gICAgICAgIHRoaXMuem9uZVN1YnNjcmlwdGlvbiA9IHRoaXMubmdab25lLm9uU3RhYmxlLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuX3Bvc2l0aW9uTWVudSgpO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICB0aGlzLmljb25TZXJ2aWNlID0gaW5qZWN0b3IuZ2V0KFNBQ0lDT05fU0VSVklDRSwgbmV3IFNhY0RlZmF1bHRJY29uU2VydmljZSgpKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyAjZW5kcmVnaW9uIENvbnN0cnVjdG9yc1xyXG5cclxuICAgIC8vICNyZWdpb24gUHVibGljIEdldHRlcnMgQW5kIFNldHRlcnNcclxuXHJcbiAgICAvKipcclxuICAgICAqIGljb24gZm9yIGRlZmF1bHQgY29udGV4dCBtZW7DvCBidXR0b25cclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldCBJY29uQ29udGV4dE1lbnUoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5pY29uU2VydmljZS5Db250ZXh0TWVudU9wZW5JY29uO1xyXG4gICAgfVxyXG5cclxuICAgIC8vICNlbmRyZWdpb24gUHVibGljIEdldHRlcnMgQW5kIFNldHRlcnNcclxuXHJcbiAgICAvLyAjcmVnaW9uIFB1YmxpYyBNZXRob2RzXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTY2hsaWVzc3QgZGFzIERyb3Bkb3duXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBjbG9zZSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9yZXNldENvbnRhaW5lcigpO1xyXG4gICAgICAgIHRoaXMuaXNvcGVuID0gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLm1lbnVpdGVtcy5mb3JFYWNoKChidXR0b24pID0+IChidXR0b24uY29udGV4dG1lbnUgPSB0aGlzKSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBFdmVudCB3ZW5uIENvbXBvbmVudCBlbnRmZXJudCB3aXJkLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuaXNvcGVuKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuem9uZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogSG9zdExpc3RlbmVyIHVtIGRhcyBEcm9wZG93biB6dSBzY2hsaWVzc2VuIHdlbm4gbmljaHQgYXVmIGRhcyBFbGVtZW50IGdla2xpY2t0IHdpcmQuXHJcbiAgICAgKi9cclxuICAgIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJywgWyckZXZlbnQudGFyZ2V0J10pXHJcbiAgICAvKipcclxuICAgICAqIENsaWNrIEV2ZW50XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBvbkNsaWNrKHRhcmdldEVsZW1lbnQpIHtcclxuICAgICAgICBjb25zdCBhbmNob3I6IFNhY0NvbnRleHRtZW51QW5jaG9yQ29tbW9uID0gdGhpcy5fYW5jaG9yIHx8IHRoaXMuX2FuY2hvclRlbXBsYXRlO1xyXG5cclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgIHRoaXMuX21lbnUgJiZcclxuICAgICAgICAgICAgIXRoaXMuX21lbnUubmF0aXZlRWxlbWVudC5jb250YWlucyh0YXJnZXRFbGVtZW50KSAmJlxyXG4gICAgICAgICAgICAhYW5jaG9yLm5hdGl2ZUVsZW1lbnQuY29udGFpbnModGFyZ2V0RWxlbWVudClcclxuICAgICAgICApIHtcclxuICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIMOWZmZuZXQgZGFzIERyb3Bkb3duIC8gWmVpZ3QgZGFzIE1lbsO8IGFuLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgb3BlbigpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9hcHBseUNvbnRhaW5lcih0aGlzLmNvbnRhaW5lcik7XHJcbiAgICAgICAgdGhpcy5pc29wZW4gPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVG9nZ2xlIHZvbiBEcm9wZG93blxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgdG9nZ2xlKCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLmlzb3Blbikge1xyXG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5vcGVuKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vICNlbmRyZWdpb24gUHVibGljIE1ldGhvZHNcclxuXHJcbiAgICAvLyAjcmVnaW9uIFByb3RlY3RlZCBNZXRob2RzXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTZXR6dCBkaWUgUG9zaXRpb24gZGVzIE1lbsO8cyBpbSBNYXJrdXBcclxuICAgICAqL1xyXG4gICAgcHJvdGVjdGVkIF9wb3NpdGlvbk1lbnUoKSB7XHJcbiAgICAgICAgY29uc3QgYW5jaG9yOiBTYWNDb250ZXh0bWVudUFuY2hvckNvbW1vbiA9IHRoaXMuX2FuY2hvciB8fCB0aGlzLl9hbmNob3JUZW1wbGF0ZTtcclxuXHJcbiAgICAgICAgaWYgKGFuY2hvciAmJiB0aGlzLl9tZW51KSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uRWxlbWVudHMoXHJcbiAgICAgICAgICAgICAgICBhbmNob3IubmF0aXZlRWxlbWVudCxcclxuICAgICAgICAgICAgICAgIHRoaXMuYm9keUNvbnRhaW5lciB8fCB0aGlzLl9tZW51Lm5hdGl2ZUVsZW1lbnQsXHJcbiAgICAgICAgICAgICAgICB0aGlzLnBsYWNlbWVudCxcclxuICAgICAgICAgICAgICAgIHRoaXMuY29udGFpbmVyID09PSAnYm9keSdcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gI2VuZHJlZ2lvbiBQcm90ZWN0ZWQgTWV0aG9kc1xyXG5cclxuICAgIC8vICNyZWdpb24gUHJpdmF0ZSBNZXRob2RzXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTZXR6dCBkaWUgUG9zaXRpb24gZGVzIE1lbsO8cyBpbm5lcmhhbGIgZGVyIFNlaXRlLiBEaWUgQXVzcmljaHR1bmcgcGFzc2llcnQgaW5uZXJoYWxiIGRlciBTZWl0ZVxyXG4gICAgICogZGFtaXQgZGFzIE1lbsO8IGlubmVyaGFsYiBlaW5lcyBEaWFsb2dzIHNhdWJlciBmdW5rdGlvbmlvbmllcnQuXHJcbiAgICAgKiBAcGFyYW0gY29udGFpbmVyIERlZmluaWVydCB3byBkYXMgTWVuw7wgYXVzZ2VyaWNodGV0IHdpcmQuIEltIE1vbWVudCBudXIgQk9EWSBTdXBwb3J0ZWRcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBfYXBwbHlDb250YWluZXIoY29udGFpbmVyOiBudWxsIHwgJ2JvZHknID0gbnVsbCkge1xyXG4gICAgICAgIC8vIFJlc2V0IENsYXNzZXMgb24gQ29udGFpbmVyXHJcbiAgICAgICAgdGhpcy5fcmVzZXRDb250YWluZXIoKTtcclxuXHJcbiAgICAgICAgaWYgKGNvbnRhaW5lciA9PT0gJ2JvZHknKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHJlbmRlcmVyID0gdGhpcy5yZW5kZXJlcjtcclxuICAgICAgICAgICAgY29uc3QgZHJvcGRvd25NZW51RWxlbWVudCA9IHRoaXMuX21lbnUubmF0aXZlRWxlbWVudDtcclxuICAgICAgICAgICAgY29uc3QgYm9keUNvbnRhaW5lciA9ICh0aGlzLmJvZHlDb250YWluZXIgPSB0aGlzLmJvZHlDb250YWluZXIgfHwgcmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnZGl2JykpO1xyXG5cclxuICAgICAgICAgICAgLy8gT3ZlcnJpZGUgc29tZSBzdHlsZXMgdG8gaGF2ZSB0aGUgcG9zaXRpb25pbmcgd29ya2luZ1xyXG4gICAgICAgICAgICByZW5kZXJlci5zZXRTdHlsZShib2R5Q29udGFpbmVyLCAncG9zaXRpb24nLCAnYWJzb2x1dGUnKTtcclxuICAgICAgICAgICAgcmVuZGVyZXIuc2V0U3R5bGUoZHJvcGRvd25NZW51RWxlbWVudCwgJ3Bvc2l0aW9uJywgJ3N0YXRpYycpO1xyXG4gICAgICAgICAgICByZW5kZXJlci5zZXRTdHlsZShib2R5Q29udGFpbmVyLCAnei1pbmRleCcsICcxMDUwJyk7XHJcblxyXG4gICAgICAgICAgICByZW5kZXJlci5hcHBlbmRDaGlsZChib2R5Q29udGFpbmVyLCBkcm9wZG93bk1lbnVFbGVtZW50KTtcclxuICAgICAgICAgICAgcmVuZGVyZXIuYXBwZW5kQ2hpbGQodGhpcy5kb2N1bWVudC5ib2R5LCBib2R5Q29udGFpbmVyKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTZXR6dCBkaWUgQ1NTIEtsYXNzZW4gYXVmIGRlbSBNZW7DvCBDb250YWluZXIgYXVmIGRlbiBTdGFuZGFyZCB6dXLDvGNrXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgX3Jlc2V0Q29udGFpbmVyKCkge1xyXG4gICAgICAgIGNvbnN0IHJlbmRlcmVyID0gdGhpcy5yZW5kZXJlcjtcclxuICAgICAgICBpZiAodGhpcy5fbWVudSkge1xyXG4gICAgICAgICAgICBjb25zdCBkcm9wZG93bkVsZW1lbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcclxuICAgICAgICAgICAgY29uc3QgZHJvcGRvd25NZW51RWxlbWVudCA9IHRoaXMuX21lbnUubmF0aXZlRWxlbWVudDtcclxuXHJcbiAgICAgICAgICAgIHJlbmRlcmVyLmFwcGVuZENoaWxkKGRyb3Bkb3duRWxlbWVudCwgZHJvcGRvd25NZW51RWxlbWVudCk7XHJcbiAgICAgICAgICAgIHJlbmRlcmVyLnJlbW92ZVN0eWxlKGRyb3Bkb3duTWVudUVsZW1lbnQsICdwb3NpdGlvbicpO1xyXG4gICAgICAgICAgICByZW5kZXJlci5yZW1vdmVTdHlsZShkcm9wZG93bk1lbnVFbGVtZW50LCAndHJhbnNmb3JtJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLmJvZHlDb250YWluZXIpIHtcclxuICAgICAgICAgICAgcmVuZGVyZXIucmVtb3ZlQ2hpbGQodGhpcy5kb2N1bWVudC5ib2R5LCB0aGlzLmJvZHlDb250YWluZXIpO1xyXG4gICAgICAgICAgICB0aGlzLmJvZHlDb250YWluZXIgPSBudWxsO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyAjZW5kcmVnaW9uIFByaXZhdGUgTWV0aG9kc1xyXG59XHJcbiJdLCJtYXBwaW5ncyI6IjsyRkFDQSxPQUFTQSxlQUFlLENBQUVDLHFCQUFxQixLQUFRLGdCQUFnQixDQUN2RSxPQUF5QkMsZ0JBQWdCLEtBQVEsNkJBQTZCLENBRTlFLE9BQVNDLDBCQUEwQixLQUFRLHFCQUFxQixDQUNoRSxPQUFTQyw4QkFBOEIsS0FBUSx3QkFBd0IsQ0FDdkUsT0FBU0Msd0JBQXdCLEtBQVEsbUJBQW1CLENBQzVELE9BQVNDLFFBQVEsS0FBUSxpQkFBaUIsQ0FDMUMsT0FFSUMsWUFBWSxDQUNaQyxlQUFlLENBQ2ZDLFNBQVMsQ0FF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
@@ -1,21 +1,10 @@
1
- import { Directive } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- /**
1
+ function cov_ev246dq03(){var path="C:\\Projekte\\simpleangularcontrols-ng16\\ch.jnetwork.sac-controls\\dist\\sac-common\\esm2022\\controls\\contextmenu\\contextmenuanchor.mjs";var hash="82812ca529cfd01d02797f274e233846c276fed1";var global=new Function("return this")();var gcv="__coverage__";var coverageData={path:"C:\\Projekte\\simpleangularcontrols-ng16\\ch.jnetwork.sac-controls\\dist\\sac-common\\esm2022\\controls\\contextmenu\\contextmenuanchor.mjs",statementMap:{"0":{start:{line:14,column:8},end:{line:14,column:54}},"1":{start:{line:16,column:13},end:{line:16,column:213}},"2":{start:{line:17,column:13},end:{line:17,column:143}},"3":{start:{line:20,column:0},end:{line:22,column:81}},"4":{start:{line:22,column:42},end:{line:22,column:75}}},fnMap:{"0":{name:"(anonymous_0)",decl:{start:{line:13,column:4},end:{line:13,column:5}},loc:{start:{line:13,column:28},end:{line:15,column:5}},line:13},"1":{name:"(anonymous_1)",decl:{start:{line:22,column:28},end:{line:22,column:29}},loc:{start:{line:22,column:40},end:{line:22,column:77}},line:22}},branchMap:{},s:{"0":0,"1":0,"2":0,"3":0,"4":0},f:{"0":0,"1":0},b:{},inputSourceMap:{version:3,file:"contextmenuanchor.js",sourceRoot:"",sources:["../../../../../projects/sac-common/src/controls/contextmenu/contextmenuanchor.ts"],names:[],mappings:"AAAA,OAAO,EAAE,SAAS,EAAc,MAAM,eAAe,CAAC;;AAEtD;;GAEG;AACH,MACa,0BAA0B;IAQrC,wBAAwB;IAExB,uBAAuB;IAEvB;;;OAGG;IACH,YAAY,UAAmC;QAC7C,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC,aAAa,CAAC;IAChD,CAAC;+GAlBU,0BAA0B;mGAA1B,0BAA0B;;SAA1B,0BAA0B;4FAA1B,0BAA0B;kBADtC,SAAS",sourcesContent:["import { Directive, ElementRef } from '@angular/core';\r\n\r\n/**\r\n * Base Context Menu Anchor Component f\xFCr Open/Close Event\r\n */\r\n@Directive()\r\nexport class SacContextmenuAnchorCommon {\r\n // #region Properties\r\n\r\n /**\r\n * Referenz auf das Native HTML Element\r\n */\r\n public nativeElement: HTMLElement;\r\n\r\n // #endregion Properties\r\n\r\n // #region Constructors\r\n\r\n /**\r\n * Konstruktor\r\n * @param elementRef Refernz auf das HTML welcher als Anker f\xFCr das Context Men\xFC verwendet wird\r\n */\r\n constructor(elementRef: ElementRef<HTMLElement>) {\r\n this.nativeElement = elementRef.nativeElement;\r\n }\r\n\r\n // #endregion Constructors\r\n}\r\n"]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"82812ca529cfd01d02797f274e233846c276fed1"};var coverage=global[gcv]||(global[gcv]={});if(!coverage[path]||coverage[path].hash!==hash){coverage[path]=coverageData;}var actualCoverage=coverage[path];{// @ts-ignore
2
+ cov_ev246dq03=function(){return actualCoverage;};}return actualCoverage;}cov_ev246dq03();import{Directive}from'@angular/core';import*as i0 from"@angular/core";/**
4
3
  * Base Context Menu Anchor Component für Open/Close Event
5
- */
6
- class SacContextmenuAnchorCommon {
7
- /**
4
+ */class SacContextmenuAnchorCommon{// #endregion Properties
5
+ // #region Constructors
6
+ /**
8
7
  * Konstruktor
9
- * @param _elementRef Refernz auf das HTML welcher als Anker für das Context Menü verwendet wird
10
- */
11
- constructor(_elementRef) {
12
- this.nativeElement = _elementRef.nativeElement;
13
- }
14
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacContextmenuAnchorCommon, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
15
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: SacContextmenuAnchorCommon, ngImport: i0 }); }
16
- }
17
- export { SacContextmenuAnchorCommon };
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacContextmenuAnchorCommon, decorators: [{
19
- type: Directive
20
- }], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dG1lbnVhbmNob3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtY29tbW9uL3NyYy9jb250cm9scy9jb250ZXh0bWVudS9jb250ZXh0bWVudWFuY2hvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLE1BQU0sZUFBZSxDQUFDOztBQUV0RDs7R0FFRztBQUNILE1BQ2EsMEJBQTBCO0lBTXJDOzs7T0FHRztJQUNILFlBQVksV0FBb0M7UUFDOUMsSUFBSSxDQUFDLGFBQWEsR0FBRyxXQUFXLENBQUMsYUFBYSxDQUFDO0lBQ2pELENBQUM7K0dBWlUsMEJBQTBCO21HQUExQiwwQkFBMEI7O1NBQTFCLDBCQUEwQjs0RkFBMUIsMEJBQTBCO2tCQUR0QyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG4vKipcclxuICogQmFzZSBDb250ZXh0IE1lbnUgQW5jaG9yIENvbXBvbmVudCBmw7xyIE9wZW4vQ2xvc2UgRXZlbnRcclxuICovXHJcbkBEaXJlY3RpdmUoKVxyXG5leHBvcnQgY2xhc3MgU2FjQ29udGV4dG1lbnVBbmNob3JDb21tb24ge1xyXG4gIC8qKlxyXG4gICAqIFJlZmVyZW56IGF1ZiBkYXMgTmF0aXZlIEhUTUwgRWxlbWVudFxyXG4gICAqL1xyXG4gIG5hdGl2ZUVsZW1lbnQ6IEhUTUxFbGVtZW50O1xyXG5cclxuICAvKipcclxuICAgKiBLb25zdHJ1a3RvclxyXG4gICAqIEBwYXJhbSBfZWxlbWVudFJlZiBSZWZlcm56IGF1ZiBkYXMgSFRNTCB3ZWxjaGVyIGFscyBBbmtlciBmw7xyIGRhcyBDb250ZXh0IE1lbsO8IHZlcndlbmRldCB3aXJkXHJcbiAgICovXHJcbiAgY29uc3RydWN0b3IoX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+KSB7XHJcbiAgICB0aGlzLm5hdGl2ZUVsZW1lbnQgPSBfZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xyXG4gIH1cclxufVxyXG4iXX0=
8
+ * @param elementRef Refernz auf das HTML welcher als Anker für das Context Menü verwendet wird
9
+ */constructor(elementRef){cov_ev246dq03().f[0]++;cov_ev246dq03().s[0]++;this.nativeElement=elementRef.nativeElement;}static{cov_ev246dq03().s[1]++;this.ɵfac=i0.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"16.2.12",ngImport:i0,type:SacContextmenuAnchorCommon,deps:[{token:i0.ElementRef}],target:i0.ɵɵFactoryTarget.Directive});}static{cov_ev246dq03().s[2]++;this.ɵdir=i0.ɵɵngDeclareDirective({minVersion:"14.0.0",version:"16.2.12",type:SacContextmenuAnchorCommon,ngImport:i0});}}export{SacContextmenuAnchorCommon};cov_ev246dq03().s[3]++;i0.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"16.2.12",ngImport:i0,type:SacContextmenuAnchorCommon,decorators:[{type:Directive}],ctorParameters:function(){cov_ev246dq03().f[1]++;cov_ev246dq03().s[4]++;return[{type:i0.ElementRef}];}});//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dG1lbnVhbmNob3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtY29tbW9uL3NyYy9jb250cm9scy9jb250ZXh0bWVudS9jb250ZXh0bWVudWFuY2hvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLE1BQU0sZUFBZSxDQUFDOztBQUV0RDs7R0FFRztBQUNILE1BQ2EsMEJBQTBCO0lBUXJDLHdCQUF3QjtJQUV4Qix1QkFBdUI7SUFFdkI7OztPQUdHO0lBQ0gsWUFBWSxVQUFtQztRQUM3QyxJQUFJLENBQUMsYUFBYSxHQUFHLFVBQVUsQ0FBQyxhQUFhLENBQUM7SUFDaEQsQ0FBQzsrR0FsQlUsMEJBQTBCO21HQUExQiwwQkFBMEI7O1NBQTFCLDBCQUEwQjs0RkFBMUIsMEJBQTBCO2tCQUR0QyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG4vKipcclxuICogQmFzZSBDb250ZXh0IE1lbnUgQW5jaG9yIENvbXBvbmVudCBmw7xyIE9wZW4vQ2xvc2UgRXZlbnRcclxuICovXHJcbkBEaXJlY3RpdmUoKVxyXG5leHBvcnQgY2xhc3MgU2FjQ29udGV4dG1lbnVBbmNob3JDb21tb24ge1xyXG4gIC8vICNyZWdpb24gUHJvcGVydGllc1xyXG5cclxuICAvKipcclxuICAgKiBSZWZlcmVueiBhdWYgZGFzIE5hdGl2ZSBIVE1MIEVsZW1lbnRcclxuICAgKi9cclxuICBwdWJsaWMgbmF0aXZlRWxlbWVudDogSFRNTEVsZW1lbnQ7XHJcblxyXG4gIC8vICNlbmRyZWdpb24gUHJvcGVydGllc1xyXG5cclxuICAvLyAjcmVnaW9uIENvbnN0cnVjdG9yc1xyXG5cclxuICAvKipcclxuICAgKiBLb25zdHJ1a3RvclxyXG4gICAqIEBwYXJhbSBlbGVtZW50UmVmIFJlZmVybnogYXVmIGRhcyBIVE1MIHdlbGNoZXIgYWxzIEFua2VyIGbDvHIgZGFzIENvbnRleHQgTWVuw7wgdmVyd2VuZGV0IHdpcmRcclxuICAgKi9cclxuICBjb25zdHJ1Y3RvcihlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50Pikge1xyXG4gICAgdGhpcy5uYXRpdmVFbGVtZW50ID0gZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xyXG4gIH1cclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiBDb25zdHJ1Y3RvcnNcclxufVxyXG4iXX0=
10
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJEaXJlY3RpdmUiLCJTYWNDb250ZXh0bWVudUFuY2hvckNvbW1vbiIsImNvbnN0cnVjdG9yIiwiZWxlbWVudFJlZiIsImNvdl9ldjI0NmRxMDMiLCJmIiwicyIsIm5hdGl2ZUVsZW1lbnQiLCJkZXBzIiwidG9rZW4iLCJpMCIsIkVsZW1lbnRSZWYiLCJ0YXJnZXQiLCLJtcm1RmFjdG9yeVRhcmdldCIsIm5nSW1wb3J0IiwiZGVjb3JhdG9ycyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1jb21tb24vc3JjL2NvbnRyb2xzL2NvbnRleHRtZW51L2NvbnRleHRtZW51YW5jaG9yLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuLyoqXHJcbiAqIEJhc2UgQ29udGV4dCBNZW51IEFuY2hvciBDb21wb25lbnQgZsO8ciBPcGVuL0Nsb3NlIEV2ZW50XHJcbiAqL1xyXG5ARGlyZWN0aXZlKClcclxuZXhwb3J0IGNsYXNzIFNhY0NvbnRleHRtZW51QW5jaG9yQ29tbW9uIHtcclxuICAvLyAjcmVnaW9uIFByb3BlcnRpZXNcclxuXHJcbiAgLyoqXHJcbiAgICogUmVmZXJlbnogYXVmIGRhcyBOYXRpdmUgSFRNTCBFbGVtZW50XHJcbiAgICovXHJcbiAgcHVibGljIG5hdGl2ZUVsZW1lbnQ6IEhUTUxFbGVtZW50O1xyXG5cclxuICAvLyAjZW5kcmVnaW9uIFByb3BlcnRpZXNcclxuXHJcbiAgLy8gI3JlZ2lvbiBDb25zdHJ1Y3RvcnNcclxuXHJcbiAgLyoqXHJcbiAgICogS29uc3RydWt0b3JcclxuICAgKiBAcGFyYW0gZWxlbWVudFJlZiBSZWZlcm56IGF1ZiBkYXMgSFRNTCB3ZWxjaGVyIGFscyBBbmtlciBmw7xyIGRhcyBDb250ZXh0IE1lbsO8IHZlcndlbmRldCB3aXJkXHJcbiAgICovXHJcbiAgY29uc3RydWN0b3IoZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pIHtcclxuICAgIHRoaXMubmF0aXZlRWxlbWVudCA9IGVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcclxuICB9XHJcblxyXG4gIC8vICNlbmRyZWdpb24gQ29uc3RydWN0b3JzXHJcbn1cclxuIl0sIm1hcHBpbmdzIjoiO3lGQUFBLE9BQVNBLFNBQVMsS0FBb0IsZUFBZSxDLGlDQUVyRDs7R0FHQSxLQUNhLENBQUFDLDBCQUEwQixDQVFyQztBQUVBO0FBRUE7OztPQUlBQyxZQUFZQyxVQUFtQyxFQUFBQyxhQUFBLEdBQUFDLENBQUEsTUFBQUQsYUFBQSxHQUFBRSxDQUFBLE1BQzdDLElBQUksQ0FBQ0MsYUFBYSxDQUFHSixVQUFVLENBQUNJLGFBQWEsQ0FDL0MsQyxzSEFsQldOLDBCQUEwQixDQUFBTyxJQUFBLEdBQUFDLEtBQUEsQ0FBQUMsRUFBQSxDQUFBQyxVQUFBLEdBQUFDLE1BQUEsQ0FBQUYsRUFBQSxDQUFBRyxlQUFBLENBQUFiLFNBQUEsSSw0R0FBMUJDLDBCQUEwQixDQUFBYSxRQUFBLENBQUFKLEVBQUEsSSxRQUExQlQsMEJBQTBCLEVBQUFHLGFBQUEsR0FBQUUsQ0FBQSxNLG9GQUExQkwsMEJBQTBCLENBQUFjLFVBQUEsRyxLQUR0Q2YsUyJ9
@@ -1,21 +1,10 @@
1
- import { Directive } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- /**
1
+ function cov_rlozpshqy(){var path="C:\\Projekte\\simpleangularcontrols-ng16\\ch.jnetwork.sac-controls\\dist\\sac-common\\esm2022\\controls\\contextmenu\\contextmenucontainer.mjs";var hash="4f3ab5ab0a433dafc34842491a046f5a6bd351aa";var global=new Function("return this")();var gcv="__coverage__";var coverageData={path:"C:\\Projekte\\simpleangularcontrols-ng16\\ch.jnetwork.sac-controls\\dist\\sac-common\\esm2022\\controls\\contextmenu\\contextmenucontainer.mjs",statementMap:{"0":{start:{line:14,column:8},end:{line:14,column:54}},"1":{start:{line:16,column:13},end:{line:16,column:217}},"2":{start:{line:17,column:13},end:{line:17,column:147}},"3":{start:{line:20,column:0},end:{line:22,column:81}},"4":{start:{line:22,column:42},end:{line:22,column:75}}},fnMap:{"0":{name:"(anonymous_0)",decl:{start:{line:13,column:4},end:{line:13,column:5}},loc:{start:{line:13,column:28},end:{line:15,column:5}},line:13},"1":{name:"(anonymous_1)",decl:{start:{line:22,column:28},end:{line:22,column:29}},loc:{start:{line:22,column:40},end:{line:22,column:77}},line:22}},branchMap:{},s:{"0":0,"1":0,"2":0,"3":0,"4":0},f:{"0":0,"1":0},b:{},inputSourceMap:{version:3,file:"contextmenucontainer.js",sourceRoot:"",sources:["../../../../../projects/sac-common/src/controls/contextmenu/contextmenucontainer.ts"],names:[],mappings:"AAAA,OAAO,EAAE,SAAS,EAAc,MAAM,eAAe,CAAC;;AAEtD;;GAEG;AACH,MACa,8BAA8B;IAQzC,wBAAwB;IAExB,uBAAuB;IAEvB;;;OAGG;IACH,YAAY,UAAmC;QAC7C,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC,aAAa,CAAC;IAChD,CAAC;+GAlBU,8BAA8B;mGAA9B,8BAA8B;;SAA9B,8BAA8B;4FAA9B,8BAA8B;kBAD1C,SAAS",sourcesContent:["import { Directive, ElementRef } from '@angular/core';\r\n\r\n/**\r\n * Common Marker Klasse f\xFCr den Men\xFC Container\r\n */\r\n@Directive()\r\nexport class SacContextMenuContrainerCommon {\r\n // #region Properties\r\n\r\n /**\r\n * Referenz auf das HTML Element des Men\xFC Containers\r\n */\r\n public nativeElement: HTMLElement;\r\n\r\n // #endregion Properties\r\n\r\n // #region Constructors\r\n\r\n /**\r\n * Konstruktor\r\n * @param elementRef Referenz auf das HTML Element mit der Marker Direktive\r\n */\r\n constructor(elementRef: ElementRef<HTMLElement>) {\r\n this.nativeElement = elementRef.nativeElement;\r\n }\r\n\r\n // #endregion Constructors\r\n}\r\n"]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"4f3ab5ab0a433dafc34842491a046f5a6bd351aa"};var coverage=global[gcv]||(global[gcv]={});if(!coverage[path]||coverage[path].hash!==hash){coverage[path]=coverageData;}var actualCoverage=coverage[path];{// @ts-ignore
2
+ cov_rlozpshqy=function(){return actualCoverage;};}return actualCoverage;}cov_rlozpshqy();import{Directive}from'@angular/core';import*as i0 from"@angular/core";/**
4
3
  * Common Marker Klasse für den Menü Container
5
- */
6
- class SacContextMenuContrainerCommon {
7
- /**
4
+ */class SacContextMenuContrainerCommon{// #endregion Properties
5
+ // #region Constructors
6
+ /**
8
7
  * Konstruktor
9
- * @param _elementRef Referenz auf das HTML Element mit der Marker Direktive
10
- */
11
- constructor(_elementRef) {
12
- this.nativeElement = _elementRef.nativeElement;
13
- }
14
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacContextMenuContrainerCommon, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
15
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: SacContextMenuContrainerCommon, ngImport: i0 }); }
16
- }
17
- export { SacContextMenuContrainerCommon };
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacContextMenuContrainerCommon, decorators: [{
19
- type: Directive
20
- }], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dG1lbnVjb250YWluZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtY29tbW9uL3NyYy9jb250cm9scy9jb250ZXh0bWVudS9jb250ZXh0bWVudWNvbnRhaW5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLE1BQU0sZUFBZSxDQUFDOztBQUV0RDs7R0FFRztBQUNILE1BQ2EsOEJBQThCO0lBTXpDOzs7T0FHRztJQUNILFlBQVksV0FBb0M7UUFDOUMsSUFBSSxDQUFDLGFBQWEsR0FBRyxXQUFXLENBQUMsYUFBYSxDQUFDO0lBQ2pELENBQUM7K0dBWlUsOEJBQThCO21HQUE5Qiw4QkFBOEI7O1NBQTlCLDhCQUE4Qjs0RkFBOUIsOEJBQThCO2tCQUQxQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG4vKipcclxuICogQ29tbW9uIE1hcmtlciBLbGFzc2UgZsO8ciBkZW4gTWVuw7wgQ29udGFpbmVyXHJcbiAqL1xyXG5ARGlyZWN0aXZlKClcclxuZXhwb3J0IGNsYXNzIFNhY0NvbnRleHRNZW51Q29udHJhaW5lckNvbW1vbiB7XHJcbiAgLyoqXHJcbiAgICogUmVmZXJlbnogYXVmIGRhcyBIVE1MIEVsZW1lbnQgZGVzIE1lbsO8IENvbnRhaW5lcnNcclxuICAgKi9cclxuICBuYXRpdmVFbGVtZW50OiBIVE1MRWxlbWVudDtcclxuXHJcbiAgLyoqXHJcbiAgICogS29uc3RydWt0b3JcclxuICAgKiBAcGFyYW0gX2VsZW1lbnRSZWYgUmVmZXJlbnogYXVmIGRhcyBIVE1MIEVsZW1lbnQgbWl0IGRlciBNYXJrZXIgRGlyZWt0aXZlXHJcbiAgICovXHJcbiAgY29uc3RydWN0b3IoX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+KSB7XHJcbiAgICB0aGlzLm5hdGl2ZUVsZW1lbnQgPSBfZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xyXG4gIH1cclxufVxyXG4iXX0=
8
+ * @param elementRef Referenz auf das HTML Element mit der Marker Direktive
9
+ */constructor(elementRef){cov_rlozpshqy().f[0]++;cov_rlozpshqy().s[0]++;this.nativeElement=elementRef.nativeElement;}static{cov_rlozpshqy().s[1]++;this.ɵfac=i0.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"16.2.12",ngImport:i0,type:SacContextMenuContrainerCommon,deps:[{token:i0.ElementRef}],target:i0.ɵɵFactoryTarget.Directive});}static{cov_rlozpshqy().s[2]++;this.ɵdir=i0.ɵɵngDeclareDirective({minVersion:"14.0.0",version:"16.2.12",type:SacContextMenuContrainerCommon,ngImport:i0});}}export{SacContextMenuContrainerCommon};cov_rlozpshqy().s[3]++;i0.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"16.2.12",ngImport:i0,type:SacContextMenuContrainerCommon,decorators:[{type:Directive}],ctorParameters:function(){cov_rlozpshqy().f[1]++;cov_rlozpshqy().s[4]++;return[{type:i0.ElementRef}];}});//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dG1lbnVjb250YWluZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtY29tbW9uL3NyYy9jb250cm9scy9jb250ZXh0bWVudS9jb250ZXh0bWVudWNvbnRhaW5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLE1BQU0sZUFBZSxDQUFDOztBQUV0RDs7R0FFRztBQUNILE1BQ2EsOEJBQThCO0lBUXpDLHdCQUF3QjtJQUV4Qix1QkFBdUI7SUFFdkI7OztPQUdHO0lBQ0gsWUFBWSxVQUFtQztRQUM3QyxJQUFJLENBQUMsYUFBYSxHQUFHLFVBQVUsQ0FBQyxhQUFhLENBQUM7SUFDaEQsQ0FBQzsrR0FsQlUsOEJBQThCO21HQUE5Qiw4QkFBOEI7O1NBQTlCLDhCQUE4Qjs0RkFBOUIsOEJBQThCO2tCQUQxQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG4vKipcclxuICogQ29tbW9uIE1hcmtlciBLbGFzc2UgZsO8ciBkZW4gTWVuw7wgQ29udGFpbmVyXHJcbiAqL1xyXG5ARGlyZWN0aXZlKClcclxuZXhwb3J0IGNsYXNzIFNhY0NvbnRleHRNZW51Q29udHJhaW5lckNvbW1vbiB7XHJcbiAgLy8gI3JlZ2lvbiBQcm9wZXJ0aWVzXHJcblxyXG4gIC8qKlxyXG4gICAqIFJlZmVyZW56IGF1ZiBkYXMgSFRNTCBFbGVtZW50IGRlcyBNZW7DvCBDb250YWluZXJzXHJcbiAgICovXHJcbiAgcHVibGljIG5hdGl2ZUVsZW1lbnQ6IEhUTUxFbGVtZW50O1xyXG5cclxuICAvLyAjZW5kcmVnaW9uIFByb3BlcnRpZXNcclxuXHJcbiAgLy8gI3JlZ2lvbiBDb25zdHJ1Y3RvcnNcclxuXHJcbiAgLyoqXHJcbiAgICogS29uc3RydWt0b3JcclxuICAgKiBAcGFyYW0gZWxlbWVudFJlZiBSZWZlcmVueiBhdWYgZGFzIEhUTUwgRWxlbWVudCBtaXQgZGVyIE1hcmtlciBEaXJla3RpdmVcclxuICAgKi9cclxuICBjb25zdHJ1Y3RvcihlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50Pikge1xyXG4gICAgdGhpcy5uYXRpdmVFbGVtZW50ID0gZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xyXG4gIH1cclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiBDb25zdHJ1Y3RvcnNcclxufVxyXG4iXX0=
10
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJEaXJlY3RpdmUiLCJTYWNDb250ZXh0TWVudUNvbnRyYWluZXJDb21tb24iLCJjb25zdHJ1Y3RvciIsImVsZW1lbnRSZWYiLCJjb3ZfcmxvenBzaHF5IiwiZiIsInMiLCJuYXRpdmVFbGVtZW50IiwiZGVwcyIsInRva2VuIiwiaTAiLCJFbGVtZW50UmVmIiwidGFyZ2V0IiwiybXJtUZhY3RvcnlUYXJnZXQiLCJuZ0ltcG9ydCIsImRlY29yYXRvcnMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtY29tbW9uL3NyYy9jb250cm9scy9jb250ZXh0bWVudS9jb250ZXh0bWVudWNvbnRhaW5lci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbi8qKlxyXG4gKiBDb21tb24gTWFya2VyIEtsYXNzZSBmw7xyIGRlbiBNZW7DvCBDb250YWluZXJcclxuICovXHJcbkBEaXJlY3RpdmUoKVxyXG5leHBvcnQgY2xhc3MgU2FjQ29udGV4dE1lbnVDb250cmFpbmVyQ29tbW9uIHtcclxuICAvLyAjcmVnaW9uIFByb3BlcnRpZXNcclxuXHJcbiAgLyoqXHJcbiAgICogUmVmZXJlbnogYXVmIGRhcyBIVE1MIEVsZW1lbnQgZGVzIE1lbsO8IENvbnRhaW5lcnNcclxuICAgKi9cclxuICBwdWJsaWMgbmF0aXZlRWxlbWVudDogSFRNTEVsZW1lbnQ7XHJcblxyXG4gIC8vICNlbmRyZWdpb24gUHJvcGVydGllc1xyXG5cclxuICAvLyAjcmVnaW9uIENvbnN0cnVjdG9yc1xyXG5cclxuICAvKipcclxuICAgKiBLb25zdHJ1a3RvclxyXG4gICAqIEBwYXJhbSBlbGVtZW50UmVmIFJlZmVyZW56IGF1ZiBkYXMgSFRNTCBFbGVtZW50IG1pdCBkZXIgTWFya2VyIERpcmVrdGl2ZVxyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+KSB7XHJcbiAgICB0aGlzLm5hdGl2ZUVsZW1lbnQgPSBlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgfVxyXG5cclxuICAvLyAjZW5kcmVnaW9uIENvbnN0cnVjdG9yc1xyXG59XHJcbiJdLCJtYXBwaW5ncyI6Ijt5RkFBQSxPQUFTQSxTQUFTLEtBQW9CLGVBQWUsQyxpQ0FFckQ7O0dBR0EsS0FDYSxDQUFBQyw4QkFBOEIsQ0FRekM7QUFFQTtBQUVBOzs7T0FJQUMsWUFBWUMsVUFBbUMsRUFBQUMsYUFBQSxHQUFBQyxDQUFBLE1BQUFELGFBQUEsR0FBQUUsQ0FBQSxNQUM3QyxJQUFJLENBQUNDLGFBQWEsQ0FBR0osVUFBVSxDQUFDSSxhQUFhLENBQy9DLEMsc0hBbEJXTiw4QkFBOEIsQ0FBQU8sSUFBQSxHQUFBQyxLQUFBLENBQUFDLEVBQUEsQ0FBQUMsVUFBQSxHQUFBQyxNQUFBLENBQUFGLEVBQUEsQ0FBQUcsZUFBQSxDQUFBYixTQUFBLEksNEdBQTlCQyw4QkFBOEIsQ0FBQWEsUUFBQSxDQUFBSixFQUFBLEksUUFBOUJULDhCQUE4QixFQUFBRyxhQUFBLEdBQUFFLENBQUEsTSxvRkFBOUJMLDhCQUE4QixDQUFBYyxVQUFBLEcsS0FEMUNmLFMifQ==
@@ -1,14 +1,8 @@
1
- import { Directive } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- /**
1
+ function cov_b2kx2qjhx(){var path="C:\\Projekte\\simpleangularcontrols-ng16\\ch.jnetwork.sac-controls\\dist\\sac-common\\esm2022\\controls\\contextmenu\\contextmenuitem.mjs";var hash="3b649f58e62a226f285e4c773574857cf510aaa6";var global=new Function("return this")();var gcv="__coverage__";var coverageData={path:"C:\\Projekte\\simpleangularcontrols-ng16\\ch.jnetwork.sac-controls\\dist\\sac-common\\esm2022\\controls\\contextmenu\\contextmenuitem.mjs",statementMap:{"0":{start:{line:12,column:8},end:{line:12,column:32}},"1":{start:{line:14,column:13},end:{line:14,column:187}},"2":{start:{line:15,column:13},end:{line:15,column:181}},"3":{start:{line:18,column:0},end:{line:22,column:20}}},fnMap:{"0":{name:"(anonymous_0)",decl:{start:{line:7,column:4},end:{line:7,column:5}},loc:{start:{line:7,column:18},end:{line:13,column:5}},line:7}},branchMap:{},s:{"0":0,"1":0,"2":0,"3":0},f:{"0":0},b:{},inputSourceMap:{version:3,file:"contextmenuitem.js",sourceRoot:"",sources:["../../../../../projects/sac-common/src/controls/contextmenu/contextmenuitem.ts"],names:[],mappings:"AACA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;;AAEjD;;GAEG;AACH,MACa,wBAAwB;IADrC;QAEI,qBAAqB;QAErB;;WAEG;QAEI,gBAAW,GAAiC,IAAI,CAAC;KAG3D;+GAVY,wBAAwB;mGAAxB,wBAAwB;;SAAxB,wBAAwB;4FAAxB,wBAAwB;kBADpC,SAAS;8BAQC,WAAW;sBADjB,KAAK",sourcesContent:["import { ISacContextmenuCommon } from './contextmenu.interface';\r\nimport { Directive, Input } from '@angular/core';\r\n\r\n/**\r\n * Base Context Menu Item\r\n */\r\n@Directive()\r\nexport class SacContextmenuItemCommon {\r\n // #region Properties\r\n\r\n /**\r\n * Reference to the higher-level context menu. This property is always set automatically by the context menu. However, it may be necessary to set the reference manually.\r\n */\r\n @Input()\r\n public contextmenu: ISacContextmenuCommon | null = null;\r\n\r\n // #endregion Properties\r\n}\r\n"]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"3b649f58e62a226f285e4c773574857cf510aaa6"};var coverage=global[gcv]||(global[gcv]={});if(!coverage[path]||coverage[path].hash!==hash){coverage[path]=coverageData;}var actualCoverage=coverage[path];{// @ts-ignore
2
+ cov_b2kx2qjhx=function(){return actualCoverage;};}return actualCoverage;}cov_b2kx2qjhx();import{Directive,Input}from'@angular/core';import*as i0 from"@angular/core";/**
4
3
  * Base Context Menu Item
5
- */
6
- class SacContextmenuItemCommon {
7
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacContextmenuItemCommon, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
8
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: SacContextmenuItemCommon, ngImport: i0 }); }
9
- }
10
- export { SacContextmenuItemCommon };
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacContextmenuItemCommon, decorators: [{
12
- type: Directive
13
- }] });
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dG1lbnVpdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FjLWNvbW1vbi9zcmMvY29udHJvbHMvY29udGV4dG1lbnUvY29udGV4dG1lbnVpdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRTFDOztHQUVHO0FBQ0gsTUFDYSx3QkFBd0I7K0dBQXhCLHdCQUF3QjttR0FBeEIsd0JBQXdCOztTQUF4Qix3QkFBd0I7NEZBQXhCLHdCQUF3QjtrQkFEcEMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuLyoqXHJcbiAqIEJhc2UgQ29udGV4dCBNZW51IEl0ZW1cclxuICovXHJcbkBEaXJlY3RpdmUoKVxyXG5leHBvcnQgY2xhc3MgU2FjQ29udGV4dG1lbnVJdGVtQ29tbW9uIHt9XHJcbiJdfQ==
4
+ */class SacContextmenuItemCommon{constructor(){cov_b2kx2qjhx().f[0]++;cov_b2kx2qjhx().s[0]++;// #region Properties
5
+ /**
6
+ * Reference to the higher-level context menu. This property is always set automatically by the context menu. However, it may be necessary to set the reference manually.
7
+ */this.contextmenu=null;}static{cov_b2kx2qjhx().s[1]++;this.ɵfac=i0.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"16.2.12",ngImport:i0,type:SacContextmenuItemCommon,deps:[],target:i0.ɵɵFactoryTarget.Directive});}static{cov_b2kx2qjhx().s[2]++;this.ɵdir=i0.ɵɵngDeclareDirective({minVersion:"14.0.0",version:"16.2.12",type:SacContextmenuItemCommon,inputs:{contextmenu:"contextmenu"},ngImport:i0});}}export{SacContextmenuItemCommon};cov_b2kx2qjhx().s[3]++;i0.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"16.2.12",ngImport:i0,type:SacContextmenuItemCommon,decorators:[{type:Directive}],propDecorators:{contextmenu:[{type:Input}]}});//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dG1lbnVpdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FjLWNvbW1vbi9zcmMvY29udHJvbHMvY29udGV4dG1lbnUvY29udGV4dG1lbnVpdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUVqRDs7R0FFRztBQUNILE1BQ2Esd0JBQXdCO0lBRHJDO1FBRUkscUJBQXFCO1FBRXJCOztXQUVHO1FBRUksZ0JBQVcsR0FBaUMsSUFBSSxDQUFDO0tBRzNEOytHQVZZLHdCQUF3QjttR0FBeEIsd0JBQXdCOztTQUF4Qix3QkFBd0I7NEZBQXhCLHdCQUF3QjtrQkFEcEMsU0FBUzs4QkFRQyxXQUFXO3NCQURqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVNhY0NvbnRleHRtZW51Q29tbW9uIH0gZnJvbSAnLi9jb250ZXh0bWVudS5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG4vKipcclxuICogQmFzZSBDb250ZXh0IE1lbnUgSXRlbVxyXG4gKi9cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBjbGFzcyBTYWNDb250ZXh0bWVudUl0ZW1Db21tb24ge1xyXG4gICAgLy8gI3JlZ2lvbiBQcm9wZXJ0aWVzXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZWZlcmVuY2UgdG8gdGhlIGhpZ2hlci1sZXZlbCBjb250ZXh0IG1lbnUuIFRoaXMgcHJvcGVydHkgaXMgYWx3YXlzIHNldCBhdXRvbWF0aWNhbGx5IGJ5IHRoZSBjb250ZXh0IG1lbnUuIEhvd2V2ZXIsIGl0IG1heSBiZSBuZWNlc3NhcnkgdG8gc2V0IHRoZSByZWZlcmVuY2UgbWFudWFsbHkuXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgY29udGV4dG1lbnU6IElTYWNDb250ZXh0bWVudUNvbW1vbiB8IG51bGwgPSBudWxsO1xyXG5cclxuICAgIC8vICNlbmRyZWdpb24gUHJvcGVydGllc1xyXG59XHJcbiJdfQ==
8
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJEaXJlY3RpdmUiLCJJbnB1dCIsIlNhY0NvbnRleHRtZW51SXRlbUNvbW1vbiIsImNvbnN0cnVjdG9yIiwiY292X2Iya3gycWpoeCIsImYiLCJzIiwiY29udGV4dG1lbnUiLCJkZXBzIiwidGFyZ2V0IiwiaTAiLCLJtcm1RmFjdG9yeVRhcmdldCIsImlucHV0cyIsIm5nSW1wb3J0IiwiZGVjb3JhdG9ycyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1jb21tb24vc3JjL2NvbnRyb2xzL2NvbnRleHRtZW51L2NvbnRleHRtZW51aXRlbS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJU2FjQ29udGV4dG1lbnVDb21tb24gfSBmcm9tICcuL2NvbnRleHRtZW51LmludGVyZmFjZSc7XHJcbmltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbi8qKlxyXG4gKiBCYXNlIENvbnRleHQgTWVudSBJdGVtXHJcbiAqL1xyXG5ARGlyZWN0aXZlKClcclxuZXhwb3J0IGNsYXNzIFNhY0NvbnRleHRtZW51SXRlbUNvbW1vbiB7XHJcbiAgICAvLyAjcmVnaW9uIFByb3BlcnRpZXNcclxuXHJcbiAgICAvKipcclxuICAgICAqIFJlZmVyZW5jZSB0byB0aGUgaGlnaGVyLWxldmVsIGNvbnRleHQgbWVudS4gVGhpcyBwcm9wZXJ0eSBpcyBhbHdheXMgc2V0IGF1dG9tYXRpY2FsbHkgYnkgdGhlIGNvbnRleHQgbWVudS4gSG93ZXZlciwgaXQgbWF5IGJlIG5lY2Vzc2FyeSB0byBzZXQgdGhlIHJlZmVyZW5jZSBtYW51YWxseS5cclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBjb250ZXh0bWVudTogSVNhY0NvbnRleHRtZW51Q29tbW9uIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gICAgLy8gI2VuZHJlZ2lvbiBQcm9wZXJ0aWVzXHJcbn1cclxuIl0sIm1hcHBpbmdzIjoiO3lGQUNBLE9BQVNBLFNBQVMsQ0FBRUMsS0FBSyxLQUFRLGVBQWUsQyxpQ0FFaEQ7O0dBR0EsS0FDYSxDQUFBQyx3QkFBd0IsQ0FEckNDLFlBQUEsRUFBQUMsYUFBQSxHQUFBQyxDQUFBLE1BQUFELGFBQUEsR0FBQUUsQ0FBQSxNQUVJO0FBRUE7O1dBSU8sS0FBQUMsV0FBVyxDQUFpQyxJQUFJLEMsdUhBUDlDTCx3QkFBd0IsQ0FBQU0sSUFBQSxJQUFBQyxNQUFBLENBQUFDLEVBQUEsQ0FBQUMsZUFBQSxDQUFBWCxTQUFBLEksNEdBQXhCRSx3QkFBd0IsQ0FBQVUsTUFBQSxFQUFBTCxXQUFBLGdCQUFBTSxRQUFBLENBQUFILEVBQUEsSSxRQUF4QlIsd0JBQXdCLEVBQUFFLGFBQUEsR0FBQUUsQ0FBQSxNLG9GQUF4Qkosd0JBQXdCLENBQUFZLFVBQUEsRyxLQURwQ2QsUyxtQkFRVU8sV0FBVyxHLEtBRGpCTixLIn0=