@simpleangularcontrols/sac-common 10.0.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (514) hide show
  1. package/README.md +16 -0
  2. package/bundles/simpleangularcontrols-sac-common.umd.js +12054 -0
  3. package/bundles/simpleangularcontrols-sac-common.umd.js.map +1 -0
  4. package/bundles/simpleangularcontrols-sac-common.umd.min.js +2 -0
  5. package/bundles/simpleangularcontrols-sac-common.umd.min.js.map +1 -0
  6. package/common/basedatetimecontrol.d.ts +83 -0
  7. package/common/basedatetimecontrol.ngfactory.d.ts +1 -0
  8. package/common/baseinputcontrol.d.ts +42 -0
  9. package/common/baseinputcontrol.ngfactory.d.ts +1 -0
  10. package/common/baselistcontrol.d.ts +43 -0
  11. package/common/baselistcontrol.ngfactory.d.ts +1 -0
  12. package/common/basemodelcontrol.d.ts +252 -0
  13. package/common/basemodelcontrol.ngfactory.d.ts +1 -0
  14. package/common/baseselectcontrol.d.ts +14 -0
  15. package/common/baseselectcontrol.ngfactory.d.ts +1 -0
  16. package/common/baseuploadcontrol.d.ts +284 -0
  17. package/common/baseuploadcontrol.ngfactory.d.ts +1 -0
  18. package/components/browser/browser.d.ts +267 -0
  19. package/components/browser/browser.ngfactory.d.ts +1 -0
  20. package/components/browser/models/browserfile.d.ts +17 -0
  21. package/components/browser/models/browserfile.ngfactory.d.ts +1 -0
  22. package/components/browser/models/browserfiledeleterequest.d.ts +18 -0
  23. package/components/browser/models/browserfiledeleterequest.ngfactory.d.ts +1 -0
  24. package/components/browser/models/browserfilerenamerequest.d.ts +22 -0
  25. package/components/browser/models/browserfilerenamerequest.ngfactory.d.ts +1 -0
  26. package/components/browser/models/browserfileresponse.d.ts +10 -0
  27. package/components/browser/models/browserfileresponse.ngfactory.d.ts +1 -0
  28. package/components/browser/models/browserfilesaverequest.d.ts +22 -0
  29. package/components/browser/models/browserfilesaverequest.ngfactory.d.ts +1 -0
  30. package/components/browser/models/browsernode.d.ts +34 -0
  31. package/components/browser/models/browsernode.ngfactory.d.ts +1 -0
  32. package/components/browser/models/browsernodedeleterequest.d.ts +14 -0
  33. package/components/browser/models/browsernodedeleterequest.ngfactory.d.ts +1 -0
  34. package/components/browser/models/browsernodenewrequest.d.ts +18 -0
  35. package/components/browser/models/browsernodenewrequest.ngfactory.d.ts +1 -0
  36. package/components/browser/models/browsernoderenamerequest.d.ts +18 -0
  37. package/components/browser/models/browsernoderenamerequest.ngfactory.d.ts +1 -0
  38. package/components/browser/models/browsernoderequest.d.ts +18 -0
  39. package/components/browser/models/browsernoderequest.ngfactory.d.ts +1 -0
  40. package/components/browser/models/browsernoderesponse.d.ts +10 -0
  41. package/components/browser/models/browsernoderesponse.ngfactory.d.ts +1 -0
  42. package/controls/buttons/button.d.ts +70 -0
  43. package/controls/buttons/button.ngfactory.d.ts +1 -0
  44. package/controls/checkbox/checkbox.d.ts +23 -0
  45. package/controls/checkbox/checkbox.ngfactory.d.ts +1 -0
  46. package/controls/checkbox/radiobutton.d.ts +79 -0
  47. package/controls/checkbox/radiobutton.ngfactory.d.ts +1 -0
  48. package/controls/checkbox/radiobuttons.d.ts +60 -0
  49. package/controls/checkbox/radiobuttons.ngfactory.d.ts +1 -0
  50. package/controls/confirm/confirm.button.d.ts +25 -0
  51. package/controls/confirm/confirm.button.ngfactory.d.ts +1 -0
  52. package/controls/confirm/confirm.d.ts +49 -0
  53. package/controls/confirm/confirm.ngfactory.d.ts +1 -0
  54. package/controls/confirm/confirm.service.d.ts +63 -0
  55. package/controls/confirm/confirm.service.ngfactory.d.ts +1 -0
  56. package/controls/contextmenu/contextmenu.d.ts +113 -0
  57. package/controls/contextmenu/contextmenu.ngfactory.d.ts +1 -0
  58. package/controls/contextmenu/contextmenuanchor.d.ts +15 -0
  59. package/controls/contextmenu/contextmenuanchor.ngfactory.d.ts +1 -0
  60. package/controls/contextmenu/contextmenucontainer.d.ts +15 -0
  61. package/controls/contextmenu/contextmenucontainer.ngfactory.d.ts +1 -0
  62. package/controls/contextmenu/contextmenuitem.d.ts +5 -0
  63. package/controls/contextmenu/contextmenuitem.ngfactory.d.ts +1 -0
  64. package/controls/contextmenu/contextmenuitembutton.d.ts +66 -0
  65. package/controls/contextmenu/contextmenuitembutton.ngfactory.d.ts +1 -0
  66. package/controls/datetime/date.d.ts +120 -0
  67. package/controls/datetime/date.ngfactory.d.ts +1 -0
  68. package/controls/datetime/dateselector.d.ts +161 -0
  69. package/controls/datetime/dateselector.ngfactory.d.ts +1 -0
  70. package/controls/datetime/datetime.d.ts +135 -0
  71. package/controls/datetime/datetime.ngfactory.d.ts +1 -0
  72. package/controls/datetime/time.d.ts +115 -0
  73. package/controls/datetime/time.ngfactory.d.ts +1 -0
  74. package/controls/dialog/dialog.d.ts +105 -0
  75. package/controls/dialog/dialog.ngfactory.d.ts +1 -0
  76. package/controls/form/form.d.ts +47 -0
  77. package/controls/form/form.ngfactory.d.ts +1 -0
  78. package/controls/grid/grid.d.ts +125 -0
  79. package/controls/grid/grid.ngfactory.d.ts +1 -0
  80. package/controls/grid/gridbutton.d.ts +33 -0
  81. package/controls/grid/gridbutton.ngfactory.d.ts +1 -0
  82. package/controls/grid/gridcolumn.d.ts +28 -0
  83. package/controls/grid/gridcolumn.ngfactory.d.ts +1 -0
  84. package/controls/grid/gridcolumnaction.d.ts +15 -0
  85. package/controls/grid/gridcolumnaction.ngfactory.d.ts +1 -0
  86. package/controls/grid/gridcolumnbase.d.ts +86 -0
  87. package/controls/grid/gridcolumnbase.ngfactory.d.ts +1 -0
  88. package/controls/grid/gridimage.d.ts +9 -0
  89. package/controls/grid/gridimage.ngfactory.d.ts +1 -0
  90. package/controls/grid/model.d.ts +83 -0
  91. package/controls/grid/model.ngfactory.d.ts +1 -0
  92. package/controls/grid/paging.d.ts +147 -0
  93. package/controls/grid/paging.ngfactory.d.ts +1 -0
  94. package/controls/input/input.d.ts +35 -0
  95. package/controls/input/input.ngfactory.d.ts +1 -0
  96. package/controls/input/inputarea.d.ts +26 -0
  97. package/controls/input/inputarea.ngfactory.d.ts +1 -0
  98. package/controls/input/inputcurrency.d.ts +11 -0
  99. package/controls/input/inputcurrency.ngfactory.d.ts +1 -0
  100. package/controls/input/inputdecimal.d.ts +59 -0
  101. package/controls/input/inputdecimal.ngfactory.d.ts +1 -0
  102. package/controls/input/inputemail.d.ts +19 -0
  103. package/controls/input/inputemail.ngfactory.d.ts +1 -0
  104. package/controls/input/inputinteger.d.ts +59 -0
  105. package/controls/input/inputinteger.ngfactory.d.ts +1 -0
  106. package/controls/input/inputpassword.d.ts +23 -0
  107. package/controls/input/inputpassword.ngfactory.d.ts +1 -0
  108. package/controls/input/inputsearch.d.ts +23 -0
  109. package/controls/input/inputsearch.ngfactory.d.ts +1 -0
  110. package/controls/layout/formlayout.d.ts +46 -0
  111. package/controls/layout/formlayout.ngfactory.d.ts +1 -0
  112. package/controls/list/dropdown.d.ts +138 -0
  113. package/controls/list/dropdown.ngfactory.d.ts +1 -0
  114. package/controls/list/list.module.d.ts +2 -0
  115. package/controls/list/list.module.ngfactory.d.ts +3 -0
  116. package/controls/list/listbox.d.ts +86 -0
  117. package/controls/list/listbox.ngfactory.d.ts +1 -0
  118. package/controls/multilanguage/multilanguageinput.d.ts +102 -0
  119. package/controls/multilanguage/multilanguageinput.ngfactory.d.ts +1 -0
  120. package/controls/multilanguage/multilanguageinputarea.d.ts +107 -0
  121. package/controls/multilanguage/multilanguageinputarea.ngfactory.d.ts +1 -0
  122. package/controls/static/formcontainer.d.ts +31 -0
  123. package/controls/static/formcontainer.ngfactory.d.ts +1 -0
  124. package/controls/static/staticlabel.d.ts +18 -0
  125. package/controls/static/staticlabel.ngfactory.d.ts +1 -0
  126. package/controls/tabs/tab.d.ts +45 -0
  127. package/controls/tabs/tab.ngfactory.d.ts +1 -0
  128. package/controls/tabs/tabitem.d.ts +30 -0
  129. package/controls/tabs/tabitem.ngfactory.d.ts +1 -0
  130. package/controls/tinymce/tinymce.d.ts +149 -0
  131. package/controls/tinymce/tinymce.ngfactory.d.ts +1 -0
  132. package/controls/tinymce/tinymcedialogsettings.d.ts +27 -0
  133. package/controls/tinymce/tinymcedialogsettings.ngfactory.d.ts +1 -0
  134. package/controls/tinymce/tinymcedialogsettingsmeta.d.ts +9 -0
  135. package/controls/tinymce/tinymcedialogsettingsmeta.ngfactory.d.ts +1 -0
  136. package/controls/tinymce/tinymceinstance.d.ts +10 -0
  137. package/controls/tinymce/tinymceinstance.ngfactory.d.ts +1 -0
  138. package/controls/tooltip/tooltip.d.ts +138 -0
  139. package/controls/tooltip/tooltip.ngfactory.d.ts +1 -0
  140. package/controls/treeview/ngtreeitemaction.d.ts +40 -0
  141. package/controls/treeview/ngtreeitemaction.ngfactory.d.ts +1 -0
  142. package/controls/treeview/treeview.d.ts +185 -0
  143. package/controls/treeview/treeview.ngfactory.d.ts +1 -0
  144. package/controls/treeview/treeviewchild.d.ts +12 -0
  145. package/controls/treeview/treeviewchild.ngfactory.d.ts +1 -0
  146. package/controls/upload/dropzonemultiple.d.ts +70 -0
  147. package/controls/upload/dropzonemultiple.ngfactory.d.ts +1 -0
  148. package/controls/upload/dropzonesingle.d.ts +47 -0
  149. package/controls/upload/dropzonesingle.ngfactory.d.ts +1 -0
  150. package/controls/upload/uploadmultiple.d.ts +50 -0
  151. package/controls/upload/uploadmultiple.ngfactory.d.ts +1 -0
  152. package/controls/upload/uploadsingle.d.ts +27 -0
  153. package/controls/upload/uploadsingle.ngfactory.d.ts +1 -0
  154. package/controls/validation/validationsummary.d.ts +60 -0
  155. package/controls/validation/validationsummary.ngfactory.d.ts +1 -0
  156. package/controls/wizard/wizard.d.ts +73 -0
  157. package/controls/wizard/wizard.ngfactory.d.ts +1 -0
  158. package/controls/wizard/wizarditem.d.ts +25 -0
  159. package/controls/wizard/wizarditem.ngfactory.d.ts +1 -0
  160. package/enums/ButtonRoleType.d.ts +1 -0
  161. package/enums/ButtonRoleType.ngfactory.d.ts +1 -0
  162. package/enums/ControlHeight.d.ts +17 -0
  163. package/enums/ControlHeight.ngfactory.d.ts +1 -0
  164. package/enums/IconType.d.ts +7 -0
  165. package/enums/IconType.ngfactory.d.ts +1 -0
  166. package/esm2015/common/basedatetimecontrol.js +164 -0
  167. package/esm2015/common/basedatetimecontrol.ngfactory.js +7 -0
  168. package/esm2015/common/baseinputcontrol.js +78 -0
  169. package/esm2015/common/baseinputcontrol.ngfactory.js +7 -0
  170. package/esm2015/common/baselistcontrol.js +55 -0
  171. package/esm2015/common/baselistcontrol.ngfactory.js +7 -0
  172. package/esm2015/common/basemodelcontrol.js +483 -0
  173. package/esm2015/common/basemodelcontrol.ngfactory.js +7 -0
  174. package/esm2015/common/baseselectcontrol.js +26 -0
  175. package/esm2015/common/baseselectcontrol.ngfactory.js +7 -0
  176. package/esm2015/common/baseuploadcontrol.js +457 -0
  177. package/esm2015/common/baseuploadcontrol.ngfactory.js +7 -0
  178. package/esm2015/components/browser/browser.js +545 -0
  179. package/esm2015/components/browser/browser.ngfactory.js +7 -0
  180. package/esm2015/components/browser/models/browserfile.js +1 -0
  181. package/esm2015/components/browser/models/browserfile.ngfactory.js +7 -0
  182. package/esm2015/components/browser/models/browserfiledeleterequest.js +13 -0
  183. package/esm2015/components/browser/models/browserfiledeleterequest.ngfactory.js +7 -0
  184. package/esm2015/components/browser/models/browserfilerenamerequest.js +13 -0
  185. package/esm2015/components/browser/models/browserfilerenamerequest.ngfactory.js +7 -0
  186. package/esm2015/components/browser/models/browserfileresponse.js +1 -0
  187. package/esm2015/components/browser/models/browserfileresponse.ngfactory.js +7 -0
  188. package/esm2015/components/browser/models/browserfilesaverequest.js +13 -0
  189. package/esm2015/components/browser/models/browserfilesaverequest.ngfactory.js +7 -0
  190. package/esm2015/components/browser/models/browsernode.js +1 -0
  191. package/esm2015/components/browser/models/browsernode.ngfactory.js +7 -0
  192. package/esm2015/components/browser/models/browsernodedeleterequest.js +13 -0
  193. package/esm2015/components/browser/models/browsernodedeleterequest.ngfactory.js +7 -0
  194. package/esm2015/components/browser/models/browsernodenewrequest.js +13 -0
  195. package/esm2015/components/browser/models/browsernodenewrequest.ngfactory.js +7 -0
  196. package/esm2015/components/browser/models/browsernoderenamerequest.js +13 -0
  197. package/esm2015/components/browser/models/browsernoderenamerequest.ngfactory.js +7 -0
  198. package/esm2015/components/browser/models/browsernoderequest.js +13 -0
  199. package/esm2015/components/browser/models/browsernoderequest.ngfactory.js +7 -0
  200. package/esm2015/components/browser/models/browsernoderesponse.js +1 -0
  201. package/esm2015/components/browser/models/browsernoderesponse.ngfactory.js +7 -0
  202. package/esm2015/controls/buttons/button.js +141 -0
  203. package/esm2015/controls/buttons/button.ngfactory.js +7 -0
  204. package/esm2015/controls/checkbox/checkbox.js +33 -0
  205. package/esm2015/controls/checkbox/checkbox.ngfactory.js +7 -0
  206. package/esm2015/controls/checkbox/radiobutton.js +115 -0
  207. package/esm2015/controls/checkbox/radiobutton.ngfactory.js +7 -0
  208. package/esm2015/controls/checkbox/radiobuttons.js +113 -0
  209. package/esm2015/controls/checkbox/radiobuttons.ngfactory.js +7 -0
  210. package/esm2015/controls/confirm/confirm.button.js +32 -0
  211. package/esm2015/controls/confirm/confirm.button.ngfactory.js +7 -0
  212. package/esm2015/controls/confirm/confirm.js +75 -0
  213. package/esm2015/controls/confirm/confirm.ngfactory.js +7 -0
  214. package/esm2015/controls/confirm/confirm.service.js +87 -0
  215. package/esm2015/controls/confirm/confirm.service.ngfactory.js +7 -0
  216. package/esm2015/controls/contextmenu/contextmenu.js +194 -0
  217. package/esm2015/controls/contextmenu/contextmenu.ngfactory.js +7 -0
  218. package/esm2015/controls/contextmenu/contextmenuanchor.js +22 -0
  219. package/esm2015/controls/contextmenu/contextmenuanchor.ngfactory.js +7 -0
  220. package/esm2015/controls/contextmenu/contextmenucontainer.js +22 -0
  221. package/esm2015/controls/contextmenu/contextmenucontainer.ngfactory.js +7 -0
  222. package/esm2015/controls/contextmenu/contextmenuitem.js +10 -0
  223. package/esm2015/controls/contextmenu/contextmenuitem.ngfactory.js +7 -0
  224. package/esm2015/controls/contextmenu/contextmenuitembutton.js +97 -0
  225. package/esm2015/controls/contextmenu/contextmenuitembutton.ngfactory.js +7 -0
  226. package/esm2015/controls/datetime/date.js +212 -0
  227. package/esm2015/controls/datetime/date.ngfactory.js +7 -0
  228. package/esm2015/controls/datetime/dateselector.js +458 -0
  229. package/esm2015/controls/datetime/dateselector.ngfactory.js +7 -0
  230. package/esm2015/controls/datetime/datetime.js +229 -0
  231. package/esm2015/controls/datetime/datetime.ngfactory.js +7 -0
  232. package/esm2015/controls/datetime/time.js +212 -0
  233. package/esm2015/controls/datetime/time.ngfactory.js +7 -0
  234. package/esm2015/controls/dialog/dialog.js +207 -0
  235. package/esm2015/controls/dialog/dialog.ngfactory.js +7 -0
  236. package/esm2015/controls/form/form.js +110 -0
  237. package/esm2015/controls/form/form.ngfactory.js +7 -0
  238. package/esm2015/controls/grid/grid.js +144 -0
  239. package/esm2015/controls/grid/grid.ngfactory.js +7 -0
  240. package/esm2015/controls/grid/gridbutton.js +54 -0
  241. package/esm2015/controls/grid/gridbutton.ngfactory.js +7 -0
  242. package/esm2015/controls/grid/gridcolumn.js +49 -0
  243. package/esm2015/controls/grid/gridcolumn.ngfactory.js +7 -0
  244. package/esm2015/controls/grid/gridcolumnaction.js +26 -0
  245. package/esm2015/controls/grid/gridcolumnaction.ngfactory.js +7 -0
  246. package/esm2015/controls/grid/gridcolumnbase.js +126 -0
  247. package/esm2015/controls/grid/gridcolumnbase.ngfactory.js +7 -0
  248. package/esm2015/controls/grid/gridimage.js +13 -0
  249. package/esm2015/controls/grid/gridimage.ngfactory.js +7 -0
  250. package/esm2015/controls/grid/model.js +79 -0
  251. package/esm2015/controls/grid/model.ngfactory.js +7 -0
  252. package/esm2015/controls/grid/paging.js +254 -0
  253. package/esm2015/controls/grid/paging.ngfactory.js +7 -0
  254. package/esm2015/controls/input/input.js +66 -0
  255. package/esm2015/controls/input/input.ngfactory.js +7 -0
  256. package/esm2015/controls/input/inputarea.js +54 -0
  257. package/esm2015/controls/input/inputarea.ngfactory.js +7 -0
  258. package/esm2015/controls/input/inputcurrency.js +31 -0
  259. package/esm2015/controls/input/inputcurrency.ngfactory.js +7 -0
  260. package/esm2015/controls/input/inputdecimal.js +146 -0
  261. package/esm2015/controls/input/inputdecimal.ngfactory.js +7 -0
  262. package/esm2015/controls/input/inputemail.js +41 -0
  263. package/esm2015/controls/input/inputemail.ngfactory.js +7 -0
  264. package/esm2015/controls/input/inputinteger.js +130 -0
  265. package/esm2015/controls/input/inputinteger.ngfactory.js +7 -0
  266. package/esm2015/controls/input/inputpassword.js +46 -0
  267. package/esm2015/controls/input/inputpassword.ngfactory.js +7 -0
  268. package/esm2015/controls/input/inputsearch.js +37 -0
  269. package/esm2015/controls/input/inputsearch.ngfactory.js +7 -0
  270. package/esm2015/controls/layout/formlayout.js +70 -0
  271. package/esm2015/controls/layout/formlayout.ngfactory.js +7 -0
  272. package/esm2015/controls/list/dropdown.js +270 -0
  273. package/esm2015/controls/list/dropdown.ngfactory.js +7 -0
  274. package/esm2015/controls/list/list.module.js +11 -0
  275. package/esm2015/controls/list/list.module.ngfactory.js +7 -0
  276. package/esm2015/controls/list/listbox.js +187 -0
  277. package/esm2015/controls/list/listbox.ngfactory.js +7 -0
  278. package/esm2015/controls/multilanguage/multilanguageinput.js +230 -0
  279. package/esm2015/controls/multilanguage/multilanguageinput.ngfactory.js +7 -0
  280. package/esm2015/controls/multilanguage/multilanguageinputarea.js +231 -0
  281. package/esm2015/controls/multilanguage/multilanguageinputarea.ngfactory.js +7 -0
  282. package/esm2015/controls/static/formcontainer.js +50 -0
  283. package/esm2015/controls/static/formcontainer.ngfactory.js +7 -0
  284. package/esm2015/controls/static/staticlabel.js +31 -0
  285. package/esm2015/controls/static/staticlabel.ngfactory.js +7 -0
  286. package/esm2015/controls/tabs/tab.js +72 -0
  287. package/esm2015/controls/tabs/tab.ngfactory.js +7 -0
  288. package/esm2015/controls/tabs/tabitem.js +32 -0
  289. package/esm2015/controls/tabs/tabitem.ngfactory.js +7 -0
  290. package/esm2015/controls/tinymce/tinymce.js +238 -0
  291. package/esm2015/controls/tinymce/tinymce.ngfactory.js +7 -0
  292. package/esm2015/controls/tinymce/tinymcedialogsettings.js +13 -0
  293. package/esm2015/controls/tinymce/tinymcedialogsettings.ngfactory.js +7 -0
  294. package/esm2015/controls/tinymce/tinymcedialogsettingsmeta.js +4 -0
  295. package/esm2015/controls/tinymce/tinymcedialogsettingsmeta.ngfactory.js +7 -0
  296. package/esm2015/controls/tinymce/tinymceinstance.js +1 -0
  297. package/esm2015/controls/tinymce/tinymceinstance.ngfactory.js +7 -0
  298. package/esm2015/controls/tooltip/tooltip.js +361 -0
  299. package/esm2015/controls/tooltip/tooltip.ngfactory.js +7 -0
  300. package/esm2015/controls/treeview/ngtreeitemaction.js +60 -0
  301. package/esm2015/controls/treeview/ngtreeitemaction.ngfactory.js +7 -0
  302. package/esm2015/controls/treeview/treeview.js +322 -0
  303. package/esm2015/controls/treeview/treeview.ngfactory.js +7 -0
  304. package/esm2015/controls/treeview/treeviewchild.js +18 -0
  305. package/esm2015/controls/treeview/treeviewchild.ngfactory.js +7 -0
  306. package/esm2015/controls/upload/dropzonemultiple.js +163 -0
  307. package/esm2015/controls/upload/dropzonemultiple.ngfactory.js +7 -0
  308. package/esm2015/controls/upload/dropzonesingle.js +108 -0
  309. package/esm2015/controls/upload/dropzonesingle.ngfactory.js +7 -0
  310. package/esm2015/controls/upload/uploadmultiple.js +121 -0
  311. package/esm2015/controls/upload/uploadmultiple.ngfactory.js +7 -0
  312. package/esm2015/controls/upload/uploadsingle.js +55 -0
  313. package/esm2015/controls/upload/uploadsingle.ngfactory.js +7 -0
  314. package/esm2015/controls/validation/validationsummary.js +133 -0
  315. package/esm2015/controls/validation/validationsummary.ngfactory.js +7 -0
  316. package/esm2015/controls/wizard/wizard.js +139 -0
  317. package/esm2015/controls/wizard/wizard.ngfactory.js +7 -0
  318. package/esm2015/controls/wizard/wizarditem.js +27 -0
  319. package/esm2015/controls/wizard/wizarditem.ngfactory.js +7 -0
  320. package/esm2015/enums/ButtonRoleType.js +1 -0
  321. package/esm2015/enums/ButtonRoleType.ngfactory.js +7 -0
  322. package/esm2015/enums/ControlHeight.js +19 -0
  323. package/esm2015/enums/ControlHeight.ngfactory.js +7 -0
  324. package/esm2015/enums/IconType.js +9 -0
  325. package/esm2015/enums/IconType.ngfactory.js +7 -0
  326. package/esm2015/interfaces/ISacConfigurationService.js +1 -0
  327. package/esm2015/interfaces/ISacConfigurationService.ngfactory.js +7 -0
  328. package/esm2015/interfaces/ISacFileBrowserService.js +1 -0
  329. package/esm2015/interfaces/ISacFileBrowserService.ngfactory.js +7 -0
  330. package/esm2015/interfaces/ISacIconService.js +1 -0
  331. package/esm2015/interfaces/ISacIconService.ngfactory.js +7 -0
  332. package/esm2015/interfaces/ISacLabelSizes.js +1 -0
  333. package/esm2015/interfaces/ISacLabelSizes.ngfactory.js +7 -0
  334. package/esm2015/interfaces/ISacLanguageService.js +1 -0
  335. package/esm2015/interfaces/ISacLanguageService.ngfactory.js +7 -0
  336. package/esm2015/interfaces/ISacLocalisationService.js +1 -0
  337. package/esm2015/interfaces/ISacLocalisationService.ngfactory.js +7 -0
  338. package/esm2015/interfaces/ISacValidationKeyService.js +1 -0
  339. package/esm2015/interfaces/ISacValidationKeyService.ngfactory.js +7 -0
  340. package/esm2015/interfaces/iabstractcontrollabel.js +1 -0
  341. package/esm2015/interfaces/iabstractcontrollabel.ngfactory.js +7 -0
  342. package/esm2015/interfaces/iconfirmcomponent.js +1 -0
  343. package/esm2015/interfaces/iconfirmcomponent.ngfactory.js +7 -0
  344. package/esm2015/interfaces/idatetimecontrol.js +1 -0
  345. package/esm2015/interfaces/idatetimecontrol.ngfactory.js +7 -0
  346. package/esm2015/interfaces/iuploadcontrol.js +1 -0
  347. package/esm2015/interfaces/iuploadcontrol.ngfactory.js +7 -0
  348. package/esm2015/models/languagemodel.js +13 -0
  349. package/esm2015/models/languagemodel.ngfactory.js +7 -0
  350. package/esm2015/public_api.js +101 -0
  351. package/esm2015/public_api.ngfactory.js +7 -0
  352. package/esm2015/services/index.js +7 -0
  353. package/esm2015/services/index.ngfactory.js +7 -0
  354. package/esm2015/services/sac-configuration.service.js +77 -0
  355. package/esm2015/services/sac-configuration.service.ngfactory.js +7 -0
  356. package/esm2015/services/sac-filebrowser.service.js +203 -0
  357. package/esm2015/services/sac-filebrowser.service.ngfactory.js +7 -0
  358. package/esm2015/services/sac-icon.service.js +155 -0
  359. package/esm2015/services/sac-icon.service.ngfactory.js +7 -0
  360. package/esm2015/services/sac-language.service.js +43 -0
  361. package/esm2015/services/sac-language.service.ngfactory.js +7 -0
  362. package/esm2015/services/sac-localisation.service.js +460 -0
  363. package/esm2015/services/sac-localisation.service.ngfactory.js +7 -0
  364. package/esm2015/services/sac-validationkey.service.js +156 -0
  365. package/esm2015/services/sac-validationkey.service.ngfactory.js +7 -0
  366. package/esm2015/simpleangularcontrols-sac-common.js +11 -0
  367. package/esm2015/simpleangularcontrols-sac-common.ngfactory.js +7 -0
  368. package/esm2015/utilities/convertion.js +32 -0
  369. package/esm2015/utilities/convertion.ngfactory.js +7 -0
  370. package/esm2015/utilities/datatypes.js +9 -0
  371. package/esm2015/utilities/datatypes.ngfactory.js +7 -0
  372. package/esm2015/utilities/enums.js +16 -0
  373. package/esm2015/utilities/enums.ngfactory.js +7 -0
  374. package/esm2015/utilities/guid.js +16 -0
  375. package/esm2015/utilities/guid.ngfactory.js +7 -0
  376. package/esm2015/utilities/interpolation.js +50 -0
  377. package/esm2015/utilities/interpolation.ngfactory.js +7 -0
  378. package/esm2015/utilities/positioning.js +301 -0
  379. package/esm2015/utilities/positioning.ngfactory.js +7 -0
  380. package/esm2015/validation/email.validator.js +13 -0
  381. package/esm2015/validation/email.validator.ngfactory.js +7 -0
  382. package/esm2015/validation/index.js +3 -0
  383. package/esm2015/validation/index.ngfactory.js +7 -0
  384. package/esm2015/validation/invaliddate.validator.js +14 -0
  385. package/esm2015/validation/invaliddate.validator.ngfactory.js +7 -0
  386. package/esm2015/validation/isDateValid.js +15 -0
  387. package/esm2015/validation/isDateValid.ngfactory.js +7 -0
  388. package/esm2015/validation/maxdate.validator.js +21 -0
  389. package/esm2015/validation/maxdate.validator.ngfactory.js +7 -0
  390. package/esm2015/validation/maxtime.validator.js +21 -0
  391. package/esm2015/validation/maxtime.validator.ngfactory.js +7 -0
  392. package/esm2015/validation/maxvalue.validator.js +16 -0
  393. package/esm2015/validation/maxvalue.validator.ngfactory.js +7 -0
  394. package/esm2015/validation/mindate.validator.js +21 -0
  395. package/esm2015/validation/mindate.validator.ngfactory.js +7 -0
  396. package/esm2015/validation/minfiles.validator.js +19 -0
  397. package/esm2015/validation/minfiles.validator.ngfactory.js +7 -0
  398. package/esm2015/validation/minlength.validator.js +21 -0
  399. package/esm2015/validation/minlength.validator.ngfactory.js +7 -0
  400. package/esm2015/validation/mintime.validator.js +21 -0
  401. package/esm2015/validation/mintime.validator.ngfactory.js +7 -0
  402. package/esm2015/validation/minvalue.validator.js +16 -0
  403. package/esm2015/validation/minvalue.validator.ngfactory.js +7 -0
  404. package/esm2015/validation/multilanguagerequired.validator.js +22 -0
  405. package/esm2015/validation/multilanguagerequired.validator.ngfactory.js +7 -0
  406. package/esm2015/validation/multilanguagerequiredany.validator.js +22 -0
  407. package/esm2015/validation/multilanguagerequiredany.validator.ngfactory.js +7 -0
  408. package/esm2015/validation/pattern.validator.js +16 -0
  409. package/esm2015/validation/pattern.validator.ngfactory.js +7 -0
  410. package/esm2015/validation/required.validator.js +13 -0
  411. package/esm2015/validation/required.validator.ngfactory.js +7 -0
  412. package/esm2015/validation/validation.class.js +189 -0
  413. package/esm2015/validation/validation.class.ngfactory.js +7 -0
  414. package/esm2015/validation/validationerrorcreator.js +11 -0
  415. package/esm2015/validation/validationerrorcreator.ngfactory.js +7 -0
  416. package/esm2015/validation/validationerroritem.js +27 -0
  417. package/esm2015/validation/validationerroritem.ngfactory.js +7 -0
  418. package/fesm2015/simpleangularcontrols-sac-common.js +10319 -0
  419. package/fesm2015/simpleangularcontrols-sac-common.js.map +1 -0
  420. package/interfaces/ISacConfigurationService.d.ts +38 -0
  421. package/interfaces/ISacConfigurationService.ngfactory.d.ts +1 -0
  422. package/interfaces/ISacFileBrowserService.d.ts +65 -0
  423. package/interfaces/ISacFileBrowserService.ngfactory.d.ts +1 -0
  424. package/interfaces/ISacIconService.d.ts +89 -0
  425. package/interfaces/ISacIconService.ngfactory.d.ts +1 -0
  426. package/interfaces/ISacLabelSizes.d.ts +26 -0
  427. package/interfaces/ISacLabelSizes.ngfactory.d.ts +1 -0
  428. package/interfaces/ISacLanguageService.d.ts +12 -0
  429. package/interfaces/ISacLanguageService.ngfactory.d.ts +1 -0
  430. package/interfaces/ISacLocalisationService.d.ts +10 -0
  431. package/interfaces/ISacLocalisationService.ngfactory.d.ts +1 -0
  432. package/interfaces/ISacValidationKeyService.d.ts +52 -0
  433. package/interfaces/ISacValidationKeyService.ngfactory.d.ts +1 -0
  434. package/interfaces/iabstractcontrollabel.d.ts +6 -0
  435. package/interfaces/iabstractcontrollabel.ngfactory.d.ts +1 -0
  436. package/interfaces/iconfirmcomponent.d.ts +18 -0
  437. package/interfaces/iconfirmcomponent.ngfactory.d.ts +1 -0
  438. package/interfaces/idatetimecontrol.d.ts +7 -0
  439. package/interfaces/idatetimecontrol.ngfactory.d.ts +1 -0
  440. package/interfaces/iuploadcontrol.d.ts +9 -0
  441. package/interfaces/iuploadcontrol.ngfactory.d.ts +1 -0
  442. package/models/languagemodel.d.ts +22 -0
  443. package/models/languagemodel.ngfactory.d.ts +1 -0
  444. package/package.json +28 -0
  445. package/public_api.d.ts +79 -0
  446. package/public_api.ngfactory.d.ts +1 -0
  447. package/services/index.d.ts +6 -0
  448. package/services/index.ngfactory.d.ts +1 -0
  449. package/services/sac-configuration.service.d.ts +81 -0
  450. package/services/sac-configuration.service.ngfactory.d.ts +1 -0
  451. package/services/sac-filebrowser.service.d.ts +140 -0
  452. package/services/sac-filebrowser.service.ngfactory.d.ts +1 -0
  453. package/services/sac-icon.service.d.ts +184 -0
  454. package/services/sac-icon.service.ngfactory.d.ts +1 -0
  455. package/services/sac-language.service.d.ts +26 -0
  456. package/services/sac-language.service.ngfactory.d.ts +1 -0
  457. package/services/sac-localisation.service.d.ts +137 -0
  458. package/services/sac-localisation.service.ngfactory.d.ts +1 -0
  459. package/services/sac-validationkey.service.d.ts +55 -0
  460. package/services/sac-validationkey.service.ngfactory.d.ts +1 -0
  461. package/simpleangularcontrols-sac-common-10.0.0-rc.1.tgz +0 -0
  462. package/simpleangularcontrols-sac-common.d.ts +10 -0
  463. package/simpleangularcontrols-sac-common.metadata.json +1 -0
  464. package/simpleangularcontrols-sac-common.ngfactory.d.ts +1 -0
  465. package/utilities/convertion.d.ts +15 -0
  466. package/utilities/convertion.ngfactory.d.ts +1 -0
  467. package/utilities/datatypes.d.ts +6 -0
  468. package/utilities/datatypes.ngfactory.d.ts +1 -0
  469. package/utilities/enums.d.ts +10 -0
  470. package/utilities/enums.ngfactory.d.ts +1 -0
  471. package/utilities/guid.d.ts +4 -0
  472. package/utilities/guid.ngfactory.d.ts +1 -0
  473. package/utilities/interpolation.d.ts +21 -0
  474. package/utilities/interpolation.ngfactory.d.ts +1 -0
  475. package/utilities/positioning.d.ts +82 -0
  476. package/utilities/positioning.ngfactory.d.ts +1 -0
  477. package/validation/email.validator.d.ts +2 -0
  478. package/validation/email.validator.ngfactory.d.ts +1 -0
  479. package/validation/index.d.ts +2 -0
  480. package/validation/index.ngfactory.d.ts +1 -0
  481. package/validation/invaliddate.validator.d.ts +2 -0
  482. package/validation/invaliddate.validator.ngfactory.d.ts +1 -0
  483. package/validation/isDateValid.d.ts +5 -0
  484. package/validation/isDateValid.ngfactory.d.ts +1 -0
  485. package/validation/maxdate.validator.d.ts +2 -0
  486. package/validation/maxdate.validator.ngfactory.d.ts +1 -0
  487. package/validation/maxtime.validator.d.ts +2 -0
  488. package/validation/maxtime.validator.ngfactory.d.ts +1 -0
  489. package/validation/maxvalue.validator.d.ts +2 -0
  490. package/validation/maxvalue.validator.ngfactory.d.ts +1 -0
  491. package/validation/mindate.validator.d.ts +2 -0
  492. package/validation/mindate.validator.ngfactory.d.ts +1 -0
  493. package/validation/minfiles.validator.d.ts +2 -0
  494. package/validation/minfiles.validator.ngfactory.d.ts +1 -0
  495. package/validation/minlength.validator.d.ts +2 -0
  496. package/validation/minlength.validator.ngfactory.d.ts +1 -0
  497. package/validation/mintime.validator.d.ts +2 -0
  498. package/validation/mintime.validator.ngfactory.d.ts +1 -0
  499. package/validation/minvalue.validator.d.ts +2 -0
  500. package/validation/minvalue.validator.ngfactory.d.ts +1 -0
  501. package/validation/multilanguagerequired.validator.d.ts +3 -0
  502. package/validation/multilanguagerequired.validator.ngfactory.d.ts +1 -0
  503. package/validation/multilanguagerequiredany.validator.d.ts +3 -0
  504. package/validation/multilanguagerequiredany.validator.ngfactory.d.ts +1 -0
  505. package/validation/pattern.validator.d.ts +2 -0
  506. package/validation/pattern.validator.ngfactory.d.ts +1 -0
  507. package/validation/required.validator.d.ts +2 -0
  508. package/validation/required.validator.ngfactory.d.ts +1 -0
  509. package/validation/validation.class.d.ts +139 -0
  510. package/validation/validation.class.ngfactory.d.ts +1 -0
  511. package/validation/validationerrorcreator.d.ts +1 -0
  512. package/validation/validationerrorcreator.ngfactory.d.ts +1 -0
  513. package/validation/validationerroritem.d.ts +33 -0
  514. package/validation/validationerroritem.ngfactory.d.ts +1 -0
@@ -0,0 +1,207 @@
1
+ import { ChangeDetectorRef, ElementRef, EventEmitter, HostListener, Input, Output, ViewChild, Directive, } from '@angular/core';
2
+ /**
3
+ * Base Komponente für Dialog
4
+ */
5
+ export class SacDialogCommon {
6
+ // #endregion
7
+ // #region Constructor
8
+ /**
9
+ * Konstruktor
10
+ * Inject des Formulars
11
+ */
12
+ constructor(cdRef) {
13
+ this.cdRef = cdRef;
14
+ this.hasSetBodyTag = false;
15
+ /**
16
+ * Boolean Property definiert ob das Dialog angezeigt wird
17
+ */
18
+ this._show = false;
19
+ /**
20
+ * Das property enthielt (wenn überhaupt gesetzt) entweder keywords für sizing oder custom css Klassen.
21
+ * Die akzeptabel keywordssind: 'small', 'large', 'extralarge', 'medium', ''.
22
+ */
23
+ this._size = '';
24
+ // #region Properties
25
+ /**
26
+ * Input Property. Erhält den Title des Dialog. Default Value: 'Dialog'.
27
+ */
28
+ this.title = 'Dialog';
29
+ /**
30
+ * Das input property akzeptiert boolen Wert. Definiert ob das Dialog darf durch ESC geschlossen werden. Default ist true.
31
+ */
32
+ this.allowesc = true;
33
+ /**
34
+ * Das input property akzeptiert boolen Wert. Definiert ob das Dialog darf durch click außerhalb des Dialog-Fenster geschlossen werden. Default ist true.
35
+ */
36
+ this.backdrop = true;
37
+ /**
38
+ * Input Property. Erhält den Namen des Dialog - benutzt für das ID. Default Value: ''
39
+ */
40
+ this.name = '';
41
+ /**
42
+ * Steuert ob im Header des Dialogs ein Button angezeigt wird.
43
+ */
44
+ this.closebutton = true;
45
+ /**
46
+ * Input Property. Erhält die Breite des Dialog
47
+ */
48
+ this.width = null;
49
+ /**
50
+ * Definiert eine feste Höhe beim Dialog.
51
+ */
52
+ this.height = null;
53
+ /**
54
+ * Output Emitter. Wird aufgerufen, wenn das Wert des _show property geändert ist - damait das Dialog geöfnet/geschlossen wird.
55
+ */
56
+ this.isvisibleChange = new EventEmitter();
57
+ }
58
+ /**
59
+ * Implementation als Setter, da mit ngIf das Element bei Unsichtbarkeit UNDEFINED ist.
60
+ */
61
+ set dialogElementSetter(content) {
62
+ this.dialogElement = content;
63
+ }
64
+ /**
65
+ * Das Input akzeptiert sowohl default size-css-Klassen als auch custom Klassen.
66
+ * case insensitive.
67
+ * Die akzeptabel default-size-Klassen sind: 'small', 'large', 'extralarge', 'medium', ''.
68
+ * Wenn size ist NICHT gesetzt (oder 'medium' oder ''), default ist in medium size: max-width 500px.
69
+ */
70
+ set size(v) {
71
+ v = v.toLowerCase();
72
+ this._size = v;
73
+ }
74
+ /**
75
+ * Setter. Erhält das boolen Wert des _show property
76
+ */
77
+ set isvisible(v) {
78
+ if (v &&
79
+ !this.hasSetBodyTag &&
80
+ !document.body.classList.contains('modal-open')) {
81
+ document.body.classList.add('modal-open');
82
+ this.hasSetBodyTag = true;
83
+ }
84
+ if (!v &&
85
+ this.hasSetBodyTag &&
86
+ document.body.classList.contains('modal-open')) {
87
+ document.body.classList.remove('modal-open');
88
+ this.hasSetBodyTag = false;
89
+ }
90
+ this._show = v;
91
+ }
92
+ /**
93
+ * Getter. Ergibt das boolen Wert des _show property
94
+ */
95
+ get isvisible() {
96
+ return this._show;
97
+ }
98
+ /**
99
+ * Die Funktion prüft ob es ein default css classe für Size des Dialog durch den size Input gesetzt wurde.
100
+ */
101
+ issetdefaultsize() {
102
+ let result = false;
103
+ switch (this._size) {
104
+ case 'small':
105
+ result = true;
106
+ break;
107
+ case 'medium':
108
+ result = true;
109
+ break;
110
+ case 'large':
111
+ result = true;
112
+ break;
113
+ case 'extralarge':
114
+ result = true;
115
+ break;
116
+ case '':
117
+ result = true;
118
+ break;
119
+ }
120
+ return result;
121
+ }
122
+ // #endregion
123
+ /**
124
+ * Methode wenn Componente entfernt wird
125
+ */
126
+ ngOnDestroy() {
127
+ if (this.hasSetBodyTag && document.body.classList.contains('modal-open')) {
128
+ document.body.classList.remove('modal-open');
129
+ this.hasSetBodyTag = false;
130
+ }
131
+ }
132
+ // #region Methods
133
+ /**
134
+ * Die Methode setz den Wert des _show property auf true
135
+ */
136
+ show() {
137
+ this._show = true;
138
+ if (!this.hasSetBodyTag &&
139
+ !document.body.classList.contains('modal-open')) {
140
+ document.body.classList.add('modal-open');
141
+ this.hasSetBodyTag = true;
142
+ }
143
+ this.isvisibleChange.emit(this._show);
144
+ }
145
+ /**
146
+ * Die Methode setz den Wert des _show property auf false
147
+ */
148
+ hide() {
149
+ if (this.hasSetBodyTag && document.body.classList.contains('modal-open')) {
150
+ document.body.classList.remove('modal-open');
151
+ this.hasSetBodyTag = false;
152
+ }
153
+ this._show = false;
154
+ this.isvisibleChange.emit(this._show);
155
+ }
156
+ /**
157
+ * Getter for ChangeDetector.
158
+ */
159
+ get ChangeDetector() {
160
+ return this.cdRef;
161
+ }
162
+ // #endregion
163
+ // #region Host Actions
164
+ /**
165
+ * Allow Close by Click outside Dialog
166
+ */
167
+ onClick(event) {
168
+ if (this.allowesc === false ||
169
+ (this.dialogElement !== null &&
170
+ this.dialogElement !== undefined &&
171
+ event.target !== this.dialogElement.nativeElement)) {
172
+ return;
173
+ }
174
+ this.hide();
175
+ }
176
+ /**
177
+ * Allow Close by ESC
178
+ */
179
+ onKeydownHandler(event) {
180
+ const ESCAPE_KEYCODE = 'Escape';
181
+ if (this.allowesc === true && event.key === ESCAPE_KEYCODE) {
182
+ this.hide();
183
+ }
184
+ }
185
+ }
186
+ SacDialogCommon.decorators = [
187
+ { type: Directive }
188
+ ];
189
+ SacDialogCommon.ctorParameters = () => [
190
+ { type: ChangeDetectorRef }
191
+ ];
192
+ SacDialogCommon.propDecorators = {
193
+ dialogElementSetter: [{ type: ViewChild, args: ['dialog', { static: false },] }],
194
+ title: [{ type: Input }],
195
+ allowesc: [{ type: Input }],
196
+ backdrop: [{ type: Input }],
197
+ name: [{ type: Input }],
198
+ closebutton: [{ type: Input }],
199
+ width: [{ type: Input }],
200
+ height: [{ type: Input }],
201
+ size: [{ type: Input }],
202
+ isvisibleChange: [{ type: Output }],
203
+ isvisible: [{ type: Input }],
204
+ onClick: [{ type: HostListener, args: ['click', ['$event'],] }],
205
+ onKeydownHandler: [{ type: HostListener, args: ['document:keydown', ['$event'],] }]
206
+ };
207
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmpzIiwic291cmNlUm9vdCI6IkM6L1Byb2pla3RlL3NpbXBsZWFuZ3VsYXJjb250cm9scy1uZzEwL2NoLmpuZXR3b3JrLnNhYy1jb250cm9scy9wcm9qZWN0cy9zYWMtY29tbW9uL3NyYy8iLCJzb3VyY2VzIjpbImNvbnRyb2xzL2RpYWxvZy9kaWFsb2cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixVQUFVLEVBQ1YsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVCxTQUFTLEdBRVYsTUFBTSxlQUFlLENBQUM7QUFFdkI7O0dBRUc7QUFFSCxNQUFNLE9BQU8sZUFBZTtJQXFKMUIsYUFBYTtJQUViLHNCQUFzQjtJQUV0Qjs7O09BR0c7SUFDSCxZQUFvQixLQUF3QjtRQUF4QixVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQXZKcEMsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFVOUI7O1dBRUc7UUFDSCxVQUFLLEdBQVksS0FBSyxDQUFDO1FBRXZCOzs7V0FHRztRQUNILFVBQUssR0FBVyxFQUFFLENBQUM7UUFFbkIscUJBQXFCO1FBRXJCOztXQUVHO1FBRUksVUFBSyxHQUFXLFFBQVEsQ0FBQztRQUVoQzs7V0FFRztRQUVJLGFBQVEsR0FBWSxJQUFJLENBQUM7UUFFaEM7O1dBRUc7UUFFSSxhQUFRLEdBQVksSUFBSSxDQUFDO1FBRWhDOztXQUVHO1FBRUksU0FBSSxHQUFXLEVBQUUsQ0FBQztRQUV6Qjs7V0FFRztRQUVJLGdCQUFXLEdBQVksSUFBSSxDQUFDO1FBRW5DOztXQUVHO1FBRUksVUFBSyxHQUFXLElBQUksQ0FBQztRQUU1Qjs7V0FFRztRQUVJLFdBQU0sR0FBVyxJQUFJLENBQUM7UUFjN0I7O1dBRUc7UUFFSCxvQkFBZSxHQUEwQixJQUFJLFlBQVksRUFBVyxDQUFDO0lBc0V0QixDQUFDO0lBckpoRDs7T0FFRztJQUNILElBQ0ksbUJBQW1CLENBQUMsT0FB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S0FBSzs4QkFTTCxNQUFNO3dCQU1OLEtBQUs7c0JBNkhMLFlBQVksU0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUM7K0JBZ0JoQyxZQUFZLFNBQUMsa0JBQWtCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEhvc3RMaXN0ZW5lcixcclxuICBJbnB1dCxcclxuICBPdXRwdXQsXHJcbiAgVmlld0NoaWxkLFxyXG4gIERpcmVjdGl2ZSxcclxuICBPbkRlc3Ryb3ksXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG4vKipcclxuICogQmFzZSBLb21wb25lbnRlIGbDvHIgRGlhbG9nXHJcbiAqL1xyXG5ARGlyZWN0aXZlKClcclxuZXhwb3J0IGNsYXNzIFNhY0RpYWxvZ0NvbW1vbiBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcbiAgLyoqXHJcbiAgICogTmFtZSBkZXMgQ29udGFpbmVycyBmw7xyIGRlbiBEaWFsb2dcclxuICAgKi9cclxuICBkaWFsb2dFbGVtZW50OiBFbGVtZW50UmVmO1xyXG5cclxuICBwcml2YXRlIGhhc1NldEJvZHlUYWcgPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICogSW1wbGVtZW50YXRpb24gYWxzIFNldHRlciwgZGEgbWl0IG5nSWYgZGFzIEVsZW1lbnQgYmVpIFVuc2ljaHRiYXJrZWl0IFVOREVGSU5FRCBpc3QuXHJcbiAgICovXHJcbiAgQFZpZXdDaGlsZCgnZGlhbG9nJywgeyBzdGF0aWM6IGZhbHNlIH0pXHJcbiAgc2V0IGRpYWxvZ0VsZW1lbnRTZXR0ZXIoY29udGVudDogRWxlbWVudFJlZikge1xyXG4gICAgdGhpcy5kaWFsb2dFbGVtZW50ID0gY29udGVudDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEJvb2xlYW4gUHJvcGVydHkgZGVmaW5pZXJ0IG9iIGRhcyBEaWFsb2cgYW5nZXplaWd0IHdpcmRcclxuICAgKi9cclxuICBfc2hvdzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBEYXMgcHJvcGVydHkgZW50aGllbHQgKHdlbm4gw7xiZXJoYXVwdCBnZXNldHp0KSBlbnR3ZWRlciBrZXl3b3JkcyBmw7xyIHNpemluZyBvZGVyIGN1c3RvbSBjc3MgS2xhc3Nlbi5cclxuICAgKiBEaWUgYWt6ZXB0YWJlbCBrZXl3b3Jkc3NpbmQ6ICdzbWFsbCcsICdsYXJnZScsICdleHRyYWxhcmdlJywgJ21lZGl1bScsICcnLlxyXG4gICAqL1xyXG4gIF9zaXplOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgLy8gI3JlZ2lvbiBQcm9wZXJ0aWVzXHJcblxyXG4gIC8qKlxyXG4gICAqIElucHV0IFByb3BlcnR5LiBFcmjDpGx0IGRlbiBUaXRsZSBkZXMgRGlhbG9nLiBEZWZhdWx0IFZhbHVlOiAnRGlhbG9nJy5cclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB0aXRsZTogc3RyaW5nID0gJ0RpYWxvZyc7XHJcblxyXG4gIC8qKlxyXG4gICAqIERhcyBpbnB1dCBwcm9wZXJ0eSBha3plcHRpZXJ0IGJvb2xlbiBXZXJ0LiBEZWZpbmllcnQgb2IgZGFzIERpYWxvZyBkYXJmIGR1cmNoIEVTQyBnZXNjaGxvc3NlbiB3ZXJkZW4uIERlZmF1bHQgaXN0IHRydWUuXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYWxsb3dlc2M6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAvKipcclxuICAgKiBEYXMgaW5wdXQgcHJvcGVydHkgYWt6ZXB0aWVydCBib29sZW4gV2VydC4gRGVmaW5pZXJ0IG9iIGRhcyBEaWFsb2cgZGFyZiBkdXJjaCBjbGljayBhdcOfZXJoYWxiIGRlcyBEaWFsb2ctRmVuc3RlciBnZXNjaGxvc3NlbiB3ZXJkZW4uIERlZmF1bHQgaXN0IHRydWUuXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYmFja2Ryb3A6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAvKipcclxuICAgKiBJbnB1dCBQcm9wZXJ0eS4gRXJow6RsdCBkZW4gTmFtZW4gZGVzIERpYWxvZyAtIGJlbnV0enQgZsO8ciBkYXMgSUQuIERlZmF1bHQgVmFsdWU6ICcnXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgbmFtZTogc3RyaW5nID0gJyc7XHJcblxyXG4gIC8qKlxyXG4gICAqIFN0ZXVlcnQgb2IgaW0gSGVhZGVyIGRlcyBEaWFsb2dzIGVpbiBCdXR0b24gYW5nZXplaWd0IHdpcmQuXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgY2xvc2VidXR0b246IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAvKipcclxuICAgKiBJbnB1dCBQcm9wZXJ0eS4gRXJow6RsdCBkaWUgQnJlaXRlIGRlcyBEaWFsb2dcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB3aWR0aDogc3RyaW5nID0gbnVsbDtcclxuXHJcbiAgLyoqXHJcbiAgICogRGVmaW5pZXJ0IGVpbmUgZmVzdGUgSMO2aGUgYmVpbSBEaWFsb2cuXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgaGVpZ2h0OiBzdHJpbmcgPSBudWxsO1xyXG5cclxuICAvKipcclxuICAgKiBEYXMgSW5wdXQgYWt6ZXB0aWVydCBzb3dvaGwgZGVmYXVsdCBzaXplLWNzcy1LbGFzc2VuIGFscyBhdWNoIGN1c3RvbSBLbGFzc2VuLlxyXG4gICAqIGNhc2UgaW5zZW5zaXRpdmUuXHJcbiAgICogRGllIGFremVwdGFiZWwgZGVmYXVsdC1zaXplLUtsYXNzZW4gc2luZDogJ3NtYWxsJywgJ2xhcmdlJywgJ2V4dHJhbGFyZ2UnLCAnbWVkaXVtJywgJycuXHJcbiAgICogV2VubiBzaXplIGlzdCBOSUNIVCBnZXNldHp0IChvZGVyICdtZWRpdW0nIG9kZXIgJycpLCBkZWZhdWx0IGlzdCBpbiBtZWRpdW0gc2l6ZTogbWF4LXdpZHRoIDUwMHB4LlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IHNpemUodjogc3RyaW5nKSB7XHJcbiAgICB2ID0gdi50b0xvd2VyQ2FzZSgpO1xyXG4gICAgdGhpcy5fc2l6ZSA9IHY7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBPdXRwdXQgRW1pdHRlci4gV2lyZCBhdWZnZXJ1ZmVuLCB3ZW5uIGRhcyBXZXJ0IGRlcyBfc2hvdyBwcm9wZXJ0eSBnZcOkbmRlcnQgaXN0IC0gZGFtYWl0IGRhcyBEaWFsb2cgZ2XDtmZuZXQvZ2VzY2hsb3NzZW4gd2lyZC5cclxuICAgKi9cclxuICBAT3V0cHV0KClcclxuICBpc3Zpc2libGVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHJcbiAgLyoqXHJcbiAgICogU2V0dGVyLiBFcmjDpGx0IGRhcyBib29sZW4gV2VydCBkZXMgX3Nob3cgcHJvcGVydHlcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHNldCBpc3Zpc2libGUodjogYm9vbGVhbikge1xyXG4gICAgaWYgKFxyXG4gICAgICB2ICYmXHJcbiAgICAgICF0aGlzLmhhc1NldEJvZHlUYWcgJiZcclxuICAgICAgIWRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmNvbnRhaW5zKCdtb2RhbC1vcGVuJylcclxuICAgICkge1xyXG4gICAgICBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5hZGQoJ21vZGFsLW9wZW4nKTtcclxuICAgICAgdGhpcy5oYXNTZXRCb2R5VGFnID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoXHJcbiAgICAgICF2ICYmXHJcbiAgICAgIHRoaXMuaGFzU2V0Qm9keVRhZyAmJlxyXG4gICAgICBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5jb250YWlucygnbW9kYWwtb3BlbicpXHJcbiAgICApIHtcclxuICAgICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QucmVtb3ZlKCdtb2RhbC1vcGVuJyk7XHJcbiAgICAgIHRoaXMuaGFzU2V0Qm9keVRhZyA9IGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuX3Nob3cgPSB2O1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0dGVyLiBFcmdpYnQgZGFzIGJvb2xlbiBXZXJ0IGRlcyBfc2hvdyBwcm9wZXJ0eVxyXG4gICAqL1xyXG4gIGdldCBpc3Zpc2libGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fc2hvdztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERpZSBGdW5rdGlvbiBwcsO8ZnQgb2IgZXMgZWluIGRlZmF1bHQgY3NzIGNsYXNzZSBmw7xyIFNpemUgZGVzIERpYWxvZyBkdXJjaCBkZW4gc2l6ZSBJbnB1dCBnZXNldHp0IHd1cmRlLlxyXG4gICAqL1xyXG4gIGlzc2V0ZGVmYXVsdHNpemUoKTogYm9vbGVhbiB7XHJcbiAgICBsZXQgcmVzdWx0OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgc3dpdGNoICh0aGlzLl9zaXplKSB7XHJcbiAgICAgIGNhc2UgJ3NtYWxsJzpcclxuICAgICAgICByZXN1bHQgPSB0cnVlO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdtZWRpdW0nOlxyXG4gICAgICAgIHJlc3VsdCA9IHRydWU7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2xhcmdlJzpcclxuICAgICAgICByZXN1bHQgPSB0cnVlO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdleHRyYWxhcmdlJzpcclxuICAgICAgICByZXN1bHQgPSB0cnVlO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICcnOlxyXG4gICAgICAgIHJlc3VsdCA9IHRydWU7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9XHJcblxyXG4gIC8vICNlbmRyZWdpb25cclxuXHJcbiAgLy8gI3JlZ2lvbiBDb25zdHJ1Y3RvclxyXG5cclxuICAvKipcclxuICAgKiBLb25zdHJ1a3RvclxyXG4gICAqIEluamVjdCBkZXMgRm9ybXVsYXJzXHJcbiAgICovXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XHJcblxyXG4gIC8vICNlbmRyZWdpb25cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0aG9kZSB3ZW5uIENvbXBvbmVudGUgZW50ZmVybnQgd2lyZFxyXG4gICAqL1xyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuaGFzU2V0Qm9keVRhZyAmJiBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5jb250YWlucygnbW9kYWwtb3BlbicpKSB7XHJcbiAgICAgIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LnJlbW92ZSgnbW9kYWwtb3BlbicpO1xyXG4gICAgICB0aGlzLmhhc1NldEJvZHlUYWcgPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vICNyZWdpb24gTWV0aG9kc1xyXG5cclxuICAvKipcclxuICAgKiBEaWUgTWV0aG9kZSBzZXR6IGRlbiBXZXJ0IGRlcyBfc2hvdyBwcm9wZXJ0eSBhdWYgdHJ1ZVxyXG4gICAqL1xyXG4gIHB1YmxpYyBzaG93KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fc2hvdyA9IHRydWU7XHJcblxyXG4gICAgaWYgKFxyXG4gICAgICAhdGhpcy5oYXNTZXRCb2R5VGFnICYmXHJcbiAgICAgICFkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5jb250YWlucygnbW9kYWwtb3BlbicpXHJcbiAgICApIHtcclxuICAgICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKCdtb2RhbC1vcGVuJyk7XHJcbiAgICAgIHRoaXMuaGFzU2V0Qm9keVRhZyA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5pc3Zpc2libGVDaGFuZ2UuZW1pdCh0aGlzLl9zaG93KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERpZSBNZXRob2RlIHNldHogZGVuIFdlcnQgZGVzIF9zaG93IHByb3BlcnR5IGF1ZiBmYWxzZVxyXG4gICAqL1xyXG4gIHB1YmxpYyBoaWRlKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuaGFzU2V0Qm9keVRhZyAmJiBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5jb250YWlucygnbW9kYWwtb3BlbicpKSB7XHJcbiAgICAgIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LnJlbW92ZSgnbW9kYWwtb3BlbicpO1xyXG4gICAgICB0aGlzLmhhc1NldEJvZHlUYWcgPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLl9zaG93ID0gZmFsc2U7XHJcbiAgICB0aGlzLmlzdmlzaWJsZUNoYW5nZS5lbWl0KHRoaXMuX3Nob3cpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0dGVyIGZvciBDaGFuZ2VEZXRlY3Rvci5cclxuICAgKi9cclxuICBwcm90ZWN0ZWQgZ2V0IENoYW5nZURldGVjdG9yKCk6IENoYW5nZURldGVjdG9yUmVmIHtcclxuICAgIHJldHVybiB0aGlzLmNkUmVmO1xyXG4gIH1cclxuXHJcbiAgLy8gI2VuZHJlZ2lvblxyXG5cclxuICAvLyAjcmVnaW9uIEhvc3QgQWN0aW9uc1xyXG5cclxuICAvKipcclxuICAgKiBBbGxvdyBDbG9zZSBieSBDbGljayBvdXRzaWRlIERpYWxvZ1xyXG4gICAqL1xyXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcclxuICBvbkNsaWNrKGV2ZW50OiBhbnkpOiB2b2lkIHtcclxuICAgIGlmIChcclxuICAgICAgdGhpcy5hbGxvd2VzYyA9PT0gZmFsc2UgfHxcclxuICAgICAgKHRoaXMuZGlhbG9nRWxlbWVudCAhPT0gbnVsbCAmJlxyXG4gICAgICAgIHRoaXMuZGlhbG9nRWxlbWVudCAhPT0gdW5kZWZpbmVkICYmXHJcbiAgICAgICAgZXZlbnQudGFyZ2V0ICE9PSB0aGlzLmRpYWxvZ0VsZW1lbnQubmF0aXZlRWxlbWVudClcclxuICAgICkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLmhpZGUoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFsbG93IENsb3NlIGJ5IEVTQ1xyXG4gICAqL1xyXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleWRvd24nLCBbJyRldmVudCddKVxyXG4gIG9uS2V5ZG93bkhhbmRsZXIoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcclxuICAgIGNvbnN0IEVTQ0FQRV9LRVlDT0RFID0gJ0VzY2FwZSc7XHJcblxyXG4gICAgaWYgKHRoaXMuYWxsb3dlc2MgPT09IHRydWUgJiYgZXZlbnQua2V5ID09PSBFU0NBUEVfS0VZQ09ERSkge1xyXG4gICAgICB0aGlzLmhpZGUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vICNlbmRyZWdpb25cclxufVxyXG4iXX0=
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @fileoverview This file was generated by the Angular template compiler. Do not edit.
3
+ *
4
+ * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes,extraRequire}
5
+ * tslint:disable
6
+ */
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLm5nZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiJDOi9Qcm9qZWt0ZS9zaW1wbGVhbmd1bGFyY29udHJvbHMtbmcxMC9jaC5qbmV0d29yay5zYWMtY29udHJvbHMvcHJvamVjdHMvc2FjLWNvbW1vbi9zcmMvIiwic291cmNlcyI6WyJjb250cm9scy9kaWFsb2cvZGlhbG9nLm5nZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgaTAgZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pMC5Db21wb25lbnRGYWN0b3J5O1xuIl19
@@ -0,0 +1,110 @@
1
+ import { Directive, Input } from '@angular/core';
2
+ import { FormGroup, NgForm } from '@angular/forms';
3
+ // #endregion Type aliases
4
+ // #region Classes
5
+ /**
6
+ * Base Komponente für SacFormular
7
+ */
8
+ export class SacFormCommon {
9
+ // #endregion Properties
10
+ // #region Constructors
11
+ /**
12
+ * Konstruktor
13
+ * @param form Instanz von NgForm
14
+ */
15
+ constructor(form) {
16
+ this.form = form;
17
+ // #region Properties
18
+ /**
19
+ * Standardwert wann die Werte via NgModel aktualisiert werden
20
+ */
21
+ this._updateon = 'change';
22
+ this.form.options = { updateOn: this._updateon };
23
+ }
24
+ // #endregion Constructors
25
+ // #region Public Getters And Setters
26
+ get updateon() {
27
+ return this._updateon;
28
+ }
29
+ /**
30
+ * Definiert, wenn das Model geupdatet wird
31
+ */
32
+ set updateon(v) {
33
+ this._updateon = v;
34
+ this.form.options.updateOn = v;
35
+ }
36
+ // #endregion Public Getters And Setters
37
+ // #region Public Methods
38
+ /**
39
+ * Gibt die NgForm Instanz zurück
40
+ */
41
+ getForm() {
42
+ return this.form;
43
+ }
44
+ /**
45
+ * Markiert alle Controls innerhalb des Formulares als Touched
46
+ */
47
+ markAsTouched() {
48
+ if (this.form && this.form.invalid) {
49
+ this.markAsTouchedInternal(this.form.controls);
50
+ }
51
+ }
52
+ /**
53
+ * Aktualisiert die Werte und den Gültigkeitsstatus des Formulars
54
+ */
55
+ updateValueAndValidity(markAsTouched = true) {
56
+ // Update all Controls
57
+ this.updateValueAndValidityInternal(this.form.controls);
58
+ // Update Main Form
59
+ this.getForm().form.updateValueAndValidity();
60
+ // Mark all Controls as Touched
61
+ if (markAsTouched) {
62
+ this.markAsTouched();
63
+ }
64
+ }
65
+ // #endregion Public Methods
66
+ // #region Private Methods
67
+ /**
68
+ * Markiert alle Controls inkl. dem Tree als Touched
69
+ * @param controls Controls Collection
70
+ */
71
+ markAsTouchedInternal(controls) {
72
+ const keyList = Object.keys(controls);
73
+ for (const field of keyList) {
74
+ const control = controls[field];
75
+ if (control instanceof FormGroup) {
76
+ this.markAsTouchedInternal(control.controls);
77
+ }
78
+ else {
79
+ control.markAsTouched({ onlySelf: true });
80
+ }
81
+ }
82
+ }
83
+ /**
84
+ * Aktualisiert die Werte und die gültigkeit des Formulars
85
+ * @param controls Controls Collection
86
+ */
87
+ updateValueAndValidityInternal(controls) {
88
+ const keyList = Object.keys(controls);
89
+ for (const field of keyList) {
90
+ const control = controls[field];
91
+ if (control instanceof FormGroup) {
92
+ this.updateValueAndValidityInternal(control.controls);
93
+ }
94
+ else {
95
+ control.updateValueAndValidity({ onlySelf: true });
96
+ }
97
+ }
98
+ }
99
+ }
100
+ SacFormCommon.decorators = [
101
+ { type: Directive }
102
+ ];
103
+ SacFormCommon.ctorParameters = () => [
104
+ { type: NgForm }
105
+ ];
106
+ SacFormCommon.propDecorators = {
107
+ updateon: [{ type: Input }]
108
+ };
109
+ // #endregion Classes
110
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5qcyIsInNvdXJjZVJvb3QiOiJDOi9Qcm9qZWt0ZS9zaW1wbGVhbmd1bGFyY29udHJvbHMtbmcxMC9jaC5qbmV0d29yay5zYWMtY29udHJvbHMvcHJvamVjdHMvc2FjLWNvbW1vbi9zcmMvIiwic291cmNlcyI6WyJjb250cm9scy9mb3JtL2Zvcm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFtQixTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFVcEUsMEJBQTBCO0FBRTFCLGtCQUFrQjtBQUVsQjs7R0FFRztBQUVILE1BQU0sT0FBTyxhQUFhO0lBUXhCLHdCQUF3QjtJQUV4Qix1QkFBdUI7SUFFdkI7OztPQUdHO0lBQ0gsWUFBb0IsSUFBWTtRQUFaLFNBQUksR0FBSixJQUFJLENBQVE7UUFmaEMscUJBQXFCO1FBRXJCOztXQUVHO1FBQ0ssY0FBUyxHQUFjLFFBQVEsQ0FBQztRQVd0QyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkQsQ0FBQztJQUVELDBCQUEwQjtJQUUxQixxQ0FBcUM7SUFFckMsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUNXLFFBQVEsQ0FBQyxDQUFZO1FBQzlCLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO1FBQ25CLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELHdDQUF3QztJQUV4Qyx5QkFBeUI7SUFFekI7O09BRUc7SUFDSSxPQUFPO1FBQ1osT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ25CLENBQUM7SUFFRDs7T0FFRztJQUNJLGFBQWE7UUFDbEIsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2xDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ2hEO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0ksc0JBQXNCLENBQUMsZ0JBQXlCLElBQUk7UUFDekQsc0JBQXNCO1FBQ3RCLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hELG1CQUFtQjtRQUNuQixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7UUFFN0MsK0JBQStCO1FBQy9CLElBQUksYUFBYSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztTQUN0QjtJQUNILENBQUM7SUFFRCw0QkFBNEI7SUFFNUIsMEJBQTBCO0lBRTFCOzs7T0FHRztJQUNLLHFCQUFxQixDQUFDLFFBQTRDO1FBQ3hFLE1BQU0sT0FBTyxHQUFhLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFaEQsS0FBSyxNQUFNLEtBQUssSUFBSSxPQUFPLEVBQUU7WUFDM0IsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2hDLElBQUksT0FBTyxZQUFZLFNBQVMsRUFBRTtnQkFDaEMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUM5QztpQkFBTTtnQkFDTCxPQUFPLENBQUMsYUFBYSxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7YUFDM0M7U0FDRjtJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDSyw4QkFBOEIsQ0FBQyxRQUV0QztRQUNDLE1BQU0sT0FBTyxHQUFhLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFaEQsS0FBSyxNQUFNLEtBQUssSUFBSSxPQUFPLEVBQUU7WUFDM0IsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2hDLElBQUksT0FBTyxZQUFZLFNBQVMsRUFBRTtnQkFDaEMsSUFBSSxDQUFDLDhCQUE4QixDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUN2RDtpQkFBTTtnQkFDTCxPQUFPLENBQUMsc0JBQXNCLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQzthQUNwRDtTQUNGO0lBQ0gsQ0FBQzs7O1lBL0dGLFNBQVM7OztZQWpCMkIsTUFBTTs7O3VCQWlEeEMsS0FBSzs7QUFvRlIscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEZvcm1Hcm91cCwgTmdGb3JtIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBjb252ZXJ0VG9Cb29sZWFuIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL2NvbnZlcnRpb24nO1xyXG5cclxuLy8gI3JlZ2lvbiBUeXBlIGFsaWFzZXNcclxuXHJcbi8qKlxyXG4gKiBUeXBlIGZvciBmb3JtIGFjdGlvbnNcclxuICovXHJcbmV4cG9ydCB0eXBlIEZvcm1Ib29rcyA9ICdjaGFuZ2UnIHwgJ2JsdXInIHwgJ3N1Ym1pdCc7XHJcblxyXG4vLyAjZW5kcmVnaW9uIFR5cGUgYWxpYXNlc1xyXG5cclxuLy8gI3JlZ2lvbiBDbGFzc2VzXHJcblxyXG4vKipcclxuICogQmFzZSBLb21wb25lbnRlIGbDvHIgU2FjRm9ybXVsYXJcclxuICovXHJcbkBEaXJlY3RpdmUoKVxyXG5leHBvcnQgY2xhc3MgU2FjRm9ybUNvbW1vbiB7XHJcbiAgLy8gI3JlZ2lvbiBQcm9wZXJ0aWVzXHJcblxyXG4gIC8qKlxyXG4gICAqIFN0YW5kYXJkd2VydCB3YW5uIGRpZSBXZXJ0ZSB2aWEgTmdNb2RlbCBha3R1YWxpc2llcnQgd2VyZGVuXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBfdXBkYXRlb246IEZvcm1Ib29rcyA9ICdjaGFuZ2UnO1xyXG5cclxuICAvLyAjZW5kcmVnaW9uIFByb3BlcnRpZXNcclxuXHJcbiAgLy8gI3JlZ2lvbiBDb25zdHJ1Y3RvcnNcclxuXHJcbiAgLyoqXHJcbiAgICogS29uc3RydWt0b3JcclxuICAgKiBAcGFyYW0gZm9ybSBJbnN0YW56IHZvbiBOZ0Zvcm1cclxuICAgKi9cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZvcm06IE5nRm9ybSkge1xyXG4gICAgdGhpcy5mb3JtLm9wdGlvbnMgPSB7IHVwZGF0ZU9uOiB0aGlzLl91cGRhdGVvbiB9O1xyXG4gIH1cclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiBDb25zdHJ1Y3RvcnNcclxuXHJcbiAgLy8gI3JlZ2lvbiBQdWJsaWMgR2V0dGVycyBBbmQgU2V0dGVyc1xyXG5cclxuICBwdWJsaWMgZ2V0IHVwZGF0ZW9uKCk6IEZvcm1Ib29rcyB7XHJcbiAgICByZXR1cm4gdGhpcy5fdXBkYXRlb247XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEZWZpbmllcnQsIHdlbm4gZGFzIE1vZGVsIGdldXBkYXRldCB3aXJkXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IHVwZGF0ZW9uKHY6IEZvcm1Ib29rcykge1xyXG4gICAgdGhpcy5fdXBkYXRlb24gPSB2O1xyXG4gICAgdGhpcy5mb3JtLm9wdGlvbnMudXBkYXRlT24gPSB2O1xyXG4gIH1cclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiBQdWJsaWMgR2V0dGVycyBBbmQgU2V0dGVyc1xyXG5cclxuICAvLyAjcmVnaW9uIFB1YmxpYyBNZXRob2RzXHJcblxyXG4gIC8qKlxyXG4gICAqIEdpYnQgZGllIE5nRm9ybSBJbnN0YW56IHp1csO8Y2tcclxuICAgKi9cclxuICBwdWJsaWMgZ2V0Rm9ybSgpOiBOZ0Zvcm0ge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1hcmtpZXJ0IGFsbGUgQ29udHJvbHMgaW5uZXJoYWxiIGRlcyBGb3JtdWxhcmVzIGFscyBUb3VjaGVkXHJcbiAgICovXHJcbiAgcHVibGljIG1hcmtBc1RvdWNoZWQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5mb3JtICYmIHRoaXMuZm9ybS5pbnZhbGlkKSB7XHJcbiAgICAgIHRoaXMubWFya0FzVG91Y2hlZEludGVybmFsKHRoaXMuZm9ybS5jb250cm9scyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBa3R1YWxpc2llcnQgZGllIFdlcnRlIHVuZCBkZW4gR8O8bHRpZ2tlaXRzc3RhdHVzIGRlcyBGb3JtdWxhcnNcclxuICAgKi9cclxuICBwdWJsaWMgdXBkYXRlVmFsdWVBbmRWYWxpZGl0eShtYXJrQXNUb3VjaGVkOiBib29sZWFuID0gdHJ1ZSk6IHZvaWQge1xyXG4gICAgLy8gVXBkYXRlIGFsbCBDb250cm9sc1xyXG4gICAgdGhpcy51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5SW50ZXJuYWwodGhpcy5mb3JtLmNvbnRyb2xzKTtcclxuICAgIC8vIFVwZGF0ZSBNYWluIEZvcm1cclxuICAgIHRoaXMuZ2V0Rm9ybSgpLmZvcm0udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG5cclxuICAgIC8vIE1hcmsgYWxsIENvbnRyb2xzIGFzIFRvdWNoZWRcclxuICAgIGlmIChtYXJrQXNUb3VjaGVkKSB7XHJcbiAgICAgIHRoaXMubWFya0FzVG91Y2hlZCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiBQdWJsaWMgTWV0aG9kc1xyXG5cclxuICAvLyAjcmVnaW9uIFByaXZhdGUgTWV0aG9kc1xyXG5cclxuICAvKipcclxuICAgKiBNYXJraWVydCBhbGxlIENvbnRyb2xzIGlua2wuIGRlbSBUcmVlIGFscyBUb3VjaGVkXHJcbiAgICogQHBhcmFtIGNvbnRyb2xzIENvbnRyb2xzIENvbGxlY3Rpb25cclxuICAgKi9cclxuICBwcml2YXRlIG1hcmtBc1RvdWNoZWRJbnRlcm5hbChjb250cm9sczogeyBba2V5OiBzdHJpbmddOiBBYnN0cmFjdENvbnRyb2wgfSkge1xyXG4gICAgY29uc3Qga2V5TGlzdDogc3RyaW5nW10gPSBPYmplY3Qua2V5cyhjb250cm9scyk7XHJcblxyXG4gICAgZm9yIChjb25zdCBmaWVsZCBvZiBrZXlMaXN0KSB7XHJcbiAgICAgIGNvbnN0IGNvbnRyb2wgPSBjb250cm9sc1tmaWVsZF07XHJcbiAgICAgIGlmIChjb250cm9sIGluc3RhbmNlb2YgRm9ybUdyb3VwKSB7XHJcbiAgICAgICAgdGhpcy5tYXJrQXNUb3VjaGVkSW50ZXJuYWwoY29udHJvbC5jb250cm9scyk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgY29udHJvbC5tYXJrQXNUb3VjaGVkKHsgb25seVNlbGY6IHRydWUgfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFrdHVhbGlzaWVydCBkaWUgV2VydGUgdW5kIGRpZSBnw7xsdGlna2VpdCBkZXMgRm9ybXVsYXJzXHJcbiAgICogQHBhcmFtIGNvbnRyb2xzIENvbnRyb2xzIENvbGxlY3Rpb25cclxuICAgKi9cclxuICBwcml2YXRlIHVwZGF0ZVZhbHVlQW5kVmFsaWRpdHlJbnRlcm5hbChjb250cm9sczoge1xyXG4gICAgW2tleTogc3RyaW5nXTogQWJzdHJhY3RDb250cm9sO1xyXG4gIH0pIHtcclxuICAgIGNvbnN0IGtleUxpc3Q6IHN0cmluZ1tdID0gT2JqZWN0LmtleXMoY29udHJvbHMpO1xyXG5cclxuICAgIGZvciAoY29uc3QgZmllbGQgb2Yga2V5TGlzdCkge1xyXG4gICAgICBjb25zdCBjb250cm9sID0gY29udHJvbHNbZmllbGRdO1xyXG4gICAgICBpZiAoY29udHJvbCBpbnN0YW5jZW9mIEZvcm1Hcm91cCkge1xyXG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWVBbmRWYWxpZGl0eUludGVybmFsKGNvbnRyb2wuY29udHJvbHMpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSh7IG9ubHlTZWxmOiB0cnVlIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyAjZW5kcmVnaW9uIFByaXZhdGUgTWV0aG9kc1xyXG59XHJcblxyXG4vLyAjZW5kcmVnaW9uIENsYXNzZXNcclxuIl19
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @fileoverview This file was generated by the Angular template compiler. Do not edit.
3
+ *
4
+ * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes,extraRequire}
5
+ * tslint:disable
6
+ */
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5uZ2ZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiQzovUHJvamVrdGUvc2ltcGxlYW5ndWxhcmNvbnRyb2xzLW5nMTAvY2guam5ldHdvcmsuc2FjLWNvbnRyb2xzL3Byb2plY3RzL3NhYy1jb21tb24vc3JjLyIsInNvdXJjZXMiOlsiY29udHJvbHMvZm9ybS9mb3JtLm5nZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgaTAgZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pMC5Db21wb25lbnRGYWN0b3J5O1xuIl19
@@ -0,0 +1,144 @@
1
+ import { ChangeDetectorRef, Directive, EventEmitter, Injector, Input, Output, TemplateRef, } from '@angular/core';
2
+ import { SACVALIDATIONKEY_SERVICE, SacDefaultValidationKeyService, } from '../../services';
3
+ import { PagerData, SortDescriptor, SortOrder } from './model';
4
+ /**
5
+ * Basis Komponente für SacGrid
6
+ */
7
+ export class SacGridCommon {
8
+ // #endregion Properties
9
+ // #region Constructors
10
+ /**
11
+ * Konstruktor
12
+ * @param cd Change Detection Service
13
+ * @param injector DI Injector
14
+ */
15
+ constructor(cd, injector) {
16
+ this.cd = cd;
17
+ // #region Properties
18
+ /**
19
+ * Protected Property. Enthielt die Nummer der aktiven Seite. Type: number. Default ist 1
20
+ */
21
+ this.activePage = 1;
22
+ /**
23
+ * Protected Property. Enthielt die Nummer der ersten angezeigtenen Seite in Pager. Type: number. Default ist 1
24
+ */
25
+ this.firstPageNumber = 1;
26
+ /**
27
+ * Protected Property. Enthielt Array of Pages. Default value: empty array []
28
+ */
29
+ this.paginators = [];
30
+ /**
31
+ * Deaktiviert die Auswahl der PageSize im Pager
32
+ */
33
+ this.pagesizedisabled = false;
34
+ /**
35
+ * Definiert die Anzahl der Elemente pro Seite die ausgewählt werden können
36
+ */
37
+ this.pagesizes = '20|50|100';
38
+ /**
39
+ * Output EventEmitter. Wird aufgerufen wenn das Pager geklickt ist.
40
+ */
41
+ this.paging = new EventEmitter();
42
+ /**
43
+ * Output EventEmitter. Wird aufgerufen wenn ein Header geklickt ist, damit das Column soritert wird.
44
+ */
45
+ this.sorting = new EventEmitter();
46
+ /**
47
+ * Private Property. Enthielt die Column Menge. Type: number. Default ist 0
48
+ */
49
+ this.ColumnCount = 0;
50
+ /**
51
+ * Aktuell Sortierte Spalte
52
+ */
53
+ this.sortColumn = '';
54
+ /**
55
+ * Aktuelle Sortierung
56
+ */
57
+ this.sortDirection = SortOrder.None;
58
+ this.validationKeyService = injector.get(SACVALIDATIONKEY_SERVICE, new SacDefaultValidationKeyService());
59
+ // Set Default Values from Injector
60
+ this.pagesizetext = this.validationKeyService.PagingEntries;
61
+ this.pagingtext = this.validationKeyService.PagingPageOf;
62
+ }
63
+ // #endregion Constructors
64
+ // #region Public Getters And Setters
65
+ /**
66
+ * Model für Sortierung
67
+ * @param sortDescription Settings für aktuelle sortierung
68
+ */
69
+ set sortdata(sortDescription) {
70
+ this.sortColumn = sortDescription.SortColumn;
71
+ this.sortDirection = sortDescription.SortOrder;
72
+ }
73
+ // #endregion Public Getters And Setters
74
+ // #region Public Methods
75
+ /**
76
+ * Die Methode erhöht die Column-Stücke um eins
77
+ */
78
+ RegisterColumn() {
79
+ this.ColumnCount++;
80
+ // Detect Changes ausführen, da ColumnChange nach OnInit ausgeführt wird.
81
+ this.cd.detectChanges();
82
+ }
83
+ /**
84
+ * Die Methode deffiniert das Sortierung Flow
85
+ */
86
+ SortBy(command) {
87
+ let direction;
88
+ if (command === this.sortColumn) {
89
+ switch (this.sortDirection) {
90
+ case SortOrder.None:
91
+ case SortOrder.Descending:
92
+ direction = SortOrder.Ascending;
93
+ break;
94
+ case SortOrder.Ascending:
95
+ direction = SortOrder.Descending;
96
+ break;
97
+ }
98
+ }
99
+ else {
100
+ direction = SortOrder.Ascending;
101
+ }
102
+ const result = new SortDescriptor();
103
+ result.SortColumn = command;
104
+ result.SortOrder = direction;
105
+ this.sorting.emit(result);
106
+ }
107
+ /**
108
+ * Die Methode verringert die Column-Stücke um eins
109
+ */
110
+ UnregisterColumn() {
111
+ this.ColumnCount--;
112
+ }
113
+ /**
114
+ * Setzt die neue Seite
115
+ * @param newStartIndex Neuer Seiten Index (Zero-Based)
116
+ */
117
+ pageChange(newStartIndex) {
118
+ this.paging.emit(newStartIndex);
119
+ }
120
+ }
121
+ SacGridCommon.decorators = [
122
+ { type: Directive }
123
+ ];
124
+ SacGridCommon.ctorParameters = () => [
125
+ { type: ChangeDetectorRef },
126
+ { type: Injector }
127
+ ];
128
+ SacGridCommon.propDecorators = {
129
+ body: [{ type: Input }],
130
+ emptytext: [{ type: Input }],
131
+ headers: [{ type: Input }],
132
+ maxvisiblepagenumbers: [{ type: Input }],
133
+ name: [{ type: Input }],
134
+ pagerdata: [{ type: Input }],
135
+ pagesizedisabled: [{ type: Input }],
136
+ pagesizes: [{ type: Input }],
137
+ pagesizetext: [{ type: Input }],
138
+ pagingtext: [{ type: Input }],
139
+ value: [{ type: Input }],
140
+ paging: [{ type: Output }],
141
+ sorting: [{ type: Output }],
142
+ sortdata: [{ type: Input }]
143
+ };
144
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC5qcyIsInNvdXJjZVJvb3QiOiJDOi9Qcm9qZWt0ZS9zaW1wbGVhbmd1bGFyY29udHJvbHMtbmcxMC9jaC5qbmV0d29yay5zYWMtY29udHJvbHMvcHJvamVjdHMvc2FjLWNvbW1vbi9zcmMvIiwic291cmNlcyI6WyJjb250cm9scy9ncmlkL2dyaWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLFFBQVEsRUFDUixLQUFLLEVBQ0wsTUFBTSxFQUNOLFdBQVcsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQ0wsd0JBQXdCLEVBQ3hCLDhCQUE4QixHQUMvQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxTQUFTLEVBQWdCLGNBQWMsRUFBRSxTQUFTLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFN0U7O0dBRUc7QUFFSCxNQUFNLE9BQWdCLGFBQWE7SUEyR2pDLHdCQUF3QjtJQUV4Qix1QkFBdUI7SUFFdkI7Ozs7T0FJRztJQUNILFlBQW9CLEVBQXFCLEVBQUUsUUFBa0I7UUFBekMsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUFuSHpDLHFCQUFxQjtRQUVyQjs7V0FFRztRQUNPLGVBQVUsR0FBVyxDQUFDLENBQUM7UUFDakM7O1dBRUc7UUFDTyxvQkFBZSxHQUFXLENBQUMsQ0FBQztRQVF0Qzs7V0FFRztRQUNPLGVBQVUsR0FBZSxFQUFFLENBQUM7UUErQnRDOztXQUVHO1FBRUkscUJBQWdCLEdBQVksS0FBSyxDQUFDO1FBQ3pDOztXQUVHO1FBRUksY0FBUyxHQUFXLFdBQVcsQ0FBQztRQXFCdkM7O1dBRUc7UUFDYyxXQUFNLEdBQ3JCLElBQUksWUFBWSxFQUFnQixDQUFDO1FBQ25DOztXQUVHO1FBQ2MsWUFBTyxHQUN0QixJQUFJLFlBQVksRUFBa0IsQ0FBQztRQUVyQzs7V0FFRztRQUNJLGdCQUFXLEdBQVcsQ0FBQyxDQUFDO1FBQy9COztXQUVHO1FBQ0ksZUFBVSxHQUFXLEVBQUUsQ0FBQztRQUMvQjs7V0FFRztRQUNJLGtCQUFhLEdBQWMsU0FBUyxDQUFDLElBQUksQ0FBQztRQWEvQyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FDdEMsd0JBQXdCLEVBQ3hCLElBQUksOEJBQThCLEVBQUUsQ0FDckMsQ0FBQztRQUVGLG1DQUFtQztRQUNuQyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxhQUFhLENBQUM7UUFDNUQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsWUFBWSxDQUFDO0lBQzNELENBQUM7SUFFRCwwQkFBMEI7SUFFMUIscUNBQXFDO0lBRXJDOzs7T0FHRztJQUNILElBQ1csUUFBUSxDQUFDLGVBQStCO1FBQ2pELElBQUksQ0FBQyxVQUFVLEdBQUcsZUFBZSxDQUFDLFVBQVUsQ0FBQztRQUM3QyxJQUFJLENBQUMsYUFBYSxHQUFHLGVBQWUsQ0FBQyxTQUFTLENBQUM7SUFDakQsQ0FBQztJQUVELHdDQUF3QztJQUV4Qyx5QkFBeUI7SUFFekI7O09BRUc7SUFDSSxjQUFjO1FBQ25CLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQix5RUFBeUU7UUFDekUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsT0FBTztRQUNuQixJQUFJLFNBQW9CLENBQUM7UUFFekIsSUFBSSxPQUFPLEtBQUssSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUMvQixRQUFRLElBQUksQ0FBQyxhQUFhLEVBQUU7Z0JBQzFCLEtBQUssU0FBUyxDQUFDLElBQUksQ0FBQztnQkFDcEIsS0FBSyxTQUFTLENBQUMsVUFBVTtvQkFDdkIsU0FBUyxHQUFHLFNBQVMsQ0FBQyxTQUFTLENBQUM7b0JBQ2hDLE1BQU07Z0JBQ1IsS0FBSyxTQUFTLENBQUMsU0FBUztvQkFDdEIsU0FBUyxHQUFHLFNBQVMsQ0FBQyxVQUFVLENBQUM7b0JBQ2pDLE1BQU07YUFDVDtTQUNGO2FBQU07WUFDTCxTQUFTLEdBQUcsU0FBUyxDQUFDLFNBQVMsQ0FBQztTQUNqQztRQUVELE1BQU0sTUFBTSxHQUFtQixJQUFJLGNBQWMsRUFBRSxDQUFDO1FBQ3BELE1BQU0sQ0FBQyxVQUFVLEdBQUcsT0FBTyxDQUFDO1FBQzVCLE1BQU0sQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBRTdCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRDs7T0FFRztJQUNJLGdCQUFnQjtRQUNyQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVEOzs7T0FHRztJQUNJLFVBQVUsQ0FBQyxhQUFhO1FBQzdCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7OztZQW5NRixTQUFTOzs7WUFsQlIsaUJBQWlCO1lBR2pCLFFBQVE7OzttQkEwQ1AsS0FBSzt3QkFJTCxLQUFLO3NCQUtMLEtBQUs7b0NBSUwsS0FBSzttQkFJTCxLQUFLO3dCQU9MLEtBQUs7K0JBS0wsS0FBSzt3QkFLTCxLQUFLOzJCQU9MLEtBQUs7eUJBUUwsS0FBSztvQkFLTCxLQUFLO3FCQUtMLE1BQU07c0JBS04sTUFBTTt1QkE2Q04sS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgRGlyZWN0aXZlLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbmplY3RvcixcclxuICBJbnB1dCxcclxuICBPdXRwdXQsXHJcbiAgVGVtcGxhdGVSZWYsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IElTYWNWYWxpZGF0aW9uS2V5U2VydmljZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSVNhY1ZhbGlkYXRpb25LZXlTZXJ2aWNlJztcclxuaW1wb3J0IHtcclxuICBTQUNWQUxJREFUSU9OS0VZX1NFUlZJQ0UsXHJcbiAgU2FjRGVmYXVsdFZhbGlkYXRpb25LZXlTZXJ2aWNlLFxyXG59IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcclxuaW1wb3J0IHsgUGFnZXJEYXRhLCBQYWdlclJlcXVlc3QsIFNvcnREZXNjcmlwdG9yLCBTb3J0T3JkZXIgfSBmcm9tICcuL21vZGVsJztcclxuXHJcbi8qKlxyXG4gKiBCYXNpcyBLb21wb25lbnRlIGbDvHIgU2FjR3JpZFxyXG4gKi9cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTYWNHcmlkQ29tbW9uIHtcclxuICAvLyAjcmVnaW9uIFByb3BlcnRpZXNcclxuXHJcbiAgLyoqXHJcbiAgICogUHJvdGVjdGVkIFByb3BlcnR5LiBFbnRoaWVsdCBkaWUgTnVtbWVyIGRlciBha3RpdmVuIFNlaXRlLiBUeXBlOiBudW1iZXIuIERlZmF1bHQgaXN0IDFcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgYWN0aXZlUGFnZTogbnVtYmVyID0gMTtcclxuICAvKipcclxuICAgKiBQcm90ZWN0ZWQgUHJvcGVydHkuIEVudGhpZWx0IGRpZSBOdW1tZXIgZGVyIGVyc3RlbiBhbmdlemVpZ3RlbmVuIFNlaXRlIGluIFBhZ2VyLiBUeXBlOiBudW1iZXIuIERlZmF1bHQgaXN0IDFcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgZmlyc3RQYWdlTnVtYmVyOiBudW1iZXIgPSAxO1xyXG4gIC8vIHByb3RlY3RlZCBmaXJzdFZpc2libGVJbmRleDogbnVtYmVyID0gMTtcclxuICAvLyBwcm90ZWN0ZWQgbGFzdFZpc2libGVJbmRleDtcclxuXHJcbiAgLyoqXHJcbiAgICogUHJvdGVjdGVkIFByb3BlcnR5LiBFbnRoaWVsdCBkaWUgTnVtbWVyIGRlciBsZXR6ZW4gU2VpdGUgaW4gUGFnZXIuIFR5cGU6IG51bWJlci4gRGVmYXVsdCBpc3QgdW5kZWZpbmVkL251bGxcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgbGFzdFBhZ2VOdW1iZXI6IG51bWJlcjtcclxuICAvKipcclxuICAgKiBQcm90ZWN0ZWQgUHJvcGVydHkuIEVudGhpZWx0IEFycmF5IG9mIFBhZ2VzLiBEZWZhdWx0IHZhbHVlOiBlbXB0eSBhcnJheSBbXVxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBwYWdpbmF0b3JzOiBBcnJheTxhbnk+ID0gW107XHJcblxyXG4gIC8qKlxyXG4gICAqIElucHV0IHByb3BlcnR5IGbDvHIgYm9keS4gVHlwZTogVGVtcGxhdGVSZWY8YW55Pi5cclxuICAgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgYm9keTogVGVtcGxhdGVSZWY8YW55PjtcclxuICAvKipcclxuICAgKiBUZXh0IHdlbGNoZXIgYW5nZXplaWd0IHdpcmQsIHdlbm4ga2VpbmUgUm93cyB2ZXJmw7xnYmFyIHNpbmQuXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZW1wdHl0ZXh0OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogSW5wdXQgcHJvcGVydHkgZsO8ciBoZWFkZXJzLiBUeXBlOiBUZW1wbGF0ZVJlZjxhbnk+LlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBoZWFkZXJzOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIC8qKlxyXG4gICAqIElucHV0IHByb3BlcnR5IGbDvHIgZGllIG1heGltYWxsZSBTZWl0ZW4gZGllIHNpY2h0YmFyIHNpbmQuIFR5cGU6IG51bWJlci5cclxuICAgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgbWF4dmlzaWJsZXBhZ2VudW1iZXJzOiBudW1iZXI7XHJcbiAgLyoqXHJcbiAgICogSW5wdXQgcHJvcGVydHkgZsO8ciBOYW1lLlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIG5hbWU6IHN0cmluZztcclxuICAvKipcclxuICAgKiBQYWdlciBTZXR0aW5nc1xyXG4gICAqXHJcbiAgICogUGFnZXIga2FubiBhdXNnZXNjaGFsdGV0IHdlcmRlbiwgaW4gZGVtIFBhZ2VyRGF0YSBhdWYgTlVMTCBnZXNldHp0IHdpcmQuXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcGFnZXJkYXRhOiBQYWdlckRhdGE7XHJcbiAgLyoqXHJcbiAgICogRGVha3RpdmllcnQgZGllIEF1c3dhaGwgZGVyIFBhZ2VTaXplIGltIFBhZ2VyXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcGFnZXNpemVkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIC8qKlxyXG4gICAqIERlZmluaWVydCBkaWUgQW56YWhsIGRlciBFbGVtZW50ZSBwcm8gU2VpdGUgZGllIGF1c2dld8OkaGx0IHdlcmRlbiBrw7ZubmVuXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcGFnZXNpemVzOiBzdHJpbmcgPSAnMjB8NTB8MTAwJztcclxuICAvKipcclxuICAgKiBUZXh0IGluIFBhZ2UgZsO8ciBBbnphaGwgU2VpdGVuZWxlbWVudGUgcHJvIFNlaXRlXHJcbiAgICogRm9sZ2VuZGUgSW50ZXJwb2xhdGlvbiBUZXh0ZSBzaW5kIHZvcmhhbmRlbjpcclxuICAgKiB7e1BBR0VTSVpFfX06IEFuemFobCBFbGVtZW50ZSBwcm8gU2VpdGVcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBwYWdlc2l6ZXRleHQ6IHN0cmluZztcclxuICAvKipcclxuICAgKiBUZXh0IGluIFBhZ2VyIGbDvHIgJ1NlaXRlIHggdm9uIHknLlxyXG4gICAqIEZvbGdlbmRlIEludGVycG9sYXRpb24gVGV4dGUgc2luZCB2b3JoYW5kZW46XHJcbiAgICoge3tDVVJSRU5UUEFHRX19OiBBa3R1ZWxsZSBTZWl0ZVxyXG4gICAqIHt7VE9UQUxQQUdFU319OiBBbnphaGwgU2VpdGVuXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcGFnaW5ndGV4dDogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEdyaWQgRGF0ZW5cclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB2YWx1ZTogYW55O1xyXG4gIC8qKlxyXG4gICAqIE91dHB1dCBFdmVudEVtaXR0ZXIuIFdpcmQgYXVmZ2VydWZlbiB3ZW5uIGRhcyBQYWdlciBnZWtsaWNrdCBpc3QuXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHB1YmxpYyBwYWdpbmc6IEV2ZW50RW1pdHRlcjxQYWdlclJlcXVlc3Q+ID1cclxuICAgIG5ldyBFdmVudEVtaXR0ZXI8UGFnZXJSZXF1ZXN0PigpO1xyXG4gIC8qKlxyXG4gICAqIE91dHB1dCBFdmVudEVtaXR0ZXIuIFdpcmQgYXVmZ2VydWZlbiB3ZW5uIGVpbiBIZWFkZXIgZ2VrbGlja3QgaXN0LCBkYW1pdCBkYXMgQ29sdW1uIHNvcml0ZXJ0IHdpcmQuXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHB1YmxpYyBzb3J0aW5nOiBFdmVudEVtaXR0ZXI8U29ydERlc2NyaXB0b3I+ID1cclxuICAgIG5ldyBFdmVudEVtaXR0ZXI8U29ydERlc2NyaXB0b3I+KCk7XHJcblxyXG4gIC8qKlxyXG4gICAqIFByaXZhdGUgUHJvcGVydHkuIEVudGhpZWx0IGRpZSBDb2x1bW4gTWVuZ2UuIFR5cGU6IG51bWJlci4gRGVmYXVsdCBpc3QgMFxyXG4gICAqL1xyXG4gIHB1YmxpYyBDb2x1bW5Db3VudDogbnVtYmVyID0gMDtcclxuICAvKipcclxuICAgKiBBa3R1ZWxsIFNvcnRpZXJ0ZSBTcGFsdGVcclxuICAgKi9cclxuICBwdWJsaWMgc29ydENvbHVtbjogc3RyaW5nID0gJyc7XHJcbiAgLyoqXHJcbiAgICogQWt0dWVsbGUgU29ydGllcnVuZ1xyXG4gICAqL1xyXG4gIHB1YmxpYyBzb3J0RGlyZWN0aW9uOiBTb3J0T3JkZXIgPSBTb3J0T3JkZXIuTm9uZTtcclxuICBwdWJsaWMgdmFsaWRhdGlvbktleVNlcnZpY2U6IElTYWNWYWxpZGF0aW9uS2V5U2VydmljZTtcclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiBQcm9wZXJ0aWVzXHJcblxyXG4gIC8vICNyZWdpb24gQ29uc3RydWN0b3JzXHJcblxyXG4gIC8qKlxyXG4gICAqIEtvbnN0cnVrdG9yXHJcbiAgICogQHBhcmFtIGNkIENoYW5nZSBEZXRlY3Rpb24gU2VydmljZVxyXG4gICAqIEBwYXJhbSBpbmplY3RvciBESSBJbmplY3RvclxyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmLCBpbmplY3RvcjogSW5qZWN0b3IpIHtcclxuICAgIHRoaXMudmFsaWRhdGlvbktleVNlcnZpY2UgPSBpbmplY3Rvci5nZXQoXHJcbiAgICAgIFNBQ1ZBTElEQVRJT05LRVlfU0VSVklDRSxcclxuICAgICAgbmV3IFNhY0RlZmF1bHRWYWxpZGF0aW9uS2V5U2VydmljZSgpXHJcbiAgICApO1xyXG5cclxuICAgIC8vIFNldCBEZWZhdWx0IFZhbHVlcyBmcm9tIEluamVjdG9yXHJcbiAgICB0aGlzLnBhZ2VzaXpldGV4dCA9IHRoaXMudmFsaWRhdGlvbktleVNlcnZpY2UuUGFnaW5nRW50cmllcztcclxuICAgIHRoaXMucGFnaW5ndGV4dCA9IHRoaXMudmFsaWRhdGlvbktleVNlcnZpY2UuUGFnaW5nUGFnZU9mO1xyXG4gIH1cclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiBDb25zdHJ1Y3RvcnNcclxuXHJcbiAgLy8gI3JlZ2lvbiBQdWJsaWMgR2V0dGVycyBBbmQgU2V0dGVyc1xyXG5cclxuICAvKipcclxuICAgKiBNb2RlbCBmw7xyIFNvcnRpZXJ1bmdcclxuICAgKiBAcGFyYW0gc29ydERlc2NyaXB0aW9uIFNldHRpbmdzIGbDvHIgYWt0dWVsbGUgc29ydGllcnVuZ1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCBzb3J0ZGF0YShzb3J0RGVzY3JpcHRpb246IFNvcnREZXNjcmlwdG9yKSB7XHJcbiAgICB0aGlzLnNvcnRDb2x1bW4gPSBzb3J0RGVzY3JpcHRpb24uU29ydENvbHVtbjtcclxuICAgIHRoaXMuc29ydERpcmVjdGlvbiA9IHNvcnREZXNjcmlwdGlvbi5Tb3J0T3JkZXI7XHJcbiAgfVxyXG5cclxuICAvLyAjZW5kcmVnaW9uIFB1YmxpYyBHZXR0ZXJzIEFuZCBTZXR0ZXJzXHJcblxyXG4gIC8vICNyZWdpb24gUHVibGljIE1ldGhvZHNcclxuXHJcbiAgLyoqXHJcbiAgICogRGllIE1ldGhvZGUgZXJow7ZodCBkaWUgQ29sdW1uLVN0w7xja2UgdW0gZWluc1xyXG4gICAqL1xyXG4gIHB1YmxpYyBSZWdpc3RlckNvbHVtbigpIHtcclxuICAgIHRoaXMuQ29sdW1uQ291bnQrKztcclxuICAgIC8vIERldGVjdCBDaGFuZ2VzIGF1c2bDvGhyZW4sIGRhIENvbHVtbkNoYW5nZSBuYWNoIE9uSW5pdCBhdXNnZWbDvGhydCB3aXJkLlxyXG4gICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEaWUgTWV0aG9kZSBkZWZmaW5pZXJ0IGRhcyBTb3J0aWVydW5nIEZsb3dcclxuICAgKi9cclxuICBwdWJsaWMgU29ydEJ5KGNvbW1hbmQpIHtcclxuICAgIGxldCBkaXJlY3Rpb246IFNvcnRPcmRlcjtcclxuXHJcbiAgICBpZiAoY29tbWFuZCA9PT0gdGhpcy5zb3J0Q29sdW1uKSB7XHJcbiAgICAgIHN3aXRjaCAodGhpcy5zb3J0RGlyZWN0aW9uKSB7XHJcbiAgICAgICAgY2FzZSBTb3J0T3JkZXIuTm9uZTpcclxuICAgICAgICBjYXNlIFNvcnRPcmRlci5EZXNjZW5kaW5nOlxyXG4gICAgICAgICAgZGlyZWN0aW9uID0gU29ydE9yZGVyLkFzY2VuZGluZztcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgU29ydE9yZGVyLkFzY2VuZGluZzpcclxuICAgICAgICAgIGRpcmVjdGlvbiA9IFNvcnRPcmRlci5EZXNjZW5kaW5nO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGRpcmVjdGlvbiA9IFNvcnRPcmRlci5Bc2NlbmRpbmc7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgcmVzdWx0OiBTb3J0RGVzY3JpcHRvciA9IG5ldyBTb3J0RGVzY3JpcHRvcigpO1xyXG4gICAgcmVzdWx0LlNvcnRDb2x1bW4gPSBjb21tYW5kO1xyXG4gICAgcmVzdWx0LlNvcnRPcmRlciA9IGRpcmVjdGlvbjtcclxuXHJcbiAgICB0aGlzLnNvcnRpbmcuZW1pdChyZXN1bHQpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRGllIE1ldGhvZGUgdmVycmluZ2VydCBkaWUgQ29sdW1uLVN0w7xja2UgdW0gZWluc1xyXG4gICAqL1xyXG4gIHB1YmxpYyBVbnJlZ2lzdGVyQ29sdW1uKCkge1xyXG4gICAgdGhpcy5Db2x1bW5Db3VudC0tO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2V0enQgZGllIG5ldWUgU2VpdGVcclxuICAgKiBAcGFyYW0gbmV3U3RhcnRJbmRleCBOZXVlciBTZWl0ZW4gSW5kZXggKFplcm8tQmFzZWQpXHJcbiAgICovXHJcbiAgcHVibGljIHBhZ2VDaGFuZ2UobmV3U3RhcnRJbmRleCkge1xyXG4gICAgdGhpcy5wYWdpbmcuZW1pdChuZXdTdGFydEluZGV4KTtcclxuICB9XHJcblxyXG4gIC8vICNlbmRyZWdpb24gUHVibGljIE1ldGhvZHNcclxufVxyXG4iXX0=
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @fileoverview This file was generated by the Angular template compiler. Do not edit.
3
+ *
4
+ * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes,extraRequire}
5
+ * tslint:disable
6
+ */
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC5uZ2ZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiQzovUHJvamVrdGUvc2ltcGxlYW5ndWxhcmNvbnRyb2xzLW5nMTAvY2guam5ldHdvcmsuc2FjLWNvbnRyb2xzL3Byb2plY3RzL3NhYy1jb21tb24vc3JjLyIsInNvdXJjZXMiOlsiY29udHJvbHMvZ3JpZC9ncmlkLm5nZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgaTAgZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pMC5Db21wb25lbnRGYWN0b3J5O1xuIl19
@@ -0,0 +1,54 @@
1
+ import { Directive, EventEmitter, Input, Output } from '@angular/core';
2
+ /**
3
+ * Base Grid Action Button
4
+ */
5
+ export class SacGridButtonCommon {
6
+ constructor() {
7
+ /**
8
+ * Input Property für Styling des Buttons. Deffiniert die Css Klassen des Buttons
9
+ */
10
+ this.iconstyle = '';
11
+ /**
12
+ * Button ist deaktiviert
13
+ */
14
+ this._isdisabledvalue = false;
15
+ /**
16
+ * Event wenn auf den Button geklickt wird
17
+ */
18
+ this.clicked = new EventEmitter();
19
+ }
20
+ /**
21
+ * Deaktivieren von Buttons
22
+ * @param v Deaktiviert den Button
23
+ * @return Definiert ob der Button deaktiviert ist
24
+ */
25
+ set isdisabled(v) {
26
+ if (v === null || v === undefined || typeof v === 'boolean') {
27
+ this._isdisabledvalue = v;
28
+ }
29
+ else {
30
+ this._isdisabledvalue = v === 'true';
31
+ }
32
+ }
33
+ get isdisabled() {
34
+ return this._isdisabledvalue;
35
+ }
36
+ /**
37
+ * Die Methode wird das cklickaction Emitter aktivieren
38
+ */
39
+ callaction() {
40
+ if (!this._isdisabledvalue) {
41
+ this.clicked.emit(this.iconstyle);
42
+ }
43
+ }
44
+ }
45
+ SacGridButtonCommon.decorators = [
46
+ { type: Directive }
47
+ ];
48
+ SacGridButtonCommon.propDecorators = {
49
+ iconstyle: [{ type: Input }],
50
+ icon: [{ type: Input }],
51
+ isdisabled: [{ type: Input }],
52
+ clicked: [{ type: Output }]
53
+ };
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZGJ1dHRvbi5qcyIsInNvdXJjZVJvb3QiOiJDOi9Qcm9qZWt0ZS9zaW1wbGVhbmd1bGFyY29udHJvbHMtbmcxMC9jaC5qbmV0d29yay5zYWMtY29udHJvbHMvcHJvamVjdHMvc2FjLWNvbW1vbi9zcmMvIiwic291cmNlcyI6WyJjb250cm9scy9ncmlkL2dyaWRidXR0b24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2RTs7R0FFRztBQUVILE1BQU0sT0FBTyxtQkFBbUI7SUFEaEM7UUFFRTs7V0FFRztRQUVJLGNBQVMsR0FBVyxFQUFFLENBQUM7UUFROUI7O1dBRUc7UUFDTyxxQkFBZ0IsR0FBWSxLQUFLLENBQUM7UUFtQjVDOztXQUVHO1FBRUgsWUFBTyxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO0lBVXZELENBQUM7SUEvQkM7Ozs7T0FJRztJQUNILElBQ0ksVUFBVSxDQUFDLENBQW1CO1FBQ2hDLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssU0FBUyxJQUFJLE9BQU8sQ0FBQyxLQUFLLFNBQVMsRUFBRTtZQUMzRCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsQ0FBWSxDQUFDO1NBQ3RDO2FBQU07WUFDTCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxLQUFLLE1BQU0sQ0FBQztTQUN0QztJQUNILENBQUM7SUFDRCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUMvQixDQUFDO0lBUUQ7O09BRUc7SUFDSSxVQUFVO1FBQ2YsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUMxQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDbkM7SUFDSCxDQUFDOzs7WUFqREYsU0FBUzs7O3dCQUtQLEtBQUs7bUJBTUwsS0FBSzt5QkFhTCxLQUFLO3NCQWVMLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuLyoqXHJcbiAqIEJhc2UgR3JpZCBBY3Rpb24gQnV0dG9uXHJcbiAqL1xyXG5ARGlyZWN0aXZlKClcclxuZXhwb3J0IGNsYXNzIFNhY0dyaWRCdXR0b25Db21tb24ge1xyXG4gIC8qKlxyXG4gICAqIElucHV0IFByb3BlcnR5IGbDvHIgU3R5bGluZyBkZXMgQnV0dG9ucy4gRGVmZmluaWVydCBkaWUgQ3NzIEtsYXNzZW4gZGVzIEJ1dHRvbnNcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBpY29uc3R5bGU6IHN0cmluZyA9ICcnO1xyXG5cclxuICAvKipcclxuICAgKiBJY29uIE5hbWUgYXVzIFNwcml0ZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGljb246IHN0cmluZztcclxuXHJcbiAgLyoqXHJcbiAgICogQnV0dG9uIGlzdCBkZWFrdGl2aWVydFxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBfaXNkaXNhYmxlZHZhbHVlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIERlYWt0aXZpZXJlbiB2b24gQnV0dG9uc1xyXG4gICAqIEBwYXJhbSB2IERlYWt0aXZpZXJ0IGRlbiBCdXR0b25cclxuICAgKiBAcmV0dXJuIERlZmluaWVydCBvYiBkZXIgQnV0dG9uIGRlYWt0aXZpZXJ0IGlzdFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IGlzZGlzYWJsZWQodjogYm9vbGVhbiB8IHN0cmluZykge1xyXG4gICAgaWYgKHYgPT09IG51bGwgfHwgdiA9PT0gdW5kZWZpbmVkIHx8IHR5cGVvZiB2ID09PSAnYm9vbGVhbicpIHtcclxuICAgICAgdGhpcy5faXNkaXNhYmxlZHZhbHVlID0gdiBhcyBib29sZWFuO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faXNkaXNhYmxlZHZhbHVlID0gdiA9PT0gJ3RydWUnO1xyXG4gICAgfVxyXG4gIH1cclxuICBnZXQgaXNkaXNhYmxlZCgpOiBib29sZWFuIHwgc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9pc2Rpc2FibGVkdmFsdWU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBFdmVudCB3ZW5uIGF1ZiBkZW4gQnV0dG9uIGdla2xpY2t0IHdpcmRcclxuICAgKi9cclxuICBAT3V0cHV0KClcclxuICBjbGlja2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICAvKipcclxuICAgKiBEaWUgTWV0aG9kZSB3aXJkIGRhcyBja2xpY2thY3Rpb24gRW1pdHRlciBha3RpdmllcmVuXHJcbiAgICovXHJcbiAgcHVibGljIGNhbGxhY3Rpb24oKSB7XHJcbiAgICBpZiAoIXRoaXMuX2lzZGlzYWJsZWR2YWx1ZSkge1xyXG4gICAgICB0aGlzLmNsaWNrZWQuZW1pdCh0aGlzLmljb25zdHlsZSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @fileoverview This file was generated by the Angular template compiler. Do not edit.
3
+ *
4
+ * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes,extraRequire}
5
+ * tslint:disable
6
+ */
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZGJ1dHRvbi5uZ2ZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiQzovUHJvamVrdGUvc2ltcGxlYW5ndWxhcmNvbnRyb2xzLW5nMTAvY2guam5ldHdvcmsuc2FjLWNvbnRyb2xzL3Byb2plY3RzL3NhYy1jb21tb24vc3JjLyIsInNvdXJjZXMiOlsiY29udHJvbHMvZ3JpZC9ncmlkYnV0dG9uLm5nZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgaTAgZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pMC5Db21wb25lbnRGYWN0b3J5O1xuIl19