@simpleangularcontrols/sac-bootstrap3 10.0.0-rc.20 → 10.0.0-rc.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (319) hide show
  1. package/README.md +27 -27
  2. package/bundles/simpleangularcontrols-sac-bootstrap3.umd.js +2758 -2727
  3. package/bundles/simpleangularcontrols-sac-bootstrap3.umd.js.map +1 -1
  4. package/bundles/simpleangularcontrols-sac-bootstrap3.umd.min.js +1 -1
  5. package/bundles/simpleangularcontrols-sac-bootstrap3.umd.min.js.map +1 -1
  6. package/controls/buttons/button.d.ts +3 -3
  7. package/controls/buttons/button.module.d.ts +2 -2
  8. package/controls/buttons/button.module.ngfactory.d.ts +3 -3
  9. package/controls/buttons/button.ngfactory.d.ts +1 -1
  10. package/controls/checkbox/checkbox.d.ts +11 -11
  11. package/controls/checkbox/checkbox.module.d.ts +2 -2
  12. package/controls/checkbox/checkbox.module.ngfactory.d.ts +3 -3
  13. package/controls/checkbox/checkbox.ngfactory.d.ts +1 -1
  14. package/controls/checkbox/checkbox.scss.ngstyle.d.ts +1 -1
  15. package/controls/checkbox/checkbox.scss.shim.ngstyle.d.ts +1 -1
  16. package/controls/checkbox/radiobutton.d.ts +7 -7
  17. package/controls/checkbox/radiobutton.ngfactory.d.ts +1 -1
  18. package/controls/checkbox/radiobutton.scss.ngstyle.d.ts +1 -1
  19. package/controls/checkbox/radiobutton.scss.shim.ngstyle.d.ts +1 -1
  20. package/controls/checkbox/radiobuttons.d.ts +11 -11
  21. package/controls/checkbox/radiobuttons.ngfactory.d.ts +1 -1
  22. package/controls/confirm/confirm.d.ts +3 -3
  23. package/controls/confirm/confirm.module.d.ts +11 -11
  24. package/controls/confirm/confirm.module.ngfactory.d.ts +3 -3
  25. package/controls/confirm/confirm.ngfactory.d.ts +1 -1
  26. package/controls/confirm/confirm.service.d.ts +54 -54
  27. package/controls/confirm/confirm.service.ngfactory.d.ts +1 -1
  28. package/controls/contextmenu/contextmenu.d.ts +16 -16
  29. package/controls/contextmenu/contextmenu.module.d.ts +2 -2
  30. package/controls/contextmenu/contextmenu.module.ngfactory.d.ts +3 -3
  31. package/controls/contextmenu/contextmenu.ngfactory.d.ts +1 -1
  32. package/controls/contextmenu/contextmenuanchor.d.ts +12 -12
  33. package/controls/contextmenu/contextmenuanchor.ngfactory.d.ts +1 -1
  34. package/controls/contextmenu/contextmenucontainer.d.ts +12 -12
  35. package/controls/contextmenu/contextmenucontainer.ngfactory.d.ts +1 -1
  36. package/controls/contextmenu/contextmenuitembutton.d.ts +14 -14
  37. package/controls/contextmenu/contextmenuitembutton.ngfactory.d.ts +1 -1
  38. package/controls/contextmenu/contextmenuitemsplitter.d.ts +6 -6
  39. package/controls/contextmenu/contextmenuitemsplitter.ngfactory.d.ts +1 -1
  40. package/controls/datetime/date.d.ts +13 -13
  41. package/controls/datetime/date.ngfactory.d.ts +1 -1
  42. package/controls/datetime/dateselector.d.ts +3 -3
  43. package/controls/datetime/dateselector.ngfactory.d.ts +1 -1
  44. package/controls/datetime/datetime.d.ts +13 -13
  45. package/controls/datetime/datetime.module.d.ts +2 -2
  46. package/controls/datetime/datetime.module.ngfactory.d.ts +3 -3
  47. package/controls/datetime/datetime.ngfactory.d.ts +1 -1
  48. package/controls/datetime/time.d.ts +13 -13
  49. package/controls/datetime/time.ngfactory.d.ts +1 -1
  50. package/controls/dialog/dialog.d.ts +11 -11
  51. package/controls/dialog/dialog.module.d.ts +2 -2
  52. package/controls/dialog/dialog.module.ngfactory.d.ts +3 -3
  53. package/controls/dialog/dialog.ngfactory.d.ts +1 -1
  54. package/controls/form/form.d.ts +28 -28
  55. package/controls/form/form.module.d.ts +2 -2
  56. package/controls/form/form.module.ngfactory.d.ts +3 -3
  57. package/controls/form/form.ngfactory.d.ts +1 -1
  58. package/controls/form/inheritform.directive.d.ts +24 -24
  59. package/controls/form/inheritform.directive.ngfactory.d.ts +1 -1
  60. package/controls/grid/grid.d.ts +6 -6
  61. package/controls/grid/grid.module.d.ts +2 -2
  62. package/controls/grid/grid.module.ngfactory.d.ts +3 -3
  63. package/controls/grid/grid.ngfactory.d.ts +1 -1
  64. package/controls/grid/gridbutton.d.ts +10 -10
  65. package/controls/grid/gridbutton.ngfactory.d.ts +1 -1
  66. package/controls/grid/gridcolumn.d.ts +6 -6
  67. package/controls/grid/gridcolumn.ngfactory.d.ts +1 -1
  68. package/controls/grid/gridcolumnaction.d.ts +6 -6
  69. package/controls/grid/gridcolumnaction.ngfactory.d.ts +1 -1
  70. package/controls/grid/gridimage.d.ts +4 -4
  71. package/controls/grid/gridimage.ngfactory.d.ts +1 -1
  72. package/controls/grid/paging.d.ts +8 -8
  73. package/controls/grid/paging.ngfactory.d.ts +1 -1
  74. package/controls/input/input.d.ts +11 -11
  75. package/controls/input/input.module.d.ts +2 -2
  76. package/controls/input/input.module.ngfactory.d.ts +3 -3
  77. package/controls/input/input.ngfactory.d.ts +1 -1
  78. package/controls/input/inputarea.d.ts +23 -23
  79. package/controls/input/inputarea.ngfactory.d.ts +1 -1
  80. package/controls/input/inputcurrency.d.ts +11 -11
  81. package/controls/input/inputcurrency.ngfactory.d.ts +1 -1
  82. package/controls/input/inputdecimal.d.ts +11 -11
  83. package/controls/input/inputdecimal.ngfactory.d.ts +1 -1
  84. package/controls/input/inputemail.d.ts +11 -11
  85. package/controls/input/inputemail.ngfactory.d.ts +1 -1
  86. package/controls/input/inputinteger.d.ts +11 -11
  87. package/controls/input/inputinteger.ngfactory.d.ts +1 -1
  88. package/controls/input/inputpassword.d.ts +11 -11
  89. package/controls/input/inputpassword.ngfactory.d.ts +1 -1
  90. package/controls/input/inputsearch.d.ts +11 -11
  91. package/controls/input/inputsearch.ngfactory.d.ts +1 -1
  92. package/controls/layout/formlayout.directive.d.ts +3 -3
  93. package/controls/layout/formlayout.directive.ngfactory.d.ts +1 -1
  94. package/controls/layout/layout.module.d.ts +2 -2
  95. package/controls/layout/layout.module.ngfactory.d.ts +3 -3
  96. package/controls/layout/tocontrolheight.pipe.d.ts +9 -9
  97. package/controls/layout/tocontrolheight.pipe.ngfactory.d.ts +1 -1
  98. package/controls/layout/tocontrolwidthcss.pipe.d.ts +16 -16
  99. package/controls/layout/tocontrolwidthcss.pipe.ngfactory.d.ts +1 -1
  100. package/controls/layout/tolabelheight.pipe.d.ts +9 -9
  101. package/controls/layout/tolabelheight.pipe.ngfactory.d.ts +1 -1
  102. package/controls/layout/tolabelwidthcss.pipe.d.ts +10 -10
  103. package/controls/layout/tolabelwidthcss.pipe.ngfactory.d.ts +1 -1
  104. package/controls/list/dropdown.d.ts +22 -22
  105. package/controls/list/dropdown.ngfactory.d.ts +1 -1
  106. package/controls/list/list.module.d.ts +2 -2
  107. package/controls/list/list.module.ngfactory.d.ts +3 -3
  108. package/controls/list/listbox.d.ts +11 -11
  109. package/controls/list/listbox.ngfactory.d.ts +1 -1
  110. package/controls/static/formcontainer.d.ts +25 -25
  111. package/controls/static/formcontainer.ngfactory.d.ts +1 -1
  112. package/controls/static/staticlabel.d.ts +11 -11
  113. package/controls/static/staticlabel.module.d.ts +2 -2
  114. package/controls/static/staticlabel.module.ngfactory.d.ts +3 -3
  115. package/controls/static/staticlabel.ngfactory.d.ts +1 -1
  116. package/controls/tabs/tab.d.ts +7 -7
  117. package/controls/tabs/tab.ngfactory.d.ts +1 -1
  118. package/controls/tabs/tabitem.d.ts +3 -3
  119. package/controls/tabs/tabitem.ngfactory.d.ts +1 -1
  120. package/controls/tabs/tabs.module.d.ts +2 -2
  121. package/controls/tabs/tabs.module.ngfactory.d.ts +3 -3
  122. package/controls/tinymce/tinymce.d.ts +20 -20
  123. package/controls/tinymce/tinymce.module.d.ts +2 -2
  124. package/controls/tinymce/tinymce.module.ngfactory.d.ts +3 -3
  125. package/controls/tinymce/tinymce.ngfactory.d.ts +1 -1
  126. package/controls/tooltip/tooltip.d.ts +34 -34
  127. package/controls/tooltip/tooltip.module.d.ts +2 -2
  128. package/controls/tooltip/tooltip.module.ngfactory.d.ts +3 -3
  129. package/controls/tooltip/tooltip.ngfactory.d.ts +1 -1
  130. package/controls/treeview/treeview.d.ts +14 -14
  131. package/controls/treeview/treeview.module.d.ts +2 -2
  132. package/controls/treeview/treeview.module.ngfactory.d.ts +3 -3
  133. package/controls/treeview/treeview.ngfactory.d.ts +1 -1
  134. package/controls/upload/dropzonemultiple.d.ts +21 -21
  135. package/controls/upload/dropzonemultiple.ngfactory.d.ts +1 -1
  136. package/controls/upload/dropzonesingle.d.ts +21 -21
  137. package/controls/upload/dropzonesingle.ngfactory.d.ts +1 -1
  138. package/controls/upload/upload.d.ts +13 -13
  139. package/controls/upload/upload.module.d.ts +2 -2
  140. package/controls/upload/upload.module.ngfactory.d.ts +3 -3
  141. package/controls/upload/upload.ngfactory.d.ts +1 -1
  142. package/controls/upload/upload.scss.ngstyle.d.ts +1 -1
  143. package/controls/upload/upload.scss.shim.ngstyle.d.ts +1 -1
  144. package/controls/upload/uploadmultiple.d.ts +13 -13
  145. package/controls/upload/uploadmultiple.ngfactory.d.ts +1 -1
  146. package/controls/validation/validationsummary.d.ts +11 -11
  147. package/controls/validation/validationsummary.module.d.ts +2 -2
  148. package/controls/validation/validationsummary.module.ngfactory.d.ts +3 -3
  149. package/controls/validation/validationsummary.ngfactory.d.ts +1 -1
  150. package/controls/wizard/wizard.d.ts +7 -7
  151. package/controls/wizard/wizard.module.d.ts +2 -2
  152. package/controls/wizard/wizard.module.ngfactory.d.ts +3 -3
  153. package/controls/wizard/wizard.ngfactory.d.ts +1 -1
  154. package/controls/wizard/wizarditem.d.ts +3 -3
  155. package/controls/wizard/wizarditem.ngfactory.d.ts +1 -1
  156. package/esm2015/controls/buttons/button.js +13 -13
  157. package/esm2015/controls/buttons/button.module.js +15 -15
  158. package/esm2015/controls/buttons/button.module.ngfactory.js +7 -7
  159. package/esm2015/controls/buttons/button.ngfactory.js +7 -7
  160. package/esm2015/controls/checkbox/checkbox.js +40 -40
  161. package/esm2015/controls/checkbox/checkbox.module.js +29 -29
  162. package/esm2015/controls/checkbox/checkbox.module.ngfactory.js +7 -7
  163. package/esm2015/controls/checkbox/checkbox.ngfactory.js +7 -7
  164. package/esm2015/controls/checkbox/checkbox.scss.ngstyle.js +7 -7
  165. package/esm2015/controls/checkbox/checkbox.scss.shim.ngstyle.js +7 -7
  166. package/esm2015/controls/checkbox/radiobutton.js +23 -23
  167. package/esm2015/controls/checkbox/radiobutton.ngfactory.js +7 -7
  168. package/esm2015/controls/checkbox/radiobutton.scss.ngstyle.js +7 -7
  169. package/esm2015/controls/checkbox/radiobutton.scss.shim.ngstyle.js +7 -7
  170. package/esm2015/controls/checkbox/radiobuttons.js +39 -39
  171. package/esm2015/controls/checkbox/radiobuttons.ngfactory.js +7 -7
  172. package/esm2015/controls/confirm/confirm.js +11 -11
  173. package/esm2015/controls/confirm/confirm.module.js +31 -31
  174. package/esm2015/controls/confirm/confirm.module.ngfactory.js +7 -7
  175. package/esm2015/controls/confirm/confirm.ngfactory.js +7 -7
  176. package/esm2015/controls/confirm/confirm.service.js +102 -102
  177. package/esm2015/controls/confirm/confirm.service.ngfactory.js +7 -7
  178. package/esm2015/controls/contextmenu/contextmenu.js +34 -34
  179. package/esm2015/controls/contextmenu/contextmenu.module.js +28 -28
  180. package/esm2015/controls/contextmenu/contextmenu.module.ngfactory.js +7 -7
  181. package/esm2015/controls/contextmenu/contextmenu.ngfactory.js +7 -7
  182. package/esm2015/controls/contextmenu/contextmenuanchor.js +30 -30
  183. package/esm2015/controls/contextmenu/contextmenuanchor.ngfactory.js +7 -7
  184. package/esm2015/controls/contextmenu/contextmenucontainer.js +30 -30
  185. package/esm2015/controls/contextmenu/contextmenucontainer.ngfactory.js +7 -7
  186. package/esm2015/controls/contextmenu/contextmenuitembutton.js +42 -42
  187. package/esm2015/controls/contextmenu/contextmenuitembutton.ngfactory.js +7 -7
  188. package/esm2015/controls/contextmenu/contextmenuitemsplitter.js +20 -20
  189. package/esm2015/controls/contextmenu/contextmenuitemsplitter.ngfactory.js +7 -7
  190. package/esm2015/controls/datetime/date.js +49 -49
  191. package/esm2015/controls/datetime/date.ngfactory.js +7 -7
  192. package/esm2015/controls/datetime/dateselector.js +11 -11
  193. package/esm2015/controls/datetime/dateselector.ngfactory.js +7 -7
  194. package/esm2015/controls/datetime/datetime.js +43 -43
  195. package/esm2015/controls/datetime/datetime.module.js +34 -34
  196. package/esm2015/controls/datetime/datetime.module.ngfactory.js +7 -7
  197. package/esm2015/controls/datetime/datetime.ngfactory.js +7 -7
  198. package/esm2015/controls/datetime/time.js +43 -43
  199. package/esm2015/controls/datetime/time.ngfactory.js +7 -7
  200. package/esm2015/controls/dialog/dialog.js +51 -51
  201. package/esm2015/controls/dialog/dialog.module.js +15 -15
  202. package/esm2015/controls/dialog/dialog.module.ngfactory.js +7 -7
  203. package/esm2015/controls/dialog/dialog.ngfactory.js +7 -7
  204. package/esm2015/controls/form/form.js +49 -49
  205. package/esm2015/controls/form/form.module.js +15 -15
  206. package/esm2015/controls/form/form.module.ngfactory.js +7 -7
  207. package/esm2015/controls/form/form.ngfactory.js +7 -7
  208. package/esm2015/controls/form/inheritform.directive.js +57 -57
  209. package/esm2015/controls/form/inheritform.directive.ngfactory.js +7 -7
  210. package/esm2015/controls/grid/grid.js +24 -24
  211. package/esm2015/controls/grid/grid.module.js +33 -33
  212. package/esm2015/controls/grid/grid.module.ngfactory.js +7 -7
  213. package/esm2015/controls/grid/grid.ngfactory.js +7 -7
  214. package/esm2015/controls/grid/gridbutton.js +39 -39
  215. package/esm2015/controls/grid/gridbutton.ngfactory.js +7 -7
  216. package/esm2015/controls/grid/gridcolumn.js +26 -26
  217. package/esm2015/controls/grid/gridcolumn.ngfactory.js +7 -7
  218. package/esm2015/controls/grid/gridcolumnaction.js +27 -27
  219. package/esm2015/controls/grid/gridcolumnaction.ngfactory.js +7 -7
  220. package/esm2015/controls/grid/gridimage.js +21 -21
  221. package/esm2015/controls/grid/gridimage.ngfactory.js +7 -7
  222. package/esm2015/controls/grid/paging.js +24 -24
  223. package/esm2015/controls/grid/paging.ngfactory.js +7 -7
  224. package/esm2015/controls/input/input.js +35 -35
  225. package/esm2015/controls/input/input.module.js +47 -47
  226. package/esm2015/controls/input/input.module.ngfactory.js +7 -7
  227. package/esm2015/controls/input/input.ngfactory.js +7 -7
  228. package/esm2015/controls/input/inputarea.js +51 -51
  229. package/esm2015/controls/input/inputarea.ngfactory.js +7 -7
  230. package/esm2015/controls/input/inputcurrency.js +39 -39
  231. package/esm2015/controls/input/inputcurrency.ngfactory.js +7 -7
  232. package/esm2015/controls/input/inputdecimal.js +39 -39
  233. package/esm2015/controls/input/inputdecimal.ngfactory.js +7 -7
  234. package/esm2015/controls/input/inputemail.js +39 -39
  235. package/esm2015/controls/input/inputemail.ngfactory.js +7 -7
  236. package/esm2015/controls/input/inputinteger.js +39 -39
  237. package/esm2015/controls/input/inputinteger.ngfactory.js +7 -7
  238. package/esm2015/controls/input/inputpassword.js +39 -39
  239. package/esm2015/controls/input/inputpassword.ngfactory.js +7 -7
  240. package/esm2015/controls/input/inputsearch.js +39 -39
  241. package/esm2015/controls/input/inputsearch.ngfactory.js +7 -7
  242. package/esm2015/controls/layout/formlayout.directive.js +10 -10
  243. package/esm2015/controls/layout/formlayout.directive.ngfactory.js +7 -7
  244. package/esm2015/controls/layout/layout.module.js +29 -29
  245. package/esm2015/controls/layout/layout.module.ngfactory.js +7 -7
  246. package/esm2015/controls/layout/tocontrolheight.pipe.js +29 -29
  247. package/esm2015/controls/layout/tocontrolheight.pipe.ngfactory.js +7 -7
  248. package/esm2015/controls/layout/tocontrolwidthcss.pipe.js +47 -47
  249. package/esm2015/controls/layout/tocontrolwidthcss.pipe.ngfactory.js +7 -7
  250. package/esm2015/controls/layout/tolabelheight.pipe.js +29 -29
  251. package/esm2015/controls/layout/tolabelheight.pipe.ngfactory.js +7 -7
  252. package/esm2015/controls/layout/tolabelwidthcss.pipe.js +31 -31
  253. package/esm2015/controls/layout/tolabelwidthcss.pipe.ngfactory.js +7 -7
  254. package/esm2015/controls/list/dropdown.js +65 -65
  255. package/esm2015/controls/list/dropdown.ngfactory.js +7 -7
  256. package/esm2015/controls/list/list.module.js +32 -32
  257. package/esm2015/controls/list/list.module.ngfactory.js +7 -7
  258. package/esm2015/controls/list/listbox.js +41 -41
  259. package/esm2015/controls/list/listbox.ngfactory.js +7 -7
  260. package/esm2015/controls/static/formcontainer.js +53 -53
  261. package/esm2015/controls/static/formcontainer.ngfactory.js +7 -7
  262. package/esm2015/controls/static/staticlabel.js +39 -39
  263. package/esm2015/controls/static/staticlabel.module.js +20 -20
  264. package/esm2015/controls/static/staticlabel.module.ngfactory.js +7 -7
  265. package/esm2015/controls/static/staticlabel.ngfactory.js +7 -7
  266. package/esm2015/controls/tabs/tab.js +18 -18
  267. package/esm2015/controls/tabs/tab.ngfactory.js +7 -7
  268. package/esm2015/controls/tabs/tabitem.js +11 -11
  269. package/esm2015/controls/tabs/tabitem.ngfactory.js +7 -7
  270. package/esm2015/controls/tabs/tabs.module.js +16 -16
  271. package/esm2015/controls/tabs/tabs.module.ngfactory.js +7 -7
  272. package/esm2015/controls/tinymce/tinymce.js +50 -50
  273. package/esm2015/controls/tinymce/tinymce.module.js +27 -27
  274. package/esm2015/controls/tinymce/tinymce.module.ngfactory.js +7 -7
  275. package/esm2015/controls/tinymce/tinymce.ngfactory.js +7 -7
  276. package/esm2015/controls/tooltip/tooltip.js +52 -52
  277. package/esm2015/controls/tooltip/tooltip.module.js +13 -13
  278. package/esm2015/controls/tooltip/tooltip.module.ngfactory.js +7 -7
  279. package/esm2015/controls/tooltip/tooltip.ngfactory.js +7 -7
  280. package/esm2015/controls/treeview/treeview.js +41 -41
  281. package/esm2015/controls/treeview/treeview.module.js +16 -16
  282. package/esm2015/controls/treeview/treeview.module.ngfactory.js +7 -7
  283. package/esm2015/controls/treeview/treeview.ngfactory.js +7 -7
  284. package/esm2015/controls/upload/dropzonemultiple.js +55 -55
  285. package/esm2015/controls/upload/dropzonemultiple.ngfactory.js +7 -7
  286. package/esm2015/controls/upload/dropzonesingle.js +55 -55
  287. package/esm2015/controls/upload/dropzonesingle.ngfactory.js +7 -7
  288. package/esm2015/controls/upload/upload.js +44 -44
  289. package/esm2015/controls/upload/upload.module.js +24 -24
  290. package/esm2015/controls/upload/upload.module.ngfactory.js +7 -7
  291. package/esm2015/controls/upload/upload.ngfactory.js +7 -7
  292. package/esm2015/controls/upload/upload.scss.ngstyle.js +7 -7
  293. package/esm2015/controls/upload/upload.scss.shim.ngstyle.js +7 -7
  294. package/esm2015/controls/upload/uploadmultiple.js +44 -44
  295. package/esm2015/controls/upload/uploadmultiple.ngfactory.js +7 -7
  296. package/esm2015/controls/validation/validationsummary.js +34 -34
  297. package/esm2015/controls/validation/validationsummary.module.js +15 -15
  298. package/esm2015/controls/validation/validationsummary.module.ngfactory.js +7 -7
  299. package/esm2015/controls/validation/validationsummary.ngfactory.js +7 -7
  300. package/esm2015/controls/wizard/wizard.js +23 -23
  301. package/esm2015/controls/wizard/wizard.module.js +16 -16
  302. package/esm2015/controls/wizard/wizard.module.ngfactory.js +7 -7
  303. package/esm2015/controls/wizard/wizard.ngfactory.js +7 -7
  304. package/esm2015/controls/wizard/wizarditem.js +11 -11
  305. package/esm2015/controls/wizard/wizarditem.ngfactory.js +7 -7
  306. package/esm2015/public_api.js +76 -76
  307. package/esm2015/public_api.ngfactory.js +7 -7
  308. package/esm2015/simpleangularcontrols-sac-bootstrap3.js +6 -6
  309. package/esm2015/simpleangularcontrols-sac-bootstrap3.ngfactory.js +7 -7
  310. package/fesm2015/simpleangularcontrols-sac-bootstrap3.js +2098 -2098
  311. package/fesm2015/simpleangularcontrols-sac-bootstrap3.js.map +1 -1
  312. package/package.json +31 -31
  313. package/public_api.d.ts +70 -70
  314. package/public_api.ngfactory.d.ts +1 -1
  315. package/simpleangularcontrols-sac-bootstrap3-10.0.0-rc.22.tgz +0 -0
  316. package/simpleangularcontrols-sac-bootstrap3.d.ts +5 -5
  317. package/simpleangularcontrols-sac-bootstrap3.metadata.json +1 -1
  318. package/simpleangularcontrols-sac-bootstrap3.ngfactory.d.ts +1 -1
  319. package/simpleangularcontrols-sac-bootstrap3-10.0.0-rc.20.tgz +0 -0
@@ -8,2124 +8,2124 @@ import { IMaskModule } from 'angular-imask';
8
8
  import moment_ from 'moment';
9
9
  import { EditorModule } from '@tinymce/tinymce-angular';
10
10
 
11
- class SacButtonComponent extends SacButtonCommon {
12
- }
13
- SacButtonComponent.decorators = [
14
- { type: Component, args: [{
15
- selector: 'sac-button',
16
- template: "<a\r\n [id]=\"name\"\r\n class=\"btn\"\r\n [class.btn-primary]=\"role === 'primary'\"\r\n [class.btn-secondary]=\"role === 'secondary'\"\r\n [class.btn-success]=\"role === 'success'\"\r\n [class.btn-danger]=\"role === 'danger'\"\r\n [class.btn-warning]=\"role === 'warning'\"\r\n [class.btn-info]=\"role === 'info'\"\r\n [class.btn-default]=\"role === 'default'\"\r\n [class.btn-link]=\"role === 'link'\"\r\n [attr.disabled]=\"_isdisabled ? 'disabled' : null\"\r\n (click)=\"buttonClick()\"\r\n>\r\n <i\r\n *ngIf=\"isloading\"\r\n class=\"\"\r\n role=\"status\"\r\n aria-hidden=\"true\"\r\n class=\"glyphicon glyphicon-repeat spin\"\r\n [ngStyle]=\"{ 'margin-right': text ? '0.5rem': null}\"\r\n ></i>\r\n <i\r\n *ngIf=\"!isloading && icon !== ''\"\r\n [ngClass]=\"icon\"\r\n [ngStyle]=\"{ 'margin-right': text ? '0.5rem': null}\"\r\n ></i>\r\n {{text}}\r\n</a>\r\n",
17
- encapsulation: ViewEncapsulation.None,
18
- styles: ['sac-button+sac-button {margin-left: 5px}', '.spin { animation: spin 1.5s infinite; } @keyframes spin { 0% { transform: rotate(0); } 100% { transform: rotate(360deg); } }']
19
- },] }
20
- ];
21
-
22
- class SACBootstrap3ButtonModule {
23
- }
24
- SACBootstrap3ButtonModule.decorators = [
25
- { type: NgModule, args: [{
26
- declarations: [SacButtonComponent],
27
- imports: [
28
- CommonModule
29
- ],
30
- exports: [SacButtonComponent]
31
- },] }
32
- ];
33
-
34
- class SacFormLayoutDirective extends SacFormLayoutCommon {
35
- }
36
- SacFormLayoutDirective.decorators = [
37
- { type: Directive, args: [{
38
- selector: '[sacFormLayout]',
39
- },] }
40
- ];
41
-
42
- class SacToControlHeightPipe {
43
- // #region Public Methods
44
- /**
45
- * Returns the CSS class that defines the height for the control
46
- * @param value ControlHeight value or null
47
- */
48
- transform(value) {
49
- // Return default value
50
- if (!value) {
51
- return '';
52
- }
53
- switch (value) {
54
- case ControlHeight.Small:
55
- return 'input-sm';
56
- case ControlHeight.Large:
57
- return 'input-lg';
58
- default:
59
- return '';
60
- }
61
- }
62
- }
63
- SacToControlHeightPipe.decorators = [
64
- { type: Pipe, args: [{
65
- name: 'toControlHeight',
66
- },] }
67
- ];
68
-
69
- class SacToControlWidthCssPipe {
70
- // #region Public Methods
71
- /**
72
- * Get CSS classes from label width configuration to set control size
73
- * @param value Configuration with grid columns for different viewports
74
- * @returns string with css classe for bootstrap3
75
- */
76
- transform(value) {
77
- const classes = [];
78
- if (value.labelSizeXs) {
79
- classes.push('col-xs-' + this.calcControlSize(value.labelSizeXs));
80
- }
81
- if (value.labelSizeSm) {
82
- classes.push('col-sm-' + this.calcControlSize(value.labelSizeSm));
83
- }
84
- if (value.labelSizeMd) {
85
- classes.push('col-md-' + this.calcControlSize(value.labelSizeMd));
86
- }
87
- if (value.labelSizeLg) {
88
- classes.push('col-lg-' + this.calcControlSize(value.labelSizeLg));
89
- }
90
- return classes.join(' ');
91
- }
92
- // #endregion Public Methods
93
- // #region Private Methods
94
- /**
95
- * calculate the control size
96
- * @param labelsize grid size of label
97
- * @returns grid size for control. should be between 1 and 12
98
- */
99
- calcControlSize(labelsize) {
100
- if (labelsize === 12) {
101
- return 12;
102
- }
103
- if (!labelsize) {
104
- return 12;
105
- }
106
- return 12 - labelsize;
107
- }
108
- }
109
- SacToControlWidthCssPipe.decorators = [
110
- { type: Pipe, args: [{
111
- name: 'toControlWidthCss',
112
- },] }
113
- ];
114
-
115
- class SacToLabelHeightPipe {
116
- // #region Public Methods
117
- /**
118
- * Returns the CSS class that defines the height for the control
119
- * @param value ControlHeight value or null
120
- */
121
- transform(value) {
122
- // Return default value
123
- if (!value) {
124
- return '';
125
- }
126
- switch (value) {
127
- case ControlHeight.Small:
128
- return 'form-group-sm';
129
- case ControlHeight.Large:
130
- return 'form-group-lg';
131
- default:
132
- return '';
133
- }
134
- }
135
- }
136
- SacToLabelHeightPipe.decorators = [
137
- { type: Pipe, args: [{
138
- name: 'toLabelHeight',
139
- },] }
140
- ];
141
-
142
- class SacToLabelWidthCssPipe {
143
- // #region Public Methods
144
- /**
145
- * Get CSS classes from label width configuration to set label size
146
- * @param value Configuration with grid columns for different viewports
147
- * @returns string with css classe for bootstrap3
148
- */
149
- transform(value) {
150
- const classes = [];
151
- if (value.labelSizeXs) {
152
- classes.push('col-xs-' + value.labelSizeXs);
153
- }
154
- if (value.labelSizeSm) {
155
- classes.push('col-sm-' + value.labelSizeSm);
156
- }
157
- if (value.labelSizeMd) {
158
- classes.push('col-md-' + value.labelSizeMd);
159
- }
160
- if (value.labelSizeLg) {
161
- classes.push('col-lg-' + value.labelSizeLg);
162
- }
163
- return classes.join(' ');
164
- }
165
- }
166
- SacToLabelWidthCssPipe.decorators = [
167
- { type: Pipe, args: [{
168
- name: 'toLabelWidthCss',
169
- },] }
170
- ];
171
-
172
- class SACBootstrap3LayoutModule {
173
- }
174
- SACBootstrap3LayoutModule.decorators = [
175
- { type: NgModule, args: [{
176
- declarations: [
177
- SacFormLayoutDirective,
178
- SacToControlHeightPipe,
179
- SacToControlWidthCssPipe,
180
- SacToLabelHeightPipe,
181
- SacToLabelWidthCssPipe,
182
- ],
183
- imports: [CommonModule],
184
- exports: [
185
- SacFormLayoutDirective,
186
- SacToControlHeightPipe,
187
- SacToControlWidthCssPipe,
188
- SacToLabelHeightPipe,
189
- SacToLabelWidthCssPipe,
190
- ],
191
- },] }
192
- ];
193
-
194
- /**
195
- * Tooltip Komponente
196
- *
197
- * @example ToolTip Control
198
- *
199
- * <ngTooltip tooltiptext="Mein Tooltip" [inlinemode]="true">
200
- * <i class="tooltip"></i>
201
- * </ngTooltip>
202
- *
203
- * @example ToolTip Control im Inline Mode. Style auf Icon kann auch in Klasse ausgelagert werden.
204
- *
205
- * <div class="form-inline">
206
- * <ngInputSearch iconname="Suchen"></ngInputSearch>
207
- * <ngTooltip tooltiptext="Mein Tooltip" [inlinemode]="true">
208
- * <i class="tooltip" style="position: relative; left: 0; top: 3px; display: inline-block; margin-right: 10px;"></i>
209
- * </ngTooltip>
210
- * </div>
211
- *
212
- */
213
- class SacTooltipComponent extends SacTooltipCommon {
214
- // #region Constructors
215
- /**
216
- * Konstrukor
217
- * @param parent SacFormular Instanz
218
- * @param injector Component Injector
219
- */
220
- constructor(cdRef, ref) {
221
- super(cdRef, ref);
222
- }
223
- // #endregion Constructors
224
- // #region Protected Methods
225
- /**
226
- * Padding for Tooltip
227
- * @returns Always 0. BS3 not require Padding
228
- */
229
- getTooltipOffset() {
230
- return 0;
231
- }
232
- }
233
- SacTooltipComponent.decorators = [
234
- { type: Component, args: [{
235
- selector: 'sac-tooltip',
236
- template: "<div [style.display]=\"inlinemode ? 'inline' : null\">\r\n <div\r\n #container\r\n (mouseenter)=\"ShowTooltip()\"\r\n (mouseleave)=\"HideTooltip()\"\r\n [style.display]=\"inlinemode ? 'inline' : null\">\r\n <ng-content></ng-content>\r\n </div>\r\n <div\r\n *ngIf=\"IsTooltipVisible()\"\r\n #tooltip>\r\n <div\r\n [style.visibility]=\"IsTooltipContentVisible ? 'visible' : 'hidden'\"\r\n class=\"tooltip in\"\r\n style=\"display: block\"\r\n [style.left.px]=\"LeftPos\"\r\n [style.top.px]=\"TopPos\"\r\n [class.top]=\"GetTooltipPosition() === TooltipPosition.top\"\r\n [class.left]=\"GetTooltipPosition() === TooltipPosition.left\"\r\n [class.right]=\"GetTooltipPosition() === TooltipPosition.right\"\r\n [class.bottom]=\"GetTooltipPosition() === TooltipPosition.bottom\">\r\n <div class=\"tooltip-arrow\"></div>\r\n <div class=\"tooltip-inner\">{{ tooltiptext }}</div>\r\n </div>\r\n </div>\r\n</div>\r\n"
237
- },] }
238
- ];
239
- SacTooltipComponent.ctorParameters = () => [
240
- { type: ChangeDetectorRef },
241
- { type: ElementRef }
242
- ];
243
-
244
- class SACBootstrap3TooltipModule {
245
- }
246
- SACBootstrap3TooltipModule.decorators = [
247
- { type: NgModule, args: [{
248
- declarations: [SacTooltipComponent],
249
- imports: [CommonModule],
250
- exports: [SacTooltipComponent],
251
- },] }
252
- ];
253
-
254
- class SacCheckboxComponent extends SacCheckboxCommon {
255
- // #region Constructors
256
- /**
257
- * Constructor
258
- * @param formLayout SacFormLayout to define scoped layout settings
259
- * @param injector Injector for injecting services
260
- */
261
- constructor(formLayout, injector) {
262
- super(formLayout, injector);
263
- }
264
- }
265
- SacCheckboxComponent.decorators = [
266
- { type: Component, args: [{
267
- selector: 'sac-checkbox',
268
- template: "<div\r\n class=\"row\"\r\n [class.form-group]=\"!stacked\"\r\n [class.has-error]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"componentHeight | toLabelHeight\">\r\n <label\r\n *ngIf=\"!disablelabel && !stacked\"\r\n for=\"{{ name }}\"\r\n class=\"col-xs-12 control-label\"\r\n [ngClass]=\"[!disablelabel && !stacked ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\">\r\n <span class=\"text\">{{ label }}</span>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [class]=\"HelptextTooltipIcon\"\r\n style=\"margin-left: 5px\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-xs-12\"\r\n [ngClass]=\"[!disablelabel && !stacked ? (this.labelSizes | toControlWidthCss) : '']\">\r\n <div\r\n class=\"checkbox\"\r\n [class.checkbox-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.checkbox-lg]=\"componentHeight === ControlHeight.Large\">\r\n <label for=\"{{ name }}\">\r\n <input\r\n id=\"{{ name }}\"\r\n name=\"{{ name }}\"\r\n type=\"checkbox\"\r\n class=\"visible-checkbox\"\r\n [checked]=\"value\"\r\n [disabled]=\"isdisabled\"\r\n (blur)=\"onTouch()\"\r\n (change)=\"setValue($event.target.checked)\" />\r\n <ng-container *ngIf=\"checkboxtext\">\r\n <span>{{ checkboxtext }}</span>\r\n </ng-container>\r\n </label>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && (disablelabel || stacked)\"\r\n class=\"form-control-static\"\r\n style=\"display: inline\">\r\n <sac-tooltip\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [class]=\"HelptextTooltipIcon\"\r\n style=\"margin-left: 5px; margin-right: 5px\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n <p\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"help-block\">\r\n {{ helptext }}\r\n </p>\r\n </div>\r\n</div>\r\n",
269
- // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
270
- providers: [
271
- {
272
- provide: NG_VALUE_ACCESSOR,
273
- multi: true,
274
- useExisting: SacCheckboxComponent,
275
- },
276
- {
277
- provide: NG_VALIDATORS,
278
- useExisting: forwardRef(() => SacCheckboxComponent),
279
- multi: true,
280
- },
281
- ],
282
- styles: [".checkbox-sm{padding-top:2px}.checkbox-sm input{height:12px;margin-top:2px;width:12px}.checkbox-sm label{font-size:12px;padding-top:2px}.checkbox-lg input{height:20px;margin-top:2px;width:20px}.checkbox-lg label{font-size:18px;padding-top:4px}"]
283
- },] }
284
- ];
285
- SacCheckboxComponent.ctorParameters = () => [
286
- { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
287
- { type: Injector }
288
- ];
289
-
290
- class SacRadiobuttonsComponent extends SacRadiobuttonsCommon {
291
- // #region Constructors
292
- /**
293
- * Constructor
294
- * @param formLayout SacFormLayout to define scoped layout settings
295
- * @param injector Injector for injecting services
296
- */
297
- constructor(formLayout, injector) {
298
- super(formLayout, injector);
299
- }
300
- }
301
- SacRadiobuttonsComponent.decorators = [
302
- { type: Component, args: [{
303
- selector: 'sac-radiobuttons',
304
- template: "<div\r\n class=\"row form-group\"\r\n [class.has-error]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"componentHeight | toLabelHeight\">\r\n <label\r\n *ngIf=\"disablelabel === false\"\r\n for=\"{{ name }}\"\r\n class=\"col-xs-12 control-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\">\r\n <span class=\"text\">{{ label }}</span>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [class]=\"HelptextTooltipIcon\"\r\n style=\"margin-left: 5px\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-xs-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\r\n <div>\r\n <ng-content></ng-content>\r\n </div>\r\n <p\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"help-block\">\r\n {{ helptext }}\r\n </p>\r\n </div>\r\n</div>\r\n",
305
- // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
306
- providers: [
307
- {
308
- provide: NG_VALUE_ACCESSOR,
309
- useExisting: forwardRef(() => SacRadiobuttonsComponent),
310
- multi: true,
311
- },
312
- {
313
- provide: NG_VALIDATORS,
314
- useExisting: forwardRef(() => SacRadiobuttonsComponent),
315
- multi: true,
316
- },
317
- ]
318
- },] }
319
- ];
320
- SacRadiobuttonsComponent.ctorParameters = () => [
321
- { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
322
- { type: Injector }
323
- ];
324
-
325
- class SacRadiobuttonComponent extends SacRadiobuttonCommon {
326
- // #region Constructors
327
- constructor(sacRadioButtons, formLayout, injector) {
328
- super(sacRadioButtons, formLayout, injector);
329
- }
330
- }
331
- SacRadiobuttonComponent.decorators = [
332
- { type: Component, args: [{
333
- selector: 'sac-radiobutton',
334
- template: "<div\r\n class=\"radio\"\r\n *ngIf=\"hidden === false\"\r\n [class.radio-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.radio-lg]=\"componentHeight === ControlHeight.Large\">\r\n <label for=\"{{ getName }}_{{ getIndex }}\">\r\n <input\r\n id=\"{{ getName }}_{{ getIndex }}\"\r\n name=\"{{ getName }}\"\r\n type=\"radio\"\r\n [value]=\"value\"\r\n [checked]=\"checked\"\r\n (change)=\"ChangeEvent()\"\r\n [disabled]=\"isDisabled\" />\r\n <ng-template *ngTemplateOutlet=\"labeltemplate || defaultItemLabelTemplate; context: { label: label }\"></ng-template>\r\n <p\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"help-block\">\r\n {{ helptext }}\r\n </p>\r\n </label>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n class=\"form-control-static\"\r\n style=\"display: inline\">\r\n <sac-tooltip\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [class]=\"HelptextTooltipIcon\"\r\n style=\"margin-left: 5px; margin-right: 5px\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n</div>\r\n\r\n<ng-template\r\n #defaultItemLabelTemplate\r\n let-label=\"label\">\r\n <span>{{ label }}</span>\r\n</ng-template>\r\n",
335
- styles: [".radio-lg label{font-size:18px;padding-top:2px}.radio-lg label input{height:20px;margin-top:2px;width:20px}.radio-sm{padding-top:2px}.radio-sm label{font-size:12px;min-height:14px;padding-top:2px}.radio-sm label input{height:12px;margin-top:2px;width:12px}"]
336
- },] }
337
- ];
338
- SacRadiobuttonComponent.ctorParameters = () => [
339
- { type: SacRadiobuttonsComponent, decorators: [{ type: Host }] },
340
- { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
341
- { type: Injector }
342
- ];
343
-
344
- class SACBootstrap3CheckboxModule {
345
- }
346
- SACBootstrap3CheckboxModule.decorators = [
347
- { type: NgModule, args: [{
348
- declarations: [
349
- SacCheckboxComponent,
350
- SacRadiobuttonComponent,
351
- SacRadiobuttonsComponent,
352
- ],
353
- imports: [
354
- CommonModule,
355
- SACBootstrap3LayoutModule,
356
- SACBootstrap3TooltipModule,
357
- ],
358
- exports: [
359
- SacCheckboxComponent,
360
- SacRadiobuttonComponent,
361
- SacRadiobuttonsComponent,
362
- ],
363
- },] }
364
- ];
365
-
366
- class SacDialogComponent extends SacDialogCommon {
367
- constructor(el, cdRef) {
368
- super(cdRef);
369
- //#region Bootstrap 3 Spezifische Properites
370
- this.zindex = 20002;
371
- this._lastDialogMarginTop = 0;
372
- this.element = el.nativeElement;
373
- }
374
- // Margin Top für Center Position des Dialogs berechnen
375
- get dialogMarginTop() {
376
- let result = 0;
377
- // ContentPlaceholder kann NULL/UNDEFINED sein wenn Dialog nicht angezeigt wird
378
- if (this.dialogElement !== null && this.dialogElement !== undefined) {
379
- result = (this.dialogElement.nativeElement.clientHeight / 2) * -1;
380
- }
381
- // Change Detection ausführen, falls Wert nach Rendering noch geändert hat. Kann durch HTML Content / Zeilenumbrüche usw. ausgelöst werden.
382
- if (this._lastDialogMarginTop !== result) {
383
- this._lastDialogMarginTop = result;
384
- this.ChangeDetector.detectChanges();
385
- }
386
- return result;
387
- }
388
- //#endregion
389
- ngOnInit() {
390
- // Element an Body für korrektes Styling unter Bootstrap 3 verschieben
391
- document.body.appendChild(this.element);
392
- }
393
- ngOnDestroy() {
394
- this.hide();
395
- if (document.body.contains(this.element)) {
396
- document.body.removeChild(this.element);
397
- }
398
- super.ngOnDestroy();
399
- }
400
- }
401
- SacDialogComponent.decorators = [
402
- { type: Component, args: [{
403
- selector: 'sac-dialog',
404
- template: "<div [id]=\"name\" *ngIf=\"_show\" [ngStyle]=\"{'z-index': zindex}\">\r\n <div\r\n class=\"modal in\"\r\n style=\"display: block\"\r\n tabindex=\"-1\"\r\n role=\"dialog\"\r\n #dialog\r\n >\r\n <div\r\n class=\"modal-dialog\"\r\n [class.modal-sm]=\"_size==='small'\"\r\n [class.modal-lg]=\"_size === 'large' || _size === 'extralarge'\"\r\n role=\"document\"\r\n >\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\">\r\n <button\r\n type=\"button\"\r\n class=\"close\"\r\n data-dismiss=\"modal\"\r\n aria-label=\"Close\"\r\n (click)=\"hide()\"\r\n *ngIf=\"closebutton\"\r\n >\r\n <span aria-hidden=\"true\">&times;</span>\r\n </button>\r\n <span class=\"modal-title\">{{title}}</span>\r\n </div>\r\n <div class=\"modal-body\">\r\n <ng-content select=\"[dialogbody]\"></ng-content>\r\n </div>\r\n <div class=\"modal-footer\">\r\n <ng-content select=\"[dialogfooter]\"></ng-content>\r\n </div>\r\n </div>\r\n <!-- /.modal-content -->\r\n </div>\r\n <!-- /.modal-dialog -->\r\n </div>\r\n <!-- /.modal -->\r\n</div>\r\n<div class=\"modal-backdrop in\" *ngIf=\"_show && backdrop\" #backdrop></div>\r\n"
405
- },] }
406
- ];
407
- SacDialogComponent.ctorParameters = () => [
408
- { type: ElementRef },
409
- { type: ChangeDetectorRef }
410
- ];
411
- SacDialogComponent.propDecorators = {
412
- zindex: [{ type: Input }]
11
+ class SacButtonComponent extends SacButtonCommon {
12
+ }
13
+ SacButtonComponent.decorators = [
14
+ { type: Component, args: [{
15
+ selector: 'sac-button',
16
+ template: "<a\n [id]=\"name\"\n class=\"btn\"\n [class.btn-primary]=\"role === 'primary'\"\n [class.btn-secondary]=\"role === 'secondary'\"\n [class.btn-success]=\"role === 'success'\"\n [class.btn-danger]=\"role === 'danger'\"\n [class.btn-warning]=\"role === 'warning'\"\n [class.btn-info]=\"role === 'info'\"\n [class.btn-default]=\"role === 'default'\"\n [class.btn-link]=\"role === 'link'\"\n [attr.disabled]=\"_isdisabled ? 'disabled' : null\"\n (click)=\"buttonClick()\"\n>\n <i\n *ngIf=\"isloading\"\n class=\"\"\n role=\"status\"\n aria-hidden=\"true\"\n class=\"glyphicon glyphicon-repeat spin\"\n [ngStyle]=\"{ 'margin-right': text ? '0.5rem': null}\"\n ></i>\n <i\n *ngIf=\"!isloading && icon !== ''\"\n [ngClass]=\"icon\"\n [ngStyle]=\"{ 'margin-right': text ? '0.5rem': null}\"\n ></i>\n {{text}}\n</a>\n",
17
+ encapsulation: ViewEncapsulation.None,
18
+ styles: ['sac-button+sac-button {margin-left: 5px}', '.spin { animation: spin 1.5s infinite; } @keyframes spin { 0% { transform: rotate(0); } 100% { transform: rotate(360deg); } }']
19
+ },] }
20
+ ];
21
+
22
+ class SACBootstrap3ButtonModule {
23
+ }
24
+ SACBootstrap3ButtonModule.decorators = [
25
+ { type: NgModule, args: [{
26
+ declarations: [SacButtonComponent],
27
+ imports: [
28
+ CommonModule
29
+ ],
30
+ exports: [SacButtonComponent]
31
+ },] }
32
+ ];
33
+
34
+ class SacFormLayoutDirective extends SacFormLayoutCommon {
35
+ }
36
+ SacFormLayoutDirective.decorators = [
37
+ { type: Directive, args: [{
38
+ selector: '[sacFormLayout]',
39
+ },] }
40
+ ];
41
+
42
+ class SacToControlHeightPipe {
43
+ // #region Public Methods
44
+ /**
45
+ * Returns the CSS class that defines the height for the control
46
+ * @param value ControlHeight value or null
47
+ */
48
+ transform(value) {
49
+ // Return default value
50
+ if (!value) {
51
+ return '';
52
+ }
53
+ switch (value) {
54
+ case ControlHeight.Small:
55
+ return 'input-sm';
56
+ case ControlHeight.Large:
57
+ return 'input-lg';
58
+ default:
59
+ return '';
60
+ }
61
+ }
62
+ }
63
+ SacToControlHeightPipe.decorators = [
64
+ { type: Pipe, args: [{
65
+ name: 'toControlHeight',
66
+ },] }
67
+ ];
68
+
69
+ class SacToControlWidthCssPipe {
70
+ // #region Public Methods
71
+ /**
72
+ * Get CSS classes from label width configuration to set control size
73
+ * @param value Configuration with grid columns for different viewports
74
+ * @returns string with css classe for bootstrap3
75
+ */
76
+ transform(value) {
77
+ const classes = [];
78
+ if (value.labelSizeXs) {
79
+ classes.push('col-xs-' + this.calcControlSize(value.labelSizeXs));
80
+ }
81
+ if (value.labelSizeSm) {
82
+ classes.push('col-sm-' + this.calcControlSize(value.labelSizeSm));
83
+ }
84
+ if (value.labelSizeMd) {
85
+ classes.push('col-md-' + this.calcControlSize(value.labelSizeMd));
86
+ }
87
+ if (value.labelSizeLg) {
88
+ classes.push('col-lg-' + this.calcControlSize(value.labelSizeLg));
89
+ }
90
+ return classes.join(' ');
91
+ }
92
+ // #endregion Public Methods
93
+ // #region Private Methods
94
+ /**
95
+ * calculate the control size
96
+ * @param labelsize grid size of label
97
+ * @returns grid size for control. should be between 1 and 12
98
+ */
99
+ calcControlSize(labelsize) {
100
+ if (labelsize === 12) {
101
+ return 12;
102
+ }
103
+ if (!labelsize) {
104
+ return 12;
105
+ }
106
+ return 12 - labelsize;
107
+ }
108
+ }
109
+ SacToControlWidthCssPipe.decorators = [
110
+ { type: Pipe, args: [{
111
+ name: 'toControlWidthCss',
112
+ },] }
113
+ ];
114
+
115
+ class SacToLabelHeightPipe {
116
+ // #region Public Methods
117
+ /**
118
+ * Returns the CSS class that defines the height for the control
119
+ * @param value ControlHeight value or null
120
+ */
121
+ transform(value) {
122
+ // Return default value
123
+ if (!value) {
124
+ return '';
125
+ }
126
+ switch (value) {
127
+ case ControlHeight.Small:
128
+ return 'form-group-sm';
129
+ case ControlHeight.Large:
130
+ return 'form-group-lg';
131
+ default:
132
+ return '';
133
+ }
134
+ }
135
+ }
136
+ SacToLabelHeightPipe.decorators = [
137
+ { type: Pipe, args: [{
138
+ name: 'toLabelHeight',
139
+ },] }
140
+ ];
141
+
142
+ class SacToLabelWidthCssPipe {
143
+ // #region Public Methods
144
+ /**
145
+ * Get CSS classes from label width configuration to set label size
146
+ * @param value Configuration with grid columns for different viewports
147
+ * @returns string with css classe for bootstrap3
148
+ */
149
+ transform(value) {
150
+ const classes = [];
151
+ if (value.labelSizeXs) {
152
+ classes.push('col-xs-' + value.labelSizeXs);
153
+ }
154
+ if (value.labelSizeSm) {
155
+ classes.push('col-sm-' + value.labelSizeSm);
156
+ }
157
+ if (value.labelSizeMd) {
158
+ classes.push('col-md-' + value.labelSizeMd);
159
+ }
160
+ if (value.labelSizeLg) {
161
+ classes.push('col-lg-' + value.labelSizeLg);
162
+ }
163
+ return classes.join(' ');
164
+ }
165
+ }
166
+ SacToLabelWidthCssPipe.decorators = [
167
+ { type: Pipe, args: [{
168
+ name: 'toLabelWidthCss',
169
+ },] }
170
+ ];
171
+
172
+ class SACBootstrap3LayoutModule {
173
+ }
174
+ SACBootstrap3LayoutModule.decorators = [
175
+ { type: NgModule, args: [{
176
+ declarations: [
177
+ SacFormLayoutDirective,
178
+ SacToControlHeightPipe,
179
+ SacToControlWidthCssPipe,
180
+ SacToLabelHeightPipe,
181
+ SacToLabelWidthCssPipe,
182
+ ],
183
+ imports: [CommonModule],
184
+ exports: [
185
+ SacFormLayoutDirective,
186
+ SacToControlHeightPipe,
187
+ SacToControlWidthCssPipe,
188
+ SacToLabelHeightPipe,
189
+ SacToLabelWidthCssPipe,
190
+ ],
191
+ },] }
192
+ ];
193
+
194
+ /**
195
+ * Tooltip Komponente
196
+ *
197
+ * @example ToolTip Control
198
+ *
199
+ * <ngTooltip tooltiptext="Mein Tooltip" [inlinemode]="true">
200
+ * <i class="tooltip"></i>
201
+ * </ngTooltip>
202
+ *
203
+ * @example ToolTip Control im Inline Mode. Style auf Icon kann auch in Klasse ausgelagert werden.
204
+ *
205
+ * <div class="form-inline">
206
+ * <ngInputSearch iconname="Suchen"></ngInputSearch>
207
+ * <ngTooltip tooltiptext="Mein Tooltip" [inlinemode]="true">
208
+ * <i class="tooltip" style="position: relative; left: 0; top: 3px; display: inline-block; margin-right: 10px;"></i>
209
+ * </ngTooltip>
210
+ * </div>
211
+ *
212
+ */
213
+ class SacTooltipComponent extends SacTooltipCommon {
214
+ // #region Constructors
215
+ /**
216
+ * Konstrukor
217
+ * @param parent SacFormular Instanz
218
+ * @param injector Component Injector
219
+ */
220
+ constructor(cdRef, ref) {
221
+ super(cdRef, ref);
222
+ }
223
+ // #endregion Constructors
224
+ // #region Protected Methods
225
+ /**
226
+ * Padding for Tooltip
227
+ * @returns Always 0. BS3 not require Padding
228
+ */
229
+ getTooltipOffset() {
230
+ return 0;
231
+ }
232
+ }
233
+ SacTooltipComponent.decorators = [
234
+ { type: Component, args: [{
235
+ selector: 'sac-tooltip',
236
+ template: "<div [style.display]=\"inlinemode ? 'inline' : null\">\n <div\n #container\n (mouseenter)=\"ShowTooltip()\"\n (mouseleave)=\"HideTooltip()\"\n [style.display]=\"inlinemode ? 'inline' : null\">\n <ng-content></ng-content>\n </div>\n <div\n *ngIf=\"IsTooltipVisible()\"\n #tooltip>\n <div\n [style.visibility]=\"IsTooltipContentVisible ? 'visible' : 'hidden'\"\n class=\"tooltip in\"\n style=\"display: block\"\n [style.left.px]=\"LeftPos\"\n [style.top.px]=\"TopPos\"\n [class.top]=\"GetTooltipPosition() === TooltipPosition.top\"\n [class.left]=\"GetTooltipPosition() === TooltipPosition.left\"\n [class.right]=\"GetTooltipPosition() === TooltipPosition.right\"\n [class.bottom]=\"GetTooltipPosition() === TooltipPosition.bottom\">\n <div class=\"tooltip-arrow\"></div>\n <div class=\"tooltip-inner\">{{ tooltiptext }}</div>\n </div>\n </div>\n</div>\n"
237
+ },] }
238
+ ];
239
+ SacTooltipComponent.ctorParameters = () => [
240
+ { type: ChangeDetectorRef },
241
+ { type: ElementRef }
242
+ ];
243
+
244
+ class SACBootstrap3TooltipModule {
245
+ }
246
+ SACBootstrap3TooltipModule.decorators = [
247
+ { type: NgModule, args: [{
248
+ declarations: [SacTooltipComponent],
249
+ imports: [CommonModule],
250
+ exports: [SacTooltipComponent],
251
+ },] }
252
+ ];
253
+
254
+ class SacCheckboxComponent extends SacCheckboxCommon {
255
+ // #region Constructors
256
+ /**
257
+ * Constructor
258
+ * @param formLayout SacFormLayout to define scoped layout settings
259
+ * @param injector Injector for injecting services
260
+ */
261
+ constructor(formLayout, injector) {
262
+ super(formLayout, injector);
263
+ }
264
+ }
265
+ SacCheckboxComponent.decorators = [
266
+ { type: Component, args: [{
267
+ selector: 'sac-checkbox',
268
+ template: "<div\n class=\"row\"\n [class.form-group]=\"!stacked\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"!disablelabel && !stacked\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[!disablelabel && !stacked ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[!disablelabel && !stacked ? (this.labelSizes | toControlWidthCss) : '']\">\n <div\n class=\"checkbox\"\n [class.checkbox-sm]=\"componentHeight === ControlHeight.Small\"\n [class.checkbox-lg]=\"componentHeight === ControlHeight.Large\">\n <label for=\"{{ name }}\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"checkbox\"\n class=\"visible-checkbox\"\n [checked]=\"value\"\n [disabled]=\"isdisabled\"\n (blur)=\"onTouch()\"\n (change)=\"setValue($event.target.checked)\" />\n <ng-container *ngIf=\"checkboxtext\">\n <span>{{ checkboxtext }}</span>\n </ng-container>\n </label>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && (disablelabel || stacked)\"\n class=\"form-control-static\"\n style=\"display: inline\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n </div>\n</div>\n",
269
+ // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
270
+ providers: [
271
+ {
272
+ provide: NG_VALUE_ACCESSOR,
273
+ multi: true,
274
+ useExisting: SacCheckboxComponent,
275
+ },
276
+ {
277
+ provide: NG_VALIDATORS,
278
+ useExisting: forwardRef(() => SacCheckboxComponent),
279
+ multi: true,
280
+ },
281
+ ],
282
+ styles: [".checkbox-sm{padding-top:2px}.checkbox-sm input{height:12px;margin-top:2px;width:12px}.checkbox-sm label{font-size:12px;padding-top:2px}.checkbox-lg input{height:20px;margin-top:2px;width:20px}.checkbox-lg label{font-size:18px;padding-top:4px}"]
283
+ },] }
284
+ ];
285
+ SacCheckboxComponent.ctorParameters = () => [
286
+ { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
287
+ { type: Injector }
288
+ ];
289
+
290
+ class SacRadiobuttonsComponent extends SacRadiobuttonsCommon {
291
+ // #region Constructors
292
+ /**
293
+ * Constructor
294
+ * @param formLayout SacFormLayout to define scoped layout settings
295
+ * @param injector Injector for injecting services
296
+ */
297
+ constructor(formLayout, injector) {
298
+ super(formLayout, injector);
299
+ }
300
+ }
301
+ SacRadiobuttonsComponent.decorators = [
302
+ { type: Component, args: [{
303
+ selector: 'sac-radiobuttons',
304
+ template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\n <div>\n <ng-content></ng-content>\n </div>\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n </div>\n</div>\n",
305
+ // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
306
+ providers: [
307
+ {
308
+ provide: NG_VALUE_ACCESSOR,
309
+ useExisting: forwardRef(() => SacRadiobuttonsComponent),
310
+ multi: true,
311
+ },
312
+ {
313
+ provide: NG_VALIDATORS,
314
+ useExisting: forwardRef(() => SacRadiobuttonsComponent),
315
+ multi: true,
316
+ },
317
+ ]
318
+ },] }
319
+ ];
320
+ SacRadiobuttonsComponent.ctorParameters = () => [
321
+ { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
322
+ { type: Injector }
323
+ ];
324
+
325
+ class SacRadiobuttonComponent extends SacRadiobuttonCommon {
326
+ // #region Constructors
327
+ constructor(sacRadioButtons, formLayout, injector) {
328
+ super(sacRadioButtons, formLayout, injector);
329
+ }
330
+ }
331
+ SacRadiobuttonComponent.decorators = [
332
+ { type: Component, args: [{
333
+ selector: 'sac-radiobutton',
334
+ template: "<div\n class=\"radio\"\n *ngIf=\"hidden === false\"\n [class.radio-sm]=\"componentHeight === ControlHeight.Small\"\n [class.radio-lg]=\"componentHeight === ControlHeight.Large\">\n <label for=\"{{ getName }}_{{ getIndex }}\">\n <input\n id=\"{{ getName }}_{{ getIndex }}\"\n name=\"{{ getName }}\"\n type=\"radio\"\n [value]=\"value\"\n [checked]=\"checked\"\n (change)=\"ChangeEvent()\"\n [disabled]=\"isDisabled\" />\n <ng-template *ngTemplateOutlet=\"labeltemplate || defaultItemLabelTemplate; context: { label: label }\"></ng-template>\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n </label>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n class=\"form-control-static\"\n style=\"display: inline\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n</div>\n\n<ng-template\n #defaultItemLabelTemplate\n let-label=\"label\">\n <span>{{ label }}</span>\n</ng-template>\n",
335
+ styles: [".radio-lg label{font-size:18px;padding-top:2px}.radio-lg label input{height:20px;margin-top:2px;width:20px}.radio-sm{padding-top:2px}.radio-sm label{font-size:12px;min-height:14px;padding-top:2px}.radio-sm label input{height:12px;margin-top:2px;width:12px}"]
336
+ },] }
337
+ ];
338
+ SacRadiobuttonComponent.ctorParameters = () => [
339
+ { type: SacRadiobuttonsComponent, decorators: [{ type: Host }] },
340
+ { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
341
+ { type: Injector }
342
+ ];
343
+
344
+ class SACBootstrap3CheckboxModule {
345
+ }
346
+ SACBootstrap3CheckboxModule.decorators = [
347
+ { type: NgModule, args: [{
348
+ declarations: [
349
+ SacCheckboxComponent,
350
+ SacRadiobuttonComponent,
351
+ SacRadiobuttonsComponent,
352
+ ],
353
+ imports: [
354
+ CommonModule,
355
+ SACBootstrap3LayoutModule,
356
+ SACBootstrap3TooltipModule,
357
+ ],
358
+ exports: [
359
+ SacCheckboxComponent,
360
+ SacRadiobuttonComponent,
361
+ SacRadiobuttonsComponent,
362
+ ],
363
+ },] }
364
+ ];
365
+
366
+ class SacDialogComponent extends SacDialogCommon {
367
+ constructor(el, cdRef) {
368
+ super(cdRef);
369
+ //#region Bootstrap 3 Spezifische Properites
370
+ this.zindex = 20002;
371
+ this._lastDialogMarginTop = 0;
372
+ this.element = el.nativeElement;
373
+ }
374
+ // Margin Top für Center Position des Dialogs berechnen
375
+ get dialogMarginTop() {
376
+ let result = 0;
377
+ // ContentPlaceholder kann NULL/UNDEFINED sein wenn Dialog nicht angezeigt wird
378
+ if (this.dialogElement !== null && this.dialogElement !== undefined) {
379
+ result = (this.dialogElement.nativeElement.clientHeight / 2) * -1;
380
+ }
381
+ // Change Detection ausführen, falls Wert nach Rendering noch geändert hat. Kann durch HTML Content / Zeilenumbrüche usw. ausgelöst werden.
382
+ if (this._lastDialogMarginTop !== result) {
383
+ this._lastDialogMarginTop = result;
384
+ this.ChangeDetector.detectChanges();
385
+ }
386
+ return result;
387
+ }
388
+ //#endregion
389
+ ngOnInit() {
390
+ // Element an Body für korrektes Styling unter Bootstrap 3 verschieben
391
+ document.body.appendChild(this.element);
392
+ }
393
+ ngOnDestroy() {
394
+ this.hide();
395
+ if (document.body.contains(this.element)) {
396
+ document.body.removeChild(this.element);
397
+ }
398
+ super.ngOnDestroy();
399
+ }
400
+ }
401
+ SacDialogComponent.decorators = [
402
+ { type: Component, args: [{
403
+ selector: 'sac-dialog',
404
+ template: "<div [id]=\"name\" *ngIf=\"_show\" [ngStyle]=\"{'z-index': zindex}\">\n <div\n class=\"modal in\"\n style=\"display: block\"\n tabindex=\"-1\"\n role=\"dialog\"\n #dialog\n >\n <div\n class=\"modal-dialog\"\n [class.modal-sm]=\"_size==='small'\"\n [class.modal-lg]=\"_size === 'large' || _size === 'extralarge'\"\n role=\"document\"\n >\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <button\n type=\"button\"\n class=\"close\"\n data-dismiss=\"modal\"\n aria-label=\"Close\"\n (click)=\"hide()\"\n *ngIf=\"closebutton\"\n >\n <span aria-hidden=\"true\">&times;</span>\n </button>\n <span class=\"modal-title\">{{title}}</span>\n </div>\n <div class=\"modal-body\">\n <ng-content select=\"[dialogbody]\"></ng-content>\n </div>\n <div class=\"modal-footer\">\n <ng-content select=\"[dialogfooter]\"></ng-content>\n </div>\n </div>\n <!-- /.modal-content -->\n </div>\n <!-- /.modal-dialog -->\n </div>\n <!-- /.modal -->\n</div>\n<div class=\"modal-backdrop in\" *ngIf=\"_show && backdrop\" #backdrop></div>\n"
405
+ },] }
406
+ ];
407
+ SacDialogComponent.ctorParameters = () => [
408
+ { type: ElementRef },
409
+ { type: ChangeDetectorRef }
410
+ ];
411
+ SacDialogComponent.propDecorators = {
412
+ zindex: [{ type: Input }]
413
413
  };
414
414
 
415
- class SACBootstrap3DialogModule {
416
- }
417
- SACBootstrap3DialogModule.decorators = [
418
- { type: NgModule, args: [{
419
- declarations: [SacDialogComponent],
420
- imports: [
421
- CommonModule
422
- ],
423
- exports: [SacDialogComponent]
424
- },] }
425
- ];
426
-
427
- class SacConfirmComponent extends SacConfirmCommon {
428
- }
429
- SacConfirmComponent.decorators = [
430
- { type: Component, args: [{
431
- selector: 'sac-confirm',
432
- template: "<sac-dialog\r\n name=\"confirmDialog\"\r\n [(isvisible)]=\"isvisible\"\r\n [title]=\"title\"\r\n [allowesc]=\"false\"\r\n [closebutton]=\"false\"\r\n>\r\n <div dialogbody>\r\n <div class=\"media\">\r\n <div class=\"media-left media-middle\" *ngIf=\"hasImage()\">\r\n <img [attr.src]=\"image\" />\r\n </div>\r\n <div class=\"media-body\">{{message}}</div>\r\n </div>\r\n </div>\r\n <div dialogfooter>\r\n <ng-container *ngFor=\"let button of buttons\">\r\n <sac-button\r\n [name]=\"button.key\"\r\n [text]=\"button.text\"\r\n [role]=\"button.role || 'default'\"\r\n (clicked)=\"confirm(button.key)\"\r\n ></sac-button>\r\n </ng-container>\r\n </div>\r\n</sac-dialog>\r\n"
433
- },] }
434
- ];
435
-
436
- /**
437
- * Service für Confirm Messages in TypeScript Code
438
- *
439
- * @example
440
- * // Beispiel für ConfirmMessage mit Standard Buttons (Ja / Nein).
441
- * confirmService.ConfirmMessage('titel', 'frage').subscribe(action => { // Action Code });
442
- *
443
- * @example
444
- * // Beispiel für ConfirmMessage mit eigenen Buttons
445
- * let buttons: SacConfirmButton[] = [];
446
- * buttons.push(new SacConfirmButton('ActionKey','Text Primary'));
447
- * buttons.push(new SacConfirmButton('ActionKey2','Text Button 2'));
448
- * confirmService.ConfirmMessage('titel', 'frage', buttons).subscribe(action => { // Action Code });
449
- */
450
- class ServiceConfirm extends ServiceConfirmCommon {
451
- // #endregion Properties
452
- // #region Constructors
453
- /**
454
- * Konstruktor
455
- * @param componentFactoryResolver Component Factory Resolver Instanz
456
- * @param appRef Application Referenz. Wird benötigt um den Dialog am Body anzuhängen
457
- * @param injector Injector. Wird benötigt um den Dialog dynamisch zu erzeugen
458
- */
459
- constructor(componentFactoryResolver, appRef, injector) {
460
- super(appRef, injector);
461
- this.componentFactoryResolver = componentFactoryResolver;
462
- // #region Properties
463
- /**
464
- * Collection von Buttons die angezeigt werden müssen.
465
- */
466
- this.buttons = [];
467
- /**
468
- * Message die in Dialog angezeigt werden soll.
469
- */
470
- this.message = '';
471
- /**
472
- * Titel der im Dialog angezeigt werden soll.
473
- */
474
- this.title = '';
475
- }
476
- // #endregion Constructors
477
- // #region Public Methods
478
- /**
479
- * Confirm Dialog anzeigen
480
- * @param message Nachricht die angezeigt werden soll.
481
- * @returns EventEmitter mit Key des Buttons, welcher geklickt wurde.
482
- */
483
- ConfirmMessage(title, message, buttons = null) {
484
- this.title = title;
485
- this.message = message;
486
- // Default Buttons setzen, wenn keine Buttons angegeben sind
487
- if (!isDefined(buttons)) {
488
- this.buttons = [];
489
- forkJoin({
490
- button_yes: this.localisationService.GetString(this.validationKeyService.ConfirmDefaultButtonYes),
491
- button_no: this.localisationService.GetString(this.validationKeyService.ConfirmDefaultButtonNo),
492
- })
493
- .pipe(take(1))
494
- .subscribe((texte) => {
495
- this.buttons.push(new SacConfirmButton('yes', texte.button_yes, 'primary'));
496
- this.buttons.push(new SacConfirmButton('no', texte.button_no));
497
- });
498
- }
499
- else {
500
- this.buttons = buttons;
501
- }
502
- return super.Confirm();
503
- }
504
- /**
505
- * Erzeugen einer Component Factory für einen Dialog
506
- */
507
- GetComponentFactory() {
508
- return this.componentFactoryResolver.resolveComponentFactory(SacConfirmComponent);
509
- }
510
- // #endregion Public Methods
511
- // #region Protected Methods
512
- /**
513
- * Konfiguration des Dialogs
514
- * @param instance Instanz eines SacConfirm Dialogs
515
- */
516
- ConfigureDialog(instance) {
517
- // Text in Dialog setzen
518
- instance.title = this.title;
519
- instance.message = this.message;
520
- instance.buttons = this.buttons;
521
- instance.image = this.iconService.ConfirmDefaultImage;
522
- }
523
- }
524
- ServiceConfirm.decorators = [
525
- { type: Injectable }
526
- ];
527
- ServiceConfirm.ctorParameters = () => [
528
- { type: ComponentFactoryResolver, decorators: [{ type: Inject, args: [ComponentFactoryResolver,] }] },
529
- { type: ApplicationRef },
530
- { type: Injector }
531
- ];
532
-
533
- /**
534
- * Module für Confirm Messages
535
- *
536
- * In NgModule der Applikation folgenden Eintrag bei Imports einfügen: ExanicBootstrap3ConfirmModule.forRoot()
537
- *
538
- */
539
- class SACBootstrap3ConfirmModule {
540
- // #region Public Static Methods
541
- static forRoot() {
542
- return {
543
- ngModule: SACBootstrap3ConfirmModule,
544
- providers: [ServiceConfirm],
545
- };
546
- }
547
- }
548
- SACBootstrap3ConfirmModule.decorators = [
549
- { type: NgModule, args: [{
550
- declarations: [SacConfirmComponent],
551
- imports: [CommonModule, SACBootstrap3DialogModule, SACBootstrap3ButtonModule],
552
- exports: [SacConfirmComponent],
553
- entryComponents: [SacConfirmComponent],
554
- },] }
555
- ];
556
-
557
- /**
558
- * Component for context menu
559
- */
560
- class SacContextmenuComponent extends SacContextmenuCommon {
561
- // #region Constructors
562
- /**
563
- * Constructor
564
- * @param document Reference to HTML document
565
- * @param ngZone Angular Zone Service
566
- * @param elementRef Reference to HTML element of the current component
567
- * @param renderer Render Service from Angular
568
- * @param injector injector to resolve services
569
- */
570
- constructor(document, ngZone, elementRef, renderer, injector) {
571
- super(document, ngZone, elementRef, renderer, injector);
572
- }
573
- }
574
- SacContextmenuComponent.decorators = [
575
- { type: Component, args: [{
576
- selector: 'sac-contextmenu',
577
- template: "<div\r\n class=\"dropdown\"\r\n [ngClass]=\"cssclass\">\r\n <ng-container [ngTemplateOutlet]=\"buttontemplate || defaultButtonTemplate\"></ng-container>\r\n\r\n <ul\r\n class=\"dropdown-menu dropdown-menu-right\"\r\n sacContextMenuContainer\r\n [class.show]=\"isopen\">\r\n <ng-content></ng-content>\r\n </ul>\r\n</div>\r\n\r\n<ng-template #defaultButtonTemplate>\r\n <button\r\n sacContextMenuAnchor\r\n class=\"btn btn-link\"\r\n type=\"button\"\r\n (click)=\"toggle()\">\r\n <i [class]=\"IconContextMenu\"></i>\r\n </button>\r\n</ng-template>\r\n"
578
- },] }
579
- ];
580
- SacContextmenuComponent.ctorParameters = () => [
581
- { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] },
582
- { type: NgZone },
583
- { type: ElementRef },
584
- { type: Renderer2 },
585
- { type: Injector }
586
- ];
587
-
588
- /**
589
- * Anker Komponente für Context Menü. Wird zum positionieren des Context Menü in der Page benötigt.
590
- */
591
- class SacContextmenuAnchorDirective extends SacContextmenuAnchorCommon {
592
- // #region Constructors
593
- /**
594
- * Konstruktor
595
- * @param elementRef HTML DOM Referenz
596
- */
597
- constructor(elementRef) {
598
- super(elementRef);
599
- }
600
- }
601
- SacContextmenuAnchorDirective.decorators = [
602
- { type: Directive, args: [{
603
- selector: '[sacContextMenuAnchor]',
604
- providers: [
605
- {
606
- provide: SacContextmenuAnchorCommon,
607
- useExisting: forwardRef(() => SacContextmenuAnchorDirective),
608
- },
609
- ],
610
- },] }
611
- ];
612
- SacContextmenuAnchorDirective.ctorParameters = () => [
613
- { type: ElementRef }
614
- ];
615
-
616
- /**
617
- * Marker Komponente für Context Menü
618
- */
619
- class SacContextmenuContainerDirective extends SacContextMenuContrainerCommon {
620
- // #region Constructors
621
- /**
622
- * Konstruktor
623
- * @param elementRef Referenz auf DOM Element
624
- */
625
- constructor(elementRef) {
626
- super(elementRef);
627
- }
628
- }
629
- SacContextmenuContainerDirective.decorators = [
630
- { type: Directive, args: [{
631
- selector: '[sacContextMenuContainer]',
632
- providers: [
633
- {
634
- provide: SacContextMenuContrainerCommon,
635
- useExisting: forwardRef(() => SacContextmenuContainerDirective),
636
- },
637
- ],
638
- },] }
639
- ];
640
- SacContextmenuContainerDirective.ctorParameters = () => [
641
- { type: ElementRef }
642
- ];
643
-
644
- /**
645
- * Component for menu entry in context menu
646
- */
647
- class SacContextmenuItemButtonComponent extends SacContextmenuItemButtonCommon {
648
- // #region Constructors
649
- /**
650
- * Constructor
651
- * @param contextmenu Instance von Context Menü
652
- */
653
- constructor(el) {
654
- super();
655
- this.el = el;
656
- }
657
- // #endregion Constructors
658
- // #region Public Methods
659
- ngOnInit() {
660
- const rootElement = this.el.nativeElement;
661
- const parentElement = rootElement.parentElement;
662
- while (rootElement.firstChild) {
663
- parentElement.insertBefore(rootElement.firstChild, rootElement);
664
- }
665
- parentElement.removeChild(rootElement);
666
- }
667
- }
668
- SacContextmenuItemButtonComponent.decorators = [
669
- { type: Component, args: [{
670
- selector: 'sac-contextmenubutton',
671
- template: "<li\r\n [class.disabled]=\"isdisabled\"\r\n [ngClass]=\"cssclass\">\r\n <a\r\n [id]=\"name\"\r\n (click)=\"callaction($event)\"\r\n [attr.disabled]=\"isdisabled ? 'disabled' : null\"\r\n [ngStyle]=\"{ cursor: !isdisabled ? 'pointer' : null }\"\r\n style=\"display: flex\">\r\n <div\r\n style=\"min-width: 25px\"\r\n *ngIf=\"!isicondisabled\">\r\n <img\r\n *ngIf=\"image\"\r\n [src]=\"image\"\r\n style=\"vertical-align: baseline\"\r\n [ngStyle]=\"{ 'margin-right': text ? '5px' : null }\" />\r\n <i\r\n *ngIf=\"icon\"\r\n [class]=\"iconstyle + ' ' + icon\"\r\n [ngStyle]=\"{ 'margin-right': text ? '5px' : null }\">\r\n </i>\r\n </div>\r\n <div>{{ text }}</div>\r\n </a>\r\n</li>\r\n",
672
- providers: [
673
- {
674
- provide: SacContextmenuItemCommon,
675
- useExisting: forwardRef(() => SacContextmenuItemButtonComponent),
676
- },
677
- ]
678
- },] }
679
- ];
680
- SacContextmenuItemButtonComponent.ctorParameters = () => [
681
- { type: ElementRef }
682
- ];
683
-
684
- /**
685
- * Splitter Komponente in Context Menü
686
- */
687
- class SacContextmenuItemSplitterComponent extends SacContextmenuItemCommon {
688
- }
689
- SacContextmenuItemSplitterComponent.decorators = [
690
- { type: Component, args: [{
691
- selector: 'sac-contextmenusplitter',
692
- template: "<li\r\n role=\"separator\"\r\n class=\"divider\"></li>\r\n",
693
- providers: [
694
- {
695
- provide: SacContextmenuItemCommon,
696
- useExisting: forwardRef(() => SacContextmenuItemSplitterComponent),
697
- },
698
- ]
699
- },] }
700
- ];
701
-
702
- class SACBootstrap3ContextmenuModule {
703
- }
704
- SACBootstrap3ContextmenuModule.decorators = [
705
- { type: NgModule, args: [{
706
- declarations: [
707
- SacContextmenuComponent,
708
- SacContextmenuItemButtonComponent,
709
- SacContextmenuItemSplitterComponent,
710
- SacContextmenuAnchorDirective,
711
- SacContextmenuContainerDirective,
712
- ],
713
- imports: [CommonModule],
714
- exports: [
715
- SacContextmenuComponent,
716
- SacContextmenuItemButtonComponent,
717
- SacContextmenuItemSplitterComponent,
718
- SacContextmenuAnchorDirective,
719
- ],
720
- },] }
721
- ];
722
-
723
- // #region Classes
724
- class SacDateComponent extends SacDateCommon {
725
- // #region Constructors
726
- /**
727
- * Constructor
728
- * @param formLayout SacFormLayout to define scoped layout settings
729
- * @param injector Injector for injecting services
730
- * @param elementRef Reference to html dom element
731
- * @param cdRef Change Dectection Servie
732
- */
733
- constructor(formLayout, injector, elementRef, cdRef) {
734
- super(formLayout, injector, elementRef, cdRef);
735
- }
736
- }
737
- SacDateComponent.decorators = [
738
- { type: Component, args: [{
739
- selector: 'sac-date',
740
- template: "<div\r\n class=\"row form-group\"\r\n [class.has-error]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"componentHeight | toLabelHeight\">\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{ name }}label\"\r\n for=\"{{ name }}\"\r\n class=\"col-xs-12 control-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\r\n [class.required]=\"isrequired\">\r\n <span class=\"text\">{{ label }}</span>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [class]=\"HelptextTooltipIcon\"\r\n style=\"margin-left: 5px\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-xs-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\r\n <div\r\n style=\"position: relative\"\r\n [style.width.px]=\"componentHeight === ControlHeight.Small ? 120 : componentHeight === ControlHeight.Large ? 180 : 140\">\r\n <div\r\n class=\"datetime-textbox input-group\"\r\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\r\n <!-- this class comes in the div above when disabled [ngClass]=\"[disablelabel === false ? 'col-md-' + _inputsize : 'col-md-12']\" -->\r\n <input\r\n id=\"{{ name }}\"\r\n name=\"{{ name }}\"\r\n type=\"text\"\r\n class=\"form-control date-control\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\"\r\n [imask]=\"imaskDate\"\r\n [attr.placeholder]=\"placeholder\"\r\n [value]=\"valuestring\"\r\n (blur)=\"onTouch()\"\r\n (accept)=\"setValueString($event)\"\r\n [disabled]=\"isdisabled\"\r\n (click)=\"showDateSelector()\" />\r\n <span class=\"input-group-btn\">\r\n <button\r\n #pickerbutton\r\n class=\"btn btn-default\"\r\n type=\"button\"\r\n (click)=\"showDateSelector()\"\r\n [disabled]=\"isdisabled\">\r\n <i [class]=\"IconSelector\"></i>\r\n </button>\r\n </span>\r\n </div>\r\n <p\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"help-block\">\r\n {{ helptext }}\r\n </p>\r\n <div\r\n class=\"help-block help-block-error\"\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n\r\n <div\r\n #picker\r\n *ngIf=\"_showselector\">\r\n <div\r\n class=\"popover in\"\r\n role=\"tooltip\"\r\n style=\"display: block; max-width: unset; margin: 0\"\r\n [class.bottom]=\"GetPickerPosition() == TooltipPosition.bottom || GetPickerPosition() == TooltipPosition.bottomend\"\r\n [class.top]=\"GetPickerPosition() == TooltipPosition.top || GetPickerPosition() == TooltipPosition.topend\"\r\n [style.left.px]=\"posPopupLeft\"\r\n [style.top.px]=\"posPopupTop\">\r\n <div\r\n #pickerarrow\r\n style=\"margin: 0\"\r\n class=\"arrow\"\r\n [style.top.px]=\"posArrowTop\"\r\n [style.left.px]=\"posArrowLeft\">\r\n </div>\r\n\r\n <div class=\"popover-content\">\r\n <sac-dateselector\r\n *ngIf=\"_showselector\"\r\n [initialvalue]=\"value\"\r\n (selectdate)=\"dateselect($event)\"\r\n dateselection=\"true\">\r\n </sac-dateselector>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-static\"\r\n style=\"margin-left: 5px\">\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [class]=\"HelptextTooltipIcon\"\r\n style=\"margin-left: 5px; margin-right: 5px\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n</div>\r\n",
741
- // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
742
- providers: [
743
- {
744
- provide: NG_VALUE_ACCESSOR,
745
- multi: true,
746
- useExisting: forwardRef(() => SacDateComponent),
747
- },
748
- {
749
- provide: NG_VALIDATORS,
750
- multi: true,
751
- useExisting: forwardRef(() => SacDateComponent),
752
- },
753
- ]
754
- },] }
755
- ];
756
- SacDateComponent.ctorParameters = () => [
757
- { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
758
- { type: Injector },
759
- { type: ElementRef },
760
- { type: ChangeDetectorRef }
761
- ];
762
- // #endregion Classes
763
- // #region Variables
764
- const moment = moment_;
415
+ class SACBootstrap3DialogModule {
416
+ }
417
+ SACBootstrap3DialogModule.decorators = [
418
+ { type: NgModule, args: [{
419
+ declarations: [SacDialogComponent],
420
+ imports: [
421
+ CommonModule
422
+ ],
423
+ exports: [SacDialogComponent]
424
+ },] }
425
+ ];
426
+
427
+ class SacConfirmComponent extends SacConfirmCommon {
428
+ }
429
+ SacConfirmComponent.decorators = [
430
+ { type: Component, args: [{
431
+ selector: 'sac-confirm',
432
+ template: "<sac-dialog\n name=\"confirmDialog\"\n [(isvisible)]=\"isvisible\"\n [title]=\"title\"\n [allowesc]=\"false\"\n [closebutton]=\"false\"\n>\n <div dialogbody>\n <div class=\"media\">\n <div class=\"media-left media-middle\" *ngIf=\"hasImage()\">\n <img [attr.src]=\"image\" />\n </div>\n <div class=\"media-body\">{{message}}</div>\n </div>\n </div>\n <div dialogfooter>\n <ng-container *ngFor=\"let button of buttons\">\n <sac-button\n [name]=\"button.key\"\n [text]=\"button.text\"\n [role]=\"button.role || 'default'\"\n (clicked)=\"confirm(button.key)\"\n ></sac-button>\n </ng-container>\n </div>\n</sac-dialog>\n"
433
+ },] }
434
+ ];
435
+
436
+ /**
437
+ * Service für Confirm Messages in TypeScript Code
438
+ *
439
+ * @example
440
+ * // Beispiel für ConfirmMessage mit Standard Buttons (Ja / Nein).
441
+ * confirmService.ConfirmMessage('titel', 'frage').subscribe(action => { // Action Code });
442
+ *
443
+ * @example
444
+ * // Beispiel für ConfirmMessage mit eigenen Buttons
445
+ * let buttons: SacConfirmButton[] = [];
446
+ * buttons.push(new SacConfirmButton('ActionKey','Text Primary'));
447
+ * buttons.push(new SacConfirmButton('ActionKey2','Text Button 2'));
448
+ * confirmService.ConfirmMessage('titel', 'frage', buttons).subscribe(action => { // Action Code });
449
+ */
450
+ class ServiceConfirm extends ServiceConfirmCommon {
451
+ // #endregion Properties
452
+ // #region Constructors
453
+ /**
454
+ * Konstruktor
455
+ * @param componentFactoryResolver Component Factory Resolver Instanz
456
+ * @param appRef Application Referenz. Wird benötigt um den Dialog am Body anzuhängen
457
+ * @param injector Injector. Wird benötigt um den Dialog dynamisch zu erzeugen
458
+ */
459
+ constructor(componentFactoryResolver, appRef, injector) {
460
+ super(appRef, injector);
461
+ this.componentFactoryResolver = componentFactoryResolver;
462
+ // #region Properties
463
+ /**
464
+ * Collection von Buttons die angezeigt werden müssen.
465
+ */
466
+ this.buttons = [];
467
+ /**
468
+ * Message die in Dialog angezeigt werden soll.
469
+ */
470
+ this.message = '';
471
+ /**
472
+ * Titel der im Dialog angezeigt werden soll.
473
+ */
474
+ this.title = '';
475
+ }
476
+ // #endregion Constructors
477
+ // #region Public Methods
478
+ /**
479
+ * Confirm Dialog anzeigen
480
+ * @param message Nachricht die angezeigt werden soll.
481
+ * @returns EventEmitter mit Key des Buttons, welcher geklickt wurde.
482
+ */
483
+ ConfirmMessage(title, message, buttons = null) {
484
+ this.title = title;
485
+ this.message = message;
486
+ // Default Buttons setzen, wenn keine Buttons angegeben sind
487
+ if (!isDefined(buttons)) {
488
+ this.buttons = [];
489
+ forkJoin({
490
+ button_yes: this.localisationService.GetString(this.validationKeyService.ConfirmDefaultButtonYes),
491
+ button_no: this.localisationService.GetString(this.validationKeyService.ConfirmDefaultButtonNo),
492
+ })
493
+ .pipe(take(1))
494
+ .subscribe((texte) => {
495
+ this.buttons.push(new SacConfirmButton('yes', texte.button_yes, 'primary'));
496
+ this.buttons.push(new SacConfirmButton('no', texte.button_no));
497
+ });
498
+ }
499
+ else {
500
+ this.buttons = buttons;
501
+ }
502
+ return super.Confirm();
503
+ }
504
+ /**
505
+ * Erzeugen einer Component Factory für einen Dialog
506
+ */
507
+ GetComponentFactory() {
508
+ return this.componentFactoryResolver.resolveComponentFactory(SacConfirmComponent);
509
+ }
510
+ // #endregion Public Methods
511
+ // #region Protected Methods
512
+ /**
513
+ * Konfiguration des Dialogs
514
+ * @param instance Instanz eines SacConfirm Dialogs
515
+ */
516
+ ConfigureDialog(instance) {
517
+ // Text in Dialog setzen
518
+ instance.title = this.title;
519
+ instance.message = this.message;
520
+ instance.buttons = this.buttons;
521
+ instance.image = this.iconService.ConfirmDefaultImage;
522
+ }
523
+ }
524
+ ServiceConfirm.decorators = [
525
+ { type: Injectable }
526
+ ];
527
+ ServiceConfirm.ctorParameters = () => [
528
+ { type: ComponentFactoryResolver, decorators: [{ type: Inject, args: [ComponentFactoryResolver,] }] },
529
+ { type: ApplicationRef },
530
+ { type: Injector }
531
+ ];
532
+
533
+ /**
534
+ * Module für Confirm Messages
535
+ *
536
+ * In NgModule der Applikation folgenden Eintrag bei Imports einfügen: ExanicBootstrap3ConfirmModule.forRoot()
537
+ *
538
+ */
539
+ class SACBootstrap3ConfirmModule {
540
+ // #region Public Static Methods
541
+ static forRoot() {
542
+ return {
543
+ ngModule: SACBootstrap3ConfirmModule,
544
+ providers: [ServiceConfirm],
545
+ };
546
+ }
547
+ }
548
+ SACBootstrap3ConfirmModule.decorators = [
549
+ { type: NgModule, args: [{
550
+ declarations: [SacConfirmComponent],
551
+ imports: [CommonModule, SACBootstrap3DialogModule, SACBootstrap3ButtonModule],
552
+ exports: [SacConfirmComponent],
553
+ entryComponents: [SacConfirmComponent],
554
+ },] }
555
+ ];
556
+
557
+ /**
558
+ * Component for context menu
559
+ */
560
+ class SacContextmenuComponent extends SacContextmenuCommon {
561
+ // #region Constructors
562
+ /**
563
+ * Constructor
564
+ * @param document Reference to HTML document
565
+ * @param ngZone Angular Zone Service
566
+ * @param elementRef Reference to HTML element of the current component
567
+ * @param renderer Render Service from Angular
568
+ * @param injector injector to resolve services
569
+ */
570
+ constructor(document, ngZone, elementRef, renderer, injector) {
571
+ super(document, ngZone, elementRef, renderer, injector);
572
+ }
573
+ }
574
+ SacContextmenuComponent.decorators = [
575
+ { type: Component, args: [{
576
+ selector: 'sac-contextmenu',
577
+ template: "<div\n class=\"dropdown\"\n [ngClass]=\"cssclass\">\n <ng-container [ngTemplateOutlet]=\"buttontemplate || defaultButtonTemplate\"></ng-container>\n\n <ul\n class=\"dropdown-menu dropdown-menu-right\"\n sacContextMenuContainer\n [class.show]=\"isopen\">\n <ng-content></ng-content>\n </ul>\n</div>\n\n<ng-template #defaultButtonTemplate>\n <button\n sacContextMenuAnchor\n class=\"btn btn-link\"\n type=\"button\"\n (click)=\"toggle()\">\n <i [class]=\"IconContextMenu\"></i>\n </button>\n</ng-template>\n"
578
+ },] }
579
+ ];
580
+ SacContextmenuComponent.ctorParameters = () => [
581
+ { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] },
582
+ { type: NgZone },
583
+ { type: ElementRef },
584
+ { type: Renderer2 },
585
+ { type: Injector }
586
+ ];
587
+
588
+ /**
589
+ * Anker Komponente für Context Menü. Wird zum positionieren des Context Menü in der Page benötigt.
590
+ */
591
+ class SacContextmenuAnchorDirective extends SacContextmenuAnchorCommon {
592
+ // #region Constructors
593
+ /**
594
+ * Konstruktor
595
+ * @param elementRef HTML DOM Referenz
596
+ */
597
+ constructor(elementRef) {
598
+ super(elementRef);
599
+ }
600
+ }
601
+ SacContextmenuAnchorDirective.decorators = [
602
+ { type: Directive, args: [{
603
+ selector: '[sacContextMenuAnchor]',
604
+ providers: [
605
+ {
606
+ provide: SacContextmenuAnchorCommon,
607
+ useExisting: forwardRef(() => SacContextmenuAnchorDirective),
608
+ },
609
+ ],
610
+ },] }
611
+ ];
612
+ SacContextmenuAnchorDirective.ctorParameters = () => [
613
+ { type: ElementRef }
614
+ ];
615
+
616
+ /**
617
+ * Marker Komponente für Context Menü
618
+ */
619
+ class SacContextmenuContainerDirective extends SacContextMenuContrainerCommon {
620
+ // #region Constructors
621
+ /**
622
+ * Konstruktor
623
+ * @param elementRef Referenz auf DOM Element
624
+ */
625
+ constructor(elementRef) {
626
+ super(elementRef);
627
+ }
628
+ }
629
+ SacContextmenuContainerDirective.decorators = [
630
+ { type: Directive, args: [{
631
+ selector: '[sacContextMenuContainer]',
632
+ providers: [
633
+ {
634
+ provide: SacContextMenuContrainerCommon,
635
+ useExisting: forwardRef(() => SacContextmenuContainerDirective),
636
+ },
637
+ ],
638
+ },] }
639
+ ];
640
+ SacContextmenuContainerDirective.ctorParameters = () => [
641
+ { type: ElementRef }
642
+ ];
643
+
644
+ /**
645
+ * Component for menu entry in context menu
646
+ */
647
+ class SacContextmenuItemButtonComponent extends SacContextmenuItemButtonCommon {
648
+ // #region Constructors
649
+ /**
650
+ * Constructor
651
+ * @param contextmenu Instance von Context Menü
652
+ */
653
+ constructor(el) {
654
+ super();
655
+ this.el = el;
656
+ }
657
+ // #endregion Constructors
658
+ // #region Public Methods
659
+ ngOnInit() {
660
+ const rootElement = this.el.nativeElement;
661
+ const parentElement = rootElement.parentElement;
662
+ while (rootElement.firstChild) {
663
+ parentElement.insertBefore(rootElement.firstChild, rootElement);
664
+ }
665
+ parentElement.removeChild(rootElement);
666
+ }
667
+ }
668
+ SacContextmenuItemButtonComponent.decorators = [
669
+ { type: Component, args: [{
670
+ selector: 'sac-contextmenubutton',
671
+ template: "<li\n [class.disabled]=\"isdisabled\"\n [ngClass]=\"cssclass\">\n <a\n [id]=\"name\"\n (click)=\"callaction($event)\"\n [attr.disabled]=\"isdisabled ? 'disabled' : null\"\n [ngStyle]=\"{ cursor: !isdisabled ? 'pointer' : null }\"\n style=\"display: flex\">\n <div\n style=\"min-width: 25px\"\n *ngIf=\"!isicondisabled\">\n <img\n *ngIf=\"image\"\n [src]=\"image\"\n style=\"vertical-align: baseline\"\n [ngStyle]=\"{ 'margin-right': text ? '5px' : null }\" />\n <i\n *ngIf=\"icon\"\n [class]=\"iconstyle + ' ' + icon\"\n [ngStyle]=\"{ 'margin-right': text ? '5px' : null }\">\n </i>\n </div>\n <div>{{ text }}</div>\n </a>\n</li>\n",
672
+ providers: [
673
+ {
674
+ provide: SacContextmenuItemCommon,
675
+ useExisting: forwardRef(() => SacContextmenuItemButtonComponent),
676
+ },
677
+ ]
678
+ },] }
679
+ ];
680
+ SacContextmenuItemButtonComponent.ctorParameters = () => [
681
+ { type: ElementRef }
682
+ ];
683
+
684
+ /**
685
+ * Splitter Komponente in Context Menü
686
+ */
687
+ class SacContextmenuItemSplitterComponent extends SacContextmenuItemCommon {
688
+ }
689
+ SacContextmenuItemSplitterComponent.decorators = [
690
+ { type: Component, args: [{
691
+ selector: 'sac-contextmenusplitter',
692
+ template: "<li\n role=\"separator\"\n class=\"divider\"></li>\n",
693
+ providers: [
694
+ {
695
+ provide: SacContextmenuItemCommon,
696
+ useExisting: forwardRef(() => SacContextmenuItemSplitterComponent),
697
+ },
698
+ ]
699
+ },] }
700
+ ];
701
+
702
+ class SACBootstrap3ContextmenuModule {
703
+ }
704
+ SACBootstrap3ContextmenuModule.decorators = [
705
+ { type: NgModule, args: [{
706
+ declarations: [
707
+ SacContextmenuComponent,
708
+ SacContextmenuItemButtonComponent,
709
+ SacContextmenuItemSplitterComponent,
710
+ SacContextmenuAnchorDirective,
711
+ SacContextmenuContainerDirective,
712
+ ],
713
+ imports: [CommonModule],
714
+ exports: [
715
+ SacContextmenuComponent,
716
+ SacContextmenuItemButtonComponent,
717
+ SacContextmenuItemSplitterComponent,
718
+ SacContextmenuAnchorDirective,
719
+ ],
720
+ },] }
721
+ ];
722
+
723
+ // #region Classes
724
+ class SacDateComponent extends SacDateCommon {
725
+ // #region Constructors
726
+ /**
727
+ * Constructor
728
+ * @param formLayout SacFormLayout to define scoped layout settings
729
+ * @param injector Injector for injecting services
730
+ * @param elementRef Reference to html dom element
731
+ * @param cdRef Change Dectection Servie
732
+ */
733
+ constructor(formLayout, injector, elementRef, cdRef) {
734
+ super(formLayout, injector, elementRef, cdRef);
735
+ }
736
+ }
737
+ SacDateComponent.decorators = [
738
+ { type: Component, args: [{
739
+ selector: 'sac-date',
740
+ template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <div\n style=\"position: relative\"\n [style.width.px]=\"componentHeight === ControlHeight.Small ? 120 : componentHeight === ControlHeight.Large ? 180 : 140\">\n <div\n class=\"datetime-textbox input-group\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <!-- this class comes in the div above when disabled [ngClass]=\"[disablelabel === false ? 'col-md-' + _inputsize : 'col-md-12']\" -->\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n class=\"form-control date-control\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [imask]=\"imaskDate\"\n [attr.placeholder]=\"placeholder\"\n [value]=\"valuestring\"\n (blur)=\"onTouch()\"\n (accept)=\"setValueString($event)\"\n [disabled]=\"isdisabled\"\n (click)=\"showDateSelector()\" />\n <span class=\"input-group-btn\">\n <button\n #pickerbutton\n class=\"btn btn-default\"\n type=\"button\"\n (click)=\"showDateSelector()\"\n [disabled]=\"isdisabled\">\n <i [class]=\"IconSelector\"></i>\n </button>\n </span>\n </div>\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n\n <div\n #picker\n *ngIf=\"_showselector\">\n <div\n class=\"popover in\"\n role=\"tooltip\"\n style=\"display: block; max-width: unset; margin: 0\"\n [class.bottom]=\"GetPickerPosition() == TooltipPosition.bottom || GetPickerPosition() == TooltipPosition.bottomend\"\n [class.top]=\"GetPickerPosition() == TooltipPosition.top || GetPickerPosition() == TooltipPosition.topend\"\n [style.left.px]=\"posPopupLeft\"\n [style.top.px]=\"posPopupTop\">\n <div\n #pickerarrow\n style=\"margin: 0\"\n class=\"arrow\"\n [style.top.px]=\"posArrowTop\"\n [style.left.px]=\"posArrowLeft\">\n </div>\n\n <div class=\"popover-content\">\n <sac-dateselector\n *ngIf=\"_showselector\"\n [initialvalue]=\"value\"\n (selectdate)=\"dateselect($event)\"\n dateselection=\"true\">\n </sac-dateselector>\n </div>\n </div>\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n",
741
+ // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
742
+ providers: [
743
+ {
744
+ provide: NG_VALUE_ACCESSOR,
745
+ multi: true,
746
+ useExisting: forwardRef(() => SacDateComponent),
747
+ },
748
+ {
749
+ provide: NG_VALIDATORS,
750
+ multi: true,
751
+ useExisting: forwardRef(() => SacDateComponent),
752
+ },
753
+ ]
754
+ },] }
755
+ ];
756
+ SacDateComponent.ctorParameters = () => [
757
+ { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
758
+ { type: Injector },
759
+ { type: ElementRef },
760
+ { type: ChangeDetectorRef }
761
+ ];
762
+ // #endregion Classes
763
+ // #region Variables
764
+ const moment = moment_;
765
765
  // #endregion Variables
766
766
 
767
- class SacDateSelectorComponent extends SacDateSelectorCommon {
768
- }
769
- SacDateSelectorComponent.decorators = [
770
- { type: Component, args: [{
771
- selector: 'sac-dateselector',
772
- template: "<div class=\"calendar-selector\" style=\"min-width: 265px\">\r\n <table class=\"table-condensed\" style=\"width: 100%\" *ngIf=\"dateselection\">\r\n <thead>\r\n <tr>\r\n <th class=\"prev text-left\" (click)=\"monthBack()\">\r\n <i [class]=\"iconMonthPrev\"></i>\r\n </th>\r\n <th colspan=\"5\" class=\"switch text-center\">{{month+1}}/{{year}}</th>\r\n <th class=\"next text-right\" (click)=\"monthNext()\">\r\n <i [class]=\"iconMonthNext\"></i>\r\n </th>\r\n </tr>\r\n <tr>\r\n <th class=\"dow text-center\">Mo</th>\r\n <th class=\"dow text-center\">Di</th>\r\n <th class=\"dow text-center\">Mi</th>\r\n <th class=\"dow text-center\">Do</th>\r\n <th class=\"dow text-center\">Fr</th>\r\n <th class=\"dow text-center\">Sa</th>\r\n <th class=\"dow text-center\">So</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <ng-container *ngFor=\"let week of dates; let i=index\">\r\n <tr>\r\n <td\r\n class=\"text-center\"\r\n *ngFor=\"let item of week\"\r\n [ngStyle]=\"{'cursor': item.isenabled ? 'pointer' : null}\"\r\n [ngClass]=\"{'day-current': item.iscurrent, 'day-selected': item.isselected, 'day-new': item.isnew, 'day-disabled': !item.isenabled}\"\r\n (click)=\"selectDate(item)\"\r\n >\r\n {{ item.displaytext }}\r\n </td>\r\n </tr>\r\n </ng-container>\r\n </tbody>\r\n </table>\r\n <div class=\"container-fluid\" *ngIf=\"timeselection\" style=\"margin-top: 10px\">\r\n <div class=\"row\">\r\n <div class=\"col-md-6\" style=\"padding-right: 20px\">\r\n <div class=\"form-group\">\r\n <label>Stunde</label>\r\n <input\r\n type=\"number\"\r\n class=\"form-control\"\r\n [value]=\"getHours()\"\r\n (input)=\"setHours($event.target.value)\"\r\n min=\"0\"\r\n max=\"23\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-md-6\" style=\"padding-left: 20px\">\r\n <div class=\"form-group\">\r\n <label>Minute</label>\r\n <input\r\n type=\"number\"\r\n class=\"form-control\"\r\n [value]=\"getMinutes()\"\r\n (input)=\"setMinutes($event.target.value)\"\r\n min=\"0\"\r\n max=\"59\"\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\" style=\"margin-top: 10px\">\r\n <div class=\"col-md-4 text-left\">\r\n <button type=\"button\" class=\"btn btn-default\" (click)=\"setToday()\">\r\n Heute\r\n </button>\r\n </div>\r\n <div class=\"col-md-8 text-right\">\r\n <button type=\"button\" class=\"btn btn-default\" (click)=\"resetSelection()\">\r\n Reset\r\n </button>\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-primary\"\r\n style=\"margin-left: 10px\"\r\n (click)=\"applySelection()\"\r\n >\r\n Apply\r\n </button>\r\n </div>\r\n </div>\r\n</div>\r\n"
773
- },] }
774
- ];
775
-
776
- class SacDateTimeComponent extends SacDateTimeCommon {
777
- // #region Constructors
778
- /**
779
- * Constructor
780
- * @param formLayout SacFormLayout to define scoped layout settings
781
- * @param injector Injector for injecting services
782
- * @param elementRef Reference to html dom element
783
- * @param cdRef Change Dectection Servie
784
- */
785
- constructor(formLayout, injector, elementRef, cdRef) {
786
- super(formLayout, injector, elementRef, cdRef);
787
- }
788
- }
789
- SacDateTimeComponent.decorators = [
790
- { type: Component, args: [{
791
- selector: 'sac-datetime',
792
- template: "<div\r\n class=\"row form-group\"\r\n [class.has-error]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"componentHeight | toLabelHeight\">\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{ name }}label\"\r\n for=\"{{ name }}\"\r\n class=\"col-xs-12 control-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\r\n [class.required]=\"isrequired\">\r\n <span class=\"text\">{{ label }}</span>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [class]=\"HelptextTooltipIcon\"\r\n style=\"margin-left: 5px\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-xs-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\r\n <div\r\n style=\"position: relative\"\r\n [style.width.px]=\"componentHeight === ControlHeight.Small ? 160 : componentHeight === ControlHeight.Large ? 230 : 180\">\r\n <div\r\n class=\"datetime-textbox input-group\"\r\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\r\n <input\r\n id=\"{{ name }}\"\r\n name=\"{{ name }}\"\r\n type=\"text\"\r\n class=\"form-control date-control\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\"\r\n [imask]=\"imaskDate\"\r\n [attr.placeholder]=\"placeholder\"\r\n [value]=\"valuestring\"\r\n (blur)=\"onTouch()\"\r\n (accept)=\"setValueString($event)\"\r\n [disabled]=\"isdisabled\"\r\n (click)=\"showDateSelector()\" />\r\n <span class=\"input-group-btn\">\r\n <button\r\n #pickerbutton\r\n class=\"btn btn-default\"\r\n type=\"button\"\r\n (click)=\"showDateSelector()\"\r\n [disabled]=\"isdisabled\">\r\n <i [class]=\"IconSelector\"></i>\r\n </button>\r\n </span>\r\n </div>\r\n <p\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"help-block\">\r\n {{ helptext }}\r\n </p>\r\n <div\r\n class=\"help-block help-block-error\"\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n\r\n <div\r\n #picker\r\n *ngIf=\"_showselector\">\r\n <div\r\n class=\"popover in\"\r\n role=\"tooltip\"\r\n style=\"display: block; max-width: unset; margin: 0\"\r\n [class.bottom]=\"GetPickerPosition() == TooltipPosition.bottom || GetPickerPosition() == TooltipPosition.bottomend\"\r\n [class.top]=\"GetPickerPosition() == TooltipPosition.top || GetPickerPosition() == TooltipPosition.topend\"\r\n [style.left.px]=\"posPopupLeft\"\r\n [style.top.px]=\"posPopupTop\">\r\n <div\r\n #pickerarrow\r\n style=\"margin: 0\"\r\n class=\"arrow\"\r\n [style.top.px]=\"posArrowTop\"\r\n [style.left.px]=\"posArrowLeft\">\r\n </div>\r\n\r\n <div class=\"popover-content\">\r\n <sac-dateselector\r\n *ngIf=\"_showselector\"\r\n [initialvalue]=\"value\"\r\n (selectdate)=\"dateselect($event)\"\r\n dateselection=\"true\"\r\n timeselection=\"true\"></sac-dateselector>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-static\"\r\n style=\"margin-left: 5px\">\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [class]=\"HelptextTooltipIcon\"\r\n style=\"margin-left: 5px; margin-right: 5px\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n</div>\r\n",
793
- // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
794
- providers: [
795
- {
796
- provide: NG_VALUE_ACCESSOR,
797
- multi: true,
798
- useExisting: forwardRef(() => SacDateTimeComponent),
799
- },
800
- {
801
- provide: NG_VALIDATORS,
802
- multi: true,
803
- useExisting: forwardRef(() => SacDateTimeComponent),
804
- },
805
- ]
806
- },] }
807
- ];
808
- SacDateTimeComponent.ctorParameters = () => [
809
- { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
810
- { type: Injector },
811
- { type: ElementRef },
812
- { type: ChangeDetectorRef }
813
- ];
814
-
815
- class SacTimeComponent extends SacTimeCommon {
816
- // #region Constructors
817
- /**
818
- * Constructor
819
- * @param formLayout SacFormLayout to define scoped layout settings
820
- * @param injector Injector for injecting services
821
- * @param elementRef Reference to html dom element
822
- * @param cdRef Change Dectection Servie
823
- */
824
- constructor(formLayout, injector, elementRef, cdRef) {
825
- super(formLayout, injector, elementRef, cdRef);
826
- }
827
- }
828
- SacTimeComponent.decorators = [
829
- { type: Component, args: [{
830
- selector: 'sac-time',
831
- template: "<div\r\n class=\"row form-group\"\r\n [class.has-error]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"componentHeight | toLabelHeight\">\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{ name }}label\"\r\n for=\"{{ name }}\"\r\n class=\"col-xs-12 control-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\r\n [class.required]=\"isrequired\">\r\n <span class=\"text\">{{ label }}</span>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [class]=\"HelptextTooltipIcon\"\r\n style=\"margin-left: 5px\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-xs-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\r\n <div\r\n style=\"position: relative\"\r\n [style.width.px]=\"componentHeight === ControlHeight.Small ? 120 : componentHeight === ControlHeight.Large ? 160 : 140\">\r\n <div\r\n class=\"datetime-textbox input-group\"\r\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\r\n <input\r\n id=\"{{ name }}\"\r\n name=\"{{ name }}\"\r\n type=\"text\"\r\n class=\"form-control time-control\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\"\r\n [imask]=\"imaskDate\"\r\n [attr.placeholder]=\"placeholder\"\r\n [value]=\"valuestring\"\r\n (blur)=\"onTouch()\"\r\n (accept)=\"setValueString($event)\"\r\n [disabled]=\"isdisabled\"\r\n (click)=\"showTimeSelector()\"\r\n maxlength=\"6\"\r\n size=\"6\" />\r\n <span class=\"input-group-btn\">\r\n <button\r\n #pickerbutton\r\n class=\"btn btn-default\"\r\n type=\"button\"\r\n (click)=\"showTimeSelector()\"\r\n [disabled]=\"isdisabled\">\r\n <i [class]=\"IconSelector\"></i>\r\n </button>\r\n </span>\r\n </div>\r\n <p\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"help-block\">\r\n {{ helptext }}\r\n </p>\r\n <div\r\n class=\"help-block help-block-error\"\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n\r\n <div\r\n #picker\r\n *ngIf=\"_showselector\">\r\n <div\r\n class=\"popover in\"\r\n role=\"tooltip\"\r\n style=\"display: block; max-width: unset; margin: 0\"\r\n [class.bottom]=\"GetPickerPosition() == TooltipPosition.bottom || GetPickerPosition() == TooltipPosition.bottomend\"\r\n [class.top]=\"GetPickerPosition() == TooltipPosition.top || GetPickerPosition() == TooltipPosition.topend\"\r\n [style.left.px]=\"posPopupLeft\"\r\n [style.top.px]=\"posPopupTop\">\r\n <div\r\n #pickerarrow\r\n style=\"margin: 0\"\r\n class=\"arrow\"\r\n [style.top.px]=\"posArrowTop\"\r\n [style.left.px]=\"posArrowLeft\">\r\n </div>\r\n\r\n <div class=\"popover-content\">\r\n <sac-dateselector\r\n *ngIf=\"_showselector\"\r\n [initialvalue]=\"value\"\r\n (selectdate)=\"timeselect($event)\"\r\n timeselection=\"true\"></sac-dateselector>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-static\"\r\n style=\"margin-left: 5px\">\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [class]=\"HelptextTooltipIcon\"\r\n style=\"margin-left: 5px; margin-right: 5px\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n</div>\r\n",
832
- // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
833
- providers: [
834
- {
835
- provide: NG_VALUE_ACCESSOR,
836
- multi: true,
837
- useExisting: forwardRef(() => SacTimeComponent),
838
- },
839
- {
840
- provide: NG_VALIDATORS,
841
- multi: true,
842
- useExisting: forwardRef(() => SacTimeComponent),
843
- },
844
- ]
845
- },] }
846
- ];
847
- SacTimeComponent.ctorParameters = () => [
848
- { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
849
- { type: Injector },
850
- { type: ElementRef },
851
- { type: ChangeDetectorRef }
852
- ];
853
-
854
- class SACBootstrap3DateTimeModule {
855
- }
856
- SACBootstrap3DateTimeModule.decorators = [
857
- { type: NgModule, args: [{
858
- declarations: [
859
- SacDateComponent,
860
- SacDateTimeComponent,
861
- SacTimeComponent,
862
- SacDateSelectorComponent,
863
- ],
864
- imports: [
865
- CommonModule,
866
- IMaskModule,
867
- SACBootstrap3LayoutModule,
868
- SACBootstrap3TooltipModule,
869
- ],
870
- exports: [
871
- SacDateComponent,
872
- SacDateTimeComponent,
873
- SacTimeComponent,
874
- SacDateSelectorComponent,
875
- ],
876
- },] }
877
- ];
878
-
879
- class SacGridComponent extends SacGridCommon {
880
- constructor() {
881
- super(...arguments);
882
- this.ellipsis = false;
883
- }
884
- }
885
- SacGridComponent.decorators = [
886
- { type: Component, args: [{
887
- selector: 'sac-grid',
888
- template: "<table class=\"table table-striped table-condensed table-hover\" id=\"{{name}}\">\r\n <thead>\r\n <tr>\r\n <ng-container\r\n *ngTemplateOutlet=\"template; context { row: {}, type: 'header'}\"\r\n >\r\n </ng-container>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <ng-container *ngFor=\"let item of value; let i=index\">\r\n <tr>\r\n <ng-container\r\n *ngTemplateOutlet=\"template; context { row: item, type: 'body'}\"\r\n >\r\n </ng-container>\r\n </tr>\r\n </ng-container>\r\n <tr\r\n *ngIf=\"value === undefined || value === null || value.length === 0\"\r\n data-e2e=\"emptyrow\"\r\n >\r\n <td [attr.colspan]=\"ColumnCount\">{{emptytext}}</td>\r\n </tr>\r\n </tbody>\r\n <tfoot *ngIf=\"pagerdata\">\r\n <tr>\r\n <td [attr.colspan]=\"ColumnCount\">\r\n <div class=\"container-fluid\">\r\n <sac-paging\r\n name=\"{{name}}Paging\"\r\n (paging)=\"pageChange($event)\"\r\n [pagerdata]=\"pagerdata\"\r\n [pagingtext]=\"pagingtext\"\r\n [pagesizetext]=\"pagesizetext\"\r\n ></sac-paging>\r\n </div>\r\n </td>\r\n </tr>\r\n </tfoot>\r\n</table>\r\n",
889
- // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
890
- providers: [
891
- { provide: NG_VALUE_ACCESSOR, multi: true, useExisting: SacGridComponent },
892
- { provide: NG_VALIDATORS, multi: true, useExisting: forwardRef(() => SacGridComponent) }
893
- ]
894
- },] }
895
- ];
896
- SacGridComponent.propDecorators = {
897
- template: [{ type: ContentChild, args: [TemplateRef, { static: true },] }]
767
+ class SacDateSelectorComponent extends SacDateSelectorCommon {
768
+ }
769
+ SacDateSelectorComponent.decorators = [
770
+ { type: Component, args: [{
771
+ selector: 'sac-dateselector',
772
+ template: "<div class=\"calendar-selector\" style=\"min-width: 265px\">\n <table class=\"table-condensed\" style=\"width: 100%\" *ngIf=\"dateselection\">\n <thead>\n <tr>\n <th class=\"prev text-left\" (click)=\"monthBack()\">\n <i [class]=\"iconMonthPrev\"></i>\n </th>\n <th colspan=\"5\" class=\"switch text-center\">{{month+1}}/{{year}}</th>\n <th class=\"next text-right\" (click)=\"monthNext()\">\n <i [class]=\"iconMonthNext\"></i>\n </th>\n </tr>\n <tr>\n <th class=\"dow text-center\">Mo</th>\n <th class=\"dow text-center\">Di</th>\n <th class=\"dow text-center\">Mi</th>\n <th class=\"dow text-center\">Do</th>\n <th class=\"dow text-center\">Fr</th>\n <th class=\"dow text-center\">Sa</th>\n <th class=\"dow text-center\">So</th>\n </tr>\n </thead>\n <tbody>\n <ng-container *ngFor=\"let week of dates; let i=index\">\n <tr>\n <td\n class=\"text-center\"\n *ngFor=\"let item of week\"\n [ngStyle]=\"{'cursor': item.isenabled ? 'pointer' : null}\"\n [ngClass]=\"{'day-current': item.iscurrent, 'day-selected': item.isselected, 'day-new': item.isnew, 'day-disabled': !item.isenabled}\"\n (click)=\"selectDate(item)\"\n >\n {{ item.displaytext }}\n </td>\n </tr>\n </ng-container>\n </tbody>\n </table>\n <div class=\"container-fluid\" *ngIf=\"timeselection\" style=\"margin-top: 10px\">\n <div class=\"row\">\n <div class=\"col-md-6\" style=\"padding-right: 20px\">\n <div class=\"form-group\">\n <label>Stunde</label>\n <input\n type=\"number\"\n class=\"form-control\"\n [value]=\"getHours()\"\n (input)=\"setHours($event.target.value)\"\n min=\"0\"\n max=\"23\"\n />\n </div>\n </div>\n <div class=\"col-md-6\" style=\"padding-left: 20px\">\n <div class=\"form-group\">\n <label>Minute</label>\n <input\n type=\"number\"\n class=\"form-control\"\n [value]=\"getMinutes()\"\n (input)=\"setMinutes($event.target.value)\"\n min=\"0\"\n max=\"59\"\n />\n </div>\n </div>\n </div>\n </div>\n <div class=\"row\" style=\"margin-top: 10px\">\n <div class=\"col-md-4 text-left\">\n <button type=\"button\" class=\"btn btn-default\" (click)=\"setToday()\">\n Heute\n </button>\n </div>\n <div class=\"col-md-8 text-right\">\n <button type=\"button\" class=\"btn btn-default\" (click)=\"resetSelection()\">\n Reset\n </button>\n <button\n type=\"button\"\n class=\"btn btn-primary\"\n style=\"margin-left: 10px\"\n (click)=\"applySelection()\"\n >\n Apply\n </button>\n </div>\n </div>\n</div>\n"
773
+ },] }
774
+ ];
775
+
776
+ class SacDateTimeComponent extends SacDateTimeCommon {
777
+ // #region Constructors
778
+ /**
779
+ * Constructor
780
+ * @param formLayout SacFormLayout to define scoped layout settings
781
+ * @param injector Injector for injecting services
782
+ * @param elementRef Reference to html dom element
783
+ * @param cdRef Change Dectection Servie
784
+ */
785
+ constructor(formLayout, injector, elementRef, cdRef) {
786
+ super(formLayout, injector, elementRef, cdRef);
787
+ }
788
+ }
789
+ SacDateTimeComponent.decorators = [
790
+ { type: Component, args: [{
791
+ selector: 'sac-datetime',
792
+ template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <div\n style=\"position: relative\"\n [style.width.px]=\"componentHeight === ControlHeight.Small ? 160 : componentHeight === ControlHeight.Large ? 230 : 180\">\n <div\n class=\"datetime-textbox input-group\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n class=\"form-control date-control\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [imask]=\"imaskDate\"\n [attr.placeholder]=\"placeholder\"\n [value]=\"valuestring\"\n (blur)=\"onTouch()\"\n (accept)=\"setValueString($event)\"\n [disabled]=\"isdisabled\"\n (click)=\"showDateSelector()\" />\n <span class=\"input-group-btn\">\n <button\n #pickerbutton\n class=\"btn btn-default\"\n type=\"button\"\n (click)=\"showDateSelector()\"\n [disabled]=\"isdisabled\">\n <i [class]=\"IconSelector\"></i>\n </button>\n </span>\n </div>\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n\n <div\n #picker\n *ngIf=\"_showselector\">\n <div\n class=\"popover in\"\n role=\"tooltip\"\n style=\"display: block; max-width: unset; margin: 0\"\n [class.bottom]=\"GetPickerPosition() == TooltipPosition.bottom || GetPickerPosition() == TooltipPosition.bottomend\"\n [class.top]=\"GetPickerPosition() == TooltipPosition.top || GetPickerPosition() == TooltipPosition.topend\"\n [style.left.px]=\"posPopupLeft\"\n [style.top.px]=\"posPopupTop\">\n <div\n #pickerarrow\n style=\"margin: 0\"\n class=\"arrow\"\n [style.top.px]=\"posArrowTop\"\n [style.left.px]=\"posArrowLeft\">\n </div>\n\n <div class=\"popover-content\">\n <sac-dateselector\n *ngIf=\"_showselector\"\n [initialvalue]=\"value\"\n (selectdate)=\"dateselect($event)\"\n dateselection=\"true\"\n timeselection=\"true\"></sac-dateselector>\n </div>\n </div>\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n",
793
+ // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
794
+ providers: [
795
+ {
796
+ provide: NG_VALUE_ACCESSOR,
797
+ multi: true,
798
+ useExisting: forwardRef(() => SacDateTimeComponent),
799
+ },
800
+ {
801
+ provide: NG_VALIDATORS,
802
+ multi: true,
803
+ useExisting: forwardRef(() => SacDateTimeComponent),
804
+ },
805
+ ]
806
+ },] }
807
+ ];
808
+ SacDateTimeComponent.ctorParameters = () => [
809
+ { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
810
+ { type: Injector },
811
+ { type: ElementRef },
812
+ { type: ChangeDetectorRef }
813
+ ];
814
+
815
+ class SacTimeComponent extends SacTimeCommon {
816
+ // #region Constructors
817
+ /**
818
+ * Constructor
819
+ * @param formLayout SacFormLayout to define scoped layout settings
820
+ * @param injector Injector for injecting services
821
+ * @param elementRef Reference to html dom element
822
+ * @param cdRef Change Dectection Servie
823
+ */
824
+ constructor(formLayout, injector, elementRef, cdRef) {
825
+ super(formLayout, injector, elementRef, cdRef);
826
+ }
827
+ }
828
+ SacTimeComponent.decorators = [
829
+ { type: Component, args: [{
830
+ selector: 'sac-time',
831
+ template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <div\n style=\"position: relative\"\n [style.width.px]=\"componentHeight === ControlHeight.Small ? 120 : componentHeight === ControlHeight.Large ? 160 : 140\">\n <div\n class=\"datetime-textbox input-group\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n class=\"form-control time-control\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [imask]=\"imaskDate\"\n [attr.placeholder]=\"placeholder\"\n [value]=\"valuestring\"\n (blur)=\"onTouch()\"\n (accept)=\"setValueString($event)\"\n [disabled]=\"isdisabled\"\n (click)=\"showTimeSelector()\"\n maxlength=\"6\"\n size=\"6\" />\n <span class=\"input-group-btn\">\n <button\n #pickerbutton\n class=\"btn btn-default\"\n type=\"button\"\n (click)=\"showTimeSelector()\"\n [disabled]=\"isdisabled\">\n <i [class]=\"IconSelector\"></i>\n </button>\n </span>\n </div>\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n\n <div\n #picker\n *ngIf=\"_showselector\">\n <div\n class=\"popover in\"\n role=\"tooltip\"\n style=\"display: block; max-width: unset; margin: 0\"\n [class.bottom]=\"GetPickerPosition() == TooltipPosition.bottom || GetPickerPosition() == TooltipPosition.bottomend\"\n [class.top]=\"GetPickerPosition() == TooltipPosition.top || GetPickerPosition() == TooltipPosition.topend\"\n [style.left.px]=\"posPopupLeft\"\n [style.top.px]=\"posPopupTop\">\n <div\n #pickerarrow\n style=\"margin: 0\"\n class=\"arrow\"\n [style.top.px]=\"posArrowTop\"\n [style.left.px]=\"posArrowLeft\">\n </div>\n\n <div class=\"popover-content\">\n <sac-dateselector\n *ngIf=\"_showselector\"\n [initialvalue]=\"value\"\n (selectdate)=\"timeselect($event)\"\n timeselection=\"true\"></sac-dateselector>\n </div>\n </div>\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n",
832
+ // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
833
+ providers: [
834
+ {
835
+ provide: NG_VALUE_ACCESSOR,
836
+ multi: true,
837
+ useExisting: forwardRef(() => SacTimeComponent),
838
+ },
839
+ {
840
+ provide: NG_VALIDATORS,
841
+ multi: true,
842
+ useExisting: forwardRef(() => SacTimeComponent),
843
+ },
844
+ ]
845
+ },] }
846
+ ];
847
+ SacTimeComponent.ctorParameters = () => [
848
+ { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
849
+ { type: Injector },
850
+ { type: ElementRef },
851
+ { type: ChangeDetectorRef }
852
+ ];
853
+
854
+ class SACBootstrap3DateTimeModule {
855
+ }
856
+ SACBootstrap3DateTimeModule.decorators = [
857
+ { type: NgModule, args: [{
858
+ declarations: [
859
+ SacDateComponent,
860
+ SacDateTimeComponent,
861
+ SacTimeComponent,
862
+ SacDateSelectorComponent,
863
+ ],
864
+ imports: [
865
+ CommonModule,
866
+ IMaskModule,
867
+ SACBootstrap3LayoutModule,
868
+ SACBootstrap3TooltipModule,
869
+ ],
870
+ exports: [
871
+ SacDateComponent,
872
+ SacDateTimeComponent,
873
+ SacTimeComponent,
874
+ SacDateSelectorComponent,
875
+ ],
876
+ },] }
877
+ ];
878
+
879
+ class SacGridComponent extends SacGridCommon {
880
+ constructor() {
881
+ super(...arguments);
882
+ this.ellipsis = false;
883
+ }
884
+ }
885
+ SacGridComponent.decorators = [
886
+ { type: Component, args: [{
887
+ selector: 'sac-grid',
888
+ template: "<table class=\"table table-striped table-condensed table-hover\" id=\"{{name}}\">\n <thead>\n <tr>\n <ng-container\n *ngTemplateOutlet=\"template; context { row: {}, type: 'header'}\"\n >\n </ng-container>\n </tr>\n </thead>\n <tbody>\n <ng-container *ngFor=\"let item of value; let i=index\">\n <tr>\n <ng-container\n *ngTemplateOutlet=\"template; context { row: item, type: 'body'}\"\n >\n </ng-container>\n </tr>\n </ng-container>\n <tr\n *ngIf=\"value === undefined || value === null || value.length === 0\"\n data-e2e=\"emptyrow\"\n >\n <td [attr.colspan]=\"ColumnCount\">{{emptytext}}</td>\n </tr>\n </tbody>\n <tfoot *ngIf=\"pagerdata\">\n <tr>\n <td [attr.colspan]=\"ColumnCount\">\n <div class=\"container-fluid\">\n <sac-paging\n name=\"{{name}}Paging\"\n (paging)=\"pageChange($event)\"\n [pagerdata]=\"pagerdata\"\n [pagingtext]=\"pagingtext\"\n [pagesizetext]=\"pagesizetext\"\n ></sac-paging>\n </div>\n </td>\n </tr>\n </tfoot>\n</table>\n",
889
+ // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
890
+ providers: [
891
+ { provide: NG_VALUE_ACCESSOR, multi: true, useExisting: SacGridComponent },
892
+ { provide: NG_VALIDATORS, multi: true, useExisting: forwardRef(() => SacGridComponent) }
893
+ ]
894
+ },] }
895
+ ];
896
+ SacGridComponent.propDecorators = {
897
+ template: [{ type: ContentChild, args: [TemplateRef, { static: true },] }]
898
898
  };
899
899
 
900
- /**
901
- * Grid Action Button
902
- */
903
- class SacGridButtonComponent extends SacGridButtonCommon {
904
- // #region Public Methods
905
- /**
906
- * Returns the icon for the button
907
- */
908
- getIconClass() {
909
- let iconset = this.iconstyle;
910
- let iconcss = this.icon;
911
- if (iconset === '') {
912
- switch (this.icon) {
913
- case 'edit':
914
- iconset = 'sprite';
915
- iconcss = 'icon-sprite-base-main_edit';
916
- break;
917
- case 'delete':
918
- iconset = 'sprite';
919
- iconcss = 'icon-sprite-base-main_delete';
920
- break;
921
- }
922
- }
923
- if (this._isdisabledvalue) {
924
- iconcss += '_disabled';
925
- }
926
- const result = iconset + ' ' + iconcss;
927
- return result.trim();
928
- }
929
- }
930
- SacGridButtonComponent.decorators = [
931
- { type: Component, args: [{
932
- selector: 'sac-gridbutton',
933
- template: "<a (click)=\"callaction()\" style=\"padding-right: 5px;\" [class.disabled]=\"isdisabled\" [attr.disabled]=\"isdisabled ? 'disabled' : null\"><span class=\"{{getIconClass()}}\"></span></a>\r\n"
934
- },] }
935
- ];
936
-
937
- class SacGridColumnComponent extends SacGridColumnCommon {
938
- constructor(grid, injector, el) {
939
- super(grid, injector, el);
940
- }
941
- }
942
- SacGridColumnComponent.decorators = [
943
- { type: Component, args: [{
944
- selector: 'sac-gridcolumn',
945
- template: "<th\r\n scope=\"col\"\r\n *ngIf=\"IsHeader()\"\r\n [style.width]=\"width\"\r\n (click)=\"SortByColumn()\">\r\n <span>{{ header }}</span>\r\n <span\r\n [class]=\"IconSortUp\"\r\n style=\"padding-left: 0.5rem\"\r\n *ngIf=\"IsSortedColumn() && GetSortDirection() === 'asc'\"></span>\r\n <span\r\n [class]=\"IconSortDown\"\r\n style=\"padding-left: 0.5rem\"\r\n *ngIf=\"IsSortedColumn() && GetSortDirection() === 'desc'\"></span>\r\n</th>\r\n<td\r\n scope=\"col\"\r\n *ngIf=\"IsBody()\"\r\n [style.width]=\"width\"\r\n [class.ellipsis]=\"IsEllipsis()\"\r\n (click)=\"ColumnClick()\"\r\n [style.max-width]=\"IsEllipsis() ? width : null\"\r\n [style.overflow]=\"IsEllipsis() ? 'hidden' : null\"\r\n [style.text-overflow]=\"IsEllipsis() ? 'ellipsis' : null\"\r\n [style.white-space]=\"IsEllipsis() ? 'nowrap' : null\">\r\n <span\r\n [attr.title]=\"IsEllipsis() ? value : null\"\r\n [innerHtml]=\"value\"></span>\r\n</td>\r\n",
946
- providers: [
947
- {
948
- provide: SacGridColumnBaseCommon,
949
- useExisting: forwardRef(() => SacGridColumnComponent),
950
- },
951
- ]
952
- },] }
953
- ];
954
- SacGridColumnComponent.ctorParameters = () => [
955
- { type: SacGridComponent },
956
- { type: Injector },
957
- { type: ElementRef }
958
- ];
959
-
960
- class SacGridColumnActionComponent extends SacGridColumnActionCommon {
961
- constructor(grid, injector, el) {
962
- super(grid, injector, el);
963
- this.width = '52px';
964
- }
965
- }
966
- SacGridColumnActionComponent.decorators = [
967
- { type: Component, args: [{
968
- selector: 'sac-gridcolumnaction',
969
- template: "<th scope=\"col\" *ngIf=\"IsHeader()\" [style.width]=\"width\"><span></span></th>\r\n<td scope=\"col\" *ngIf=\"IsBody()\">\r\n <ng-content></ng-content>\r\n</td>\r\n",
970
- providers: [
971
- {
972
- provide: SacGridColumnBaseCommon,
973
- useExisting: forwardRef(() => SacGridColumnActionComponent),
974
- },
975
- ]
976
- },] }
977
- ];
978
- SacGridColumnActionComponent.ctorParameters = () => [
979
- { type: SacGridComponent },
980
- { type: Injector },
981
- { type: ElementRef }
982
- ];
983
-
984
- class SacGridImageComponent extends SacGridImageCommon {
985
- getIconClass() {
986
- switch (this.iconstyle) {
987
- case 'edit':
988
- return 'sprite icon-sprite-base-main_edit';
989
- case 'delete':
990
- return 'sprite icon-sprite-base-main_delete';
991
- default:
992
- return this.iconstyle;
993
- }
994
- }
995
- }
996
- SacGridImageComponent.decorators = [
997
- { type: Component, args: [{
998
- selector: 'sac-gridimage',
999
- template: "<span style=\"padding-right: 5px;\"><span class=\"{{getIconClass()}}\"></span></span>\r\n"
1000
- },] }
1001
- ];
1002
-
1003
- class SacPagingComponent extends SacPagingCommon {
1004
- /**
1005
- * Konstruktor
1006
- */
1007
- constructor(injector) { super(injector); }
1008
- }
1009
- SacPagingComponent.decorators = [
1010
- { type: Component, args: [{
1011
- selector: 'sac-paging',
1012
- template: "<div class=\"row\">\r\n <div class=\"pager-nav col-sm-4\" id=\"{{name}}\">\r\n <ul class=\"pagination\" style=\"margin: 10px 0\">\r\n <li\r\n [ngClass]=\"{'aspNetDisabled disabled': activePageIndex === firstPageIndex}\"\r\n >\r\n <a (click)=\"firstPage()\">\u00AB</a>\r\n </li>\r\n <li\r\n *ngFor=\"let page of paginators; let i = index\"\r\n [ngClass]=\"{'active': page === activePageIndex}\"\r\n >\r\n <a (click)=\"changePage(page)\">{{page + 1 }}</a>\r\n </li>\r\n <li\r\n [ngClass]=\"{'aspNetDisabled disabled': activePageIndex === lastPageIndex}\"\r\n >\r\n <a (click)=\"lastPage()\">\u00BB</a>\r\n </li>\r\n </ul>\r\n </div>\r\n <div class=\"col-sm-4 text-center\" style=\"margin: 20px 0\">\r\n Seite {{getCurrentPageNumber()}} von {{getTotalPageNumber()}}\r\n </div>\r\n <div\r\n class=\"col-sm-4 text-right\"\r\n *ngIf=\"!pagesizedisabled\"\r\n style=\"margin: 12px 0\"\r\n >\r\n <div class=\"form-inline\">\r\n <div class=\"form-group\" id=\"{{name}}_size\">\r\n <select\r\n class=\"form-control form-control-sm\"\r\n style=\"width: 85px\"\r\n [ngModel]=\"pageSize\"\r\n (ngModelChange)=\"changePageSize($event)\"\r\n >\r\n <option [ngValue]=\"size\" *ngFor=\"let size of getPageSizes\">\r\n {{size}}\r\n </option>\r\n </select>\r\n <span style=\"margin-left: 5px\">{{ PageSizeText | async }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n",
1013
- // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
1014
- providers: [
1015
- { provide: NG_VALUE_ACCESSOR, multi: true, useExisting: SacPagingComponent },
1016
- { provide: NG_VALIDATORS, multi: true, useExisting: forwardRef(() => SacPagingComponent) }
1017
- ]
1018
- },] }
1019
- ];
1020
- SacPagingComponent.ctorParameters = () => [
1021
- { type: Injector }
1022
- ];
1023
-
1024
- class SACBootstrap3GridModule {
1025
- }
1026
- SACBootstrap3GridModule.decorators = [
1027
- { type: NgModule, args: [{
1028
- declarations: [
1029
- SacGridComponent,
1030
- SacGridColumnComponent,
1031
- SacGridColumnActionComponent,
1032
- SacPagingComponent,
1033
- SacGridButtonComponent,
1034
- SacGridImageComponent,
1035
- ],
1036
- imports: [CommonModule, FormsModule],
1037
- exports: [
1038
- SacGridComponent,
1039
- SacGridColumnComponent,
1040
- SacGridColumnActionComponent,
1041
- SacPagingComponent,
1042
- SacGridButtonComponent,
1043
- SacGridImageComponent,
1044
- ],
1045
- },] }
1046
- ];
1047
-
1048
- class SacInputComponent extends SacInputCommon {
1049
- // #region Constructors
1050
- /**
1051
- * Constructor
1052
- * @param formLayout SacFormLayout to define scoped layout settings
1053
- * @param injector Injector for injecting services
1054
- */
1055
- constructor(formLayout, injector) {
1056
- super(formLayout, injector);
1057
- }
1058
- }
1059
- SacInputComponent.decorators = [
1060
- { type: Component, args: [{
1061
- selector: 'sac-input',
1062
- template: "<div\r\n class=\"row form-group\"\r\n [class.has-error]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"componentHeight | toLabelHeight\">\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{ name }}label\"\r\n for=\"{{ name }}\"\r\n class=\"col-xs-12 control-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\r\n [class.required]=\"isrequired\">\r\n <span class=\"text\">{{ label }}</span>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [class]=\"HelptextTooltipIcon\"\r\n style=\"margin-left: 5px\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-xs-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\r\n <div [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\r\n <input\r\n id=\"{{ name }}\"\r\n name=\"{{ name }}\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\"\r\n [value]=\"value\"\r\n [attr.placeholder]=\"placeholder\"\r\n (blur)=\"onTouch()\"\r\n (input)=\"setValue($event.target.value)\"\r\n [attr.maxlength]=\"maxlength\"\r\n [disabled]=\"isdisabled\"\r\n [readonly]=\"readonly\" />\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-static\"\r\n style=\"margin-left: 5px\">\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [class]=\"HelptextTooltipIcon\"\r\n style=\"margin-left: 5px; margin-right: 5px\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n\r\n <p\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"help-block\">\r\n {{ helptext }}\r\n </p>\r\n\r\n <div\r\n class=\"help-block help-block-error\"\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n</div>\r\n",
1063
- // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
1064
- providers: [
1065
- { provide: NG_VALUE_ACCESSOR, multi: true, useExisting: SacInputComponent },
1066
- {
1067
- provide: NG_VALIDATORS,
1068
- multi: true,
1069
- useExisting: forwardRef(() => SacInputComponent),
1070
- },
1071
- ]
1072
- },] }
1073
- ];
1074
- SacInputComponent.ctorParameters = () => [
1075
- { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
1076
- { type: Injector }
1077
- ];
1078
-
1079
- /**
1080
- * Komponente für TextArea
1081
- *
1082
- * @example
1083
- *
1084
- * <ngInputArea name="ngInputArea" label="My Label" placeholder='i am input area' [isrequired]="true" customCssClass="myClass1 myClass3"></ngInputArea>
1085
- *
1086
- * @example
1087
- *
1088
- * <ngInputArea name="ngInputArea" label="My Label" height="150px" placeholder='i am input area' [islanguagespecific]="true">
1089
- *
1090
- */
1091
- class SacInputAreaComponent extends SacInputAreaCommon {
1092
- // #region Constructors
1093
- /**
1094
- * Constructor
1095
- * @param formLayout SacFormLayout to define scoped layout settings
1096
- * @param injector Injector for injecting services
1097
- */
1098
- constructor(formLayout, injector) {
1099
- super(formLayout, injector);
1100
- }
1101
- }
1102
- SacInputAreaComponent.decorators = [
1103
- { type: Component, args: [{
1104
- selector: 'sac-inputarea',
1105
- template: "<div\r\n class=\"row form-group\"\r\n [class.has-error]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"componentHeight | toLabelHeight\">\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{ name }}label\"\r\n for=\"{{ name }}\"\r\n class=\"col-xs-12 control-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\r\n [class.required]=\"isrequired\">\r\n <span class=\"text\">{{ label }}</span>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [class]=\"HelptextTooltipIcon\"\r\n style=\"margin-left: 5px\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-xs-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\r\n <div [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\r\n <textarea\r\n id=\"{{ name }}\"\r\n name=\"{{ name }}\"\r\n type=\"\"\r\n class=\"form-control\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n [class.validation-error]=\"invalid && (dirty || touched)\"\r\n [class.required]=\"isrequired\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\"\r\n [value]=\"value\"\r\n [attr.placeholder]=\"placeholder\"\r\n (blur)=\"onTouch()\"\r\n (input)=\"setValue($event.target.value)\"\r\n (keypress)=\"onKeyPress($event)\"\r\n [attr.rows]=\"rows\"\r\n [disabled]=\"isdisabled\"\r\n [readonly]=\"readonly\">\r\n </textarea>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-static\"\r\n style=\"margin-left: 5px\">\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [class]=\"HelptextTooltipIcon\"\r\n style=\"margin-left: 5px; margin-right: 5px\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n\r\n <p\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"help-block\">\r\n {{ helptext }}\r\n </p>\r\n\r\n <div\r\n class=\"help-block help-block-error\"\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n</div>\r\n",
1106
- // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
1107
- providers: [
1108
- {
1109
- provide: NG_VALUE_ACCESSOR,
1110
- multi: true,
1111
- useExisting: SacInputAreaComponent,
1112
- },
1113
- {
1114
- provide: NG_VALIDATORS,
1115
- multi: true,
1116
- useExisting: forwardRef(() => SacInputAreaComponent),
1117
- },
1118
- ]
1119
- },] }
1120
- ];
1121
- SacInputAreaComponent.ctorParameters = () => [
1122
- { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
1123
- { type: Injector }
1124
- ];
1125
-
1126
- class SacInputCurrencyComponent extends SacInputCurrencyCommon {
1127
- // #region Constructors
1128
- /**
1129
- * Constructor
1130
- * @param formLayout SacFormLayout to define scoped layout settings
1131
- * @param injector Injector for injecting services
1132
- */
1133
- constructor(formLayout, injector) {
1134
- super(formLayout, injector);
1135
- }
1136
- }
1137
- SacInputCurrencyComponent.decorators = [
1138
- { type: Component, args: [{
1139
- selector: 'sac-inputcurrency',
1140
- template: "<div\r\n class=\"row form-group\"\r\n [class.has-error]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"componentHeight | toLabelHeight\">\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{ name }}label\"\r\n for=\"{{ name }}\"\r\n class=\"col-xs-12 control-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\r\n [class.required]=\"isrequired\">\r\n <span class=\"text\">{{ label }}</span>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [class]=\"HelptextTooltipIcon\"\r\n style=\"margin-left: 5px\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-xs-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [class.clearfix]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-static pull-right\"\r\n style=\"margin-left: 5px\">\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [class]=\"HelptextTooltipIcon\"\r\n style=\"margin-left: 5px; margin-right: 5px\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n\r\n <div\r\n class=\"input-group\"\r\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\r\n <input\r\n id=\"{{ name }}\"\r\n name=\"{{ name }}\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\"\r\n [value]=\"value\"\r\n [attr.placeholder]=\"placeholder\"\r\n (blur)=\"onTouch()\"\r\n (input)=\"setValue($event.target.value)\"\r\n (keypress)=\"onKeyPress($event)\"\r\n [disabled]=\"isdisabled\"\r\n [readonly]=\"readonly\" />\r\n <div class=\"input-group-addon\">{{ currency }}</div>\r\n </div>\r\n\r\n <p\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"help-block\">\r\n {{ helptext }}\r\n </p>\r\n\r\n <div\r\n class=\"help-block help-block-error\"\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n</div>\r\n",
1141
- // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
1142
- providers: [
1143
- {
1144
- provide: NG_VALUE_ACCESSOR,
1145
- multi: true,
1146
- useExisting: SacInputCurrencyComponent,
1147
- },
1148
- {
1149
- provide: NG_VALIDATORS,
1150
- multi: true,
1151
- useExisting: forwardRef(() => SacInputCurrencyComponent),
1152
- },
1153
- ]
1154
- },] }
1155
- ];
1156
- SacInputCurrencyComponent.ctorParameters = () => [
1157
- { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
1158
- { type: Injector }
1159
- ];
1160
-
1161
- class SacInputDecimalComponent extends SacInputDecimalCommon {
1162
- // #region Constructors
1163
- /**
1164
- * Constructor
1165
- * @param formLayout SacFormLayout to define scoped layout settings
1166
- * @param injector Injector for injecting services
1167
- */
1168
- constructor(formLayout, injector) {
1169
- super(formLayout, injector);
1170
- }
1171
- }
1172
- SacInputDecimalComponent.decorators = [
1173
- { type: Component, args: [{
1174
- selector: 'sac-inputdecimal',
1175
- template: "<div\r\n class=\"row form-group\"\r\n [class.has-error]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"componentHeight | toLabelHeight\">\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{ name }}label\"\r\n for=\"{{ name }}\"\r\n class=\"col-xs-12 control-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\r\n [class.required]=\"isrequired\">\r\n <span class=\"text\">{{ label }}</span>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [class]=\"HelptextTooltipIcon\"\r\n style=\"margin-left: 5px\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-xs-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\r\n <div [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\r\n <input\r\n id=\"{{ name }}\"\r\n name=\"{{ name }}\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\"\r\n [value]=\"value\"\r\n [attr.placeholder]=\"placeholder\"\r\n (blur)=\"onTouch()\"\r\n (input)=\"setValue($event.target.value)\"\r\n (keypress)=\"onKeyPress($event)\"\r\n [disabled]=\"isdisabled\"\r\n [readonly]=\"readonly\" />\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-static\"\r\n style=\"margin-left: 5px\">\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [class]=\"HelptextTooltipIcon\"\r\n style=\"margin-left: 5px; margin-right: 5px\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n\r\n <p\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"help-block\">\r\n {{ helptext }}\r\n </p>\r\n\r\n <div\r\n class=\"help-block help-block-error\"\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n</div>\r\n",
1176
- // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
1177
- providers: [
1178
- {
1179
- provide: NG_VALUE_ACCESSOR,
1180
- multi: true,
1181
- useExisting: SacInputDecimalComponent,
1182
- },
1183
- {
1184
- provide: NG_VALIDATORS,
1185
- multi: true,
1186
- useExisting: forwardRef(() => SacInputDecimalComponent),
1187
- },
1188
- ]
1189
- },] }
1190
- ];
1191
- SacInputDecimalComponent.ctorParameters = () => [
1192
- { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
1193
- { type: Injector }
1194
- ];
1195
-
1196
- class SacInputEmailComponent extends SacInputEmailCommon {
1197
- // #region Constructors
1198
- /**
1199
- * Constructor
1200
- * @param formLayout SacFormLayout to define scoped layout settings
1201
- * @param injector Injector for injecting services
1202
- */
1203
- constructor(formLayout, injector) {
1204
- super(formLayout, injector);
1205
- }
1206
- }
1207
- SacInputEmailComponent.decorators = [
1208
- { type: Component, args: [{
1209
- selector: 'sac-inputemail',
1210
- template: "<div\r\n class=\"row form-group\"\r\n [class.has-error]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"componentHeight | toLabelHeight\">\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{ name }}label\"\r\n for=\"{{ name }}\"\r\n class=\"col-xs-12 control-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\r\n [class.required]=\"isrequired\">\r\n <span class=\"text\">{{ label }}</span>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [class]=\"HelptextTooltipIcon\"\r\n style=\"margin-left: 5px\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-xs-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [class.clearfix]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-static pull-right\"\r\n style=\"margin-left: 5px\">\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [class]=\"HelptextTooltipIcon\"\r\n style=\"margin-left: 5px; margin-right: 5px\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n\r\n <div\r\n class=\"input-group\"\r\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\r\n <div class=\"input-group-addon\">@</div>\r\n <input\r\n id=\"{{ name }}\"\r\n name=\"{{ name }}\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\"\r\n [value]=\"value\"\r\n [attr.placeholder]=\"placeholder\"\r\n (blur)=\"onTouch()\"\r\n (input)=\"setValue($event.target.value)\"\r\n autocomplete=\"email\"\r\n [attr.maxlength]=\"maxlength\"\r\n [disabled]=\"isdisabled\"\r\n [readonly]=\"readonly\" />\r\n </div>\r\n\r\n <p\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"help-block\">\r\n {{ helptext }}\r\n </p>\r\n\r\n <div\r\n class=\"help-block help-block-error\"\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n</div>\r\n",
1211
- // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
1212
- providers: [
1213
- {
1214
- provide: NG_VALUE_ACCESSOR,
1215
- multi: true,
1216
- useExisting: SacInputEmailComponent,
1217
- },
1218
- {
1219
- provide: NG_VALIDATORS,
1220
- multi: true,
1221
- useExisting: forwardRef(() => SacInputEmailComponent),
1222
- },
1223
- ]
1224
- },] }
1225
- ];
1226
- SacInputEmailComponent.ctorParameters = () => [
1227
- { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
1228
- { type: Injector }
1229
- ];
1230
-
1231
- class SacInputIntegerComponent extends SacInputIntegerCommon {
1232
- // #region Constructors
1233
- /**
1234
- * Constructor
1235
- * @param formLayout SacFormLayout to define scoped layout settings
1236
- * @param injector Injector for injecting services
1237
- */
1238
- constructor(formLayout, injector) {
1239
- super(formLayout, injector);
1240
- }
1241
- }
1242
- SacInputIntegerComponent.decorators = [
1243
- { type: Component, args: [{
1244
- selector: 'sac-inputinteger',
1245
- template: "<div\r\n class=\"row form-group\"\r\n [class.has-error]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"componentHeight | toLabelHeight\">\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{ name }}label\"\r\n for=\"{{ name }}\"\r\n class=\"col-xs-12 control-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\r\n [class.required]=\"isrequired\">\r\n <span class=\"text\">{{ label }}</span>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [class]=\"HelptextTooltipIcon\"\r\n style=\"margin-left: 5px\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-xs-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\r\n <div [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\r\n <input\r\n id=\"{{ name }}\"\r\n name=\"{{ name }}\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\"\r\n [value]=\"value\"\r\n [attr.placeholder]=\"placeholder\"\r\n (blur)=\"onTouch()\"\r\n (input)=\"setValue($event.target.value)\"\r\n (keypress)=\"onKeyPress($event)\"\r\n [disabled]=\"isdisabled\"\r\n [readonly]=\"readonly\" />\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-static\"\r\n style=\"margin-left: 5px\">\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [class]=\"HelptextTooltipIcon\"\r\n style=\"margin-left: 5px; margin-right: 5px\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n\r\n <p\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"help-block\">\r\n {{ helptext }}\r\n </p>\r\n\r\n <div\r\n class=\"help-block help-block-error\"\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n</div>\r\n",
1246
- // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
1247
- providers: [
1248
- {
1249
- provide: NG_VALUE_ACCESSOR,
1250
- multi: true,
1251
- useExisting: SacInputIntegerComponent,
1252
- },
1253
- {
1254
- provide: NG_VALIDATORS,
1255
- multi: true,
1256
- useExisting: forwardRef(() => SacInputIntegerComponent),
1257
- },
1258
- ]
1259
- },] }
1260
- ];
1261
- SacInputIntegerComponent.ctorParameters = () => [
1262
- { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
1263
- { type: Injector }
1264
- ];
1265
-
1266
- class SacInputPasswordComponent extends SacInputPasswordCommon {
1267
- // #region Constructors
1268
- /**
1269
- * Constructor
1270
- * @param formLayout SacFormLayout to define scoped layout settings
1271
- * @param injector Injector for injecting services
1272
- */
1273
- constructor(formLayout, injector) {
1274
- super(formLayout, injector);
1275
- }
1276
- }
1277
- SacInputPasswordComponent.decorators = [
1278
- { type: Component, args: [{
1279
- selector: 'sac-inputpassword',
1280
- template: "<div\r\n class=\"row form-group\"\r\n [class.has-error]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"componentHeight | toLabelHeight\">\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{ name }}label\"\r\n for=\"{{ name }}\"\r\n class=\"col-xs-12 control-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\r\n [class.required]=\"isrequired\">\r\n <span class=\"text\">{{ label }}</span>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [class]=\"HelptextTooltipIcon\"\r\n style=\"margin-left: 5px\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-xs-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\r\n <div [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\r\n <input\r\n id=\"{{ name }}\"\r\n name=\"{{ name }}\"\r\n class=\"form-control\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\"\r\n type=\"password\"\r\n [value]=\"value\"\r\n [attr.placeholder]=\"placeholder\"\r\n (blur)=\"onTouch()\"\r\n (input)=\"setValue($event.target.value)\"\r\n [attr.maxlength]=\"maxlength\"\r\n autocomplete=\"new-password\"\r\n [disabled]=\"isdisabled\"\r\n [readonly]=\"readonly\" />\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-static\"\r\n style=\"margin-left: 5px\">\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [class]=\"HelptextTooltipIcon\"\r\n style=\"margin-left: 5px; margin-right: 5px\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n\r\n <p\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"help-block\">\r\n {{ helptext }}\r\n </p>\r\n\r\n <div\r\n class=\"help-block help-block-error\"\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n</div>\r\n",
1281
- // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
1282
- providers: [
1283
- {
1284
- provide: NG_VALUE_ACCESSOR,
1285
- multi: true,
1286
- useExisting: SacInputPasswordComponent,
1287
- },
1288
- {
1289
- provide: NG_VALIDATORS,
1290
- multi: true,
1291
- useExisting: forwardRef(() => SacInputPasswordComponent),
1292
- },
1293
- ]
1294
- },] }
1295
- ];
1296
- SacInputPasswordComponent.ctorParameters = () => [
1297
- { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
1298
- { type: Injector }
1299
- ];
1300
-
1301
- class SacInputSearchComponent extends SacInputSearchCommon {
1302
- // #region Constructors
1303
- /**
1304
- * Constructor
1305
- * @param formLayout SacFormLayout to define scoped layout settings
1306
- * @param injector Injector for injecting services
1307
- */
1308
- constructor(formLayout, injector) {
1309
- super(formLayout, injector);
1310
- }
1311
- }
1312
- SacInputSearchComponent.decorators = [
1313
- { type: Component, args: [{
1314
- selector: 'sac-inputsearch',
1315
- template: "<div\r\n class=\"row form-group\"\r\n [class.has-error]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"componentHeight | toLabelHeight\">\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{ name }}label\"\r\n for=\"{{ name }}\"\r\n class=\"col-xs-12 control-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\r\n [class.required]=\"isrequired\">\r\n <span class=\"text\">{{ label }}</span>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [class]=\"HelptextTooltipIcon\"\r\n style=\"margin-left: 5px\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-xs-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [class.clearfix]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-static pull-right\"\r\n style=\"margin-left: 5px\">\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [class]=\"HelptextTooltipIcon\"\r\n style=\"margin-left: 5px; margin-right: 5px\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n\r\n <div\r\n class=\"input-group\"\r\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\r\n <input\r\n id=\"{{ name }}\"\r\n name=\"{{ name }}\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\"\r\n [value]=\"value\"\r\n [attr.placeholder]=\"placeholder\"\r\n (blur)=\"onTouch()\"\r\n (input)=\"setValue($event.target.value)\"\r\n [attr.maxlength]=\"maxlength\"\r\n [disabled]=\"isdisabled\"\r\n [readonly]=\"readonly\" />\r\n <span class=\"input-group-btn\">\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-default\"\r\n id=\"{{ name }}_search\"\r\n (click)=\"searchClick()\">\r\n <i\r\n *ngIf=\"buttonmode === 'icon' || buttonmode === 'mixed'\"\r\n [class]=\"iconname\"\r\n [style.margin-right.px]=\"buttonmode === 'mixed' ? 7 : null\">\r\n </i>\r\n <ng-container *ngIf=\"buttonmode === 'text' || buttonmode === 'mixed'\">{{ buttontext }}</ng-container>\r\n </button>\r\n </span>\r\n </div>\r\n\r\n <p\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"help-block\">\r\n {{ helptext }}\r\n </p>\r\n </div>\r\n</div>\r\n",
1316
- // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
1317
- providers: [
1318
- {
1319
- provide: NG_VALUE_ACCESSOR,
1320
- multi: true,
1321
- useExisting: SacInputSearchComponent,
1322
- },
1323
- {
1324
- provide: NG_VALIDATORS,
1325
- multi: true,
1326
- useExisting: forwardRef(() => SacInputSearchComponent),
1327
- },
1328
- ]
1329
- },] }
1330
- ];
1331
- SacInputSearchComponent.ctorParameters = () => [
1332
- { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
1333
- { type: Injector }
1334
- ];
1335
-
1336
- class SACBootstrap3InputModule {
1337
- }
1338
- SACBootstrap3InputModule.decorators = [
1339
- { type: NgModule, args: [{
1340
- declarations: [
1341
- SacInputComponent,
1342
- SacInputAreaComponent,
1343
- SacInputCurrencyComponent,
1344
- SacInputDecimalComponent,
1345
- SacInputEmailComponent,
1346
- SacInputIntegerComponent,
1347
- SacInputPasswordComponent,
1348
- SacInputSearchComponent,
1349
- ],
1350
- imports: [
1351
- CommonModule,
1352
- CommonModule,
1353
- FormsModule,
1354
- SACBootstrap3TooltipModule,
1355
- SACBootstrap3LayoutModule,
1356
- ],
1357
- exports: [
1358
- SacInputComponent,
1359
- SacInputAreaComponent,
1360
- SacInputCurrencyComponent,
1361
- SacInputDecimalComponent,
1362
- SacInputEmailComponent,
1363
- SacInputIntegerComponent,
1364
- SacInputPasswordComponent,
1365
- SacInputSearchComponent,
1366
- ],
1367
- },] }
1368
- ];
1369
-
1370
- // #region Classes
1371
- class SacDropdownComponent extends SacDropdownCommon {
1372
- // #region Constructors
1373
- /**
1374
- * Constructor
1375
- * @param formLayout SacFormLayout to define scoped layout settings
1376
- * @param injector Injector for injecting services
1377
- * @param renderer Angular rendering engine
1378
- * @param elementRef Reference to html dom element
1379
- */
1380
- constructor(formLayout, injector, renderer, elementRef) {
1381
- super(formLayout, injector, renderer, elementRef);
1382
- }
1383
- }
1384
- SacDropdownComponent.decorators = [
1385
- { type: Component, args: [{
1386
- selector: 'sac-dropdown',
1387
- template: "<div\r\n class=\"row form-group\"\r\n [class.has-error]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"componentHeight | toLabelHeight\">\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{ name }}label\"\r\n for=\"{{ name }}\"\r\n class=\"col-xs-12 control-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\r\n [class.required]=\"isrequired\">\r\n <span class=\"text\">{{ label }}</span>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [class]=\"HelptextTooltipIcon\"\r\n style=\"margin-left: 5px\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-xs-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\r\n <div [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\r\n <select\r\n #dropdownitem\r\n id=\"{{ name }}\"\r\n name=\"{{ name }}\"\r\n class=\"form-control\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\"\r\n (blur)=\"onTouch()\"\r\n (change)=\"setValue(dropdownitem.value)\"\r\n [disabled]=\"isdisabled\">\r\n <option\r\n *ngIf=\"emptylabel !== ''\"\r\n [ngValue]=\"emptyvalue\">\r\n {{ emptylabel }}\r\n </option>\r\n\r\n <ng-content></ng-content>\r\n\r\n <ng-container *ngIf=\"groupitems === ''\">\r\n <option\r\n *ngFor=\"let item of options\"\r\n [ngValue]=\"optionvalue ? item[optionvalue] : item\"\r\n [disabled]=\"optionenabled !== '' && item[optionenabled] === false\">\r\n <ng-template *ngTemplateOutlet=\"optionlabeltemplate || defaultItemLabelTemplate; context: { label: item[optionlabel], item: item }\"> </ng-template>\r\n </option>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"groupitems !== ''\">\r\n <optgroup\r\n *ngFor=\"let group of options\"\r\n [attr.label]=\"group[grouplabel]\">\r\n <option\r\n *ngFor=\"let item of group[groupitems]\"\r\n [ngValue]=\"optionvalue ? item[optionvalue] : item\"\r\n [disabled]=\"optionenabled !== '' && item[optionenabled] === false\">\r\n <ng-template *ngTemplateOutlet=\"optionlabeltemplate || defaultItemLabelTemplate; context: { label: item[optionlabel], item: item }\"> </ng-template>\r\n </option>\r\n </optgroup>\r\n </ng-container>\r\n </select>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-static\"\r\n style=\"margin-left: 5px\">\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [class]=\"HelptextTooltipIcon\"\r\n style=\"margin-left: 5px; margin-right: 5px\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n\r\n <p\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"help-block\">\r\n {{ helptext }}\r\n </p>\r\n\r\n <div\r\n class=\"help-block help-block-error\"\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ng-template\r\n #defaultItemLabelTemplate\r\n let-label=\"label\">\r\n {{ label }}\r\n</ng-template>\r\n",
1388
- // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
1389
- providers: [
1390
- {
1391
- provide: NG_VALUE_ACCESSOR,
1392
- multi: true,
1393
- useExisting: SacDropdownComponent,
1394
- },
1395
- {
1396
- provide: NG_VALIDATORS,
1397
- multi: true,
1398
- useExisting: forwardRef(() => SacDropdownComponent),
1399
- },
1400
- ]
1401
- },] }
1402
- ];
1403
- SacDropdownComponent.ctorParameters = () => [
1404
- { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
1405
- { type: Injector },
1406
- { type: Renderer2 },
1407
- { type: ElementRef }
1408
- ];
1409
- class SacDropdownOptionDirective extends SacDropdownOptionCommon {
1410
- // #region Constructors
1411
- /**
1412
- * Konstruktor
1413
- * @param elementRef Referenz auf HTML DOM Element
1414
- * @param renderer Angular Rendering Engine
1415
- * @param dropdownList Referenz auf DropDown Komponente
1416
- */
1417
- constructor(elementRef, renderer, dropdownList) {
1418
- super(elementRef, renderer, dropdownList);
1419
- }
1420
- }
1421
- SacDropdownOptionDirective.decorators = [
1422
- { type: Directive, args: [{ selector: 'option,[sacOption]' },] }
1423
- ];
1424
- SacDropdownOptionDirective.ctorParameters = () => [
1425
- { type: ElementRef },
1426
- { type: Renderer2 },
1427
- { type: SacDropdownComponent, decorators: [{ type: Optional }, { type: Host }] }
1428
- ];
900
+ /**
901
+ * Grid Action Button
902
+ */
903
+ class SacGridButtonComponent extends SacGridButtonCommon {
904
+ // #region Public Methods
905
+ /**
906
+ * Returns the icon for the button
907
+ */
908
+ getIconClass() {
909
+ let iconset = this.iconstyle;
910
+ let iconcss = this.icon;
911
+ if (iconset === '') {
912
+ switch (this.icon) {
913
+ case 'edit':
914
+ iconset = 'sprite';
915
+ iconcss = 'icon-sprite-base-main_edit';
916
+ break;
917
+ case 'delete':
918
+ iconset = 'sprite';
919
+ iconcss = 'icon-sprite-base-main_delete';
920
+ break;
921
+ }
922
+ }
923
+ if (this._isdisabledvalue) {
924
+ iconcss += '_disabled';
925
+ }
926
+ const result = iconset + ' ' + iconcss;
927
+ return result.trim();
928
+ }
929
+ }
930
+ SacGridButtonComponent.decorators = [
931
+ { type: Component, args: [{
932
+ selector: 'sac-gridbutton',
933
+ template: "<a (click)=\"callaction()\" style=\"padding-right: 5px;\" [class.disabled]=\"isdisabled\" [attr.disabled]=\"isdisabled ? 'disabled' : null\"><span class=\"{{getIconClass()}}\"></span></a>\n"
934
+ },] }
935
+ ];
936
+
937
+ class SacGridColumnComponent extends SacGridColumnCommon {
938
+ constructor(grid, injector, el) {
939
+ super(grid, injector, el);
940
+ }
941
+ }
942
+ SacGridColumnComponent.decorators = [
943
+ { type: Component, args: [{
944
+ selector: 'sac-gridcolumn',
945
+ template: "<th\n scope=\"col\"\n *ngIf=\"IsHeader()\"\n [style.width]=\"width\"\n (click)=\"SortByColumn()\">\n <span>{{ header }}</span>\n <span\n [class]=\"IconSortUp\"\n style=\"padding-left: 0.5rem\"\n *ngIf=\"IsSortedColumn() && GetSortDirection() === 'asc'\"></span>\n <span\n [class]=\"IconSortDown\"\n style=\"padding-left: 0.5rem\"\n *ngIf=\"IsSortedColumn() && GetSortDirection() === 'desc'\"></span>\n</th>\n<td\n scope=\"col\"\n *ngIf=\"IsBody()\"\n [style.width]=\"width\"\n [class.ellipsis]=\"IsEllipsis()\"\n (click)=\"ColumnClick()\"\n [style.max-width]=\"IsEllipsis() ? width : null\"\n [style.overflow]=\"IsEllipsis() ? 'hidden' : null\"\n [style.text-overflow]=\"IsEllipsis() ? 'ellipsis' : null\"\n [style.white-space]=\"IsEllipsis() ? 'nowrap' : null\">\n <span\n [attr.title]=\"IsEllipsis() ? value : null\"\n [innerHtml]=\"value\"></span>\n</td>\n",
946
+ providers: [
947
+ {
948
+ provide: SacGridColumnBaseCommon,
949
+ useExisting: forwardRef(() => SacGridColumnComponent),
950
+ },
951
+ ]
952
+ },] }
953
+ ];
954
+ SacGridColumnComponent.ctorParameters = () => [
955
+ { type: SacGridComponent },
956
+ { type: Injector },
957
+ { type: ElementRef }
958
+ ];
959
+
960
+ class SacGridColumnActionComponent extends SacGridColumnActionCommon {
961
+ constructor(grid, injector, el) {
962
+ super(grid, injector, el);
963
+ this.width = '52px';
964
+ }
965
+ }
966
+ SacGridColumnActionComponent.decorators = [
967
+ { type: Component, args: [{
968
+ selector: 'sac-gridcolumnaction',
969
+ template: "<th scope=\"col\" *ngIf=\"IsHeader()\" [style.width]=\"width\"><span></span></th>\n<td scope=\"col\" *ngIf=\"IsBody()\">\n <ng-content></ng-content>\n</td>\n",
970
+ providers: [
971
+ {
972
+ provide: SacGridColumnBaseCommon,
973
+ useExisting: forwardRef(() => SacGridColumnActionComponent),
974
+ },
975
+ ]
976
+ },] }
977
+ ];
978
+ SacGridColumnActionComponent.ctorParameters = () => [
979
+ { type: SacGridComponent },
980
+ { type: Injector },
981
+ { type: ElementRef }
982
+ ];
983
+
984
+ class SacGridImageComponent extends SacGridImageCommon {
985
+ getIconClass() {
986
+ switch (this.iconstyle) {
987
+ case 'edit':
988
+ return 'sprite icon-sprite-base-main_edit';
989
+ case 'delete':
990
+ return 'sprite icon-sprite-base-main_delete';
991
+ default:
992
+ return this.iconstyle;
993
+ }
994
+ }
995
+ }
996
+ SacGridImageComponent.decorators = [
997
+ { type: Component, args: [{
998
+ selector: 'sac-gridimage',
999
+ template: "<span style=\"padding-right: 5px;\"><span class=\"{{getIconClass()}}\"></span></span>\n"
1000
+ },] }
1001
+ ];
1002
+
1003
+ class SacPagingComponent extends SacPagingCommon {
1004
+ /**
1005
+ * Konstruktor
1006
+ */
1007
+ constructor(injector) { super(injector); }
1008
+ }
1009
+ SacPagingComponent.decorators = [
1010
+ { type: Component, args: [{
1011
+ selector: 'sac-paging',
1012
+ template: "<div class=\"row\">\n <div class=\"pager-nav col-sm-4\" id=\"{{name}}\">\n <ul class=\"pagination\" style=\"margin: 10px 0\">\n <li\n [ngClass]=\"{'aspNetDisabled disabled': activePageIndex === firstPageIndex}\"\n >\n <a (click)=\"firstPage()\">\u00AB</a>\n </li>\n <li\n *ngFor=\"let page of paginators; let i = index\"\n [ngClass]=\"{'active': page === activePageIndex}\"\n >\n <a (click)=\"changePage(page)\">{{page + 1 }}</a>\n </li>\n <li\n [ngClass]=\"{'aspNetDisabled disabled': activePageIndex === lastPageIndex}\"\n >\n <a (click)=\"lastPage()\">\u00BB</a>\n </li>\n </ul>\n </div>\n <div class=\"col-sm-4 text-center\" style=\"margin: 20px 0\">\n Seite {{getCurrentPageNumber()}} von {{getTotalPageNumber()}}\n </div>\n <div\n class=\"col-sm-4 text-right\"\n *ngIf=\"!pagesizedisabled\"\n style=\"margin: 12px 0\"\n >\n <div class=\"form-inline\">\n <div class=\"form-group\" id=\"{{name}}_size\">\n <select\n class=\"form-control form-control-sm\"\n style=\"width: 85px\"\n [ngModel]=\"pageSize\"\n (ngModelChange)=\"changePageSize($event)\"\n >\n <option [ngValue]=\"size\" *ngFor=\"let size of getPageSizes\">\n {{size}}\n </option>\n </select>\n <span style=\"margin-left: 5px\">{{ PageSizeText | async }}</span>\n </div>\n </div>\n </div>\n</div>\n",
1013
+ // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
1014
+ providers: [
1015
+ { provide: NG_VALUE_ACCESSOR, multi: true, useExisting: SacPagingComponent },
1016
+ { provide: NG_VALIDATORS, multi: true, useExisting: forwardRef(() => SacPagingComponent) }
1017
+ ]
1018
+ },] }
1019
+ ];
1020
+ SacPagingComponent.ctorParameters = () => [
1021
+ { type: Injector }
1022
+ ];
1023
+
1024
+ class SACBootstrap3GridModule {
1025
+ }
1026
+ SACBootstrap3GridModule.decorators = [
1027
+ { type: NgModule, args: [{
1028
+ declarations: [
1029
+ SacGridComponent,
1030
+ SacGridColumnComponent,
1031
+ SacGridColumnActionComponent,
1032
+ SacPagingComponent,
1033
+ SacGridButtonComponent,
1034
+ SacGridImageComponent,
1035
+ ],
1036
+ imports: [CommonModule, FormsModule],
1037
+ exports: [
1038
+ SacGridComponent,
1039
+ SacGridColumnComponent,
1040
+ SacGridColumnActionComponent,
1041
+ SacPagingComponent,
1042
+ SacGridButtonComponent,
1043
+ SacGridImageComponent,
1044
+ ],
1045
+ },] }
1046
+ ];
1047
+
1048
+ class SacInputComponent extends SacInputCommon {
1049
+ // #region Constructors
1050
+ /**
1051
+ * Constructor
1052
+ * @param formLayout SacFormLayout to define scoped layout settings
1053
+ * @param injector Injector for injecting services
1054
+ */
1055
+ constructor(formLayout, injector) {
1056
+ super(formLayout, injector);
1057
+ }
1058
+ }
1059
+ SacInputComponent.decorators = [
1060
+ { type: Component, args: [{
1061
+ selector: 'sac-input',
1062
+ template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\n <div [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n class=\"form-control\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [value]=\"value\"\n [attr.placeholder]=\"placeholder\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n [attr.maxlength]=\"maxtextlength\"\n [disabled]=\"isdisabled\"\n [readonly]=\"readonly\" />\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n</div>\n",
1063
+ // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
1064
+ providers: [
1065
+ { provide: NG_VALUE_ACCESSOR, multi: true, useExisting: SacInputComponent },
1066
+ {
1067
+ provide: NG_VALIDATORS,
1068
+ multi: true,
1069
+ useExisting: forwardRef(() => SacInputComponent),
1070
+ },
1071
+ ]
1072
+ },] }
1073
+ ];
1074
+ SacInputComponent.ctorParameters = () => [
1075
+ { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
1076
+ { type: Injector }
1077
+ ];
1078
+
1079
+ /**
1080
+ * Komponente für TextArea
1081
+ *
1082
+ * @example
1083
+ *
1084
+ * <ngInputArea name="ngInputArea" label="My Label" placeholder='i am input area' [isrequired]="true" customCssClass="myClass1 myClass3"></ngInputArea>
1085
+ *
1086
+ * @example
1087
+ *
1088
+ * <ngInputArea name="ngInputArea" label="My Label" height="150px" placeholder='i am input area' [islanguagespecific]="true">
1089
+ *
1090
+ */
1091
+ class SacInputAreaComponent extends SacInputAreaCommon {
1092
+ // #region Constructors
1093
+ /**
1094
+ * Constructor
1095
+ * @param formLayout SacFormLayout to define scoped layout settings
1096
+ * @param injector Injector for injecting services
1097
+ */
1098
+ constructor(formLayout, injector) {
1099
+ super(formLayout, injector);
1100
+ }
1101
+ }
1102
+ SacInputAreaComponent.decorators = [
1103
+ { type: Component, args: [{
1104
+ selector: 'sac-inputarea',
1105
+ template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\n <div [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <textarea\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"\"\n class=\"form-control\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [class.validation-error]=\"invalid && (dirty || touched)\"\n [class.required]=\"isrequired\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [value]=\"value\"\n [attr.placeholder]=\"placeholder\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n (keypress)=\"onKeyPress($event)\"\n [attr.rows]=\"rows\"\n [disabled]=\"isdisabled\"\n [readonly]=\"readonly\">\n </textarea>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n</div>\n",
1106
+ // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
1107
+ providers: [
1108
+ {
1109
+ provide: NG_VALUE_ACCESSOR,
1110
+ multi: true,
1111
+ useExisting: SacInputAreaComponent,
1112
+ },
1113
+ {
1114
+ provide: NG_VALIDATORS,
1115
+ multi: true,
1116
+ useExisting: forwardRef(() => SacInputAreaComponent),
1117
+ },
1118
+ ]
1119
+ },] }
1120
+ ];
1121
+ SacInputAreaComponent.ctorParameters = () => [
1122
+ { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
1123
+ { type: Injector }
1124
+ ];
1125
+
1126
+ class SacInputCurrencyComponent extends SacInputCurrencyCommon {
1127
+ // #region Constructors
1128
+ /**
1129
+ * Constructor
1130
+ * @param formLayout SacFormLayout to define scoped layout settings
1131
+ * @param injector Injector for injecting services
1132
+ */
1133
+ constructor(formLayout, injector) {
1134
+ super(formLayout, injector);
1135
+ }
1136
+ }
1137
+ SacInputCurrencyComponent.decorators = [
1138
+ { type: Component, args: [{
1139
+ selector: 'sac-inputcurrency',
1140
+ template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.clearfix]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static pull-right\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n\n <div\n class=\"input-group\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n class=\"form-control\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [value]=\"value\"\n [attr.placeholder]=\"placeholder\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n (keypress)=\"onKeyPress($event)\"\n [disabled]=\"isdisabled\"\n [readonly]=\"readonly\" />\n <div class=\"input-group-addon\">{{ currency }}</div>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n</div>\n",
1141
+ // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
1142
+ providers: [
1143
+ {
1144
+ provide: NG_VALUE_ACCESSOR,
1145
+ multi: true,
1146
+ useExisting: SacInputCurrencyComponent,
1147
+ },
1148
+ {
1149
+ provide: NG_VALIDATORS,
1150
+ multi: true,
1151
+ useExisting: forwardRef(() => SacInputCurrencyComponent),
1152
+ },
1153
+ ]
1154
+ },] }
1155
+ ];
1156
+ SacInputCurrencyComponent.ctorParameters = () => [
1157
+ { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
1158
+ { type: Injector }
1159
+ ];
1160
+
1161
+ class SacInputDecimalComponent extends SacInputDecimalCommon {
1162
+ // #region Constructors
1163
+ /**
1164
+ * Constructor
1165
+ * @param formLayout SacFormLayout to define scoped layout settings
1166
+ * @param injector Injector for injecting services
1167
+ */
1168
+ constructor(formLayout, injector) {
1169
+ super(formLayout, injector);
1170
+ }
1171
+ }
1172
+ SacInputDecimalComponent.decorators = [
1173
+ { type: Component, args: [{
1174
+ selector: 'sac-inputdecimal',
1175
+ template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\n <div [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n class=\"form-control\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [value]=\"value\"\n [attr.placeholder]=\"placeholder\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n (keypress)=\"onKeyPress($event)\"\n [disabled]=\"isdisabled\"\n [readonly]=\"readonly\" />\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n</div>\n",
1176
+ // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
1177
+ providers: [
1178
+ {
1179
+ provide: NG_VALUE_ACCESSOR,
1180
+ multi: true,
1181
+ useExisting: SacInputDecimalComponent,
1182
+ },
1183
+ {
1184
+ provide: NG_VALIDATORS,
1185
+ multi: true,
1186
+ useExisting: forwardRef(() => SacInputDecimalComponent),
1187
+ },
1188
+ ]
1189
+ },] }
1190
+ ];
1191
+ SacInputDecimalComponent.ctorParameters = () => [
1192
+ { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
1193
+ { type: Injector }
1194
+ ];
1195
+
1196
+ class SacInputEmailComponent extends SacInputEmailCommon {
1197
+ // #region Constructors
1198
+ /**
1199
+ * Constructor
1200
+ * @param formLayout SacFormLayout to define scoped layout settings
1201
+ * @param injector Injector for injecting services
1202
+ */
1203
+ constructor(formLayout, injector) {
1204
+ super(formLayout, injector);
1205
+ }
1206
+ }
1207
+ SacInputEmailComponent.decorators = [
1208
+ { type: Component, args: [{
1209
+ selector: 'sac-inputemail',
1210
+ template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.clearfix]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static pull-right\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n\n <div\n class=\"input-group\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <div class=\"input-group-addon\">@</div>\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n class=\"form-control\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [value]=\"value\"\n [attr.placeholder]=\"placeholder\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n autocomplete=\"email\"\n [attr.maxlength]=\"maxtextlength\"\n [disabled]=\"isdisabled\"\n [readonly]=\"readonly\" />\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n</div>\n",
1211
+ // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
1212
+ providers: [
1213
+ {
1214
+ provide: NG_VALUE_ACCESSOR,
1215
+ multi: true,
1216
+ useExisting: SacInputEmailComponent,
1217
+ },
1218
+ {
1219
+ provide: NG_VALIDATORS,
1220
+ multi: true,
1221
+ useExisting: forwardRef(() => SacInputEmailComponent),
1222
+ },
1223
+ ]
1224
+ },] }
1225
+ ];
1226
+ SacInputEmailComponent.ctorParameters = () => [
1227
+ { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
1228
+ { type: Injector }
1229
+ ];
1230
+
1231
+ class SacInputIntegerComponent extends SacInputIntegerCommon {
1232
+ // #region Constructors
1233
+ /**
1234
+ * Constructor
1235
+ * @param formLayout SacFormLayout to define scoped layout settings
1236
+ * @param injector Injector for injecting services
1237
+ */
1238
+ constructor(formLayout, injector) {
1239
+ super(formLayout, injector);
1240
+ }
1241
+ }
1242
+ SacInputIntegerComponent.decorators = [
1243
+ { type: Component, args: [{
1244
+ selector: 'sac-inputinteger',
1245
+ template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\n <div [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n class=\"form-control\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [value]=\"value\"\n [attr.placeholder]=\"placeholder\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n (keypress)=\"onKeyPress($event)\"\n [disabled]=\"isdisabled\"\n [readonly]=\"readonly\" />\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n</div>\n",
1246
+ // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
1247
+ providers: [
1248
+ {
1249
+ provide: NG_VALUE_ACCESSOR,
1250
+ multi: true,
1251
+ useExisting: SacInputIntegerComponent,
1252
+ },
1253
+ {
1254
+ provide: NG_VALIDATORS,
1255
+ multi: true,
1256
+ useExisting: forwardRef(() => SacInputIntegerComponent),
1257
+ },
1258
+ ]
1259
+ },] }
1260
+ ];
1261
+ SacInputIntegerComponent.ctorParameters = () => [
1262
+ { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
1263
+ { type: Injector }
1264
+ ];
1265
+
1266
+ class SacInputPasswordComponent extends SacInputPasswordCommon {
1267
+ // #region Constructors
1268
+ /**
1269
+ * Constructor
1270
+ * @param formLayout SacFormLayout to define scoped layout settings
1271
+ * @param injector Injector for injecting services
1272
+ */
1273
+ constructor(formLayout, injector) {
1274
+ super(formLayout, injector);
1275
+ }
1276
+ }
1277
+ SacInputPasswordComponent.decorators = [
1278
+ { type: Component, args: [{
1279
+ selector: 'sac-inputpassword',
1280
+ template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\n <div [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n class=\"form-control\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n type=\"password\"\n [value]=\"value\"\n [attr.placeholder]=\"placeholder\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n [attr.maxlength]=\"maxtextlength\"\n autocomplete=\"new-password\"\n [disabled]=\"isdisabled\"\n [readonly]=\"readonly\" />\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n</div>\n",
1281
+ // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
1282
+ providers: [
1283
+ {
1284
+ provide: NG_VALUE_ACCESSOR,
1285
+ multi: true,
1286
+ useExisting: SacInputPasswordComponent,
1287
+ },
1288
+ {
1289
+ provide: NG_VALIDATORS,
1290
+ multi: true,
1291
+ useExisting: forwardRef(() => SacInputPasswordComponent),
1292
+ },
1293
+ ]
1294
+ },] }
1295
+ ];
1296
+ SacInputPasswordComponent.ctorParameters = () => [
1297
+ { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
1298
+ { type: Injector }
1299
+ ];
1300
+
1301
+ class SacInputSearchComponent extends SacInputSearchCommon {
1302
+ // #region Constructors
1303
+ /**
1304
+ * Constructor
1305
+ * @param formLayout SacFormLayout to define scoped layout settings
1306
+ * @param injector Injector for injecting services
1307
+ */
1308
+ constructor(formLayout, injector) {
1309
+ super(formLayout, injector);
1310
+ }
1311
+ }
1312
+ SacInputSearchComponent.decorators = [
1313
+ { type: Component, args: [{
1314
+ selector: 'sac-inputsearch',
1315
+ template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.clearfix]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static pull-right\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n\n <div\n class=\"input-group\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n class=\"form-control\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [value]=\"value\"\n [attr.placeholder]=\"placeholder\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n [attr.maxlength]=\"maxtextlength\"\n [disabled]=\"isdisabled\"\n [readonly]=\"readonly\" />\n <span class=\"input-group-btn\">\n <button\n type=\"button\"\n class=\"btn btn-default\"\n id=\"{{ name }}_search\"\n (click)=\"searchClick()\">\n <i\n *ngIf=\"buttonmode === 'icon' || buttonmode === 'mixed'\"\n [class]=\"iconname\"\n [style.margin-right.px]=\"buttonmode === 'mixed' ? 7 : null\">\n </i>\n <ng-container *ngIf=\"buttonmode === 'text' || buttonmode === 'mixed'\">{{ buttontext }}</ng-container>\n </button>\n </span>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n </div>\n</div>\n",
1316
+ // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
1317
+ providers: [
1318
+ {
1319
+ provide: NG_VALUE_ACCESSOR,
1320
+ multi: true,
1321
+ useExisting: SacInputSearchComponent,
1322
+ },
1323
+ {
1324
+ provide: NG_VALIDATORS,
1325
+ multi: true,
1326
+ useExisting: forwardRef(() => SacInputSearchComponent),
1327
+ },
1328
+ ]
1329
+ },] }
1330
+ ];
1331
+ SacInputSearchComponent.ctorParameters = () => [
1332
+ { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
1333
+ { type: Injector }
1334
+ ];
1335
+
1336
+ class SACBootstrap3InputModule {
1337
+ }
1338
+ SACBootstrap3InputModule.decorators = [
1339
+ { type: NgModule, args: [{
1340
+ declarations: [
1341
+ SacInputComponent,
1342
+ SacInputAreaComponent,
1343
+ SacInputCurrencyComponent,
1344
+ SacInputDecimalComponent,
1345
+ SacInputEmailComponent,
1346
+ SacInputIntegerComponent,
1347
+ SacInputPasswordComponent,
1348
+ SacInputSearchComponent,
1349
+ ],
1350
+ imports: [
1351
+ CommonModule,
1352
+ CommonModule,
1353
+ FormsModule,
1354
+ SACBootstrap3TooltipModule,
1355
+ SACBootstrap3LayoutModule,
1356
+ ],
1357
+ exports: [
1358
+ SacInputComponent,
1359
+ SacInputAreaComponent,
1360
+ SacInputCurrencyComponent,
1361
+ SacInputDecimalComponent,
1362
+ SacInputEmailComponent,
1363
+ SacInputIntegerComponent,
1364
+ SacInputPasswordComponent,
1365
+ SacInputSearchComponent,
1366
+ ],
1367
+ },] }
1368
+ ];
1369
+
1370
+ // #region Classes
1371
+ class SacDropdownComponent extends SacDropdownCommon {
1372
+ // #region Constructors
1373
+ /**
1374
+ * Constructor
1375
+ * @param formLayout SacFormLayout to define scoped layout settings
1376
+ * @param injector Injector for injecting services
1377
+ * @param renderer Angular rendering engine
1378
+ * @param elementRef Reference to html dom element
1379
+ */
1380
+ constructor(formLayout, injector, renderer, elementRef) {
1381
+ super(formLayout, injector, renderer, elementRef);
1382
+ }
1383
+ }
1384
+ SacDropdownComponent.decorators = [
1385
+ { type: Component, args: [{
1386
+ selector: 'sac-dropdown',
1387
+ template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\n <div [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <select\n #dropdownitem\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n class=\"form-control\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n (blur)=\"onTouch()\"\n (change)=\"setValue(dropdownitem.value)\"\n [disabled]=\"isdisabled\">\n <option\n *ngIf=\"emptylabel !== ''\"\n [ngValue]=\"emptyvalue\">\n {{ emptylabel }}\n </option>\n\n <ng-content></ng-content>\n\n <ng-container *ngIf=\"groupitems === ''\">\n <option\n *ngFor=\"let item of options\"\n [ngValue]=\"optionvalue ? item[optionvalue] : item\"\n [disabled]=\"optionenabled !== '' && item[optionenabled] === false\">\n <ng-template *ngTemplateOutlet=\"optionlabeltemplate || defaultItemLabelTemplate; context: { label: item[optionlabel], item: item }\"> </ng-template>\n </option>\n </ng-container>\n\n <ng-container *ngIf=\"groupitems !== ''\">\n <optgroup\n *ngFor=\"let group of options\"\n [attr.label]=\"group[grouplabel]\">\n <option\n *ngFor=\"let item of group[groupitems]\"\n [ngValue]=\"optionvalue ? item[optionvalue] : item\"\n [disabled]=\"optionenabled !== '' && item[optionenabled] === false\">\n <ng-template *ngTemplateOutlet=\"optionlabeltemplate || defaultItemLabelTemplate; context: { label: item[optionlabel], item: item }\"> </ng-template>\n </option>\n </optgroup>\n </ng-container>\n </select>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n</div>\n\n<ng-template\n #defaultItemLabelTemplate\n let-label=\"label\">\n {{ label }}\n</ng-template>\n",
1388
+ // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
1389
+ providers: [
1390
+ {
1391
+ provide: NG_VALUE_ACCESSOR,
1392
+ multi: true,
1393
+ useExisting: SacDropdownComponent,
1394
+ },
1395
+ {
1396
+ provide: NG_VALIDATORS,
1397
+ multi: true,
1398
+ useExisting: forwardRef(() => SacDropdownComponent),
1399
+ },
1400
+ ]
1401
+ },] }
1402
+ ];
1403
+ SacDropdownComponent.ctorParameters = () => [
1404
+ { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
1405
+ { type: Injector },
1406
+ { type: Renderer2 },
1407
+ { type: ElementRef }
1408
+ ];
1409
+ class SacDropdownOptionDirective extends SacDropdownOptionCommon {
1410
+ // #region Constructors
1411
+ /**
1412
+ * Konstruktor
1413
+ * @param elementRef Referenz auf HTML DOM Element
1414
+ * @param renderer Angular Rendering Engine
1415
+ * @param dropdownList Referenz auf DropDown Komponente
1416
+ */
1417
+ constructor(elementRef, renderer, dropdownList) {
1418
+ super(elementRef, renderer, dropdownList);
1419
+ }
1420
+ }
1421
+ SacDropdownOptionDirective.decorators = [
1422
+ { type: Directive, args: [{ selector: 'option,[sacOption]' },] }
1423
+ ];
1424
+ SacDropdownOptionDirective.ctorParameters = () => [
1425
+ { type: ElementRef },
1426
+ { type: Renderer2 },
1427
+ { type: SacDropdownComponent, decorators: [{ type: Optional }, { type: Host }] }
1428
+ ];
1429
1429
  // #endregion Classes
1430
1430
 
1431
- class SacListboxComponent extends SacListboxCommon {
1432
- // #region Constructors
1433
- /**
1434
- * Constructor
1435
- * @param formLayout SacFormLayout to define scoped layout settings
1436
- * @param injector Injector for injecting services
1437
- */
1438
- constructor(formLayout, injector) {
1439
- super(formLayout, injector);
1440
- }
1441
- }
1442
- SacListboxComponent.decorators = [
1443
- { type: Component, args: [{
1444
- selector: 'sac-listbox',
1445
- template: "<div\r\n class=\"row form-group\"\r\n [class.has-error]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"componentHeight | toLabelHeight\">\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{ name }}label\"\r\n for=\"{{ name }}\"\r\n class=\"col-xs-12 control-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\r\n [class.required]=\"isrequired\">\r\n <span class=\"text\">{{ label }}</span>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [class]=\"HelptextTooltipIcon\"\r\n style=\"margin-left: 5px\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-xs-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\r\n <div [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\r\n <select\r\n multiple\r\n id=\"{{ name }}\"\r\n name=\"{{ name }}\"\r\n class=\"form-control\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\"\r\n [size]=\"rowsize\"\r\n (blur)=\"onTouch()\"\r\n (change)=\"getSelectedItems($event.target)\"\r\n [disabled]=\"isdisabled\">\r\n <ng-content></ng-content>\r\n <ng-container *ngIf=\"groupitems === ''\">\r\n <option\r\n *ngFor=\"let option of options\"\r\n [value]=\"option[optionvalue]\"\r\n [disabled]=\"optionenabled !== '' && option[optionenabled] === false\">\r\n <ng-template *ngTemplateOutlet=\"optionlabeltemplate || defaultItemLabelTemplate; context: { label: option[optionlabel] }\"> </ng-template>\r\n </option>\r\n </ng-container>\r\n <ng-container *ngIf=\"groupitems !== ''\">\r\n <optgroup\r\n *ngFor=\"let option of options\"\r\n [attr.label]=\"option[grouplabel]\">\r\n <option\r\n *ngFor=\"let item of option[groupitems]\"\r\n [value]=\"item[optionvalue]\"\r\n [disabled]=\"optionenabled !== '' && item[optionenabled] === false\">\r\n <ng-template *ngTemplateOutlet=\"optionlabeltemplate || defaultItemLabelTemplate; context: { label: item[optionlabel] }\"> </ng-template>\r\n </option>\r\n </optgroup>\r\n </ng-container>\r\n </select>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-static\"\r\n style=\"margin-left: 5px\">\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [class]=\"HelptextTooltipIcon\"\r\n style=\"margin-left: 5px; margin-right: 5px\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n\r\n <p\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"help-block\">\r\n {{ helptext }}\r\n </p>\r\n\r\n <div\r\n class=\"help-block help-block-error\"\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ng-template\r\n #defaultItemLabelTemplate\r\n let-label=\"label\">\r\n {{ label }}\r\n</ng-template>\r\n",
1446
- // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
1447
- providers: [
1448
- {
1449
- provide: NG_VALUE_ACCESSOR,
1450
- multi: true,
1451
- useExisting: SacListboxComponent,
1452
- },
1453
- {
1454
- provide: NG_VALIDATORS,
1455
- multi: true,
1456
- useExisting: forwardRef(() => SacListboxComponent),
1457
- },
1458
- ]
1459
- },] }
1460
- ];
1461
- SacListboxComponent.ctorParameters = () => [
1462
- { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
1463
- { type: Injector }
1464
- ];
1465
-
1466
- class SACBootstrap3ListModule {
1467
- }
1468
- SACBootstrap3ListModule.decorators = [
1469
- { type: NgModule, args: [{
1470
- declarations: [
1471
- SacDropdownComponent,
1472
- SacDropdownOptionDirective,
1473
- SacListboxComponent,
1474
- ],
1475
- imports: [
1476
- CommonModule,
1477
- SACCommonListboxOptionModule,
1478
- SACBootstrap3TooltipModule,
1479
- FormsModule,
1480
- SACBootstrap3LayoutModule,
1481
- ],
1482
- exports: [
1483
- SacDropdownComponent,
1484
- SacDropdownOptionDirective,
1485
- SacListboxComponent,
1486
- ],
1487
- },] }
1488
- ];
1489
-
1490
- /**
1491
- * Component für einbindung eines beliebigen Controls in die Form Struktur
1492
- *
1493
- * @example
1494
- * <ngStaticFormContainer name='myformcontainer' label="My Custom Form Control" [isrequired]='false'>
1495
- * <input type="range" class="form-control" />
1496
- * </ngStaticFormContainer>
1497
- *
1498
- * @example
1499
- * <ngStaticFormContainer name='myformcintainer' label="My Custom Form Control" [isrequired]='false' tooltiptext="Dies ist ein Tooltip Text">
1500
- * <input type="range" class="form-control" />
1501
- * </ngStaticFormContainer>
1502
- *
1503
- **/
1504
- class SacStaticFormContainerComponent extends SacStaticFormContainerCommon {
1505
- // #region Constructors
1506
- /**
1507
- * Constructor
1508
- * @param formLayout SacFormLayout to define scoped layout settings
1509
- * @param injector Injector for injecting services
1510
- */
1511
- constructor(formLayout, injector) {
1512
- super(formLayout, injector);
1513
- }
1514
- }
1515
- SacStaticFormContainerComponent.decorators = [
1516
- { type: Component, args: [{
1517
- selector: 'sac-staticformcontainer',
1518
- template: "<div\r\n class=\"row form-group\"\r\n [class.has-error]=\"isinvalid && errormessage\"\r\n [ngClass]=\"componentHeight | toLabelHeight\">\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{ name }}label\"\r\n for=\"{{ name }}\"\r\n class=\"col-xs-12 control-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\r\n [class.required]=\"isrequired\">\r\n <span class=\"text\">{{ label }}</span>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [class]=\"HelptextTooltipIcon\"\r\n style=\"margin-left: 5px\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-xs-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\r\n <div [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\r\n <ng-content></ng-content>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-static\"\r\n style=\"margin-left: 5px\">\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [class]=\"HelptextTooltipIcon\"\r\n style=\"margin-left: 5px; margin-right: 5px\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n\r\n <p\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"help-block\">\r\n {{ helptext }}\r\n </p>\r\n\r\n <div\r\n class=\"help-block help-block-error\"\r\n *ngIf=\"isinlineerrorenabled && isinvalid && errormessage\">\r\n {{ errormessage }}\r\n </div>\r\n </div>\r\n</div>\r\n",
1519
- // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
1520
- providers: [
1521
- {
1522
- provide: NG_VALUE_ACCESSOR,
1523
- multi: true,
1524
- useExisting: SacStaticFormContainerComponent,
1525
- },
1526
- {
1527
- provide: NG_VALIDATORS,
1528
- multi: true,
1529
- useExisting: forwardRef(() => SacStaticFormContainerComponent),
1530
- },
1531
- ]
1532
- },] }
1533
- ];
1534
- SacStaticFormContainerComponent.ctorParameters = () => [
1535
- { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
1536
- { type: Injector }
1537
- ];
1538
-
1539
- class SacStaticLabelComponent extends SacStaticLabelCommon {
1540
- // #region Constructors
1541
- /**
1542
- * Constructor
1543
- * @param formLayout SacFormLayout to define scoped layout settings
1544
- * @param injector Injector for injecting services
1545
- */
1546
- constructor(formLayout, injector) {
1547
- super(formLayout, injector);
1548
- }
1549
- }
1550
- SacStaticLabelComponent.decorators = [
1551
- { type: Component, args: [{
1552
- selector: 'sac-staticlabel',
1553
- template: "<div\r\n class=\"row form-group\"\r\n [ngClass]=\"componentHeight | toLabelHeight\">\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{ name }}label\"\r\n for=\"{{ name }}\"\r\n class=\"col-xs-12 control-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\">\r\n <span class=\"text\">{{ label }}</span>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [class]=\"HelptextTooltipIcon\"\r\n style=\"margin-left: 5px\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-xs-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\r\n <div\r\n [id]=\"name\"\r\n class=\"form-control-static\"\r\n [style.padding-left.px]=\"0\"\r\n [innerHTML]=\"value\">\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-static\"\r\n style=\"margin-left: 5px\">\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [class]=\"HelptextTooltipIcon\"\r\n style=\"margin-left: 5px; margin-right: 5px\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n\r\n <p\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"help-block\">\r\n {{ helptext }}\r\n </p>\r\n </div>\r\n</div>\r\n",
1554
- // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
1555
- providers: [
1556
- {
1557
- provide: NG_VALUE_ACCESSOR,
1558
- multi: true,
1559
- useExisting: SacStaticLabelComponent,
1560
- },
1561
- {
1562
- provide: NG_VALIDATORS,
1563
- multi: true,
1564
- useExisting: forwardRef(() => SacStaticLabelComponent),
1565
- },
1566
- ]
1567
- },] }
1568
- ];
1569
- SacStaticLabelComponent.ctorParameters = () => [
1570
- { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
1571
- { type: Injector }
1572
- ];
1573
-
1574
- class SACBootstrap3StaticLabelModule {
1575
- }
1576
- SACBootstrap3StaticLabelModule.decorators = [
1577
- { type: NgModule, args: [{
1578
- declarations: [SacStaticLabelComponent, SacStaticFormContainerComponent],
1579
- imports: [
1580
- CommonModule,
1581
- SACBootstrap3TooltipModule,
1582
- SACBootstrap3LayoutModule,
1583
- ],
1584
- exports: [SacStaticLabelComponent, SacStaticFormContainerComponent],
1585
- },] }
1586
- ];
1587
-
1588
- class SacTabItemComponent extends SacTabItemCommon {
1589
- }
1590
- SacTabItemComponent.decorators = [
1591
- { type: Component, args: [{
1592
- selector: 'sac-tabitem',
1593
- template: "<div [id]=\"id\" [hidden]=\"unloadwhenhidden === false && active === false\"\r\n *ngIf=\"(unloadwhenhidden === true && active === true) || unloadwhenhidden === false\" class=\"tab-pane\">\r\n <ng-template [ngTemplateOutlet]=\"templateRef\"></ng-template>\r\n</div>\r\n\r\n"
1594
- },] }
1595
- ];
1596
-
1597
- class SacTabComponent extends SacTabCommon {
1598
- tabItems() {
1599
- return this._tabItems.toArray();
1600
- }
1601
- }
1602
- SacTabComponent.decorators = [
1603
- { type: Component, args: [{
1604
- selector: 'sac-tab',
1605
- template: "<!-- Nav tabs -->\r\n<div [id]=\"name\" class=\"content-nav-tabs\">\r\n <ul class=\"nav nav-tabs\" role=\"tablist\">\r\n <li\r\n *ngFor=\"let item of _tabItems\"\r\n [ngClass]=\"{ 'active show': item.active, 'disabled': item.disabled }\"\r\n (click)=\"selectTab(item)\"\r\n [ngStyle]=\"{'cursor': item._disabled ? 'not-allowed' : 'pointer'}\"\r\n >\r\n <a [id]=\"GetTabItemButtonId(item.id)\" role=\"tab\">\r\n <ng-template\r\n *ngTemplateOutlet=\"tablabeltemplate || defaultTabLabelTemplate;context:{ label: item.label }\"\r\n >\r\n </ng-template>\r\n </a>\r\n </li>\r\n </ul>\r\n</div>\r\n\r\n<!-- Tab panes -->\r\n<div class=\"tab-content\" style=\"margin-top: 15px\">\r\n <ng-content></ng-content>\r\n</div>\r\n\r\n<ng-template #defaultTabLabelTemplate let-label=\"label\">\r\n {{label}}\r\n</ng-template>\r\n"
1606
- },] }
1607
- ];
1608
- SacTabComponent.propDecorators = {
1609
- _tabItems: [{ type: ContentChildren, args: [SacTabItemComponent,] }]
1431
+ class SacListboxComponent extends SacListboxCommon {
1432
+ // #region Constructors
1433
+ /**
1434
+ * Constructor
1435
+ * @param formLayout SacFormLayout to define scoped layout settings
1436
+ * @param injector Injector for injecting services
1437
+ */
1438
+ constructor(formLayout, injector) {
1439
+ super(formLayout, injector);
1440
+ }
1441
+ }
1442
+ SacListboxComponent.decorators = [
1443
+ { type: Component, args: [{
1444
+ selector: 'sac-listbox',
1445
+ template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\n <div [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <select\n multiple\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n class=\"form-control\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [size]=\"rowsize\"\n (blur)=\"onTouch()\"\n (change)=\"getSelectedItems($event.target)\"\n [disabled]=\"isdisabled\">\n <ng-content></ng-content>\n <ng-container *ngIf=\"groupitems === ''\">\n <option\n *ngFor=\"let option of options\"\n [value]=\"option[optionvalue]\"\n [disabled]=\"optionenabled !== '' && option[optionenabled] === false\">\n <ng-template *ngTemplateOutlet=\"optionlabeltemplate || defaultItemLabelTemplate; context: { label: option[optionlabel] }\"> </ng-template>\n </option>\n </ng-container>\n <ng-container *ngIf=\"groupitems !== ''\">\n <optgroup\n *ngFor=\"let option of options\"\n [attr.label]=\"option[grouplabel]\">\n <option\n *ngFor=\"let item of option[groupitems]\"\n [value]=\"item[optionvalue]\"\n [disabled]=\"optionenabled !== '' && item[optionenabled] === false\">\n <ng-template *ngTemplateOutlet=\"optionlabeltemplate || defaultItemLabelTemplate; context: { label: item[optionlabel] }\"> </ng-template>\n </option>\n </optgroup>\n </ng-container>\n </select>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n</div>\n\n<ng-template\n #defaultItemLabelTemplate\n let-label=\"label\">\n {{ label }}\n</ng-template>\n",
1446
+ // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
1447
+ providers: [
1448
+ {
1449
+ provide: NG_VALUE_ACCESSOR,
1450
+ multi: true,
1451
+ useExisting: SacListboxComponent,
1452
+ },
1453
+ {
1454
+ provide: NG_VALIDATORS,
1455
+ multi: true,
1456
+ useExisting: forwardRef(() => SacListboxComponent),
1457
+ },
1458
+ ]
1459
+ },] }
1460
+ ];
1461
+ SacListboxComponent.ctorParameters = () => [
1462
+ { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
1463
+ { type: Injector }
1464
+ ];
1465
+
1466
+ class SACBootstrap3ListModule {
1467
+ }
1468
+ SACBootstrap3ListModule.decorators = [
1469
+ { type: NgModule, args: [{
1470
+ declarations: [
1471
+ SacDropdownComponent,
1472
+ SacDropdownOptionDirective,
1473
+ SacListboxComponent,
1474
+ ],
1475
+ imports: [
1476
+ CommonModule,
1477
+ SACCommonListboxOptionModule,
1478
+ SACBootstrap3TooltipModule,
1479
+ FormsModule,
1480
+ SACBootstrap3LayoutModule,
1481
+ ],
1482
+ exports: [
1483
+ SacDropdownComponent,
1484
+ SacDropdownOptionDirective,
1485
+ SacListboxComponent,
1486
+ ],
1487
+ },] }
1488
+ ];
1489
+
1490
+ /**
1491
+ * Component für einbindung eines beliebigen Controls in die Form Struktur
1492
+ *
1493
+ * @example
1494
+ * <ngStaticFormContainer name='myformcontainer' label="My Custom Form Control" [isrequired]='false'>
1495
+ * <input type="range" class="form-control" />
1496
+ * </ngStaticFormContainer>
1497
+ *
1498
+ * @example
1499
+ * <ngStaticFormContainer name='myformcintainer' label="My Custom Form Control" [isrequired]='false' tooltiptext="Dies ist ein Tooltip Text">
1500
+ * <input type="range" class="form-control" />
1501
+ * </ngStaticFormContainer>
1502
+ *
1503
+ **/
1504
+ class SacStaticFormContainerComponent extends SacStaticFormContainerCommon {
1505
+ // #region Constructors
1506
+ /**
1507
+ * Constructor
1508
+ * @param formLayout SacFormLayout to define scoped layout settings
1509
+ * @param injector Injector for injecting services
1510
+ */
1511
+ constructor(formLayout, injector) {
1512
+ super(formLayout, injector);
1513
+ }
1514
+ }
1515
+ SacStaticFormContainerComponent.decorators = [
1516
+ { type: Component, args: [{
1517
+ selector: 'sac-staticformcontainer',
1518
+ template: "<div\n class=\"row form-group\"\n [class.has-error]=\"isinvalid && errormessage\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\n <div [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <ng-content></ng-content>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && isinvalid && errormessage\">\n {{ errormessage }}\n </div>\n </div>\n</div>\n",
1519
+ // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
1520
+ providers: [
1521
+ {
1522
+ provide: NG_VALUE_ACCESSOR,
1523
+ multi: true,
1524
+ useExisting: SacStaticFormContainerComponent,
1525
+ },
1526
+ {
1527
+ provide: NG_VALIDATORS,
1528
+ multi: true,
1529
+ useExisting: forwardRef(() => SacStaticFormContainerComponent),
1530
+ },
1531
+ ]
1532
+ },] }
1533
+ ];
1534
+ SacStaticFormContainerComponent.ctorParameters = () => [
1535
+ { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
1536
+ { type: Injector }
1537
+ ];
1538
+
1539
+ class SacStaticLabelComponent extends SacStaticLabelCommon {
1540
+ // #region Constructors
1541
+ /**
1542
+ * Constructor
1543
+ * @param formLayout SacFormLayout to define scoped layout settings
1544
+ * @param injector Injector for injecting services
1545
+ */
1546
+ constructor(formLayout, injector) {
1547
+ super(formLayout, injector);
1548
+ }
1549
+ }
1550
+ SacStaticLabelComponent.decorators = [
1551
+ { type: Component, args: [{
1552
+ selector: 'sac-staticlabel',
1553
+ template: "<div\n class=\"row form-group\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <div\n [id]=\"name\"\n class=\"form-control-static\"\n [style.padding-left.px]=\"0\"\n [innerHTML]=\"value\">\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n </div>\n</div>\n",
1554
+ // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
1555
+ providers: [
1556
+ {
1557
+ provide: NG_VALUE_ACCESSOR,
1558
+ multi: true,
1559
+ useExisting: SacStaticLabelComponent,
1560
+ },
1561
+ {
1562
+ provide: NG_VALIDATORS,
1563
+ multi: true,
1564
+ useExisting: forwardRef(() => SacStaticLabelComponent),
1565
+ },
1566
+ ]
1567
+ },] }
1568
+ ];
1569
+ SacStaticLabelComponent.ctorParameters = () => [
1570
+ { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
1571
+ { type: Injector }
1572
+ ];
1573
+
1574
+ class SACBootstrap3StaticLabelModule {
1575
+ }
1576
+ SACBootstrap3StaticLabelModule.decorators = [
1577
+ { type: NgModule, args: [{
1578
+ declarations: [SacStaticLabelComponent, SacStaticFormContainerComponent],
1579
+ imports: [
1580
+ CommonModule,
1581
+ SACBootstrap3TooltipModule,
1582
+ SACBootstrap3LayoutModule,
1583
+ ],
1584
+ exports: [SacStaticLabelComponent, SacStaticFormContainerComponent],
1585
+ },] }
1586
+ ];
1587
+
1588
+ class SacTabItemComponent extends SacTabItemCommon {
1589
+ }
1590
+ SacTabItemComponent.decorators = [
1591
+ { type: Component, args: [{
1592
+ selector: 'sac-tabitem',
1593
+ template: "<div [id]=\"id\" [hidden]=\"unloadwhenhidden === false && active === false\"\n *ngIf=\"(unloadwhenhidden === true && active === true) || unloadwhenhidden === false\" class=\"tab-pane\">\n <ng-template [ngTemplateOutlet]=\"templateRef\"></ng-template>\n</div>\n\n"
1594
+ },] }
1595
+ ];
1596
+
1597
+ class SacTabComponent extends SacTabCommon {
1598
+ tabItems() {
1599
+ return this._tabItems.toArray();
1600
+ }
1601
+ }
1602
+ SacTabComponent.decorators = [
1603
+ { type: Component, args: [{
1604
+ selector: 'sac-tab',
1605
+ template: "<!-- Nav tabs -->\n<div [id]=\"name\" class=\"content-nav-tabs\">\n <ul class=\"nav nav-tabs\" role=\"tablist\">\n <li\n *ngFor=\"let item of _tabItems\"\n [ngClass]=\"{ 'active show': item.active, 'disabled': item.disabled }\"\n (click)=\"selectTab(item)\"\n [ngStyle]=\"{'cursor': item._disabled ? 'not-allowed' : 'pointer'}\"\n >\n <a [id]=\"GetTabItemButtonId(item.id)\" role=\"tab\">\n <ng-template\n *ngTemplateOutlet=\"tablabeltemplate || defaultTabLabelTemplate;context:{ label: item.label }\"\n >\n </ng-template>\n </a>\n </li>\n </ul>\n</div>\n\n<!-- Tab panes -->\n<div class=\"tab-content\" style=\"margin-top: 15px\">\n <ng-content></ng-content>\n</div>\n\n<ng-template #defaultTabLabelTemplate let-label=\"label\">\n {{label}}\n</ng-template>\n"
1606
+ },] }
1607
+ ];
1608
+ SacTabComponent.propDecorators = {
1609
+ _tabItems: [{ type: ContentChildren, args: [SacTabItemComponent,] }]
1610
1610
  };
1611
1611
 
1612
- class SACBootstrap3TabsModule {
1613
- }
1614
- SACBootstrap3TabsModule.decorators = [
1615
- { type: NgModule, args: [{
1616
- declarations: [SacTabComponent, SacTabItemComponent],
1617
- imports: [
1618
- CommonModule
1619
- ],
1620
- exports: [SacTabComponent, SacTabItemComponent]
1621
- },] }
1622
- ];
1623
-
1624
- class SacTinyMceComponent extends SacTinyMceCommon {
1625
- // #region Constructors
1626
- /**
1627
- * Constructor
1628
- * @param formLayout SacFormLayout to define scoped layout settings
1629
- * @param injector Injector for injecting services
1630
- * @param ngZone ngZone to manage external javascripts
1631
- */
1632
- constructor(formLayout, injector, ngZone) {
1633
- super(formLayout, injector, ngZone);
1634
- }
1635
- // #endregion Constructors
1636
- // #region Public Methods
1637
- /**
1638
- * overwrite tinymce defaults
1639
- * @returns boostrap3 does not support file browser
1640
- */
1641
- overwriteDefaultSettings() {
1642
- return { file_picker_types: undefined, file_picker_callback: undefined };
1643
- }
1644
- }
1645
- SacTinyMceComponent.decorators = [
1646
- { type: Component, args: [{
1647
- selector: 'sac-tinymce',
1648
- template: "<div\r\n class=\"row form-group\"\r\n [class.has-error]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"componentHeight | toLabelHeight\">\r\n <label\r\n for=\"{{ name }}\"\r\n class=\"col-xs-12 control-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\r\n [class.required]=\"isrequired\">\r\n <span class=\"text\">{{ label }}</span>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [class]=\"HelptextTooltipIcon\"\r\n style=\"margin-left: 5px\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-xs-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [class.has-error]=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\r\n <div [style.flex-grow]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 1 : null\">\r\n <editor\r\n [id]=\"name + '_tinymce'\"\r\n [init]=\"_config\"\r\n [initialValue]=\"value\"\r\n ngModel\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n (ngModelChange)=\"setValue($event)\"\r\n (onSaveContent)=\"save($event.event.content)\"\r\n [disabled]=\"disabled\"\r\n [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\"></editor>\r\n <p\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"help-block\">\r\n {{ helptext }}\r\n </p>\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"help-block\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-static\"\r\n style=\"margin-left: 5px\">\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [class]=\"HelptextTooltipIcon\"\r\n style=\"margin-left: 5px; margin-right: 5px\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<sac-dialog\r\n *ngIf=\"selectdialogvisible\"\r\n [allowesc]=\"false\"\r\n [backdrop]=\"true\"\r\n [(isvisible)]=\"selectdialogvisible\"\r\n title=\"{{ lngResourceService.GetString(validationKeyService.TinyMceFileselectDialogtitle) | async }}\"\r\n size=\"large\"\r\n height=\"500px\">\r\n <ng-container dialogbody> </ng-container>\r\n <ng-container dialogfooter>\r\n <sac-button\r\n role=\"primary\"\r\n [name]=\"name + '_modalOk'\"\r\n text=\"{{ lngResourceService.GetString(validationKeyService.TinyMceFileselectOk) | async }}\"\r\n (clicked)=\"setSelectDialogResult()\"></sac-button>\r\n <sac-button\r\n [name]=\"name + '_modalClose'\"\r\n text=\"{{ lngResourceService.GetString(validationKeyService.TinyMceFileselectCancel) | async }}\"\r\n (clicked)=\"closeSelectDialog()\"></sac-button>\r\n </ng-container>\r\n</sac-dialog>\r\n",
1649
- // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
1650
- providers: [
1651
- {
1652
- provide: NG_VALUE_ACCESSOR,
1653
- multi: true,
1654
- useExisting: SacTinyMceComponent,
1655
- },
1656
- {
1657
- provide: NG_VALIDATORS,
1658
- useExisting: forwardRef(() => SacTinyMceComponent),
1659
- multi: true,
1660
- },
1661
- ]
1662
- },] }
1663
- ];
1664
- SacTinyMceComponent.ctorParameters = () => [
1665
- { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
1666
- { type: Injector },
1667
- { type: NgZone }
1668
- ];
1669
-
1670
- class SACBootstrap3TinyMceModule {
1671
- }
1672
- SACBootstrap3TinyMceModule.decorators = [
1673
- { type: NgModule, args: [{
1674
- declarations: [SacTinyMceComponent],
1675
- imports: [
1676
- CommonModule,
1677
- FormsModule,
1678
- EditorModule,
1679
- SACBootstrap3ButtonModule,
1680
- SACBootstrap3DialogModule,
1681
- SACBootstrap3LayoutModule,
1682
- SACBootstrap3TooltipModule,
1683
- ],
1684
- exports: [SacTinyMceComponent],
1685
- },] }
1686
- ];
1687
-
1688
- /**
1689
- * Treeview Compomnent
1690
- */
1691
- class SacTreeviewComponent extends SacTreeviewCommon {
1692
- // #region Constructors
1693
- /**
1694
- * Constructor
1695
- * @param formLayout SacFormLayout to define scoped layout settings
1696
- * @param injector Component Injector
1697
- */
1698
- constructor(formLayout, injector) {
1699
- super(formLayout, injector);
1700
- }
1701
- }
1702
- SacTreeviewComponent.decorators = [
1703
- { type: Component, args: [{
1704
- selector: 'sac-treeview',
1705
- template: "<div\r\n class=\"row mb-3\"\r\n [class.g-0]=\"disablelabel\"\r\n [class.has-error]=\"invalid && (dirty || touched)\">\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{ name }}label\"\r\n for=\"{{ name }}\"\r\n class=\"col-xs-12 control-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\r\n [class.required]=\"isrequired\">\r\n <span class=\"text\">{{ label }}</span>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [class]=\"HelptextTooltipIcon\"\r\n style=\"margin-left: 5px\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-xs-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [class.has-error]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\r\n <div [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\r\n <div [style.width.%]=\"helptextmode === 'tooltip' && helptext && disablelabel ? '100' : null\">\r\n <table\r\n class=\"table table-hover table-condensed\"\r\n id=\"{{ name }}\"\r\n style=\"table-layout: fixed\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n [class.border]=\"invalid && (dirty || touched)\"\r\n [class.border-danger]=\"invalid && (dirty || touched)\">\r\n <tbody>\r\n <ng-container *ngFor=\"let node of data\">\r\n <ng-template\r\n [ngTemplateOutlet]=\"treeItem\"\r\n [ngTemplateOutletContext]=\"{ node: node, deep: 0, path: '', textpath: '' }\">\r\n </ng-template>\r\n </ng-container>\r\n </tbody>\r\n </table>\r\n\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"help-block\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n\r\n <p\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"help-block\">\r\n {{ helptext }}\r\n </p>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-static\"\r\n style=\"margin-left: 5px\">\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [class]=\"HelptextTooltipIcon\"\r\n style=\"margin-left: 5px; margin-right: 5px\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n<ng-template\r\n #treeItem\r\n let-node=\"node\"\r\n let-deep=\"deep\"\r\n let-path=\"path\"\r\n let-textpath=\"textpath\">\r\n <tr\r\n [class.active]=\"isSelectedState(node)\"\r\n attr.data-path=\"{{ path }}/{{ getStringField(node, attrid) }}\"\r\n attr.data-textpath=\"{{ textpath }}/{{ getStringField(node, attrlabel) }}\">\r\n <td>\r\n <div\r\n class=\"py-1 px-2 d-flex align-items-center\"\r\n style=\"display: flex; flex-direction: row; cursor: pointer; align-items: center\"\r\n (mouseenter)=\"setHoverState(node, true)\"\r\n (mouseleave)=\"setHoverState(node, false)\">\r\n <div\r\n style=\"margin-right: 15px\"\r\n *ngFor=\"let i of count(deep)\">\r\n </div>\r\n\r\n <div\r\n (click)=\"onNodeClicked(node)\"\r\n *ngIf=\"expandedstate === 'true' || expandedstate === true\"\r\n style=\"margin-right: 15px\"\r\n [ngClass]=\"!hasChildren(node) ? iconFolderEmpty : !isExpandedState(node) ? iconFolderCollabsed : isExpandedState(node) ? iconFolderOpen : ''\">\r\n </div>\r\n\r\n <div\r\n (click)=\"onNodeClicked(node)\"\r\n *ngIf=\"attricon && getStringField(node, attricon)\">\r\n <ng-template\r\n [ngTemplateOutlet]=\"templateicon || defaultTemplateIcon\"\r\n [ngTemplateOutletContext]=\"{ node: node }\">\r\n </ng-template>\r\n </div>\r\n\r\n <div\r\n (click)=\"onNodeClicked(node)\"\r\n style=\"padding-top: 7px; padding-bottom: 7px; flex-grow: 1\"\r\n [style.max-width.%]=\"enableellipsis ? '100' : null\"\r\n [style.overflow]=\"enableellipsis ? 'hidden' : null\"\r\n [style.text-overflow]=\"enableellipsis ? 'ellipsis' : null\"\r\n [style.white-space]=\"enableellipsis ? 'nowrap' : null\">\r\n <ng-template\r\n [ngTemplateOutlet]=\"templatelabel || defaultTemplateLabel\"\r\n [ngTemplateOutletContext]=\"{ node: node, label: getStringField(node, attrlabel) }\">\r\n </ng-template>\r\n </div>\r\n\r\n <div\r\n (click)=\"setSelectedState(node)\"\r\n style=\"flex-shrink: 0\"\r\n *ngIf=\"!isDisabledState(node) && (showactionalways || isSelectedState(node) || isHoverState(node))\">\r\n <ng-template\r\n [ngTemplateOutlet]=\"templateaction || defaultTemplateAction\"\r\n [ngTemplateOutletContext]=\"{ node: node, actionhandler: onActionClicked.bind(this) }\">\r\n </ng-template>\r\n </div>\r\n </div>\r\n </td>\r\n </tr>\r\n <ng-container *ngIf=\"isExpandedState(node)\">\r\n <ng-template\r\n *ngFor=\"let child of getChildren(node)\"\r\n [ngTemplateOutlet]=\"treeItem\"\r\n [ngTemplateOutletContext]=\"{\r\n node: child,\r\n deep: deep + 1,\r\n path: path + '/' + getStringField(node, attrid),\r\n textpath: textpath + '/' + getStringField(node, attrlabel)\r\n }\">\r\n </ng-template>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-template\r\n #defaultTemplateLabel\r\n let-label=\"label\"\r\n let-node=\"node\">\r\n <span [title]=\"label\">\r\n {{ label }}\r\n </span>\r\n</ng-template>\r\n\r\n<ng-template\r\n #defaultTemplateIcon\r\n let-node=\"node\">\r\n <div\r\n style=\"margin-right: 15px\"\r\n [ngClass]=\"getStringField(node, attricon)\">\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template\r\n #defaultTemplateAction\r\n let-node=\"node\"\r\n let-actionhandler=\"actionhandler\">\r\n <a\r\n class=\"btn btn-link text-secondary\"\r\n (click)=\"actionhandler({ action: 'default', node: node })\">\r\n <i [class]=\"iconAction\"></i>\r\n </a>\r\n</ng-template>\r\n",
1706
- providers: [
1707
- {
1708
- provide: NG_VALUE_ACCESSOR,
1709
- multi: true,
1710
- useExisting: SacTreeviewComponent,
1711
- },
1712
- {
1713
- provide: NG_VALIDATORS,
1714
- useExisting: forwardRef(() => SacTreeviewComponent),
1715
- multi: true,
1716
- },
1717
- ]
1718
- },] }
1719
- ];
1720
- SacTreeviewComponent.ctorParameters = () => [
1721
- { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
1722
- { type: Injector }
1723
- ];
1724
-
1725
- class SACBootstrap3TreeviewModule {
1726
- }
1727
- SACBootstrap3TreeviewModule.decorators = [
1728
- { type: NgModule, args: [{
1729
- declarations: [SacTreeviewComponent],
1730
- imports: [CommonModule, SACBootstrap3TooltipModule, SACBootstrap3LayoutModule, SACBootstrap3ContextmenuModule],
1731
- exports: [SacTreeviewComponent],
1732
- },] }
1733
- ];
1734
-
1735
- /**
1736
- * Dropzone Komponente für mehrere Uploads
1737
- * @see https://github.com/kukhariev/ngx-uploadx/
1738
- */
1739
- class SacDropzoneMultipleComponent extends SacDropzoneMultipleCommon {
1740
- // #region Constructors
1741
- /**
1742
- * Constructor
1743
- * @param formLayout SacFormLayout to define scoped layout settings
1744
- * @param injector Injector for injecting services
1745
- * @param renderer Angular rendering engine
1746
- * @param ngZone ngZone to manage external javascripts
1747
- */
1748
- constructor(formLayout, injector, renderer, ngZone) {
1749
- super(formLayout, injector, renderer, ngZone);
1750
- }
1751
- // #endregion Constructors
1752
- // #region Public Methods
1753
- /**
1754
- * Initialisiert das Control
1755
- */
1756
- ngOnInit() {
1757
- super.ngOnInit();
1758
- }
1759
- }
1760
- SacDropzoneMultipleComponent.decorators = [
1761
- { type: Component, args: [{
1762
- selector: 'sac-dropzonemultiple',
1763
- template: "<div\r\n id=\"{{ name }}\"\r\n class=\"row form-group\"\r\n [class.has-error]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"componentHeight | toLabelHeight\">\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{ name }}label\"\r\n for=\"{{ name }}_uploadinput\"\r\n class=\"col-xs-12 control-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\r\n [class.required]=\"isrequired\">\r\n <span class=\"text\">{{ label }}</span>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [class]=\"HelptextTooltipIcon\"\r\n style=\"margin-left: 5px\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-xs-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\r\n <div [style.flex-grow]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 1 : null\">\r\n <div\r\n class=\"img-rounded dropzone control-label\"\r\n (drop)=\"dropHandler($event)\"\r\n (dragover)=\"onDragOver($event)\"\r\n (dragleave)=\"onDragLeave($event)\"\r\n [class.active]=\"active\"\r\n [style.min-height]=\"uploadheight\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\">\r\n <div\r\n class=\"content\"\r\n *ngIf=\"uploads.length === 0\">\r\n <div>\r\n <div [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"uploads.length > 0\">\r\n <div>\r\n <div\r\n class=\"dropzone-uploadstates\"\r\n [class.mt-1]=\"i > 0\"\r\n *ngFor=\"let file of uploads; let i = index\">\r\n <div\r\n class=\"input-group upload-component upload-component-multiple\"\r\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\r\n <div class=\"form-control upload-progress border-secondary\">\r\n <div class=\"progress\">\r\n <div\r\n class=\"progress-bar\"\r\n [class.progress-bar-success]=\"file.progress === 100\"\r\n role=\"progressbar\"\r\n [attr.aria-valuenow]=\"file.progress\"\r\n aria-valuemin=\"0\"\r\n aria-valuemax=\"100\"\r\n [style.width.%]=\"file.progress\">\r\n <span class=\"progress-text\">{{ file.name }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"input-group-btn\">\r\n <!-- image-preview-clear button -->\r\n <a\r\n class=\"btn\"\r\n (click)=\"cancel(file.uploadId)\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <span [class]=\"IconDelete\"></span>\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <input\r\n #files\r\n multiple\r\n id=\"{{ name }}_uploadinput\"\r\n type=\"file\"\r\n class=\"custom-file-input\"\r\n (click)=\"files.value = ''\"\r\n (uploadxState)=\"onUpload($event)\"\r\n [disabled]=\"HasQueueItem()\" />\r\n </div>\r\n <small\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"help-block\">\r\n {{ helptext }}\r\n </small>\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"help-block help-block-error\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-static\"\r\n style=\"margin-left: 5px\">\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [class]=\"HelptextTooltipIcon\"\r\n style=\"margin-left: 5px; margin-right: 5px\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n</div>\r\n",
1764
- providers: [
1765
- {
1766
- provide: NG_VALUE_ACCESSOR,
1767
- multi: true,
1768
- useExisting: SacDropzoneMultipleComponent,
1769
- },
1770
- {
1771
- provide: NG_VALIDATORS,
1772
- multi: true,
1773
- useExisting: forwardRef(() => SacDropzoneMultipleComponent),
1774
- },
1775
- ],
1776
- styles: [".upload-component .upload-input{position:relative}.upload-component .custom-file>i{margin-right:15px}.upload-component .custom-file .custom-file-input{bottom:0;display:inline-block;left:0;margin:0;opacity:0;overflow:hidden;position:absolute;right:0;top:0;width:100%;z-index:2}.upload-component.upload-multiple .upload-progress .progress{border-bottom-right-radius:0;border-top-right-radius:0}.upload-component.upload-single .upload-progress .progress{border-radius:0}.upload-component .upload-progress{padding:0}.upload-component .upload-progress .progress{height:100%}.upload-component .upload-progress .progress .progress-text{color:#000;display:table-cell;height:34px;left:0;line-height:34px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.dropzone{border-style:dashed;border-width:2px;min-height:120px;padding-bottom:50px;padding-top:50px;position:relative;text-align:center;width:100%}.dropzone.active{background-color:#add8e6}.dropzone .progress{border-radius:0}.dropzone .progress .progress-bar{border-bottom-right-radius:0;border-top-right-radius:0;display:flex;flex-direction:column;justify-content:center;text-align:center}.dropzone .progress .progress-bar .progress-text{color:#000;display:table-cell;height:34px;left:0;line-height:34px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.dropzone input[type=file]{bottom:0;left:0;opacity:0;position:absolute;right:0;top:0;width:100%}.dropzone .dropzone-uploadstates{margin-left:auto;margin-right:auto;margin-top:6px;max-width:450px;width:80%}"]
1777
- },] }
1778
- ];
1779
- SacDropzoneMultipleComponent.ctorParameters = () => [
1780
- { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
1781
- { type: Injector },
1782
- { type: Renderer2 },
1783
- { type: NgZone }
1784
- ];
1785
-
1786
- /**
1787
- * Dropzone Komponente für den Upload eines Files
1788
- * @see https://github.com/kukhariev/ngx-uploadx/
1789
- */
1790
- class SacDropzoneSingleComponent extends SacDropzoneSingleCommon {
1791
- // #region Constructors
1792
- /**
1793
- * Constructor
1794
- * @param formLayout SacFormLayout to define scoped layout settings
1795
- * @param injector Injector for injecting services
1796
- * @param renderer Angular rendering engine
1797
- * @param ngZone ngZone to manage external javascripts
1798
- */
1799
- constructor(formLayout, injector, renderer, ngZone) {
1800
- super(formLayout, injector, renderer, ngZone);
1801
- }
1802
- // #endregion Constructors
1803
- // #region Public Methods
1804
- /**
1805
- * Initialisiert das Control
1806
- */
1807
- ngOnInit() {
1808
- super.ngOnInit();
1809
- }
1810
- }
1811
- SacDropzoneSingleComponent.decorators = [
1812
- { type: Component, args: [{
1813
- selector: 'sac-dropzonesingle',
1814
- template: "<div\r\n id=\"{{ name }}\"\r\n class=\"row form-group\"\r\n [class.has-error]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"componentHeight | toLabelHeight\">\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{ name }}label\"\r\n for=\"{{ name }}_uploadinput\"\r\n class=\"col-xs-12 control-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\r\n [class.required]=\"isrequired\">\r\n <span class=\"text\">{{ label }}</span>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [class]=\"HelptextTooltipIcon\"\r\n style=\"margin-left: 5px\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-xs-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\r\n <div [style.flex-grow]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 1 : null\">\r\n <div\r\n class=\"img-rounded dropzone control-label\"\r\n (drop)=\"dropHandler($event)\"\r\n (dragover)=\"onDragOver($event)\"\r\n (dragleave)=\"onDragLeave($event)\"\r\n [style.min-height]=\"uploadheight\"\r\n [class.active]=\"active\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\">\r\n <div\r\n class=\"content\"\r\n *ngIf=\"uploads.length === 0\">\r\n <div>\r\n <div [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"uploads.length > 0\">\r\n <div>\r\n <div\r\n class=\"dropzone-uploadstates\"\r\n *ngFor=\"let file of uploads\">\r\n <div\r\n class=\"input-group upload-component upload-component-multiple\"\r\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\r\n <div class=\"form-control upload-progress\">\r\n <div class=\"progress\">\r\n <div\r\n class=\"progress-bar\"\r\n [class.progress-bar-success]=\"file.progress === 100\"\r\n role=\"progressbar\"\r\n [attr.aria-valuenow]=\"file.progress\"\r\n aria-valuemin=\"0\"\r\n aria-valuemax=\"100\"\r\n [style.width.%]=\"file.progress\">\r\n <span class=\"progress-text\">{{ file.name }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"input-group-btn\">\r\n <!-- image-preview-clear button -->\r\n <a\r\n class=\"btn\"\r\n (click)=\"cancel(file.uploadId)\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <span [class]=\"IconDelete\"></span>\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <input\r\n #files\r\n id=\"{{ name }}_uploadinput\"\r\n type=\"file\"\r\n class=\"custom-file-input\"\r\n (click)=\"files.value = ''\"\r\n (uploadxState)=\"onUpload($event)\"\r\n [disabled]=\"HasQueueItem()\" />\r\n </div>\r\n <small\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"help-block\">\r\n {{ helptext }}\r\n </small>\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"help-block help-block-error\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-static\"\r\n style=\"margin-left: 5px\">\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [class]=\"HelptextTooltipIcon\"\r\n style=\"margin-left: 5px; margin-right: 5px\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n</div>\r\n",
1815
- providers: [
1816
- {
1817
- provide: NG_VALUE_ACCESSOR,
1818
- multi: true,
1819
- useExisting: SacDropzoneSingleComponent,
1820
- },
1821
- {
1822
- provide: NG_VALIDATORS,
1823
- multi: true,
1824
- useExisting: forwardRef(() => SacDropzoneSingleComponent),
1825
- },
1826
- ],
1827
- styles: [".upload-component .upload-input{position:relative}.upload-component .custom-file>i{margin-right:15px}.upload-component .custom-file .custom-file-input{bottom:0;display:inline-block;left:0;margin:0;opacity:0;overflow:hidden;position:absolute;right:0;top:0;width:100%;z-index:2}.upload-component.upload-multiple .upload-progress .progress{border-bottom-right-radius:0;border-top-right-radius:0}.upload-component.upload-single .upload-progress .progress{border-radius:0}.upload-component .upload-progress{padding:0}.upload-component .upload-progress .progress{height:100%}.upload-component .upload-progress .progress .progress-text{color:#000;display:table-cell;height:34px;left:0;line-height:34px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.dropzone{border-style:dashed;border-width:2px;min-height:120px;padding-bottom:50px;padding-top:50px;position:relative;text-align:center;width:100%}.dropzone.active{background-color:#add8e6}.dropzone .progress{border-radius:0}.dropzone .progress .progress-bar{border-bottom-right-radius:0;border-top-right-radius:0;display:flex;flex-direction:column;justify-content:center;text-align:center}.dropzone .progress .progress-bar .progress-text{color:#000;display:table-cell;height:34px;left:0;line-height:34px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.dropzone input[type=file]{bottom:0;left:0;opacity:0;position:absolute;right:0;top:0;width:100%}.dropzone .dropzone-uploadstates{margin-left:auto;margin-right:auto;margin-top:6px;max-width:450px;width:80%}"]
1828
- },] }
1829
- ];
1830
- SacDropzoneSingleComponent.ctorParameters = () => [
1831
- { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
1832
- { type: Injector },
1833
- { type: Renderer2 },
1834
- { type: NgZone }
1835
- ];
1836
-
1837
- // https://github.com/kukhariev/ngx-uploadx/
1838
- class SacUploadComponent extends SacUploadSingleCommon {
1839
- // #region Constructors
1840
- /**
1841
- * Constructor
1842
- * @param formLayout SacFormLayout to define scoped layout settings
1843
- * @param injector Injector for injecting services
1844
- * @param renderer Angular rendering engine
1845
- * @param ngZone ngZone to manage external javascripts
1846
- */
1847
- constructor(formLayout, injector, renderer, ngZone) {
1848
- super(formLayout, injector, renderer, ngZone);
1849
- }
1850
- }
1851
- SacUploadComponent.decorators = [
1852
- { type: Component, args: [{
1853
- selector: 'sac-upload',
1854
- template: "<div\r\n id=\"{{ name }}\"\r\n class=\"row form-group\"\r\n [class.has-error]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"componentHeight | toLabelHeight\">\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{ name }}label\"\r\n for=\"{{ name }}_uploadinput\"\r\n class=\"col-xs-12 control-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\r\n [class.required]=\"isrequired\">\r\n <span class=\"text\">{{ label }}</span>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [class]=\"HelptextTooltipIcon\"\r\n style=\"margin-left: 5px\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-xs-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\r\n <div [style.flex-grow]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 1 : null\">\r\n <div\r\n class=\"input-group upload-component upload-single\"\r\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\r\n <div class=\"input-group-btn\">\r\n <!-- image-preview-input -->\r\n <div\r\n class=\"btn upload-input custom-file\"\r\n [class.disabled]=\"HasQueueItem()\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <i [class]=\"IconBrowse\"></i>\r\n <span class=\"upload-browse\">{{ lngResourceService.GetString(validationKeyService.UploadButtonBrowse) | async }}</span>\r\n <input\r\n id=\"{{ name }}_uploadinput\"\r\n type=\"file\"\r\n class=\"custom-file-input\"\r\n #files\r\n (click)=\"files.value = ''\"\r\n (uploadxState)=\"onUpload($event)\"\r\n multiple\r\n [disabled]=\"HasQueueItem()\" />\r\n </div>\r\n </div>\r\n <div class=\"form-control upload-progress\">\r\n <div class=\"progress\">\r\n <div\r\n class=\"progress-bar\"\r\n [class.progress-bar-success]=\"Progress() === 100\"\r\n role=\"progressbar\"\r\n [attr.aria-valuenow]=\"Progress()\"\r\n aria-valuemin=\"0\"\r\n aria-valuemax=\"100\"\r\n [style.width.%]=\"Progress()\">\r\n <span class=\"progress-text text-dark\">{{ Filename() | async }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"input-group-btn\">\r\n <!-- image-preview-clear button -->\r\n <a\r\n class=\"btn\"\r\n (click)=\"cancelAll()\"\r\n [attr.disabled]=\"HasQueueItem() === false ? 'disabled' : null\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <span [class]=\"IconDelete\"></span>\r\n </a>\r\n <a\r\n *ngIf=\"(autoupload === false && enablepause) || (autoupload && enablepause && IsPaused() === false)\"\r\n class=\"btn\"\r\n (click)=\"pauseAll()\"\r\n [attr.disabled]=\"IsUploading() === false ? 'disabled' : null\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <span [class]=\"IconPause\"></span>\r\n </a>\r\n <a\r\n *ngIf=\"autoupload && enablepause && IsPaused()\"\r\n class=\"btn\"\r\n (click)=\"uploadAll()\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <span [class]=\"IconContinue\"></span>\r\n </a>\r\n <a\r\n *ngIf=\"autoupload === false\"\r\n class=\"btn\"\r\n (click)=\"uploadAll()\"\r\n [attr.disabled]=\"IsStateToUpload() === false ? 'disabled' : null\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <span [class]=\"IconUpload\"></span> {{ lngResourceService.GetString(validationKeyService.UploadButtonUpload) | async }}\r\n </a>\r\n </div>\r\n </div>\r\n\r\n <p\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"help-block\">\r\n {{ helptext }}\r\n </p>\r\n\r\n <div\r\n class=\"help-block help-block-error\"\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-static\"\r\n style=\"margin-left: 5px\">\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [class]=\"HelptextTooltipIcon\"\r\n style=\"margin-left: 5px; margin-right: 5px\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n</div>\r\n",
1855
- providers: [
1856
- {
1857
- provide: NG_VALUE_ACCESSOR,
1858
- multi: true,
1859
- useExisting: SacUploadComponent,
1860
- },
1861
- {
1862
- provide: NG_VALIDATORS,
1863
- multi: true,
1864
- useExisting: forwardRef(() => SacUploadComponent),
1865
- },
1866
- ],
1867
- styles: [".upload-component .upload-input{position:relative}.upload-component .custom-file>i{margin-right:15px}.upload-component .custom-file .custom-file-input{bottom:0;display:inline-block;left:0;margin:0;opacity:0;overflow:hidden;position:absolute;right:0;top:0;width:100%;z-index:2}.upload-component.upload-multiple .upload-progress .progress{border-bottom-right-radius:0;border-top-right-radius:0}.upload-component.upload-single .upload-progress .progress{border-radius:0}.upload-component .upload-progress{padding:0}.upload-component .upload-progress .progress{height:100%}.upload-component .upload-progress .progress .progress-text{color:#000;display:table-cell;height:34px;left:0;line-height:34px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.dropzone{border-style:dashed;border-width:2px;min-height:120px;padding-bottom:50px;padding-top:50px;position:relative;text-align:center;width:100%}.dropzone.active{background-color:#add8e6}.dropzone .progress{border-radius:0}.dropzone .progress .progress-bar{border-bottom-right-radius:0;border-top-right-radius:0;display:flex;flex-direction:column;justify-content:center;text-align:center}.dropzone .progress .progress-bar .progress-text{color:#000;display:table-cell;height:34px;left:0;line-height:34px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.dropzone input[type=file]{bottom:0;left:0;opacity:0;position:absolute;right:0;top:0;width:100%}.dropzone .dropzone-uploadstates{margin-left:auto;margin-right:auto;margin-top:6px;max-width:450px;width:80%}"]
1868
- },] }
1869
- ];
1870
- SacUploadComponent.ctorParameters = () => [
1871
- { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
1872
- { type: Injector },
1873
- { type: Renderer2 },
1874
- { type: NgZone }
1875
- ];
1876
-
1877
- // https://github.com/kukhariev/ngx-uploadx/
1878
- class SacUploadMultipleComponent extends SacUploadMultipleCommon {
1879
- // #region Constructors
1880
- /**
1881
- * Constructor
1882
- * @param formLayout SacFormLayout to define scoped layout settings
1883
- * @param injector Injector for injecting services
1884
- * @param renderer Angular rendering engine
1885
- * @param ngZone ngZone to manage external javascripts
1886
- */
1887
- constructor(formLayout, injector, renderer, ngZone) {
1888
- super(formLayout, injector, renderer, ngZone);
1889
- }
1890
- }
1891
- SacUploadMultipleComponent.decorators = [
1892
- { type: Component, args: [{
1893
- selector: 'sac-uploadmultiple',
1894
- template: "<div\r\n id=\"{{ name }}\"\r\n class=\"row form-group\"\r\n [class.has-error]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"componentHeight | toLabelHeight\">\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{ name }}label\"\r\n for=\"{{ name }}_uploadinput\"\r\n class=\"col-xs-12 control-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\r\n [class.required]=\"isrequired\">\r\n <span class=\"text\">{{ label }}</span>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [class]=\"HelptextTooltipIcon\"\r\n style=\"margin-left: 5px\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-xs-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\r\n <div class=\"upload-component\">\r\n <div class=\"row\">\r\n <div\r\n class=\"col-xs-12\"\r\n [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\r\n <div\r\n class=\"btn-group\"\r\n [class.btn-group-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.btn-group-lg]=\"componentHeight === ControlHeight.Large\">\r\n <div\r\n class=\"btn upload-input custom-file\"\r\n [class.disabled]=\"maxfiles > 0 && uploads.length >= maxfiles\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <i [class]=\"IconBrowse\"></i>\r\n <span class=\"upload-browse\">Browse</span>\r\n <input\r\n id=\"{{ name }}_uploadinput\"\r\n type=\"file\"\r\n class=\"custom-file-input\"\r\n #files\r\n (click)=\"files.value = ''\"\r\n (uploadxState)=\"onUpload($event)\"\r\n multiple\r\n [disabled]=\"maxfiles > 0 && uploads.length >= maxfiles\" />\r\n </div>\r\n\r\n <div\r\n class=\"btn-group\"\r\n [class.btn-group-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.btn-group-lg]=\"componentHeight === ControlHeight.Large\">\r\n <!-- image-preview-clear button -->\r\n <a\r\n class=\"btn\"\r\n (click)=\"cancelAll()\"\r\n [attr.disabled]=\"HasQueueItem() === false ? 'disabled' : null\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <span [class]=\"IconDelete\"></span>\r\n </a>\r\n <a\r\n *ngIf=\"(autoupload === false && enablepause) || (autoupload && enablepause && IsPaused() === false)\"\r\n class=\"btn\"\r\n (click)=\"pauseAll()\"\r\n [attr.disabled]=\"IsUploading() === false ? 'disabled' : null\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <span [class]=\"IconPause\"></span>\r\n </a>\r\n <a\r\n *ngIf=\"autoupload && enablepause && IsPaused() === true\"\r\n class=\"btn\"\r\n (click)=\"uploadAll()\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <span [class]=\"IconContinue\"></span>\r\n </a>\r\n <a\r\n *ngIf=\"autoupload === false\"\r\n class=\"btn\"\r\n (click)=\"uploadAll()\"\r\n [attr.disabled]=\"IsStateToUpload() === false ? 'disabled' : null\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <span [class]=\"IconUpload\"></span> {{ lngResourceService.GetString(validationKeyService.UploadButtonUpload) | async }}\r\n </a>\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-static\"\r\n style=\"margin-left: 5px\">\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [class]=\"HelptextTooltipIcon\"\r\n style=\"margin-left: 5px; margin-right: 5px\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngFor=\"let file of uploads\"\r\n style=\"margin-top: 5px\">\r\n <div\r\n class=\"input-group upload-component upload-multiple\"\r\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\r\n <div class=\"form-control upload-progress\">\r\n <div class=\"progress\">\r\n <div\r\n class=\"progress-bar\"\r\n [class.progress-bar-success]=\"file.progress === 100\"\r\n role=\"progressbar\"\r\n [attr.aria-valuenow]=\"file.progress\"\r\n aria-valuemin=\"0\"\r\n aria-valuemax=\"100\"\r\n [style.width.%]=\"file.progress\">\r\n <span class=\"progress-text text-dark\">{{ file.name }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div\r\n class=\"input-group-btn\"\r\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\r\n <!-- image-preview-clear button -->\r\n <a\r\n class=\"btn\"\r\n (click)=\"cancel(file.uploadId)\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <span [class]=\"IconDelete\"></span>\r\n </a>\r\n <a\r\n *ngIf=\"(autoupload === false && enablepause) || (autoupload && enablepause && file.status !== 'paused')\"\r\n class=\"btn\"\r\n (click)=\"pause(file.uploadId)\"\r\n [attr.disabled]=\"file.status !== 'uploading' ? 'disabled' : null\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <span [class]=\"IconPause\"></span>\r\n </a>\r\n <a\r\n *ngIf=\"autoupload && enablepause && file.status === 'paused'\"\r\n class=\"btn\"\r\n (click)=\"upload(file.uploadId)\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <span [class]=\"IconContinue\"></span>\r\n </a>\r\n <a\r\n *ngIf=\"autoupload === false\"\r\n class=\"btn\"\r\n (click)=\"upload(file.uploadId)\"\r\n [attr.disabled]=\"file.status !== 'added' && file.status !== 'paused' ? 'disabled' : null\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <span [class]=\"IconUpload\"></span> {{ lngResourceService.GetString(validationKeyService.UploadButtonUpload) | async }}\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <p\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"help-block\">\r\n {{ helptext }}\r\n </p>\r\n <div\r\n class=\"help-block help-block-error\"\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n</div>\r\n",
1895
- providers: [
1896
- {
1897
- provide: NG_VALUE_ACCESSOR,
1898
- multi: true,
1899
- useExisting: SacUploadMultipleComponent,
1900
- },
1901
- {
1902
- provide: NG_VALIDATORS,
1903
- multi: true,
1904
- useExisting: forwardRef(() => SacUploadMultipleComponent),
1905
- },
1906
- ],
1907
- styles: [".upload-component .upload-input{position:relative}.upload-component .custom-file>i{margin-right:15px}.upload-component .custom-file .custom-file-input{bottom:0;display:inline-block;left:0;margin:0;opacity:0;overflow:hidden;position:absolute;right:0;top:0;width:100%;z-index:2}.upload-component.upload-multiple .upload-progress .progress{border-bottom-right-radius:0;border-top-right-radius:0}.upload-component.upload-single .upload-progress .progress{border-radius:0}.upload-component .upload-progress{padding:0}.upload-component .upload-progress .progress{height:100%}.upload-component .upload-progress .progress .progress-text{color:#000;display:table-cell;height:34px;left:0;line-height:34px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.dropzone{border-style:dashed;border-width:2px;min-height:120px;padding-bottom:50px;padding-top:50px;position:relative;text-align:center;width:100%}.dropzone.active{background-color:#add8e6}.dropzone .progress{border-radius:0}.dropzone .progress .progress-bar{border-bottom-right-radius:0;border-top-right-radius:0;display:flex;flex-direction:column;justify-content:center;text-align:center}.dropzone .progress .progress-bar .progress-text{color:#000;display:table-cell;height:34px;left:0;line-height:34px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.dropzone input[type=file]{bottom:0;left:0;opacity:0;position:absolute;right:0;top:0;width:100%}.dropzone .dropzone-uploadstates{margin-left:auto;margin-right:auto;margin-top:6px;max-width:450px;width:80%}"]
1908
- },] }
1909
- ];
1910
- SacUploadMultipleComponent.ctorParameters = () => [
1911
- { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
1912
- { type: Injector },
1913
- { type: Renderer2 },
1914
- { type: NgZone }
1915
- ];
1916
-
1917
- class SACBootstrap3UploadModule {
1918
- }
1919
- SACBootstrap3UploadModule.decorators = [
1920
- { type: NgModule, args: [{
1921
- declarations: [
1922
- SacUploadComponent,
1923
- SacUploadMultipleComponent,
1924
- SacDropzoneSingleComponent,
1925
- SacDropzoneMultipleComponent,
1926
- ],
1927
- imports: [CommonModule, FormsModule, SACBootstrap3LayoutModule, SACBootstrap3TooltipModule],
1928
- exports: [SacUploadComponent, SacUploadMultipleComponent, SacDropzoneSingleComponent, SacDropzoneMultipleComponent],
1929
- },] }
1930
- ];
1931
-
1932
- /**
1933
- * Erweiterung / Hooking für automatismen in Formular. Wird als Container für alle Controls benötigt.
1934
- *
1935
- * @example Beispiel über Div Container
1936
- *
1937
- * <div ngForm></div>
1938
- *
1939
- * @example Beispiel über Form Tag
1940
- *
1941
- * <form></form>
1942
- */
1943
- /* eslint @angular-eslint/directive-selector: 0 */
1944
- class SacFormDirective extends SacFormCommon {
1945
- // #endregion Properties
1946
- // #region Constructors
1947
- /**
1948
- * Konstruktor
1949
- * @param form Instanz von NgForm für eigene automatische Formular Logik
1950
- */
1951
- constructor(form) {
1952
- super(form);
1953
- // #region Properties
1954
- /**
1955
- * Sets the standard CSS class for forms on the form container
1956
- */
1957
- this.cssClassForm = true;
1958
- /**
1959
- * Sets the default CSS class for horizontal forms on the form container
1960
- */
1961
- this.cssClassHorizontal = true;
1962
- }
1963
- }
1964
- SacFormDirective.decorators = [
1965
- { type: Directive, args: [{
1966
- selector: 'form:not([ngNoForm]):not([formGroup]),[ngForm]',
1967
- exportAs: 'sacform',
1968
- },] }
1969
- ];
1970
- SacFormDirective.ctorParameters = () => [
1971
- { type: NgForm }
1972
- ];
1973
- SacFormDirective.propDecorators = {
1974
- cssClassForm: [{ type: HostBinding, args: ['class.form',] }],
1975
- cssClassHorizontal: [{ type: HostBinding, args: ['class.form-horizontal',] }]
1612
+ class SACBootstrap3TabsModule {
1613
+ }
1614
+ SACBootstrap3TabsModule.decorators = [
1615
+ { type: NgModule, args: [{
1616
+ declarations: [SacTabComponent, SacTabItemComponent],
1617
+ imports: [
1618
+ CommonModule
1619
+ ],
1620
+ exports: [SacTabComponent, SacTabItemComponent]
1621
+ },] }
1622
+ ];
1623
+
1624
+ class SacTinyMceComponent extends SacTinyMceCommon {
1625
+ // #region Constructors
1626
+ /**
1627
+ * Constructor
1628
+ * @param formLayout SacFormLayout to define scoped layout settings
1629
+ * @param injector Injector for injecting services
1630
+ * @param ngZone ngZone to manage external javascripts
1631
+ */
1632
+ constructor(formLayout, injector, ngZone) {
1633
+ super(formLayout, injector, ngZone);
1634
+ }
1635
+ // #endregion Constructors
1636
+ // #region Public Methods
1637
+ /**
1638
+ * overwrite tinymce defaults
1639
+ * @returns boostrap3 does not support file browser
1640
+ */
1641
+ overwriteDefaultSettings() {
1642
+ return { file_picker_types: undefined, file_picker_callback: undefined };
1643
+ }
1644
+ }
1645
+ SacTinyMceComponent.decorators = [
1646
+ { type: Component, args: [{
1647
+ selector: 'sac-tinymce',
1648
+ template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.has-error]=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <div [style.flex-grow]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 1 : null\">\n <editor\n [id]=\"name + '_tinymce'\"\n [init]=\"_config\"\n [initialValue]=\"value\"\n ngModel\n [ngModelOptions]=\"{ standalone: true }\"\n (ngModelChange)=\"setValue($event)\"\n (onSaveContent)=\"save($event.event.content)\"\n [disabled]=\"disabled\"\n [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\"></editor>\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"help-block\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n\n<sac-dialog\n *ngIf=\"selectdialogvisible\"\n [allowesc]=\"false\"\n [backdrop]=\"true\"\n [(isvisible)]=\"selectdialogvisible\"\n title=\"{{ lngResourceService.GetString(validationKeyService.TinyMceFileselectDialogtitle) | async }}\"\n size=\"large\"\n height=\"500px\">\n <ng-container dialogbody> </ng-container>\n <ng-container dialogfooter>\n <sac-button\n role=\"primary\"\n [name]=\"name + '_modalOk'\"\n text=\"{{ lngResourceService.GetString(validationKeyService.TinyMceFileselectOk) | async }}\"\n (clicked)=\"setSelectDialogResult()\"></sac-button>\n <sac-button\n [name]=\"name + '_modalClose'\"\n text=\"{{ lngResourceService.GetString(validationKeyService.TinyMceFileselectCancel) | async }}\"\n (clicked)=\"closeSelectDialog()\"></sac-button>\n </ng-container>\n</sac-dialog>\n",
1649
+ // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
1650
+ providers: [
1651
+ {
1652
+ provide: NG_VALUE_ACCESSOR,
1653
+ multi: true,
1654
+ useExisting: SacTinyMceComponent,
1655
+ },
1656
+ {
1657
+ provide: NG_VALIDATORS,
1658
+ useExisting: forwardRef(() => SacTinyMceComponent),
1659
+ multi: true,
1660
+ },
1661
+ ]
1662
+ },] }
1663
+ ];
1664
+ SacTinyMceComponent.ctorParameters = () => [
1665
+ { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
1666
+ { type: Injector },
1667
+ { type: NgZone }
1668
+ ];
1669
+
1670
+ class SACBootstrap3TinyMceModule {
1671
+ }
1672
+ SACBootstrap3TinyMceModule.decorators = [
1673
+ { type: NgModule, args: [{
1674
+ declarations: [SacTinyMceComponent],
1675
+ imports: [
1676
+ CommonModule,
1677
+ FormsModule,
1678
+ EditorModule,
1679
+ SACBootstrap3ButtonModule,
1680
+ SACBootstrap3DialogModule,
1681
+ SACBootstrap3LayoutModule,
1682
+ SACBootstrap3TooltipModule,
1683
+ ],
1684
+ exports: [SacTinyMceComponent],
1685
+ },] }
1686
+ ];
1687
+
1688
+ /**
1689
+ * Treeview Compomnent
1690
+ */
1691
+ class SacTreeviewComponent extends SacTreeviewCommon {
1692
+ // #region Constructors
1693
+ /**
1694
+ * Constructor
1695
+ * @param formLayout SacFormLayout to define scoped layout settings
1696
+ * @param injector Component Injector
1697
+ */
1698
+ constructor(formLayout, injector) {
1699
+ super(formLayout, injector);
1700
+ }
1701
+ }
1702
+ SacTreeviewComponent.decorators = [
1703
+ { type: Component, args: [{
1704
+ selector: 'sac-treeview',
1705
+ template: "<div\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\"\n [class.has-error]=\"invalid && (dirty || touched)\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.has-error]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n <div [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <div [style.width.%]=\"helptextmode === 'tooltip' && helptext && disablelabel ? '100' : null\">\n <table\n class=\"table table-hover table-condensed\"\n id=\"{{ name }}\"\n style=\"table-layout: fixed\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [class.border]=\"invalid && (dirty || touched)\"\n [class.border-danger]=\"invalid && (dirty || touched)\">\n <tbody>\n <ng-container *ngFor=\"let node of data\">\n <ng-template\n [ngTemplateOutlet]=\"treeItem\"\n [ngTemplateOutletContext]=\"{ node: node, deep: 0, path: '', textpath: '' }\">\n </ng-template>\n </ng-container>\n </tbody>\n </table>\n\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"help-block\">\n {{ GetErrorMessage() | async }}\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n </div>\n</div>\n<ng-template\n #treeItem\n let-node=\"node\"\n let-deep=\"deep\"\n let-path=\"path\"\n let-textpath=\"textpath\">\n <tr\n [class.active]=\"isSelectedState(node)\"\n attr.data-path=\"{{ path }}/{{ getStringField(node, attrid) }}\"\n attr.data-textpath=\"{{ textpath }}/{{ getStringField(node, attrlabel) }}\">\n <td>\n <div\n class=\"py-1 px-2 d-flex align-items-center\"\n style=\"display: flex; flex-direction: row; cursor: pointer; align-items: center\"\n (mouseenter)=\"setHoverState(node, true)\"\n (mouseleave)=\"setHoverState(node, false)\">\n <div\n style=\"margin-right: 15px\"\n *ngFor=\"let i of count(deep)\">\n </div>\n\n <div\n (click)=\"onNodeClicked(node)\"\n *ngIf=\"expandedstate === 'true' || expandedstate === true\"\n style=\"margin-right: 15px\"\n [ngClass]=\"!hasChildren(node) ? iconFolderEmpty : !isExpandedState(node) ? iconFolderCollabsed : isExpandedState(node) ? iconFolderOpen : ''\">\n </div>\n\n <div\n (click)=\"onNodeClicked(node)\"\n *ngIf=\"attricon && getStringField(node, attricon)\">\n <ng-template\n [ngTemplateOutlet]=\"templateicon || defaultTemplateIcon\"\n [ngTemplateOutletContext]=\"{ node: node }\">\n </ng-template>\n </div>\n\n <div\n (click)=\"onNodeClicked(node)\"\n style=\"padding-top: 7px; padding-bottom: 7px; flex-grow: 1\"\n [style.max-width.%]=\"enableellipsis ? '100' : null\"\n [style.overflow]=\"enableellipsis ? 'hidden' : null\"\n [style.text-overflow]=\"enableellipsis ? 'ellipsis' : null\"\n [style.white-space]=\"enableellipsis ? 'nowrap' : null\">\n <ng-template\n [ngTemplateOutlet]=\"templatelabel || defaultTemplateLabel\"\n [ngTemplateOutletContext]=\"{ node: node, label: getStringField(node, attrlabel) }\">\n </ng-template>\n </div>\n\n <div\n (click)=\"setSelectedState(node)\"\n style=\"flex-shrink: 0\"\n *ngIf=\"!isDisabledState(node) && (showactionalways || isSelectedState(node) || isHoverState(node))\">\n <ng-template\n [ngTemplateOutlet]=\"templateaction || defaultTemplateAction\"\n [ngTemplateOutletContext]=\"{ node: node, actionhandler: onActionClicked.bind(this) }\">\n </ng-template>\n </div>\n </div>\n </td>\n </tr>\n <ng-container *ngIf=\"isExpandedState(node)\">\n <ng-template\n *ngFor=\"let child of getChildren(node)\"\n [ngTemplateOutlet]=\"treeItem\"\n [ngTemplateOutletContext]=\"{\n node: child,\n deep: deep + 1,\n path: path + '/' + getStringField(node, attrid),\n textpath: textpath + '/' + getStringField(node, attrlabel)\n }\">\n </ng-template>\n </ng-container>\n</ng-template>\n\n<ng-template\n #defaultTemplateLabel\n let-label=\"label\"\n let-node=\"node\">\n <span [title]=\"label\">\n {{ label }}\n </span>\n</ng-template>\n\n<ng-template\n #defaultTemplateIcon\n let-node=\"node\">\n <div\n style=\"margin-right: 15px\"\n [ngClass]=\"getStringField(node, attricon)\">\n </div>\n</ng-template>\n\n<ng-template\n #defaultTemplateAction\n let-node=\"node\"\n let-actionhandler=\"actionhandler\">\n <a\n class=\"btn btn-link text-secondary\"\n (click)=\"actionhandler({ action: 'default', node: node })\">\n <i [class]=\"iconAction\"></i>\n </a>\n</ng-template>\n",
1706
+ providers: [
1707
+ {
1708
+ provide: NG_VALUE_ACCESSOR,
1709
+ multi: true,
1710
+ useExisting: SacTreeviewComponent,
1711
+ },
1712
+ {
1713
+ provide: NG_VALIDATORS,
1714
+ useExisting: forwardRef(() => SacTreeviewComponent),
1715
+ multi: true,
1716
+ },
1717
+ ]
1718
+ },] }
1719
+ ];
1720
+ SacTreeviewComponent.ctorParameters = () => [
1721
+ { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
1722
+ { type: Injector }
1723
+ ];
1724
+
1725
+ class SACBootstrap3TreeviewModule {
1726
+ }
1727
+ SACBootstrap3TreeviewModule.decorators = [
1728
+ { type: NgModule, args: [{
1729
+ declarations: [SacTreeviewComponent],
1730
+ imports: [CommonModule, SACBootstrap3TooltipModule, SACBootstrap3LayoutModule, SACBootstrap3ContextmenuModule],
1731
+ exports: [SacTreeviewComponent],
1732
+ },] }
1733
+ ];
1734
+
1735
+ /**
1736
+ * Dropzone Komponente für mehrere Uploads
1737
+ * @see https://github.com/kukhariev/ngx-uploadx/
1738
+ */
1739
+ class SacDropzoneMultipleComponent extends SacDropzoneMultipleCommon {
1740
+ // #region Constructors
1741
+ /**
1742
+ * Constructor
1743
+ * @param formLayout SacFormLayout to define scoped layout settings
1744
+ * @param injector Injector for injecting services
1745
+ * @param renderer Angular rendering engine
1746
+ * @param ngZone ngZone to manage external javascripts
1747
+ */
1748
+ constructor(formLayout, injector, renderer, ngZone) {
1749
+ super(formLayout, injector, renderer, ngZone);
1750
+ }
1751
+ // #endregion Constructors
1752
+ // #region Public Methods
1753
+ /**
1754
+ * Initialisiert das Control
1755
+ */
1756
+ ngOnInit() {
1757
+ super.ngOnInit();
1758
+ }
1759
+ }
1760
+ SacDropzoneMultipleComponent.decorators = [
1761
+ { type: Component, args: [{
1762
+ selector: 'sac-dropzonemultiple',
1763
+ template: "<div\n id=\"{{ name }}\"\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}_uploadinput\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <div [style.flex-grow]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 1 : null\">\n <div\n class=\"img-rounded dropzone control-label\"\n (drop)=\"dropHandler($event)\"\n (dragover)=\"onDragOver($event)\"\n (dragleave)=\"onDragLeave($event)\"\n [class.active]=\"active\"\n [style.min-height]=\"uploadheight\"\n [class.is-invalid]=\"invalid && (dirty || touched)\">\n <div\n class=\"content\"\n *ngIf=\"uploads.length === 0\">\n <div>\n <div [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n <div *ngIf=\"uploads.length > 0\">\n <div>\n <div\n class=\"dropzone-uploadstates\"\n [class.mt-1]=\"i > 0\"\n *ngFor=\"let file of uploads; let i = index\">\n <div\n class=\"input-group upload-component upload-component-multiple\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <div class=\"form-control upload-progress border-secondary\">\n <div class=\"progress\">\n <div\n class=\"progress-bar\"\n [class.progress-bar-success]=\"file.progress === 100\"\n role=\"progressbar\"\n [attr.aria-valuenow]=\"file.progress\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n [style.width.%]=\"file.progress\">\n <span class=\"progress-text\">{{ file.name }}</span>\n </div>\n </div>\n </div>\n <div class=\"input-group-btn\">\n <!-- image-preview-clear button -->\n <a\n class=\"btn\"\n (click)=\"cancel(file.uploadId)\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconDelete\"></span>\n </a>\n </div>\n </div>\n </div>\n </div>\n </div>\n <input\n #files\n multiple\n id=\"{{ name }}_uploadinput\"\n type=\"file\"\n class=\"custom-file-input\"\n (click)=\"files.value = ''\"\n (uploadxState)=\"onUpload($event)\"\n [disabled]=\"HasQueueItem()\" />\n </div>\n <small\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </small>\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"help-block help-block-error\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n",
1764
+ providers: [
1765
+ {
1766
+ provide: NG_VALUE_ACCESSOR,
1767
+ multi: true,
1768
+ useExisting: SacDropzoneMultipleComponent,
1769
+ },
1770
+ {
1771
+ provide: NG_VALIDATORS,
1772
+ multi: true,
1773
+ useExisting: forwardRef(() => SacDropzoneMultipleComponent),
1774
+ },
1775
+ ],
1776
+ styles: [".upload-component .upload-input{position:relative}.upload-component .custom-file>i{margin-right:15px}.upload-component .custom-file .custom-file-input{bottom:0;display:inline-block;left:0;margin:0;opacity:0;overflow:hidden;position:absolute;right:0;top:0;width:100%;z-index:2}.upload-component.upload-multiple .upload-progress .progress{border-bottom-right-radius:0;border-top-right-radius:0}.upload-component.upload-single .upload-progress .progress{border-radius:0}.upload-component .upload-progress{padding:0}.upload-component .upload-progress .progress{height:100%}.upload-component .upload-progress .progress .progress-text{color:#000;display:table-cell;height:34px;left:0;line-height:34px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.dropzone{border-style:dashed;border-width:2px;min-height:120px;padding-bottom:50px;padding-top:50px;position:relative;text-align:center;width:100%}.dropzone.active{background-color:#add8e6}.dropzone .progress{border-radius:0}.dropzone .progress .progress-bar{border-bottom-right-radius:0;border-top-right-radius:0;display:flex;flex-direction:column;justify-content:center;text-align:center}.dropzone .progress .progress-bar .progress-text{color:#000;display:table-cell;height:34px;left:0;line-height:34px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.dropzone input[type=file]{bottom:0;left:0;opacity:0;position:absolute;right:0;top:0;width:100%}.dropzone .dropzone-uploadstates{margin-left:auto;margin-right:auto;margin-top:6px;max-width:450px;width:80%}"]
1777
+ },] }
1778
+ ];
1779
+ SacDropzoneMultipleComponent.ctorParameters = () => [
1780
+ { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
1781
+ { type: Injector },
1782
+ { type: Renderer2 },
1783
+ { type: NgZone }
1784
+ ];
1785
+
1786
+ /**
1787
+ * Dropzone Komponente für den Upload eines Files
1788
+ * @see https://github.com/kukhariev/ngx-uploadx/
1789
+ */
1790
+ class SacDropzoneSingleComponent extends SacDropzoneSingleCommon {
1791
+ // #region Constructors
1792
+ /**
1793
+ * Constructor
1794
+ * @param formLayout SacFormLayout to define scoped layout settings
1795
+ * @param injector Injector for injecting services
1796
+ * @param renderer Angular rendering engine
1797
+ * @param ngZone ngZone to manage external javascripts
1798
+ */
1799
+ constructor(formLayout, injector, renderer, ngZone) {
1800
+ super(formLayout, injector, renderer, ngZone);
1801
+ }
1802
+ // #endregion Constructors
1803
+ // #region Public Methods
1804
+ /**
1805
+ * Initialisiert das Control
1806
+ */
1807
+ ngOnInit() {
1808
+ super.ngOnInit();
1809
+ }
1810
+ }
1811
+ SacDropzoneSingleComponent.decorators = [
1812
+ { type: Component, args: [{
1813
+ selector: 'sac-dropzonesingle',
1814
+ template: "<div\n id=\"{{ name }}\"\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}_uploadinput\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <div [style.flex-grow]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 1 : null\">\n <div\n class=\"img-rounded dropzone control-label\"\n (drop)=\"dropHandler($event)\"\n (dragover)=\"onDragOver($event)\"\n (dragleave)=\"onDragLeave($event)\"\n [style.min-height]=\"uploadheight\"\n [class.active]=\"active\"\n [class.is-invalid]=\"invalid && (dirty || touched)\">\n <div\n class=\"content\"\n *ngIf=\"uploads.length === 0\">\n <div>\n <div [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n <div *ngIf=\"uploads.length > 0\">\n <div>\n <div\n class=\"dropzone-uploadstates\"\n *ngFor=\"let file of uploads\">\n <div\n class=\"input-group upload-component upload-component-multiple\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <div class=\"form-control upload-progress\">\n <div class=\"progress\">\n <div\n class=\"progress-bar\"\n [class.progress-bar-success]=\"file.progress === 100\"\n role=\"progressbar\"\n [attr.aria-valuenow]=\"file.progress\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n [style.width.%]=\"file.progress\">\n <span class=\"progress-text\">{{ file.name }}</span>\n </div>\n </div>\n </div>\n <div class=\"input-group-btn\">\n <!-- image-preview-clear button -->\n <a\n class=\"btn\"\n (click)=\"cancel(file.uploadId)\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconDelete\"></span>\n </a>\n </div>\n </div>\n </div>\n </div>\n </div>\n <input\n #files\n id=\"{{ name }}_uploadinput\"\n type=\"file\"\n class=\"custom-file-input\"\n (click)=\"files.value = ''\"\n (uploadxState)=\"onUpload($event)\"\n [disabled]=\"HasQueueItem()\" />\n </div>\n <small\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </small>\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"help-block help-block-error\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n",
1815
+ providers: [
1816
+ {
1817
+ provide: NG_VALUE_ACCESSOR,
1818
+ multi: true,
1819
+ useExisting: SacDropzoneSingleComponent,
1820
+ },
1821
+ {
1822
+ provide: NG_VALIDATORS,
1823
+ multi: true,
1824
+ useExisting: forwardRef(() => SacDropzoneSingleComponent),
1825
+ },
1826
+ ],
1827
+ styles: [".upload-component .upload-input{position:relative}.upload-component .custom-file>i{margin-right:15px}.upload-component .custom-file .custom-file-input{bottom:0;display:inline-block;left:0;margin:0;opacity:0;overflow:hidden;position:absolute;right:0;top:0;width:100%;z-index:2}.upload-component.upload-multiple .upload-progress .progress{border-bottom-right-radius:0;border-top-right-radius:0}.upload-component.upload-single .upload-progress .progress{border-radius:0}.upload-component .upload-progress{padding:0}.upload-component .upload-progress .progress{height:100%}.upload-component .upload-progress .progress .progress-text{color:#000;display:table-cell;height:34px;left:0;line-height:34px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.dropzone{border-style:dashed;border-width:2px;min-height:120px;padding-bottom:50px;padding-top:50px;position:relative;text-align:center;width:100%}.dropzone.active{background-color:#add8e6}.dropzone .progress{border-radius:0}.dropzone .progress .progress-bar{border-bottom-right-radius:0;border-top-right-radius:0;display:flex;flex-direction:column;justify-content:center;text-align:center}.dropzone .progress .progress-bar .progress-text{color:#000;display:table-cell;height:34px;left:0;line-height:34px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.dropzone input[type=file]{bottom:0;left:0;opacity:0;position:absolute;right:0;top:0;width:100%}.dropzone .dropzone-uploadstates{margin-left:auto;margin-right:auto;margin-top:6px;max-width:450px;width:80%}"]
1828
+ },] }
1829
+ ];
1830
+ SacDropzoneSingleComponent.ctorParameters = () => [
1831
+ { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
1832
+ { type: Injector },
1833
+ { type: Renderer2 },
1834
+ { type: NgZone }
1835
+ ];
1836
+
1837
+ // https://github.com/kukhariev/ngx-uploadx/
1838
+ class SacUploadComponent extends SacUploadSingleCommon {
1839
+ // #region Constructors
1840
+ /**
1841
+ * Constructor
1842
+ * @param formLayout SacFormLayout to define scoped layout settings
1843
+ * @param injector Injector for injecting services
1844
+ * @param renderer Angular rendering engine
1845
+ * @param ngZone ngZone to manage external javascripts
1846
+ */
1847
+ constructor(formLayout, injector, renderer, ngZone) {
1848
+ super(formLayout, injector, renderer, ngZone);
1849
+ }
1850
+ }
1851
+ SacUploadComponent.decorators = [
1852
+ { type: Component, args: [{
1853
+ selector: 'sac-upload',
1854
+ template: "<div\n id=\"{{ name }}\"\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}_uploadinput\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <div [style.flex-grow]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 1 : null\">\n <div\n class=\"input-group upload-component upload-single\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <div class=\"input-group-btn\">\n <!-- image-preview-input -->\n <div\n class=\"btn upload-input custom-file\"\n [class.disabled]=\"HasQueueItem()\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <i [class]=\"IconBrowse\"></i>\n <span class=\"upload-browse\">{{ buttonbrowse ? buttonbrowse : (lngResourceService.GetString(validationKeyService.UploadButtonBrowse) | async) }}</span>\n <input\n id=\"{{ name }}_uploadinput\"\n type=\"file\"\n class=\"custom-file-input\"\n #files\n (click)=\"files.value = ''\"\n (uploadxState)=\"onUpload($event)\"\n multiple\n [disabled]=\"HasQueueItem()\" />\n </div>\n </div>\n <div class=\"form-control upload-progress\">\n <div class=\"progress\">\n <div\n class=\"progress-bar\"\n [class.progress-bar-success]=\"Progress() === 100\"\n role=\"progressbar\"\n [attr.aria-valuenow]=\"Progress()\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n [style.width.%]=\"Progress()\">\n <span class=\"progress-text text-dark\">{{ Filename() | async }}</span>\n </div>\n </div>\n </div>\n\n <div class=\"input-group-btn\">\n <!-- image-preview-clear button -->\n <a\n class=\"btn\"\n (click)=\"cancelAll()\"\n [attr.disabled]=\"HasQueueItem() === false ? 'disabled' : null\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconDelete\"></span>\n </a>\n <a\n *ngIf=\"(autoupload === false && enablepause) || (autoupload && enablepause && IsPaused() === false)\"\n class=\"btn\"\n (click)=\"pauseAll()\"\n [attr.disabled]=\"IsUploading() === false ? 'disabled' : null\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconPause\"></span>\n </a>\n <a\n *ngIf=\"autoupload && enablepause && IsPaused()\"\n class=\"btn\"\n (click)=\"uploadAll()\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconContinue\"></span>\n </a>\n <a\n *ngIf=\"autoupload === false\"\n class=\"btn\"\n (click)=\"uploadAll()\"\n [attr.disabled]=\"IsStateToUpload() === false ? 'disabled' : null\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconUpload\"></span> {{ buttonupload ? buttonupload : (lngResourceService.GetString(validationKeyService.UploadButtonUpload) | async) }}\n </a>\n </div>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n",
1855
+ providers: [
1856
+ {
1857
+ provide: NG_VALUE_ACCESSOR,
1858
+ multi: true,
1859
+ useExisting: SacUploadComponent,
1860
+ },
1861
+ {
1862
+ provide: NG_VALIDATORS,
1863
+ multi: true,
1864
+ useExisting: forwardRef(() => SacUploadComponent),
1865
+ },
1866
+ ],
1867
+ styles: [".upload-component .upload-input{position:relative}.upload-component .custom-file>i{margin-right:15px}.upload-component .custom-file .custom-file-input{bottom:0;display:inline-block;left:0;margin:0;opacity:0;overflow:hidden;position:absolute;right:0;top:0;width:100%;z-index:2}.upload-component.upload-multiple .upload-progress .progress{border-bottom-right-radius:0;border-top-right-radius:0}.upload-component.upload-single .upload-progress .progress{border-radius:0}.upload-component .upload-progress{padding:0}.upload-component .upload-progress .progress{height:100%}.upload-component .upload-progress .progress .progress-text{color:#000;display:table-cell;height:34px;left:0;line-height:34px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.dropzone{border-style:dashed;border-width:2px;min-height:120px;padding-bottom:50px;padding-top:50px;position:relative;text-align:center;width:100%}.dropzone.active{background-color:#add8e6}.dropzone .progress{border-radius:0}.dropzone .progress .progress-bar{border-bottom-right-radius:0;border-top-right-radius:0;display:flex;flex-direction:column;justify-content:center;text-align:center}.dropzone .progress .progress-bar .progress-text{color:#000;display:table-cell;height:34px;left:0;line-height:34px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.dropzone input[type=file]{bottom:0;left:0;opacity:0;position:absolute;right:0;top:0;width:100%}.dropzone .dropzone-uploadstates{margin-left:auto;margin-right:auto;margin-top:6px;max-width:450px;width:80%}"]
1868
+ },] }
1869
+ ];
1870
+ SacUploadComponent.ctorParameters = () => [
1871
+ { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
1872
+ { type: Injector },
1873
+ { type: Renderer2 },
1874
+ { type: NgZone }
1875
+ ];
1876
+
1877
+ // https://github.com/kukhariev/ngx-uploadx/
1878
+ class SacUploadMultipleComponent extends SacUploadMultipleCommon {
1879
+ // #region Constructors
1880
+ /**
1881
+ * Constructor
1882
+ * @param formLayout SacFormLayout to define scoped layout settings
1883
+ * @param injector Injector for injecting services
1884
+ * @param renderer Angular rendering engine
1885
+ * @param ngZone ngZone to manage external javascripts
1886
+ */
1887
+ constructor(formLayout, injector, renderer, ngZone) {
1888
+ super(formLayout, injector, renderer, ngZone);
1889
+ }
1890
+ }
1891
+ SacUploadMultipleComponent.decorators = [
1892
+ { type: Component, args: [{
1893
+ selector: 'sac-uploadmultiple',
1894
+ template: "<div\n id=\"{{ name }}\"\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}_uploadinput\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\n <div class=\"upload-component\">\n <div class=\"row\">\n <div\n class=\"col-xs-12\"\n [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <div\n class=\"btn-group\"\n [class.btn-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.btn-group-lg]=\"componentHeight === ControlHeight.Large\">\n <div\n class=\"btn upload-input custom-file\"\n [class.disabled]=\"maxfiles > 0 && uploads.length >= maxfiles\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <i [class]=\"IconBrowse\"></i>\n <span class=\"upload-browse\">{{ buttonbrowse ? buttonbrowse : (lngResourceService.GetString(validationKeyService.UploadButtonBrowse) | async) }}</span>\n <input\n id=\"{{ name }}_uploadinput\"\n type=\"file\"\n class=\"custom-file-input\"\n #files\n (click)=\"files.value = ''\"\n (uploadxState)=\"onUpload($event)\"\n multiple\n [disabled]=\"maxfiles > 0 && uploads.length >= maxfiles\" />\n </div>\n\n <div\n class=\"btn-group\"\n [class.btn-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.btn-group-lg]=\"componentHeight === ControlHeight.Large\">\n <!-- image-preview-clear button -->\n <a\n class=\"btn\"\n (click)=\"cancelAll()\"\n [attr.disabled]=\"HasQueueItem() === false ? 'disabled' : null\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconDelete\"></span>\n </a>\n <a\n *ngIf=\"(autoupload === false && enablepause) || (autoupload && enablepause && IsPaused() === false)\"\n class=\"btn\"\n (click)=\"pauseAll()\"\n [attr.disabled]=\"IsUploading() === false ? 'disabled' : null\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconPause\"></span>\n </a>\n <a\n *ngIf=\"autoupload && enablepause && IsPaused() === true\"\n class=\"btn\"\n (click)=\"uploadAll()\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconContinue\"></span>\n </a>\n <a\n *ngIf=\"autoupload === false\"\n class=\"btn\"\n (click)=\"uploadAll()\"\n [attr.disabled]=\"IsStateToUpload() === false ? 'disabled' : null\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconUpload\"></span>\n {{ buttonupload ? buttonupload : (lngResourceService.GetString(validationKeyService.UploadButtonUpload) | async) }}\n </a>\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n </div>\n\n <div\n *ngFor=\"let file of uploads\"\n style=\"margin-top: 5px\">\n <div\n class=\"input-group upload-component upload-multiple\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <div class=\"form-control upload-progress\">\n <div class=\"progress\">\n <div\n class=\"progress-bar\"\n [class.progress-bar-success]=\"file.progress === 100\"\n role=\"progressbar\"\n [attr.aria-valuenow]=\"file.progress\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n [style.width.%]=\"file.progress\">\n <span class=\"progress-text text-dark\">{{ file.name }}</span>\n </div>\n </div>\n </div>\n <div\n class=\"input-group-btn\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <!-- image-preview-clear button -->\n <a\n class=\"btn\"\n (click)=\"cancel(file.uploadId)\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconDelete\"></span>\n </a>\n <a\n *ngIf=\"(autoupload === false && enablepause) || (autoupload && enablepause && file.status !== 'paused')\"\n class=\"btn\"\n (click)=\"pause(file.uploadId)\"\n [attr.disabled]=\"file.status !== 'uploading' ? 'disabled' : null\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconPause\"></span>\n </a>\n <a\n *ngIf=\"autoupload && enablepause && file.status === 'paused'\"\n class=\"btn\"\n (click)=\"upload(file.uploadId)\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconContinue\"></span>\n </a>\n <a\n *ngIf=\"autoupload === false\"\n class=\"btn\"\n (click)=\"upload(file.uploadId)\"\n [attr.disabled]=\"file.status !== 'added' && file.status !== 'paused' ? 'disabled' : null\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconUpload\"></span> {{ buttonupload ? buttonupload : (lngResourceService.GetString(validationKeyService.UploadButtonUpload) | async) }}\n </a>\n </div>\n </div>\n </div>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n</div>\n",
1895
+ providers: [
1896
+ {
1897
+ provide: NG_VALUE_ACCESSOR,
1898
+ multi: true,
1899
+ useExisting: SacUploadMultipleComponent,
1900
+ },
1901
+ {
1902
+ provide: NG_VALIDATORS,
1903
+ multi: true,
1904
+ useExisting: forwardRef(() => SacUploadMultipleComponent),
1905
+ },
1906
+ ],
1907
+ styles: [".upload-component .upload-input{position:relative}.upload-component .custom-file>i{margin-right:15px}.upload-component .custom-file .custom-file-input{bottom:0;display:inline-block;left:0;margin:0;opacity:0;overflow:hidden;position:absolute;right:0;top:0;width:100%;z-index:2}.upload-component.upload-multiple .upload-progress .progress{border-bottom-right-radius:0;border-top-right-radius:0}.upload-component.upload-single .upload-progress .progress{border-radius:0}.upload-component .upload-progress{padding:0}.upload-component .upload-progress .progress{height:100%}.upload-component .upload-progress .progress .progress-text{color:#000;display:table-cell;height:34px;left:0;line-height:34px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.dropzone{border-style:dashed;border-width:2px;min-height:120px;padding-bottom:50px;padding-top:50px;position:relative;text-align:center;width:100%}.dropzone.active{background-color:#add8e6}.dropzone .progress{border-radius:0}.dropzone .progress .progress-bar{border-bottom-right-radius:0;border-top-right-radius:0;display:flex;flex-direction:column;justify-content:center;text-align:center}.dropzone .progress .progress-bar .progress-text{color:#000;display:table-cell;height:34px;left:0;line-height:34px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.dropzone input[type=file]{bottom:0;left:0;opacity:0;position:absolute;right:0;top:0;width:100%}.dropzone .dropzone-uploadstates{margin-left:auto;margin-right:auto;margin-top:6px;max-width:450px;width:80%}"]
1908
+ },] }
1909
+ ];
1910
+ SacUploadMultipleComponent.ctorParameters = () => [
1911
+ { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
1912
+ { type: Injector },
1913
+ { type: Renderer2 },
1914
+ { type: NgZone }
1915
+ ];
1916
+
1917
+ class SACBootstrap3UploadModule {
1918
+ }
1919
+ SACBootstrap3UploadModule.decorators = [
1920
+ { type: NgModule, args: [{
1921
+ declarations: [
1922
+ SacUploadComponent,
1923
+ SacUploadMultipleComponent,
1924
+ SacDropzoneSingleComponent,
1925
+ SacDropzoneMultipleComponent,
1926
+ ],
1927
+ imports: [CommonModule, FormsModule, SACBootstrap3LayoutModule, SACBootstrap3TooltipModule],
1928
+ exports: [SacUploadComponent, SacUploadMultipleComponent, SacDropzoneSingleComponent, SacDropzoneMultipleComponent],
1929
+ },] }
1930
+ ];
1931
+
1932
+ /**
1933
+ * Erweiterung / Hooking für automatismen in Formular. Wird als Container für alle Controls benötigt.
1934
+ *
1935
+ * @example Beispiel über Div Container
1936
+ *
1937
+ * <div ngForm></div>
1938
+ *
1939
+ * @example Beispiel über Form Tag
1940
+ *
1941
+ * <form></form>
1942
+ */
1943
+ /* eslint @angular-eslint/directive-selector: 0 */
1944
+ class SacFormDirective extends SacFormCommon {
1945
+ // #endregion Properties
1946
+ // #region Constructors
1947
+ /**
1948
+ * Konstruktor
1949
+ * @param form Instanz von NgForm für eigene automatische Formular Logik
1950
+ */
1951
+ constructor(form) {
1952
+ super(form);
1953
+ // #region Properties
1954
+ /**
1955
+ * Sets the standard CSS class for forms on the form container
1956
+ */
1957
+ this.cssClassForm = true;
1958
+ /**
1959
+ * Sets the default CSS class for horizontal forms on the form container
1960
+ */
1961
+ this.cssClassHorizontal = true;
1962
+ }
1963
+ }
1964
+ SacFormDirective.decorators = [
1965
+ { type: Directive, args: [{
1966
+ selector: 'form:not([ngNoForm]):not([formGroup]),[ngForm]',
1967
+ exportAs: 'sacform',
1968
+ },] }
1969
+ ];
1970
+ SacFormDirective.ctorParameters = () => [
1971
+ { type: NgForm }
1972
+ ];
1973
+ SacFormDirective.propDecorators = {
1974
+ cssClassForm: [{ type: HostBinding, args: ['class.form',] }],
1975
+ cssClassHorizontal: [{ type: HostBinding, args: ['class.form-horizontal',] }]
1976
1976
  };
1977
1977
 
1978
- class SacValidationSummaryComponent extends SacValidationSummaryCommon {
1979
- // #region Constructors
1980
- /**
1981
- * Constructor
1982
- * @param formControl Instance of Form Component to receive invalid form controls
1983
- * @param injector Injector for injecting services
1984
- */
1985
- constructor(formControl, injector) {
1986
- super(formControl, injector);
1987
- }
1988
- }
1989
- SacValidationSummaryComponent.decorators = [
1990
- { type: Component, args: [{
1991
- selector: 'sac-validationsummary',
1992
- template: "<div class=\"alert alert-danger\" role=\"alert\" *ngIf=\"hasErrors\" [id]=\"name\">\r\n <ul>\r\n <li *ngFor=\"let error of formErrors\">\r\n {{error | async}}\r\n </li>\r\n </ul>\r\n</div>\r\n",
1993
- // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
1994
- providers: [
1995
- {
1996
- provide: NG_VALUE_ACCESSOR,
1997
- multi: true,
1998
- useExisting: SacValidationSummaryComponent,
1999
- },
2000
- ]
2001
- },] }
2002
- ];
2003
- SacValidationSummaryComponent.ctorParameters = () => [
2004
- { type: SacFormDirective, decorators: [{ type: Host }, { type: Optional }] },
2005
- { type: Injector }
2006
- ];
2007
-
2008
- class SACBootstrap3ValidationSummaryModule {
2009
- }
2010
- SACBootstrap3ValidationSummaryModule.decorators = [
2011
- { type: NgModule, args: [{
2012
- declarations: [SacValidationSummaryComponent],
2013
- imports: [
2014
- CommonModule
2015
- ],
2016
- exports: [SacValidationSummaryComponent]
2017
- },] }
2018
- ];
2019
-
2020
- class SacWizardItemComponent extends SacWizardItemCommon {
2021
- }
2022
- SacWizardItemComponent.decorators = [
2023
- { type: Component, args: [{
2024
- selector: 'sac-wizarditem',
2025
- template: ""
2026
- },] }
2027
- ];
2028
-
2029
- class SacWizardComponent extends SacWizardCommon {
2030
- wizardItems() {
2031
- return this._wizardItems;
2032
- }
2033
- }
2034
- SacWizardComponent.decorators = [
2035
- { type: Component, args: [{
2036
- selector: 'sac-wizard',
2037
- template: "<ul [id]=\"name\" class=\"nav nav-wizard\" role=\"tablist\">\r\n <li *ngFor=\"let item of _wizardItems\" class=\"nav-item\" [ngClass]=\"{ 'active': item._active, 'disabled': item._disabled, 'success': item._iscomplete }\"\r\n [ngStyle]=\"{'cursor': item._disabled ? 'not-allowed' : 'pointer'}\">\r\n <a role=\"tab\" (click)=\"selectStep(item)\">\r\n <div class=\"circle\">\r\n <span class=\"step\"></span>\r\n </div>\r\n </a>\r\n <div class=\"info\">\r\n <a (click)=\"selectStep(item)\">{{item.label}}</a>\r\n </div>\r\n </li>\r\n</ul>\r\n",
2038
- // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
2039
- providers: [
2040
- { provide: NG_VALUE_ACCESSOR, multi: true, useExisting: SacWizardComponent }
2041
- ]
2042
- },] }
2043
- ];
2044
- SacWizardComponent.propDecorators = {
2045
- _wizardItems: [{ type: ContentChildren, args: [SacWizardItemComponent,] }]
1978
+ class SacValidationSummaryComponent extends SacValidationSummaryCommon {
1979
+ // #region Constructors
1980
+ /**
1981
+ * Constructor
1982
+ * @param formControl Instance of Form Component to receive invalid form controls
1983
+ * @param injector Injector for injecting services
1984
+ */
1985
+ constructor(formControl, injector) {
1986
+ super(formControl, injector);
1987
+ }
1988
+ }
1989
+ SacValidationSummaryComponent.decorators = [
1990
+ { type: Component, args: [{
1991
+ selector: 'sac-validationsummary',
1992
+ template: "<div class=\"alert alert-danger\" role=\"alert\" *ngIf=\"hasErrors\" [id]=\"name\">\n <ul>\n <li *ngFor=\"let error of formErrors\">\n {{error | async}}\n </li>\n </ul>\n</div>\n",
1993
+ // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
1994
+ providers: [
1995
+ {
1996
+ provide: NG_VALUE_ACCESSOR,
1997
+ multi: true,
1998
+ useExisting: SacValidationSummaryComponent,
1999
+ },
2000
+ ]
2001
+ },] }
2002
+ ];
2003
+ SacValidationSummaryComponent.ctorParameters = () => [
2004
+ { type: SacFormDirective, decorators: [{ type: Host }, { type: Optional }] },
2005
+ { type: Injector }
2006
+ ];
2007
+
2008
+ class SACBootstrap3ValidationSummaryModule {
2009
+ }
2010
+ SACBootstrap3ValidationSummaryModule.decorators = [
2011
+ { type: NgModule, args: [{
2012
+ declarations: [SacValidationSummaryComponent],
2013
+ imports: [
2014
+ CommonModule
2015
+ ],
2016
+ exports: [SacValidationSummaryComponent]
2017
+ },] }
2018
+ ];
2019
+
2020
+ class SacWizardItemComponent extends SacWizardItemCommon {
2021
+ }
2022
+ SacWizardItemComponent.decorators = [
2023
+ { type: Component, args: [{
2024
+ selector: 'sac-wizarditem',
2025
+ template: ""
2026
+ },] }
2027
+ ];
2028
+
2029
+ class SacWizardComponent extends SacWizardCommon {
2030
+ wizardItems() {
2031
+ return this._wizardItems;
2032
+ }
2033
+ }
2034
+ SacWizardComponent.decorators = [
2035
+ { type: Component, args: [{
2036
+ selector: 'sac-wizard',
2037
+ template: "<ul [id]=\"name\" class=\"nav nav-wizard\" role=\"tablist\">\n <li *ngFor=\"let item of _wizardItems\" class=\"nav-item\" [ngClass]=\"{ 'active': item._active, 'disabled': item._disabled, 'success': item._iscomplete }\"\n [ngStyle]=\"{'cursor': item._disabled ? 'not-allowed' : 'pointer'}\">\n <a role=\"tab\" (click)=\"selectStep(item)\">\n <div class=\"circle\">\n <span class=\"step\"></span>\n </div>\n </a>\n <div class=\"info\">\n <a (click)=\"selectStep(item)\">{{item.label}}</a>\n </div>\n </li>\n</ul>\n",
2038
+ // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
2039
+ providers: [
2040
+ { provide: NG_VALUE_ACCESSOR, multi: true, useExisting: SacWizardComponent }
2041
+ ]
2042
+ },] }
2043
+ ];
2044
+ SacWizardComponent.propDecorators = {
2045
+ _wizardItems: [{ type: ContentChildren, args: [SacWizardItemComponent,] }]
2046
2046
  };
2047
2047
 
2048
- class SACBootstrap3WizardModule {
2049
- }
2050
- SACBootstrap3WizardModule.decorators = [
2051
- { type: NgModule, args: [{
2052
- declarations: [SacWizardComponent, SacWizardItemComponent],
2053
- imports: [
2054
- CommonModule
2055
- ],
2056
- exports: [SacWizardComponent, SacWizardItemComponent]
2057
- },] }
2058
- ];
2059
-
2060
- // #region Classes
2061
- /**
2062
- * Directive to inherit an NgForm/NgForm from a parent component
2063
- */
2064
- class SacInheritFormDirective extends SacFormCommon {
2065
- // #region Constructors
2066
- /**
2067
- * Construtor
2068
- * @param injector: injector to receive the NgForm instance
2069
- */
2070
- constructor(injector) {
2071
- super(injector.get(NgForm));
2072
- }
2073
- }
2074
- SacInheritFormDirective.decorators = [
2075
- { type: Directive, args: [{
2076
- selector: '[sacInheritForm]',
2077
- exportAs: 'sacinheritform',
2078
- providers: [
2079
- {
2080
- provide: SacFormDirective,
2081
- useFactory: SACFORM_FACTORY,
2082
- deps: [[new SkipSelf(), SacFormDirective]],
2083
- },
2084
- {
2085
- provide: ControlContainer,
2086
- useFactory: NGFORM_FACTORY,
2087
- deps: [NgForm],
2088
- },
2089
- ],
2090
- },] }
2091
- ];
2092
- SacInheritFormDirective.ctorParameters = () => [
2093
- { type: Injector }
2094
- ];
2095
- // #endregion Classes
2096
- // #region Functions
2097
- /**
2098
- * Factory Methode für NgForm
2099
- * @param form NgForm
2100
- */
2101
- function NGFORM_FACTORY(form) {
2102
- return form;
2103
- }
2104
- /**
2105
- * Factory Methode für SacForm
2106
- * @param form NgFormular
2107
- */
2108
- function SACFORM_FACTORY(form) {
2109
- return form;
2110
- }
2048
+ class SACBootstrap3WizardModule {
2049
+ }
2050
+ SACBootstrap3WizardModule.decorators = [
2051
+ { type: NgModule, args: [{
2052
+ declarations: [SacWizardComponent, SacWizardItemComponent],
2053
+ imports: [
2054
+ CommonModule
2055
+ ],
2056
+ exports: [SacWizardComponent, SacWizardItemComponent]
2057
+ },] }
2058
+ ];
2059
+
2060
+ // #region Classes
2061
+ /**
2062
+ * Directive to inherit an NgForm/NgForm from a parent component
2063
+ */
2064
+ class SacInheritFormDirective extends SacFormCommon {
2065
+ // #region Constructors
2066
+ /**
2067
+ * Construtor
2068
+ * @param injector: injector to receive the NgForm instance
2069
+ */
2070
+ constructor(injector) {
2071
+ super(injector.get(NgForm));
2072
+ }
2073
+ }
2074
+ SacInheritFormDirective.decorators = [
2075
+ { type: Directive, args: [{
2076
+ selector: '[sacInheritForm]',
2077
+ exportAs: 'sacinheritform',
2078
+ providers: [
2079
+ {
2080
+ provide: SacFormDirective,
2081
+ useFactory: SACFORM_FACTORY,
2082
+ deps: [[new SkipSelf(), SacFormDirective]],
2083
+ },
2084
+ {
2085
+ provide: ControlContainer,
2086
+ useFactory: NGFORM_FACTORY,
2087
+ deps: [NgForm],
2088
+ },
2089
+ ],
2090
+ },] }
2091
+ ];
2092
+ SacInheritFormDirective.ctorParameters = () => [
2093
+ { type: Injector }
2094
+ ];
2095
+ // #endregion Classes
2096
+ // #region Functions
2097
+ /**
2098
+ * Factory Methode für NgForm
2099
+ * @param form NgForm
2100
+ */
2101
+ function NGFORM_FACTORY(form) {
2102
+ return form;
2103
+ }
2104
+ /**
2105
+ * Factory Methode für SacForm
2106
+ * @param form NgFormular
2107
+ */
2108
+ function SACFORM_FACTORY(form) {
2109
+ return form;
2110
+ }
2111
2111
  // #endregion Functions
2112
2112
 
2113
- class SACBootstrap3FormModule {
2114
- }
2115
- SACBootstrap3FormModule.decorators = [
2116
- { type: NgModule, args: [{
2117
- declarations: [SacFormDirective, SacInheritFormDirective],
2118
- imports: [CommonModule, FormsModule],
2119
- exports: [SacFormDirective, SacInheritFormDirective],
2120
- },] }
2113
+ class SACBootstrap3FormModule {
2114
+ }
2115
+ SACBootstrap3FormModule.decorators = [
2116
+ { type: NgModule, args: [{
2117
+ declarations: [SacFormDirective, SacInheritFormDirective],
2118
+ imports: [CommonModule, FormsModule],
2119
+ exports: [SacFormDirective, SacInheritFormDirective],
2120
+ },] }
2121
2121
  ];
2122
2122
 
2123
- /*
2124
- * Public API Surface of sac-bootstrap3
2123
+ /*
2124
+ * Public API Surface of sac-bootstrap3
2125
2125
  */
2126
2126
 
2127
- /**
2128
- * Generated bundle index. Do not edit.
2127
+ /**
2128
+ * Generated bundle index. Do not edit.
2129
2129
  */
2130
2130
 
2131
2131
  export { NGFORM_FACTORY, SACBootstrap3ButtonModule, SACBootstrap3CheckboxModule, SACBootstrap3ConfirmModule, SACBootstrap3ContextmenuModule, SACBootstrap3DateTimeModule, SACBootstrap3DialogModule, SACBootstrap3FormModule, SACBootstrap3GridModule, SACBootstrap3InputModule, SACBootstrap3LayoutModule, SACBootstrap3ListModule, SACBootstrap3StaticLabelModule, SACBootstrap3TabsModule, SACBootstrap3TinyMceModule, SACBootstrap3TooltipModule, SACBootstrap3TreeviewModule, SACBootstrap3UploadModule, SACBootstrap3ValidationSummaryModule, SACBootstrap3WizardModule, SACFORM_FACTORY, SacButtonComponent, SacCheckboxComponent, SacConfirmComponent, SacContextmenuAnchorDirective, SacContextmenuComponent, SacContextmenuItemButtonComponent, SacContextmenuItemSplitterComponent, SacDateComponent, SacDateSelectorComponent, SacDateTimeComponent, SacDialogComponent, SacDropdownComponent, SacDropdownOptionDirective, SacDropzoneMultipleComponent, SacDropzoneSingleComponent, SacFormDirective, SacFormLayoutDirective, SacGridButtonComponent, SacGridColumnActionComponent, SacGridColumnComponent, SacGridComponent, SacGridImageComponent, SacInheritFormDirective, SacInputAreaComponent, SacInputComponent, SacInputCurrencyComponent, SacInputDecimalComponent, SacInputEmailComponent, SacInputIntegerComponent, SacInputPasswordComponent, SacInputSearchComponent, SacListboxComponent, SacPagingComponent, SacRadiobuttonComponent, SacRadiobuttonsComponent, SacStaticFormContainerComponent, SacStaticLabelComponent, SacTabComponent, SacTabItemComponent, SacTimeComponent, SacTinyMceComponent, SacToControlHeightPipe, SacToControlWidthCssPipe, SacToLabelHeightPipe, SacToLabelWidthCssPipe, SacTooltipComponent, SacTreeviewComponent, SacUploadComponent, SacUploadMultipleComponent, SacValidationSummaryComponent, SacWizardComponent, SacWizardItemComponent, ServiceConfirm, SacContextmenuContainerDirective as ɵa };